Nowa sztuczna inteligencja wygrywa w drodze. Czy podobna sztuczna inteligencja może wygrać w szachy? Czy można osiągnąć czysty trening?


20

Jedno z bardziej popularnych pytań zadawanych na tej stronie dotyczy perspektywy samouczącej się szachowej sztucznej inteligencji.

Dzisiaj ChessBase jest rozproszony przez relację z turnieju FIDE Candidates, aby poinformować, że nowa sztuczna inteligencja po raz pierwszy pokonuje wiodącego mistrza dość odmiennej gry go, która od wielu lat opiera się sztucznej inteligencji szachowej. Wstępne czytanie raportu sugeruje, że nowa sztuczna inteligencja go różni się od sztucznej inteligencji szachowej, ale jest bardziej sztuczną inteligencją w grach ogólnych (GGP). Artykuł ChessBase nie używa jednak terminu GGP, ale wydaje się, że mówi, że AI go może wygrać w prostych grach wideo.

Czy jest jakiś powód, dla którego tak zwycięska sztuczna inteligencja nie mogłaby przy drobnych korektach wygrać również w szachach? Jeśli tak, to czy taka sztuczna inteligencja jest obietnicą osiągnięcia czystego samokształcenia, o którym wspominało kilka doskonałych odpowiedzi na wcześniejsze pytanie, które w tym czasie nie było jeszcze możliwe? Dlaczego lub dlaczego nie?

Podejrzewam, że żadna naprawdę kompletna, w pełni świadoma odpowiedź na moje pytanie nie jest jeszcze dostępna, więc doceniłbym nawet częściową odpowiedź opartą na powiązanej wiedzy specjalistycznej.

Aby uzyskać dodatkowe informacje, zobacz także powiązane pytanie i odpowiedzi.

AKTUALIZACJA

Kiedy powyższe pytanie zostało po raz pierwszy opublikowane pięć dni temu i kiedy podano niektóre z poniższych dobrych odpowiedzi, właśnie pojawiły się pierwsze wiadomości dotyczące zwycięstwa AI. Od tego czasu pojawiły się dodatkowe informacje i komentarze.

Szczególnie interesująca od tego czasu była dość czytelna, pięciostronna dyskusja przy okrągłym stole, w której Jonathan Schaeffer zauważa:

Uczenie się od gier ludzkich pomaga przyspieszyć naukę programu. AlphaGo może nauczyć się, jak samodzielnie stać się silnym graczem, bez korzystania z ludzkich gier. Proces uczenia się trwałby dłużej.

Według gospodarza okrągłego stołu Schaeffer jest „profesorem informatyki na uniwersytecie w Albercie i człowiekiem, który rozwiązał warcaby”; więc przypuszczalnie może mieć kwalifikacje do komentowania.

Aby uzyskać więcej informacji, oto zapis kolejnej, otwartej dyskusji, której wielu uczestników wydaje się lepiej poinformowanych niż zwykle. Dyskusja odbyła się podczas meczu.

Dalsza aktualizacja, półtora roku później: komentator @MarkS. pisze:

To tylko komentarz, ponieważ dotyczy Go, nie szachów, ale AlphaGo Zero osiągnęło „czysty trening” po tym, jak powiedziano mu, kto wygrał (a nie końcowy wynik) i jest silniejszy i znacznie wydajniejszy niż sztuczna inteligencja, która pokonała Lee Sedola . Aby uzyskać więcej informacji, zobacz deepmind.com/blog/alphago-zero-learning-scratch


Sugeruję, aby zapytać o to na bardziej technicznych forach. Sztuczna inteligencja jest skomplikowanym tematem i aby ją zrozumieć, należy posiadać dużą wiedzę specjalistyczną. Patrząc na odpowiedzi tutaj, nie jestem pewien, czy otrzymałeś rozsądną odpowiedź.
Salvador Dali,

5
Podane odpowiedzi są bardzo mile widziane. Głosowałem więcej niż jeden. Jeśli jeszcze tego nie zaakceptowałem, nie jest to krytyka odpowiedzi, ale uznanie, że pytanie jest tak trudne, a temat tak nowy, że akceptowalna odpowiedź może jeszcze nie być dostępna. Pozostawmy to pytanie otwarte, aby zobaczyć, czy po pewnym czasie odpowiedź niedostępna dzisiaj stanie się dostępna. Dzięki.
thb

