Die KI DeepNash meistert Stratego

Autor*innen: Jessica Arnold und Jan Heinemeyer

DeepNash ist die neue KI der Firma Deepmind, die erstmals in der Lage ist das Brettspiel Stratego trotz unvollständiger Informationen zu meistern.


Darstellung des Brettspiels Stratego [3 ]

Inhalt

Die neue KI DeepNash

Während die künstliche Intelligenz „AlphaZero“ Schach und „MuZero“ als Nachfolger verschiedene Spiele der Spielkonsole Atari meisterte, veröffentlichte die Firma Deepmind die nächste Entwicklungsstufe. Diese KI trägt den Namen DeepNash. AlphaZero meisterte Brettspiele mit klaren Regeln über ein modell-basiertes Training und MuZero, die schwer in Regeln auszudrückenden Atari-Spiele durch ein modell-freies Training. DeepNash hingegen legt sowohl die Spielregeln wie auch das Modell eines Spiels für die Planung fest. Die Besonderheit ist hierbei, dass von der gängigen Methode der Monte-Carlo-Baumsuche abgewichen wird. In der nachfolgenden Tabelle wird die unterschiedliche Komplexität von Brettspielen nochmals deutlich. [1][6]

SchachPokerGo 19*19Stratego
durchschnittliche Züge je Spiel60153001000
mögliche Startaufstellungen110611066
Komplexität des Spielbaums1012310171036010535
Übersicht der Komplexität unterschiedlicher Brettspiele [3]

Die Nash-Spieltheorie

Das Besondere an DeepNash ist, dass es in den Spielen versucht ein Nash-Gleichgewicht zu erreichen. Hierdurch verläuft das Spiel stabil. Das Nash-Gleichgewicht ist nach dem Spieltheorie-Mathematiker Jon Forbes Nash benannt. Die Theorie folgt der Annahme, dass ein Abweichen der Strategie zu einem schlechteren Ergebnis führt. DeepNash und das Nash-Gleichgewicht folgen also konstant einer Strategie. Infolgedessen hat DeepNash mindestens eine 50%ige Chance zu gewinnen. [1][3]

Die KI DeepNash spielt Stratego

Youtube-Kanal Deepmind: Die erste Stratego Partie von DeepNash gegen einen menschlichen Gegner[2]

Die KI DeepNash nahm als Trainingsgrundlage das Brettspiel Stratego. Das Brettspiel hat im Schnitt 381 Spielzüge und die besondere Schwierigkeit, dass nicht alle Informationen von Beginn an gegeben sind, da mit verdeckten Figuren gespielt wird und der Gegner mit Hilfe von Bluffs i.d.R. seine Taktik verschleiert. Optimale Spielabläufe gibt es nicht, da die Züge inkonsequent sind, das heißt jederzeit ist das Spielergebnis offen. Es wird daher anders als beim Schach nicht in Zügen, sondern in Spielen gedacht. [1][3]

Die optimale Strategie in Stratego erreicht die KI nach 5,5 Milliarden simulierten Partien. [1] DeepNash besiegte damit 97% der derzeitigen Computersysteme und erreichte eine Siegesquote von 84% gegen menschliche Spieler auf der Online-Stratego-Plattform Gravon. DeepNash gelangte damit in die Top 3 der dortigen Bestenliste. Eine weitere Besonderheit der KI stellte die Anwendung menschlicher Spielstrategien dar. So zeigte DeepNash das Bluffen oder auch das Opfern von Figuren als Taktik. Der Algorithmus „Regularised Nash Dynamics“ (R-NaD) wird außerdem für Forschende als OpenSource Download auf Github zur Verfügung gestellt. [1][4][5]

Ausschnitt aus der OpenSource Publikation zu DeepNash[7]

Zukünftige KI Anwendungsfelder

