Ich mache ein Projekt, das die Verwendung von genetischen Algorithmen in der Architektur erforscht, wo wir einen evolutionären Ansatz für die Erstellung von Voronoi-Tessellation in 3D verwenden. Dies geschieht mit ofxVoro ++ für openFrameworks (C++).Ist es notwendig mit binärer Kodierung in genetischen Algorithmen?
Unsere Chromosomen für den Genomen ist ein Vektor (Liste) von Punkten in 3D. Wir haben Single- und Two-Point-Crossover und eine Mutation implementiert, die diese Punkte mit einer gewissen Wahrscheinlichkeit randomisiert. In den meisten Beispielen, die ich gesehen habe, ist das Genom binär kodiert, was Mutation und Crossover vermutlich anders bewirken würde. diese
So ist meine Frage: Gibt es noch andere Vorteile für die binäre Codierung (mit Ausnahme Geschwindigkeit) und wie würden Sie eine solche Kodierung/Dekodierung in C++ behandeln? Von binär zu einer Liste von 3D-Punkten gehen.
Mit freundlichen Grüßen, Fred
Wenn man bedenkt, dass alles auf einem Computer binär codiert ist, tun Sie es bereits. Das Behandeln der Chromosomen als 3d-Punkte bedeutet nur, dass alle Operationen eine Folge von Bits ergeben, die legale Darstellungen von Gleitkomma-/Festkommazahlen sind. – StoryTeller
Brauchen Sie Hilfe bei künstlicher Intelligenz? https://area51.stackexchange.com/proposals/93481/artificial-intelligence – 6119
Nein. Sie müssen keine Binärcodierung verwenden. Verwenden Sie alles, was Sie wollen. Stellen Sie nur sicher, dass Sie geeignete Mutations- und Crossover-Operatoren haben. – Ray