Jak znaleźć problemy z dobrą taktyką?

14

Załóżmy, że masz bazę danych wielu gier.

Jak poszedłbyś znaleźć problemy z dobrą taktyką? Podejrzewam, że szukałbyś, dopóki nie było miejsca, w którym wynik się zmienił, i był tylko jeden dobry ruch w poprzednim ruchu. Ale to nie jest cała historia, czasami trzeba cofnąć się o kilka ruchów, aby dowiedzieć się, gdzie taktyka naprawdę się rozpoczęła.

Na razie pomysły na to, jak to zrobić ręcznie, są w porządku (za pomocą silnika analizy), ale pomysł jest zautomatyzowany.

Eve Freeman
źródło

Odpowiedzi:

11

Jednym z podejść może być przejście przez wszystkie ruchy gry na wysokim poziomie, a jeśli ocena silnika ulegnie znacznej zmianie, zapisz pozycję do oceny przez człowieka.

W tym przypadku „znacząco” to prawdopodobnie połowa pionka lub więcej, chociaż możesz też wymagać, aby był to jeden pełny pionek dla łatwiejszej taktyki.

Powodem, dla którego patrzymy tylko na gry na wysokim poziomie, jest to, że wynik naprawdę zmieni się tylko znacząco z błędem. Gry na wysokim poziomie nie będą miały oczywistych błędów (tj. Wieszanie pionka), więc błędy mogą być nie tak oczywistą taktyką.

Nie będzie to idealne, ale może uzyskać pozycje, na które warto spojrzeć „ręcznie”.

Jeszcze jedna uwaga - jeśli pozwolisz silnikowi szachowemu na wyszukiwanie na wystarczającej głębokości (14-16 w większości pozycji powinno być dobre) - nie będziesz musiał się martwić o pominięcie początku taktyki. Silniki będą w stanie zobaczyć większość taktyk, nawet jeśli są skomplikowane.

Andrew
źródło
3

Jeśli chcesz znaleźć ekstremalnie taktyczne gry, zacznij od spojrzenia na ekstremalnie taktycznych graczy (Alekhine, Tal i Fischer i każdego innego szalonego szachisty, którego lubisz).

Drugie najlepsze byłyby gry między dowolnymi arcymistrzami, niezależnie od wieku, w który grała. Taktyka szachowa prawie zawsze pojawia się nawet w najbardziej pozycyjnych grach.

Jeśli chcesz znaleźć taktykę, która wygrywa wcześnie, wyszukaj miniatury (gry, które kończą się wygraną, powiedzmy, mniej niż 30 ruchów).

Istnieją strony, które pozwalają użytkownikom zapisywać kolekcje szachowe ( chessgames.com jest jednym z przykładów, istnieje kilka dobrych wyników, jeśli szukasz taktyki lub znanych graczy). Ale powiedziałeś, że masz bazę danych, w której chcesz przeszukiwać, więc możesz nie być tym zainteresowany.

Również bez angażowania twojej bazy danych szachów, możesz znaleźć wiele różnorodnych taktyk w książkach pisanych przez trenerów szachowych lub na listach odtwarzania wideo tworzonych przez trenerów szachowych (moim ulubionym przykładem jest MatoJelic , ale jest wiele innych).

Jeśli chcesz znaleźć gry, które wymagają wielu przechwyceń, wyszukaj liczbę xwystąpień (jeśli masz bazę danych z grami w PGN i znasz wyrażenia regularne, możesz wyszukiwać wystąpienia xkolejnych ruchów, ale to cię nie dostanie wystarczająca wartość za wysiłek, więc nie polecam).

Nie można znaleźć taktyk, których się unika. Przynajmniej nie możesz ich znaleźć, patrząc sam na ruchy gry. Potrzebujesz człowieka, żeby powiedzieć, co jeśli ...? , a następnie wykonaj ruch, a następnie sprawdź za pomocą komputera.

Valentin Brasso
źródło
1
Wydaje mi się, że mógłbym sformułować moje pytanie jaśniej, ale miałem na myśli to, że chciałem wyciągnąć z mojej bazy danych konkretne pozycje dotyczące taktyki, aby przedstawić je jako interesujące problemy (wydaje mi się, że chesstempo musi użyć czegoś takiego znaleźć problemy z taktyką).
Eve Freeman,
1

Wydaje mi się, że mogłem sformułować moje pytanie jaśniej, ale miałem na myśli to, że chciałem wyciągnąć z mojej bazy danych konkretne pozycje dotyczące taktyki, aby przedstawić je jako interesujące problemy (wydaje mi się, że ChessTempo musi użyć czegoś takiego znaleźć problemy z taktyką).

Burza mózgów tutaj, ale jako programista widzę sposób, aby to zrobić. Zdobądź Sztokfisz i napisz aplikację, która poda mu pozycję. Zapisz ewaluacje, a gdy ewaluacja zmieni się znacząco (cokolwiek to znaczy lol), zapisz tę pozycję jako FEN wraz z „rozwiązaniem”. Mam większość kodu do wykonania pomruków, nie sądzę, że napisanie tego byłoby trudne. Po prostu nie mam zainteresowania tym hobby.

Jak zdobywasz pozycje do zgłaszania się do Sztokfisz? W tym celu iterujesz plik zawierający wiele gier w formacie PGN i generujesz FEN dla każdej pozycji wirtualnej planszy. Podobny kod napisałem już w języku C # i Javie.

ezaspi
źródło
Właściwie to trochę popracowałem, odkąd zadałem to pytanie: gist.neo4j.org/?6506717 :)
Eve Freeman
Ładny! Czy twoje podejście ratuje każdą pozycję FEN w grze i wykorzystuje ją jako bazę danych? Nie sądzę, że chessTempo posuwa się tak daleko, ale to ambitny pomysł, jeśli to właśnie robisz. Sądzę, że w wielu grach będzie bardzo duży. Ale jeśli wszystko, czego chcesz, to wyodrębnić problemy taktyczne, aby zaprezentować ChessTempo, nie sądzę, że potrzebujesz zapytań.
ezaspi,
Jako szachista chcę, aby twoje dzieło mogło rozwiązać. Wszyscy chcemy ulepszyć naszą grę. Jeśli mogę nakarmić wszystkie moje gry Twojemu programowi i sklasyfikować moje błędy, mógłbym lepiej zrozumieć, gdzie muszę poprawić. Chess.com śledzi Twoją historię taktyk i robi coś podobnego. Ale wiele jego taktyk nie jest dla mnie realistycznych. Twój program byłby o wiele bardziej osobisty!
ezaspi,
Jeszcze jedno, jeśli spojrzysz na CTART (google, IMO najlepsza baza problemów taktycznych), zobaczysz, że twórca wziął pozycje z prawdziwych gier. Odwołuje się nawet do gier! Jednak, aby uniknąć problemu z prawami autorskimi, usuwa pojedynczy pionek, który nie ma znaczenia dla pozycji. Biorąc pod uwagę ogromną liczbę gier CTArt, można docenić, że wysiłek był ogromny. Uzyskaj kopię na Amazon. :)
ezaspi
Chłodny. Zarejestrowałem domenę chessgraph.org, chociaż jeszcze nic tam nie ma. Mam nadzieję, że zdobędziesz coś, w którym możesz przesłać PGN i dokonać analizy gry przez sztokfisza, a także połączyć gry według pozycji FEN. Zobaczymy, jak szybko wybuchnie. :)
Eve Freeman