Ogólne zasady gry — General game playing
Część serii na |
Sztuczna inteligencja |
---|
Ogólne granie w gry ( GGP ) to projektowanie programów sztucznej inteligencji , które umożliwiają pomyślne granie w więcej niż jedną grę. W przypadku wielu gier, takich jak szachy, komputery są zaprogramowane do grania w te gry za pomocą specjalnie zaprojektowanego algorytmu, którego nie można przenieść do innego kontekstu. Na przykład, grający w szachy program komputerowy nie może grać w warcaby . Ogólna gra jest uważana za kamień milowy na drodze do Sztucznej Ogólnej Inteligencji .
Ogólne granie w gry wideo ( GVGP ) to koncepcja GGP dostosowana do celów grania w gry wideo . W przypadku gier wideo reguły gry muszą być nauczone w wielu iteracjach przez sztucznych graczy, takich jak TD-Gammon , lub są wstępnie definiowane ręcznie w języku specyficznym dla domeny i wysyłane z wyprzedzeniem do sztucznych graczy, jak w tradycyjnym GGP. Począwszy od 2013 r. poczyniono znaczne postępy dzięki podejściu głębokiego wzmacniania , w tym opracowaniu programów, które mogą nauczyć się grać w gry na Atari 2600, a także programu, który może nauczyć się grać w gry Nintendo Entertainment System .
Pierwszym komercyjnym zastosowaniem ogólnej technologii do gier było Zillions of Games w 1998 roku. Od 2003 roku zaproponowano również ogólne granie dla agentów handlowych w zarządzaniu łańcuchem dostaw w ramach negocjacji cen na aukcjach internetowych .
Historia
W 1992 roku Barney Pell zdefiniował koncepcję gry w Meta-Game i opracował system „MetaGame”. Był to pierwszy program do automatycznego generowania reguł gier podobnych do szachów i jeden z pierwszych programów wykorzystujących automatyczne generowanie gier. Następnie Pell opracował system Metagamer . System ten był w stanie grać w wiele gier podobnych do szachów, biorąc pod uwagę definicję zasad gry w specjalnym języku o nazwie Game Description Language (GDL), bez jakiejkolwiek interakcji człowieka po wygenerowaniu partii.
W 1998 roku komercyjny system Zillions of Games został opracowany przez Jeffa Malletta i Marka Leflera. System używał języka podobnego do LISP, aby zdefiniować zasady gry. Zillions of Games automatycznie wywodzi funkcję oceny z reguł gry opartych na mobilności pionków, strukturze planszy i celach gry. Zastosowano również zwykłe algorytmy, jakie można znaleźć w komputerowych systemach szachowych : przycinanie alfa-beta z porządkowaniem ruchów, tabelami transpozycji itp. Pakiet został rozszerzony w 2007 roku przez dodanie wtyczki Axiom, alternatywnego silnika metagry, który zawiera kompletny Forth oparty na języku programowania.
W 1998 roku z-Tree został opracowany przez Ursa Fischbachera . z-Tree to pierwsze i najczęściej cytowane narzędzie programistyczne do ekonomii eksperymentalnej . z-Tree umożliwia definiowanie reguł gry w języku z-Tree dla eksperymentów z zakresu teorii gier z udziałem ludzi . Pozwala także na zdefiniowanie graczy komputerowych, którzy uczestniczą w zabawie z ludzkimi podmiotami.
W 2005 roku powstał Stanford Project General Game Playing .
W 2012 roku rozpoczął się rozwój PyVGDL.
Implementacje GGP
Projekt Stanforda
General Game Playing to projekt Stanford Logic Group z Uniwersytetu Stanforda w Kalifornii, którego celem jest stworzenie platformy do ogólnego grania w gry. Jest to najbardziej znana próba standaryzacji GGP AI i ogólnie postrzegana jako standard dla systemów GGP. Gry są zdefiniowane przez zestawy reguł przedstawione w języku opisu gier . Aby grać w gry, gracze wchodzą w interakcję z serwerem hostującym grę, który monitoruje ruchy pod kątem legalności i informuje graczy o zmianach stanu.
Od 2005 roku na Konferencji AAAI odbywają się coroczne zawody General Game Playing . Konkurs ocenia zdolności zawodników AI do grania w różne gry, rejestrując ich wydajność w każdej grze z osobna. W pierwszym etapie konkursu uczestnicy są oceniani pod kątem umiejętności wykonywania prawidłowych ruchów, zdobywania przewagi i szybszego ukończenia gier. W kolejnej rundzie drugiej rundy AI walczą ze sobą w coraz bardziej złożonych grach. Sztuczna inteligencja, która na tym etapie wygra najwięcej gier, wygrywa konkurs, a jej twórca do 2013 r. wygrywał nagrodę w wysokości 10 000 USD. Do tej pory zwyciężyły następujące programy:
Rok | Nazwa | Deweloper | Instytucja | Ref |
---|---|---|---|---|
2005 | Cluneplayer | Jim Clune | UCLA | |
2006 | Fluxplayer | Stephan Schiffel i Michael Thielscher | Politechnika w Dreźnie | |
2007 | Cadiaplayer | Yngvi Björnsson i Hilmar Finnsson | Uniwersytet w Reykjaviku | |
2008 | Cadiaplayer | Yngvi Björnsson, Hilmar Finnsson i Gylfi Þór Guðmundsson | Uniwersytet w Reykjaviku | |
2009 | Ary | Jean Mehat | Uniwersytet Paryski 8 | |
2010 | Ary | Jean Mehat | Uniwersytet Paryski 8 | |
2011 | TurboŻółw | Sam Schreiber | ||
2012 | Cadiaplayer | Hilmar Finnsson i Yngvi Björnsson | Uniwersytet w Reykjaviku | |
2013 | TurboŻółw | Sam Schreiber | ||
2014 | Sancho | Steve Draper i Andrew Rose | ||
2015 | Elektryzować | Ryszard Emslie | ||
2016 | WoodStock | Eric Piette | Uniwersytet Artois |
Inne podejścia
Istnieją inne ogólne systemy gry, które używają własnych języków do definiowania zasad gry. Inne ogólne oprogramowanie do grania w gry to:
- System o nazwie FRAMASI rozwijany od 2009 roku.
- System o nazwie AiAi autorstwa Stephena Tavenera (poprzedniego dewelopera Zillions) sięgający 2015 roku i aktywnie rozwijany od końca 2017 roku.
- System o nazwie PolyGamo Player autorstwa Davida M. Bennetta wydany we wrześniu 2017 roku oparty na silniku gry Unity .
Implementacje GVGP
Nauka wzmacniania
GVGP może być potencjalnie wykorzystany do automatycznego tworzenia prawdziwej sztucznej inteligencji gier wideo , a także „do testowania środowisk gier, w tym tych tworzonych automatycznie przy użyciu proceduralnego generowania treści oraz do znajdowania potencjalnych luk w rozgrywce, które mógłby wykorzystać człowiek”. GVGP był również używany do generowania reguł gry i szacowania jakości gry w oparciu o profile wydajności algorytmu względnego (RAPP), które porównują zróżnicowanie umiejętności, na które pozwala gra, między dobrą sztuczną inteligencją a złą sztuczną inteligencją.
Język opisu gier wideo
Generalny AI Video Game Competition ( GVGAI ) działa od roku 2014. W tym konkursie, dwuwymiarowe gry wideo podobnych do (a czasem na bazie) 1980-era zręcznościowe i gry na konsole są używane zamiast gier planszowych stosowanych w GGP konkurencja. Zaoferował naukowcom i praktykom możliwość testowania i porównywania ich najlepszych ogólnych algorytmów grania w gry wideo. Konkurencja ma powiązaną strukturę oprogramowania, w tym dużą liczbę gier napisanych w języku opisu gier wideo (VGDL) , którego nie należy mylić z GDL i jest językiem kodowania wykorzystującym prostą semantykę i polecenia, które można łatwo przeanalizować. Jednym z przykładów dla VGDL jest PyVGDL opracowany w 2013 roku. Gry używane w GVGP są na razie często dwuwymiarowymi grami zręcznościowymi, ponieważ są najprostsze i najłatwiejsze do oszacowania. Aby uprościć proces tworzenia sztucznej inteligencji, która potrafi interpretować gry wideo, gry w tym celu są pisane ręcznie w VGDL. VGDL może być użyty do opisania gry specjalnie dla proceduralnego generowania poziomów za pomocą programowania zestawów odpowiedzi (ASP) i algorytmu ewolucyjnego (EA). GVGP można następnie wykorzystać do sprawdzenia ważności poziomów proceduralnych, a także trudności lub jakości poziomów w oparciu o sposób działania agenta.
Algorytmy
Ponieważ GGP AI musi być zaprojektowane do grania w wiele gier, jego konstrukcja nie może opierać się na algorytmach stworzonych specjalnie dla niektórych gier. Zamiast tego sztuczną inteligencję należy zaprojektować przy użyciu algorytmów, których metody można zastosować w szerokiej gamie gier. Sztuczna inteligencja musi być również procesem ciągłym, który może dostosowywać się do swojego obecnego stanu, a nie do wyników poprzednich stanów. Z tego powodu techniki otwartej pętli są często najbardziej skuteczne.
Popularną metodą opracowywania GGP AI jest algorytm przeszukiwania drzewa Monte Carlo (MCTS). Często używane razem z metodą UCT (ang. Upper Confidence Bound zastosowana do drzew ), zaproponowano różne odmiany MCTS, aby lepiej grać w niektóre gry, a także zapewnić kompatybilność z grami wideo. Inną odmianą algorytmów wyszukiwania drzewa jest Directed Breadth-first Search (DBS), w którym węzeł podrzędny do bieżącego stanu jest tworzony dla każdej dostępnej akcji i odwiedza każde dziecko uporządkowane według najwyższej średniej nagrody, aż do zakończenia gry lub zabraknie czasu. W każdej metodzie przeszukiwania drzewa sztuczna inteligencja symuluje potencjalne działania i klasyfikuje je w oparciu o średnią najwyższą nagrodę na każdej ścieżce, pod względem zdobytych punktów.
Założenia
Aby wchodzić w interakcje z grami, algorytmy muszą działać przy założeniu, że wszystkie gry mają wspólne cechy. W książce Half-Real: Video Games Between Real Worlds and Fictional Worlds Jesper Juul podaje następującą definicję gier: Gry są oparte na zasadach, mają zmienne wyniki, różne wyniki dają różne wartości, wysiłek gracza wpływa na wyniki, gracz jest dołączone do wyników, a gra ma negocjowalne konsekwencje. Korzystając z tych założeń, sztuczna inteligencja w grach może zostać stworzona poprzez ilościowe określenie danych wejściowych gracza, wyników gry i sposobu zastosowania różnych reguł oraz użycie algorytmów do obliczenia najkorzystniejszej ścieżki.
Zobacz też
- AlfaZero
- Sztuczna inteligencja ogólna
- Sztuczna inteligencja w grach wideo
- Język rozrywki specyficzne dla domeny
- Język opisu gry
- Nauka wielozadaniowa
- Zarys sztucznej inteligencji
- Transfer nauki
Bibliografia
Zewnętrzne linki
- Zobacz także CS227B - Odtwarzanie stronę General gry przedmiotów , GGP.org , GGP.org stronę GitHub oraz games.stanford.edu .
- Ogólne zasoby do gry dostarczone przez Uniwersytet Technologiczny w Dreźnie.
- AiAi autorstwa Stephena Tavenera
- Projekt odtwarzacza PolyGamo autorstwa Davida M. Bennetta
- Axiom Development kit to system tworzenia meta-gry kompatybilny z Zillions of Games autorstwa Grega Schmidta.
- Palamedes — ogólny IDE do gry