sbas:ss2013:genalg
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
sbas:ss2013:genalg [22.10.2013 16:53] – [Selektion] Tobias Kaminsky | sbas:ss2013:genalg [22.10.2013 17:11] – [Fitness] Tobias Kaminsky | ||
---|---|---|---|
Zeile 43: | Zeile 43: | ||
In dem Protokoll wird die Chromosomen- und Generationsnummer in einem Array gespeichert. Zu dieser eindeutigen Kombination (z.B. 5. Generation und 10. Chrosomom) wird die aktuelle Chromosomausprägung und der dazugehörige Fitnesswert gespeichert. | In dem Protokoll wird die Chromosomen- und Generationsnummer in einem Array gespeichert. Zu dieser eindeutigen Kombination (z.B. 5. Generation und 10. Chrosomom) wird die aktuelle Chromosomausprägung und der dazugehörige Fitnesswert gespeichert. | ||
====== Fitness ====== | ====== Fitness ====== | ||
- | Die Fitness beschreibt die Überlebenswahrscheinlichkeit eines Chromosoms mit der Formel: p(c_i) = f(c_i) / sum j=1 n f(c_i) | + | Die Fitness beschreibt die Überlebenswahrscheinlichkeit eines Chromosoms mit der Formel: |
+ | < | ||
+ | `p(c_i) = f(c_i) / (\sum_{j=1}^nf(c_j))` | ||
+ | </ | ||
Die Summe aller Überlebenswahrscheinlichkeiten ist 1 (vgl. Harbich, 2007, S. 6). | Die Summe aller Überlebenswahrscheinlichkeiten ist 1 (vgl. Harbich, 2007, S. 6). | ||
+ | |||
+ | Der Fitnesswert ist abhängig von der jeweiligen Modellierung und wird in dort beschrieben. | ||
+ | |||
+ | Der nachfolgende Matlab-Code zeigt speichert das beste Chromosom in einer Variable, sodass der genetische Algorithmus zu jedem Zeitpunkt beendet werden kann und dennoch eine gültige und (zu diesem Zeitpunkt) beste Lösung vorhanden ist. | ||
**Umsetzung in Matlab** | **Umsetzung in Matlab** | ||
<code matlab> | <code matlab> | ||
- | % Index von bestem | + | % Index von bestem |
% bestind == [fitness generation element] | % bestind == [fitness generation element] | ||
bestind = [0 0 0]; | bestind = [0 0 0]; | ||
- | % Prüfe, ob neues bestes | + | % Prüfe, ob neues bestes |
if (fitness > bestind(1)) | if (fitness > bestind(1)) | ||
bestind(1) = fitness; | bestind(1) = fitness; |
sbas/ss2013/genalg.txt · Zuletzt geändert: 28.11.2022 00:11 von 127.0.0.1