1
To tylko komentarz, ponieważ dotyczy Go, nie szachów, ale AlphaGo Zero osiągnęło „czysty trening” po tym, jak powiedziano mu, kto wygrał (a nie końcowy wynik) i jest silniejszy i znacznie wydajniejszy niż sztuczna inteligencja, która pokonała Lee Sedola . Aby uzyskać więcej informacji, zobacz deepmind.com/blog/alphago-zero-learning-scratch
Mark S.

1
@thb Myślę, że AlphaZero jest taką AI.
Harry Weasley,

1
Począwszy od grudnia 2017 r AlphaZero nauczył sobie styl szachy tylko z regułami gry arxiv.org/pdf/1712.01815.pdf i oddalił Sztokfisz przekonująco.
saille

Odpowiedzi:


14

Cóż, cóż, cóż! DeepMind opublikowało artykuł, w którym twierdzą, że zaprogramowali i przeszkolili komputer sieci neuronowej do pokonania Sztokfisz.

Przy 1 minucie myślenia na ruch ich komputer AlphaZero pokonał Sztokfisza o +25, = 25, -0 z białym i + 3, = 47,0- jako czarny.

„Wyszkolili” 3 osobne komputery do gry w szachy, shogi i Go i przekonująco pokonali swoich krzemowych rywali.

Oto, w jaki sposób artykuł opisuje szkolenie i ocenę -

Gry samodzielne są generowane przy użyciu najnowszych parametrów dla tej sieci neuronowej, pomijając etap oceny i wybór najlepszego gracza.

AlphaGo Zero dostroił hiperparametr swojego wyszukiwania przez optymalizację Bayesa. W AlphaZero ponownie wykorzystujemy te same hiper-parametry dla wszystkich gier bez dostrajania specyficznego dla gry. Jedynym wyjątkiem jest hałas, który jest dodawany do poprzedniej polityki w celu zapewnienia eksploracji; jest to skalowane proporcjonalnie do typowej liczby legalnych ruchów dla tego rodzaju gry.

Podobnie jak AlphaGo Zero, stan planszy jest kodowany przez płaszczyzny przestrzenne oparte tylko na podstawowych zasadach dla każdej gry. Akcje są kodowane przez płaszczyzny przestrzenne lub płaski wektor, ponownie oparty tylko na podstawowych zasadach dla każdej gry (patrz Metody).

Zastosowaliśmy algorytm AlphaZero do szachów, shogi, a także Go. O ile nie określono inaczej, te same ustawienia algorytmu, architektura sieci i hiper-parametry zostały użyte we wszystkich trzech grach. Przeszkoliliśmy osobne wystąpienie AlphaZero dla każdej gry. Szkolenie trwało 700 000 kroków (mini-partie o wielkości 4096), poczynając od losowo zainicjowanych parametrów, z wykorzystaniem 5000 TPU pierwszej generacji do generowania gier samodzielnych i 64 TPU drugiej generacji do trenowania sieci neuronowych. Dalsze szczegóły dotyczące procedury szkolenia znajdują się w Metodach.

Ryc. 1 pokazuje wydajność AlphaZero podczas samouczącego się uczenia wzmacniającego, w funkcji kroków treningowych, w skali Elo (10). W szachach AlphaZero wyprzedził Sztokfiszka już po 4 godzinach (300 000 kroków); w shogi AlphaZero pokonał Elmo po niecałych 2 godzinach (110 000 kroków); aw Go, AlphaZero wyprzedził AlphaGo Lee (29) po 8 godzinach (165 tys. kroków).

Oceniliśmy w pełni przeszkolone instancje AlphaZero przeciwko Sztokfiszowi, Elmo i poprzedniej wersji AlphaGo Zero (trenowanej przez 3 dni) odpowiednio w szachach, shogi i Go, grając w 100 meczów w czasie turnieju, kontrolując jedną minutę na ruch. AlphaZero i poprzednia AlphaGo Zero używały jednej maszyny z 4 TPU. Sztokfisz i Elmo grali na swoich najwyższych umiejętnościach, używając 64 wątków i wielkości skrótu 1 GB. AlphaZero w przekonujący sposób pokonał wszystkich przeciwników, przegrywając zero gier ze Sztokfiszem i osiem gier Elmo (patrz Materiał uzupełniający dla kilku przykładowych gier), a także pokonując poprzednią wersję AlphaGo Zero (patrz Tabela 1).

W ich komputerze zastosowano nową formę układu o nazwie „TPU” ( Tensor Processing Unit ) opracowaną przez Google do zadań uczenia maszynowego.

Twierdzą także, że ich algorytm wyszukiwania drzewa Monte Carlo jest lepszy i bardziej „ludzki” niż tradycyjne algorytmy wyszukiwania alfa-beta -

