Dokumentation zum Praktikum Künstliche Intelligenz Genetische Algorithmen Vorgelegt von: Gruppe B Rot KI1415 Jurij Belozerov 11085543 Alexej Komnik 11089131 Leitung: Allgemeine Informatik Wintersemester 2014 Prof. Dr. Heiner Klocke Dipl. Inform. Alex Maier Dipl. Inform. Sascha Schewe Künstliche Intelligenz Inhaltsverzeichnis I. Aufgabe 1.1 ........................................................................................... 3 a. Fitnessfunktion und Abbruchbedingung ........................................... 3 b. Genetische Code des perfekten Individuums.................................... 3 c. Wahrscheinlichkeit, dass Lösungskandidat in zufällig generierten ersten Generation bereits einmal enthalten ist .................................. 3 d. Implementierung des Algorithmus‘ .................................................. 4 e. Gefahr bei dem Verzicht von dem Mutationsschritt......................... 5 f. Optimierung des Algorithmus‘ ......................................................... 5 II. Aufgabe 1.2 ........................................................................................... 6 Algorithmus optimaler Fortbewegungsmethode des Roboters........... 6 - 2- Künstliche Intelligenz Aufgabe 1.1 Ein Optimierungsproblem für das neue Jahrtausend: Die Suche nach einer möglichst hohen Zahl mit Hilfe eines genetischen Algorithmus' erreichen indem wir die Werte der Gene summiert werden. Gegeben sind: 1. Gen: +500 2. Gen: +10 3. Gen: 0 4. Gen: -200 a) Die Fitnessfunktion und die Abbruchbedingung für den Algorithmus: Fitnessfunktion: Die Summe von Werten der Gene. Abbruch: beim Treffen eines perfektes Individuums oder nach 4000 Durchläufen (1000 pro Gen). b) Der genetische Code des perfekten Individuums: 11111111 c) Da ein Lösungskandidat aus 8 Genen besteht, ein von denen kann 4 vorgegebene Genezustände vornehmen, gilt folgende: 𝑃(𝐼𝑝 ) = 1 48 500 × 1 48 ≅ 0,00763 Die Wahrscheinlichkeit, dass dieses Individuum in unserer zufällig generierten ersten Generation bereits einmal enthalten ist 0,763%. - 3- Künstliche Intelligenz Aufgabe 1.1 d) Die Implementierung des Algorithmus‘: - 4- Künstliche Intelligenz Aufgabe 1.1 e) Der Verzicht auf einen Mutationsschritt in Verbindung mit einem bestehenden Genpool, der lediglich schlechte Gene aufweist, birgt die Gefahr, dass sich keinerlei Besserung des Genpools einstellen kann. Die vorhanden Gene würden von Generation zur Generation weitergereicht werden, sodass das Erreichen eines perfekten Individuums ausgeschlossen wird. f) Um den Algorithmus zu optimieren kann das Selektieren auf gute Gene beschränkt werden, sodass die schlechten Gene schneller aussortiert werden. Dieses Verfahren erlaubt auf lange Sicht sich dem perfekten Individuum schnell anzunähern. Ein Nachteil dieses Verfahrens besteht in dem Risiko des Erreichens eines lokalen Maxima, da eventuelle Kombinationen auch mit schlechten Genen durch Mutation, global betrachtet, zu gegebenenfalls besseren Ergebnissen führen kann. - 5- Künstliche Intelligenz Aufgabe 1.2 Der Algorithmus optimaler Fortbewegungsmethode des Roboters: Reihenfolg Gen Motor Bewegung 1. A A -60 2. B A 60 3. C B -45 4. D B 45 5. E A -30 6. F A 30 7. G B -60 8. H B 60 e Wir haben uns für einen Individuum mit 8 Genen entschieden, die die Bewegung der jeweiligen Motoren bestimmt mit einem bestimmten Winkel. Den Winkelbereich haben wir extra so gewählt, von -30° bis zu 30°, da es insgesamt den Bereich von 120° umfasst. Somit kann sich das Individuum mit Hilfe zweier Motoren problemfrei weit nach rechts oder weit nach links bewegen. Die Bewegungen werden nacheinander ausgeführt. Die Fitnessfunktion verwendet den Ultraschallsensor, der den Abstand zum erkannten Gegenstand analysiert und misst, somit wird die Bewegung des Roboters erleichtert. Die Abbruchbedingung erfolgt, wenn der der Roboter und das Individuum sich ein Meter bewegt hat. - 6-