AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

KI Projekt

Ein Thema von mb1996 · begonnen am 27. Okt 2011 · letzter Beitrag vom 27. Okt 2011
Antwort Antwort
Seite 1 von 2  1 2      
mb1996

Registriert seit: 30. Dez 2009
243 Beiträge
 
Delphi 2009 Professional
 
#1

AW: KI Projekt

  Alt 27. Okt 2011, 11:01
Tick-Tack-Toe ist nicht so gut, da der erste, der anfängt, gewinnt

Und Mensch ärgere dich nicht klingt super.
Nersgatt, dein Link sieht sehr hilfreich aus
gibt es sowas ähnliches auch für Mensch ärgere dich nicht
Oder ein Schaubild von einem Mensch ärgere dich nicht Algorithmus?

Danke Leute
  Mit Zitat antworten Zitat
Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

AW: KI Projekt

  Alt 27. Okt 2011, 11:14
Bei Mensch ärger dich nicht (und allen anderen Brettspielen) ist das Prinzip immer das selbe. Du kannst also den Text aus meinem Link auf andere Spiele übertragen.
Du braucht einen Zuggenerator und eine Bewertung der Stellungen. Damit errechnest Du den nächsten Zug. Natürlich musst Du die Berechnung der gültigen Züge und der Bewertung an die Spielregeln anpassen.
Fang doch wirklich mal an, dieses Konzept für TicTacToe umzusetzen. Dass der erste immer gewinnt ist zum lernen völlig egal. Du hast sogar noch ne Sicherheit. Wenn der Computer anfängt und NICHT gewinnt, hast Du einen Bug in der KI.
Jens
  Mit Zitat antworten Zitat
mb1996

Registriert seit: 30. Dez 2009
243 Beiträge
 
Delphi 2009 Professional
 
#3

AW: KI Projekt

  Alt 27. Okt 2011, 11:18
Bei Mensch ärger dich nicht (und allen anderen Brettspielen) ist das Prinzip immer das selbe. Du kannst also den Text aus meinem Link auf andere Spiele übertragen.
Du braucht einen Zuggenerator und eine Bewertung der Stellungen. Damit errechnest Du den nächsten Zug. Natürlich musst Du die Berechnung der gültigen Züge und der Bewertung an die Spielregeln anpassen.
Fang doch wirklich mal an, dieses Konzept für TicTacToe umzusetzen. Dass der erste immer gewinnt ist zum lernen völlig egal. Du hast sogar noch ne Sicherheit. Wenn der Computer anfängt und NICHT gewinnt, hast Du einen Bug in der KI.
OK. Aber wie ist denn das beste System im Spiel, sodass man immer gewinnt?
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.687 Beiträge
 
Delphi 2007 Enterprise
 
#4

AW: KI Projekt

  Alt 27. Okt 2011, 11:32
Fast jede (Brett-)Spiel-KI läuft auf einen Bei Google suchenSpielbaum hinaus. Über diesen ist die beste Strategie quasi direkt ablesbar, nur wird er bei manchen Spielen (z.B. Schach) deutlich zu groß um ihn vollständig berechnen und auswerten zu können. Für TTT geht das, weshalb das ein schönes Einsteigsspiel ist, da das Prinzip ohne Schätz-Alogs und Kniffe einfach komplett umgesetzt werden kann.
Zudem ist TTT vom UI und der Bedienung her schön einfach, so dass das nicht so sehr vom Wesentlichen ablenkt. (Am Rande: Zwei perfekte Spieler erreichen immer ein Unentschieden, egal wer anfängt.)
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.655 Beiträge
 
Delphi 12 Athens
 
#5

AW: KI Projekt

  Alt 27. Okt 2011, 11:42
(Am Rande: Zwei perfekte Spieler erreichen immer ein Unentschieden, egal wer anfängt.)
Das wurde ja schon im Film "Wargames" gezeigt
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mb1996

Registriert seit: 30. Dez 2009
243 Beiträge
 
Delphi 2009 Professional
 
#6

AW: KI Projekt

  Alt 27. Okt 2011, 12:07
(Am Rande: Zwei perfekte Spieler erreichen immer ein Unentschieden, egal wer anfängt.)
Das wurde ja schon im Film "Wargames" gezeigt
War das, wo der Computer lernt? Um den Countdown zu verlangsamen
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
  Mit Zitat antworten Zitat
mb1996

Registriert seit: 30. Dez 2009
243 Beiträge
 
Delphi 2009 Professional
 
#7

AW: KI Projekt

  Alt 27. Okt 2011, 12:12
So habe jetzt das Projekt angefangen.
Bin jetzt da, wo der Spieler das erste Kreuz gemacht hat.
Könnt ihr mir weiter helfen?
Angehängte Dateien
Dateityp: zip Projekt.zip (433,1 KB, 11x aufgerufen)
  Mit Zitat antworten Zitat
mb1996

Registriert seit: 30. Dez 2009
243 Beiträge
 
Delphi 2009 Professional
 
#8

AW: KI Projekt

  Alt 27. Okt 2011, 11:17
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
  Mit Zitat antworten Zitat
Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#9

AW: KI Projekt

  Alt 27. Okt 2011, 11:52
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
Jens
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.687 Beiträge
 
Delphi 2007 Enterprise
 
#10

AW: KI Projekt

  Alt 27. Okt 2011, 11:58
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
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)

Geändert von Medium (27. Okt 2011 um 12:02 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:34 Uhr.
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