Semesterprojekt Implementierung Eines Brettspiels . - Hu-berlin.de

1y ago
2 Views
1 Downloads
530.02 KB
10 Pages
Last View : 1m ago
Last Download : 3m ago
Upload by : Josiah Pursley
Transcription

SemesterprojektImplementierung eines Brettspiels(inklusive computergesteuerter Spieler)Wintersemester 16/17(Kleine) Einführung zuKünstlicher Intelligenz in BrettspielenMarc BuxPatrick Schäferpatrick.schaefer@hu-berlin.de buxmarcn@informatik.hu-berlin.de

Herangehensweise Einstieg: Blog-Post zu Brettspiel-KI in ai hilfreiche Werkzeuge:– Transparenz: Denkweise der KI widergeben, um Probleme zu erkennen– Batch-Modus: Neue Builds wiederholt (1000 Mal) gegen alte Buildsantreten lassen, um Verbesserungen zu messen regelbasierter Ansatz:– Spielsituation analysieren, Regeln durchgehen– wende Regel mit höchster Priorität an, deren Vorbedingung erfüllt ist– wenn keine Regel greift, auf Standard-KI ausweichen Workflow: Spiel gegen KI – neue Ideen implementieren – Testim Batchmodus – Änderungen ggf. übernehmen(Kleine) Einführung zu Künstlicher Intelligenz in Brettspielen

Entscheidungsbäume Spiele können als Bäume modelliert werden:– jeder Knoten repräsentiert einen Zustand des Spiels– jede Kante repräsentiert einen möglichen Spielzug– jedes Blatt repräsentiert ein mögliches Spielende und lässt sich mittelsGütefunktion (Utility) bewerten Strategien zur Lösungsfindung (Auswahl):– Minimax (für 1on1-Nullsummenspiele)– Monte-Carlo-SamplingSpieler blau am ZugSpieler rot am Zug13116141212-5-65-5-4-7(Kleine) Einführung zu Künstlicher Intelligenz in Brettspielen-61-40

Minimax Idee: minimiere Verlust bei maximal guten Zügen des Gegners Vorgehensweise:– propagiere Bewertungen der Blätter von unten nach oben– alterniere zwischen Minimum und Maximum– wähle Kind der Wurzel mit höchstem Wert wenn 𝑘 Spielzüge zur Auswahl stehen, so ergibt sich beimVorausschauen von 𝑛 Spielzügen ein Baum mit Größe Ο(𝑘 𝑛 )– Alpha-Beta-Pruning (Optimierung), Beschränkung des -612-5-4-5-65-7-5-4-6-7(Kleine) Einführung zu Künstlicher Intelligenz in Brettspielen-6-41-40

Alpha-Beta-Pruning Idee: Knoten, von denen wir bereits wissen, dass sie suboptimal sind,brauchen nicht weiter betrachtet zu werden Vorgehensweise:– Tiefensuche zu den Blättern, beginnend bei der Wurzel– Beim Backtracking werden Knoten alternierend mit mit α- und β-Werten versehen– α-Wert: maximaler von Spieler Blau garantierbarer Utility-Wert– β-Wert minimaler von Spieler Rot garantierbarer Utility-Wert– Beim Absteigen werden α- und β-Werte nach unten weitergereicht– Verwerfe Äste ab Knoten, für die gilt α β11β 11β 11β 1313α 111111α 11116611β 11α ββ 614121212α 11α βα 12α ββ 5β 1112-5α 11-65α 1155α 11-5-4-45α ββ 5α ββ -4α 11-7(Kleine) Einführung zu Künstlicher Intelligenz in Brettspielen-61-40

Monte-Carlo-Sampling Idee: Erweitere Entscheidungsbaum durch stichprobenartige Simulationenvon Spieldurchläufen mit zufälligen Zügen Exploration vs. Exploitation / UCT-Formel: An Knoten 𝑛 wähle Nachfolger𝑛𝑖 , für den𝑤𝑖𝑠𝑖 𝑐 ln 𝑡/𝑠 maximal ist– 𝑤𝑖 : Anzahl bisher ermittelter Siege bzw. zu erwartender Punktestand ab Knoten 𝑛𝑖– 𝑠𝑖 : Anzahl bisher durchgeführter Simulationen ab Knoten 𝑛𝑖– 𝑐: Erkundungs-Parameter (z.B. 2)– 𝑠: Anzahl bisher durchgeführter Simulationen ab Knoten 𝑠1414141413116141212-5-65-5-4-7(Kleine) Einführung zu Künstlicher Intelligenz in Brettspielen-61-40

Monte-Carlo-Sampling Idee: Erweitere Entscheidungsbaum durch stichprobenartige Simulationenvon Spieldurchläufen mit zufälligen Zügen Exploration vs. Exploitation / UCT-Formel: An Knoten 𝑛 wähle Nachfolger𝑛𝑖 , für den𝑤𝑖𝑠𝑖 𝑐 ln 𝑡/𝑠 maximal ist– 𝑤𝑖 : Anzahl bisher ermittelter Siege bzw. zu erwartender Punktestand ab Knoten 𝑛𝑖– 𝑠𝑖 : Anzahl bisher durchgeführter Simulationen ab Knoten 𝑛𝑖– 𝑐: Erkundungs-Parameter (z.B. 2)– 𝑠: Anzahl bisher durchgeführter Simulationen ab Knoten 𝑠414-614-61413116-6141212-5-65-5-4-7(Kleine) Einführung zu Künstlicher Intelligenz in Brettspielen-61-40