Przeanalizowaliśmy również względną wydajność wyszukiwania MCTS AlphaZero w porównaniu do najnowocześniejszych wyszukiwarek alfa-beta używanych przez Sztokfisz i Elmo. AlphaZero przeszukuje tylko 80 tysięcy pozycji na sekundę w szachach i 40 tysięcy w shogi, w porównaniu do 70 milionów dla Sztokfiszów i 35 milionów dla Elmo. AlphaZero kompensuje niższą liczbę ocen, wykorzystując swoją głęboką sieć neuronową, aby skupić się znacznie bardziej selektywnie na najbardziej obiecujących odmianach - prawdopodobnie bardziej „ludzkie” podejście do wyszukiwania, jak pierwotnie zaproponował Shannon. Ryc. 2 pokazuje skalowalność każdego gracza w odniesieniu do czasu myślenia, mierzonego w skali Elo, w stosunku do Sztokfisza lub Elmo z czasem myślenia 40 ms. AlphaZero MCTS skalował się bardziej efektywnie z czasem myślenia niż Sztokfisz lub Elmo,

Oto niektóre z gier -

Sztokfisz - AlphaZero, 0-1
1. E4 E5 2. NF3 NC6 3. BB5 Sf6 4. D3 BC5 5. Bxc6 dxc6 6. OO Nd7 7. Nbd2 OO 8. QE1 F6 9. NC4 Rf7 10. a4 BF8 11. KH1 NC5 12. A5 Ne6 13. Ncxe5 fxe5 14. Nxe5 Rf6 15. Ng4 Rf7 16. Ne5 Re7 17. a6 c5 18. f4 Qe8 19. axb7 Bxb7 20. Qa5 Nd4 21. Qc3 Re6 22. Be3 Rb6 23. Nc4 Rb4 24. b3 a5 25. Rxa5 Rxa5 26. Nxa5 BA6 27. Bxd4 Rxd4 28. NC4 RD8 29. G3 H6 30. QA5 BC8 31. Qxc7 BH3 32. Rg1 RD7 33. Qe5 Qxe5 34. Nxe5 Ra7 35. NC4 G5 36. RC1 BG7 37. NE5 Wa8 38. NF3 BB2 39. RB1 BC3 40. NG1 BD7 41. NE2 BD2 42. RD1 BE3 43. KG2 BG4 44. Re1 BD2 45. Rf1 Ra2 46. H3 Bxe2 47. Rf2 Bxf4 48. Rxe2 Be5 49. Rf2 Kg7 50. g4 Bd4 51. Re2 Kf6 52. e5 + Bxe5 53. Kf3 Ra1 54. Rf2 Re1 55. Kg2 + Bf4 56. c3 Rc1 57. d4 Rxc3 58. dxc5 Rxc5 59. b4 Rc3 60. h4 Ke5 61 . hxg5 hxg5 62. Re2 + Kf6 63. Kf2 Be5 64. Ra2 Rc4 65. Ra6 + Ke7 66. Ra5 Ke6 67. Ra6 + Bd6 0-1

Gra

Sztokfisz - AlphaZero, 0-1
1. E4 E5 2. NF3 NC6 3. BB5 Sf6 4. D3 BC5 5. Bxc6 dxc6 6. OO Nd7 7. C3 OO 8. D4 Bd6 9. Bg5 Qe8 10. Re1 F6 11. BH4 Qf7 12. Nbd2 A5 13. Bg3 Re8 14. Qc2 Nf8 15. c4 c5 16. d5 b6 17. Nh4 g6 18. Nhf3 Bd7 19. Rad1 Re7 20. h3 Qg7 21. Qc3 Rae8 22. a3 h6 23. Bh4 Rf7 24. Bg3 Rfe7 25. Bh4 Rf7 26. Bg3 a4 27. Kh1 Rfe7 28. Bh4 Rf7 29. Bg3 Rfe7 30. Bh4 g5 31. Bg3 Ng6 32. Nf1 Rf7 33. Ne3 Ne7 34. Qd3 h5 35. h4 Nc8 36. Re2 g4 37. ND2 Qh7 38. kG1 BF8 39. NB1 Sd6 40 NC3 BH6 41. Rf1 Wa8 42. KH2 Kf8 43. kG1 Qg6 44. f4 gxf3 45. Rxf3 Bxe3 + 46. Rfxe3 Ke7 47. BE1 Qh7 48. RG3 RG7 49. Rxg7 + Qxg7 50. Re3 RG8 51. RG3 Qh8 52. NB1 RXG3 53. Bxg3 Qh6 54. ND2 BG4 55. KH2 KD7 56. b3 axb3 57. Nxb3 Qg6 58. ND2 BD1 59. NF3 BA4 60. ND2 Ke7 61 Bf2 Qg4 62. Qf3 Bd1 63. Qxg4 Bxg4 64. a4 Nb7 65. Nb1 Na5 66. Be3 Nxc4 67. Bc1 Bd7 68. Nc3 c6 69. Kg1 cxd5 70. exd5 Bf5 71. Kf2 Nd6 72. Be3 Ne4 + 73. Nxe4 Bxe4 74. a5 bxa5 75. Bxc5 + Kd7 76. d6 Bf5 77. Ba3 Kc6 78. Ke1 Kd5 79. Kd2 Ke4 80. Bb2 Kf4 81. Bc1 Kg3 82. Ke2 a4 83. Kf1 Kxh4 84. Kf2 Kg4 85. Ba3 Bd7 86. Bc1 Kf5 87. Ke3 Ke6 0-1

