W niektórych (historycznych) artykułach szachy określane są mianem drozofili sztucznej inteligencji. Chociaż przypuszczam, że w bieżących badaniach zwykłe zastosowanie algorytmu wyszukiwania jest w najlepszym przypadku zaawansowaną informatyką , uważam, że nadal istnieją obszary, w których można zastosować (i ćwiczyć) techniki sztucznej inteligencji.
Prostym przykładem może być uczenie się na podstawie książki otwierającej, w której można nauczyć program, czy ma używać pewnych ruchów w otworze, ponieważ program nie jest przystosowany do określonych typów pozycji. Możemy użyć formy uczenia się na nowo i zautomatyzować to: Przypuszczam, że mógłbym grać w program przeciwko sobie i zwiększyć prawdopodobieństwo wygranych linii i zmniejszyć prawdopodobieństwo utraty linii.
Bardziej złożonym przykładem jest użycie funkcji oceny uczenia się (na przykład można poprawić wartości tabel kwadratowych ). Myślę jednak:
- biorąc pod uwagę cały hałas spowodowany ogromną ilością realistycznych pozycji (w przeciwieństwie do ilości realistycznych linii początkowych)
- oraz kosztem (czasem trwania) szachowej gry komputerowej i koniecznością grania.
Jak można to zrobić skutecznie? (lub powinienem spojrzeć na inne techniki, na przykład sieci neuronowe).
Odpowiedzi:
Cała przestrzeń dla szachów jest ogromna - można ją z grubsza oszacować na 10 43 (liczba Shannona (Shannon, 1950) , ( Wikipedia )).
Przedstawiony przez Ciebie pomysł - agenci Reinforcement Learning, którzy grają ze sobą, aby nauczyć się gry - został pomyślnie zastosowany w grze Backgammon - TD-Gammon (Tesauro, 1995) , ( Rozdział w Reinforcement Learning autorstwa Sutton & Barto ). Wykorzystał także sieci neuronowe do oszacowania funkcji wartości gry. Problem ten jest jednak o wiele prostszy, ponieważ liczba stanów w grze Backgammon jest znacznie mniejsza niż w szachach, a mianowicie: 18 528 584, 051,601,162,496 ( wątek Archiwum forum gry Backgammon ).
Jeśli jednak zakończyłbyś grę po kilku początkowych ruchach i dążysz tylko do nauczenia się „dobrych otworów”, możesz odnieść sukces dzięki analogicznemu podejściu. Głównym problemem będzie ocena gry po grze otwierającej, co wydaje się trudne. Samo podobieństwo do ustalonych pozycji po dobrze znanych otwarciach nie jest wystarczające, ponieważ pozycja może być daleko od nich, jeśli przeciwnik wykonałby głupi ruch (więc nie byłoby tak z powodu błędu agenta uczącego się, więc pozycja nawet jeśli „niepoprawna” „należy ocenić jako dobry wynik).
Bibliografia:
SHANNON, Claude E. „Programowanie komputera do gry w szachy”. W Philosophical Magazine, 7. seria, 41, nr. 314 (marzec 1950 r.): 256–75.
Gerald Tesauro. 1995. Uczenie się różnic w czasie i TD-Gammon. Commun ACM 38, 3 (marzec 1995 r.), 58–68
źródło
Jestem prawie pewien, że jakakolwiek możliwa (lub dziwna) metoda AI lub ML w podręcznikach została wypróbowana i prawie nieudana w porównaniu z prostą brutalną siłą.
Moim osobistym punktem widzenia jest to, że szachy same w sobie nie są już zainteresowane nowoczesną sztuczną inteligencją ... Po prostu dlatego, że można je rozwiązać : po prostu używając nowoczesnego komputera i brutalnej siły. Nie uważam więc, że istnieje potrzeba stworzenia „inteligentnego” systemu, aby rozwiązać go bardziej efektywnie (działa dobrze w moim telefonie komórkowym) i uważam, że nie ma nawet potrzeby czegoś nieznanego i więcej „inteligentne” podejście do istnienia.
źródło
Myślę, że warto zauważyć, że aby określić sposób rozwiązania problemu sztucznej inteligencji, musisz go zdefiniować. Czy jest to w pełni obserwowalne lub częściowo obserwowalne oraz czy jest deterministyczne czy stochastyczne / przypadkowe.
Chess jest w pełni przestrzegana, (w przeciwieństwie do backgammon, monopol lub pokera na przykład) Jest również deterministyczny (jak warcaby, i idź na przykład) Wreszcie istnieją przeciwnicy i dlatego przy określaniu następny najlepszy ruch warto używać kontradyktoryjności Search typ algorytmy takie jak MiniMax. Klasyfikacja problemu może pomóc nam ustalić, jakiego rodzaju algorytmu wyszukiwania chcielibyśmy zastosować. W przypadku szachów Poszukiwanie Przeciwne byłoby odpowiednie.
W szczególności minimax ma
W przypadku szachów b wynosi 35, a m 100. Istnieją sposoby lub strategie zwiększania wydajności, takie jak odcięcie alfa-beta.
źródło