Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 22-06-2005, 21:01   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 138
Künstliche Intelligenz

Achtung!
Experten gefragt: ist es ohne übermenschliche Fähigkeiten in ActionScript möglich, einen Algorithmus für "3 in einer Reihe" zu entwickeln?
Weiß wer irgendeinen möglichen Ansatz? Vielleicht mithilfe von Arrays?
Oder sollte ich direkt die Finger davon lassen?

Vielen Dank für Hilfe!
FireShark
FireShark ist offline   Mit Zitat antworten
Alt 22-06-2005, 21:08   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.322
"..3 in einer Reihe.."
wenn du das als intelligenz bezeichnest :-) ja, geht.

der-mögliche-spielzug-baum ist bei diesem spiel durchaus überschaubar und kann direkt eingefingert werden.

fang vielleicht mal so an (sehr einfach und wenig KI ;-):

var zeile1=[0,0,0,0,0,0];
var zeile2=[0,0,0,0,0,0];
var zeile3=[0,0,0,0,0,0];
var zeile4=[0,0,0,0,0,0];
var zeile5=[0,0,0,0,0,0];
var zeile6=[0,0,0,0,0,0];
var spielplan=[zeile1, zeile2, zeile3, zeile4, zeile5, zeile6];

jetzt kannst du z.b. über
spielplan[3][4]=1; // eine 'figur' setzen 1=computer, 2=mensch
und z.b. über
if (spielplan[3][4]==1) {..} // abfragen
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (22-06-2005 um 21:14 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 22-06-2005, 21:16   #3 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 138
Hihi. *g*
Ja, ich habe mir schon gedacht, dass diese Bezeichnung wohl doch ein wenig lächerlich sein würde, aber es sind ja doch nicht wenige mögliche Züge, und vor allem viele, die absolut schwachsinnig sind. Deshalb sollte der Algorithmus also schon wenigstens ein bisschen "intelligent" und flexibel/reaktionsfähig sein. Die Aufgabe, 3 in eine Reihe zu bekommen und gleichzeitig den menschlichen Gegner nicht gewinnen zu lassen, selbst zu programmieren, stelle ich mir jedenfalls nicht einfach, wenn überhaupt möglich vor, deshalb wende ich mich an das Forum.
Mir würde schon eher geholfen mit etwas konkreteren Hilfestellungen, aber trotzdem schonmal vielen Dank, hgseib!

FireShark
FireShark ist offline   Mit Zitat antworten
Alt 22-06-2005, 21:17   #4 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 138
Ah, da war ich wohl zu spät.
Ja, vielen Dank. Ich werde mal versuchen, etwas daraus zu machen.

Allerdings denkst du wahrscheinlich auch an ein anderes Spiel. Ich meine nicht "4 in einer Reihe", sondern das, wo es lediglich 3x3 Felder gibt und man nicht darauf achten muss, dass die "Steine" nur von oben aus gesetzt werden können, und sich daraufhin übereinanderstapeln.

Geändert von FireShark (22-06-2005 um 21:19 Uhr)
FireShark ist offline   Mit Zitat antworten
Alt 22-06-2005, 21:25   #5 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.322
der einzigste unterschied von 'vier gewinnt' gegenüber 'tic-tac-toe' ist, das letzteres nur 3*3 felder hat und vier gewinnt halt mehr.
'tic-tac-toe' ist aber wirklich zu kindisch und nicht zu gewinnen.

und guck mal, was es alles gibt auf dieser (internet)welt - nach 0.1 sekunden suchzeit (da hat meine tipperei wesentlich länger gedauert):
http://ostermiller.org/tictactoeexpert.html
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (22-06-2005 um 21:26 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 22-06-2005, 21:37   #6 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 138
Naja, bei "4 gewinnt" (oder "4 in einer Reihe") fallen aber doch auch die Steine immer von oben in die Löcher, das ist also auch anders. Und das macht schon einiges aus, dieser Unterschied.
Jedenfalls danke für den Link, der ist gut. Ich hatte vergessen, wie das Spiel heißt, sonst hätte ich natürlich gesucht. Also "Tic Tac Toe" - ok.
Danke nochmal!

FireShark
FireShark ist offline   Mit Zitat antworten
Alt 22-06-2005, 22:59   #7 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.322
sei nicht so kleinlich ;-) nur weil die plastikversion nur fallen lassen kann. ein programmierer denkt immer nur in variablen. und ob die variable nun 3 oder 300 beinhaltet, das programm muss in allen fällen gehen, sonst ist es schlecht programmiert.

hier mal so auf die schnelle ein 'grundgerüst'. ohne KI.

wenn ich mal zeit habe suche ich danach. denke, in 'spektrum der wissenschaft' war mal eine abhandlung darüber.
Angehängte Dateien
Dateityp: zip tictactoe1.zip (8,5 KB, 22x aufgerufen)
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 23-06-2005, 04:56   #8 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.322
nicht 1000%ig, ist eh nur kinderkram
Angehängte Dateien
Dateityp: zip tictactoe2.zip (11,1 KB, 36x aufgerufen)
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (23-06-2005 um 06:44 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 23-06-2005, 15:25   #9 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 138
Hm ja, für Experten oder Berufsinformatiker ist das natürlich Kinderkram...
Hey, trotzdem vielen Dank für die Datei!
Aber: Zitat: "//...sonst egal pers soll auch mal gewinnen koennen"
Alle möglichen Spielzüge im Voraus berechnen lassen - wäre das zu aufwendig? Ist nur ne Frage, keine Kritik.
Vielen, vielen Dank nochmal!

FireShark
FireShark ist offline   Mit Zitat antworten
Alt 23-06-2005, 16:04   #10 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.322
"..Berufsinformatiker ist das natürlich Kinderkram.."
hab das nie gelernt (bei wem denn auch, vor 25 jahren?). kindergram deshalb, weil das spiel nicht zu gewinnen ist und ich sehe da auch nichts KI mässiges. ist bestenfalls geeignet (wie hier) um das programmieren zu lernen.

"..Alle möglichen Spielzüge im Voraus berechnen lassen.."
ist das da:
"der-mögliche-spielzug-baum ist bei diesem spiel durchaus überschaubar und kann direkt eingefingert werden."

hab wohl auch schon varianten gesehen, die lernen. also die züge des gewinners merken (ist ja nicht viel: 0-1-2 gewonnen). mit jedem spiel 'kennt' das programm dann mehr gewinnzüge.


mach einfach mal eine eigene variante und prüfe, ob du sie schlagen kannst. wenn ja, dann hast du schlecht programmiert, also dich selbst besiegt ;-)
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (23-06-2005 um 16:08 Uhr)
hgseib ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

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



Alle Zeitangaben in WEZ +1. Es ist jetzt 20:48 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele