Konstruktion sehr großer Suffixbäume

Größe: px
Ab Seite anzeigen:

Download "Konstruktion sehr großer Suffixbäume"

Transkript

1 Konstruktion sehr großer Suffixbäume Steffen Andre, Michael Höhndorf Institut für Informatik, Humboldt Universität Berlin Gliederung 1 Einleitung 1.1 Suffixbäume 1.2 Probleme mit Suffixbäumen 1.3 Lösungsansätze Hunts Algorithmus TOP-Q 2 TDD 2.1 PWOTD Repräsentation Partitionierung Wotdeager-Algorithmus 2.2 Bufferstrategie 3. Performance-Vergleiche 3.1 Vergleich TDD gegen Ukkonen 3.2 Vergleich TDD gegen Hunts Algorithmus 3.3 Vergleich TDD gegen TOP-Q 1

2 2

3 1. Einleitung Stringvergleiche gewinnen immer mehr an Bedeutung in unserer heutigen Zeit. Hauptsächlich in der Biologie werden täglich unüberschaubare Datenmengen produziert. Dies ist besonders in der Genetik der Fall, wo ständig neue Chromosome oder andere DNA-Sequenzen sequenziert werden. Umso wichtiger ist es deshalb, möglichst effektive Algorithmen zu entwickeln und vorhandene zu verbessern. Man sagt, dass sich die Datenmengen alle 16 Monate verdoppeln. Ein Beispiel dafür wäre die GenBank. Bei Anfragen an solch große Datenbanken geht es jedoch nicht ausschließlich darum, exakte Matches herauszufinden, sondern vielmehr auch darum, approximative Matches, längste gemeinsame Subsequenzen oder einfach nur Repeats in DNA-Sequenzen zu suchen. Man ist bestrebt, diese vielen Anforderungen möglichst flexibel zu bewältigen. Zur Lösung dieser vielen verschiedenen Aufgaben bieten sich Suffixbäume besonders an, da sie eine effektive Suche unterstützen. Im Grunde genommen ist ein Suffixbaum nur eine andere Repräsentationsart für einen String. In dieser Ausarbeitung werden wir versuchen auf Probleme aufmerksam zu machen, die in Verbindung mit Suffixbäumen auftreten. Wir werden versuchen Lösungsansätze zu präsentieren und stellen verschiedene Strategien vor, mit denen man möglichst effektiv und platzsparend Suffixbäume erstellen und speichern kann. Wir werden die Grundidee von Hunts Algorithmus und TOP-Q vorstellen und speziell auf TDD eingehen. Auf die dabei verwendeten Suchverfahren werden wir nicht näher eingehen. 1.1 Suffixbäume Suffixbäume sind intuitiv beschrieben eine kompakte Repräsentation aller Suffixe von S in einem Baum. Formal beschreiben wir den Suffixbaum so: Ein Suffixbaum T für einen String S ist ein Baum mit folgenden Eigenschaften: -T hat m Blätter markiert mit 1,...,m -Jede Kante E ist mit einem Substring Label(E) 0 von S beschriftet -Jeder innere Knoten k hat mindestens zwei Kinder -Alle Kanten von einem Knoten K aus beginnen mit einem unterschiedlichen Zeichen -sei (k1, k2,..., kn) ein Pfad von der Wurzel Definition nach Vorlesung Algorithmische Bioinformatik von Prof. Dr. Leser[1] 1.2 Probleme mit Suffixbäumen Wie bereits erwähnt, sind Suffixbäume nichts weiter als eine andere Repräsentation für einen String. Ein großes Problem bei dieser Art der Darstellung ist, dass sie einen sehr hohen Speicherplatzbedarf hat. Im Allgemeinen haben Suffixbäume heute durchschnittlich 12 mal so viel Speicher nötig, als wenn man den String ohne Struktur speichern würde. Bei einem kompletten Genom eines Säugetieres macht sich dies deutlich bemerkbar, da hierbei statt drei Gigabyte nun 36 Gigabyte Speicher benötigt werden. Es sei darauf hingewiesen, dass der Algorithmus von Ukkonen nur im RAM effektiv funktioniert, wo die wenigsten Rechner über besagte 36 Gigabyte verfügen. [1] 3

4 Vergleicht man die Festplatten- mit der RAM-Geschwindigkeit, so stellt man fest, dass der Unterschied in den Zugriffszeiten erheblich ist. Eine Festplatte arbeitet dabei mit ca. vier bis 12 ms, während der RAM mit sechs bis 12 ns arbeitet. Dies entspricht einem Faktor von etwa Man kann jetzt allerdings nicht sagen, dass ein Algorithmus der für den RAM gedacht war, 1000 mal langsamer auf der Platte wird. Nimmt man zum Beispiel den Algorithmus von Ukkonen, der eigentlich nur für den RAM ausgelegt ist und führt diesen nun auf der Platte aus, so stellt man fest, dass er für einen Suffixbaum der sonst für die Konstruktion 1,5 Stunden braucht, nun auf der Platte einen ganzen Tag benötigt. Ein weiteres Problem ist der hohe Zeitaufwand, den man mit der Konstruktion hat. Wenn so ein Suffixbaum gebaut wird, hat man noch nichts gefunden. Nimmt man nun wieder das Beispiel Ukkonen, so benötigt er O(n) Zeit für die Konstruktion des Suffixbaumes. Das ist eigentlich recht gut, nur hat man hier das Problem, dass Ukkonen nur bei Suffixbäumen funktioniert, die auch in den RAM passen. Das hängt unter anderem mit den vielen Sprüngen bei der Konstruktion durch den Algorithmus zusammen, insbesondere wegen der Suffixlinks. Im RAM spielt es keine Rolle auf welche Stelle man zugreift (überall gleiche Zugriffszeit, da mit Transistoren), bei einer Festplatte hingegen muss viel physikalisch bewegt werden (Zeiger, Plattendrehung). Wie sich die Zeiten zwischen Platte und Speicher verändern sieht man ja an dem oben genannten Beispiel. Diese Probleme werden auch häufig als Memory Bottleneck bezeichnet. 1.3 Lösungsansätze Wie bereits erwähnt, hatte man bisher nur Ukkonen, der zwar für kleine Suffixbäume (die in den RAM passen) dank seiner Suffixlinks hervorragend geeignet war, aber bei größeren eher schlecht abschnitt. Man kam also zu der Erkenntnis, dass man einen plattenfreundlichen Algorithmus zur Konstruktion der Suffixbäume braucht. Um diese Probleme zu überwinden, muss man sich also überlegen, wie man z. B. Ukkonen für die Suffixbaumkonstruktion plattenfreundlicher gestalten kann. Dafür bietet TOP-Q einen guten Ansatz [4]. Dieser wird in Abschnitt kurz beschrieben. TOP-Q bietet da eine ziemlich gute plattenbasierte Lösung in Verwendung mit Ukkonen an. Bei Hunts Algorithmus [3] und TDD [2] hingegen versucht man einen völlig neuen Ansatz. Hier werden dann völlig neue Algorithmen verwendet. TDD führt ein völlig neue Bufferstrategie ein, die dann später noch genauer beschrieben wird Hunts Algorithmus Dieser Algorithmus wurde von Ela Hunt, Malcom P. Atkinson und Robert W. Irving in einem Paper beschrieben [3]. Hunts Algorithmus war einer der ersten Discbased-Algorithmen zur Konstruktion von Suffixbäumen. Dies war ein sehr großer Durchbruch, da man bislang glaubte, dass es gar nicht möglich sei, Suffixbäume zu konstruieren die größer als der RAM waren. Man versucht durch den Verzicht auf Suffixlinks physisch weit entfernte Teile des Baumes nicht mehr zu berühren, somit also Sprünge im Speicher zu umgehen. Man versucht den Suffixbaum in mehrer kleine Partitionen zu teilen. Dann erzeugt man viele kleine Suffixbäume und fügt diese dann zu einem großen zusammen. Bereits abgeschlossene Teilbäume, die nicht mehr angefasst werden, werden als "checkpointed partition" bezeichnet. Nun wollen wir noch kurz auf die Idee eingehen und grob erklären, wie das ganze funktioniert. Erster Schritt ist nun also die Partitionierung. Hierbei ergeben sich zwei Möglichkeiten der Partitionierung. Die erste nennt man "gleichmäßiges Schneiden" und die zweite "Scannen und 4