Biały: AlphaZero Czarny: Sztokfisz

AlphaZero - Sztokfisz, 1-0
1. NF3 Sf6 2. C4 B6 3. d4 E6 4. G3 BA6 5. QC2 C5 6. D5 exd5 7. cxd5 BB7 8. BG2 Nxd5 9. OO NC6 10. RD1 BE7 11. Qf5 Sf6 12. E4 G6 13. Qf4 O-O 14. e5 Nh5 15. Qg4 Re8 16. Nc3 Qb8 17. Nd5 Bf8 18. Bf4 Qc8 19. h3 Ne7 20. Ne3 Bc6 21. Rd6 Ng7 22. Rf6 Qb7 23. Bh6 Nd5 24. Nxd5 Bxd5 25. RD1 Ne6 26. Bxf8 Rxf8 27. Qh4 BC6 28. Qh6 Rae8 29. RD6 Bxf3 30. Bxf3 QA6 31. H4 QA5 32. RD1 C4 33. RD5 QE1 + 34. KG2 c3 35. bxc3 Qxc3 36. h5 RE7 37. BD1 QE1 38. BB3 RD8 39. Rf3 Qe4 40. Qd2 Qg4 41. BD1 Qe4 42. H6 NC7 43. RD6 Ne6 44. BB3 Qxe5 45. RD5 Qh8 46. QB4 NC5 47. Rxc5 bxc5 48. Qh4 Rde8 49. Rf6 Rf8 50. Qf4 a5 51. g4 d5 52. Bxd5 Rd7 53. Bc4 a4 54. g5 a3 55. Qf3 Rc7 56. Qxa3 Qxf6 57. gxf6 Rfc8 58. Qd3 Rf8 59. Qd6 Rfc8 60. a4 1- 0

Po prostu przeczytaj gazetę. Naprawdę niesamowite. Oczywiście nie oznacza to, że nie można zbudować czegoś mocniejszego przy użyciu tradycyjnych technik połączonych z AlphaZero, ale nadal ...
BlindKungFuMaster

10

Ok, muszę przyznać, że się myliłem. Chociaż chciałbym twierdzić, że wynikało to ze znajomości opinii eksperta, a nie ogólnej tępoty: Cytując artykuł : „Jednak programy szachowe wykorzystujące tradycyjne MCTS były znacznie słabsze niż programy wyszukiwania alfa-beta (4, 24); podczas gdy alfa -beta Programy oparte na sieciach neuronowych wcześniej nie były w stanie konkurować z szybszymi, ręcznie wykonanymi funkcjami oceny ”.

Najwyraźniej szachy są na tyle strategicznie głębokie, że można strategować kogoś, kto byłby w stanie obliczyć cię. To dla mnie wielka niespodzianka, ponieważ rozwój silników szachowych szedł w przeciwnym kierunku. (Najwyraźniej nadal istnieje niewielkie zastrzeżenie, czy AlphaZero jest naprawdę silniejszy niż Sztokfisz: Sztokfisz grał tylko 1 GB dla tablic skrótów i 64 rdzeni może nie być tak naprawdę zgodny z czterema TPU)

To także naprawdę ekscytujące wydarzenie, ponieważ AlphaZero najprawdopodobniej ma bardzo różne moce od tradycyjnych silników.

Oznacza to również, że aktualizuję swoje przekonanie o znaczeniu AlphaGo jako przełomu technologicznego. Zasadniczo rozbijanie shogi, Go i szachów za pomocą jednego zestawu jest całkowicie niesamowite, nie wspominając o dziesiątkach innych gier, w które AlphaZero mógłby grać na nadludzkim poziomie.

