TurkucPodjadek
2019-02-10 17:59

Nie wiem czy kogoś to interesuje, ale trwa właśnie prawdopodobnie najciekawszy finał TCEC (mistrzostwa silników szachowych) ostatnich lat: https://tcec.chessdom.com/live.html

Aktualny mistrz, przedstawiciel "starej generacji" silników opartych o algorytm typu alpha-beta prunning (w skrócie: przeoram wszystkie możliwe posunięcia i wybiorę "obiecujące" - te przeoram bardziej) stockfish (tu w wersji 10), mierzy się z LC0 w odmianie z najsilniejszą siecią NN jaką ma dostępną. Leela Chess Zero jest "duchem" AlphaZero od DeepMinda, działa w oparciu o NN+MCTS (sprawdza tylko "podobne" lub "znane" algorytmowi sytuacje, a nie całe dostępne drzewo zagrań).

Dlaczego to takie ważne? Z trzech powodów:

1) w tej chwili tą są bezsprzecznie dwa najsilniejsze silniki szachowe na świecie, ważą się losy, które podejście algorytmiczne zacznie dominować w silnikach szachowych. LC0 już przełamała dominację "wielkiej trójki" - stockfish, komodo, houdini

2) dla nieobeznanych w temacie AlphaZero lub chcących wspomnieć, dlaczego nie "to", przypominam: DeepMind "rzuca" jakimiś wynikami, paroma partiami i dokumentami + ewentualnie odpowiada na pytania, do tego dysponuje sprzętem będącym poza zasięgiem 99% firm (w końcu są częścią Google/Alphabet).
LC0 właśnie powstało, by wprowadzić w życie koncepty opisane przez DeepMind na gruncie konsumenckich i za chwilę ich "sukcesy" mogą już być obsolete, bo nie trzeba będzie mieć 4000 TPU do nauki i 4 do "ogrania" stockfisha różnicą 50 ELO. Przypominam, że najnowszy dokument DeepMind przyrównuje A0 do Stockfisha 8 (gdy 10 już jest), przy prawie 900 remisach na 1000 partii. Wcale nie jest to żadne osiągnięcie IMO. Dlatego też, A0 nie jest "uznawane" za pełnoprawny silnik, który np. mógłby w środowisku być okrzyknięty jako najlepszy, bo jest kompletnie niedostępny do weryfikacji, a do tego, do działania, według udostępnionych wyników, wykorzystuje kosmiczne moce obliczeniowe.

3) w związku z punktem 2 - mecz jest absolutnie weryfikowalny przez szeroką społeczność, LC0 nie jest "tajemną" technologią jakiejś firmy, każdy może brać udział w testach i rozwoju, są dostępne m.in. logi z outputu obu silników, repo LC0 jest na githubie i można śmiało kontrybuować. I wszystko mamy w czasie rzeczywistym, a nie z rocznym opóźnieniem i jakąś "pompą".

LC0 startowała kilka TCECów temu i w pierwszym występie miała słabe wyniki, ale z turnieju na turniej stawała się coraz silniejsza. Teraz jest już crazy strong, zupełnie jak stockfish i gra bardzo widowiskowo dla ludzi, w sensie podobnie do nich. "Lubi" poświęcać materiał za inicjatywę (marzenie wszystkich szachistów - poświęcić materiał w zamian za inicjatywę i wygrać partię, no mokry sen), nie boi się tak grać z innymi silnikami.
Wydawało się, że w tym turnieju LC0 też zbierze srogie lanie, zwłaszcza po początkowych porażkach, ale jednak stawia silny opór stockfishowi i nie jest wiadome jak skończy się ten finał. W poprzednich finałach przeciwnicy stockfisha już na tym etapie "leżeli" na dyskach i tylko zastanawiano się, jaką różnicą skończy się mecz. To właśnie się skończyło i dobrze.

Fanom szachów polecam zerkać na ten mecz, bo o to właśnie rozgrywają się najsilniejsze pojedynki szachowe w historii szachów, pojedynki będące w innej galaktyce w stosunku do "ludzkich" mistrzostw.

komuher

Jeszcze 60 gier zostalo spokojnie poczekajmy na 90 wtedy zaczna sie emocje (moze :D)

karpov

Cały czas remis? :O

TurkucPodjadek

@WhiteLightning: 1 partia może trwać ponad 3h, a zostało ich jeszcze około 50 do rozegrania. W tej chwili Leela prowadzi 1 punktem, nosz, ależ to silne cholerstwo wyrosło w lekko ponad rok....

Afish

Gra 65.1 chyba pokazała, że LC0 tak naprawdę nie jest świadomy konceptu szachów, a jest dobrze nauczonym systemem. SF dawał 150, a LC0 przez kilkadziesiąt ruchów nie miał pojęcia, gdzie jest wygrywająca linia, aż wreszcie spartolił i zrobił remis.

TurkucPodjadek

No ciekawe, ciekawe. Ciekawe który algorytm miał tu rację, bo to nie jest od takie łatwe do sprawdzenia, nawet jak ktoś ma mocne procki.

karpov

@Afish: a może to sprawia właśnie, że bliżej mu do AI niż dobrze nauczonego systemu ;)

WhiteLightning

@TurkucPodjadek: to czekam na kolejny wpis na miblogu z komentarzem :)

karpov

@TurkucPodjadek: @WhiteLightning Alert! Stockfish wyszedł na prowadzenie na 15 partii przed końcem :)

WhiteLightning

@karpov: no to w koncu remis czy jeszcze graja :) Bo nie chce sie z pracy laczyc.

karpov

@WhiteLightning: jeżeli dobrze to interpretuje to na ten moment jest 43,5 do 42,5

WhiteLightning

@karpov: ile jeszcze partii zostalo ?

karpov

@WhiteLightning: Na liście jest 100 partii a teraz grają 87

TurkucPodjadek

Spokojnie, nic się jeszcze nie dzieje, dużo się może jeszcze wydarzyć, można się tymczasowo rozejść :D

TurkucPodjadek

Tak przy okazji, kanały YT które subskrybuję, które analizują niektóre partie z tego pojedynku: ChessNetwork, agadmator's Chess Channel, GM Thechesspuzzler. Tylko na te analizy nie patrzcie bezkrytycznie, bo wszystko to są gracze/analizatory dużo słabsi od "graczy" z tego meczu. Plus analizują te partie na swoich nieraz laptopikach (TCEC ma sprzęt na 44 jajka, Leela używa 2080Ti, więc nie w kij dmuchał sprzęty)

WhiteLightning

@TurkucPodjadek: a masz jakas analize jakie rozpoczecia sa najczestsze?

TurkucPodjadek

@WhiteLightning: nie mam spisu otwarć, ale one są ustalone "odgórnie" - znaczy się jest lista 50 otwarć, czasem bardzo egzotycznych i silniki grają te otwarcia (w sensie rozpoczynają od "zadanej" początkowej pozycji po pierwszych kilku posunięciach zadanych im "automatycznie") na zmianę kolorami. Czyli jeśli wśród otwarć jest np. Obrona Sycylijska, jakiś jej konkretny wariant, to najpierw jeden silnik rozgrywa pozycję startową tego wariantu białymi, następnie czarnymi.

WhiteLightning

Myslalem ze w ten sposob mozna by zobaczyc ktore otwarcia sa najsilniejsze.

karpov

Panowie, to może stworzymy jakąś małą ligę 4programmers i bedziemy ciupac w szachy? :) Tak sie skalda, ze pracuje nad programem do grania turniejow wiec mialbym motywacje zeby skonczyc ;)

WhiteLightning

Ja moge kiedys blitza na Lichees zagrac