Evolutionäre und genetische Algorithmen

Größe: px
Ab Seite anzeigen:

Download "Evolutionäre und genetische Algorithmen"

Transkript

1 Proseminar SS 2002: Evolutionäre und genetische Algorithmen Thema: Optimierung von neuronalen Netzen Referent: Thorsten Kaufmann 1

2 Inhaltsverzeichnis: 1. Grundlagen und Aufbau von neuronalen Netzen S Optimierung der KNN S Optimierung der Netzarchitektur mittels Formeln S Optimierung der Netzarchitektur mit GA S Direkte Codierung S Indirekte Codierung S Optimierung der Netzarchitektur und Parametern S Literaturangabe S. 26 2

3 ! "#%$'&( Künstliche neuronale Netze (KNN) sind informationstechnische Modelle des Nervengeflechts des Gehirns. Sie bestehen aus einer Menge von Recheneinheiten (den Neuronen), welche über Informationskanäle miteinander verbunden und in der Regel in Schichten angeordnet sind. Die Informationskanäle können durch sogenannte Gewichte verstärkt oder gedämpft werden. In der Biologie entsprechen diese den Synapsen, den Verbindungsstellen zwischen den Neuronen. Sie sind bedeutsam, da durch ihre Veränderung ein Lernprozess simuliert werden kann. Des weiteren haben KNN den Vorteil, dass sie für die Lösung eines Problems nicht explizit programmiert werden müssen. Dem Netzwerk werden lediglich Beispiele des Problems präsentiert und das jeweils gewünschte Ergebnis bei einer richtigen Eingabe vorgegeben. ME?1,;L 698!3B2<*-,;MOY Abbildung 1.1: Schematische Darstellung eines künstlichen Neurons: Aus den Eingangssignalen x i wird die gewichtete Summe net gebildet. Aus dieser Summe wird dann mit der Aktivierungsfunktion ƒ(net) der Ausgangswert berechnet. Eingangssignale x i : Diese Daten können von der Umgebung oder vom Ausgang eines anderen künstlichen Neuron stammen. Unterschiedliche Netzwerkmodelle erlauben dabei unterschiedliche Wertebereiche. Typische Wertebereiche sind die reellen Zahlen, das Intervall [0,1] oder die diskreten Werte {0,1}. Gewichte w i : Jeder Verbindung in einem Neuronalen Netz ist i.a. eine reelle Zahl als Gewicht zugeordnet. Dieses Gewicht beschreibt die Stärke der Verbindung. In diesen Verbindungsgewichten ist das Wissen des Neuronalen Netzes gespeichert. 3

4 Netto-Input : Der Netto-Input entspricht i.a. der Summe der gewichteten Eingangssignale. Aktivierungsfunktion oder Transferfunktion ƒ(net): Die Aktivierungsfunktion bestimmt, abhängig vom Netto-Input, den Output des Neurons. Dieser Output kann das Eingangssignal für ein anderes Neuron sein oder das Ausgangssignal des Neuronalen Netzes. Als Aktivierungsfunktion wird meist eine der nachfolgenden Grundtypen verwendet: Schwellwertfunktion: Abbildung 1.2: Schwellwertfunktion als Aktivierungsfunktion. Der Funktionsverlauf ist in Abbildung 1.2 graphisch dargestellt. Neuronen, die diese Aktivierungsfunktion verwenden, nennt man Schwellwertneurone. Sigmoide Funktion: Abbildung 1.3: Sigmoide Funktion als Aktivierungsfunktion. 4

5 Der Funktionsverlauf ist in Abbildung 1.3 graphisch dargestellt. Der Unterschied der Sigmoiden Funktion zur Schwellwertfunktion ist, dass diese ein kontinuierliches Ausgangssignal liefert und differenzierbar ist. Erst dadurch werden Lernverfahren wie das Backpropagation-Learning möglich. Neuronen, die diese Aktivierungsfunktion verwenden, nennt man Sigmoide-NeuronenZ Lineare Funktion: Abbildung 1.4: Lineare Funktion als Aktivierungsfunktion. Der Funktionsverlauf ist in Abbildung 1.4 graphisch dargestellt. Die lineare Funktion stellt die einfachste und am wenigsten mächtige Aktivierungsfunktion dar. Neuronen, die diese Aktivierungsfunktion verwenden, nennt man Lineareneuronen. Bei der linearen Aktivierungsfunktion ist zu beachten, dass eine Hintereinanderschaltung mehrerer linearer Neuronen nur die selbe Funktion berechnen kann, wie ein einzelnes Neuron. Der Grund dafür ist, dass eine Hintereinanderschaltung von linearen Funktionen wieder linear ist. Mittels Lernalgorithmen (z.b. Backpropagation-Algorithmus {Ein Java-Programm zur Mustererkennung mit einem KNN, welches den Backpropation-Algorithmus verwendet, ist auf folgender Seite zu finden: }) ist das Netz in der Lage, die Gewichte so anzupassen, dass das Netzwerk auf eine gegebene Eingabe mit der gewünschten Ausgabe zu antworten. Das Netzwerk lernt somit ohne eine entsprechende Zuordnungsfunktion zu kennen, die Eingabesignale korrekt den gewünschten Ausgabesignalen zuzuordnen. Nachteil ist jedoch, dass das Lernverhalten des Netzwerks von seiner Topologie abhängt. Ein Netzwerk mit einer Schicht von Neuronen verhält sich grundlegend anders als ein Netz mit zwei oder drei hintereinandergeschalteten Schichten von Neuronen. Zusätzlich spielt auch die Verschaltung der Neuronen untereinander eine entscheidende Rolle. Die Neuronen können nicht einfach irgendwie verschaltet werden, sondern müssen nach einem bestimmten Schema verknüpft werden, um ein Problem korrekt lösen zu können. Das Finden einer geeigneten oder gar optimalen Topologie ist sehr schwierig. Bis jetzt existiert noch keine Theorie, die bei der Suche nach guten Netzwerken hilfreich sein könnte. 5

6 Die Netztopologie eines mehrstufigen Netzes Mehrstufige (mehrschichtige) Netze sind Netze, bei denen die Ausgabeschicht als Eingabe für eine weitere Neuronenschicht dient. Legt man solche Schichten mehrmals hintereinander, entstehen mehrstufige Netze. Diese Netztypen können alle möglichen Funktionen darstellen und seit 1985 gibt es einen geeigneten Lernalgorithmus, den Backpropagation-Algorithmus. Ein zweistufiges neuronales Netz Die mittlere Neuronenschicht ist Eingabe für die darüberliegende Schicht von Neuronen, die den Output des gesamten Netzes bereitstellt In diesem Netz sind e1 und e2 die Eingabewerte (untere Schicht),aus denen die Werte h1 und h2 berechnet werden. Diese wiederum sind Eingabewerte für die obere Stufe des Netzes. Ausgabewerte sind hier a1 und a2. Die Zwischenneuronen h1 und h2 bezeichnet man als versteckte Neuronen (hidden neurons) und die gesamte mittlere Schicht als versteckte Schicht (hidden layer). Die Quadrate sind die Schwellwerte. Ist das Gewicht und der Eingabewert eines Neurons größer oder gleich diesem Schwellwert, findet eine Erregung des darüberliegenden Neurons statt, welches daraufhin aktiviert wird. Im anderen Fall tritt keine Erregung auf. Die Kanten, bezeichnen die Gewichte, also die Stärke der Verbindungen zwischen den Neuronen. Ein zweistufiges Netz lässt sich i.a. durch folgende Gleichungen beschreiben: (2) h j = ƒ [ w jk * e k ) (1) a j = ƒ v w jk * h k ) \'] ^`_1a+bc\ed fhghijblkmbon!prqhijboǹ bsqlt<ì phujb \'] ^Dw!a+bh\ed fxghijblkmbonzyo{hbon boqlt<ì phujb Dieses Spiel kann fortgesetzt werden, indem man auf die obere Stufe eine weitere Stufe aufsetzt und somit ein dreistufiges Netz erhält. So lassen sich mehrstufige Netzte mit beliebig vielen Stufen konstruieren. Bemerkung: Bereits zweistufige Netze sind so komplex, dass alle möglichen logischen Funktionen, die einem binärwertigen Eingangsvektor einen binärwertigen Ausgangsvektor zuordnen, dargestellt werden können. Aus diesem Grund können diese Netztypen vielseitig eingesetzt werden. 6

7 Anwendung Neuronaler Netze Abbildung 1.5 : Anwendungsgebiete für den Einsatz von KNN Neuronale Netze haben schon seit langem Einzug in die Forschung der KI, Robotik, Sprach- und Bildverarbeitung gehalten. Zusätzlich zu diesen klassischen Anwendungsfeldern werden in letzter Zeit immer mehr neuronale Ansätze in Bereichen verfolgt, die bisher mit analytischen oder regelbasierten Methoden angegangen wurden (siehe Abbildung 1.5). Diese häufig sehr unterschiedlichen Aufgabenstellungen haben gemeinsam, dass sie analytisch schwer beschreibbar sind und aufgrund ihrer Komplexität mit herkömmlichen Verfahren nur unzureichend gelöst werden können. Die Zusammenstellungen der Anwendungsfelder verdeutlicht die Vielschichtigkeit der Einsatzmöglichkeiten von KNN. Aktuelle Forschungen weisen darauf hin, dass sich bei konsequenter Umsetzung in Zukunft viele weitere Bereiche für den Einsatz von KNN erschließen lassen. Um jedoch KNN gewinnbringend einsetzen zu können, ist eine Reihe von Vorüberlegungen nötig. Für jeden Einzelfall sollte sorgfältig untersucht werden, inwieweit traditionelle Verfahren einsetzbar sind und welche Vor- und Nachteile diese mit sich bringen. 7

