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 Aufbau von neuronalen Netzen

Grundlagen und Aufbau von neuronalen Netzen Grundlagen und Aufbau von neuronalen Netzen Künstliche neuronale Netze (KNN) modellieren auf stark vereinfachte Weise Organisationsprinzipien und Abläufe biologischer neuronaler Netze Jedes KNN besteht

Mehr

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

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik Kurt Mehlhorn

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik Kurt Mehlhorn Maschinelles Lernen: Neuronale Netze Ideen der Informatik Kurt Mehlhorn 16. Januar 2014 Übersicht Stand der Kunst im Bilderverstehen: Klassifizieren und Suchen Was ist ein Bild in Rohform? Biologische

Mehr

Structurally Evolved Neural Networks for Forecasting

Structurally Evolved Neural Networks for Forecasting Structurally Evolved Neural Networks for Forecasting - Strukturierte neuronale Netze für Vorhersagen Institut für Informatik - Ausgewählte Kapitel aus dem Bereich Softcomputing Agenda Grundlagen Neuronale

Mehr

Praktikum Computational Intelligence 2 Ulrich Lehmann, Johannes Brenig, Michael Schneider

Praktikum Computational Intelligence 2 Ulrich Lehmann, Johannes Brenig, Michael Schneider Praktikum Computational Intelligence 2 Ulrich Lehmann, Johannes Brenig, Michael Schneider Versuch: Training des XOR-Problems mit einem Künstlichen Neuronalen Netz (KNN) in JavaNNS 11.04.2011 2_CI2_Deckblatt_XORbinaer_JNNS_2

Mehr

Neuronale Netze (I) Biologisches Neuronales Netz

Neuronale Netze (I) Biologisches Neuronales Netz Neuronale Netze (I) Biologisches Neuronales Netz Im menschlichen Gehirn ist ein Neuron mit bis zu 20.000 anderen Neuronen verbunden. Milliarden von Neuronen beteiligen sich simultan an der Verarbeitung

Mehr

Neuronale Netze mit mehreren Schichten

Neuronale Netze mit mehreren Schichten Neuronale Netze mit mehreren Schichten Lehrstuhl für Künstliche Intelligenz Institut für Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg (Lehrstuhl Informatik 8) Neuronale Netze mit mehreren

Mehr

Was bisher geschah Künstliche Neuronen: Mathematisches Modell und Funktionen: Eingabe-, Aktivierungs- Ausgabefunktion Boolesche oder reelle Ein-und

Was bisher geschah Künstliche Neuronen: Mathematisches Modell und Funktionen: Eingabe-, Aktivierungs- Ausgabefunktion Boolesche oder reelle Ein-und Was bisher geschah Künstliche Neuronen: Mathematisches Modell und Funktionen: Eingabe-, Aktivierungs- Ausgabefunktion Boolesche oder reelle Ein-und Ausgaben Aktivierungsfunktionen: Schwellwertfunktion

Mehr

Kohonennetze Selbstorganisierende Karten

Kohonennetze Selbstorganisierende Karten Kohonennetze Selbstorganisierende Karten Julian Rith, Simon Regnet, Falk Kniffka Seminar: Umgebungsexploration und Wegeplanung mit Robotern Kohonennetze: Neuronale Netze In Dendriten werden die ankommenden

Mehr

3 Quellencodierung. 3.1 Einleitung

3 Quellencodierung. 3.1 Einleitung Source coding is what Alice uses to save money on her telephone bills. It is usually used for data compression, in other words, to make messages shorter. John Gordon 3 Quellencodierung 3. Einleitung Im

Mehr

Einführung in neuronale Netze

Einführung in neuronale Netze Einführung in neuronale Netze Florian Wenzel Neurorobotik Institut für Informatik Humboldt-Universität zu Berlin 1. Mai 2012 1 / 20 Überblick 1 Motivation 2 Das Neuron 3 Aufbau des Netzes 4 Neuronale Netze

Mehr

5 Eigenwerte und die Jordansche Normalform

5 Eigenwerte und die Jordansche Normalform Mathematik für Physiker II, SS Mittwoch 8.6 $Id: jordan.tex,v.6 /6/7 8:5:3 hk Exp hk $ 5 Eigenwerte und die Jordansche Normalform 5.4 Die Jordansche Normalform Wir hatten bereits erwähnt, dass eine n n

Mehr

Softcomputing Biologische Prinzipien in der Informatik. Neuronale Netze. Dipl. Math. Maria Oelinger Dipl. Inform. Gabriele Vierhuff IF TIF 08 2003

Softcomputing Biologische Prinzipien in der Informatik. Neuronale Netze. Dipl. Math. Maria Oelinger Dipl. Inform. Gabriele Vierhuff IF TIF 08 2003 Softcomputing Biologische Prinzipien in der Informatik Neuronale Netze Dipl. Math. Maria Oelinger Dipl. Inform. Gabriele Vierhuff IF TIF 08 2003 Überblick Motivation Biologische Grundlagen und ihre Umsetzung

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

Selbstorganisierende Karten

Selbstorganisierende Karten Selbstorganisierende Karten Yacin Bessas yb1@informatik.uni-ulm.de Proseminar Neuronale Netze 1 Einleitung 1.1 Kurzüberblick Die Selbstorganisierenden Karten, auch Self-Organizing (Feature) Maps, Kohonen-

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

Computational Intelligence I Künstliche Neuronale Netze

Computational Intelligence I Künstliche Neuronale Netze Computational Intelligence I Künstliche Neuronale Nete Universität Dortmund, Informatik I Otto-Hahn-Str. 6, 44227 Dortmund lars.hildebrand@uni-dortmund.de Inhalt der Vorlesung 0. Organisatorisches & Vorbemerkungen.

Mehr

Technische Universität. Fakultät für Informatik

Technische Universität. Fakultät für Informatik Technische Universität München Fakultät für Informatik Forschungs- und Lehreinheit Informatik VI Neuronale Netze - Supervised Learning Proseminar Kognitive Robotik (SS12) Hannah Wester Betreuer: Dr. Florian

Mehr

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung. Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

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

Programmiersprachen und Übersetzer

Programmiersprachen und Übersetzer Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch

Mehr

1.3.5 Clinical Decision Support Systems

1.3.5 Clinical Decision Support Systems Arzneimitteltherapie Thieme Verlag 1.3.5 Clinical Decision Support Systems Marco Egbring, Stefan Russmann, Gerd A. Kullak-Ublick Im Allgemeinen wird unter dem Begriff Clinical Decision Support System (CDSS)

Mehr

Einsatz Evolutionärer Algorithmen zur Optimierung der Tourenplanung eines Wachschutzunternehmens

Einsatz Evolutionärer Algorithmen zur Optimierung der Tourenplanung eines Wachschutzunternehmens Fachhochschule Brandenburg Fachbereich Informatik und Medien Kolloquium zur Diplomarbeit Einsatz Evolutionärer Algorithmen zur Optimierung der Tourenplanung eines Wachschutzunternehmens Übersicht Darstellung

Mehr

Künstliche Intelligenz Maschinelles Lernen

Künstliche Intelligenz Maschinelles Lernen Künstliche Intelligenz Maschinelles Lernen Stephan Schwiebert Sommersemester 2009 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Maschinelles Lernen Überwachtes Lernen

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

A2.3 Lineare Gleichungssysteme

A2.3 Lineare Gleichungssysteme A2.3 Lineare Gleichungssysteme Schnittpunkte von Graphen Bereits weiter oben wurden die Schnittpunkte von Funktionsgraphen mit den Koordinatenachsen besprochen. Wenn sich zwei Geraden schneiden, dann müssen

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

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

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

Vorlesung Theoretische Informatik

Vorlesung Theoretische Informatik Vorlesung Theoretische Informatik Automaten und Formale Sprachen Hochschule Reutlingen Fakultät für Informatik Masterstudiengang Wirtschaftsinformatik überarbeitet von F. Laux (Stand: 09.06.2010) Sommersemester

Mehr

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de Datenbankanwendung Wintersemester 2014/15 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern smichel@cs.uni-kl.de Wiederholung: Anfragegraph Anfragen dieses Typs können als Graph dargestellt werden: Der

Mehr

Ein Algorithmus für die

Ein Algorithmus für die VGG 1 Ein Algorithmus für die Visualisierung gerichteter Graphen in der Ebene (2D) Seminar Graph Drawing SS 2004 bei Prof. Bischof (Lehrstuhl für Hochleistungsrechnen) Gliederung VGG 2 Einleitung Motivation

Mehr

Das Perzeptron. Künstliche neuronale Netze. Sebastian Otte. 1 Grundlegendes. 2 Perzeptron Modell

