| Autor |
Beitrag |
DelphiMarkus 
      
Beiträge: 303
OpenSuSE
Delphi 2009 Pro., Lazarus
|
Verfasst: Mi 26.03.08 10:31
Ich habe mir gestern überlegt, ob ich so etwas ähnliches, wie .#R4id einbaue, und ich bin zu dem Entschluss gekommen, dass ich so etwas einbaue, nur mit Schwierigkeitsgraden: Sehr Leicht, Leicht, Mittel, Schwer, Zufall.
Es wird eine weile dauern, bis ich das fertig habe, aber ich bin zuversichtlich, dass ich das schaffe. 
|
|
DelphiMarkus 
      
Beiträge: 303
OpenSuSE
Delphi 2009 Pro., Lazarus
|
Verfasst: Mi 26.03.08 15:24
So.
Die nächste Version ist nun raus. Sie steht oben im ersten Post zum Download bereit.
Die Veränderungen in dieser Version sind:
 einfache KI mit 5 Schwierigkeitsstufen
 ein richtiger Dialog für die Einstellungen
 ein Bugfix
Ich freue mich schon auf weitere Kommentare, solange sie keine heftigen Diskusionen herbeirufen. Und die Kritik nicht zu heftig wird.
Auf sowas habe ich keine Lust
|
|
DelphiMarkus 
      
Beiträge: 303
OpenSuSE
Delphi 2009 Pro., Lazarus
|
Verfasst: Mi 26.03.08 17:25
Neue Version oben.
Ich habe noch einen Bug in der KI gefixt.
Alles im ersten Post.
|
|
Delphi-Laie
      
Beiträge: 1600
Erhaltene Danke: 232
Delphi 2 - RAD-Studio 10.1 Berlin
|
Verfasst: Mi 26.03.08 17:45
Eine heftigere Kritik als die, daß das eigentliche Spiel gar nicht programmiert wurde, ist kaum denkbar und werde ich auch nicht wiederholen , und ich hoffe, daß eine solche Kritik ab sofort auch nicht mehr berechtigt ist/wäre.
Da hast Du Dir etwas vorgenommen, wozu ich Dir die Daumen drücke. Wenn man es richtig ernsthaft betreibt, wird man kaum damit fertig (womit ich Dir nicht den Mut nehmen möchte), zumal/weil
- die Spieltheorie noch voll in der Entwicklung steht und
- die ernsthate Spielprogrammierung (also spielstarker Programme, außer reinen Zufalls-/Glücksspielen, die können per se nicht spielstark sein) vom Aufwand und von der Komplexität her geradezu unsäglich ist.
Ich werde mir das anschauen (bin gespannt!) und mich bald (erneut) dazu äußern.
PSS ist somit, wenn man ernsthaft betreibt, man also gewinnen will (was eigentlich der Sinn und Zweck jedes Spieles sind), eben kein simples Spiel (wie Du es zunächst froh verkündet hattest) - ganz im Gegensatz!!
Ich hoffe und gehe aber davon aus, daß die oberen Schwierigkeitsstufen, die Du implementiert hast, nicht auf einer nicht spielregelwidrigen Mogelei beruhen, mit der sich .#R4id weiter oben brüsten wollte.
Viel Glück und Erfolg!
Netter Gruß
Delphi-Laie
|
|
Delphi-Laie
      