Istnieje dobre wytłumaczenie, dlaczego MCTS jest naprawdę dobrym pomysłem nawet dla szachów w porównaniu do wyszukiwania alfa-beta (z artykułu): „AlphaZero ocenia pozycje za pomocą aproksymacji funkcji nieliniowej opartej na głębokiej sieci neuronowej, a nie liniowej aproksymacja funkcji stosowana w typowych programach szachowych. Zapewnia to o wiele silniejszą reprezentację, ale może również wprowadzać fałszywe błędy aproksymacji. MCTS uśrednia te błędy aproksymacji, które mają tendencję do anulowania podczas oceny dużego poddrzewa. W przeciwieństwie do wyszukiwania alfa-beta oblicza jawną wartość mini-max, która propaguje największe błędy aproksymacji do katalogu głównego poddrzewa. " (nacisk przeze mnie)

Oto moja stara odpowiedź, wciąż zawierająca pewne ważne punkty, mimo że wniosek został zastąpiony przez rzeczywistość.

Po pierwsze Alphago nie jest ogólnym systemem gry. Jest to program przeznaczony wyłącznie do grania w go i nic więcej. Jest on jednak zbudowany z pewnych bloków konstrukcyjnych, które mają znacznie szersze zastosowanie, takich jak splotowe sieci neuronowe , które zostały użyte w rozpoznawaniu obrazu i które mają natychmiastowe zastosowanie w diagnostyce medycznej, oraz nauka o wzmocnieniu, która została wykorzystana do opanowania gier Atari wymienionych w artykuł.

Ponadto obecne silniki „uczą się” poprzez samodzielne granie : „W ciągu nocy sześć komputerów Leflera gra przez ponad 14 000 gier w ciągu ośmiu godzin.„ Sześć maszyn razy 14 000 gier to dużo gier ”- mówi. z każdą grą baza danych staje się coraz głębsza i bogatsza. Istnieje nawet sportowe zainteresowanie oglądaniem, jak komputery grają ze sobą. Rezultatem ruchliwie wirujących maszyn Leflera jest stale rosnąca sprawność Komodo. ”

Aby dojść do głównej części pytania:

Istnieje ważna różnica między szachy i go, przynajmniej z perspektywy programisty. Szachy są bardziej grą taktyczną, podczas gdy go jest bardziej strategiczną. Oznacza to, że w obliczeniach szachowych głębokość przebija ocenę pozycji. Jest to w zasadzie kluczowy wgląd, który odróżnia „stare” silniki, takie jak Fritz, Shredder, Junior i nowsze generacje, takie jak Fruit, Rybka, Houdini, Sztokfisz, Komodo. Ponieważ na końcu każdej linii musisz ocenić pozycję i chcesz obliczyć wiele linii, a jakość oceny nie jest tak ważna, jak głębokość wyszukiwania, silniki szachowe mają funkcje oszczędnej i szybkiej oceny.

Z drugiej strony złożoność taktyczna jest zbyt duża nawet dla komputerów. Dlatego dokładna ocena pozycji i ruchów jest kluczowa. Nowością w grze Alphago jest ta moc oceny, która opiera się na splotowych sieciach neuronowych .

Aby w końcu przejść do mojego punktu: podczas gdy funkcje oceny szachów są wąskie i szybkie, sieci neuronowe mają miliony, czasem miliardy parametrów. Ponieważ „uczenie się” w tym kontekście oznacza modyfikowanie parametrów, istnieje znacznie więcej możliwych postępów w programach samouczących się.

Tak, możesz użyć konfiguracji takiej jak Alphago, aby stworzyć silnik szachowy, ale nie byłoby to szczególnie dobre. Uruchomienie funkcji oceny zajęłoby tak dużo czasu, że musiałbyś wykorzystać ogromny klaster gpus, aby dostać się do niezbędnych głębokości wyszukiwania (co robi Alphago). Możesz stworzyć bardzo dobrą funkcję oceny , ale kompromis prędkości nie jest tego wart.


1
Nie zgodziłbym się z tobą, że możesz użyć konfiguracji takiej jak Alphago, aby stworzyć silnik szachowy, ale nie byłoby to szczególnie dobre . Mogę się założyć, że za niecały rok pojawi się silnik szachowy, który w dużej mierze opiera się na NN (najprawdopodobniej będzie miał wyszukiwanie drzewa i Monte Carlo, ale to nie jest ważne), który będzie bliski sztokfisz najnowocześniejszy. Ten silnik nie będzie pochodził od super korporacji (ponieważ dawno temu zainteresowanie szachy zniknęło z badaczy AI), ale raczej z silnego hobbisty.
Salvador Dali,