5 Verteilen". Bei der ersten Variante gehen wir von einer Pseudozufallsverteilung der DNA aus. Das heißt, man nimmt eine Gleichverteilung des Suffixbaumes an. Das bedeutet man nimmt jeden Buchstaben des Alphabetes mit ungefähr gleicher Häufigkeit in Bezug auf das Vorkommen im String an. Eine Partitionierung ist hier leicht vorstellbar. Das Beispiel zeigt hier einen Baum für das Alphabet {A,B,C} mit einer benutzten Präfixlänge von zwei (wird beliebig gewählt, je größer die Zahl umso mehr aber dafür kleinere Suffixbäume muss man entwickeln). Bis zu den Dreiecken wird Statisch vorgegeben, die Dreiecke sollen die zu entwickelnden Subsuffixbäume darstellen. Es entstehen in diesem Beispiel also neun abzuarbeitende Subsuffixbäume. Abb. 1.1 [5] Bei dem zweiten Ansatz zur Partitionierung scannt man als erstes den String durch und merkt sich die Häufigkeiten der einzelnen Alphabetsbuchstaben. Dementsprechend teilt man dann den Baum auf. Da wir dies dem TDD nicht vorwegnehmen möchten, erklären wir es an dieser Stelle nicht genauer und verweisen nur an eine spätere Stelle im Text. Nach der Partitionierung wird für jede einzelne, noch nicht entwickelte Partition die vorher gewählte Präfixlänge abgeschnitten und alle Suffixe gebildet (in unserem Beispiel also zwei). Dann versucht man jedes dieser Suffixe in den Teilbaum einzubinden. Das Bild zeigt nun die einzelnen Schritte für einen Subbaum. Die Nummern geben den Schritt an. 5

6 Abb. 1.2 [5] Wie kommt man nun auf eine Zeitkomplexität von O(n 2 )? Als erstes haben wir O(n*x), das n kommt von den n Suffixen. Das x wird nun ebenfalls durch ein n ersetzt. Das kommt daher, weil wir ja bei einer Gruppe von Suffixen eins der Länge n haben, eins mit n-1, eins mit n-2 bis zu einem der Länge 1. Da keine Länge von n bis eins ausgelassen wird (jeder hat einen "Gegegenspieler", Suffix mit Länge n hat Suffix der Länge eins, Länge n-2 hat dann Länge 2 usw.), kann man den Durchschnitt bilden, also n/2. Da in der O( )-Notation n/2=n ist, bleibt uns also O(n 2 ) TOP-Q TOP-Q wurde von Srikanta J. Bedathur und Jayant R. Haritsa vorgestellt [4]. Hierbei handelt es sich eigentlich nur um einen verbesserten Ukkonen Algorithmus, der eine plattenfreundlichere Ersetzungsstrategie verwendet. Diese neue Pagingstrategie hat sich als Beste erwiesen. Weitere verfahren wie z.b. LRU wurden auch getestet. Da der Schwerpunkt auf TDD liegen soll, hier nur eine Grafik mit Messergebnissen. Im Vergleich sieht man Ukkonen mit LRU (grau) gegen Ukkonen mit TOP-Q (schwarz), angewandt auf das Human Chromosom 2 (70Mbp). Es wurden zwei verschiedene Rechner verwendet, zum einen ein normaler Linux Redhat 8.0 PC mit einer 18GB Festplatte (erste Messreihe). Die zweite Messreihe wurde auf einem HP-Compaq ES45 Server mit Tru64 Unix 5.1 und 432GB Festplattenspeicher durchgeführt. 6

7 Abb. 1.3 [4] An dieser Grafik erkennt man das TOP-Q gegenüber LRU mehr als doppelt so schnell ist. 7

8 2. TDD Nachdem nun kurz auf bisherige Ansätze eingegangen wurde geht es in diesem Kapitel nun um den TDD-Ansatz, welcher der Kernpunkt unserer Ausarbeitung sein soll [2]. TDD steht für Top Down Disk based und ist ein neuer Ansatz zur Konstruktion von Suffixbäumen, der deutlich schneller als alle bisherigen Ansätze ist. Entwickelt wurde TDD von Sanddeep Tata, Jignesh M. Patel und Richard A. Hankins und die Besonderheit die sich durch den kompletten Ansatz zieht ist die sogenannte locality of reference. Das bedeutet im Grunde genommen das möglichst versucht wird, auf benachbarte Stellen auf der Festplatte bzw. im Speicher zuzugreifen, um so möglichst wenig Sprünge zu haben und somit Zugriffszeit einzusparen. Zu diesem Zweck wird wie beim bereits vorgestellten Ansatz von Ela Hunt auf die Verwendung von Suffixlinks verzichtet. Damit übertrifft TDD alle bisherigen Versuche zur Konstruktion von Suffixbäumen auf der Festplatte und schlägt sogar den Algorithmus von Ukonnen bei der Konstruktion im Speicher. Dabei ist der TDD-Ansatz in 2 Phasen unterteilt. Zum einen in die Konstruktion des Suffixbaumes, PWOTD genannt, und zum anderen in die Bufferstrategie. Im folgenden werden wir nun auf beide Phasen näher eingehen. 2.1 PWOTD PWOTD steht für partition and write only top down und ist selbst auch wieder in 2 Schritte unterteilt. Zuerst findet die Partitionierung statt, bei der die Suffixe in Partitionen mit gleichen Präfixen einer bestimmten Länge eingeteilt werden und als zweites wird dann für jede Partition der wotdeager-algorithmus von R.Giegerich und S. Kurtz [6] zur Konstruktion des Teilsuffixbaumes durchgeführt. Die Komplexität des wotdeager-algorithmus ist im worst case O(n 2 ) und im average case O(n*log(n)). Warum werden wir dann gleich am Algorithmus zeigen. Nachdem dann zu jeder Partition ein Suffixbaum erstellt wurde müssen diese noch zu einem Suffixbaum zusammengefügt werden Repräsentation Abb. 2.1 [4] 8

9 Abbildung 2.1 zeigt eine graphische Darstellung der Repräsentation des Suffixbaumes zum String ATTAGTACA im Speicher. Hierbei stehen die gestrichelten Kästchen für einen Endknoten und die weißen Kästchen für einen Verzweigungsknoten. Im Speicher ist dies durch ein Flag Bit realisiert, welches 1 oder 0 ist und somit angibt, um welche Art Knoten es sich handelt. Ein weiteres Flag Bit gibt an, ob es sich bei einem Knoten um den rechtesten Kindknoten handelt. Ist dies der Fall, so hat der aktuelle Knoten keine weiteren Kinder und es folgen die Kinder eines anderen Knotens. Im Bild ist solch ein Knoten mit einem 'R' gekennzeichnet. Zu jedem Kindknoten muss nun noch angegeben werden, mit welchem Teilstring man vom Vaterknoten zum Kind kommt. Dazu wird die Startposition innerhalb des Strings gespeichert. Handelt es sich beim Kind um einen Endknoten, so ist die Kantenbeschriftung der Teilstring von der angegebenen Position bis zum Ende des Strings. Ist das Kind ein weiterer Verzweigungsknoten, so lässt sich die Kantenbeschriftung leicht aus den Startpositionen von Vater- und all seinen Kindknoten schließen. Die Länge des Strings der Kantenbeschriftung entspricht dabei der Differenz aus Startposition des Vaterknotens und kleinste Startposition aller Kindknoten. Wo die Kinder eines Knotens zu finden sind wird dabei bei einem Verzweigungsknoten an einer zusätzlichen Stelle gespeichert. Bei einem Endknoten entfällt dieser Eintrag, wodurch er weniger Speicherplatz benötigt Partitionierung Der Erste Schritt des PWOTD ist nun die Partitionierung. Bei einem gegebenen Alphabet Σ und einer gegebener Präfixlänge prefixlen teilt man die Suffixe in Σ prefixlen Partitionen. Danach wird für jede dieser Partitionen ein Suffixbaum erstellt und alle Suffixbäume zusammengefügt. Am Beispiel aus Abschnitt haben wir eine Alphabetgröße von vier und wählen eine Präfixlänge von eins. Dadurch ergeben sich vier Partitionen. In jeder Partition sind dann also nur Suffixe die mit dem gleichen Zeichen beginnen. Im Beispiel kommen in die erste Partition mit dem Präfix 'T' die Suffixe (1),(2),(5), wenn man bei 0 zu zählen beginnt. Da diese die ersten prefixlen Zeichen gemeinsam haben sind die für die Partition T zu Konstruierenden Suffixe (2),(3),(6). Das zusammenfügen der einzelnen Suffixbäume geschieht indem man einen Suffixbaum für die ersten prefixlen Zeichen erstellt und an den Endknoten dann die jeweiligen Suffixbäume mit dem passenden Präfix anfügt. Abbildung 2.2 zeigt dies für des vorgestellte Beispiel. Abb

10 2.1.3 wotdeager-algorithmus Bevor wir nun den eigentlichen wotdeager-algorithmus vorstellen, betrachten wir noch kurz die 4 Datenstrukturen, die TDD benutzt. Diese sind ein Input-String-Array, in dem der Eingabestring zu dem der Suffixbaum gebaut wird gespeichert ist, ein Suffixes-Array in dem alle aktuellen Suffixe gespeichert sind, ein Temp-Array welches zum Sortieren der Suffixe des Suffixes-Arrays benötigt wird und als letztes ein Tree-Array in dem der Suffixbaum abgespeichert wird. Abb. 2.3 [4] Abbildung 2.3 zeigt den kompletten PWOTD Algorithmus. Phase 1 wurde bereits in Abschnitt erläutert, weshalb wir uns nun auf Phase 2 konzentrieren. Um zu veranschaulichen wie der wotdeager-algorithmus funktioniert, gehen wir die einzelnen Schritte an einem kleinen Beispiel durch. Als erstes werden unter Punkt 2 alle Suffixe der aktuellen Partition in das Suffixes-Array gepackt. An unserem Beispiel der Partition T sind dies wieder die Suffixe (2),(3),(6). Diese werden dann unter Punkt 3 lexikographisch sortiert, wozu auf den String zugegriffen werden muss, um festzustellen, welches Zeichen an dieser Position steht. Zum sortieren wird das Temp- Array benutzt. In unserem Beispiel erhalten wir nach dem sortieren die Suffixe (3),(6),(2) im Suffixes Array. Nachdem das Suffixes-Array sortiert ist kann in linearer Zeit überprüft werden, ob es sich um einen Verzweigungsknoten oder einen Endknoten handelt. Dazu muss nur geschaut werden, ob mehrere Suffixe mit dem selben Zeichen beginnen. Diese müssen sich nach dem Sortieren nebeneinander befinden. Ist dies der Fall handelt es sich um einen Verzweigungsknoten, sonst um einen Endknoten. Unter Punkt vier werden dann sowohl die Verzweigung- als 10