DeepNash ist die nächste Weiterentwicklung, um Menschen in Brettspielen zu übertrumpfen und wird künftig als Grundlage für alltägliche Herausforderungen genutzt werden können. Insbesondere mit unvollständigen Informationen zu arbeiten stellt einen weiteren Meilenstein dar, der in der Lage ist bei komplexen Problemen wie der Optimierung des Verkehrssystems oder auch im Bereich des autonomen Fahrens – wie auch MuZero zuvor – einen Beitrag leisten zu können. [3][4][6]

Quiz

Teste nun dein Wissen über DeepNash in einem kleinen Quiz.

Über die Autoren

Die Autorin Jessica Arnold arbeitet derzeit in der Hochschulbibliothek Emden und studiert berufsbegleitend Informationsmanagement an der Hochschule Hannover.

Der Autor Jan Heinemeyer arbeitet derzeit in der Stadtbücherei Penzberg und studiert berufsbegleitend Informationsmanagement an der Hochschule Hannover.

Beide Autoren eint das private Interesse an Informatik, Gaming, KI und Brettspielen.

Quellen:

Fußnoten:

1: Bastian, Matthias (2022)

2: DeepMind (2023)

3: Perolat, Julien u.a. (2023)

4: Meier, Christian J. (2022)

5: Menge-Sonnentag, Rainald (2022)

6: Schreiner, Maximilian (2020)

7: Perolat, Julien u.a. (2022)

Literaturverzeichnis:

Bastian, Matthias (2022): Deepminds neue Spiele-KI soll ein Game-Changer in der echten Welt werden. . In: THE-DECODER.de, Ausgabe vom 04.12.2020. Online verfügbar unter https://the-decoder.de/deepminds-neue-spiele-ki-soll-ein-game-changer-in-der-echten-welt-werden/, zuletzt geprüft am 05.01.2023.

DeepMind (2023): DeepNash Stratego game 1. Online verfügbar unter https://www.youtube.com/watch?v=HaUdWoSMjSY, zuletzt aktualisiert am 05.01.2023, zuletzt geprüft am 05.01.2023.

Meier, Christian J. (2022): Künstliche Intelligenz spielt Stratego und besiegt Menschen: ein Durchbruch. In: Süddeutsche Zeitung, 02.12.2022. Online verfügbar unter https://www.sueddeutsche.de/wissen/kuenstliche-intelligenz-stratego-brettspiel-durchbruch-menschen-1.5707877, zuletzt geprüft am 05.01.2023.

Menge-Sonnentag, Rainald (2022): KI meistert nächstes komplexes Brettspiel: DeepNash siegt in Stratego. In: heise online, 05.12.2022. Online verfügbar unter https://www.heise.de/news/KI-meistert-naechstes-komplexes-Brettspiel-DeepNash-siegt-in-Stratego-7365933.html, zuletzt geprüft am 05.01.2023.

Perolat, Julien u.a. (2022): Mastering the Game of Stratego with Model-Free Multiagent Reinforcement Learning. Online unter https://arxiv.org/pdf/2206.15378.pdf [Abruf am 07.01.2023]

Perolat, Julien u.a. (2023): Mastering Stratego, the classic game of imperfect information. Online verfügbar unter https://www.deepmind.com/blog/mastering-stratego-the-classic-game-of-imperfect-information, zuletzt aktualisiert am 05.01.2023, zuletzt geprüft am 05.01.2023.

Schreiner, Maximilian (2020): Deepmind MuZero: Auf dem Weg zum Universalalgorithmus. In: THE-DECODER.de, Ausgabe vom 24.12.2020. Online unter https://the-decoder.de/deepmind-muzero-auf-dem-weg-zum-universalalgorithmus/#top, zuletzt geprüft am 05.01.2023.

Ist Python die Programmiersprache der Zukunft?

Autor*innen: Ömer Topcu und Anela Iljijazi