Monte carlo jest całkowicie bezużyteczne w szachach. I chociaż NN nie są bezużyteczne, są po prostu zbyt wolne.
BlindKungFuMaster

3
Dlaczego dokładnie MCTS jest bezużyteczny? Rozsądne jest rozpoczynanie od bieżącej pozycji na planszy, uruchomienie 1000 gier o głębokości węzła 5 i sprawdzenie, który węzeł ma większe szanse. Jest to bardzo podobne do tego, co robisz, gdy spojrzysz na statystyki ruchów w bazie danych i zobaczysz, że po 14. Kg4 biały wygrywa 25%, ale przy 14. Rb2 wygrywa z 45%. Czy masz jakieś dowody całkowicie bezużytecznej frazy?
Salvador Dali,

2
W MCTS nie chodzi o przypadkowość, chodzi o symulację. Podstawowe książki wprowadzające na temat MC pokazujące przykład losowości, aby pokazać cel. Możesz grać ostrą pozycję wiele razy z głębokością węzła 6, która jest super szybka (i nadal dość niezawodna) i pozwoli ci oszacować, który ruch jest lepszy.
Salvador Dali,

1
Moje wypowiedzi nie są odważne, są głównym nurtem. Po prostu przeczytaj kilka stron z programami szachowymi, znajdziesz mniej więcej moje argumenty. MCTS jest znany od dekady, a w szachach inne rzeczy po prostu działają lepiej. Z drugiej strony nie sądzę, że twoje wypowiedzi opierają się na czymś więcej niż na przeczuciu, więc to będzie mój ostatni komentarz.
BlindKungFuMaster

5

Istnieje projekt o nazwie spawkfish, który próbuje to zrobić. Jest to oparty na sieci neuronowej silnik, którego celem jest „zbadanie, w jaki sposób najnowsze osiągnięcia w Go można zastosować w świecie szachów komputerowych”.

To młody projekt, a silnik jest nadal dość słaby. Gra w nią jest interesująca, ponieważ jej gra pozycyjna jest lepsza niż taktyka.


2
Nie żartowałeś z tego ostatniego zdania. Po prostu grałem przeciwko niemu w kilka gier i każda z nich dostała się do dość wyrównanej gry końcowej, tylko po to, aby zobaczyć, jak spawnfish nagle upuszcza materiał (w jednym przypadku po prostu wieszając wieżę znikąd). Dziwne.
ETD,

Od kiedy odpowiedziałeś, wydaje się, że pojawiły się nowe informacje dotyczące sztucznej inteligencji go. Zaktualizowałem pytanie, aby link do wiadomości, jeśli Cię to interesuje.
thb

Wygląda na to, że strona internetowa spawnfisha zniknęła ...
hkBst

4

Czy podobna sztuczna inteligencja może wygrać w szachy? Czy można osiągnąć czysty trening?

Krótka odpowiedź brzmi „nie!”

Szachy i gra różnią się radykalnie pod względem względnej prostoty i względnej złożoności, które wynikają z ich geometrii i sposobu wygrania. Łączą się, tworząc program, który jest dobry w jednym, bezużyteczny w drugim.

W szachach wygrywasz przez matowanie przeciwnika, punkty się nie liczą. Oczywiście rozsądny przeciwnik często rezygnuje, zanim dostarczysz mat, ale zasada jest taka sama. W drodze wygrywasz, mając więcej punktów na koniec gry. Jeśli mam króla i królową, a ty masz króla, wieżę i pionka, ale zbudowałeś fortecę, nie ma znaczenia, że ​​mam 9 punktów za królową, a ty masz tylko 6 punktów za wieżę i pionka. Gra jest remisem.

To robi zasadniczą różnicę w złożoności między szachami i go. W biegu możesz po prostu utrzymać wynik, a będziesz wiedział, kto wygrywa. W szachach jedynym sposobem na sprawdzenie, kto wygrywa, jest czysta kalkulacja. W tym sensie szachy są znacznie bardziej złożone niż gra.

Jednocześnie, ze względu na geometrię obu gier, istnieje o rząd wielkości więcej możliwości w grze niż w szachach. W tym sensie gra jest znacznie bardziej złożona niż szachy.

Program szachowy polega na obliczeniu brutalnej siły wszystkich możliwych ruchów na pewną głębokość, która określa jego siłę. Program go nie może tak działać i grać w coś bardziej zaawansowanego niż go na poziomie początkującym.