Beiträge: 1600
Erhaltene Danke: 232
Delphi 2 - RAD-Studio 10.1 Berlin
|
Verfasst: Mi 26.03.08 23:50
Tut mir leid, aber meine Kritik fällt wiederum vernichtend aus, diesmal sogar noch heftiger (womit ich meiner eigene Aussage weiter oben widerspreche). Ich hatte mich ohnehin schon gewundert, woher Du in der kurzen Zeit die 5 - anscheinend sogar deutlich voneinander abweichenden - Schwierigkeitsstufen gezaubert hast.
Die m.E. "schwächste sinnvolle" Spielweise kann nur die zufallsgenerierte sein. Rein statistisch gesehen muß somit der Computer, wenn ich immer das gleiche Element wähle (was ich auch tat) bei jedem 3. Versuch richtig liegen, bei jedem 3. gewinnen und beim letzten Drittel unentschieden spielen. Das Ergebnis wäre also bei zufälligen menschlichen Eingaben in etwa ausgeglichen. In der untersten Stufe jedoch verliert der Computer viel mehr, als er gewinnt. Es ist natürlich möglich, daß die statistischen Eingaben auswertet und absichtlich falsche Züge generiert. Für sinnvoll halte ich das nicht, sondern als Minimum den Zufall als Grundlage der Entscheidungen, also die Gleichverteilung der Ausgaben. Bessere Entscheidungen sind dann die intelligenteren. Hier wurde von der Nichtintelligenz, die einem Zufallsprozeß innewohnt, auf Antiintelligenz weiter herabgestuft.
Es kommt aber noch viel dicker, das vorher ist dagegen nur geringfügig: Bei "schwer" reagiert der Computer im ersten Zuge anscheinend stets in seinem Sinne. Wie ist das möglich? In einem Spiel mit "eigentlich" vollständig verborgener Information über des Gegners Zugentscheidung natürlich nur durch eine Spielmanipulation, also Verletzung der Spielregeln. Damit hast Du aus meiner Sicht einen Tabubruch begangen und ebenfalls dieses Spiel nicht implementiert. Sollst Du Dich wirklich von .#R4ids o.a. indiskutabler Idee haben inspirieren lassen? Mein diesbezüglich o.a. laut ausgesprochener Verdacht (den zu glauben ich mich innerlich weigerte) scheint sich leider doch bestätigt zu haben, Du hast den Computer bzw. sein Programm vom elektronischen Würfel zum elektronischen Mogler weiter degradiert. Siehst Du, und jetzt bekommt man auch gleich einen riesigen Vorteil von quelltextoffener Software präsentiert: Deren Programmieren kann man auf die Finger schauen, programmierter (auch wenn hier nur Spiel-)Betrug (das ist es, was Du offensichtlich getan hast) ist bei diesen so gut wie unmöglich.
Ich warte somit (aber eigentlich nicht mehr) auf eine diesem Forum vorgestellte Implementation des Spieles PSS, die dem eigentlich selbstverständlichen Anspruch, daß dieses Spiel (und zwar von seinem Charakter und Wesen her) auch wirklich programmiert wird, gerecht wird. Einen ersten, akzeptablen Ansatz dafür hatte lediglich #R4ids mit der statistischen Erfassung der relativen Häufigkeiten der Benutzereingaben vorgestellt.
Zuletzt bearbeitet von Delphi-Laie am Do 27.03.08 15:15, insgesamt 2-mal bearbeitet
|
|
DelphiMarkus 
      
Beiträge: 303
OpenSuSE
Delphi 2009 Pro., Lazarus
|
Verfasst: Do 27.03.08 10:03
Hallo.
Ich habe mir gestern abend noch einiges zur KI überlegt. Sie soll wenn möglich etwa so, wie ich, also ein Anfänger spielen würde. Sie wird also etwas taktischer.
Zur Stufe 5(Schwer):
Ich habe da noch einen Bug drin, der nicht sein sollte. Das wird behoben sein, wenn die nächste Version kommt warscheinlich heute noch.
@ DelphiLaie
Und eine KI kann immer nur so schlau und klever sein, wie sein Programmierer. Wenn der Entwickler davon nichts versteht, dann leidet das Programm darunter, daran kann man nichts ändern.
Zuletzt bearbeitet von DelphiMarkus am Do 27.03.08 13:26, insgesamt 1-mal bearbeitet
|
|
DelphiMarkus 
      
Beiträge: 303
OpenSuSE
Delphi 2009 Pro., Lazarus
|
Verfasst: Do 27.03.08 13:24
Gerade habe ich die nächste Version fertiggestellt und auch schon hochgeladen.
Ich hoffe DelphiLaie gibt sich jetzt damit mehr zu frieden, weil ich mich für die Logik in dem Programm ganz schön konzentrieren musste. Das war ganz schön anstrengend, aber ich habe es geschafft. In Stufe 5 macht es meiner Meinung nach am meisten Spass, weil der Computer mich mit meinen eigenen Gedanken manchmal austrickst.
Die Logik die nun im Programm ist, ist zwar immer noch nicht perfekt, ein Profi würde warscheinlich gewinnen, aber für "normale" Menschen schon ganz gut.
Die Veränderungen sind:
 Verbesserte KI
 Bug in der KI behoben (Danke an DelphiLaie für den Tipp, ich habe die Abfrage an eine falsche Stelle gestellt, so wusste der Computer immer was man als erstes gewählt hat und hat beim ersten Zug immer gewonnen)