Python ist eine Programmiersprache, deren wichtigstes Merkmal die Einfachheit ist. Sie wird von einer aktiven Community auf der ganzen Welt entwickelt. Programmiersprachen sind für sich genommen vielfältig einsetzbar und werden gerade im Bereich der künstlichen Intelligenz häufig eingesetzt. Python hat Zukunft und hat sich dieses Jahr erneut vor Java auf Platz 2 der meistgenutzten Sprachen festgesetzt.

Python ist eine weit verbreitete Programmiersprache, welche von Guido van Rossum entwickelt und 1991 veröffentlicht wurde. Sie wird für Webentwicklung, Softwareentwicklung, Mathematik und Systemskripting verwendet und wurde mit dem Ziel einer guten Lesbarkeit von Programmen entwickelt . Ursprünglich wurde sie als Unterrichtssprache in der höheren Bildung und Ausbildung verwendet. Zudem ist sie plattformunabhängig und kann auf Mac, Windows und anderen Betriebssystemen ausgeführt werden.

Was kann man mit Python machen?

Python kann verwendet werden, um Webanwendungen auf dem Server zu erstellen. Darüber hinaus kann Python mit Software verwendet werden, um Workflows zu erstellen. Python kann Dateien lesen und ändern und sich mit Datenbanksystemen verbinden. Es wird häufig verwendet, um große Datenmengen zu verarbeiten und komplexe mathematische Berechnungen durchzuführen.

Warum Python verwenden?

Python ist plattformübergreifend und das bedeutet, dass es auf verschiedenen Plattformen, wie Windows, Mac usw. ausgeführt werden kann. Es hat eine einfache Grammatik, welche der englischen ähnelt. Seine Syntax ermöglicht es Entwicklern, Programme in weniger Zeilen zu schreiben. Python bietet auch Rapid Prototyping an. Python läuft also auf einem Interpretersystem, was bedeutet, dass Code ausgeführt werden kann, sobald er geschrieben ist. Diese Programmiersprache ist sehr flexibel und kann prozedural, objektorientiert oder funktional angegangen werden.

Historik:

Die Programmiersprache Python wurde Anfang der 1990er Jahre vom Niederländer Guido van Rossum am Centrum voor Wiskunde en Informatica (CWI) in Amsterdam entwickelt. Guido van Rossum lernte Programmieren während seines Mathematikstudiums an der Universität Amsterdam, denn er arbeitete dort als Wissenschaftler und entwickelte später eine neue Programmiersprache, um Basic zu ersetzen. Dies ist notwendig, da Wissenschaftler in der Lage sein müssen, sich selbst zu programmieren. Python begann als Skriptsprache für das verteilte Betriebssystem Amoeba. Python wurde als Nachfolger der ABC-Lehrsprache entwickelt und sollte auf dem verteilten Betriebssystem Amoeba laufen. Guido van Rossum war auch an der Entwicklung der ABC-Sprache beteiligt und somit fließen seine Erfahrungen mit ABC also auch in Python ein. Er bezeichnet sich selbst als Nerd und Computerfreak. Van Rossum, der 2019 in den Ruhestand ging, aber 2021 zu seinem derzeitigen Arbeitgeber Microsoft zurückkehrte, sagte:

Ich habe mich entschieden, zu meinen Wurzeln zurückzukehren.“ (Vgl. Guido vaan Rossum)

Abbildung 3, Python Entwickler, Guido van Rossum

Vorteile von Python:

  • Python ist kostenlos und kann für viele Betriebssysteme heruntergeladen werden
  • Python ist sehr schnell und einfach zu erlernen
  • Python ist eine sehr vielfältige Programmiersprache 
  • wird ständig weiterentwickelt und aktualisiert
  • Der Python-Code gilt als besonders gut lesbar, was mit dem vorgegebenen strukturierten Programmierstil zusammenhängt 
  • Sie wird von viele große Firmen wie Google, Dropbox, Mozilla genutzt
  • Große Community 
  • Es kommt mit weniger Code als andere Programmiersprachen zu gleichen Ergebnissen