Podstawowym celem go jest kontrolowanie większego terytorium niż przeciwnik. Na koniec gry nie ma znaczenia, czy różnica wynosi 1 kamień czy 100 kamieni, oba są wygrane. Za każdym razem, gdy kładziesz kamień, robisz dwie rzeczy. Zwiększasz swoje terytorium, potencjalne lub rzeczywiste, i zmniejszasz terytorium przeciwnika.

Czasami, kiedy jest faktyczny wzrost lub spadek terytorium, łatwo jest obliczyć wartość ruchu, ale gdy jest to potencjalne, bardzo trudno jest ocenić. Jako słaby gracz rozumiem „rzeczywisty” znacznie lepiej niż „potencjał”, a silniejszy gracz pokona mnie, budując znacznie większe potencjalne terytorium w centrum, podczas gdy ja buduję mniejsze rzeczywiste terytorium na krawędziach i rogach. Silniejszy gracz zbuduje umiejętność osądzania intuicyjnie i wyczuwania na podstawie wielu gier i rozpoznawania, jak budować „potencjalne” terytorium.

Wcześniej mówiłem, że za każdym razem, gdy kładę kamień, zwiększa on moje terytorium (rzeczywiste lub potencjalne) i zmniejsza ruch przeciwnika (właściwie jeśli jest to głupi ruch, zrobi to odwrotnie!). Na dowolnej pozycji nie wszystkie ruchy są takie same. Kamień umieszczony w jednej pozycji może być wart znacznie więcej lub znacznie mniej niż kamień umieszczony w innej pozycji.

Zazwyczaj w grze odbywają się małe „walki”, w których gracze umieszczają swoje kamienie blisko siebie, zaznaczając swoje terytorium i ograniczając przeciwnika. Tymczasem istnieje możliwość rozpoczęcia wytyczania terytorium w innej części planszy lub przejścia do walki w innym miejscu, w którym obaj gracze mają już kamienie.

W takich sytuacjach bardzo ważna jest wiedza, kiedy zatrzymać jedną walkę, ponieważ potencjalne korzyści zmalały i albo przejść do innej walki, albo być może wyjechać na dziewicze terytorium. Czasami zależy to od trudnych obliczeń, ale często jest bardziej mgliste i nie podlega obliczeniom. Jako słaby gracz jest to miejsce, w którym silny płatnik zmiażdży mnie za każdym razem.

W takich sytuacjach komputer stosuje metody probabilistyczne do generowania oczekiwanego wyniku dla określonego ruchu. Czasami rzeczywista wartość okaże się nieco mniejsza, czasem nieco większa, ale na dłuższą metę nawet bardziej. Będzie wybierał ruch z najwyższą oczekiwaną wartością, oczekując, że w długim okresie gry małe błędy zostaną anulowane, a jego strategia zwycięży.

Nie jest to strategia, która brzmi znajomo dla szachistów i nie jest taka, która będzie działać w szachach. Jest to coś, co wydaje się znane każdemu, kto śledzi to, co dzieje się na rynkach akcji. Brzmi bardzo podobnie do czegoś, co nazywa się „obrotem o wysokiej częstotliwości”, w którym komputery będą dokonywać tysięcy małych zakładów lub po prostu proponują zakłady co sekundę, aby „nikiel i dziesięciocentówka” rynku, a może nawet przesunąć go bardzo nieznacznie na korzyść w okresach milisekund.

Już teraz rynki finansowe są zdominowane przez tego rodzaju handel algorytmiczny, co sugeruje, że tego rodzaju program triumfował już w znacznie bardziej dochodowym obszarze niż gra planszowa.


4
Handel z wysoką częstotliwością nie jest niczym innym jak granie. Zupełnie inne algorytmy afaik. W twojej odpowiedzi jest też wiele interesujących rzeczy, ale ciężko jest zrozumieć główny punkt, być może dodać TL; DR. ;-)
BlindKungFuMaster

@BlindKungFuMaster Podstawową zasadą stojącą za HFT i AlphaGo jest zasada probabilistyczna. Oczekiwany zysk z tego „ruchu” wynosi x%. W dłuższej perspektywie akumulacja takich ruchów / zakładów ma na celu wygrać grę dla AlphaGo lub zarobić fortunę dla traderów HFT. Jednak od czasu do czasu dochodzi do „flash crash” lub „cudownego ruchu” Lee Lee-dolina, który zamienia zwycięstwo / zysk w stratę. To w żaden sposób nie unieważnia jego programowania. Nie jest zaprogramowane, aby za każdym razem znajdowało absolutnie najlepszy ruch. To trochę jak pseudo rozwiązania problemu sprzedawców podróżujących, którzy starają się uzyskać 5% najlepszych.
Brian Towers