Ich würde gerne noch ein paar Ideen und Fehlermeldungen bekommen, damit ich sie schnell fixen kann. Besonders in der KI sind Fehler nicht ausgeschlossen und dort sind sie besonders gemein.
Scheinbar ich DelphiLaie ein richtiger Fan dieses Spiels. 
|
|
GTA-Place
      

Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Do 27.03.08 13:34
Da muss noch ein Bug drin sein:
Wenn ich immer Stein nehme, nimmt der Computer entweder auch Stein oder Papier.
Wenn ich immer Schere nehme, nimmt der Computer abschwechselnd Schere, Stein, Papier.
Wenn ich immer Papier nehme, nimmt der Computer entweder nur Schere, nur Stein oder nur Papier.
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
|
DelphiMarkus 
      
Beiträge: 303
OpenSuSE
Delphi 2009 Pro., Lazarus
|
Verfasst: Do 27.03.08 13:46
Ich werde mal sehen.
Auf welcher Schwierigkeitsstufe steht es denn?
Bei sehr Leicht oder Leich kann das schon sein aber auch bei Mittel.
Bei Zufall wäre es ja auch klar.
|
|
GTA-Place
      

Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Do 27.03.08 14:15
Stand auf "schwer".
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
|
DelphiMarkus 
      
Beiträge: 303
OpenSuSE
Delphi 2009 Pro., Lazarus
|
Verfasst: Do 27.03.08 14:17
Ok, dann ist da auf jeden Fall ein Bug drin.
Suche noch danach, habe ihn bis jetzt nicht gefunden, bin aber auch erst bei Mittel.
Edit:
Ich kann den Bug nicht finden ist eigentlich alles richtig, aber eigentlich doch nicht, außerdem:
Wer spielt denn so?
Bringe morgen noch mal eine komplett überarbeitete KI raus. Für heute habe ich genug, war ja auch ganz schön anstrengend.
|
|
Delphi-Laie
      
