«Wie bringt man einem Computer das Jassen bei?»

Informatiker planen ein Jassturnier für Bots. Im Interview erklärt Nick Payne, welche Probleme es gibt und wie gut Computer heute schon jassen.

Feedback

Tragen Sie mit Hinweisen zu diesem Artikel bei oder melden Sie uns Fehler.

Wenn man als Mensch das Jassen lernt, muss man erst mal die Regeln begreifen, und später fängt man an, Karten zu zählen und die Mitspieler zu lesen. Wie ist das bei einem Bot? Wie lernt der jassen?
Die erste Herausforderung ist schon mal, ihm beizubringen, überhaupt die richtige Karte auszuwählen. Der dümmste anzunehmende Bot spielt einfach der Reihe nach jede Karte...

...also wie ein Anfänger…
Sogar noch dümmer. Er spielt einfach irgendeine Karte, ohne zu wissen, ob die überhaupt erlaubt ist. Er spielt einfach immer wieder eine neue Karte, bis eine erlaubt ist.

Also muss er erst mal die Regeln lernen.
Genau. Darum bauen wir als Erstes das Regelwerk in den Bot ein. Wenn zum Beispiel Eichel liegt, legt er dann auch Eichel, dasselbe mit Trümpfen.

Jetzt gehts beim Jassen ja in erster Linie darum, die richtige Karte im richtigen Moment zu spielen, und nicht nur eine passende zu spielen.
Wenns um die beste Karte und den richtigen Moment geht, wirds schon ziemlich schwierig. Also das Verwerfen oder Spielen einer höheren Karte als nötig ist schon hohe Kunst. Wenn man dann auch noch das Verhalten der Mitspieler antizipieren soll, wirds noch mal schwieriger.

Da wirds ja auch im realen Jassen ziemlich schnell ziemlich anspruchsvoll. Der Bot muss dazu viele Sachen beachten: Was ist schon gespielt worden, was liegt auf dem Tisch und welche Karten hält man in der Hand. Man möchte das Ass ja zum Beispiel nicht bei der ersten Gelegenheit einsetzen. Es ist nicht einfach, solche Sachen einem Programm beizubringen.

Gibt es denn waghalsigere und vorsichtigere Bots? Ideal wären ja solche, die die Strategie je nach Situation ändern können.
Das würde einen Bot sicher erfolgreicher machen, wenn er auf Situationen reagieren könnte. Und nicht immer waghalsig oder defensiv spielt. Aber das ist schwer zu programmieren. Da spielen so viele Faktoren mit. Einfacher fällt es einem Bot dagegen, Karten zu zählen. Das kann er viel leichter als ein Mensch. Wenn ein Trumpf gespielt wurde, speichert er das einfach und kann dann immer wieder nachschauen, wie viele noch im Spiel sind.

So kann der Computer auch leicht Szenarien ausrechnen.
Genau. Wahrscheinlichkeitsrechnen kann ein Bot natürlich besser als ein Mensch. Aber auf Situationen zu reagieren, fällt ihm viel schwieriger.

Dass ein Bot den anderen erschreckt und zu einer unüberlegten Handlung verleitet, ist doch eher unwahrscheinlich.
So weit sind wir noch nicht. Insgesamt haben wir schon zwei Hackathons gehabt, wo die Bots unserer Kollegen gegeneinander angetreten sind. Dabei ist jeder Bot mal gegen jeden angetreten. Aber die Idee ist es, das häufiger zu machen. Je häufiger ein Bot gegen denselben Gegner antritt, desto besser kann man Zufallsereignisse herausfiltern.

So sieht man, dass ein Sieg auch kein Glückstreffer war.
Genau. Auch der dümmste Bot, der einfach irgendeine Karte spielt, kann theoretisch gegen einen viel intelligenteren Bot gewinnen. Er könnte ja zufällig immer die bessere Karte spielen.

Das soll ja auch beim richtigen Jassen hin und wieder vorkommen.
Darum wollen wir die Bots auch mehrfach gegeneinander antreten lassen. Wir haben das kürzlich ausprobiert und die Bots in 5 Minuten rund 900 Partien spielen lassen.

Wie lang dauert denn ein Spiel?
Ein paar Sekunden. Dann ist das Spiel vorbei. Ausser es ist ein Bot dabei, der länger braucht, um sich für einen Zug zu entscheiden. Aber eigentlich braucht ein Bot ja nicht viel Zeit, um sich einen Zug zu überlegen, das dauert üblicherweise ein paar Millisekunden! Sein Regelset ist ja schon implementiert. Er geht das einfach durch und spielt die Karte.

Wie sieht denn so ein Spiel aus?
Man sieht, wie sich die Bots untereinander verbinden und dann «tschädderets» durch. Nach ein paar Sekunden sieht man den Gewinner, und das wars.

Für den «Samschtig Jass» wäre das vermutlich nichts.
(lacht) Nein. Besonders spannend ist es für Zuschauer wirklich nicht. Wir hätten aber die Möglichkeit, das Spiel künstlich zu verlangsamen, damit der Mensch auch zuschauen kann.

Andererseits könnte man sich unglaublich unbeliebt machen mit einem Zeitverzögerungs-Bot.
(lacht) Ja dann würde das ganze Turnier plötzlich statt fünf Minuten Stunden dauern. Und alle würden sich fragen, was da los ist. Da die Spiele aber so schnell gehen, können wir bei einem Turnier die Bots immer wieder gegeneinander antreten lassen. So sieht man als Zuschauer dynamische Ranglisten. Vielleicht liegt ein Bot zu Beginn in Führung doch langfristig überholt ihn ein anderer.