Od kiedy odpowiedziałeś, wydaje się, że pojawiły się nowe informacje dotyczące sztucznej inteligencji go. Zaktualizowałem pytanie, aby link do wiadomości, jeśli Cię to interesuje.
thb

1
@thb, uważam, że ta odpowiedź jest teraz nieco przestarzała, biorąc pod uwagę nowy sukces AlphaZero, jak w arxiv.org/abs/1712.01815
Mark S.

@ Nie. Dlaczego? Nie oceniaj innych według własnych płytkich standardów.
Brian Towers

4

(Każdy, kto chce głębokiej dyskusji technicznej dla AlphaGo, może spojrzeć na mój post )

Krótka odpowiedź : nie

Długa odpowiedź :

Najpierw musimy zrozumieć, dlaczego Google nie wdrożyło wersji alfa-beta w AlphaGo. Sztokfisz i Komodo (i wszystkie silniki szachowe) mają alfa-beta, dlaczego AlphaGo nie miałoby?

Powód : nie ma łatwego i taniego sposobu, który mógłby dokładnie oszacować statycznie pozycję Go.

W szachach zawsze możemy liczyć materiały, co jest bardzo skutecznym sposobem na statystyczną ocenę pozycji. Chociaż nie jest idealny, jest bardzo szybki i bardzo dobry w szachy.

Przeszukiwanie przestrzeni stanu za pomocą Monte-Carlo jest gorszą metodą niż alfa-beta. Google zaimplementowałoby alfa-beta, gdyby mogli, ale nie mogli. W związku z tym zostali zmuszeni do użycia czegoś znacznie wolniejszego.

Silnik szachowy nie grałby lepiej z Monte-Carlo.


Czas na przemyślenie, a może jeszcze nie?
Evargalo,

3

Nie zgadzam się z innymi odpowiedziami. Jestem informatykiem, który pracuje zawodowo w obszarze sztucznej inteligencji, a także jestem kandydatem na mistrza szachów i 3 dana na igo.

Myślę, że w tej chwili nie jest jasne, czy metody Deep Mind można zastosować do szachów, ale myślę, że jest to możliwe.

Obecnie najlepsze programy do gry w szachy w coraz większym stopniu opierają się na heurystyce, a próba użycia architektury AlphaGo do szachów byłaby pod pewnym względem podobna.

Jedną z kluczowych cech architektury AlphaGo, którą należałoby zmienić, jest metoda identyfikacji kluczowych kwadratów (lub map cieplnych), która jest szczególna dla gier podobnych do igo i nie ma bezpośredniego zastosowania do szachów. Trzeba by opracować jakiś analog tej metody, aby architektura AlphaGo była odpowiednia dla szachów. Na przykład moglibyśmy mieć pojęcie „kluczowych elementów” zamiast kluczowych kwadratów.

Myślę, że argument, że architektura AlphaGo nie ma zastosowania do szachów, ponieważ szachy są bardziej taktyczne, nie jest zbyt dobrym argumentem, ponieważ ostatecznie oba mają drzewa wyszukiwania, które są na tyle podobne, że AlphaGo można zdecydowanie dostosować do szachów.


Dałem ci +1, ponieważ twoje twierdzenia mogą być poprawne, ale nie wiemy na pewno, dopóki ktoś nie opublikuje artykułu.
SmallChess,

Co? Artykuł już istnieje, jak wskazał Brian Towers. Odpowiedź brzmi „tak”.
termomagnetyczny skondensowany bozon

Wygląda na to, że miałem rację, heh.
Cecil De Vere,

@CecilDeVere nie zgadzając się z innymi odpowiedziami, 2 z nich wskazało poprawną odpowiedź. I nie przez stwierdzenie, że w tej chwili jest niejasne, podczas gdy jest całkowicie jasne, że ta odpowiedź jest twierdząca (może nie).
termomagnetyczny skondensowany bozon

3

Odpowiedź brzmi tak! Google właśnie to udowodnił wczoraj, gdy AlphaZero pokonało najlepszy program szachowy, wykorzystując jedynie wiedzę o zasadach i samokształcenie bez wykorzystywania ludzkiej wiedzy o szachach. Przyjęta odpowiedź jest błędna. Link do artykułu jest tutaj: link


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.