chessrank.org
Blog

Polowanie na Genialne posunięcia: dlaczego wykrycie genialnego ruchu to jedno z najtrudniejszych zadań w szachowym oprogramowaniu

Genialne posunięcie — u nas w chessrank.org nazywamy je Genialnym — to ta sama słynna odznaka Brilliant, przez którą chess.com sprawił, że każdy gracz zaczął jej pragnąć, i najbardziej ekscytująca rzecz, jaką w ogóle może pokazać analiza partii. To moment, w którym analiza mówi ci: nie zagrałeś po prostu dobrze, zagrałeś coś pięknego — coś genialnego!

To także, po cichu, jedna z najtrudniejszych rzeczy do wykrycia w całym oprogramowaniu szachowym. W tym wpisie odsłaniamy, jak chessrank.org poluje na Genialne posunięcia, jesteśmy szczerzy co do tego, że celowo je zaniżamy, i pokazujemy, dlaczego ta niewinnie wyglądająca odznaka kryje w sobie problem na poziomie badań naukowych.

Igła w stogu siana

Pierwsza rzecz, która to utrudnia, jest prosta: genialne posunięcia są rzadkie. W zwykłej partii niemal każde posunięcie jest „w porządku”. Prawdziwa, piękna ofiara, o której nieszachowanie błaga cię szachownica, zdarza się bardzo rzadko.

<1 na 500
posunięć to prawdziwa genialność
5
rozpoznanych typów Genialnego posunięcia
przebiegów silnika na kandydata

Gdy szukana rzecz jest tak rzadka, matematyka staje się bezlitosna: nawet detektor, który ma rację przez większość czasu, na tysiącach zwykłych posunięć wyprodukuje zalew fałszywych odznak Brilliant. Zrobienie tego dobrze oznacza bycie niezwykle wybrednym.

Co właściwie czyni posunięcie genialnym?

Genialne posunięcie to niemal zawsze ofiara, której przeciwnik nie powinien przyjąć: oddajesz materiał — skoczka, gońca, wieżę, a nawet hetmana — a posunięcie, które wygląda jak błąd, w rzeczywistości wygrywa. Bierzesz bierkę — i wszystko się rozpada. Jest też jeden szczególny przypadek: podpromocja, gdzie zamiana piona w skoczka lub wieżę (zamiast „oczywistego” hetmana) jest tym decydującym posunięciem.

BrilliantOfiara hetmanaBrilliantOfiara wieżyBrilliantOfiara gońcaBrilliantOfiara skoczkaBrilliantPodpromocja

Brzmi prosto. Nie jest. Haczyk tkwi w słowie powinien: ofiara liczy się tylko wtedy, gdy silnik potwierdzi, że jej przyjęcie jest prawdziwym błędem. Właśnie w tym jednym słowie kryje się cały problem.

Dlaczego to naprawdę trudne

Aby upewnić się, że posunięcie jest Genialne, nasz silnik musi przeprowadzić je przez cały tor przeszkód testów — a prawdziwa genialność to to, co przetrwa je wszystkie naraz:

Każde posunięcie w partii100%
Oferuje realny materiał~4%
...i jest (niemal) najlepsze~2%
...i przeciwnik powinien odmówić~1%
...a wzięcie to katastrofaGenialne

Potwierdzenie ostatniego kroku — że oferowana bierka jest zatruta — oznacza zadanie silnikowi jeszcze jednego pytania dla każdego kandydata: „co się stanie, jeśli ją zbiją?” A odróżnienie prawdziwej ofiary od bierki, która tylko wygląda na luźną (ale jest broniona taktyką trzy posunięcia głębiej), to dokładnie ten typ rzeczy, który silny gracz-człowiek łatwo wyczuwa, a boleśnie trudno zapisać w kodzie.

Szczera dygresja
Formalne oddzielenie „prawdziwej” ofiary od zwykłej luźnej bierki, udowodnienie, że ofiara jest poprawna, i zrobienie tego wystarczająco szybko, by działało w przeglądarce — to naprawdę ten typ problemu, wokół którego można by zbudować całą pracę magisterską. Nie przesadzamy: postrzegana „genialność” posunięcia to aktywny zakątek badań akademickich.

Nasza filozofia: cicha pewność

Tutaj będziemy z tobą całkowicie szczerzy. W porównaniu z odznaką, która spopularyzowała tę koncepcję, chessrank.org jest bardziej rygorystyczny. Celowo zaniżamy wykrywanie. Tam, gdzie bardziej hojny detektor zarzuca szeroką sieć — łapiąc więcej genialnych posunięć, ale też ochlapując Brilliant posunięcia, które sprawiają, że doświadczeni gracze unoszą brew — nasz silnik trzyma znacznie wyższą poprzeczkę.

Hojny detektor — zarzuca szeroką siećwięcej Brilliant, część wątpliwych
chessrank.org — cicha pewnośćmniej Brilliant, każdy zasłużony

Dlaczego wybrać łapanie mniejszej liczby? Ponieważ Brilliant jest wyjątkowa tylko wtedy, gdy coś znaczy. Jeśli wszystko jest genialne, nic nie jest genialne. Wolimy milczeć, niż się mylić. Więc kiedy chessrank.org w końcu przyzna ci Genialne posunięcie, przeszło ono wszystkie powyższe testy — posunięcie naprawdę oferowało materiał, było naprawdę słusznym wyborem, a silnik naprawdę potwierdził pułapkę. Innymi słowy: nasz model jest bardziej pewny siebie. Mówi mniej, ale ma rację w tym, co mówi.

Uczciwy wynik

Więc tak — dziś wciąż przegapiamy sporo bardziej efektownych genialnych posunięć, które wyłapałaby szersza sieć, zwłaszcza ciche, głębokie ofiary „odwracające uwagę”, gdzie luźna bierka jest zupełnie daleko od posunięcia, które właśnie wykonałeś. Łapanie ich bez zatapiania cię w fałszywych trafieniach to trudna, wciąż trwająca praca. Wolimy zdobywać twoje zaufanie odznaka po odznace, niż zawyżać liczby.

Każde nasze ulepszenie mierzymy równie bezlitośnie: czy złapaliśmy więcej prawdziwych genialnych posunięć, bez tego, by odznaka zaczęła kłamać? Ta równowaga — kompletność kontra zaufanie — to cała gra, i dlatego kolejne procenty są najtrudniejsze.

Znajdź swoje własne

Najlepsza część: genialne posunięcia to nie sport dla widzów. Każda partia, którą analizujesz, i każdy bot, którego pokonasz, to szansa na znalezienie własnego.

Analiza partiiPrzejrzyj swoje partie — każda Brilliant, którą zagrałeś, już czekaGra z botamiPokonaj drabinkę i poluj na genialne posunięcia na żywoPrzygotowanie do przeciwnikaJego Analiza partii też poluje na Brilliant — zwiadowaj przeciwnikaRanking BrilliantObserwuj — i zbieraj — każde znalezione Genialne posunięcie

Zagraj coś pięknego. Kiedy to naprawdę będzie genialne, powiemy ci o tym pierwsi — i powiemy to szczerze.