Beiträge: 1600
Erhaltene Danke: 232
Delphi 2 - RAD-Studio 10.1 Berlin
|
Verfasst: Do 27.03.08 15:40
DelphiMarkus hat folgendes geschrieben: | @ DelphiLaie
Und eine KI kann immer nur so schlau und klever sein, wie sein Programmierer. Wenn der Entwickler davon nichts versteht, dann leidet das Programm darunter, daran kann man nichts ändern. |
Das ist eine Binseinweisheit. Künstliche Intelligenz ist modellierte und bis heute (soviel ich weiß) ausschließlich algorithmische bzw. algorithmierte Intelligenz, läßt sich also programmatisch implementieren.
Sollte das Level "schwierig" fehlerhaft sein, dann nehme ich meine diesbezügliche Kritik zurück. Allerdings ist mir unklar, wie dieser Fehler überhaupt zustande kam. Die aktuellen Eingabe des Nutzers wird zweifelsohne aufgegriffen, ausgewertet, zur Antwort des Computers herangezogen. Ich vermute, daß Dein Programm voreilig bereits die aktuellen Nutzerentscheidung in eine statistische Auswertung vor seiner Entscheidung einfließen läßt. Bei nur einer Nutzereingabe wird dann diese fehlerhafte Abarbeitungsreihenfolge als "Computerschummelei" offensichtlich. Laß Dein Programm doch unbedingt (!) einfach vor der Nutzereingabe (natürlich unangezeigt) entscheiden! Selbst dann, wenn die letzte eingegebenen Entscheidung in eine bloße statistische Auswertung vor Ausgabe der Programmentscheidung mit einbezogen wird, wäre das i.S. der Spielregel(n) von PSS nicht redlich.
Beim PSS gibt es jedoch gar keine Antworten, es wird nicht abwechselnd gezogen wie bei vielen anderen Spielen. Die Gleichzeitigkeit beim Offenlegen der Entscheidungen ist ein wesentliches Merkmal. Mit einem Computer ist das natürlich unmöglich. Entscheidend ist, daß keiner der Spielpartner eine Information erhält (bzw. auswertet, in die eigene Entscheidung mit einbezieht), wie der Spielpartner gerade entschieden hat, dann reicht das als Ersatz für die fehlende Gleichzeitigkeit völlig aus.
Wie ich Deine und die übrigen Programme teste, hast Du inzwischen vermutlich mitbekommen. Mit recht brachialen, simplen Eingabedaten, die aber geeignet sind, diesen Programmen, insbesondere der eigentlichen Umsetzung des (Wesens des) Spieles auf den Zahn zu fühlen.
Beim realistischen PSS gibt es solche Spielstärkenunterschiede, wie sie Dein Programm teilweise erzeugt, nicht. Um es mal übertrieben zu verdeutlichen: Z.B. in der Weise, daß die Punkteverteilung 20% zu 80% beträgt. Vielleicht 45% zu 55%, wenn es hochkommt, dann womöglich auch 40% zu 60% (grob über den Daumen geschätzt). Große Unterschiede sind aber auch nicht unbedingt nötig: Ein Quentchen über 50% ist bei der Auswertung schließlich für den Sieg ausreichend (es zählt eben nur, "was hinten rauskommt"). Und dafür sind möglichst viele Einzelrunden wegen des Gesetzes der großen Zahlen zu spielen. Oft ist wirklich nur eine Nuance des einen Algorithmus' besser und entscheidend für den Sieg (was dann aber möglichst viele Runden benötigt, um (möglichst sicher) zu wirken) - aber das ist mit anderen Spielprogrammen ja schließlich genauso.
Gegen einen echten Zufallsprozeß, wie ihn z.B. ein Würfel erzeugt, wäre man insofern chancenlos, als daß man diesen nicht im Sinne des eigenen Sieges sicher "knacken" kann. Allerdings hat ein solcher Null-Intelligenz-Prozeß (s. mein Beitrag weiter oben, habe ich noch was ergänzt) auch Null-Spielkraft, man kann mit der gleichen Entscheidung immer wieder gefahrlos antreten (wie ich es schon darlegte). Gegen einen Pseudozufallsprozeß, wie ihn Algorithmen (Software-Zufallsgeneratoren) liefern, hat man jedoch eine, nämlich dann, wenn man das bißchen Nicht-Zufälligkeit entdecken und für sich ausnutzen kann. Diese Chance ist zwar, selbst, wenn sie geschickt programmatisch ausgewertet und beantwortet wird, immer noch minimal, aber sie ist vorhanden und führt wegen des Gesetzes der großen Zahlen mit Sicherheit zum Sieg, wenn die Anzahl der Runden nur entsprechend groß gewählt wird.
Ich hoffe, daß meine fast schon ellenlangen Quasimonologe einen Einblick davon gegeben haben, welch unsäglich aufwendige und subtile, aber auch reizvolle und erfolgreiche* Tätigkeit die Programmierung von Zwei- oder Mehrpersonen-Nichtglücksspielen sein kann.
*Schließlich gibt es ja auch Weltmeisterschaften für Schachprogramme.
|
|
DelphiMarkus 
      
Beiträge: 303
OpenSuSE
Delphi 2009 Pro., Lazarus
|
Verfasst: Do 27.03.08 17:24
Ich versuche es ja eine möglichst gute KI zu machen, nur leider habe ich darin keine Erfahrung und in Delphi bin ich auch noch Anfänger. Außerdem ist das sehr schwer. In der Delphi-Praxis sagt jemand:
| Zitat: | Also das Programm funktioniert schon, aber irgendwie macht es keinen Spaß, ich weiß auch nicht warum. Der KI ist auch seltsam-
Aber ich wüsste nicht wie ichs anders machen würde, von dem her ist es schon in ordnung |
Das nenne ich fair!!
Morgen kommt eine neue bessere Version.
Und außerdem weiß der Computer erst nach der Auswertung und der Anzeige, was der Spieler genommen hat. Und nicht bevor er gewählt hat, ich weiß also garnicht, was du damit sagen willst. Ich werde den Code ja wohl am besten kennen kennen.
Beim den ersten 2 Malen kann das sein, weil da per Zufall entschieden wird, du musst tiefer und eingehender und nicht nur "oberflächlich" testen.
Irgendwann ist auch die menschliche Gedult zu Ende, anders als bei Computern, denen ist es egal!
|
|
Gausi
      
