Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Fussball KI,wie anfangen? (https://www.delphipraxis.net/156368-fussball-ki-wie-anfangen.html)

BUG 14. Dez 2010 20:57

AW: Fussball KI,wie anfangen?
 
Auch wenn es wahrscheinlich nicht die Liga des Browsergames ist, trotzdem interessant:
http://www.heise.de/tr/artikel/Unser...e-1150754.html

p80286 14. Dez 2010 22:10

AW: Fussball KI,wie anfangen?
 
[OT] KI für Fußball? Was würde Gladbach und was würde Schalke dafür Zahlen?
(und was erst Dortmund, damit Schalke soetwas nicht bekommt)[/OT]

Gru
K-H

Angel4585 16. Dez 2010 10:38

AW: Fussball KI,wie anfangen?
 
schon interessant der heise-artikel, aber tatsächlich nicht so meine Lige :D

Ich hab jetzt mit nem Professor der Hochschule hier gesprochen, der als auch am RoboCup teilnimmt und sich bissl mit KI auskennt.
Er meinte, dass es für ein solches Projekt am besten wäre mit Desicion Trees zu arbeiten.
Diese könnte man dann in XML-Dateien auslagern wodurch man das Programm selbst nichtmehr verändern müsste, sondern die KI über die XML-Datei verändern kann.
(Hätte auch den Vorteil, dass man einen KI-Editor programmieren und dann jährliche User-Wettbewerbe veranstalten kann - "Wer hat die beste KI")

Naja soweit so gut, aber wie baue ich eine solche Datei am besten auf?
Ich muss ja quasi Zustände und Aktionen festlegen, da wären als Aktionen: passen,schiessen, dribbeln, laufen,angreifen.
Als Zustände fallen mir spontan ein: anstossSpieler, anstossTeam, anstossGegner, ballbesitzSpieler, ballbesitzTeam, ballbesitzGegner

Dazu muss man in die XML-Datei noch die Positionen auf dem Spielfeld mit einbringen, sowie den aktuellen Spielstand.

Aber wie bau ich da so einen Desicion Tree in XML Form dann auf und wie interpretiert man sowas dann?

Angel4585 18. Dez 2010 11:19

AW: Fussball KI,wie anfangen?
 
Oha,keine Antwort.

*push*

Also ich hab mich mal durch Tutorials gewühlt aber hab noch bissl Probleme.

Also angenommen ich habe nur "wenige" Bedingungen und Zustände:
Zustände:
-Ich hab den Ball
-Mein Team hat den Ball
-Das gegnerische Team hat den Ball
-Keiner hat den Ball

Bedingungen:
[Spielerentfernung]
-Entfernung zum Ball
-Entfernung zum Gegner
-Entfernung zum Mitspieler
-Entfernung zum Tor
[Mitspielerentfernung]
-Entfernung zum Ball
-Entfernung zum Gegner
-Entfernung zum Tor
[Gegnerentfernung]
-Entfernung zum Ball
-Entfernung zum Mitspieler
-Entfernung zum Tor

Aktionen:
-Schiessen
-Passen
-Laufen
-Warten

Dann könnte ein XML-File in etwa so aussehen(oder?):
Code:
<root>
   <situation type="playerball">
      ...
   </situation
   <situation type="teamball">
      ...
   </situation
   <situation type="opponentball">
      ...
   </situation
   <situation type="freeball">
      <condition type="player_dist_ball" value="100">
         <condition type="team_dist_ball" value="less">
            <action type="wait">
         </condition>      
         <condition type="team_dist_ball" value="more">
            <action type="move_to_ball">
         </condition>      
      </condition>
      <condition type="player_dist_ball" value="200">   
         ...
      </condition>
      <condition type="player_dist_ball" value="else">
         ...
      </condition>
   </situation
</root>
Wäre das richtig? Oder wie würdet ihr das machen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:17 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz