Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

11

18.02.2010, 21:32

Sorry Mastermind ich hab gedacht, dass die Frage so okay wäre. ^^
Naja egal :P
Also ich habe schon ein paar mal versucht es selbst zu versuchen, aber ich verstehe nicht ganz wie man die verschiedenen Lösungsvorschläge vergleicht bzw. wie man sie nach Kriterien vergleicht.

Danke :)

Mastermind

unregistriert

12

18.02.2010, 22:05

Es kommt auf die Aufgabe an. Ich geb mal ein Beispiel:

"Maximiere a*b sodass a+b < 100"

Jetzt kannst du dir eine "Strafe" für Fehler überlegen:

p(a,b) = 0 : a+b<100
(a+b-100)^2 : sonst

und als Fitness:

f(a,b) = a*b - p(a,b)

Für komplexere Beispiele muss man sich auch komplexere Gedanken machen. Es hilft wenn man sein Problem als Optimierungsproblem formuliert. Aber vorsicht, genetische Algorithmen sind keine Funktionsoptimierter (deJong).

13

19.02.2010, 16:53

Zitat

p(a,b) = 0 : a+b<100
(a+b-100)^2 : sonst


Diesen Teil habe ich nicht ganz verstanden. Wofür steht das p(a,b) und die Doppelpunkte?
Die Fitness ist ja eine Funktion um die verschiedenen Möglichkeiten zu vergleichen oder?

Mastermind

unregistriert

14

19.02.2010, 18:34

Da fehlt auch eine große Klammer, besser gehts halt im Forum nicht darzustellen.

Das sollte eine Fallunterscheidung sein. Wenn a+b<100 ist alles ok und die Strafe ist 0. Sonst ist die Strafe halt der andere Term.


Wie gesagt es ist nur ein Beispiel. Es gibt keine allgemeine Antwort auf deine Frage. Du musst dir selbst überlegen, wie du einer Lösung zu deinem konkreten Problem einen Wert zuweist.

Werbeanzeige