Beiträge: 8554
Erhaltene Danke: 480
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Do 27.03.08 18:03
Bevor der Ton hier weiter in Richtung leicht aggressiv abdriftet (was bisher nicht der Fall ist, aber Tendenzen sind meiner Meinung nach durchaus erkennbar), möchte ich ein kleines Zitat aus "Men in Tights" bringen. Nämlich die Stelle, an der Robin und seine noch unvollständige Crew an eine Brücke kommen, an der Little John Wegezoll kassieren will, was zu einer recht heftigen Diskussion führt. Hatschi versucht eine Deeskalations-Strategie, in etwa so:
| Hatschi hat ungefähr folgendes gesagt: | Leute, wir stehen hier nicht gerade am Mississippi... |
Und ja, ich weiß, dass es hier ums Prinzip geht. Aber nicht, dass hier hinterher einer nicht schwimmen kann und zu ertrinken droht! 
_________________ We are, we were and will not be.
|
|
Delphi-Laie
      
Beiträge: 1600
Erhaltene Danke: 232
Delphi 2 - RAD-Studio 10.1 Berlin
|
Verfasst: Do 27.03.08 21:22
DelphiMarkus hat folgendes geschrieben: | | Ich versuche es ja eine möglichst gute KI zu machen |
Das glaube ich Dir gern. Das ist ja auch zu spüren.
DelphiMarkus hat folgendes geschrieben: | | nur leider habe ich darin keine Erfahrung und in Delphi bin ich auch noch Anfänger. |
Jeder fängt beim Punkt Null an (zum Glück, aber eben auch keine Entschuldigung). Und mit Delphi hat das gar nichts zu tun (aus der einen Richtung betrachtet, zum Glück!). Das ist viel abstrakter, losgelöst von der eigentlichen Programmierumgebung. Wenn Du ein Programm soweit gebracht hast, wie Du es hier vorgestellt hast, dann beherrschst Du alle wesentlichen, benötigten Programmierelemente mit Leichtigkeit. Die Schwierigkeit liegt in der Komplexität der eingesetzten Analyse-/Auswertungsmethoden (überwiegend Mathematik) und des Algorithmus'!
DelphiMarkus hat folgendes geschrieben: | | Außerdem ist das sehr schwer. |
Wem sagst Du das. Natürlich ist das schwierig, extrem schwierig sogar. Falls Du jetzt glaubst, ich will Dich mit aller Gewalt dorthintreiben (was ich ohnehin nicht schaffen würde): Nein, ich wollte Dir nur aufzeigen, was es (für einen Aufwand) bedeutet, wenn man einem Programm das Spielen von PSS beizubringen. Zum Spielen gehört das Bestreben, selbst zu gewinnen und dem Gegner das zu verwehren.
DelphiMarkus hat folgendes geschrieben: | Also das Programm funktioniert schon, aber irgendwie macht es keinen Spaß, ich weiß auch nicht warum. Der KI ist auch seltsam-
Aber ich wüsste nicht wie ichs anders machen würde, von dem her ist es schon in ordnung
Das nenne ich fair!! |
Fair? Ansichtssache. Es ist jedenfalls Kritik, die gewiß nicht substantiell ist und sicher auch kaum wehtut, also so richtig schön bequem ist. Aber hilft Dir eine solche Unsubstanz weiter? Wer außer mir hat Dir denn mitgeteilt, daß man mit diesem Spiel im engeren Sinne gar nicht spielen kann und daß Du dieses Spiel überhaupt nicht modelliert hast?
Du willst mir damit anscheinend außerdem signalisieren, daß ich unfair bin. Falls dem so ist: Das finde ich wiederum unfair, und zwar nicht zu knapp. Schau Dir mal an, wer welchen Aufwand getrieben hat, wer Dir welche Tips gegeben hat. Waren es - im wahrsten, eigentlichen (nicht übertragenen!) Sinne des Wortes - oberflächliche oder substantielle Tips? Wenn man
- einem Programm die dämlichsten Eingaben anbietet und dieses dann daraus den Nutzen zu ziehen leider ebenso zu dämlich ist (Entschuldigung!),
- keiner der beiden Spieler eine echte, aus eigenen Kräften erspielbare Chance zu gewinnen oder zu verlieren hat (sondern das alles reiner Zufall ist),
dann ist das kein Programm, das ein eigentlich subtiles, psychologisches und strategisches Spiel simuliert, modelliert, spielt (was auch immer), sondern (fast) nur die Oberfläche desselben und leider ein Totlangweiler (wie ein Würfel oder eine Münze - beim Spielautomaten, Roulette und Lotto, alles ebenfalls reine Glücksspiele, geht es wenigstens noch um Geld, viel Geld sogar, was deren Reiz und mithin Kurzweile vermutlich ausmacht).
Nachdem Du - im Gegensatz zu den anderen Programmautoren - erstaunlich viel menschliche Größe gezeigt hattest, ich erinnere:
DelphiMarkus hat folgendes geschrieben: | | Keine Angst, du hast vollkommen recht. |
, und was mich erstaunt und erfreut hatte, scheinst auch Du nunmehr die Nerven zu verlieren, schade. Meine Absicht ist das jedenfalls nicht.
DelphiMarkus hat folgendes geschrieben: | | Also das Programm funktioniert schon, aber irgendwie macht es keinen Spaß, ich weiß auch nicht warum. |
Ich hoffe, daß Du es nach meinen Worten nunmehr ahnst.
Davon abgesehen: Ein Mensch kann gar nicht alle solche statistischen Eingaben behalten. Und selbst, wenn ein Mensch ein Quentchen stärker als ein Computer spielt (was ich wegen des Unvermögens, alle diese Eingaben zu behalten und auszuwerten, bezweifele): Es wären einfach zu viele Runden erforderlich, um einen nennenswerten Vorsprung herauszuholen. Ich schätze mal, daß ein Mensch gar nicht diese Geduld bzw. Ausdauer hätte. Gegen einen Computer mit guter KI (die ja mit Exaktheit und dem Behalten sämtlicher Daten einhergehen kann und wird!) hätte ein Mensch keine Chance. Mensch gegen Mensch und Programm gegen Programm sind dann zwei unterschiedlichen Ligen (letztere die höhere). Bei den Schachprogrammen ist dieser Zustand inzwischen ja quasi schon eingetreten.
DelphiMarkus hat folgendes geschrieben: | | Und außerdem weiß der Computer erst nach der Auswertung und der Anzeige, was der Spieler genommen hat. Und nicht bevor er gewählt hat, ich weiß also garnicht, was du damit sagen willst. Ich werde den Code ja wohl am besten kennen kennen. |
Ja sicher kennst (nur) Du diesen, wer wollte diese Binsenweisheit abstreiten. Dann hast Du aber ein Erklärungsproblem: Wie kann das Programm im Schwierig-Level im ersten Zug (anscheinend) immer die für sich günstigen Entscheidung fällen? Das ist definitiv unplausibel - Zufallsereignisse sehen anders aus. Wie kannst Du das plausibel und ohne Manipulation / Bug erklären? Das Programm muß die menschliche Entscheidung bereits kennen, verarbeiten und als Grundlage seiner Entscheidung verwenden - oder Du widerlegst meine Behauptung. Falls mein Horizont nicht ausreicht, eine andere Ursache zu vermuten: Nur Du kannst die wahre Ursache wissen: Dann tu es doch bitte auch, dieses Rätsel hier aufzulösen!
DelphiMarkus hat folgendes geschrieben: | | Irgendwann ist auch die menschliche Gedult zu Ende, anders als bei Computern, denen ist es egal! |
Bei menschlichen Spielern ohnehin (s.o.). Ab wenn gilt das aber auch für Dich als Progrmmierer? Wenn Dir noch irgendetwas einfällt/einfiele, was über die Verarbeitung der relativen Häufigkeiten in .#R4ids Programm hinausgeht/hinausginge, dann hast/hättest Du die Nase vorn, das PSS-Spitzenpogramm dieses Forums. Nur mal eine beispielhafte Idee (die ist aber auch nur von einer anderen (sprachwissenschatlichen) Angelegenheit "raubkopiert", ich habe mich auch noch nie mit der PSS-Programmierung beschäftigt): Die Wahrscheinlichkeit, mit der auf ein Element das nächste folgt (also z.B. spielt jemand nach der Schere häufiger den Stein als das Blatt aus). Oder das Programm stellt fest, daß der Mensch bevorzugt das Element wählt, mit dem er vorher vom Computer geschlagen wurde (psychologische Komponente!!). Usw. usf. - so etwas zu programmieren, könnte (?) eine elende Fummelei sein, aber das macht das Wesen von PSS aus.
|
|
DelphiMarkus 
      
