Trwa kilka garści konkurencyjnych gier słownych i chociaż preferuję (głównie asynchroniczną) grę z innymi ludzkimi przeciwnikami, chciałbym zapewnić graczom możliwość gry przeciwko AI. Mam słownik i mogę z łatwością przekazać AI pełną wiedzę podczas gry, ale martwię się, że regularne odtwarzanie AI, których nie znają, będzie frustrującym doświadczeniem dla graczy: „Wygrałbym tę grę gdyby użył tylko słów, które znam! - nawet jeśli ogólny poziom umiejętności AI zostanie odrzucony.
Wolę stworzyć słabszą sztuczną inteligencję dzięki kombinacji (nie) dostrojonych parametrów gry i słabszego słownictwa - ale nie jestem pewien, jak ograniczyć to słownictwo do „zwykłych” słów. Przejrzałem kilka list częstotliwości słów (na przykład listę wszystkich słów, które pojawiają się w książkach Project Gutenberg, posortowanych według liczby wystąpień), ale wszystkie mają wiele fałszywych negatywów: słowa, które wszyscy wiedzą, że po prostu nie „ t pojawia się z dowolną rzeczywistą częstotliwością (na przykład CHEETAH pojawia się rzadziej w tekstach PG niż VOCATIVE lub SUTTEE). Próbowałem użyć wyników wyszukiwania, aby uzyskać szacunki popularności słowa, ale są one również podatne na fałszywe błędne oszacowania i oczywiście ”
Czy ktoś ma sugestie dotyczące innych dobrych sposobów określania zgrubnej częstotliwości używania słów lub innych sposobów ograniczania sztucznej inteligencji w grach, które będą dla graczy naturalne?
Odpowiedzi:
Myślę, że twoim rozwiązaniem byłoby nadal wprowadzenie listy częstotliwości słów. Projekt Gutenberg może nie być dla Ciebie, ponieważ zawiera głównie starsze teksty, w których wygasło prawo autorskie, dając dziwne częstotliwości dla współczesnych użytkowników języka angielskiego. Wydaje mi się, że był taki czas, kiedy „wołanie” było w rzeczywistości bardziej popularnym słowem niż „gepard” ...
Myślę więc, że rozwiązaniem jest znalezienie odpowiedniej listy częstotliwości. Przeszukując trochę, natknąłem się na 5000 najczęściej używanych słów we wszystkich odcinkach Simpsonów, co może być nieco bardziej aktualne. Możesz jednak odnieść się do tej listy do prawdziwego słownika, aby uporządkować słowa takie jak na przykład „krabappel” :)
Mam nadzieję, że to pomoże. Jestem podekscytowany, słysząc, jakie rozwiązanie wybierzesz!
źródło
Tłum to źródło. Użyj wszystkich gier wieloosobowych, w które grają gracze, aby zbudować tabelę częstotliwości słów. Myślę, że każda usługa analityczna mogłaby pomóc w gromadzeniu i organizowaniu tych danych. Możesz nawet zważyć wyniki według tego, jak „dobry” jest gracz posługujący się tym słowem.
źródło
Zacznij od podstawowego słownictwa stosownie do poziomu AI. Na przykład poniżej znajduje się lista poziomów AI.
Możesz wybrać te słowa z następujących stron internetowych, które możesz zobaczyć w wyszukiwarce Google .
Te strony podadzą Twoje początkowe słowa, ale myślę, że Google n-gram może być lepszym wyborem. W każdym razie nie przejmuj się zbytnio słowami początkowymi, ponieważ mechanizm aktualizacji / dodawania wyjaśniony poniżej słownik AI powinien wyprostować się w zależności od graczy.
ponieważ twoi gracze uczą się podczas gry, twoja sztuczna inteligencja również powinna się uczyć. Pozwól mu nauczyć się najczęściej używanych słów przez ich przeciwników.
Na przykład 10 osób grało przeciwko twojej sztucznej inteligencji, użyło 100 nieznanych słów, to znaczy słów, których nie ma w twoim słowniku sztucznej inteligencji. Wybierz najczęściej używane słowa i dodaj je do podstawowego słownika AI, a także do średniego i twardego słownika. Powinieneś także zaktualizować niektóre słowa, które nie są używane w słowniku, słowami, których używają ludzie. W ten sposób słownik początkowy będzie bardziej odpowiedni dla wiedzy graczy. Możesz zacząć od mniejszej liczby słów / kilku różnych słów, ale twoja sztuczna inteligencja nauczy się podczas gry przeciwko ludziom.
Możesz także rozważyć uruchomienie sztucznej inteligencji na poziomie podstawowym i uaktualnienie jej do innych poziomów tylko wtedy, gdy nauczy się wystarczającej liczby słów.
źródło