11 auch die Endknoten und den Suffixbaum eingetragen. Dabei wird an einer bestimmten Stelle Speicherplatz für die Kinder von Verzweigungsknoten reserviert. Auf diesen Teil des Suffixbaumes muss während der Konstruktion nie wieder zugegriffen werden. In unserem Beispiel handelt es sich bei (3,6) um einen Verzweigungsknoten, da die Suffixe (3) und (6) mit dem Präfix 'A' beginnen. Unter Punkt fünf werden dann alle Verzweigungsknoten auf den Stack gepackt, da diese noch weiter bearbeitet werden müssen. In unserem Beispiel wird also (3,6) auf den Stack gepackt. Die Punkte sechs bis zehn müssen nun für jeden Verzweigungsknoten des Suffixbaumes durchgeführt werden. In unserem Beispiel befindet sich nur (3,6) auf dem Stack und wird somit unter Punkt sechs vom Stack geholt. Unter Punkt sieben wird nun ebenfalls in linearer Zeit der LCP (longest common prefix) von (3,6) bestimmt. Da sich im String an Stelle vier ein 'G' befindet und an Stelle sieben ein 'C' befinden ist der LCP=1. Somit ergibt sich für die Kantenbeschriftung 'A', da der LCP eins ist. Es ergeben sich zwei neue Suffixe (4),(7). Diese werden unter Schritt acht wieder lexikographisch sortiert, womit wir in unserem Beispiel die Suffixe (7),(4) erhalten. Unter Schritt neun werden wie in Schritt 5 alle Verzweigungs- und Endknoten in den Suffixbaum eingetragen. In unserem Fall erhalten wir zwei neue Endknoten. Unter Punkt zehn würden nun alle neuen Verzweigungsknoten wieder auf den Stack gepackt werden und die while-schleife würde erneut durchlaufen werden. In unserem Beispiel entfällt dies, da keine weiteren Verzweigungsknoten existieren. Nachdem nun der Algorithmus vorgestellt wurde, wollen wir zeigen warum er eine worstcase- Komplexität von O(n 2 ) hat, wobei n die Länge des Eingabestrings und somit die Anzahl der Suffixe sei. Zunächst einmal wissen wir, dass innerhalb der while-schleife sowohl das Sortieren als auch das Finden des LCP in linearer Zeit funktionieren. Somit benötigt ein Durchlauf der while-schleife O(n) Zeit. Es stellt sich nun also die Frage, wie oft die while-schleife durchlaufen wird. Im worst case gibt es bei n Endknoten (da n Suffixe), n-1 Verzweigungsknoten. Ein solches Beispiel ist in Abbildung 2.4 gezeigt. Da die while-schleife für jeden Verzweigungsknoten durchlaufen werden muss folgen O(n) Schleifendurchläufe. Dies führt zu einer worstcase- Komplexität von O(n 2 ). Abb

12 2.2 Bufferstrategie Der zweite Teil des TDD ist die Bufferstrategie. Hier gibt es nun zwei Möglichkeiten den Algorithmus zu beschleunigen. Zum einen muss man die optimale Ersetzungsstrategie für die vier Datenstrukturen (Tree, Suffixes, Temp, String) finden. Zum anderen muss man den verfügbaren Hauptspeicher möglichst günstig unter den vier Datenstrukturen aufteilen. Das ist wichtig, weil die Daten mit einer schlechten locality of reference möglichst im Hauptspeicher gehalten werden sollten, während die Daten mit einer guten locality of reference auch ohne Probleme auf der Festplatte abgespeichert werden können. Abb. 2.5 [4] Die Ersetzungsstrategien lassen sich recht einfach testen indem man verschiedene Ersetzungsstrategien auf verschiedenen Datenbanken testet. So sieht man in Abbildung 2.5 zum Beispiel, dass sich für den Temp-Buffer die MRU, also Most recently used Ersetzungsstrategie sehr gut eignet. Durch ähnliche Versuche fand man heraus, dass für die anderen drei Datenstrukturen, also Tree-, String-, und Suffixesbuffer die Ersetzungsstrategien LRU, also least recently used optimal ist. Zur Größe der einzelnen Dateien auf der Festplatte ist zu sagen, dass bei einer Stringgröße von n sowohl das Suffixes-Array, als auch das Temp Array eine Größe von 4n benötigen, da man 4Byte Integers zur Adressierung benötigt. Der Suffixbaum benötigt bei der benutzten Repräsentation ca. 8-12n Speicher. Der String besitzt die schlechteste locality of reference, da zum Beispiel beim Sortieren der Suffixes immer auf den String zugegriffen werden muss, um zu schauen welches Zeichen an der Stelle im String steht. Die zu vergleichenden Zeichen sind dabei relativ zufällig, so dass viel im String herumgesprungen wird. Das Tree Array hat eine hohe locality of reference, da einmal geschrieben Teile des Baumes nicht noch einmal angefasst werden müssen. Somit sollte der String möglichst im Hauptspeicher gehalten werden, während der Tree auch auf der Festplatte gespeichert werden kann. In Abbildung 2.6 sieht man nun noch einmal zusammengefasst die verschiedenen Buffer im RAM und die Arrays auf der Festplatte mitsamt ihren Größen und Zugriffsarten. 12