Beiträge: 303
OpenSuSE
Delphi 2009 Pro., Lazarus
|
Verfasst: Fr 28.03.08 09:33
DelphiLaie hat folgendes geschrieben: | DelphiMarkus hat folgendes geschrieben: | | Und außerdem weiß der Computer erst nach der Auswertung und der Anzeige, was der Spieler genommen hat. Und nicht bevor er gewählt hat, ich weiß also garnicht, was du damit sagen willst. Ich werde den Code ja wohl am besten kennen kennen. |
Ja sicher kennst (nur) Du diesen, wer wollte diese Binsenweisheit abstreiten. Dann hast Du aber ein Erklärungsproblem: Wie kann das Programm im Schwierig-Level im ersten Zug (anscheinend) immer die für sich günstigen Entscheidung fällen? Das ist definitiv unplausibel - Zufallsereignisse sehen anders aus. Wie kannst Du das plausibel und ohne Manipulation / Bug erklären? Das Programm muß die menschliche Entscheidung bereits kennen, verarbeiten und als Grundlage seiner Entscheidung verwenden - oder Du widerlegst meine Behauptung. Falls mein Horizont nicht ausreicht, eine andere Ursache zu vermuten: Nur Du kannst die wahre Ursache wissen: Dann tu es doch bitte auch, dieses Rätsel hier aufzulösen! |
Hast du vielleicht noch eine ältere Version, in 1.7.7.1 war da noch ein Bug, in 1.7.7.5 ist er aber nicht mehr.
Ich glaub da ist noch ein Bug, nur wie der zustande kommt weiß ich nicht.
|
|
DelphiMarkus 
      
Beiträge: 303
OpenSuSE
Delphi 2009 Pro., Lazarus
|
Verfasst: Fr 28.03.08 10:45
In Version 1.7.7.5 war noch ein Bug drin, der ist jetzt behoben.
Download im ersten Post.
Die KI die jetzt eingebaut ist soll erstmal auch so bleiben.
|
|
GTA-Place
      

Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Fr 28.03.08 10:47
Es gibt - für die, die es nicht wissen - eine RPS-Weltmeisterschaft. Und ich bin grad auf ein Interview aus der FAZ gestoßen, wohl etwa von 2004, geführt mit Jason Simmons, einem Kommentator der WM bei Fox Sports Network:
| Jason Simmons hat folgendes geschrieben: | Es ist ein Sport, in dem es nur auf Geschick, nur auf Strategie ankommt. Viele der Top-Spieler haben verschiedene Strategien. Glück spielt dabei kaum eine Rolle. […] “Schere, Stein, Papier” ähnelt mehr dem Schach.
[…]
Ich bin, auch wenn sich das immer mal wieder ändert, ein Fan des “Scheren-Sandwich”: Papier, Schere, Papier. Es ist ein subtil defensives Gambit, aber die Schere in der Mitte hat eine ziemliche Wucht. Wenn Ihr Gegner eher offensiv spielt, ist das Papier am Ende sehr wirkungsvoll.
[…]
Nicht zu wissen, was man tut, einfach die Figur zu werfen, die einem in den Sinn kommt, ist bei “Schere, Stein, Papier” auch eine Strategie: Das “Chaos-Spiel”.
Ja, aber das ist, als ob man eine Münze wirft. Ein großer Spieler wird man nicht werden. wenn man sich dem Zufall überlässt. Verstehen Sie mich nicht falsch, es gibt Momente, in denen das Chaos-Spiel funktioniert. Aber es gibt auch Momente, da braucht man höher entwickelte Strategien.
[…] |
Und ehrlich gesagt: Dieses Zitat trifft den nagel haargenau auf den Kopf. Deshalb dachte ich, ich poste das hier auch mal.
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
Zuletzt bearbeitet von GTA-Place am Fr 28.03.08 13:57, insgesamt 1-mal bearbeitet
|
|
DelphiMarkus 
      
