Delphi-PRAXiS
Seite 2 von 5     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   KI Projekt (https://www.delphipraxis.net/164052-ki-projekt.html)

DeddyH 27. Okt 2011 11:42

AW: KI Projekt
 
Zitat:

Zitat von Medium (Beitrag 1132833)
(Am Rande: Zwei perfekte Spieler erreichen immer ein Unentschieden, egal wer anfängt.)

Das wurde ja schon im Film "Wargames" gezeigt :zwinker:

Nersgatt 27. Okt 2011 11:52

AW: KI Projekt
 
Zitat:

Zitat von mb1996 (Beitrag 1132824)
Ich fange mal an Mensch ärgere dich nicht ohne KI zu programmieren.

Aber es muss doch so ähnlich ablaufen:
1. Würfeln
2. Zahl auswerten (Kann ich damit jemanden kicken/eine 6 (nochmal würfel und eventuell Spieler aufs Feld))
3. Figuren (welche ist in Gefahr/Welche kann ich in die Mitte brigen)
4. handeln

Du solltest Punkt 2 und 3 logisch etwas mehr trennen:
1. Würfeln
2. Alle erlaubten Züge für die Spielfarbe der KI berechnen
3. Die daraus resultierenden Stellungen bewerten (*)
4. Handeln

(*) dabei könntest Du z.B. mit einem Punktesystem arbeiten und eine Bewertung zu machen.
Wenn Du jemanden abwerfen kannst, gibts einen Punkt
Wenn Du eine Figur aus dem Haus ziehen kannt, gibt einen Punkt
Wenn Du eine Figur ins Zielfeld ziehen kannst, gibts 2 Punkte
WEnn Du eine Figur vor einer generischen Figur in Sicherheit bringen kannst, gibts 3 Punkte.
Wenn Du eine Figur in den Gefahrenbereich einer gegnerischen Figur bringst, gibt 1 NEGATIVEN Punkt
etc.

Es könnten natürlich auch 2 Bedingungen auftreten. In dem Fall werden die Punkte einfach addiert.
So hat hinterher jeder erlaubte Zug eine Punktzahl. Jetzt musst Du nur noch den Zug mit der höchsten Punktzahl auswählen und ausführen. Gibts mehrere Züge, die die höchste Punkzahl haben, machst Du einfach irgendeinen dieser Züge.

Jens

Medium 27. Okt 2011 11:58

AW: KI Projekt
 
Das Bewertungssystem sollte man aber auch erst dann angehen, wenn man die Infrastruktur für den Baum geschaffen hat. Da lohnt sich auch etwas mehr Zeit reinzustecken, weil richtig gemacht ist der vielseitig wiederverwendbar. Nach wie vor ist Mensch ärgere dich nicht aber ein schlechter Einstieg! Vor allem, weil ein Würfel zum Einsatz kommt, so dass der Baum pro Ebene mit der Anzahl der Würfelausgänge UND der Anzahl der pro Würfelergebnis möglichen Züge wächst. Das wird ein Riesen-Oschi, den es vollständig zu erstellen schon eine heftige Aufgabe ist - wenn überhaupt möglich in sinnvoller Zeit mit sinnvollem Speichereinsatz.
Nersgatt (ich les bei dir immer Negersatt... manno!) beschreibt die Bewertung eines, unmittelbar anstehenden Zuges. Für ein intelligentes Spiel reicht das aber nicht! Dazu muss die KI den künftigen Spielverlauf abschätzen können, daher der Baum. Durch Backtracking (oder dynamische Programmierung, grad unsicher welches der zwei Wörter besser passt) in einem Spielbaum wird genau das erreicht: Die Implikationen durch einen Zug werden mit berücksichtigt.

Klar, man kann auch If-Then-Else-Pseudo-KI-Gefrickel machen, aber dann nenn es bitte nicht KI-Projekt ;)

mb1996 27. Okt 2011 12:07

AW: KI Projekt
 
Zitat:

Zitat von DeddyH (Beitrag 1132837)
Zitat:

Zitat von Medium (Beitrag 1132833)
(Am Rande: Zwei perfekte Spieler erreichen immer ein Unentschieden, egal wer anfängt.)

Das wurde ja schon im Film "Wargames" gezeigt :zwinker:

War das, wo der Computer lernt? Um den Countdown zu verlangsamen :D
Das dachte ich mir auch, doch als ich bei Google gesucht habe meinte eine Person, dass es mathematisch bestätig sei, dass der erste immer gewinnt :D

