Direkt zum Hauptbereich

Rust


Ich habe mich, auf Vorschlag von Sebastian hin, die letzten Wochen mit einer Implementierung von "Vier gewinnt" in Rust versucht.

An Rust gefällt mir das Speicherkonzept, das ohne Garbage Collection, Speicherlecks und Nullpointer-Exceptions zur Compile-Zeit zu verhindern sucht.

Auch die Entwicklungsumgebung mit Cargo, der Paketverwaltung und der integrierten Testunterstützung kommt mir sehr entgegen.

Aber die Syntax erscheint mir nicht ganz rund und irgendwie inkonsistent. Die Verwendung von traits als Interfaces habe ich noch nicht durchdrungen. Und Marcos hielt ich eigentlich für ausgestorben.

Kommen wir aber zur "Vier gewinnt" Implementierung - meiner Nemesis: Ich habe mich wieder an den MinMax-Algorithmus versucht. Nach C++, Java, C# nun also in Rust. Und ich bin wieder gescheitert. Gut, der Algorithmus an sich funktioniert, ist aber entsprechend zu langsam, um ein perfektes Spiel zu spielen. Bis zu 7 Züge kann ich ihn nur voraus rechnen lassen, damit der Spieler nicht minutenlang warten muss. Und dann kann auch ich ihn noch schlagen. Bei 8 vorausberechneten Zügen hat mich das Programm geschlagen. Da konnte ich aber nebenher noch ein Buch lesen.

Es gäbe Verbesserungen des Algorithmus, wie z.B. die Alpha-Beta-Suche. Ich habe mir auch eine solche Implementierung in C++ angeschaut, aber verstehen tue ich sie nicht.

Ich gebe jetzt auch auf. Der Spaß ist jetzt irgendwie raus aus der Sache. Soll sich ein neuronalen Netz jetzt damit herum ärgern.

Nachtrag:
Nach nochmaliger Recherche bin ich noch auf andere Dokumente gestoßen. Vielleicht können die mich ja noch erhellen. Aber nur mit Widerwillen.

Kommentare

  1. Ich muss zugeben, das mit Rust war keine gute Idee von mir. Ich zumindest für meinen Teil habe enorme Schwierigkeiten mit Rust warm zu werden. Insbesondere kann ich nicht nachvollziehen, warum einfachste Konzepte wie Klassen wieder so anders gelöst werden.

    Zweitens glaube ich, Vier Gewinnt ist kein gutes Beispiel für ein Spiel, wenn man einen AI Bot entwickeln will, da man keinen Trainingspartner hat. Andere Spiele wie Tetris oder auch 2048 geben wesentlich einfacher Feedback, von dem man lernen kann. Dadurch kann man einen Bot unendlich oft gegen das Spiel trainieren lassen ohne vorher einen perfekten Gegenspieler zu implementieren.

    AntwortenLöschen
  2. Einen Tetris-Clone würde ich auch gerne mal wieder spielen.

    AntwortenLöschen

Kommentar veröffentlichen

Beliebte Posts aus diesem Blog

Vorbereitungen

Wie jeder hinreichend gebildete Mensch weiß, kommt nach der Impfung die Zombieapokalypse (ein Wort mit drei aufeinanderfolgenden Vokalen. Deswegen schreibt man es oft mit Bindestrich. Aber ich gebe Euch die volle Deutschdröhnung!) Da gilt es vorbereit zu sein. Ich habe natürlich einige Zombiefilme und -comics konsumiert. Auch einschlägige Sachbücher von Max Brooks zu dem Thema habe ich studiert ( Der Zombie Survival Guide: Überleben unter Untoten , World War Z: Operation Zombie ). Vorräte sind bereits angelegt. Das Haus muss noch zombiesicher gemacht werden. Meine Frau weigert sich aber immer noch, die Fenster zu verbarrikadieren. Uneinsichtig! Nun stehe ich hier und überlege, welches Werkzeug wohl die beste Waffe wäre, um Zombies abzuwehren.    Wachsam bleiben!

Des Kaisers

Die Sonne war noch nicht aufgegangen und die Welt lag noch im Zwielicht, als sich eine Gestalt aus dem Nebel schälte. Die Wache am Burgtor richtete sich auf. "He, wer da?" Die Gestalt gab keine Antwort. Die Wache legte ihre Hand bereits auf ihren Schwertknauf, da erkannte sie das Wappen an der Kapuze. Die Graue Eminenz! Schnell sank sie auf die Knie. "Ist Majestät Tjorven im Palast?" Die Wache nickte. Ohne ein weiteres Wort ging die Graue Eminenz durch das Tor. Als die Schritte verhalt waren, richtete sich die Wache wieder auf und sah der Gestalt hinterher. Wie vorhergesehen war sie nun also gekommen, um die Geisel auszulösen. Die Wache straffte sich und ging zurück auf ihren Posten. Doch diese kurze Ablenkung hatte ausgereicht, dass sich eine weitere Person unerlaubt Zutritt über die Burgmauer verschafft hatte. Hier beenden wir diesen kurzen Ausflug in die Welt der Fantasy. Es wird bestimmt noch blutig werden. Aber das hat uns nun nicht mehr zu interessieren. Wir w

Emanzipation 2021

  Sie: Können Sie mir bitte Die Zeitung herüber reichen? Er: Natürlich, ich schreibe nur noch schnell einige Erklärungen an die komplizierten Wörter, damit Sie als Frau sie auch verstehen. Sie: Wie bitte? Ich glaube ich höre nicht richtig. Das ist ja wohl eine unverschämte und sexistische... Er: Außerdem hänge ich an die entsprechenden Personenbezeichnungen immer noch ein *Innen an, damit Sie als Frau auch begreifen, wann Sie mitgemeint sind. Sie: Oh, vielen Dank. Ja das ist auch wirklich nötig.