Beim Schieber ist es entscheidend, dass man sich mit seinem Gegenüber versteht. Wie macht das ein Bot? Er kann ja nicht mal Zwinkern oder unter dem Tisch treten.
Nur schon die Entscheidung, ob man nun schieben soll oder nicht ist schwierig. Der Bot sieht ja nicht, ob sein Gegenüber zufrieden oder unzufrieden ausschaut. Der Bot muss das rein rational anhand seiner Karten entscheiden, da er keine Hinweise von seinem Gegenüber bekommt. Darum ist es vielleicht die fairste Jass-Variante überhaupt.

Wenn Sie selbst gegen einen Bot spielen, wer gewinnt da?
Mit dem aktuellen Stand, würde ich sagen, dass man, wenn man einigermassen Jassen kann, gewinnen sollte. Aber es ist schon lustig, wie schnell Bots spielen. Kaum hat man seine Karte gespielt, ist man, zack, auch schon wieder dran. Aber wenn jemand einen wirklich schlauen Bot schreibt, wäre es natürlich spannend, den gegen einen wirklich guten Jasser antreten zu lassen.

Wie bei den grossen Mensch-Computer-Duellen im Schach, Poker oder Go.
Das wäre wirklich sehr cool. Aber so gute Bots gibt es noch nicht. Aber wir hoffen natürlich, dass wir mit unserem Wettbewerb so einen finden.

Wann rechnen Sie damit, dass ein Bot einen Menschen schlagen kann? 2020? 2025?
Wenn sich jemand, der zum Beispiel Machine Learning im Griff hat, daransetzt, sollte das in absehbarer Zeit möglich werden.

Konkreter?
Im Prinzip sollte das sogar heute schon möglich sein, wenn jemand die Zeit und die Ressourcen hat.

Sie machen das ja auch im Rahmen Ihrer Weiterbildungszeit neben Ihrem eigentlichen Job als Informatiker.
Genau. Wir sind sieben Personen, die an dem Projekt arbeiten, aber der Grossteil unserer Zeit geht dafür drauf, das digitale Spielbrett zu entwickeln und nicht für die Entwicklung von Bots.

Wie muss man sich das vorstellen?
Zuerst brauchten wir mal einen Server. Den kann man sich gut als Schiedsrichter vorstellen. Der sitzt in der Mitte und schaut, dass die Regeln eingehalten werden. Er nimmt die gespielte Karte entgegen und schaut, ob die überhaupt gespielt werden darf. Wenn die Runde vorbei ist, verteilt er die Punkte.

Und weiter?
Dann brauchten wir eine Art Protokoll. Also eine Art, wie der Server mit den Spielern kommuniziert. Zuerst fragt der Server zum Beispiel, wie man heisst. Später werden die Karten zugeteilt, und der erste Spieler darf einen Trumpf aussuchen. Wenn das alles durch ist, kann man anfangen Karten zu spielen.

Etwas banal zusammengefasst, mussten Sie einfach die Jassregeln in die Computersprache übersetzen.
Vom Prinzip her stimmt das. Man möchte das Spiel ja so lebensecht wie möglich haben. Aber klar gibt es technische Herausforderungen. Etwa, wie man Verbindungen synchronisiert usw. Aber das Regelwerk ist in unserem Programm identisch. Es soll ja schliesslich nicht komplizierter sein als im realen Leben.

Kann man eigentlich mogeln?
Wenn wir es nicht kontrollieren würden, wäre es möglich, dass die Bots heimlich miteinander kommunizieren.

Also auch wie beim richtigen Jassen, wenn sich zwei heimlich absprechen oder die Karten zeigen.
Es wäre möglich, dass zwei Bots durch eine Hintertür eine Verbindung zueinander aufbauen. Aber da wir ja einen Wettbewerb machen, werden wir da schon ein Auge drauf haben. Aber wir gehen mal davon aus, dass die Teilnehmer sich lieber darauf konzentrieren, ihren Bot intelligent zu machen, statt auf solche Tricks zu setzen.

Ganz im Sinne des olympischen Geists.
Wenn es jetzt eine weltweite Sache mit Tausenden Teilnehmern wäre, müsste man eine technische Lösung entwickeln. Aber wir wollen da momentan nicht zu viel Energie darauf verwenden. (baz.ch/Newsnet)

Erstellt: 11.04.2017, 10:06 Uhr

Nick Payne

Der im Aargau aufgewachsene Zühlke-Informatiker hat an der Fachhochschule Nordwestschweiz Computerwissenschaften studiert. Im Rahmen seiner Weiterbildungszeit hat er mit Arbeitskollegen nach zwei Jahren Entwicklungszeit ein Jassturnier für Bots ins Leben gerufen. Die Jass-Challenge beginnt im Mai und richtet sich an Schweizer Studentinnen und Studenten.

Artikel zum Thema

Mensch verliert, Maschine gewinnt

Auch im dritten und entscheidenden Match hat der Spielecomputer AlphaGo den Südkoreaner Lee Sedol im asiatischen Strategiespiel Go geschlagen. Mehr...

Der unbemerkte Siegeszug der künstlichen Intelligenz

Siri, Cortana und Co. könnten das Smartphone als wichtigste digitale Plattform ablösen. Google, Apple und Co. versuchen, sich zu übertrumpfen. Mehr...

Das Immobilien-Portal für Basel und die Region

Blogs

History Reloaded Europa hats immer wieder geschafft

Michèle & Wäis Die perfekte Freundin

Die Welt in Bildern

Polizei in Rosa: Demonstranten bewarfen die Ordnungshüter in Nantes (Frankreich) mit Farbe. (16. November 2017)
(Bild: Stephane Mahe) Mehr...