Beiträge: 303
OpenSuSE
Delphi 2009 Pro., Lazarus
|
Verfasst: Fr 28.03.08 11:08
| Zitat: | | Und ehrlich gesagt: Dieses Zitat trifft den Nagel haargenau auf den Kopf. Deshalb dachte ich, ich poste das hier auch mal. |
Das stimmt genau!
Aber es ist einfach sehr schwer das den Computer beizubringen. Deshalb bin ich mit meiner Leistung vollkommen zufrieden. 
|
|
Delphi-Laie
      
Beiträge: 1600
Erhaltene Danke: 232
Delphi 2 - RAD-Studio 10.1 Berlin
|
Verfasst: Fr 28.03.08 13:33
| Zitat: | | Glück spielt dabei kaum eine Rolle. |
Ansicht- und Definitionssache. Die erste Entscheidung - Spielern, gegen die man noch nie gespielt hat - mag tatsächlich aus der Sicht des jeweils anderen wie reiner Zufall anmuten (sie ist es aber nicht im mathematischen Sinne). Doch PSS besteht aus vielen Runden. Bereits ab der zweiten ist die Intuition, das Bauchgefühl gefragt, später zunehmend auch die subtile Erfassung des gegnerischen und womöglich auch eigenen Spielverhaltens (z.B. in Form - wie auch immer gearteter auffälliger - statistischer Merkmale).
| Zitat: | | Schere, Stein, Papier” ähnelt mehr dem Schach. |
Aus dieser ein(seitige)n Perspektive betrachtet, kann man dem fast mit "jein" zustimmen. Schach und PSS ähneln sich nämlich nahezu überhaupt nicht. Sie haben nur eines gemeinsam: Das Fehlen jeglicher Zufallsereignisse, sie basieren ausschließlich auf menschlichen Entscheidungen (die keine zufälligen im engeren, eigentlichen Sinne sind).
PSS und die (bei Jörg Bewersdorff so genannten) rein kombinatorischen Spiele wie Schach, Go, Dame, Mühle, Halme etc. und die an gleicher Stelle so genannten rein strategischen Spiele (von denen PSS wohl der bekannteste Vertreter ist) sind sich genauso entfernt wie diese beiden Spielklassen/-typen von den reinen Glückspielen. Die reinen Glücksspiele (Roulette, Lotto, Würfeln), die rein kombinatorischen und die rein strategischen Spiele sind Pole und bilen als solche die Eckpunkte eines Dreiecks, sie sine mithin also gleich weit voneinander entfernt.
Beispiele, die die völlige Verschiedenheit der kombinatorischen (1inks) und der strategischen (rechts) dieser Spieltypen charakterisieren:
- Zeitkomponente: abwechselndes bzw. gleichzeitiges Ziehen
- Informationskomponente: vollständige Information bzw. vollständig fehlende Information
Gemeinsam ist beiden lediglich, daß es überhaupt keine Glückspiele i.S. von Zufallsereignissen sind (und damit den Gegensatz zu den reinen Glücksspielen aufspannen). Zwar erscheint jeweils die Entscheidung des einen Spielers aus der Perspektive des anderen zufällig (das ist sogar bei beiden Spielklassen so), sie ist es aber nicht im Sinne eines (echten) Zufallsereignisses, denn sie basiert auf menschlichen Entscheidungen.
Apropos menschliche Entscheidungen: Menschen können, selbst wenn sie es woll(t)en, keine guten Zufallsgeneratoren abgeben (und wäre mithin auf diese Weise auch nicht in der Lage, mit ihren "Pseudo-Pseudo-Zufallsentscheidungen" einem halbwegs künstlich-intelligenten PSS-Spiel Paroli zu bieten).
Dem Rest Jason Simmons' Wörter kann ich mich jedoch voll anschließen!
Zuletzt bearbeitet von Delphi-Laie am Fr 28.03.08 14:11, insgesamt 4-mal bearbeitet
|
|
|