Uzyskanie prawidłowego ruchu z syzygy tablebases (Python)

Nov 30 2020

Stworzyłem silnik szachowy w Pythonie i teraz chcę zacząć używać tabel końcowych w syzygy. Pobrałem wszystkie odpowiednie pliki i jestem teraz gotowy do rozpoczęcia.

Odkryłem, jak uzyskać dostęp do plików w Pythonie przez np. Moduł Python Chess ( link ). Wyjaśnia, w jaki sposób mogę uzyskać informacje WDL i DTZ z pozycji FEN, co czasami może być przydatne. ALE to, czego naprawdę chcę, to wiedzieć, co zrobić, aby wygrać na tej pozycji FEN, i nie byłem w stanie dowiedzieć się, jak uzyskać te informacje z plików. Informacje w Internecie są bardzo ograniczone i mam nadzieję, że ktoś może mi pomóc, jak to zrobić?

Odpowiedzi

2 Noname Nov 30 2020 at 14:10

Nie mam całkowitej pewności, ponieważ te konkretne podstawy stołu są mi nieznane. Jednak we wszystkich innych bazach tabel, z których korzystałem, od Thompsona i nowszych, zasadniczo trzeba było:

  1. generować wszystkie legalne ruchy z pozycji,
  2. dla każdego ruchu wykonaj ruch i sprawdź wynik dla wynikowej pozycji, a następnie
  3. wybierz „właściwy ruch” na podstawie uzyskanych wyników w porównaniu z wynikiem z pozycji wyjściowej.