8 } ~ ƒ ƒg ˆ Š Œ ˆ Ž Ž Das Gebiet der Kombination neuronaler Netze mit genetischen Algorithmen teilt sich auf in drei Klassen von Ansätzen: 1. Ansätze, die versuchen die Topologie eines neuronalen Netzes zu optimieren 2. Ansätze, die die Gewichte eines neuronalen Netzes optimieren 3. Ansätze, die gleichzeitig eine optimale Netztopologie und optimale Gewichte des neuronalen Netzes finden wollen S 0š š`œ( sž(ÿl (œ( œ c ( h (šj mœ( 0ž( šj h mœ( `ª «+ J o œ( Ÿ 0 U l±jÿ²œ(³(ž( h µ Die Idee für die Lösung dieses Problems ist nicht nach geeigneten To pologien und Netzwerkstrukturen im Raum der Netzwerktopologien zu suchen, sondern in einem Raum formaler Repräsentationen von Netzwerk-Topologien. Dieser Trick wird in der KI häufig angewandt, wenn die Suche im Raum der Standardrepräsentationen zu schwieri g oder zu aufwendig ist. Man beschreibt die Netzwerktopologie mit mathematischen Formeln und optimiert diese um geeignete Topologien zu erhalten. Der Lösungsansatz sieht wie folgt aus: Wir haben ein neuronales Netz und seine Lerndaten sind gegeben durch eine Paarmenge < x i, y i >, wobei jedes xi ein bestimmter Eingabe-Vektor und y i der dazugehörige Ausgabe-Vektor des Netzes für die gegebene Eingabe x i ist. Benötigt wird nun ein Algorithmus, der automatisch mathematische Formeln erzeugt, die die Topologie der neuronalen Netze repräsentieren. Dabei wird als Optimierungskriterium, der mittlere quadratische Fehler des Netzes (bzw. der Formel) auf dem Trainingsdatensatz verwendet. Die durch den Algorithmus erzeugten Formeln können als Beschreibungen von neuronalen Netzen verstanden werden, die auf dem gegebenen Trainingssatz trainiert wurden. Daher wird ein zweiter Algorithmus benötigt, der eine Rückübersetzung der Formeln in Neuronale Netzwerktopologien bewerkstelligt. Weiterhin muss festgelegt werden, was eine akzeptable Formel ist. Dies ist nötig, da bei einer zufälligen Erzeugung von Formeln diejenigen Formeln, die keine sinnvolle Netzwerktopologie darstellen, erheblich in der Überzahl sein werden. Anschließend werden die Formeln in ein binäres Format übersetzt, welches leicht durch einen genetischen Algorithmus erreicht werden kann. Bei wiederholter Anwendung genetischer Vorgänge auf die binär verschlüsselten Formeln, wird dann versucht, sukzessive gute und immer besser werdende Formeln zu erzeugen, d.h. die Formeln entsprechend zu optimieren. Diese guten Formeln haben wichtige Eigenschaften, wie z.b. eine minimale Anzahl von Termen (entspricht dann einer minimalen Anzahl von Neuronen im Netz). Dadurch können die Netze auch hinsichtlich ihrer Größe optimiert, d.h. minimiert werden. Der Herstellungsprozess dieser guten Formeln wird durch die Fitnessfunktion gesteuert, welche gute Formeln aus der Population der Formeln aussortiert, indem ihr mittlerer quadratischer Fehler und die Erfüllung weiterer Optimierungskriterien (Anzahl Formelterme, Schachtelungstiefe, usw.) gemessen wird. 8

9 µ ¹»ºµ¼½ ¾À(Á(²ÃÅÄ( S¼Æ (Ç ÈÊÉË ¼hÌeÇÎÍ ÏlÍSÐ`Í(à ¾` ¾ÂÒÑÓÍ ¼hÔ Ð Beispiel XOR-Problem: Angenommen, ein Backpropagation-Netzwerk (Netzwerk welches mittels Backpropagation- Algorithmus trainiert wurde) wurde erfolgreich trainiert, um das berühmte XOR-Problem zu lösen. Weiter angenommen, die gewählte Topologie war (also ein Ausgabe-Neuron, zwei Eingabe- Neuronen und zwei Zwischenschicht-Neuronen) mit einer kompletten Verbindung zwischen den Neuronen der übereinanderliegenden Schichten. Das Netzwerk hat damit fünf Neuronen und sechs Gwichte w 31, w 41, w 32, w 42, w53 und w 54, wobei w ij die Verbindung von Neuron j zu Neuron i darstellen soll. Abbildung 2.1: Trainiertes Netzwerk, welches XOR-Problem löst Sei als Transferfunktion die Sigmoidfunktion T F und die Outputfunktion jeweils T I. X=(x 1,x 2 ) sei ein Eingabevektor, dann lässt sich der Output o(x) folgendermaßen direkt berechnen, wenn die Netzparameter w ij konkret gegeben sind : o( x) = o( x1, x2 ) = TF ( w54tf ( w41x1 + w42 x2 ) + w53tf ( w31x1 + w32 x2 )) Die Topologie eines Netzes lässt sich also durch eine Formel darstellen. Der nächste Schritt ist der Entwurf einer Grammatik, die beschreibt, welche Formeln in der Lage sind, NN-Topologien zu repräsentieren. Alphabet von Operatoren (Funktionen) : α 1,..., α 2 9

10 Variablen, die in diesen Operatoren vorkommen können (Inputvariablen) : x 1,..., x m ft i (x) : zugelassene Transferfunktionen, z.b. ft(x) = x = T I Abbildung 2.2: Durch Einsetzen der Sigmoid-Funktion erhält man den exakten formalen Ausdruck, den Formelterm, der das aktuelle Netzwerk mit seinen Gewichten repräsentiert. Die Formel kann dazu genutzt werden, für jeden beliebigen Input den entsprechenden Output direkt auszurechnen. Wie man an dem Formelterm für das XOR-Netz erkennt, kann dieser schnell äußerst komplex und unübersichtlich werden. Der obere Teil des Bildes zeigt die formale Darstellung der Formel; im unteren Teil wurde dann die Sigmoid-Funktion für den Funktionsterm f im oberen Bildteil eingesetzt. Als zweiten Schritt muss eine Grammatik definiert werden, um nur solche Formeln zu produzieren, die auch wieder als neuronale Netzwerktopologien interpretiert werden können. Zunächst die Definition eines Alphabets von Operatoren (Funktionen) und Variablen, die in den Formeln erscheinen dürfen: Alphabet: α 1,..., α n (Variable für die Gewichtung) Õ1Ö,..., Õ; (Eingabevariable) ƒøeù (x) (jede Menge von Transferfunktionen, die für den speziellen Netzwerktyp erlaubt sind, einschließlich der identischen Transferfunktion ƒø Ù (x)=x). 10

11 Die folgende Grammatik bestimmt die akzeptablen Formeln: 1. Seien w i Gewichtungsvariable, x j Inputvariable, dann nennt man w i x j w k x m basic expression 2. Sei Φ ein basic expression, dann heißt ft i (Φ) neuronaler Term 3. Wenn Φ ein basic expression ist und β 1,..., β n neuronale Terme, dann heißt ft i ( Φ + α 1 β α n β n ) terminaler Ausdruck 4. Wenn Φ ein basic expression ist, β 1,..., β n neuronale Terme und Ω 1,..., Ω k terminale Ausdrücke, dann ist ft i (Φ + α 1 β α n β n + α j Ω α 1 Ω k ) ebenfalls terminaler Ausdruck. 5. DEFINITION: Eine Folge von Termen < Ω 1,..., Ω k > ist eine akzeptable Formel, wenn alle Ω i terminale Ausdrücke sind und jedes x j mindestens einmal in einem der Ω i auftritt. Jeder Bestandteil ΩÙ einer akzeptablen Formel wird interpretiert als Repräsentant der Ausgabe Ú1Ù des Ausgabe Neurons Û Ù der Ausgabeschicht des Netzwerkes. Somit verschlüsselt jede akzeptable Formel als Array die komplette Ausgabeschicht eines Netzes mit der ihr zugrundeliegenden Verarbeitung der Netzeingabe über die Neuronen, die direkt oder indirekt mit der Ausgabeschicht verbunden sind. Ü!Ý>Þmß(àsá(àxß Þmâ Þ0ã`äÓÝß(ãÝlß(à å+äjàoæ ß(çÎè Die Deutung einer akzeptablen Formel ist relativ einfach und funktioniert wie folgt: Gegeben seien alle Werte für die Eingabevariablen, welche in der Formel vorkommen (é1ê und é0ë im obengenannten Beispiel). Zunächst werden die innersten Funktionsausdrücke in der Formel, die auf die Eingabevariablen angewandt werden können, interpretiert. Das Ergebnis der Funktionsanwendung auf die Eingabewerte wird als Interpretation zurückgeliefert und die nächstinneren Funktionen werden auf diese Interpretation angewandt. Dies wird solange wiederholt, bis der äußerste Funktionsausdruck erreicht ist. Die Abarbeitung der Terme verläuft demnach für die Interpretation von den ineinandergesetzten Ausdrücken in Richtung des äußersten Funktionsausdruckes. Wenn man die Ausgabe eines Netzes, das durch eine akzeptable Formel verschlüsselt ist, berechnen möchte, ersetzt man einfach die Eingabevariablen durch die aktuelle Eingabe und deutet jeden Formelausdruck Ωì (wie beschrieben), indem die jeweilige Funktion iterativ auf die Eingabewerte angewandt wird. Falls bei der Interpretation einer Formel ein Funktionsausdruck nicht auf seine Argumente anwendbar ist (z.b. Division durch Null), wird zwischen folgenden Alternativen gewählt: 1) Man überspringt die nicht anwendbare Funktion und wendet die nächste anwendbare Funktion innerhalb des Formelausdrucks an. 11

12 2) Man wählt eine Alternativfunktion aus dem Alphabet oder durch einen beliebigen Algorithmus und verwendet diese Funktion anstelle der nicht anwendbaren Funktion 3) Sind freie Parameter in den Argumenten vorhanden (z.b. Gewichtungen), so ändert man diese Parameter so lange willkürlich oder durch einen Algorithmus, bis die Transferfunktion anwendbar ist. Durch Erfahrung mit Hunderten von Simulationen, wird vermutet das Alternative 2 in den meisten Fällen die besten Ergebnisse liefert. íîµç`ß(ãjþ0ï(ýlð ß(ãÝlß(à ñß ÞmäJá²äJç`äUð ã`ßâ(ïlõöß(ãý²ß(à å+äjàoæ ß(ç Wie bereits besprochen kann jede vorgegebene Netzwerktopologie leicht in eine Formel übersetzt werden. Die umgekehrte Richtung ist jedoch nicht so trivial. Jede akzeptable Formel kann in eine Netzwerktopologie übersetzt werden, indem ihre Struktur mit Hilfe folgendem Verfahren grammatikalisch analysiert wird: Sei Ω=<Ωì,..., Ω > eine akzeptable Formel. Man übersetzt nun diese Formel in einen Graphen, der ein neuronales Netz darstellt. Schritt 1: Man zeichne eine Linie. Auf diese Linie zeichne man für jeden Term der Formel, der für eine Transferfunktion steht, einen Knoten (Kreis). In jeden Knoten zeichne man das entsprechende Symbol der Transferfunktion (die Reihenfolge des Auftragens der Knoten auf der Linie ist im Prinzip gleichgültig)+ Schritt 2: Man zeichne eine zweite Linie von Knoten unterhalb der ersten, wobei jeder Knoten dieser Linie für ein Eingabe-Symbol (Eingabe Variable) steht (die Reihenfolge ist gleichgültig) Wiederhole für alle Ωø = ùú ì (Ω) Schritt 3: analysiere das Argument Ωì Da Ωì die Form Ωì = Φ û αê βêoû üýüþü9û α β û αø ΩêOû üýüþü!û αê Ωÿ hat, ist jeder Teilausdruck Φ von Ωì in dieser Summe nach Definition entweder ein basic expression, ein neuronaler Term oder ein terminaler Ausdruck. Arbeite nun Ωì von links nach rechts ab. Das weitere Vorgehen hängt davon ab, welcher Art der jeweils betrachtete Teilausdruck von Ωì ist. Schritt 3.1: Angenommen Φ ist ein nicht leerer basic expression. Er hat dann nach Definition die Form: Φ=αì*é ø +...+αÿ *é1ê. In diesem Fall zeichnet man für jeden Teilausdruck α * α 12

13 von Φ eine Verbindung von dem Knoten der unteren Linie, der die Eingabe-Variable é repräsentiert, zu dem Knoten der darüber liegenden Schicht, der die Transferfunktion ùúeì repräsentiert. Beschrifte diese Verbindung mit αm, da αm die Gewichtung dieser Verbindung darstellt. Schritt 3.2: Wenn Φ von der Form αÿ * ùgú ø (β ) ist und βn ein basic expression, so zeichnet man eine Verbindung von dem Knoten, der ùú ø repräsentiert zum Knoten ùúeì und beschriftet diese Verbindung mit αÿ. Dann fahre man mit dem Argument β rekursiv wie in 3.1 fort. Schritt 3.3: Wenn Φ von der Gestalt αê * ùú ø (Ωÿ ) und Ωÿ ein terminaler Ausdruck ist, zeichnet man eine Verbindung von dem Knoten, der ùú ø repräsentiert zu dem Knoten, der ùúeì repräsentiert und beschriftet diese Verbindung mit dem Gewicht αê. Man beginnt den Aufbauprozess rekursiv mit ùgú ø (Ωÿ ) wie bei Schritt 3, indem ùgú+ì durch ùú ø und Ωì durch Ωÿ ersetzt wird. Beispiel: Übersetzung folgender akzeptablen Formel in eine Netzwerk-Topologie: Abbildung 2.3: Verdeutlichung der Grammatik anhand deiner Netztopologie 13

14 Abbildung : Die Topologie, die mit dem Algorithmus erzeugt wird. Abbildung 2.4 ist die platte, zweilagige Darstellung, welche leicht in die hierarchische Repräsentation (Abbildung 2.5) transformiert werden kann. 14

15 ã`ß å ãjþ0ýlßlõ õ#ß(ãýlß(à å+äóàsæ ß(ç Die Bestimmung der Tauglichkeit einer Formel ist nicht sonderlich schwierig. Angenommen wir haben einen Trainingssatz von Beispielen für ein neuronales Netz oder einen gültigen Datensatz für die Validierung des Netzwerks vorgegeben. Dieser Datensatz s wird aus einer Menge von Tupeln <é;ì,!ì > bestehen, wobei é;ì die Eingabe und!ì die jeweils dazu erwartete Ausgabe des Netzes ist. Somit ist C sei ein Chromosom, d.h. eine verschlüsselte Formel und int(c, é ì) die Interpretation von c für das Argument é;ì. Die Tauglichkeit von c, fit(c), wird durch ein Fehlermaß über dem Datensatz s bestimmt. Wenn das Fehlermaß der mittlere quadratische Fehler ist, so wird z.b. fit(c) berechnet, indem die Interpretation von c hintereinander auf alle é;ì als Argumente angewandt wird: Je kleiner der quadratische Fehler der Interpretation der Formel auf dem Trainingssatz ist, desto größer, ist die Tauglichkeit der Formel. Dies macht Sinn, da sich eine Formel mit einer sehr hohen Tauglichkeit der gewünschten Funktion des Netzwerkes annähert, denn der quadratische Fehler wird für alle relevanten Eingaben des Netzes minimiert. Dies ist jedoch in den meisten Fällen noch nicht die endgültige Fitnessfunktion. Wenn wir zugleich auch eine kürzeste Formel erzeugen wollen, benötigen zusätzlich wir eine Art Belohnungsoder Bestrafungsterm für die Fitnessfunktion. Es ist sinnvoll, die Identitätsfunktion f(x) = x in das Formelalphabet miteinzubeziehen. Wir benutzen nun diese Funktion, um die Länge der durch den genetischen Algorithmus erzeugten Formel gleich mitzuoptimieren (dies verläuft analog). Alle Formeln werden als bit-ketten einer bestimmten, festen Länge verschlüsselt. Wenn man diese Einschränkung nicht einhält, muss man einen Crossover-Algorithmus benutzen, der auf Chromosomen variabler Länge arbeitet. Dies ist schwierig und meist rechenintensiv. 15

16 Um dennoch Formeln variabler Länge zu erhalten, benutzen wir die Identitätsfunktion. Wenn die Identitätsfunktion in dem verschlüsselten Formelausdruck erscheint, wird sie bei der Interpretation einfach übersprungen, da sie den aktuellen Wert ja nicht verändert. Die Identitätsfunktion kann also aus dem Formelterm gestrichen werden, wodurch sich dieser verkürzt. Somit gilt: je öfter die Identitätsfunktion in der Formel erscheint, desto kürzer wird die endgültige Formel sein. Wir fügen deshalb einen Belohnungsterm zur Fitnessfunktion für jedes Auftreten der Identitätsfunktion in den Formeln hinzu. Wenn die Anzahl dieser Vorkommen k ist, dann hat die neue, erweiterte Fitnessfunktion die Gestalt: Die Funktion h kann im Prinzip jede sinnvolle Funktion von k sein, z.b. eine lineare oder exponentielle Funktion, wie z.b. h(k) = α*k oder h(k)= 2^k Man sollte in der Praxis jedoch eine kleine konstante Zahl β (2^-10 oder ähnlich) dem mittleren quadratischen Fehlerausdruck hinzufügen, um eine potentielle Division durch 0 zu vermeiden. Dies tritt beispielsweise ein, falls der Annäherungsfehler 0 ist, d.h. wenn die erzeugte Funktion genau die Zielausgabe des Netzes trifft. Die endgültige Version der Fitnessfunktion sieht dann etwa folgendermaßen aus: Wenn h eine exponentielle Funktion ist, bevorzugt der Algorithmus kurze Formeln. Somit kann h dazu benutzt werden, um Netzwerke zu minimieren, da sich die Komplexität des erzeugten Netzwerkes in der Regel in der Formelkomplexität wiederspiegelt. Je einfacher die Formel, desto einfacher ist auch das erzeugte Netzwerk. Die Formeln können mit der Fitnessfunktion auch noch auf andere Art und Weise optimiert werden. Es könnte z.b. von Nutzen sein, die Komplexität der Formeln zu reduzieren, indem das Einbetten von Funktionen minimiert wird. Falls man flache Netzwerke, d.h. Netzwerke mit einer niedrigen Anzahl von verdeckten Schichten erzeugen will, muss man nur die iterative Anwendung der Transferfunktion über die Fitness der Fo rmel bestrafen. Falls man nur wenige Neurone im Netzwerk haben will, muss man das Aufkommen der Gewichtsausdrücke in den Formel bestrafen usw. Auf diese Weise kann fast jeder Optimierungspunkt berücksichtigt werden. 16

17 ã`ßâ(ï ÞmäÓæ â Þ0ã`õ ²ß (àhò ß(ï²ð ï(ýlð Ýlß(ï(àxäJݲâ(ç`ß(à ñß Die automatische Erzeugung Neuronaler Netzwerke läuft nun letztlich wie folgt ab: 1. Erzeuge zufällig die anfängliche Population der Formeln (d.h. einen Satz binär verschlüsselter, akzeptabler Formel) 2. Wiederhole bis die Abbruchbedingung erreicht ist (d.h. bis die Zeit abgelaufen ist oder bis kein weiterer Fortschritt in der Population errecht wurde) 2.1 interpretiere jedes Chromosom und berechne seine Tauglichkeit; wenn die Tauglichkeit zufriedenstellend ist, stoppe den Algorithmus und liefere die Formel mit der höchsten Tauglichkeit als Ergebnis zurück 2.2 ansonsten wähle Formeln durch passendes Hochzeitsschema und gebe den Formeln eine Möglichkeit im Verhältnis zu ihrer Tauglichkeit Kinder zu erzeugen. 2.3 rekombiniere die ausgewählten Formeln neu durch Crossover 2.4 nehme an den Formeln der neuen Generation entsprechende Mutationen vor 2.5 gehe zu 2. ã`ß ä ã`ß(àsï(ý²ð îµãý(àhßß(àhõ (çlõ õ ß(çï(ݲðµß(à å+äjàoæ ß(çÝâ(ç`õ µàhäóæ äuõ äjæ ß Das Verschlüsseln relevanter Topologien in akzeptable Formeln und die Interpretation akzeptabler Formeln als Repräsentation einer Topologie wurden erläutert. Damit ist die Voraussetzung für die Anwendung genetischer Algorithmen geschaffen. Nun kann auf binären Repräsentationen der Formelterme gearbeitet und alle relevanten genetischen Operationen ausgeführt werden. Um neue Formeln herzustellen, benötigt man noch ein geeignetes binäres Verschlüsselungsschema für die Formeln. Die Codierung der Netzstruktur erfolgt auf einem Chromosom, dessen Alphabet aus 256 verschiedenen Buchstaben besteht. Das Chromosom ist in Abschnitte aufgeteilt, deren Anzahl, der Anzahl der Ausgabe-Neuronen des zu erstellenden Netzes entspricht. Innerhalb eines Abschnittes ist der Graph mit gewichteten Kanten (Baumstruktur), der zu dem zugehörigen Ausgabe-Neuron führt, codiert. Der GA arbeitet auf solchen Chromosomen mit Crossover auf den Abschnitten oder den Genen. Mittels Mutationen an den Genen können auch die Parameter simultan mitoptimiert werden. Bei der Fitnessbestimmung eines Chromosom muss dieses zuvor vollständig in ein KNN transformiert werden, auf welches dann die Fitnessfunktion angewandt werden kann. 17

18 Abbildung 2.6: Schematische Darstellung der internen Codierung der Formeln. Ein Abschnitt enthält strukturierte Unterabschnitte, die aus drei Buchstaben bestehen. Der erste Buchstabe gibt die Verknüpfungsfunktion an, der zweite und der dritte deren Parameter (siehe auch Abbildung 2.7). Ein L (Link) ist ein Zeiger und gibt die Verknüpfung mit zu dem dazugehörigen Gen an. Die Distanz kann z.b. leicht als Integer codiert werden. Da es nicht immer 256 verschiedene Verknüpfungsfunktionen geben muss, wird mit großer Redundanz codiert, z.b. existieren 3 verschiedene Verknüpfungsfunktionen, so entsprechen sowohl die Buchstaben 1 bis 3 als auch die Buchstaben 4 bis 6 usw. diesen Funktionen. Reelle Parameter werden durch Diskkretisierung in einem vorgegebenen Intervall durch Buchstaben ersetzt. 18

19 Abbildung 2.7: Darstellung der Codierung in einem Abschnitt eines Chromosoms 19

20 Mit dieser Implementierung des Algorithmus wurde das folgende dargestellte Netz erzeugt. Dieses Netz erreicht einen mittleren quadratischen Fehler von 8% und wird durch folgende automatisch generierte Formeln beschrieben: Abbildung 2.8: Bestes Ausgangsnetzwerk Nach weiteren 141 Generationen Optimierung erreicht das Netz [Abbildung 2.8] einen mittleren Fehler von nur 0,2%. Die das Netz codierende, automatisch generierte Formel lautete (i[x] steht hier für die Eingabeneuronen, die Transferfunktion ist hier die Sigmoidfunktion f): 20

21 Abbildung 2.9: automatisch generiertes und optimiertes Netz nach 141 Generationen iterativer, genetischer Optimierung Vorteile des Algorithmus: 1. Die vollständig optimierte Topologie eines neuronalen Netzes kann durch einfaches Füttern des Algorithmus mit dem Trainingssatz erzeugt werden. 2. Struktur, Gewichte und eventuell zusätzliche Parameter eines Netzwerkes können simultan mit dem gleichen Verfahren optimiert werden. 3. Durch Benutzung der Fitnessfunktion ist beinahe jede Art von Optimierung eines Netzwerkes möglich. 4. Da die Fitnessfunktion die Generierung der Formeln und somit die Generierung der Netzwerke kontrolliert, ist mit Hilfe des Algorithmus eine neuartige, allgemeine überwachende Lerntechnik für neuronale Netze verfügbar. 5. Es müssen keine Einschränkungen, wie z.b. die Differenzierbarkeit der internen Transferfunktion, berücksichtigt werden. 6. Der Generierungs-Algorithmus kann zudem noch hochgradig parallelisiert werden. 21

22 ! "$#&% '(*),+.-,/021,),+43)56,+879,:),; Bei den Ansätzen zur Optimierung der Netzarchitektur mit GA kann man unterscheiden zwischen direkter und indirekter Lösungscodierung. A BCA BEDGF!H*IKJLNMOJQPRS5HTJIVUXW Y Bei der direkten Codierung wird unmittelbar angegeben, zwischen welchen Neuronen des Netzes eine Verbindung besteht oder nicht besteht. Diese Informationen wird bei n Neuronen in einer n x n Matrix gespeichert (Konnektionsmatrix). Die Einträge der Matrix bestehen aus Einsen und Nullen, wobei eine Eins für eine Verbindung und eine Null für keine Verbindung steht. Die Aneinanderreihung von Zeilen und Spalten der Matrix liefert die Architekturinformation als String, auf den nun Crossover oder Mutation angewandt werden kann. Abbildung 2.9: Darstellung eines KNN in einer Konnektionsmatrix und als String Die direkte Codierung besitzt allerdings 2 Nachteile: 1. Der Benutzer muss die maximale Netzgröße anhand der Anzahl von Neuronen vorab definieren. Das beschränkt zwar den Suchraum für EA, kann aber auch dazu führen, dass gute Architekturen unabsichtlich ausgeschlossen werden. 2. Die Stringlänge wächst mit der Netzgröße überproportional. Daher eignet sich die direkte Codierung vor allem für kleine KNN. 22

23 A BCA BCA[Z6W S5H*IKJLNMOJQPRS\H]JI^UW Y Kitano entwickelte eine grammatische Codierung für Mehrschichten-Netze. Er generiert die Konnektionsmatrix eines KNN, indem er auf ein vordefiniertes Anfangselement (Axiom) rekursiv die Regeln einer deterministischen, kontextfreien Grammatik anwendet. Diese Regeln optimiert er dann mittels eines GA. Anstatt die Verbindungen des Netzes direkt zu ändern, optimiert er die Konstruktionsregeln. Die dadurch entstehenden KNN sind im allgemeinen regelmäßiger strukturiert und zeigen bessere Generalisierungsfähigkeiten als bei direkter Codierung. Die Regeln können als Wenndann-Regeln aufgefasst werden. Ihre linke Seite besteht aus einem Non-Terminal und ihre rechte Seite aus einer 2x2-Matrix von entweder Terminals oder Non- Terminals. Terminals sind nicht weiter zu transformierende Endelemente, die das Bestehen oder Fehlen einer Neuronenverbindung anzeigen. Auf Non-terminals werden dagegen die grammatischen Regeln rekursiv erneut angewendet, also weiter transformiert. Eine Grammatik ist repräsentiert als String variabler Länge, auf dem eine Regelmenge codiert ist. Der GA optimiert dann diese Regeln. Strings müssen bei der Fitnessermittlung interpretiert und jeweils in ein KNN transformiert werden. Dabei entsteht aus dem vordefinierten Anfangselement eine Konnektionsmatrix, welche dann in ein neuronales Netz umgesetzt wird. Die Anzahl der Schritte der Transformation ist begrenzt, um die Konnektionsmatrix in ihrer Größe zu beschränken. Eventuell verbliebene Non-Terminals werden als 0 interpretiert. Das Ziel besteht darin, über die GA-basierte Optimierung der grammatischen Regeln gute Netzarchitekturen zu identifizieren. Jeder String enthält einen konstanten sowie einen variablen Teil. Nur der variable Teil wird durch Crossover und Mutation verändert. Kitano codiert eine grammatische Regeln dabei als jeweils als Fünftupel (siehe Abbildung 2.10). Im Rahmen der Fitnessermittlung wird der Grammatikstring zunächst in ein KNN transformiert. Dabei verwendet man nur die obere rechte Dreiecksmatrix des Endzustandes als Konnektionsmatrix, um reine vorwärtsbetriebene Netze zu erzeugen. Verbindungsgewichte und Schwellwerte werden stochastisch initialisiert im Intervall 1,0 bis +1,0 und anschließend mit BP trainiert. Über eine Reihe von Testdaten ermittelt Kitano dann die Summe der quadrierten Fehler E. Als Fitnessmaß verwendet er 1/E, so dass höhere Fitness, besserer Netzleistung entspricht. Nachteilig an solchen indirekten Codierungsschemata ist, dass sie nicht geeignet sind, um Einzelheiten der Netzarchitektur zu optimieren. 23

Grundlagen und Basisalgorithmus

Grundlagen und Basisalgorithmus Grundlagen und Basisalgorithmus Proseminar -Genetische Programmierung- Dezember 2001 David König Quelle: Kinnebrock W.: Optimierung mit genetischen und selektiven Algorithmen. München, Wien: Oldenbourg

Mehr

Was bisher geschah. Lernen: überwachtes Lernen. biologisches Vorbild neuronaler Netze: unüberwachtes Lernen

Was bisher geschah. Lernen: überwachtes Lernen. biologisches Vorbild neuronaler Netze: unüberwachtes Lernen Was bisher geschah Lernen: überwachtes Lernen korrigierendes Lernen bestärkendes Lernen unüberwachtes Lernen biologisches Vorbild neuronaler Netze: Neuron (Zellkörper, Synapsen, Axon) und Funktionsweise

Mehr

Codierungstheorie Rudolf Scharlau, SoSe 2006 9

Codierungstheorie Rudolf Scharlau, SoSe 2006 9 Codierungstheorie Rudolf Scharlau, SoSe 2006 9 2 Optimale Codes Optimalität bezieht sich auf eine gegebene Quelle, d.h. eine Wahrscheinlichkeitsverteilung auf den Symbolen s 1,..., s q des Quellalphabets

Mehr

Machine Learning - Maschinen besser als das menschliche Gehirn?

Machine Learning - Maschinen besser als das menschliche Gehirn? Machine Learning - Maschinen besser als das menschliche Gehirn? Seminar Big Data Science Tobias Stähle 23. Mai 2014 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der

Mehr

Zeichnen von Graphen. graph drawing

Zeichnen von Graphen. graph drawing Zeichnen von Graphen graph drawing WS 2006 / 2007 Gruppe: D_rot_Ala0607 Christian Becker 11042315 Eugen Plischke 11042351 Vadim Filippov 11042026 Gegeben sei ein Graph G = (V; E) Problemstellung V E =

Mehr

6. Bayes-Klassifikation. (Schukat-Talamazzini 2002)

6. Bayes-Klassifikation. (Schukat-Talamazzini 2002) 6. Bayes-Klassifikation (Schukat-Talamazzini 2002) (Böhm 2003) (Klawonn 2004) Der Satz von Bayes: Beweis: Klassifikation mittels des Satzes von Bayes (Klawonn 2004) Allgemeine Definition: Davon zu unterscheiden

Mehr

Elemente der Analysis II

Elemente der Analysis II Elemente der Analysis II Kapitel 3: Lineare Abbildungen und Gleichungssysteme Informationen zur Vorlesung: http://www.mathematik.uni-trier.de/ wengenroth/ J. Wengenroth () 15. Mai 2009 1 / 35 3.1 Beispiel

Mehr

Neuronale Netze, Fuzzy Control, Genetische Algorithmen. Prof. Jürgen Sauer. 5. Aufgabenblatt: Neural Network Toolbox 1

Neuronale Netze, Fuzzy Control, Genetische Algorithmen. Prof. Jürgen Sauer. 5. Aufgabenblatt: Neural Network Toolbox 1 Neuronale Netze, Fuzzy Control, Genetische Algorithmen Prof. Jürgen Sauer 5. Aufgabenblatt: Neural Network Toolbox 1 A. Mit Hilfe der GUI vom Neural Network erstelle die in den folgenden Aufgaben geforderten

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine

Mehr

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element

Mehr

Künstliche Intelligenz Dirk Krechel SS 2009

Künstliche Intelligenz Dirk Krechel SS 2009 Künstliche Intelligenz Dirk Krechel SS 2009 Überblick über das Modul 1. Einführung 2. Symbolische Verfahren Logik Aussagenlogik Prädikatenlogik Horn Logik Prolog 3. Suchen und Bewerten Problemlösen durch

Mehr

Binäre lineare Optimierung mit K*BMDs p.1/42

Binäre lineare Optimierung mit K*BMDs p.1/42 Binäre lineare Optimierung mit K*BMDs Ralf Wimmer wimmer@informatik.uni-freiburg.de Institut für Informatik Albert-Ludwigs-Universität Freiburg Binäre lineare Optimierung mit K*BMDs p.1/42 Grundlagen Binäre

Mehr

OPERATIONS-RESEARCH (OR)

OPERATIONS-RESEARCH (OR) OPERATIONS-RESEARCH (OR) Man versteht darunter die Anwendung mathematischer Methoden und Modelle zur Vorbereitung optimaler Entscheidungen bei einem Unternehmen. Andere deutsche und englische Bezeichnungen:

Mehr

4. Relationen. Beschreibung einer binären Relation

4. Relationen. Beschreibung einer binären Relation 4. Relationen Relationen spielen bei Datenbanken eine wichtige Rolle. Die meisten Datenbanksysteme sind relational. 4.1 Binäre Relationen Eine binäre Relation (Beziehung) R zwischen zwei Mengen A und B

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

Zum Einsatz von Operatoren im Informatikunterricht

Zum Einsatz von Operatoren im Informatikunterricht Friedrich-Schiller-Universität Jena Fakultät für Mathematik und Informatik Professur für Didaktik der Informatik/Mathematik Claudia Strödter E-Mail: claudia.stroedter@uni-jena.de Zum Einsatz von Operatoren

Mehr

Ohne Mathematik undenkbar!

Ohne Mathematik undenkbar! Die tägliche - Suche: Ohne Mathematik undenkbar! Dipl.-Wirt.Math. Jan Maruhn FB IV - Mathematik Universität Trier 29. März 2006 29. März 2006 Seite 1 Gliederung Einleitung und Motivation Das Internet als

Mehr

Umsetzung von DEA in Excel

Umsetzung von DEA in Excel Umsetzung von DEA in Excel Thorsten Poddig Armin Varmaz 30. November 2005 1 Vorbemerkungen In diesem Dokument, das als Begleitmaterial zum in der Zeitschrift,,Controlling, Heft 10, 2005 veröffentlichten

Mehr

Graphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011

Graphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011 Graphen: Einführung Vorlesung Mathematische Strukturen Zum Ende der Vorlesung beschäftigen wir uns mit Graphen. Graphen sind netzartige Strukturen, bestehend aus Knoten und Kanten. Sommersemester 20 Prof.

Mehr

Teil II. Nichtlineare Optimierung

Teil II. Nichtlineare Optimierung Teil II Nichtlineare Optimierung 60 Kapitel 1 Einleitung In diesem Abschnitt wird die Optimierung von Funktionen min {f(x)} x Ω betrachtet, wobei Ω R n eine abgeschlossene Menge und f : Ω R eine gegebene

Mehr

Informatik-Sommercamp 2012. Mastermind mit dem Android SDK

Informatik-Sommercamp 2012. Mastermind mit dem Android SDK Mastermind mit dem Android SDK Übersicht Einführungen Mastermind und Strategien (Stefan) Eclipse und das ADT Plugin (Jan) GUI-Programmierung (Dominik) Mastermind und Strategien - Übersicht Mastermind Spielregeln

Mehr

Seminararbeit für das SE Reine Mathematik- Graphentheorie

Seminararbeit für das SE Reine Mathematik- Graphentheorie Seminararbeit für das SE Reine Mathematik- Graphentheorie Der binäre Rang, der symplektische Graph, die Spektralzerlegung und rationale Funktionen Vortrag am 24.01.2012 Heike Farkas 0410052 Inhaltsverzeichnis

Mehr

13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems

13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems 13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems 13.1 Modellierung des Rucksackproblems 13.2 Lösung mit Greedy-Algorithmus 13.3 Lösung mit Backtracking 13.4 Lösung mit Dynamischer Programmierung

Mehr

Einführung in die Informatik Grammars & Parsers

Einführung in die Informatik Grammars & Parsers Einführung in die Informatik Grammars & Parsers Grammatiken, Parsen von Texten Wolfram Burgard Cyrill Stachniss 12.1 Einleitung Wir haben in den vorangehenden Kapiteln meistens vollständige Java- Programme

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Algorithmen und deren Programmierung Prof. Dr. Nikolaus Wulff Definition Algorithmus Ein Algorithmus ist eine präzise formulierte Handlungsanweisung zur Lösung einer gleichartigen

Mehr

Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz

Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz Datenstruktur BDD 1986 von R. Bryant vorgeschlagen zur Darstellung von aussagenlogischen Formeln (genauer: Booleschen Funktionen)

Mehr

Artificial Life und Multiagentensysteme

Artificial Life und Multiagentensysteme Vortrag im Rahmen des Seminars: Artificial Life und Multiagentensysteme Prof. Dr. Winfried Kurth Sommersemester 2003 Prognose von Zeitreihen mit GA/GP Mathias Radicke, Informatikstudent, 10. Semester Gliederung

Mehr

Entscheidungsprobleme. Berechenbarkeit und Komplexität Entscheidbarkeit und Unentscheidbarkeit. Die Entscheidbarkeit von Problemen

Entscheidungsprobleme. Berechenbarkeit und Komplexität Entscheidbarkeit und Unentscheidbarkeit. Die Entscheidbarkeit von Problemen Berechenbarkeit und Komlexität Entscheidbarkeit und Unentscheidbarkeit Wolfgang Schreiner Wolfgang.Schreiner@risc.uni-linz.ac.at Research Institute for Symbolic Comutation (RISC) Johannes Keler University,

Mehr

ax 2 + bx + c = 0, (4.1)

ax 2 + bx + c = 0, (4.1) Kapitel 4 Komplexe Zahlen Wenn wir uns auf die reellen Zahlen beschränken, ist die Operation des Wurzelziehens (also die Umkehrung der Potenzierung) nicht immer möglich. Zum Beispiel können wir nicht die

Mehr

Kapitel 3. Zufallsvariable. Wahrscheinlichkeitsfunktion, Dichte und Verteilungsfunktion. Erwartungswert, Varianz und Standardabweichung

Kapitel 3. Zufallsvariable. Wahrscheinlichkeitsfunktion, Dichte und Verteilungsfunktion. Erwartungswert, Varianz und Standardabweichung Kapitel 3 Zufallsvariable Josef Leydold c 2006 Mathematische Methoden III Zufallsvariable 1 / 43 Lernziele Diskrete und stetige Zufallsvariable Wahrscheinlichkeitsfunktion, Dichte und Verteilungsfunktion

Mehr

Das in diesem Werk enthaltene Programm-Material ist mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden.

Das in diesem Werk enthaltene Programm-Material ist mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden. Zusatzmaterial zum Buch "Algorithmen kompakt und verständlich" Das in diesem Werk enthaltene Programm-Material ist mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden. Der Autor übernimmt

Mehr

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Kürzeste Wege in Graphen Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Gliederung Einleitung Definitionen Algorithmus von Dijkstra Bellmann-Ford Algorithmus Floyd-Warshall Algorithmus

Mehr

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt - 17 - Die Frage ist hier also: Für welche x R gilt x = x + 1? Das ist eine quadratische Gleichung für x. Es gilt x = x + 1 x x 3 = 0, und man kann quadratische Ergänzung machen:... ( ) ( ) x x + = 3 +

Mehr

Numerisches Programmieren

Numerisches Programmieren Technische Universität München SS 2012 Institut für Informatik Prof Dr Thomas Huckle Dipl-Inf Christoph Riesinger Dipl-Math Alexander Breuer Dipl-Math Dipl-Inf Jürgen Bräckle Dr-Ing Markus Kowarschik Numerisches

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Ausarbeitung zum Thema Approximationsalgorithmen im Rahmen des Fachseminars 24. Juli 2009 Robert Bahmann robert.bahmann@gmail.com FH Wiesbaden Erstellt von: Robert Bahmann Zuletzt berarbeitet von: Robert

Mehr

Kodierungsalgorithmen

Kodierungsalgorithmen Kodierungsalgorithmen Komprimierung Verschlüsselung Komprimierung Zielsetzung: Reduktion der Speicherkapazität Schnellere Übertragung Prinzipien: Wiederholungen in den Eingabedaten kompakter speichern

Mehr

Einführung in die Vektor- und Matrizenrechnung. Matrizen

Einführung in die Vektor- und Matrizenrechnung. Matrizen Einführung in die Vektor- und Matrizenrechnung Matrizen Definition einer Matrix Unter einer (reellen) m x n Matrix A versteht man ein rechteckiges Schema aus reellen Zahlen, die wie folgt angeordnet sind:

Mehr

Vorlesung. Funktionen/Abbildungen 1

Vorlesung. Funktionen/Abbildungen 1 Vorlesung Funktionen/Abbildungen 1 1 Grundlagen Hinweis: In dieser Vorlesung werden Funktionen und Abbildungen synonym verwendet. In der Schule wird eine Funktion häufig als eindeutige Zuordnung definiert.

Mehr

Arbeiten mit Arrays. 4.1 Eigenschaften. 4.1.1 Schlüssel und Element. Kapitel 4

Arbeiten mit Arrays. 4.1 Eigenschaften. 4.1.1 Schlüssel und Element. Kapitel 4 Arbeiten mit s Eine effiziente Programmierung mit PHP ohne seine s ist kaum vorstellbar. Diese Datenstruktur muss man verstanden haben, sonst brauchen wir mit weitergehenden Programmiertechniken wie der

Mehr

34 5. FINANZMATHEMATIK

34 5. FINANZMATHEMATIK 34 5. FINANZMATHEMATIK 5. Finanzmathematik 5.1. Ein einführendes Beispiel Betrachten wir eine ganz einfache Situation. Wir haben einen Markt, wo es nur erlaubt ist, heute und in einem Monat zu handeln.

Mehr

Standardisierte kompetenzorientierte schriftliche Reifeprüfung. Mathematik. Probeklausur März 2014. Teil-1-Aufgaben

Standardisierte kompetenzorientierte schriftliche Reifeprüfung. Mathematik. Probeklausur März 2014. Teil-1-Aufgaben Standardisierte kompetenzorientierte schriftliche Reifeprüfung Mathematik Probeklausur März 2014 Teil-1-Aufgaben Beurteilung Jede Aufgabe in Teil 1 wird mit 0 oder 1 Punkt bewertet, jede Teilaufgabe in

Mehr

Perzentile mit Hadoop ermitteln

Perzentile mit Hadoop ermitteln Perzentile mit Hadoop ermitteln Ausgangspunkt Ziel dieses Projektes war, einen Hadoop Job zu entwickeln, der mit Hilfe gegebener Parameter Simulationen durchführt und aus den Ergebnissen die Perzentile

Mehr

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5) Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff

Mehr

3. Entscheidungsbäume. Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002)

3. Entscheidungsbäume. Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002) 3. Entscheidungsbäume Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002) (aus Wilhelm 2001) Beispiel: (aus Böhm 2003) Wann sind Entscheidungsbäume

Mehr

Einführung in. Neuronale Netze

Einführung in. Neuronale Netze Grundlagen Neuronale Netze Einführung in Neuronale Netze Grundlagen Neuronale Netze Zusammengestellt aus: Universität Münster: Multimediales Skript Internetpräsentation der MFH Iserlohn (000) U. Winkler:

Mehr

(künstliche) Neuronale Netze. (c) Till Hänisch 2003,2015, DHBW Heidenheim

(künstliche) Neuronale Netze. (c) Till Hänisch 2003,2015, DHBW Heidenheim (künstliche) Neuronale Netze (c) Till Hänisch 2003,2015, DHBW Heidenheim Literatur zusätzlich zum Lit. Verz. Michael Negnevitsky, Artificial Intelligence, Addison Wesley 2002 Aufbau des Gehirns Säugetiergehirn,

Mehr

Eine Abfrage (Query) ist in Begriffe und Operatoren unterteilt. Es gibt zwei verschiedene Arten von Begriffen: einzelne Begriffe und Phrasen.

Eine Abfrage (Query) ist in Begriffe und Operatoren unterteilt. Es gibt zwei verschiedene Arten von Begriffen: einzelne Begriffe und Phrasen. Lucene Hilfe Begriffe Eine Abfrage (Query) ist in Begriffe und Operatoren unterteilt. Es gibt zwei verschiedene Arten von Begriffen: einzelne Begriffe und Phrasen. Ein einzelner Begriff ist ein einzelnes

Mehr

16. All Pairs Shortest Path (ASPS)

16. All Pairs Shortest Path (ASPS) . All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e

Mehr

Seminararbeit zum Thema Genetische Algorithmen

Seminararbeit zum Thema Genetische Algorithmen Seminararbeit zum Thema Genetische Algorithmen Seminar in Intelligent Management Models in Transportation und Logistics am Institut für Informatik-Systeme Lehrstuhl Verkehrsinformatik Univ.-Prof. Dr.-Ing.

Mehr

Programmiertechnik II

Programmiertechnik II Analyse von Algorithmen Algorithmenentwurf Algorithmen sind oft Teil einer größeren Anwendung operieren auf Daten der Anwendung, sollen aber unabhängig von konkreten Typen sein Darstellung der Algorithmen

Mehr

Binäre Suchbäume (binary search trees, kurz: bst)

Binäre Suchbäume (binary search trees, kurz: bst) Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.

Mehr

PIWIN 1 Übung Blatt 5

PIWIN 1 Übung Blatt 5 Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:

Mehr

1. Grundlegende Konzepte der Informatik

1. Grundlegende Konzepte der Informatik 1. Grundlegende Konzepte der Informatik Inhalt Algorithmen Darstellung von Algorithmen mit Programmablaufplänen Beispiele für Algorithmen Aussagenlogik Zahlensysteme Kodierung Peter Sobe 1 Algorithmen

Mehr

Zahlensysteme. Digitale Rechner speichern Daten im Dualsystem 435 dez = 1100110011 binär

Zahlensysteme. Digitale Rechner speichern Daten im Dualsystem 435 dez = 1100110011 binär Zahlensysteme Menschen nutzen zur Angabe von Werten und zum Rechnen vorzugsweise das Dezimalsystem Beispiel 435 Fische aus dem Teich gefischt, d.h. 4 10 2 + 3 10 1 +5 10 0 Digitale Rechner speichern Daten

Mehr

Codierung, Codes (variabler Länge)

Codierung, Codes (variabler Länge) Codierung, Codes (variabler Länge) A = {a, b, c,...} eine endliche Menge von Nachrichten (Quellalphabet) B = {0, 1} das Kanalalphabet Eine (binäre) Codierung ist eine injektive Abbildung Φ : A B +, falls

Mehr

Stefan Lucks Krypto und Mediensicherheit (2009) 4: Stromchiffren

Stefan Lucks Krypto und Mediensicherheit (2009) 4: Stromchiffren 4: Stromchiffren Zwei Grundbausteine der symmetrischen Kryptographie: Stromchiffren Verschlüsseln beliebig langer Klartexte, interner Zustand Blockchiffren Verschlüsseln von Blocks einer festen Größe,

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

Der Bipolar-Transistor und die Emitterschaltung Gruppe B412

Der Bipolar-Transistor und die Emitterschaltung Gruppe B412 TECHNISCHE UNIVERSITÄT MÜNCHEN Der Bipolar-Transistor und die Emitterschaltung Gruppe B412 Patrick Christ und Daniel Biedermann 16.10.2009 1. INHALTSVERZEICHNIS 1. INHALTSVERZEICHNIS... 2 2. AUFGABE 1...

Mehr

3 Variablen. 3.1 Allgemeines. 3.2 Definition und Verwendung von Variablen

3 Variablen. 3.1 Allgemeines. 3.2 Definition und Verwendung von Variablen 3 Variablen 3.1 Allgemeines Variablen werden in Prozeduren, Mustern und Parameter-Dokumenten definiert und verwendet und bei der Jobgenerierung durch die Werte, die ihnen zugewiesen werden, ersetzt. Variablen

Mehr

7.4 Analyse anhand der SQL-Trace. 7.3.5 Vorabanalyse mit dem Code Inspector

7.4 Analyse anhand der SQL-Trace. 7.3.5 Vorabanalyse mit dem Code Inspector 7.4 Analyse anhand der SQL-Trace 337 7.3.5 Vorabanalyse mit dem Code Inspector Der Code Inspector (SCI) wurde in den vorangegangenen Kapiteln immer wieder erwähnt. Er stellt ein paar nützliche Prüfungen

Mehr

klar. Um die zweite Bedingung zu zeigen, betrachte u i U i mit u i = 0. Das mittlere -Zeichen liefert s

klar. Um die zweite Bedingung zu zeigen, betrachte u i U i mit u i = 0. Das mittlere -Zeichen liefert s Nachtrag zur allgemeinen Vektorraum-Theorie. 1.5.15. Direkte Summen. Sei V ein Vektorraum, seien U 1,..., U t Unterräume, wir schreiben V = U 1 U 2 U t = t i=1 U i falls die folgenden beiden Bedingungen

Mehr

Formelsammlung. Wahrscheinlichkeit und Information

Formelsammlung. Wahrscheinlichkeit und Information Formelsammlung Wahrscheinlichkeit und Information Ein Ereignis x trete mit der Wahrscheinlichkeit p(x) auf, dann ist das Auftreten dieses Ereignisses verbunden mit der Information I( x): mit log 2 (z)

Mehr

Codierung. Auszug aus dem Skript von Maciej Liśkiewicz und Henning Fernau

Codierung. Auszug aus dem Skript von Maciej Liśkiewicz und Henning Fernau Codierung Auszug aus dem Skript von Maciej Liśkiewicz und Henning Fernau Ein bisschen Informationstheorie Betrachten wir das folgende Problem: Wie lautet eine sinnvolle Definition für das quantitative

Mehr

Synthese Eingebetteter Systeme. 16 Abbildung von Anwendungen: Optimierung mit DOL

Synthese Eingebetteter Systeme. 16 Abbildung von Anwendungen: Optimierung mit DOL 12 Synthese Eingebetteter Systeme Sommersemester 2011 16 Abbildung von Anwendungen: Optimierung mit DOL 2011/06/24 Michael Engel Informatik 12 TU Dortmund unter Verwendung von Foliensätzen von Prof. Lothar

Mehr

ABITURPRÜFUNG 2009 LEISTUNGSFACH INFORMATIK

ABITURPRÜFUNG 2009 LEISTUNGSFACH INFORMATIK ABITURPRÜFUNG 2009 LEISTUNGSFACH INFORMATIK (HAUPTTERMIN) Bearbeitungszeit: 270 Minuten Hilfsmittel: Wörterbuch zur deutschen Rechtschreibung Taschenrechner (nicht programmierbar, nicht grafikfähig) (Schüler,

Mehr

Grundlagen der Informationverarbeitung

Grundlagen der Informationverarbeitung Grundlagen der Informationverarbeitung Information wird im Computer binär repräsentiert. Die binär dargestellten Daten sollen im Computer verarbeitet werden, d.h. es müssen Rechnerschaltungen existieren,

Mehr

Neuerungen Analysis Services

Neuerungen Analysis Services Neuerungen Analysis Services Neuerungen Analysis Services Analysis Services ermöglicht Ihnen das Entwerfen, Erstellen und Visualisieren von Data Mining-Modellen. Diese Mining-Modelle können aus anderen

Mehr

Der Huffman Algorithmus

Der Huffman Algorithmus Der Huffman Algorithmus Für das Folgende setzen wir voraus, dass die Quellensymbole q ν einem Alphabet {q μ } = {A, B, C,...} mit dem Symbolumfang M entstammen und statistisch voneinander unabhängig seien.

Mehr

Mustererkennung mit Baumautomaten

Mustererkennung mit Baumautomaten Mustererkennung mit Baumautomaten Eine Ausarbeitung von Gisse Alvarado für das Seminar Mustererkennung mit syntaktischen und graphbasierten Methoden bei Prof. Dr. W. Kurth/ Th. Mangoldt Cottbus 2006 Inhalt

Mehr

Einführung in die Kodierungstheorie

Einführung in die Kodierungstheorie Einführung in die Kodierungstheorie Einführung Vorgehen Beispiele Definitionen (Code, Codewort, Alphabet, Länge) Hamming-Distanz Definitionen (Äquivalenz, Coderate, ) Singleton-Schranke Lineare Codes Hamming-Gewicht

Mehr

Thema: Risikomanagement

Thema: Risikomanagement 1.1. Risikomanagement Eine der elementarsten Anforderungen an die Projektplanung ist, durch zielgerichtete Planung mögliche Risiken, die den Projekterfolg in Frage stellen, zu identifizieren und präventiv

Mehr

Freiherr-vom-Stein Schule Fach: Mathematik Herr Pfaffenbach. Logistisches Wachstum. am Beispiel einer Hefekultur

Freiherr-vom-Stein Schule Fach: Mathematik Herr Pfaffenbach. Logistisches Wachstum. am Beispiel einer Hefekultur Freiherr-vom-Stein Schule Fach: Mathematik Herr Pfaffenbach Logistisches Wachstum am Beispiel einer Hefekultur 16.04.2012 Inhaltsverzeichnis 1.0 Vorwort...3 2.0 Logistisches Wachstum allgemein...4 2.1

Mehr

Künstliches binäres Neuron

Künstliches binäres Neuron Künstliches binäres Neuron G.Döben-Henisch Fachbereich Informatik und Ingenieurwissenschaften FH Frankfurt am Main University of Applied Sciences D-60318 Frankfurt am Main Germany Email: doeben at fb2.fh-frankfurt.de

Mehr

Binäre Bäume Darstellung und Traversierung

Binäre Bäume Darstellung und Traversierung Binäre Bäume Darstellung und Traversierung Name Frank Bollwig Matrikel-Nr. 2770085 E-Mail fb641378@inf.tu-dresden.de Datum 15. November 2001 0. Vorbemerkungen... 3 1. Terminologie binärer Bäume... 4 2.

Mehr

Sprechen wir über Zahlen (Karl-Heinz Wolff)

Sprechen wir über Zahlen (Karl-Heinz Wolff) Sprechen wir über Zahlen (Karl-Heinz Wolff) Die Überschrift ist insoweit irreführend, als der Autor ja schreibt und nicht mit dem Leser spricht. Was Mathematik im allgemeinen und Zahlen im besonderen betrifft,

Mehr

3. Spezielle ER-Modelle und Tabellenableitung. Transformation von ER-Diagrammen in Relationen

3. Spezielle ER-Modelle und Tabellenableitung. Transformation von ER-Diagrammen in Relationen 3. Spezielle ER-Modelle und Tabellenableitung Spezialfälle von ER-Modellen Grundlage, was sind Relationen Transformation von ER-Diagrammen in Relationen 56 Lesebeispiel Access (Realisierungmodell!) 57

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Überblick Grundlagen Definitionen Elementare Datenstrukturen Rekursionen Bäume 2 1 Datenstruktur Baum Definition eines Baumes

Mehr

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie und, oder, nicht, wenn... dann zwischen atomaren und komplexen Sätzen. I. Aussagenlogik 2.1 Syntax Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen. Sätze selbst sind entweder wahr oder falsch. Ansonsten

Mehr

3. Zusammenhang. 22 Andreas Gathmann

3. Zusammenhang. 22 Andreas Gathmann 22 Andreas Gathmann 3. Zusammenhang Eine der anschaulichsten Eigenschaften eines topologischen Raumes ist wahrscheinlich, ob er zusammenhängend ist oder aus mehreren Teilen besteht. Wir wollen dieses Konzept

Mehr

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r ) Definition B : Menge der binären Bäume, rekursiv definiert durch die Regeln: ist ein binärer Baum sind t l, t r binäre Bäume, so ist auch t =, t l, t r ein binärer Baum nur das, was durch die beiden vorigen

Mehr

syntax.tex Eine Übersicht

syntax.tex Eine Übersicht syntax.tex Eine Übersicht Bernd Worsch 7. Juli 1997 Inhaltsverzeichnis 1 Einleitung 1 2 Bevor es funktioniert... 1 3 Grundelemente von syntax.tex 1 4 Strukturelemente von syntax.tex 3 5 Setzen von Syntaxdiagrammen

Mehr

Die quadratische Gleichung und die quadratische Funktion

Die quadratische Gleichung und die quadratische Funktion Die quadratische Gleichung und die quadratische Funktion 1. Lösen einer quadratischen Gleichung Quadratische Gleichungen heißen alle Gleichungen der Form a x x c = 0, woei a,, c als Parameter elieige reelle

Mehr

Verfahren zur Berechnung von Routen zur Gewährleistung von Ende-zu-Ende QoS

Verfahren zur Berechnung von Routen zur Gewährleistung von Ende-zu-Ende QoS Verfahren zur Berechnung von Routen zur Gewährleistung von Ende-zu-Ende QoS Dezember 007 Dipl.-Ing. Stefan Abu Salah Dipl.-Ing. Achim Marikar QoS (Quality of Service): Sicherstellung der Qualität Zeitkritische

Mehr

Extrema von Funktionen in zwei Variablen

Extrema von Funktionen in zwei Variablen Wirtschaftswissenschaftliches Zentrum Universität Basel Mathematik für Ökonomen 1 Dr. Thomas Zehrt Extrema von Funktionen in zwei Variablen Literatur: Gauglhofer, M. und Müller, H.: Mathematik für Ökonomen,

Mehr

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens Mathematische Grundlagen der Kryptographie 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe Stefan Brandstädter Jennifer Karstens 18. Januar 2005 Inhaltsverzeichnis 1 Ganze Zahlen 1 1.1 Grundlagen............................

Mehr

Sequentielle Logik. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck

Sequentielle Logik. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck Sequentielle Logik Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck Übersicht Schaltwerke Flip-Flops Entwurf eines Schaltwerks Zähler Realisierung Sequentielle

Mehr

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen Austausch- bzw. Übergangsrozesse und Gleichgewichtsverteilungen Wir betrachten ein System mit verschiedenen Zuständen, zwischen denen ein Austausch stattfinden kann. Etwa soziale Schichten in einer Gesellschaft:

Mehr

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes Programmieren für Ingenieure Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen

Mehr

Informatik II Bäume. Beispiele. G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de. Stammbaum. Stammbaum. Stammbaum

Informatik II Bäume. Beispiele. G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de. Stammbaum. Stammbaum. Stammbaum lausthal Beispiele Stammbaum Informatik II. Zachmann lausthal University, ermany zach@in.tu-clausthal.de. Zachmann Informatik - SS 06 Stammbaum Stammbaum / Parse tree, Rekursionsbaum Parse tree, Rekursionsbaum

Mehr

Theoretische Grundlagen der Informatik WS 09/10

Theoretische Grundlagen der Informatik WS 09/10 Theoretische Grundlagen der Informatik WS 09/10 - Tutorium 6 - Michael Kirsten und Kai Wallisch Sitzung 13 02.02.2010 Inhaltsverzeichnis 1 Formeln zur Berechnung Aufgabe 1 2 Hamming-Distanz Aufgabe 2 3

Mehr

Ausarbeitung des Interpreter Referats

Ausarbeitung des Interpreter Referats Ausarbeitung des Interpreter Referats Gliederung 1. Programmiersprache 1.2. Syntax 1.2.1. Konkrete Syntax 1.2.2. Abstrakter Syntax Baum (Abstrakte Syntax) 2. Parser 2.1. Syntaktische Struktur einer Sprache

Mehr

RSA Verfahren. Kapitel 7 p. 103

RSA Verfahren. Kapitel 7 p. 103 RSA Verfahren RSA benannt nach den Erfindern Ron Rivest, Adi Shamir und Leonard Adleman war das erste Public-Key Verschlüsselungsverfahren. Sicherheit hängt eng mit der Schwierigkeit zusammen, große Zahlen

Mehr

Single Parity check Codes (1)

Single Parity check Codes (1) Single Parity check Codes (1) Der Single Parity check Code (SPC) fügt zu dem Informationsblock u = (u 1, u 2,..., u k ) ein Prüfbit (englisch: Parity) p hinzu: Die Grafik zeigt drei Beispiele solcher Codes

Mehr

Grundlagen der Verwendung von make

Grundlagen der Verwendung von make Kurzskript zum Thema: Grundlagen der Verwendung von make Stefan Junghans Gregor Gilka 16. November 2012 1 Einleitung In diesem Teilskript sollen die Grundlagen der Verwendung des Programmes make und der

Mehr

Algorithmen und Datenstrukturen Balancierte Suchbäume

Algorithmen und Datenstrukturen Balancierte Suchbäume Algorithmen und Datenstrukturen Balancierte Suchbäume Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Überblick Einführung Einfügen und Löschen Einfügen

Mehr

Computer Vision: Optische Flüsse

Computer Vision: Optische Flüsse Computer Vision: Optische Flüsse D. Schlesinger TUD/INF/KI/IS Bewegungsanalyse Optischer Fluss Lokale Verfahren (Lukas-Kanade) Globale Verfahren (Horn-Schunck) (+ kontinuierliche Ansätze: mathematische

Mehr

Aufabe 7: Baum-Welch Algorithmus

Aufabe 7: Baum-Welch Algorithmus Effiziente Algorithmen VU Ausarbeitung Aufabe 7: Baum-Welch Algorithmus Florian Fest, Matr. Nr.0125496 baskit@generationfun.at Claudia Hermann, Matr. Nr.0125532 e0125532@stud4.tuwien.ac.at Matteo Savio,

Mehr

Technische Informatik - Eine Einführung

Technische Informatik - Eine Einführung Martin-Luther-Universität Halle-Wittenberg Fachbereich Mathematik und Informatik Lehrstuhl für Technische Informatik Prof. P. Molitor Ausgabe: 2005-02-21 Abgabe: 2005-02-21 Technische Informatik - Eine

Mehr

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können. 6. Bäume Lernziele 6. Bäume Lernziele: Definition und Eigenschaften binärer Bäume kennen, Traversierungsalgorithmen für binäre Bäume implementieren können, die Bedeutung von Suchbäumen für die effiziente

Mehr

Rekursionen (Teschl/Teschl 8.1-8.2)

Rekursionen (Teschl/Teschl 8.1-8.2) Rekursionen (Teschl/Teschl 8.1-8.2) Eine Rekursion kter Ordnung für k N ist eine Folge x 1, x 2, x 3,... deniert durch eine Rekursionsvorschrift x n = f n (x n 1,..., x n k ) für n > k, d. h. jedes Folgenglied

Mehr