Komputery od dawna potrafią grać w szachy za pomocą techniki „brute-force”, szukając określonej głębokości, a następnie oceniając pozycję. Komputer AlphaGo używa jednak tylko ANN do oceny pozycji (o ile mi wiadomo, nie dokonuje głębokiego przeszukiwania). Czy można stworzyć silnik szachowy, który gra w szachy w taki sam sposób, jak AlphaGo gra Go? Dlaczego nikt tego nie zrobił? Czy ten program działałby lepiej niż dzisiejsze najlepsze silniki szachowe (i szachownicy)?
32
Odpowiedzi:
EDYCJA (po przeczytaniu artykułu):
Przeczytałem gazetę z namysłem. Zacznijmy od tego, co twierdzi Google w gazecie:
Niestety nie sądzę, że to dobra gazeta. Wyjaśnię za pomocą linków (więc wiesz, że nie śnię):
https://chess.stackexchange.com/questions/19360/how-is-alpha-zero-more-human ma moją odpowiedź na temat tego, jak AlphaZero grał jak człowiek
Mecz był niesprawiedliwy , silnie stronniczy. Cytuję Tord Romstad, oryginalnego programistę Sztokfisz.
Sztokfisz nie byłby w stanie grać w najlepsze szachy tylko za minutę na ruch. Program nie został do tego przeznaczony.
Tabela mieszania 1 GB jest absolutnie nie do przyjęcia w przypadku takiego meczu. Sztokfisz często napotyka kolizję haszy. Procesor zastępuje stare wpisy skrótu.
WNIOSEK
Google nie udowodnił bez wątpienia, że ich metody są lepsze niż Sztokfisz. Ich liczba jest powierzchowna i silnie stronnicza w stosunku do AlphaZero. Ich metody nie są powtarzalne przez niezależną stronę trzecią. Jest jeszcze trochę za wcześnie, aby powiedzieć, że głębokie uczenie się jest lepszą metodą niż tradycyjne programowanie szachowe.
EDYCJA (grudzień 2017):
Jest nowy artykuł od Google Deepmind ( https://arxiv.org/pdf/1712.01815.pdf ) do nauki głębokiego wzmacniania w szachach. Z abstrakcyjnego punktu widzenia, światowy silnik szachowy Stockfish został „przekonująco” pokonany. Myślę, że jest to najważniejsze osiągnięcie w szachach komputerowych od meczu Deep Blue w 1997 roku. Zaktualizuję swoją odpowiedź, kiedy przeczytam artykuł szczegółowo.
Oryginał (przed grudniem 2017 r.)
Wyjaśnijmy twoje pytanie:
ANN można stosować do silników szachowych:
Żyrafa gra na poziomie międzynarodowym, czyli około FIDE 2400. Jednak Sztokfisz, Houdini i Komodo grają około FIDE 3000. To duża różnica. Czemu? Dlaczego nie przeszukać drzewa Monte-Carlo?
Przeprowadzono badania, według których wyszukiwanie drzew Monte Carlo nie sprawdza się w szachach. Go to inna gra niż szachy. Algorytmy szachowe nie działają dla Go, ponieważ szachy opierają się na brutalnej taktyce. Taktyka jest prawdopodobnie ważniejsza w szachach.
Teraz ustaliliśmy, że MCTS działa dobrze dla AlphaGo, ale mniej dla szachów. Dogłębne uczenie się byłoby bardziej przydatne, jeśli:
Jeśli głębokie uczenie się może osiągnąć następujące cele, przełamie tradycyjny algorytm:
Pozwól mi wskazać:
jeszcze jeden:
Odniesienie:
Cytuję:
źródło
DeepBlue pokonało już Kasparowa, więc ten problem rozwiązano dzięki znacznie prostszemu podejściu. Było to możliwe, ponieważ liczba możliwych ruchów w szachach jest znacznie mniejsza niż w ruchu , więc jest to o wiele prostszy problem. Ponadto zauważ, że zarówno NN, jak i brutalna siła potrzebują ogromnych zasobów obliczeniowych ( tutaj możesz znaleźć zdjęcie komputera za AlphaGo, zauważ, że nie używa nawet GPU, ale TPU do obliczeń). Całe zamieszanie z go polegało na tym, że kiedy Deep Blue pokonało Kasparowa, społeczność go twierdziła, że nie byłoby to możliwe z go (z wielu różnych powodów, ale aby podsumować argumenty, muszę szczegółowo przedstawić grę of go). Tak, możesz nauczyć NN grać w szachy, Mario lub spróbować nauczyć go graćStarcraft ...
Wydaje mi się, że powodem tego jest to, że po prostu często nie słyszysz w mediach głównego nurtu o przypadkach, w których ludzie rozwiązują problemy, które już zostały rozwiązane.
Co więcej, twoje założenie jest błędne, głębokie uczenie się jest używane do gry w szachy, np. Jak opisano w Głębokim uczeniu się Maszyna uczy się gry w szachy w ciągu 72 godzin, gra na poziomie międzynarodowym . Zobacz także odpowiedni artykuł Giraffe: Korzystanie z nauki głębokiego wzmocnienia w grze w szachy .
źródło