Monte-Carlo-Sampling Idee: Erweitere Entscheidungsbaum durch stichprobenartige Simulationenvon Spieldurchläufen mit zufälligen Zügen Exploration vs. Exploitation / UCT-Formel: An Knoten 𝑛 wähle Nachfolger𝑛𝑖 , für den𝑤𝑖𝑠𝑖 𝑐 ln 𝑡/𝑠 maximal ist– 𝑤𝑖 : Anzahl bisher ermittelter Siege bzw. zu erwartender Punktestand ab Knoten 𝑛𝑖– 𝑠𝑖 : Anzahl bisher durchgeführter Simulationen ab Knoten 𝑛𝑖– 𝑐: Erkundungs-Parameter (z.B. 2)– 𝑠: Anzahl bisher durchgeführter Simulationen ab Knoten ne) Einführung zu Künstlicher Intelligenz in Brettspielen-61-40

Weiterführende Links Vorlesung „General Game Playing“ von Sebastian Wandelt imWS 13/14:https://hu.berlin/vl game Ticket to Ride in Java mit implementierter (aberunkommentierter) Minimax- und im/hobo Reddit-Thread mit allerlei nützenswerten Informationen i/comments/44l6w7/building an ai for a multiplayer turnbased board/(Kleine) Einführung zu Künstlicher Intelligenz in Brettspielen

KI-Challenge: Ablauf eine User Story, einwöchige Sprints, kurze Tech. Refinements erste lauffähige KI zum 16.1.; wöchentliche Verbesserungen wöchentliches 1on1-Turnier (blau-gelb, blau-rot, gelb-rot) zunehmende Punkte für erfolgreiche Teilnahme und Platzierung– 16.1.: 1-1-2, 23.1.: 1-2-3, 30.1.: 2-3-5, 6.2.: 3-5-8, 13.2.: 5-8-13– 0 Punkte, wenn KI wiederholt abstürzt oder Spiel nicht terminiert optional: zusätzliches Turnier für Einzelabgaben– K.O.-System; Beginn im Halbfinale– vorzugsweise (aber nicht zwingend) 1on1 verteiltes Setting mit lokalem Netzwerk:– wir stellen Rechner für Spielserver und visualisieren Spiel auf Beamer– Turnierteilnehmer verbinden sich mit eigenen Rechnern(Kleine) Einführung zu Künstlicher Intelligenz in Brettspielen

Semesterprojekt Implementierung eines Brettspiels (inklusive computergesteuerter Spieler) Wintersemester 16/17 (Kleine) Einführung zu Künstlicher Intelligenz in Brettspielen

Related Documents:

1.1 Aufgaben eines Au-pairs Die täglichen Aufgaben eines Au-pairs sind sehr unterschiedlich. Sie hängen ganz von der Eigenart und dem Lebensstil der Familie ab, die das Au-pair bei sich aufgenommen hat. Die Hauptaufgabe eines Au-pairs besteht in der Unterstützung der Gastfamilie bei der Betreuung der Kinder.

Implementierung und Test - auf Basis der Referenzimplementierung Offshore Systemtest Offshore Deployment Lokal Konfigurations- und Änderungsmanagement Lokal Projektmanagement Lokal Offshore Environment Lokal Abb. 2: Der Offshore-Arbeitsablauf in einer groben Übersicht. Tabelle 1: A

Standard SAP Lösung ersetzen. SAP GTS wurde als geeignete Variante ausgewählt, um die Zoll- und Aussenhandelsanforderungen zu erfüllen. Die Herausforderung Das Projektziel war die Implementierung einer voll funktionsfähigen SAP GTS-Lösung für Zoll, Compliance und Präferenzabwicklung für mehrere Lebensmittelindustrien in der Schweiz.

SAP Solution Manager Workshop www.hybrid-eichhörnchen.de Der SAP Solution Manager ist die zentrale IT-Komponente zur Steuerung, Verwaltung und Unterstützung der Implementierung, der Optimierung und des Betriebs Ihrer SAP-Lösung. Der SAP Solution Manager ist das einzige IT-Service-Management-Werkzeug, das Best-Practices aus den zahlreichen ITIL-, SAP- und Kunden-Erfahrungen

Dienstleistung aktiv zu verkaufen! Trainieren Sie Ihre Fähigkeiten als Beraterin oder Berater im Sozialmarkt. Erarbeiten Sie . Das Gewinnen eines Interessenten als Kunden Die Kaufintensität eines Kunden . Der aktive Verkauf am Telefon sollte, wenn man ihn einmal beherrscht, regelmäßig geübt werden. Zielorientiertes Anbieten

Dienstleistung aktiv zu verkaufen! Trainieren Sie Ihre Fähigkeiten als Beraterin oder Berater im Sozialmarkt. Erarbeiten Sie . Das Gewinnen eines Interessenten als Kunden Die Kaufintensität eines Kunden . Der aktive Verkauf am Telefon sollte, wenn man ihn einmal beherrscht, regelmäßig geübt werden. Zielorientiertes Anbieten

7.5.3 Test auf eine gültige E-Mail-Adresse und einen korrekten Usernamen mit test() 307 7.5.4 Verwertung des resultierenden Datenfelds beim Durchsuchen eines Strings mit execO 309 7.5.5 Extrahierung der Versionsnummer eines Browsers mit execO und Auswertung von geklammerten Teilen 311 7.5.6 Suchen und Ersetzen von Suchpattern mit search!) und

The Korean language is relatively homogeneous and the dialects from different areas can be mutually intelligible to a great extent. Nevertheless, the dialects of Korean exhibit considerable variety in phonology, morphology, and vocabulary. They are finely differentiated into a number of areas based on regional differences. There is no obvious correlation between the modern dialects and the .