Das Perzeptron. Künstliche neuronale Netze. Sebastian Otte. 1 Grundlegendes. 2 Perzeptron Modell Fachbereich Design Informatik Medien Studiengang Master Informatik Künstliche neuronale Netze Das Perzeptron Sebastian Otte Dezember 2009 1 Grundlegendes Als Perzeptron bezeichnet man eine Form von künstlichen

Mehr

Arbeiten mit Excel. 1. Allgemeine Hinweise

Arbeiten mit Excel. 1. Allgemeine Hinweise 1. Allgemeine Hinweise Man sollte eine Excel Tabelle immer so übersichtlich wie möglich halten. Dazu empfiehlt es sich, alle benötigten Daten, Konstanten und Messwerte inklusive aller dazugehörigen Einheiten

Mehr

Computational Intelligence

Computational Intelligence Vorlesung Computational Intelligence Stefan Berlik Raum H-C 80 Tel: 027/70-267 email: berlik@informatik.uni-siegen.de Inhalt Überblick Rückblick Optimierungsprobleme Optimierungsalgorithmen Vorlesung Computational

Mehr

Adaptive Systeme. Prof. Dr.-Ing. Heinz-Georg Fehn Prof. Dr. rer. nat. Nikolaus Wulff

Adaptive Systeme. Prof. Dr.-Ing. Heinz-Georg Fehn Prof. Dr. rer. nat. Nikolaus Wulff Adaptive Systeme Unüberwachtes Lernen: Adaptive Vektor Quantisierung und Kohonen Netze Prof. Dr.-Ing. Heinz-Georg Fehn Prof. Dr. rer. nat. Nikolaus Wulff Überwachtes Lernen Alle bis lang betrachteten Netzwerke

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der

Mehr

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik Grundlagen der Informatik II Teil I: Formale Modelle der Informatik 1 Einführung GdInfoII 1-2 Ziele/Fragestellungen der Theoretischen Informatik 1. Einführung abstrakter Modelle für informationsverarbeitende

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

JOHANNES BONNEKOH. Analysis. Allgemeine Hochschulreife und Fachabitur

JOHANNES BONNEKOH. Analysis. Allgemeine Hochschulreife und Fachabitur JOHANNES BONNEKOH Analysis Allgemeine Hochschulreife und Fachabitur Vorwort Vorwort Mathematik ist eine Sprache, die uns hilft die Natur und allgemeine naturwissenschaftliche Vorgänge zu beschreiben. Johannes

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

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

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

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

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

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

Formale Sprachen und Grammatiken

Formale Sprachen und Grammatiken Formale Sprachen und Grammatiken Jede Sprache besitzt die Aspekte Semantik (Bedeutung) und Syntax (formaler Aufbau). Die zulässige und korrekte Form der Wörter und Sätze einer Sprache wird durch die Syntax

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

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

Mehr

Betragsgleichungen und die Methode der Fallunterscheidungen

Betragsgleichungen und die Methode der Fallunterscheidungen mathe online Skripten http://www.mathe-online.at/skripten/ Betragsgleichungen und die Methode der Fallunterscheidungen Franz Embacher Fakultät für Mathematik der Universität Wien E-mail: franz.embacher@univie.ac.at

Mehr

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen

Mehr

Alignment-Verfahren zum Vergleich biologischer Sequenzen

Alignment-Verfahren zum Vergleich biologischer Sequenzen zum Vergleich biologischer Sequenzen Hans-Joachim Böckenhauer Dennis Komm Volkshochschule Zürich. April Ein biologisches Problem Fragestellung Finde eine Methode zum Vergleich von DNA-Molekülen oder Proteinen

Mehr

2.11 Kontextfreie Grammatiken und Parsebäume

2.11 Kontextfreie Grammatiken und Parsebäume 2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle

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

HOCHSCHULE KONSTANZ TECHNIK, WIRTSCHAFT UND GESTALTUNG. Das Luzifer-Rätsel. Prof. Dr. Hartmut Plesske Wintersemester 2008/09. von.