Nachteile von Python:

  • Python ist im Vergleich  zu anderen Programmiersprachen langsam 
  • Python wird zurzeit in 2 Versionen eingesetzt (Python2 und Python3)
  • Mit Python lassen sich auch Spiele programmieren

Anwendungsbereiche:

Python wird in vielen Bereichen in unserem Leben angewendet. Die bekanntesten Bereiche sind Webentwicklung, Spielentwicklung, Data Science und Machine Learning. 

1. Webentwicklung

Python unterstützt plattformübergreifende Betriebssysteme, was das Erstellen von Anwendungen erleichtert. Weltbekannte Anwendungen wie Drop oder YouTube verwenden Python, um gut zu funktionieren. Python wird für die Webentwicklung verwendet, dazu wird es vereinfacht und schnell, Webanwendungen zu erstellen. Aber wie ist das möglich? Pythons Framework zum Erstellen von Anwendungen macht dies möglich. Es gibt ein System zum Erstellen dieser Frameworks und eine Reihe von Bibliotheken, die verwendet werden können, um Protokolle wie HTTPS, FTP, SSL zu integrieren, um beispielsweise E-Mails zu verarbeiten. Die beliebtesten Frameworks sind Pyramid und Flask. 

2. Spielentwicklung

Python wird für interaktive Spiele verwendet. Es gibt Bibliotheken wie PySoy, eine 3D-Game-Engine, die Python 3 unterstützt, oder PyGame, eine Bibliothek, welche die Funktionalität bereitstellt. Populäre Spiele wie Online, Vega Strike, Civilization-IV wurden mit Python erstellt.

3. Data Science

Daten sind Geld, denn sie können Ihre Gewinne steigern, wenn Sie wissen, wie Sie relevante Informationen extrahieren, die Ihnen helfen, Ihr Risiko besser zu kalkulieren. Sie können Daten analysieren, verschiedene Operationen durchführen und notwendige Informationen extrahieren. Pandas oder NumPy (Bibliotheken) helfen dir dabei.

Mit Datenbanken wie Seaborn und Matplotlib können Sie Daten visualisieren.

4. Machine Learning

Wir entwickeln Algorithmen, die Computer selbst lernen lassen. Wir sind diejenigen, die sich darum kümmern. Python unterstützt diese Branche durch viele vorhandene Bibliotheken wie NumPy und Pandas.

Lernen Sie Algorithmen, verwenden Sie Bibliotheken und Sie haben eine Lösung für KI-Probleme. Ganz einfach. Wenn Sie jedoch den harten Weg gehen möchten, können Sie den Code selbst entwerfen, wenn er eine bessere Lösung bietet.

Was sind Funktionen in Python?

Eine Funktion ist ein erstellter Programmcode, der aus dem „top-down“-Ablauf eines Programms entnommen wird und ausschließlich aufgerufen werden muss oder kann, denn dadurch können wir diese Funktionen bei Bedarf öfter aufrufen und so sauberen Code mit weniger Fehlerquellen schreiben.

Also vergeben wir unserer Funktion einen Namen, den wir an jeder Stelle in unserem Python-Programm aufrufen können.

Um es am besten zu verstehen schauen sie sich das Video unten an: 

Link zum Video: https://www.youtube.com/watch?v=mgA-Ytr32Ys

Jetzt habe ich dich genug mit Informationen bombardiert. Die einzige Frage, die beantwortet werden sollte ist doch nur, ist Python unsere Zukunft ?.

Ist Python die Programmiersprache der Zukunft?

Der Entwickler Guido van Rossum äußert sich zum Thema, ob Python sich künftig weiterentwickeln wird:

„Ich glaube, Python wird weiter wachsen“ (vgl. Stolens)

