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

101

26.08.2008, 15:52

Zitat von »"knivil"«

Zitat von »"Genion"«


Und nochwas... wenn ich meine Funktion rekursiv aufrufen möchte, kann ich davon ausgehen, dass meine Methode (my_pong) im Test genauso heißt? Ich könnte zwar auch den ganzen Quelltext nochmal kopieren, aber Rekursion würde mir da Tipparbeit ersparen :D

Du koenntest deinen ganzen Code in eine extra Funktion schreiben und diese von my_pong aufrufen und trotzdem Rekursion verwenden. Ich hoffe aber persoenlich, dass deine KI (als auch die aller anderen) nicht allzu rechenintensiv ist, da es sich nur um Pong handelt. Wenn meine jetzigen KIs gegeneinander antreten, dann dauert ein Spiel etwa 400.000 Zeitschritte und etwa 2min auf einem betagten Rechner. Wie soll man das denn auswerten, wenn jeder ne Art Tiefensuche macht und pro Zeitschritt lange braucht?
Nene, unendlich lang solls nicht werden... zumindest nicht absichtlich... aber ich habs jetzt einfach ohne rekursion gemacht und wenn sich die ki grad nicht aufhängt (ein hoch auf float X_x) dauert ein Spiel mit 400k Zeitschritten nur ein paar Sekunden :)

Atlan123

1x Contest-Sieger!

  • Private Nachricht senden

102

30.08.2008, 15:18

Zitat

Am Ende wird jeder gegen jeden spielen (3 Punkte für Sieg, 1 Punkt für Untentschieden), und derjenige mit den meisten Punkten gewinnt.


Wie lang geht denn ein Spiel in der Auswertung?
"I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone." (Bjarne Stroustrup)

David Scherfgen

Administrator

  • »David Scherfgen« ist der Autor dieses Themas

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

103

30.08.2008, 15:29

Kann ich noch nicht sagen. Ich denke mal bis 100 Punkte oder 100000 Zeitschritte. Aber das sehe ich dann.

Atlan123

1x Contest-Sieger!

  • Private Nachricht senden

104

30.08.2008, 15:37

hmm... das ist schlecht. Mein Algorithmus wüsste gern wie lange ein Spiel dauert - aber das geht dann wohl leider nicht :-/

Edit: Das ist aber auch kein Weltuntergang... zum Glück ist man ja kreativ und hat bereits eine neue Idee :-)
"I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone." (Bjarne Stroustrup)

Atlan123

1x Contest-Sieger!

  • Private Nachricht senden

105

31.08.2008, 00:33

Ich befürchte ja, dass die Auswertung ein Problem darstellt. Ich habe jetzt mal verschiedene KI's gegeneinander Spielen lassen. Ein Spiel bis 100 Punkte dauerte ca. 1.5h. Das waren in etwa 330000 Zeitschritte.
Ergebnis:
KI_1 43: 100 KI_2
KI_1: 100 : 57 KI_2

Zum einen ist ein Spiel nicht wirklich aussagekräftig und zum anderen dauert es extrem lange.

Davon mal abgesehen gefällt mir der Contest richtig gut!
Bin jetztschon auf den nächsten gespannt :-)
"I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone." (Bjarne Stroustrup)

106

31.08.2008, 14:29

Zitat von »"Atlan123"«

Ich befürchte ja, dass die Auswertung ein Problem darstellt. Ich habe jetzt mal verschiedene KI's gegeneinander Spielen lassen. Ein Spiel bis 100 Punkte dauerte ca. 1.5h. Das waren in etwa 330000 Zeitschritte.

Ich denke, du hast die Visualisierung offen gelassen. Wenn du diese nämlich schließt, so wird das Spiel bis zu Ende gerechnet und das Ergebnis ausgegeben. Dann dauert ein Spiel bei ca 500000 Zeitschritten nicht mal 5 Sekunden (an einem Athlon XP 2800+).

Atlan123

1x Contest-Sieger!

  • Private Nachricht senden

107

31.08.2008, 15:11

Zitat von »"Steef"«

Ich denke, du hast die Visualisierung offen gelassen. Wenn du diese nämlich schließt, so wird das Spiel bis zu Ende gerechnet und das Ergebnis ausgegeben. Dann dauert ein Spiel bei ca 500000 Zeitschritten nicht mal 5 Sekunden (an einem Athlon XP 2800+).

Es gibt keine maximal zulässige Rechenzeit für die KI ... und die kann unter umständen schonmal 0.2 - 0.8 Sekunden pro Aufruf rechnen...
"I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone." (Bjarne Stroustrup)

108

31.08.2008, 18:58

OK, dann ist das was anderes :?

109

02.09.2008, 13:34

Kann man bei 1.5h noch von KI reden? Wenn meine gegen sich selbst antritt, so braucht sie etwa 0.5h (Athlon XP 2200) und dauert etwa 450k Ticks. Ich bin noch am Optimieren und probieren. Die Parallelisierung waere trivial, aber ich will ja auch, dass es auf anderen Rechnern ohne Probleme compiliert. Desweiteren wird das Spiel sowieso erst interessant bei ball_vx > 0.1. Es ist aber schoen der KI (und dem Denken) bei geringeren Geschwindigkeiten zuzusehen. Besser als Fernsehen!

Zitat

Zum einen ist ein Spiel nicht wirklich aussagekräftig und zum anderen dauert es extrem lange.

Das mit der Aussagekraft ist egal, dafuer gibt es ja auch Punkte ueber alle Spiele insgesamt. Desweiteren bin ich nicht fuer 3 Punkte bei Sieg, 1 Punkt bei Unentschieden. Da fehlt mir das Gleichgewicht. Eher 2 Punkte Sieg, 1 Punkt Unentschieden oder wie beim Schach 1 Punkt Sieg, 0.5 Punkte bei Unentschieden. Wie im Sport halt, manchmal gehoert auch Glueck dazu :-). Ich waere ja fuer jeder gegen jeden mit Rueckrunde (damit schon mal alle rausfallen, die nur auf einer Seite spielen koennen).

David Scherfgen

Administrator

  • »David Scherfgen« ist der Autor dieses Themas

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

110

02.09.2008, 14:09

Gute Idee, das mit der Rückrunde.
Wie viele Punkte für Sieg/Unentschieden werde ich dann mal sehen.

Werbeanzeige