HOCHSCHULE KONSTANZ TECHNIK, WIRTSCHAFT UND GESTALTUNG. Das Luzifer-Rätsel. Prof. Dr. Hartmut Plesske Wintersemester 2008/09. von. HOCHSCHULE KONSTANZ TECHNIK, WIRTSCHAFT UND GESTALTUNG Fakultät Informatik Das Luzifer-Rätsel Prof. Dr. Hartmut Plesske Wintersemester 2008/09 von Max Nagl nagl@fh-konstanz.de Inhaltsverzeichnis Inhaltsverzeichnis

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

Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20

Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20 Suche in Spielbäumen Suche in Spielbäumen KI SS2011: Suche in Spielbäumen 1/20 Spiele in der KI Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche Einschränkung von Spielen auf: 2 Spieler:

Mehr

Wortproblem für kontextfreie Grammatiken

Wortproblem für kontextfreie Grammatiken Wortproblem für kontextfreie Grammatiken G kontextfreie Grammatik. w Σ w L(G)? Wortproblem ist primitiv rekursiv entscheidbar. (schlechte obere Schranke!) Kellerautomat der L(G) akzeptiert Ist dieser effizient?

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

Data Mining als Arbeitsprozess

Data Mining als Arbeitsprozess Data Mining als Arbeitsprozess Hagen Knaf Studiengang Angewandte Mathematik Hochschule RheinMain 31. Dezember 2015 In Unternehmen werden umfangreichere Aktivitäten oder Projekte im Bereich des Data Mining

Mehr

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung Theoretische Informatik Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Juli 2009 1 / 40 2 / 40 Beispiele: Aus den bisher gemachten Überlegungen ergibt sich: aus der Chomsky-Hierarchie bleiben

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

Nichtlineare Optimierung ohne Nebenbedingungen

Nichtlineare Optimierung ohne Nebenbedingungen Kapitel 2 Nichtlineare Optimierung ohne Nebenbedingungen In diesem Abschnitt sollen im wesentlichen Verfahren zur Bestimmung des Minimums von nichtglatten Funktionen in einer Variablen im Detail vorgestellt

Mehr

Planen mit mathematischen Modellen 00844: Computergestützte Optimierung. Autor: Dr. Heinz Peter Reidmacher

Planen mit mathematischen Modellen 00844: Computergestützte Optimierung. Autor: Dr. Heinz Peter Reidmacher Planen mit mathematischen Modellen 00844: Computergestützte Optimierung Leseprobe Autor: Dr. Heinz Peter Reidmacher 11 - Portefeuilleanalyse 61 11 Portefeuilleanalyse 11.1 Das Markowitz Modell Die Portefeuilleanalyse

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

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen Gleichungen Lösen Was bedeutet es, eine Gleichung zu lösen? Was ist überhaupt eine Gleichung? Eine Gleichung ist, grundsätzlich eine Aussage über zwei mathematische Terme, dass sie gleich sind. Ein Term

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

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

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

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

Erzeugung zufälliger Graphen und Bayes-Netze

Erzeugung zufälliger Graphen und Bayes-Netze Erzeugung zufälliger Graphen und Bayes-Netze Proseminar Algorithmen auf Graphen Georg Lukas, IF2000 2002-07-09 E-Mail: georg@op-co.de Folien: http://op-co.de/bayes/ Gliederung 1. Einleitung 2. einfache

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

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

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

Microsoft Excel 2013 Automatisches Ausfüllen

Microsoft Excel 2013 Automatisches Ausfüllen Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft Excel 2013 Automatisches Ausfüllen Automatisches Ausfüllen in Excel 2013 Seite 1 von 10 Inhaltsverzeichnis Lineare Reihen erstellen...

Mehr

Entwurf von Algorithmen - Kontrollstrukturen

Entwurf von Algorithmen - Kontrollstrukturen Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer

Mehr

Aufbau und Beschreibung Neuronaler Netzwerke

Aufbau und Beschreibung Neuronaler Netzwerke Aufbau und Beschreibung r 1 Inhalt Biologisches Vorbild Mathematisches Modell Grundmodelle 2 Biologisches Vorbild Das Neuron Grundkomponenten: Zellkörper (Soma) Zellkern (Nukleus) Dendriten Nervenfaser

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

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 8: kontextfreie Grammatiken Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2009/2010 1/37 Überblick Kontextfreie Grammatiken

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

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

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme Eines der am häufigsten auftretenden Standardprobleme der angewandten Mathematik ist das Lösen linearer Gleichungssysteme, etwa zur Netzwerkberechnung in der Elektrotechnik oder