mb1996 27. Okt 2011 12:12

AW: KI Projekt
 
Liste der Anhänge anzeigen (Anzahl: 1)
So habe jetzt das Projekt angefangen.
Bin jetzt da, wo der Spieler das erste Kreuz gemacht hat.
Könnt ihr mir weiter helfen?

himitsu 27. Okt 2011 12:13

AW: KI Projekt
 
Zitat:

Obwohl Tick-Tack-Toe kein gutes Spiel für eine KI ist. Der anfängt gewinnt
Falsch.

Wer einen Fehler macht verliert.
Sind Beide gut, dann kann es nur unentschieden ausgehn.

mb1996 27. Okt 2011 12:15

AW: KI Projekt
 
Habe hier eine Grafik: Spielbaum

mb1996 27. Okt 2011 12:20

AW: KI Projekt
 
Der Spielbaum zeigt aber nicht alle möglichen Anfänge. Heißt das, dass der eigentlich viel größer ist?

Und wie solle ich den in mein Projekt einbinden. Mit Punkten wohl nicht. Mehr mit If, aber ist es dann eine KI?

Delphi-Laie 27. Okt 2011 12:21

AW: KI Projekt
 
Zitat:

Zitat von mb1996 (Beitrag 1132773)
Hi Leute,
ich wollte mal anfangen mit einer KI. Erstmal einfach, dass man gegen einen Computer Tick-Tack-Toe spielen kann und vielleicht, dass ich am ende sogar eine ganze Schachki hinbekomme.

Könnt ihr mir vielleicht helfen? Kennt ihr so ein Bild, wo ein Besipiel Algorithmen abgebildet ist, oder sogar für Tick-Tack-Toe?

Bereits dem Turbo-/Borland-Pascal 7.0 liegen die Quelltexte eines Schachprogrammes (also inkl. KI) bei.

Zitat:

Zitat von mb1996 (Beitrag 1132803)
Obwohl Tick-Tack-Toe kein gutes Spiel für eine KI ist. Der anfängt gewinnt :D

Nicht zwangsläufig, sondern nur bei korrekten Spielweise (Edit: himitsu präzisierte das noch weiter). Der Vorteil des "Anziehenden" (=Beginners) existiert aber zudem auch bei allen anderen Brettspielen wie z.B. Dame, Mühle, Go, Halma, so daß diese bei Korrektheit gewinnen.

mb1996 27. Okt 2011 12:29

AW: KI Projekt
 
Zitat:

Zitat von Delphi-Laie (Beitrag 1132851)
Zitat:

Zitat von mb1996 (Beitrag 1132773)
Hi Leute,
ich wollte mal anfangen mit einer KI. Erstmal einfach, dass man gegen einen Computer Tick-Tack-Toe spielen kann und vielleicht, dass ich am ende sogar eine ganze Schachki hinbekomme.

Könnt ihr mir vielleicht helfen? Kennt ihr so ein Bild, wo ein Besipiel Algorithmen abgebildet ist, oder sogar für Tick-Tack-Toe?

Bereits dem Turbo-/Borland-Pascal 7.0 liegen die Quelltexte eines Schachprogrammes (also inkl. KI) bei.

Zitat:

Zitat von mb1996 (Beitrag 1132803)
Obwohl Tick-Tack-Toe kein gutes Spiel für eine KI ist. Der anfängt gewinnt :D

Nicht zwangsläufig, sondern nur bei korrekten Spielweise (Edit: himitsu präzisierte das noch weiter). Der Vorteil des "Anziehenden" (=Beginners) existiert aber zudem auch bei allen anderen Brettspielen wie z.B. Dame, Mühle, Go, Halma, so daß diese bei Korrektheit gewinnen.

Zitat:

Zitat von mb1996 (Beitrag 1132843)
Zitat:

Zitat von DeddyH (Beitrag 1132837)
Zitat:

Zitat von Medium (Beitrag 1132833)
(Am Rande: Zwei perfekte Spieler erreichen immer ein Unentschieden, egal wer anfängt.)

Das wurde ja schon im Film "Wargames" gezeigt :zwinker:

War das, wo der Computer lernt? Um den Countdown zu verlangsamen :D
Das dachte ich mir auch, doch als ich bei Google gesucht habe meinte eine Person, dass es mathematisch bestätig sei, dass der erste immer gewinnt :D

Ein Zitat mit einem Zitat beantworten :D


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:52 Uhr.
Seite 2 von 5     12 34     Letzte »    

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