„Die größten Entwicklungen erwarte ich in den Python Bibliotheken – hier sehen wir sehr viele Ergänzungen. Was den Gebrauch von Python im Unterricht betrifft, hoffe ich, Schüler nehmen die Programmiersprache als einfach und spannend wahr und werden ermutigt, sie auch außerhalb der Schule anzuwenden. Ich
hoffe, es sind nicht nur irgendwelche einmaligen Projekte, sondern dass sie die Sprache weiter aktiv verwenden. Es wäre toll, wenn sie nach ihrem Abschluss eine Zukunft in einem MINT-Fach starten würden und sie ihr Python-Basiswissen dann für ihre eigene Forschung verwenden könnten!“ (vgl. Stolens)

Stolens (2020): https://www.t3deutschland.de/de/t3-europe/edublogs/interview-guido-rossum (Abruf: 31.01.2022)

Die Forschung basiert auf Anfragen nach Tutorials zum Erlernen von Programmiersprachen. Google Trends stellt die Basis der Erkenntnisse dar und dient der Ermittlung der Beliebtheit der entsprechenden Programmiersprache. Laut der Statistik der PYPL befindet sich Python auf Platz 1 der meist gesuchten Programmiersprachen. Der prozentuale Abstand zum zweitplatzierten Java ist hier mit rund 10 % sogar noch größer und somit kam JavaScript auf den dritten Platz.

Abbildung 4, Statistik aus PYPL

Das Potential von Python ist da, denn Python hat gute Zukunftsaussichten und könnte daher die Programmiersprache der Zukunft werden.

Über die Autoren:

Anela Iljijazi: Anela Iljijazi studiert im 3. Semester Informationsmanagement. Sie absolviert das Studium an der Hochschule Hannover Fakultät III. Die Autorin wurde in Hannover geboren. Sie ist 20 Jahre alt. Neben ihrem Studium ist sie Kellnerin im Cheers Hannover.

Ömer Topcu: Ömer Topcu studiert im 3. Semester Informationsmanagement. Er absolviert das Studium an der Hochschule Hannover Fakultät III. Der Autor wurde in Hannover geboren und ist 20 Jahre alt. Er arbeitet in seiner Freizeit im Einzelhandel.

Quellenverzeichnis:

  • lerneprogrammieren (2022): Wofür wird Python verwendet? 10 Aufgaben und Anwendungsbereiche. URL: https://lerneprogrammieren.de/python-anwendungsbereiche/ (Abruf: 30.01.23)
  • PYPL (2023): PYPL PopularitY of Programming Language. URL: https://pypl.github.io/PYPL.html (Abruf: 30.01.23)
  • Stolens (2020): Die Python Power – erklärt von Python-Erfinder Guido van Rossum. URL: https//www.t3deutschland.de/de/t3-europe/edublogs/interview-guido-rossum (Abruf: 31.01.2023)
  • Morpheus (2015): Python Tutorial #12 – Funktionen. URL: https://youtu.be/mgA-Ytr32Ys (Abruf: 30.01.2023)
  • Abbildung 2, Programmieren mit Python (2022). URL https://fobizz.com/programmieren-mit-python-ganz-ohne-vorkenntnisse/
  • Sebastian Grüner (2021), Golem, Python-Gründer will doppelte Geschwindigkeit für die Sprachen, URL: https://www.golem.de/news/guido-van-rossum-python-gruender-will-doppelte-geschwindigkeit-fuer-die-sprache-2105-156491.html (Abruf 30.01.2023)
  • Koen Stulens (2020), t3deutschland, Die Python Power, URL: https://www.t3deutschland.de/de/t3-europe/edublogs/interview-guido-rossum(Abruf 30.01.2023)
  • Steemit (2018) Python für Anfänger #1, URL: https://steemit.com/deutsch/@rilc0n/python-fuer-anfaenger-1-einfuehrung-vor-und-nachteile(Abruf 30.01.2023)
  • Python, URL: https://www.python.org/ (Abruf 30.01.2023)