2016-04-13 17 views
1

Ich bin ziemlich neu zu genetischen Algorithmus und möchte eine Frage stellen. Alle Ressourcen über genetischen Algorithmus, über die ich gestolpert bin, sprachen davon, dass ich binäre Zahlen oder reelle Zahlen verwende, um Gene zu repräsentieren. Ich arbeite an Reiseplan Generator, der genetische Algorithmus verwendet. Normalerweise besteht der Reiseplan aus Interessenpunkten, aber meiner besteht aus Städten, die durch eine binäre Zeichenfolge dargestellt werden. Jede Bitposition codiert Informationen wie beispielsweise ob die Stadt Museen hat oder nicht, oder ob sie eine Autovermietung hat oder nicht. Zum Beispiel, wenn die Stadt eine Autovermietung hat, wird die Bitposition, die den Mietwagenservice darstellt, auf 1 gesetzt. Die Anzahl der Städte besteht aus einer Reiseroute, die durch die Dauer des Aufenthalts bestimmt wird. In Bezug auf die Darstellung des genetischen Algorithmus repräsentiert jede Route ein Chromosom und die Stadt repräsentiert das Gen. Ich habe diese Art von Repräsentation in irgendwelchen Ressourcen, die ich gelesen habe, nicht gesehen (jedes Gen ist eine binäre Zeichenfolge und jedes Chromosom besteht aus mehreren binären Strings.). Also würde ich gerne wissen, ob ich auf dem richtigen Weg bin oder nicht.Darstellung von Gen und Chromosomen in genetischen Algorithmus

Edit: Also für Crossover, es wäre zwischen mehreren Bit-Strings. Bei einer Mutation ersetzt es im Grunde eine existierende Stadt durch eine andere Stadt aus der Bevölkerung.

Antwort

3

Es sieht so aus, als könnten Sie es als eine Folge von Ganzzahlen darstellen, wobei jede Ganzzahl die Ganzzahldarstellung der Binärzahl ist, die die Stadt beschreibt. Dann bist du gut zu gehen - Crossover ist nur Crossover und Mutation, die du als eine Stadt (d. H. Eine Nummer) zu einer anderen änderst.

+0

Ich habe nicht daran gedacht. Art von Sinn. Vielen Dank! – user3273345

0

Die Darstellung Ihres Chromosoms kann alles sein. Die Darstellung als Bit-String ist praktisch, leicht zu verstehen und leicht zu manipulieren, wenn Sie etwas haben, das bereits Bit-Strings manipulieren kann.

Aber es könnte alles sein. Normalerweise ist es eine Sammlung von einigen Datentypen (oder mehreren verschiedenen zusammen).

Welche Darstellung Sie wählen, beeinflusst, wie sie mutiert und wie die Fitnesslandschaft aussieht.

Verwandte Themen