Mehr

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen:

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen: 1 Parallele Algorithmen Grundlagen Parallele Algorithmen Grundlagen Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen: Dekomposition eines Problems in unabhängige Teilaufgaben.

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

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

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

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme und Grammatikregeln

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme und Grammatikregeln Stefan Brass: OOP (Java), 3. Syntaxdiagramme und Grammatikregeln 1/32 Objektorientierte Programmierung Kapitel 3: Syntaxdiagramme und Grammatikregeln Stefan Brass Martin-Luther-Universität Halle-Wittenberg

Mehr

Mathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2015

Mathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2015 und Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2015 4. April 2016 Zu der Vorlesung wird ein Skript erstellt, welches auf meiner Homepage veröffentlicht wird: http://www.math.uni-hamburg.de/home/geschke/lehre.html

Mehr

Simulation neuronaler Netzwerke mit TIKAPP

Simulation neuronaler Netzwerke mit TIKAPP Überblick Michael Hanke Sebastian Krüger Institut für Psychologie Martin-Luther-Universität Halle-Wittenberg Forschungskolloquium, SS 2004 Überblick Fragen 1 Was sind neuronale Netze? 2 Was ist TIKAPP?

Mehr

NP-Vollständigkeit. Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984)

NP-Vollständigkeit. Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984) NP-Vollständigkeit Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984) 0 Übersicht: Einleitung Einteilung in Klassen Die Klassen P und NP

Mehr

Grammatiken. Einführung

Grammatiken. Einführung Einführung Beispiel: Die arithmetischen Ausdrücke über der Variablen a und den Operationen + und können wie folgt definiert werden: a, a + a und a a sind arithmetische Ausdrücke Wenn A und B arithmetische

Mehr

2.12 Potenzreihen. 1. Definitionen. 2. Berechnung 2.12. POTENZREIHEN 207. Der wichtigste Spezialfall von Funktionenreihen sind Potenzreihen.

2.12 Potenzreihen. 1. Definitionen. 2. Berechnung 2.12. POTENZREIHEN 207. Der wichtigste Spezialfall von Funktionenreihen sind Potenzreihen. 2.2. POTENZREIHEN 207 2.2 Potenzreihen. Definitionen Der wichtigste Spezialfall von Funktionenreihen sind Potenzreihen. Eine Potenzreihe mit Entwicklungspunkt x 0 ist eine Reihe a n x x 0 n. Es gilt: es

Mehr

7. Formale Sprachen und Grammatiken

7. Formale Sprachen und Grammatiken 7. Formale Sprachen und Grammatiken Computer verwenden zur Verarbeitung von Daten und Informationen künstliche, formale Sprachen (Maschinenspr., Assemblerspachen, Programmierspr., Datenbankspr., Wissensrepräsentationsspr.,...)

Mehr

Gliederung. Biologische Motivation Künstliche neuronale Netzwerke. Anwendungsbeispiele Zusammenfassung. Das Perzeptron

Gliederung. Biologische Motivation Künstliche neuronale Netzwerke. Anwendungsbeispiele Zusammenfassung. Das Perzeptron Neuronale Netzwerke Gliederung Biologische Motivation Künstliche neuronale Netzwerke Das Perzeptron Aufbau Lernen und Verallgemeinern Anwendung Testergebnis Anwendungsbeispiele Zusammenfassung Biologische

Mehr

DAP2-Klausur 07.08.2004

DAP2-Klausur 07.08.2004 DAP2-Klausur 07.08.2004 Vorname : Familienname: Ich studiere (Bitte markieren): Informatik/Inform. Lehramt/Inf.technik/Physik/ Mathe/Statistik/Sonstiges: Bitte beachten: Auf jedem Blatt Matrikelnummer

Mehr

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2013/14 Isomorphie Zwei Graphen (V 1, E 1 ) und (V

Mehr

Kapitel 4: Analyse von Petrinetzen

Kapitel 4: Analyse von Petrinetzen Kapitel 4: Analyse von Petrinetzen 1. Beispiele 2. Analyseansatz 3. Markierungsgraph 4. Beschränktheit 5. State Space Explosion: Beispiel 6. Komplementbildung 7. Zusammenhängend 8. Tot, lebendig, verklemmungsfrei

Mehr

Periodische Fahrpläne und Kreise in Graphen

Periodische Fahrpläne und Kreise in Graphen Periodische Fahrpläne und Kreise in Graphen Vorlesung Algorithmentechnik WS 2009/10 Dorothea Wagner Karlsruher Institut für Technologie Eisenbahnoptimierungsprozess 1 Anforderungserhebung Netzwerkentwurf

Mehr