Archiv verlassen und diese Seite im Standarddesign anzeigen : [KI] - neuer Ansatz
Hi,
weiter unten ist auch ein anderer threat zum Thema KI ... leider ist da nichts sinnvolles bei rausgekommen. (naja, nach der dritten seite hatte ich keine lust mehr ;) )
Erstmal möchte ich klarstellen, dass man nicht einfach so eine KI für alles entwickeln kann. Man brauchtirgendeine "umgebung" in der die KI leben und mit dem rest der Welt interagieren kann (z.B. ein Spiel). Also müssen wir erstmal ein kleines spiel zusammenflechten. Bei dem spiel soll es weniger um schoenes design oder aenliches gehen, sondern um die KI. Desshalb schlage ich vor, dass wir ein sehr simples Spiel wie Käsekästchen nehmen.
um KI und spiel deutlich zu trennen sollte die KI eine klasse bekommen, über die sie informationen aus dem Spiel abfragen kann. Dieses system (das ich eigentlich für selbstverstaendlich halte :D ) hätte ausserdem noch den Vorteil, dass wir ziemlich einfach unterschiedliche KIs gegeneinander antreten lassen können, sprich einen KI wettbewerb erstellen.
Ich persönlich würde mich (vieleicht mit der Hilfe von jemand anderen) gerne darum kümmern diese Basisklasse und das Spiel zu erstellen.
Jetzt nurnoch die Frage der Programmiersprache ...
Bei diesem spiel geht es hauptsächlich um die KI, desshalb wolen wir unsere programmierleistung hauptsaechlich (oder vollstaendig) auf ihre Entwiklung konzentrieren. Sprich, wir wollen uns nicht mit GUI etc rumpalgen. Ausserdem wollen wir das viele leute sich an diesem Wettbewerb beteiligen können, was nur geht wenn die Programmiersprache die wir verwenden relativ einfach zu erlernen ist.
also bleiben uns praktisch nurnoch 2 sprachen übrig.
Visual Basic und Python. (Java theoretisch auch ...)
wenn ihr mich fragt, würde ich Python nehmen ... das hauptsaechlich weil jeder, der ein wenig erfahrung mit anderen programmiersprachen hat Python an weniger als einem tag erlernen kann!! die klare und einfache struktur ermöglicht es den Programmierern sich NUR auf den Code zu konzentrieren. Ausserdem ist Python auch Linux und Mac fähig.
MFG dennis
PS: zwei monate kein deutsch mehr geschrieben und dann noch soviel ;)
NetworkBoy
30.04.2002, 12:31
Hi dennis und alle anderen.
Ich habe mich bisher nie viel mit KI beschäftigt/beschäftigen können. Aber Interesse daran hätte ich allemal.
Wie das wegen der Programmiersprache aussieht... Ist Python 4 free zu erhalten und ähnlich leicht wie VB? Bei VB könnten wir wirklich schnell eine Art Brettspiel zusammenklicken. Dann kann man sich, wie du das auch schon angeregt hast, eindeutig auf die KI ansich konzentrieren.
Was das Spiel ansich angeht würde ich vielleicht nicht gerade Käsekästchen nehmen, weil es da ja bekanntlich das Problem des Unentschieden gibt ;) aber Schach würde ich nun auch nicht unbedingt bevorzugen :D
Interessiert mitzumachen bin ich aber auf jeden Fall, und hoffe, dass dieses Projekt zu Stande kommt.
Macht mit, euer Antreiber NetworkBoy ;)
OneStone2000
30.04.2002, 14:04
Find ich super, dass es endlich wieder mal jemand mit der KI-Programmierung aufnimmt.
Ich hab natürlich interesse!
Wenn jede KI einfach eine .dll ist, die den aktuellen spielstand erhält und daruaf reagieren kann, entfällt das Problem der Programmiersprache, da man in (fast) jeder Windows-Programmierrsprache nach mienem Wissen Dlls erstelen kann.
Auf www.freakconnection.de war gabs doch mal PodBall, das auch auf dll-Basis lief.
Python ist frei verfügbar, afaik unter der GPL Lizenz.
"Wenn jede KI einfach eine .dll ist, die den aktuellen spielstand erhält und daruaf reagieren kann, entfällt das Problem der Programmiersprache, da man in (fast) jeder Windows-Programmierrsprache nach mienem Wissen Dlls erstelen kann. "
meinst du nicht , daß die vielen dlls ein problem ergeben würden??
außerdem ist es nicht üblich spielstände in dlls abzuspeichern , soweit ich weiß.
gruß
kuno
"Ist Python 4 free zu erhalten und ähnlich leicht wie VB? Bei VB könnten wir wirklich schnell eine Art Brettspiel zusammenklicken. "
wie gesagt python ist hundert mal einfacher als VB ... ich selber programmiere schon seit 4 jahren VB und habe vor einiger zeit ... mehr aus spass python ausprobiert und bin begeistert!!! ich habe mein python level in etwa wenigen stunden locker soweit gebracht wie mein VB wissen nach einigen monaten war!
HTTP://Python.org ... holt euch einfach das tut und stöbert mal durch, ihr werdet schnell merken das die sprache extrem einfach ist!
zu der idee mit den DLL's ... ehem ;-) sie würden (wenn richtig angewendet) mit sicherheit keine probleme machen! sie würden auch (wenn richtig angewendet) die code übersicht und effiziez um einiges verbessern! nur dass man das gleiche auch mit python machen kann und dann auchnoch einfachst...
an sich fände ich käsekästchen keine schlechte idee ... zumindest faellt mir kein besseres spiel ein ;-) ... ausserdem finde ich es eine herrausforderung sachen wie den "ersten zug " duchzurechnen, auszuprobieren ... da gibt es naemlich an sich fast nur zufallsgenerierte möglichkeiten (was auch durchaus erlaubt ist)
ich selber habe auch noch nicht viel mit KI gemacht und auch nur ein bisschen dadrüber gelesen, behaupte aber mal, dass ich da was zusammenstellen könnte. ;)
an die pioniere, die sich bereit erklaert haben:
ich habe mir das so gedacht ... es gibt ein kleines team ... (zwei bis fünf leute) dass sich dadrum kümmert das spiel selber zusammen zu pflechten.
sprich:
-GUI erstellen (muss kein meisterwerk sein)
-Spiel regeln Definieren (sind bei käsekästchtchen ziemlich einfach)
-KI interface schreiben (über die die KIs mit dem spiel reden)
-Dokumentation für das KI interface schreiben (dazu können auch zusätzlich leute dazukommen, muss ausserdem auch kein waeltzer werden)
das wars erstmal
MFG dennis
Assimilator
01.05.2002, 12:16
"Wenn jede KI einfach eine .dll ist, die den aktuellen spielstand erhält und daruaf reagieren kann, entfällt das Problem der Programmiersprache, da man in (fast) jeder Windows-Programmierrsprache nach mienem Wissen Dlls erstelen kann. "
genau, du sagst es. jede _windows_-programmiersprache.
Ich bin daher auf für Phyton (ich hab zwar noch nie damit programmiert, werde mir das aber gleich mal anschauen - kann ja net so schwer ist) GPL ist natürlich auch immer n'pluspinkt :D
Also, ich hätte grundsätzliuch auch interesse eine KI zu schreiben. Das Spiel sollte imo schon n'bisschen komplexer sein als 4gewinnt (*g*) aber net ganz so extrem wie starcraft :D
mfG Assimil8or
NetworkBoy
01.05.2002, 15:41
OK, Käsekästchen ist vielleicht doch ein guter Einstig ;)
Ganz ohne KI und ohne die Regeln hab ich erstmal das Spielfeld zusammengeklickt. Das ganze hab ich erstmal in VB gemacht, ich glaube damit bleibt es (trotz möglicherweise sehr leicht zu erlernendem Python) für mehr Leute ansprechend.
Ich hab die zip Datei mit dem VB Projekt angehängt, vielleicht wird sie ja schnell freigeschaltet :)
Guckts euch einfach mal an
mfg NetworkBoy
Assimilator
01.05.2002, 15:49
hmm, vb ist ja netmal 4free... :(
mfG Assimil8or
BloodKor
01.05.2002, 21:53
Tja, hätt auch Intresse...
Ich habe zwar keine Ahnung von KI, programmier aber schon länger in Python. Als Umgebung der KI
könnte man ein schon vorhandenes Spiel nehmen, z.B. CS, FreeCiv
ok, wo wir jetzt sind:
Programmiersprache : Python (also bitte KEINE diskussionen mehr über die sprache oder DLLs usw)
das Spiel : Käse Kästchen (wenn in den naechsten 24 std kein besserer vorschlag kommt, NUR REALISIERBARE!, wie gesagt, es soll um die KI und nicht um das endertainment des spiels gehen)
Alle die sich jetzt gemeldet haben, und ECHT interesse haben, sollen sich dann bitte bei mir per E-mail melden. Schreibt dann auch dazu, was ihr machen wollt...
(traut euch ruhig eurn echten namen zu nennen)
was ihr machen könnt:
am spiel.
- Das Spiel und das interface schreiben
- Doku (erst spaeter)
im spiel (hier können wir unendlich viele gebrauchen ;) )
-ein KI-Team leiten - es kann mehrere teams geben (mindestens zwei) also werden auch mehrere teamleiter gebraucht
-KI programmier
-du trittst einem team bei und entwickelst mit ihm eine KI ... pro team werden zwischen drei und unendlich (ich würd ein maximum von 15man/team vorschlagen) programmierer gebraucht.
Meine E-Mail : Schaaf@Dennis.de
Assimilator
01.05.2002, 23:59
Ich glaub ich wart erstma bis das Spiel ready ist - was ist das überhaupt für'n Spiel? - und schreib dann evtl. ne KI :D
mfG Assimil8or
wie gesagt ernsthafte interessenten per emai an schaaf@dennis.de oder dennis@actvevb.de
mfg dennis
fuer kasekaestchen braucht du keine ki ... bei kk kannst du als computer abzaehlen, wo du dein kreuz setzten musst ... nehmt das kartenspiel schwimmen, oder so. das haette dann wenigstens noch was von raten und vorhersagen.
stefan
ne du...
das ist genauso, wie mit schach, du kannst das einfach nicht vorberechnen ... selbst die "schach supercomputer" können nicht mehr als max zwei-vier züge vorberechnen.
und genau da ist ja der witz dieses projekts... es gibt tausende von möglichkeiten wie man seine ki programmieren kann.
aber was stimmt ist das eine gute KI nicht die fehler übersieht, die ein mensch übersehen würde (ihr kennt das ja wenn euer kunkurent verzweifelt nach einem platz sucht wo er ungeschadet eine line setzen kann und einem dann am ende einen kasten überlässt ;))
bei spielen bei denen es um raten geht, sind computer immer schlecht! deswegen ist es total sinnnfrei eine KI für solche spiele zu programmieren. natürlich braucht man welche um gegen menschliche gegner anzutreten, aber das "spiel" hier ist die KIs gegeneinander antreten zu lassen.
MFG dennis
Assimilator
02.05.2002, 09:15
das ist genauso, wie mit schach, du kannst das einfach nicht vorberechnen ... selbst die "schach supercomputer" können nicht mehr als max zwei-vier züge vorberechnen.
Die können's scheinbar aber schon besser als die Menschen.
bei spielen bei denen es um raten geht, sind computer immer schlecht!
Wieso soll ein Computer schlechter raten können als ein Mensch? - dessen Zufallszahlen sind doch auch net gerade besser ;) - Es macht keinen sinn, dafür eine KI zu schraiben, da stimme ich zu :)
mfG Assimil8or
Evil-Hunter
02.05.2002, 20:06
Hi!
Ich wäre für ein Spiel, wo mehrere KIs gegeneinander antreten, in Echtzeit.
Vielleicht so wie das Robo-Wars, was auf RTL2 (oder wo?) kommt.
Man könnte vielleicht irgendwelche Eigenschaften wählen, die Vor- und Nachteile haben...
Assimilator
02.05.2002, 20:18
Echtzeit finde ich net so gut, da ne komplexere KI schnell mal n'bisschen länger hat zum nachdenken - besonders wenn sie net gerade in C geschrieben ist ;)
mfG Assimil8or
DerSensemann
02.05.2002, 21:13
@Evil-Hunter:
http://buhaboard.info/bubo/showthread.php?s=&threadid=13959 ;) :D
Assimilator
02.05.2002, 21:23
@DerSensemann: Ich hab mir das teil gesogen und bin total begeistert! :D Aber wird da noch dran gearbeitet? und ist das net OpenSource?
mfG Assimil8or
DerSensemann
02.05.2002, 21:31
Hm.. Das Board is mittlerweile weg :( Shit F2S.com!!! Dran gearbeitet wird nimmer, wirklich fertig geworden ist es ja nie... kann dir (und jeden andren auch) alles schicken, was ich so hab.. Der Großteil ist aber leider (leider? leider können zu wenige diese tolle Sprache...) in Delphi geschrieben :| Und von der PhysikEngine dürfte ich nur ne alte Version haben, die andren wollten ihre Sources eben nicht raus rücken :(.. waren aber auch nicht an meinem interessiert *schrägguck*
Naja egal, macht was aus dem KI Projekt hier, vielleicht "kaufen" wir (3D Projekt) euch später auf, um Gegner KIs ins eventuelle Game zu bringen... IRGENDWANN....
So long, Sense...
Assimilator
02.05.2002, 21:38
Also, von dem kann man auf jeden Fall ne menge lernen :D
Ich finde, dass es gut gemacht ist weil:
- Echtzeit, man kann zuschauen und daumen drücken ;)
- Kein 'glück' sondern reine KI :)
- Es gibt innerhalb eines Teams die Möglichkeit verschiedene KI's für die verschiedenen Spieler auszuwählen, es gibt also auch so ne Art Teamwork.
mfG Assimil8or
DerSensemann
02.05.2002, 21:48
Ich hab mich ja relativ lange mit KI beschäftigt und heute würde ich sagen, dass ich folgendes daraus über KI gelernt habe:
-Es ist einfacher geplant als umgesetzt die letztendliche KI ;)
-Die Qualität der KI steht im direkten Zusammenhang zur Komplexität der Umwelt, je mehr Input die KI bekommt, desto höher ist ihr mögliches Potential. Das aller wichtigste am Anfang ist eine ordentliche Welt für die KI... Selbst bei PodBall war sie noch viel zu gering.. wenig Input->wenig KI
-Punkt 2 ist ebenfalls leichter gesagt als getan ;)
-Das System mit dem KI Wettbewerb war nicht schlecht, aber NIEMALS 2 Monate vorher Werbung für machen! Wenn es dann fertig ist, hat niemand mehr Lust auf KI... :( Außerdem MUSS eine ordentliche Schnittstelle und eine ordentliche Dokumentation über selbige her!
Sind die Punkte hier erstmal gemeistert, steht einer besseren KI als vielleicht bei PodBall (obwohl man da auch noch ne Menge raus holen kann...) nur noch die Faulheit im Wege :)
interresant ist immer das die leute KI schreiben und damit "Strategien" meinen.
bevor ihr was macht solltet ihr euch podball wirklich mal ansehen. es ist eindeutig das bis jetzt ausgereifteste project gewesen.
wenn ihr euch dagegen was machen wollt was man wirklich KI nennen kann probiert lieber was wie OCR (Texterkennung) oder ähnliches.
Was Sennseman mit "Input" meint würde ich eher so formulieren:
PodBall Und auch Käsekästchen sind zu "Simpel" um sich die mühe eines "lernfähigen" systems zu machen (aber auch zu komplex um dieses mit einem lernfähigen system einfach so zu machen).
hallo,
du hast recht, leider weiss nur der geringste teil dieses boards, was eine KI ist. ES IST _/*NICHT*\_ EIN VIRTUELLER SPIELER DER IN 3D SPIELEN RUMLAEUFT! die denken neamlich (meistens) nicht und haben absichtliche fehler eingebaut, etc
aber auch bei dir muss ich korregieren. eine KI ist nicht automatisch ein neuronales netzwerk bzw ein lernfähiges system.
ich warte leider immernoch auf einen realisierbaren vorschlag. nur um es nochmal klarzustellen:
ES WIRD KEIN 3D SPIEL, ES GEHT NUR DARUM PRAKTISCHE ERFAHRUNGEN MIT KI's ZU MACHEN!
auch der begiff spiel ist eher falsch, es soll mehr eine "umgebung" sein.
ich habe leider das gefühl, dass einige leute in diesem board absolut keine ahnung von programmieren haben und das auch nicht aendern wollen. und dann scheint es nocheine (nervige) gruppe zu geben, die ein bisschen programmieren kann und meint gleich (ohne vorerfahrung) mit neuronalen netzwerken anfangen zu müssen. LEUTE!! : arbeitet euch langsam ran und lernt dabei!
MFG dennis
MFG dennis
Assimilator
03.05.2002, 11:05
moment mal, die Starcraft-Computergegner sind genauso KI wie ein Neuronales Netz, ein IRC-Bot oder ein CS-Bot.
mfG Assimil8or
DerSensemann
03.05.2002, 12:29
Ne... Das sind alles fest einprogrammierte Algorithmen.. die laufen immer gleich ab (besonders, wenn man den Zufallsgenerator zurücksetzen könnte z.b. durch Zurücksetzen der Systemzeit...)... KI, das heißt lernen. Und das machen IRC bots, die StarCraft "KIs" geschweige denn die CS Bots gar nicht...
Assimilator
03.05.2002, 12:35
KI heisst künstliche / simulierte Intelligenz und genau das tun diese _KI_'s
Eliza - oft als die erste KI bezeichnet - war auch net lernfähig.
(html-version: http://www-ai.ijs.si/eliza-cgi-bin/eliza_script)
mfG Assimil8or
@Assimilator:
Deine meinung ist zwar nachvollziebar, und ich will hier die alte discusion nicht zum 100dersten male anwerfen aber für mich, und ich denke sense wird das ähnlich sehen, ist das so:
Algorithmen sind "virtuelle maschienen" das heist sie sind vergleichbar mit dingen wie Autos, Motorsägen oder Feuerwaffen.
alle diese dinge haben eines gemeinsam: Ihr "verhalten" ist ihnen von außen vorgegeben.
Intelligenz ist für mich jedoch ein maß für die selbständige anpassungsfähigkeit an eine ersteinmal unbekannte problematik.
vergleichen wir mal Eliza mit einem Menschen:
Ein mensch kann z.B. im Chat mit einem menschen eine neue sprache lernen und sich danach damit weiter unterhalten.
Gutes beispiel dafür sind die diversen abkürzungen und zeichen
(z.B.: lol) welche sich schnell etabliert haben.
das klassische Eliza kann das nicht !
Hieraus resultiert eine für mich wesentliche eigenschaft von KIs nähmlich die das der Entwickler sich nicht um die konkrete lösung des Problems kümmern muß! sondern lediglich die richtigen Rahmenbedingungen schaffen muß.
DerSensemann
03.05.2002, 14:34
Genau.. Dem Betracher der in den allermeisten Fällen den Source ja nicht kennt, kann durch möglichst komplexe und geschickte Algorithmen eine "KI" vorgegaukelt werden..
Ok, bei Starcraft sind doch Ansätze von KI zu erkennen.. Greift man von einer bestimmten Seite mit Lufteinheiten an, baut der Gegner dort Luftverteildugungstürmchen hin.. Also da könnte ich es noch verstehen, das als KI zu bezeichnen... Aber bei einem IRC Bot oder bei jedem CS Bot den ich kenne ist kein Ansatz von Lernfähigkeit zu erkennen!
Letztendlich wird jede KI auf PC Basis immer ein Algorithmus bleiben, klar.. entscheidend sind aber die Lernschritte die von außerhalb erkennbar sind..
jo also bei den cs bots , die ich kenne ist 0 ki zu erkennen!!!
sie laufen einfach feste waypoints ab!!!!
@dennis:
Original geschrieben von dennis
ich habe leider das gefühl, dass einige leute in diesem board absolut keine ahnung von programmieren haben und das auch nicht aendern wollen. und dann scheint es nocheine (nervige) gruppe zu geben, die ein bisschen programmieren kann und meint gleich (ohne vorerfahrung) mit neuronalen netzwerken anfangen zu müssen. LEUTE!! : arbeitet euch langsam ran und lernt dabei!
MFG dennis
interessant , daß du das thema nervig ansprichst!
http://buhaboard.org/bubo/showthread.php?s=&threadid=27365
allzu stark lernfähig scheinst du mir nicht zu sein!
nehmen wir mal eine KNN (künstliches neuronales netzt)
natürlich ist das ein algo, aber ...
das "verhalten" resultiert nicht aus dem algo sondern dessen daten (gewichtungen). man sollte es sogar so sehen das diese daten das Programm sind und das netz nur eine VM (vergleichbar mit der JavaVM)
unter dieser betrachtung wird der "algo" von ausen ständig manipuliert.
damit sehe ich darin eigentlich keinen echten algo mehr.
DerSensemann
03.05.2002, 17:10
Auch das ist immernoch ein Algo, nur eben einer der sich selbst erstellen kann... aber egal... Ansichtssache...
TheQBase
03.05.2002, 17:58
Hi Leute ,
die idee ist auf alle fälle gut me wieder die grauen zellen anzustrengen aber ich kann Sennsenman nur zustimmen das ist alles viel leichter erdacht als erstellt
ich bin da auch schon seit längerem dran etwas ahnliches zu erstellen www.ki-thegame.de (infoseite)
aber wir werden und werden einfach nicht fertig haben zwar die engine an und für sich schon fertig und auch schon probeläufe gemacht
ist aber alles noch recht simpel und die graphische oberfläche fehlt völlig (wir ham doch keine zeit ; ) )
aber ich denke trotz (mittlerweile ) ewiger entwicklungszeit und viel stillstand kann ich jeden nur ermutigen sich solcher aufgaben zu stellen man wird ja sonst in seinem tristen alltag nicht gefordert
cu TQB
kaktuswasser
04.05.2002, 09:32
hiho!
ich würde folgendes vorschlagen:
Ihr programmiert ein terrain für ein wesen ,dass sich
darin bewegt und immer passend schlafen gehen ,essen etc. muss... Indem ihr dem Terrain dann neue
Gegenstände hinzufügt, muss das wesen "lernen" mit
ihnen umzugehen etc...
cya henrik
P.S.:sowas habe ich für das alte KI-Projekt mal angefangen....
hi,
alles geile pläne, aber BEVOR das alles passiert, möchte ich erstmal das grundwissen haben!!! *fragt sich wie oft er das schon gesagt hat*
MFG dennis
OneStone2000
04.05.2002, 19:32
Ich wär dafür, wenn das PodBall-Projekt weitergeführt würde!
Ich fands echt stark , dass dieses Projekt soweit gekommen ist(Lob an SensenMann, Niels & Co), aber auch schade, dasse s ein so apruptes Ende gefunden hat. ;-<
Die KIs (wenn man die so nennen will) waren zuletzt schon ziemlich ausgereift ---> Strunz.
Mann könnte das Spiel mit mehr Regeln erweitern( mehr Tore, mehr Bälle), wodurch die "KIs" auch komplexer werden.
Andi
DerSensemann
04.05.2002, 23:30
Der KI ist es letztendlich relativ egal, ob sie nun auf ein oder auf mehrere Tore spielt, aber mehrere Bälle wären schlecht.. Stell dir mal das Durcheinander beim echten Fußball mit 2 Bällen vor! Da is nicht mehr viel mit Teamplay...
Die Sources kann ich, soweit ich sie selbst habe, alle bereitstellen und könnte auch noch nebenbei das ein oder andere mit helfen (Priorität liegt aber auf der 3D Engine).. besonders das DLL Interface ist so wie es jetzt ist gar nicht gut.. hatte schon sehr gute Pläne der perfekten Schnittstelle, die wurden aber bisher nicht umgesetzt.. Naja, im Nachhinein ist man immer schlauer :)
Das Problem letztendlich war, dass die Entwicklung so lange gedauert hat.. Am Anfang waren alle total begeistert von der Idee eines KI Wettbewerbs, sie haben sich ihre Gedanken gemacht und drüber diskutiert.. aber als PodBall dann endlich "fertig" war, hatte keiner mehr Bock drauf... Und das ist mist, wenn man sich so viel Arbeit macht (hat ja bald ein halbes Jahr gedauert!!) und nachher kaum wer interesse dran hat.. jetzt kommt der Spaß an KI gerade wieder hoch, aber ich wette, dass wenn PodBall weiter geführt wird und wenn die Diskussion und Entwicklung öffentlich abläuft, später wieder niemand Lust hat! Das ist einer der Sachen, die man an einem solchen Projekt lernt.. Heute würde ich mir nur noch ein paar gute Coder zusammen suchen und das ganze mehr oder weniger geheim entwickeln.. Und dann, wenn die erste wirklich lauffähige Version draußen ist und klar ist, dass sich an der Schnittstelle nichts mehr ändert.. dann würde ich erst hier im Board ankommen...
Das 2. große Problem würde ich sagen, war, dass wir in verschiedenen Sprachen programmiert haben.. Noil und Scrontch in C++, ich in Delphi (Oberflächen zu coden in C++ ist .......)
An so größeren Projekten mit mehreren Programmierern lernt man eben ungemein viel, kann ich nur jedem empfehlen, der das Durchhaltevermögen dazu besitzt... denn nichts ist schlimmer als ein "Mitarbeiter", der keine Lust mehr hat und mitten drin aussteigt..
deshalb habe ich das ganze auch anders gemacht ...
ich habe mir die leute die echt interessiert sind zur seite geholt und werde jetzt veruchen mit ihnen erstmal waas auf die reihe zu kriegen (in einem geschlossenen kreis) öffentlich wird es dann wenn die schnittstelle und so weiter fertig ist.
MFG dennis
Started PodBall neu !!!!
ich hatte schon lange vor ne neue KI dafür zu schreiben weil ich denke das etwas lernfähiges dort möglich ist.
OneStone2000
05.05.2002, 21:09
man könnte PodBall so verändern, dass sich das Gelände durch zufall verändert (Hindernisse, usw.) und die KI ich daran anpassen und "lernen" muss.
ne 3D-Engine wär natürlich auch lustig;-)
Ich schliess mich Niels' Meinung an, dass PodBall weitergeführt werden sollte.
Andi
BloodKor
05.05.2002, 21:55
Ich fand die Idee ned schlecht, dass eine KI in ein Terrain "lebt", man könnte der KI Werkzeuge geben mit denen sie irgendeine Aufgabe selbständig lösen muss, davon lernt sie auch wie man die Aufgabe/Aufgabenteile nächstes mal effizienter lösen kann. Es bräuchte auch keine graphische Oberfläche.
Die Idee mit dem terrain könnte man bestimmt ziemlich einfach realisieren...
dann könnte man zum beispiel einen virtuellen aufraeum robotter bauen oder ein Labyrinth , beides typische robotter-wettbewerbs aufgaben.
da waere ich auch für!
MFG dennis
[ZITAT]Original geschrieben von dennis
ne du...
das ist genauso, wie mit schach, du kannst das einfach nicht vorberechnen ... selbst die "schach supercomputer" können nicht mehr als max zwei-vier züge vorberechnen. [/quote]
Nee,
das stimmt so aber auch nicht, die rechnen schon sehr viel weiter als bis 4 Züge, in Endspielen bis +20, kommt auf die komplexität der Stellung an, ausserdem gibts da viele Programmeirtechniken um die Suchtiefe zu steigern.
Allerdings gibts keine Schachprogramme die eine KI haben, sondern das sind alles mehr oder weniger Brute Force Programme.
Die Suchtechnik hab ich hier mal gepostet :
http://buhaboard.net/bubo/showthread.php?s=&threadid=26961
auch interessant:
http://www2.tagesspiegel.de/archiv/1999/12/30/ak-in-co-16104.html
zum Thema KI
http://www.hamburger-bildungsserver.de/oberstufe/ki_umod2.pdf
DerSensemann
06.05.2002, 10:09
Das beste Schachprogramm für PC ist ChessMaster 8000. Das berechnet ohne Probleme in wenigen Sekunden bis zur Tiefe 10.. Trick ist, 1. während der Gegner am Zug ist, weiter zu rechnen und 2. nach einem Zug des Gegners nur das was sich verändert hat neu zu berechnen...
Die Gegner haben schon ein bisschen was von KI, einige können analysieren, wie ich meine Wertigkeiten auf die verschiedenen Figuren lege (z.B. Läufer mehr werd als Springer?) und darauf ihr Spiel aufzubauen..
sorry, bestes Programm ist leider Fritz 7 , leider weil ich es eingentlich nicht mag weil es einfach am meisten BF ist, dafür ist der Algo schnell wie die Sa* , ich bevorzuge Nimzo oder Rebel, sind zwar ein paar Punkte schlechter aber dafür spielen sie 'menschlicher'. Verlieren tut man meist gegen alle aber dann doch leiber wegen der Strategie und nicht wegen der Taktik !
Dazu die Computerrangliste von SSDF, ist anerkannt von allen Schachcomputermagazinen :
http://w1.859.telia.com/~u85924109/ssdf/list.htm
Und was die Rangliste der Steine angeht, das ist zwar theoretisch KI aber da es vom Menschen vorgegeben ist ist es nur ein Zahlenwert, klar sind die Stellungen verschieden Bewertet und es geht nicht nur nach dem Materialwert, leider lert der Rechner dabei aber nciht, er hat Tabellen und danach stellt er einefach eine Materialbilanz zusammen, es ist also einfach nur BF und nicht KI, Das ist wie ein BF Passwortknacker der zuerst mal eine Wortliste benutzt, ist er erfolgreich dann ist er schnell, trotzdem ist es ein BF Programm und keine KI.
Naja aber wer es trotzdem versuchen will, hier eine gute Seite eines Fachmagazins :
http://www.computerschach.de/
ZUSATZ:
Wenn es wirklich KI sein soll ==>
http://www.zillions.de/
Dies ist eine(!!) Spieleengine die viele Spiele beherrscht ! Man muss ihr nur die Regeln vorgeben und die Engine lernt stark zu spielen, ist wirklich fazinierend !!! Wirklich unglaublich, dies ist wirklich irgendwie KI denn die Engine errechnet als Schachengine fast genau die Werte für die einzelnen Figuren die man anderen Programmen vorgibt ! Einfach durch den eigebauten Algo, ist wirklich unglaublich !
dashier scheint auch interessant zu sein:
http://www.thinkquest.org/library/lib/site_sum_outside.html?tname=2705&url=2705/
genauso wie die mit seiten
ai.mit.edu
Dennis
DerSensemann
07.05.2002, 06:25
Mein ich das nur, oder sind da einige Schachprogramme auf einem 1200er CPU gegen gewisse andere auf einem 350er angetreten? lol.... naja, so gut kenn ich mich aber auch nicht aus mit den Schachprogrammen.. :| Wusste garnicht, dass es doch so viele gute gibt...
jupp, die Testen auch sowas, das Problem ist halt immer die Hardware neu zu kaufen etc. Und es gibt richtig viele gute Programme, vor allem nehmen die sich nicht viel. Tortzdem ist in der Spitze keine KI anzutreffen, sind alles +- BruteForcer. Mir ist auch kein gutes KI Schachprogramm bekannt. Das Problem ist einfach dass das Schachwissen schwer in Formeln zu fassen ist, es gibt zwar Grundregeln die Allgemein gültig sind, aber über allen Regeln stehen die Ausnahmen. Schachcomputer spielen daher auch viel anders als Menschen. Schachcompis sind taktikmonste, weil sich dass sehr gut in Formel fassen lässt, es geht halt immer um die Materialbilanz. Aber auf den Strategischen Sektor spielen sie wie Anfänger, mit der richtigen technik lassen sich Rechner recht 'einfach' schlagen, denn gegen langfristige Pläne sind sie Blind. Das machen sie zwar durch immer tiefere Suchtiefen wett aber es wird immer einen Horizonteffekt geben, dieser Effekt ist einfach zu erklären, alles was hinter der max. Suchtiefe liegt bleibt dem Rechner verborgen. Es gibt dazu sehr hübsche Teststellungen bei denen man sieht dass der Rechner keine Ahnung von der Stellung hat sondern im Endeffekt einfach nur die weissen gegen die schwarzen Steine abzählt. Aber wie will man es auch anders machen ? Wie sage ich einem Rechner das Türme auf offene Linien gehören (gut das ist noch recht einfach) aber das Springer in geschlossenen Stellungen stärker sind als Läufer, aber dies sich ändern kann wenn die Bauern plötzlich weg sind, das sind strategische Sachen die sich über 10-20 Züge hinziehen, als Mensch mach ich dass so dass ich so eine Art wunschstellung habe und mir überlege wie ich diese erreichen kann, dabei sind die genauen Züge zuerst mal garnicht wichtig, ich schau mir einfach das Material an und die Schwächen der anderen Stellung, dann mach ich mir einen Plan und spiel darauf los. Ein Computer hat keinen plan, er versucht einfach die Züge durch und nimmt den 'besten'. Was danach für stellungen rauskommen sind ihm Umbekannt, ich dagegen kann Ahnen was passiert usw. man kann darüber ganze Bücher schreiben.
Hi,
Das mit den schach computern ist schon ne interressante sache. es scheint auch einige leute zu geben, die damit erfahrung haben. Wenn ich so einigen aussagen aus dem buch (das ich gestern angefangen habe) folge, koennte man das glaube ich auch ganz anders "pruefen" ... aber dazu mehr, wenn ich das buch durch habe und wenn mein erstes KI projekt fertig ist (man muss ja nicht gleich ganz oben anfangen :))
um wieder zum eigentlichen projekt zu kommen; ich glaube die von den meisten favorisierte Idee ist die mit der "Landschaft", in der sich die KI zurrecht finden muss bzw in der sie aufgaben erfuellen muss. Ich wuerde mich sehr freuen, wenn die, die sich auch echt an der projektentwicklung beteiligen wollen mal dazu aeussern wuerden.
MFG dennis
Evil-Hunter
07.05.2002, 22:34
Also ich wäre erstmal für 'Käsekästchen'...
Als Sprache Python find ich mittlerweile auch ok.
Python ist garnicht so schlecht!
Python rockt!!!
Und KäseKästchen ist mein neus lieblingspiel geworden in den langweiligen Mathe und Info Stunden.
Assimilator
08.05.2002, 12:06
Kann mir ma einer ne Anleitung zu KäseKästchen geben? (oder vielleicht genügt es zu sagen wie das Spiel auf Schwyzerdütsch heisst ;) )
Ansonsten hab ich mich mal mit Python beschäftigt, hab da aber recht wenig (bis garnichts) zu GUI-Programmierung gefunden, hab kA, wie das gehen soll...
mfG Assimil8or
*gg* http://www.waste-productions.com/kaese - Das ist ein PHP -Käsekästchen mit KI - Ansatz :) Allerdings sagt er nicht, wann gewonnen bzw. verloren wurde.
solanum
Assimilator
08.05.2002, 14:16
Ahso, also jetzt ist mir alles klar, wieso sagt ihr net gleich 4Gewinnt (bzw. 3Gewinnt ;) )
Dann finde ich die Idee aber net so toll, da ist zu wenig entertainment dahinter. ;) Ich find's viel toller, wie die pod's im Spielfeld umherrennen ;)
mfG Assimil8or
nee vier gewinnt ist was ganz anderes ... :D
unbd der link der oben gepostet wurde ist auch n anderes spiel als ich meinte ... das spielfaeld bei kaese kaestchen ist aber ziemlich aenlich zu dem von XXO, nur dass das KK feld groesser ist uind man anders drauf spielt!
ich habe an meinem "heimrechner" eine anleitung ... die habe ich auch schon an diejenigen geschickt die sich fuers KI-interface team gemeldet haben. bei interesse ( Schaaf@dennis.de )
MFG dennis
Ich hab die anleitung mal angehaengt (irgendwo im netz gefunden ...)
wird noch mehr weiterentwickelt oder ist das Projekt fertig :>)
ich hab das interface vor einiger zeit fertig geschrieben ... und auch agnefangen eine beispiel/dummy KI dafuer zu schrieben ... aber ich hab gerade nen fuehrschein bekommen und da hab ich besserees zu tun als zu programmieren ;)
http://stc.no-ip.com/projects/KI/0.1/
MFG dennis