13 Abb. 2.6 [4] Als letztes geht es nun noch darum den verfügbaren Hauptspeicher zwischen den vier Datenstrukturen aufzuteilen. Aufgrund des verwendeten Sortieralgorithmusses, sollten sowohl das Suffixes- als auch das Temp-Array mindestens Σ Speicherseiten bekommen, da beim Sortieren Σ Positionen gemerkt werden müssen. Der Tree sollte mindestens zwei Speicherseiten zugewiesen bekommen. Dies erlaubt das direkte Zugreifen auf einen Verzweigungsknoten der gerade erst auf den Stack gepackt wurde. Der Rest des Trees kann ohne Probleme auf der Festplatte gehalten werden, da er eine gute locality of reference besitzt. Der String mit seiner schlechten locality of reference hingegen sollte möglichst komplett im RAM gehalten werden. Deshalb wird der Rest des verfügbaren Speicherplatzes an den String vergeben, um so viel wie möglich im RAM halten zu können. Ist danach noch Platz wird nacheinander dem Suffix-, dem Temp- und zuletzt dem Tree-Buffer Speicherplatz gewährt. Das Resultat dieser Aufteilung ist an drei Beispielen in Abbildung 2.7 gezeigt. Bei einem kleinen Datensatz (oben) passt alles in den RAM, während bei einem mittleren Datensatz (mitte) nur der String und eine Teil des Suffixes- Arrays im RAM gehalten wird. Bei großen Datensätzen (unten) hingegen bekommen Temp-, Suffixes und Tree-Buffer lediglich ihren Minimalanteil und der Rest geht an den String. Abb. 2.7 [4] 13

14 3. Performance-Vergleiche 3.1 Vergleich TDD gegen Ukkonen Wie aus dem vergangenen Kapitel hervorgegangen, scheint TDD das beste Verfahren zu sein, darum folgen jetzt noch ein paar Grafiken, die Experimentell belegen, dass TDD wirklich das schnellste von allen Verfahren ist. In dieser Grafik wird TDD mit Ukkonen verglichen. Hierbei handelt es sich nun also um einen RAM-basierten Vergleich. Da Ukkonen nur im RAM funktioniert, wurde TDD so umgeschrieben, dass er auch nur im RAM läuft, um gleiche Verhältnisse zu schaffen. In dieser Grafik wurden fünf verschiedene -strings gewählt: Chromosom 2 der Drosophila Melangoster aus der GenBank, ein Teil der SwissProt Datenmenge (mit 20 Millionen Symbolen) und einen Text des Gutenbergprojektes Dann wurden hier noch 2 willkürliche Strings, einmal mit Alphabetgröße vier und einmal mit der Größe 40 getestet. Hier noch einmal eine Tabelle zur Zusammenfassung: Abb. 3.1 [4] Abb. 3.2 [4] Wie man an der Grafik unschwer erkennen kann, liegt TDD gegenüber Ukkonen stets im Vorteil. 14

15 Ukkonen benötigt in jedem Versuch mindestens die doppelte Zeit. Man sieht, je größer ein Alphabet, umso besser wird TDD gegenüber Ukkonen. Bei kleinen Alphabeten, wie z.b. bei der Demelano haben wir einen Faktor von 2,5, bei mittleren Alphabeten, wie z.b. bei swp20 ist TDD um den Faktor 4,5 schneller und bei großen Alphabeten (unif40) wächst dieser Faktor sogar auf das zehnfache an. An der Grafik kann man gut erkennen, dass die schwächen des Ukkonen an den L2-misses liegen, TDD hat diese schwäche nicht. Wir ziehen also das Fazit, dass trotz O(n 2 ) von Ukkonen TDD meist besser funktioniert, nicht zuletzt wegen der "locality of reference". Fairerweise muss man sagen, dass Ukkonen diese Schwächen der Cache-Misses nur auf modernen Rechnern hat. 3.2 Vergleich TDD gegen Hunts Algorithmus In diesem Beispiel werden nun sieben Strings verwendet, wie in der folgenden Tabelle zu erkennen ist. Abb. 3.3 [4] Diese Tabelle zeigt nun die Ergebnisse dieser Messungen. Abb. 3.4 [4] 15

16 Auch in dieser Tabelle sehen wir wieder, dass TDD in jedem Fall besser als Hunts Algorithmus ist. Hunts Algorithmus macht im Gegensatz zu TDD immer noch zu viele Sprünge im Speicher. TDD berührt jeden Knoten wirklich nur einmal. 3.3 Vergleich TDD gegen TOP-Q Hierbei, wurde der Test nur auf DNA-Strings beschränkt. Es wurden hier lediglich das menschliche Chromosom-1 (einmal mit nur 50Mio Basenpaare und einmal mit dem gesamten) getestet. TOP-Q benötigte für den ersten Versuch 78 Minuten, während TDD unter gleichen Voraussetzungen nur 2,1 Minuten benötigte, dies entspricht einem Faktor von 37. Bei dem Test mit dem gesamten Chromosom benötigte TOP-Q 5800 Minuten und TDD nur ungefähr 18 Minuten. Es zeigt sich also auch hier, dass TDD in beiden Größenordnungen schneller als TOP-Q ist. Quellen: [1] [2] Tata, S., Hankins, R. A. and Patel, J. M. Practical Suffix Tree Construction. Proceedings of VLDB [3] Hunt, E., Atkinson, M. and Irving, R. W. "A Database Index to Large Biological Sequences". 27th Conference on Very Large Database Systems, Roma, Italy. pp (2001) [4] Bedathur, S. J. and Haritsa, J. R. "Engineering a Fast Online Persistent Suffix Tree Construction". 20th Conference on Data Engineering, Boston, MA. pp (2004) [5] [6] R. Giegerich, S. Kurtz, and J. Stoye. Efficient Implementation of Lazy Suffix Trees. In Proceedings of the Third Workshop on Algorithm Engineering (WAE 99),

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12 Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem

20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem 20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem Autor Susanne Albers, Universität Freiburg Swen Schmelzer, Universität Freiburg In diesem Jahr möchte

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert Beamen in EEP Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert Zuerst musst du dir 2 Programme besorgen und zwar: Albert, das

Mehr

4. BEZIEHUNGEN ZWISCHEN TABELLEN

4. BEZIEHUNGEN ZWISCHEN TABELLEN 4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Datenbanken Kapitel 2

Datenbanken Kapitel 2 Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,

Mehr

EasyWk DAS Schwimmwettkampfprogramm

EasyWk DAS Schwimmwettkampfprogramm EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage

Mehr

Festplatte defragmentieren Internetspuren und temporäre Dateien löschen

Festplatte defragmentieren Internetspuren und temporäre Dateien löschen Festplatte defragmentieren Internetspuren und temporäre Dateien löschen Wer viel mit dem Computer arbeitet kennt das Gefühl, dass die Maschine immer langsamer arbeitet und immer mehr Zeit braucht um aufzustarten.

Mehr

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

Mehr

Leichte-Sprache-Bilder

Leichte-Sprache-Bilder Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen

Mehr

! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006

!  # $  % & Nicki Wruck worldwidewruck 08.02.2006 !"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

Handbuch B4000+ Preset Manager

Handbuch B4000+ Preset Manager Handbuch B4000+ Preset Manager B4000+ authentic organ modeller Version 0.6 FERROFISH advanced audio applications Einleitung Mit der Software B4000+ Preset Manager können Sie Ihre in der B4000+ erstellten

Mehr

Das Leitbild vom Verein WIR

Das Leitbild vom Verein WIR Das Leitbild vom Verein WIR Dieses Zeichen ist ein Gütesiegel. Texte mit diesem Gütesiegel sind leicht verständlich. Leicht Lesen gibt es in drei Stufen. B1: leicht verständlich A2: noch leichter verständlich

Mehr

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit

Mehr

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com

Mehr

Was meinen die Leute eigentlich mit: Grexit?

Was meinen die Leute eigentlich mit: Grexit? Was meinen die Leute eigentlich mit: Grexit? Grexit sind eigentlich 2 Wörter. 1. Griechenland 2. Exit Exit ist ein englisches Wort. Es bedeutet: Ausgang. Aber was haben diese 2 Sachen mit-einander zu tun?

Mehr

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine PhotoLine S/W mit PhotoLine Erstellt mit Version 16.11 Ich liebe Schwarzweiß-Bilder und schaue mir neidisch die Meisterwerke an, die andere Fotografen zustande bringen. Schon lange versuche ich, auch so

Mehr

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Inhaltsverzeichnis 1. Anmeldung... 2 1.1 Startbildschirm... 3 2. Die PDF-Dateien hochladen... 4 2.1 Neue PDF-Datei erstellen... 5 3. Obelix-Datei

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Schritt-Schritt-Anleitung zum mobilen PC mit Paragon Drive Copy 10 und VMware Player

Schritt-Schritt-Anleitung zum mobilen PC mit Paragon Drive Copy 10 und VMware Player PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Berechnungen in Access Teil I

Berechnungen in Access Teil I in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer

Mehr

Jede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192.

Jede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192. Binäres und dezimales Zahlensystem Ziel In diesem ersten Schritt geht es darum, die grundlegende Umrechnung aus dem Dezimalsystem in das Binärsystem zu verstehen. Zusätzlich wird auch die andere Richtung,

Mehr

Meet the Germans. Lerntipp zur Schulung der Fertigkeit des Sprechens. Lerntipp und Redemittel zur Präsentation oder einen Vortrag halten

Meet the Germans. Lerntipp zur Schulung der Fertigkeit des Sprechens. Lerntipp und Redemittel zur Präsentation oder einen Vortrag halten Meet the Germans Lerntipp zur Schulung der Fertigkeit des Sprechens Lerntipp und Redemittel zur Präsentation oder einen Vortrag halten Handreichungen für die Kursleitung Seite 2, Meet the Germans 2. Lerntipp

Mehr

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7 FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7 Die Installation der FuxMedia Software erfolgt erst NACH Einrichtung des Netzlaufwerks! Menüleiste einblenden, falls nicht vorhanden Die

Mehr

Kulturelle Evolution 12

Kulturelle Evolution 12 3.3 Kulturelle Evolution Kulturelle Evolution Kulturelle Evolution 12 Seit die Menschen Erfindungen machen wie z.b. das Rad oder den Pflug, haben sie sich im Körperbau kaum mehr verändert. Dafür war einfach

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Mag. Christian Gürtler Programmierung Grundlagen der Informatik 2011 Inhaltsverzeichnis I. Allgemeines 3 1. Zahlensysteme 4 1.1. ganze Zahlen...................................... 4 1.1.1. Umrechnungen.................................

Mehr

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Bevor Sie die Platte zum ersten Mal benutzen können, muss sie noch partitioniert und formatiert werden! Vorher zeigt sich die Festplatte

Mehr

Physik & Musik. Stimmgabeln. 1 Auftrag

Physik & Musik. Stimmgabeln. 1 Auftrag Physik & Musik 5 Stimmgabeln 1 Auftrag Physik & Musik Stimmgabeln Seite 1 Stimmgabeln Bearbeitungszeit: 30 Minuten Sozialform: Einzel- oder Partnerarbeit Voraussetzung: Posten 1: "Wie funktioniert ein

Mehr

Microsoft PowerPoint 2013 Folien gemeinsam nutzen

Microsoft PowerPoint 2013 Folien gemeinsam nutzen Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft PowerPoint 2013 Folien gemeinsam nutzen Folien gemeinsam nutzen in PowerPoint 2013 Seite 1 von 4 Inhaltsverzeichnis Einleitung... 2 Einzelne

Mehr

Guide DynDNS und Portforwarding

Guide DynDNS und Portforwarding Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch

Mehr

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11 Kurzanleitung MEYTON Aufbau einer Internetverbindung 1 Von 11 Inhaltsverzeichnis Installation eines Internetzugangs...3 Ist mein Router bereits im MEYTON Netzwerk?...3 Start des YAST Programms...4 Auswahl

Mehr

Speicher in der Cloud

Speicher in der Cloud Speicher in der Cloud Kostenbremse, Sicherheitsrisiko oder Basis für die unternehmensweite Kollaboration? von Cornelius Höchel-Winter 2013 ComConsult Research GmbH, Aachen 3 SYNCHRONISATION TEUFELSZEUG

Mehr

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über

Mehr

GLEICH WEIT WEG. Aufgabe. Das ist ein Ausschnitt aus der Tausenderreihe:

GLEICH WEIT WEG. Aufgabe. Das ist ein Ausschnitt aus der Tausenderreihe: GLEICH WEIT WEG Thema: Sich orientieren und operieren an der Tausenderreihe Klasse: 3. Klasse (Zahlenbuch nach S. 26-27) Dauer: 3-4 Lektionen Material: Tausenderreihe, Arbeitsblatt, evt. Plättchen Bearbeitung:

Mehr

Task: Nmap Skripte ausführen

Task: Nmap Skripte ausführen Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses

Mehr

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 Referentin: Dr. Kelly Neudorfer Universität Hohenheim Was wir jetzt besprechen werden ist eine Frage, mit denen viele

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN. Der Zauberwürfel-Roboter. Paul Giese. Schule: Wilhelm-Raabe-Schule

ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN. Der Zauberwürfel-Roboter. Paul Giese. Schule: Wilhelm-Raabe-Schule ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN Der Zauberwürfel-Roboter Paul Giese Schule: Wilhelm-Raabe-Schule Jugend forscht 2013 Kurzfassung Regionalwettbewerb Bremerhaven

Mehr

Kapitel 3 Frames Seite 1

Kapitel 3 Frames Seite 1 Kapitel 3 Frames Seite 1 3 Frames 3.1 Allgemeines Mit Frames teilt man eine HTML-Seite in mehrere Bereiche ein. Eine Seite, die mit Frames aufgeteilt ist, besteht aus mehreren Einzelseiten, die sich den

Mehr

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014)

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014) Handbuch NAFI Online-Spezial 1. Auflage (Stand: 24.09.2014) Copyright 2016 by NAFI GmbH Unerlaubte Vervielfältigungen sind untersagt! Inhaltsangabe Einleitung... 3 Kundenauswahl... 3 Kunde hinzufügen...

Mehr

Alle Schlüssel-Karten (blaue Rückseite) werden den Schlüssel-Farben nach sortiert und in vier getrennte Stapel mit der Bildseite nach oben gelegt.

Alle Schlüssel-Karten (blaue Rückseite) werden den Schlüssel-Farben nach sortiert und in vier getrennte Stapel mit der Bildseite nach oben gelegt. Gentlemen", bitte zur Kasse! Ravensburger Spiele Nr. 01 264 0 Autoren: Wolfgang Kramer und Jürgen P. K. Grunau Grafik: Erhard Dietl Ein Gaunerspiel für 3-6 Gentlemen" ab 10 Jahren Inhalt: 35 Tresor-Karten

Mehr

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu]) 3.7 Erstellen einer Collage Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu]) Dann Größe des Dokuments festlegen beispielsweise A4 (weitere

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com

Mehr

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales

Mehr

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Allgemein: Das RSA-Verschlüsselungsverfahren ist ein häufig benutztes Verschlüsselungsverfahren, weil es sehr sicher ist. Es gehört zu der Klasse der

Mehr

Updatehinweise für die Version forma 5.5.5

Updatehinweise für die Version forma 5.5.5 Updatehinweise für die Version forma 5.5.5 Seit der Version forma 5.5.0 aus 2012 gibt es nur noch eine Office-Version und keine StandAlone-Version mehr. Wenn Sie noch mit der alten Version forma 5.0.x

Mehr

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1 3.2 Binäre Suche Beispiel 6.5.1: Intervallschachtelung (oder binäre Suche) (Hier ist n die Anzahl der Elemente im Feld!) Ein Feld A: array (1..n) of Integer sei gegeben. Das Feld sei sortiert, d.h.: A(i)

Mehr

Tevalo Handbuch v 1.1 vom 10.11.2011

Tevalo Handbuch v 1.1 vom 10.11.2011 Tevalo Handbuch v 1.1 vom 10.11.2011 Inhalt Registrierung... 3 Kennwort vergessen... 3 Startseite nach dem Login... 4 Umfrage erstellen... 4 Fragebogen Vorschau... 7 Umfrage fertigstellen... 7 Öffentliche

Mehr

Wichtige Forderungen für ein Bundes-Teilhabe-Gesetz

Wichtige Forderungen für ein Bundes-Teilhabe-Gesetz Wichtige Forderungen für ein Bundes-Teilhabe-Gesetz Die Parteien CDU, die SPD und die CSU haben versprochen: Es wird ein Bundes-Teilhabe-Gesetz geben. Bis jetzt gibt es das Gesetz noch nicht. Das dauert

Mehr

Kompetitive Analysen von Online-Algorithmen

Kompetitive Analysen von Online-Algorithmen Kompetitive Analysen von Online-Algorithmen jonas echterhoff 16. Juli 004 1 Einführung 1.1 Terminologie Online-Algorithmen sind Algorithmen, die Probleme lösen sollen, bei denen Entscheidungen getroffen

Mehr

Tutorial - www.root13.de

Tutorial - www.root13.de Tutorial - www.root13.de Netzwerk unter Linux einrichten (SuSE 7.0 oder höher) Inhaltsverzeichnis: - Netzwerk einrichten - Apache einrichten - einfaches FTP einrichten - GRUB einrichten Seite 1 Netzwerk

Mehr

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage .htaccess HOWTO zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess

Mehr

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut Von Susanne Göbel und Josef Ströbl Die Ideen der Persönlichen Zukunftsplanung stammen aus Nordamerika. Dort werden Zukunftsplanungen schon

Mehr

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof Bedienungsanleitung für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof Matthias Haasler Version 0.4 Webadministrator, email: webadmin@rundkirche.de Inhaltsverzeichnis 1 Einführung

Mehr

Simulation LIF5000. Abbildung 1

Simulation LIF5000. Abbildung 1 Simulation LIF5000 Abbildung 1 Zur Simulation von analogen Schaltungen verwende ich Ltspice/SwitcherCAD III. Dieses Programm ist sehr leistungsfähig und wenn man weis wie, dann kann man damit fast alles

Mehr

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock infach Ihr Weg zum finanzellen Erfolg Geld Florian Mock FBV Die Grundlagen für finanziellen Erfolg Denn Sie müssten anschließend wieder vom Gehaltskonto Rückzahlungen in Höhe der Entnahmen vornehmen, um

Mehr

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

PHPNuke Quick & Dirty

PHPNuke Quick & Dirty PHPNuke Quick & Dirty Dieses Tutorial richtet sich an all die, die zum erstenmal an PHPNuke System aufsetzen und wirklich keine Ahnung haben wie es geht. Hier wird sehr flott, ohne grosse Umschweife dargestellt

Mehr

1. Software installieren 2. Software starten. Hilfe zum Arbeiten mit der DÖHNERT FOTOBUCH Software

1. Software installieren 2. Software starten. Hilfe zum Arbeiten mit der DÖHNERT FOTOBUCH Software 1. Software installieren 2. Software starten Hilfe zum Arbeiten mit der DÖHNERT FOTOBUCH Software 3. Auswahl 1. Neues Fotobuch erstellen oder 2. ein erstelltes, gespeichertes Fotobuch laden und bearbeiten.

Mehr

Theoretische Informatik SS 04 Übung 1

Theoretische Informatik SS 04 Übung 1 Theoretische Informatik SS 04 Übung 1 Aufgabe 1 Es gibt verschiedene Möglichkeiten, eine natürliche Zahl n zu codieren. In der unären Codierung hat man nur ein Alphabet mit einem Zeichen - sagen wir die

Mehr

Local Control Network Technische Dokumentation

Local Control Network Technische Dokumentation Steuerung von Hifi-Anlagen mit der LCN-GVS Häufig wird der Wunsch geäußert, eine Hi-Fi-Anlage in die Steuerung der LCN-GVS einzubinden. Auch das ist realisierbar. Für die hier gezeigte Lösung müssen wenige

Mehr

In 15 Schritten zum mobilen PC mit Paragon Drive Copy 11 und VMware Player

In 15 Schritten zum mobilen PC mit Paragon Drive Copy 11 und VMware Player PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Schritthan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com

Mehr

Win 7 optimieren. Unser Thema heute: Meine erstellten Daten in eine andere Partition verschieben.

Win 7 optimieren. Unser Thema heute: Meine erstellten Daten in eine andere Partition verschieben. Win 7 optimieren Unser Thema heute: Meine erstellten Daten in eine andere Partition verschieben. Gliederung Standardmäßige Vorgaben von MS Win7. Warum Daten verschieben? Welche Vorteile bringt die Datenverschiebung?

Mehr

BIA-Wissensreihe Teil 4. Mind Mapping Methode. Bildungsakademie Sigmaringen

BIA-Wissensreihe Teil 4. Mind Mapping Methode. Bildungsakademie Sigmaringen BIA-Wissensreihe Teil 4 Mind Mapping Methode Bildungsakademie Sigmaringen Inhalt Warum Mind Mapping? Für wen sind Mind Maps sinnvoll? Wie erstellt man Mind Maps? Mind Mapping Software 3 4 5 7 2 1. Warum

Mehr

Dokumentation IBIS Monitor

Dokumentation IBIS Monitor Dokumentation IBIS Monitor Seite 1 von 16 11.01.06 Inhaltsverzeichnis 1. Allgemein 2. Installation und Programm starten 3. Programmkonfiguration 4. Aufzeichnung 4.1 Aufzeichnung mitschneiden 4.1.1 Inhalt

Mehr

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel 2016. für Mac. amac-buch Verlag

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel 2016. für Mac. amac-buch Verlag Anton Ochsenkühn amac BUCH VERLAG Ecxel 2016 für Mac amac-buch Verlag 2 Word-Dokumentenkatalog! Zudem können unterhalb von Neu noch Zuletzt verwendet eingeblendet werden. Damit hat der Anwender einen sehr

Mehr

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben

Mehr

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Wenn der Name nicht gerade www.buch.de oder www.bmw.de heißt, sind Internetadressen oft schwer zu merken Deshalb ist es sinnvoll, die Adressen

Mehr

Zahlen auf einen Blick

Zahlen auf einen Blick Zahlen auf einen Blick Nicht ohne Grund heißt es: Ein Bild sagt mehr als 1000 Worte. Die meisten Menschen nehmen Informationen schneller auf und behalten diese eher, wenn sie als Schaubild dargeboten werden.

Mehr

Satzhilfen Publisher Seite Einrichten

Satzhilfen Publisher Seite Einrichten Satzhilfen Publisher Seite Einrichten Es gibt verschiedene Möglichkeiten die Seite einzurichten, wir fangen mit der normalen Version an, Seite einrichten auf Format A5 Wählen Sie zunächst Datei Seite einrichten,

Mehr

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde

Mehr

Partitionieren in Vista und Windows 7/8

Partitionieren in Vista und Windows 7/8 Partitionieren in Vista und Windows 7/8 Windows Vista und Windows 7 können von Haus aus Festplatten partitionieren. Doch die Funktion ist etwas schwer zu entdecken, denn sie heißt "Volume verkleinern".

Mehr

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden. In einer Website haben Seiten oft das gleiche Layout. Speziell beim Einsatz von Tabellen, in denen die Navigation auf der linken oder rechten Seite, oben oder unten eingesetzt wird. Diese Anteile der Website

Mehr

Beweisbar sichere Verschlüsselung

Beweisbar sichere Verschlüsselung Beweisbar sichere Verschlüsselung ITS-Wahlpflichtvorlesung Dr. Bodo Möller Ruhr-Universität Bochum Horst-Görtz-Institut für IT-Sicherheit Lehrstuhl für Kommunikationssicherheit bmoeller@crypto.rub.de 6

Mehr

Eigene Dokumente, Fotos, Bilder etc. sichern

Eigene Dokumente, Fotos, Bilder etc. sichern Eigene Dokumente, Fotos, Bilder etc. sichern Solange alles am PC rund läuft, macht man sich keine Gedanken darüber, dass bei einem Computer auch mal ein technischer Defekt auftreten könnte. Aber Grundsätzliches

Mehr

Nicht über uns ohne uns

Nicht über uns ohne uns Nicht über uns ohne uns Das bedeutet: Es soll nichts über Menschen mit Behinderung entschieden werden, wenn sie nicht mit dabei sind. Dieser Text ist in leicht verständlicher Sprache geschrieben. Die Parteien

Mehr

Eigenen Farbverlauf erstellen

Eigenen Farbverlauf erstellen Diese Serie ist an totale Neulinge gerichtet. Neu bei PhotoLine, evtl. sogar komplett neu, was Bildbearbeitung betrifft. So versuche ich, hier alles einfach zu halten. Ich habe sogar PhotoLine ein zweites

Mehr

Grafstat Checkliste Internetbefragung

Grafstat Checkliste Internetbefragung Grafstat Checkliste Internetbefragung ( A ) Datensammelpunkt im Formular eintragen ( B ) Befragung auf dem Datensammelpunkt anmelden ( C ) Formular ins Internet stellen (z.b. Homepage) ( D ) Befragung

Mehr

Neue Schriftarten installieren

Neue Schriftarten installieren .DIE Neue Schriftarten installieren Die Informationen zu jeder Schriftart (Font) sind in jeweils einer Datei untergebracht, der sog. Font-Datei mit der Endung.ttf ttf steht für True Type Font und bedeutet,

Mehr