Strona 2 z 3

Re: Program rozwiązujący "ortodoksyjne" wielochodówki

PostNapisane: 12 maja 2019, 11:40
przez msterkowiec
1.6.5 https://drive.google.com/file/d/1QCp7Ui ... sp=sharing

Zawiera sev.1 bug fix (co prawda bardzo rzadko ujawniający się, ale jednak.. dużo pokrętnych ścieżek kodu dla możliwie sprawnego tj. szybkiego znalezienia rozwiązania i w jednej ze ścieżek zakradł się grubszy błąd...)

Re: Program rozwiązujący "ortodoksyjne" wielochodówki

PostNapisane: 20 cze 2019, 23:10
przez msterkowiec

Re: Program rozwiązujący "ortodoksyjne" wielochodówki

PostNapisane: 26 cze 2019, 21:42
przez msterkowiec
1.6.9: https://drive.google.com/file/d/17SOmRh ... sp=sharing
Drobne usprawnienie ze względu na #13 2B5/K4N2/p2p2p1/3p2Bk/Pp1N4/r1Pp2b1/bp4P1/2n3n1 , to znaczy:
http://www.yacpdb.org/?id=67625 lub https://pdb.dieschwalbe.de/search.jsp?e ... 'P1364736'

Re: Program rozwiązujący "ortodoksyjne" wielochodówki

PostNapisane: 01 lip 2019, 20:43
przez msterkowiec
1.6.10: https://drive.google.com/file/d/1X1nCxt ... sp=sharing

1.6.10 2019.07.01 Drobne usprawnienia ze względu na #12 K7/8/6p1/6pb/6p1/4Q1pr/3N1qpb/3N2kr ( http://www.yacpdb.org/?id=479895 )

A problem jest naprawdę ciekawy, dość nieoczekiwanie białe poświęcają damę i dwa białe skoczki wystarczają na całą hordę czarnych bierek, co prawda nieco unieruchomionych. Co więcej, oryginalna pozycja zawiera dual:
Rozwiązanie główne: 1. Qa7 Rh4 2. Kb7 Rh3 3. Qb6 Rh4 4. Kc6 Rh3 5. Qc5 Rh4 6. Kd5 Rh3 7. Qd4 Rh4 8. Ke4 Rh3 9. Qe3 Rh4 10. Nc3 Q:e3+ 11. K:e3 Rh3 12. Ne2x
Dual: 1. Ne4 Q:e3 2. N:e3 Rh4 3. Ka7 Rh3 4. Kb6 Rh4 5. Kc5 Rh3 6. Kc4 Rh4 7. Kd3 Rh3 8. Ke2 Rh4 9. Ke1 Rh3 10. Nc3 Rh4 11. Ne2x (1... Kf1 2. Qd3+ Kg1 3. Ndc3 Qf8+ 4. Kb7 Qe7+ 5. Kb6 Qe6+ 6. Ka5 Qe5+ 7. Ka4 Qe8+ 8. Ka3 Qe7+ 9. Kb2 Qb4+ 10. Kc2)

Dualu można uniknąć jeśli w wyjściowej pozycji przestawić b. damę z e3 na d4 (#12 K7/8/6p1/6pb/3Q2p1/6pr/3N1qpb/3N2kr). Wydaje mi się, że taka zmiana nie odbiera kompozycji żadnych walorów...

Re: Program rozwiązujący "ortodoksyjne" wielochodówki

PostNapisane: 10 lip 2019, 20:17
przez msterkowiec
1.6.11: https://drive.google.com/file/d/17SgeET ... sp=sharing

Nieco poprawiona stabilność programu.
Przy okazji zachęcam do obejrzenia tej pozycji: viewtopic.php?f=35&t=7305#p112595
i, niezależnie, tej strony: https://syzygy-tables.info/

Re: Program rozwiązujący "ortodoksyjne" wielochodówki

PostNapisane: 16 lip 2019, 20:37
przez msterkowiec
1.6.12: https://drive.google.com/file/d/1-ApuAU ... sp=sharing
Sev.1 bug fix ze względu na #11 N1b1Q3/p2pB3/Pp2k1Bq/2P1n1pP/3K2Nr/rP4R1/np1Ppb1p/R7 ( https://pdb.dieschwalbe.de/search.jsp?e ... 'P1365499' ) + inne drobniejsze stability fixy

Re: Program rozwiązujący "ortodoksyjne" wielochodówki

PostNapisane: 10 sie 2019, 10:28
przez msterkowiec
1.6.13: https://drive.google.com/file/d/1dCsEWT ... sp=sharing
Dużo drobnych bug fixów + modyfikacja w GUI: pobieranie z internetu (syzygi/lichess) i wyświetlanie szczegółów dla pozycji max. siedmiobierkowych (sam silnik na razie ich nie używa)

Obrazek

(Gdyby Position Details się nie wyświetliły dla pozycji 7-bierkowej - lub mniej - wystarczy nacisnąć raz czy dwa "łapkę" na dole... poprawię to, jak tylko znajdę trochę czasu.. : )

Re: Program rozwiązujący "ortodoksyjne" wielochodówki

PostNapisane: 10 wrz 2019, 22:14
przez msterkowiec
1.6.14: https://drive.google.com/file/d/1UrnuVw ... sp=sharing

Zawiera fix na problemy z rozwiązaniem #13 6b1/8/1b2N3/3ppp1B/3pk2P/5p2/2P5/2K2N2 (http://www.yacpdb.org/?id=486317) oraz poprawki ze względu na #27 K5Bk/4BPRP/5NRN/8/1r6/pPPPQP2/P5P1/8 (wściekła wieża: http://www.yacpdb.org/?id=189165) .
Teraz ten problem rozwiązuje się nieco ponad 1h; główny wariant wygląda następująco: 1. R6g4 Rb8+ 2. Ka7 Rb7+ 3. Ka6 Rb6+ 4. Ka5 Rb5+ 5. Ka4 Ra5+ 6. Kb4 Ra4+ 7. Kc5 Ra5+ 8. Kd4 Rd5+ 9. Ke4 Re5+ 10. Kf4 Rf5+ 11. Kg3 R:f3+ 12. Kh4 Rh3+ 13. Kg5 Rh5+ 14. Kf4 Rf5+ 15. Ke4 Re5+ 16. Kf3 R:e3+ 17. Kf4 Rf3+ 18. Ke4 Re3+ 19. Kd4 R:d3+ 20. Kc4 R:c3+ 21. Kb4 Rc8 22. f8Q Rb8+ 23. Kc3 R:f8 24. Bc4 R:f6 25. R7g8+ K:h7 26. B:f6

(Testy wersji zakończone pomyślnie. Dla chętnych: tutaj można znaleźć logi i porównanie https://drive.google.com/file/d/1s8UsyA ... sp=sharing )

Re: Program rozwiązujący "ortodoksyjne" wielochodówki

PostNapisane: 29 paź 2019, 22:19
przez msterkowiec
1.7 https://drive.google.com/file/d/1FReAX7 ... sp=sharing

W skrócie: Dodanie brakującego stanu w rejestrze tymczasowym rozwiązanych pozycji (tj. 4. not doubtful do 1. mate 2. not mate lub 3. doubtful) + zmiany przy sortowaniu ruchów czarnych ze względu na #74 qn6/b1Kp3p/p1pB3p/p6p/P1NkP3/2pP4/2B5/8 ( https://pdb.dieschwalbe.de/search.jsp?e ... 'P1333995' http://www.yacpdb.org/?id=430294 )

Testy regresyjne wyglądają nieźle:
1) Test podstawowy (2h 12 min) :
743m: Problems solved: 10483 Total time: 131 min. 29 sec.
745o: Problems solved: 10491 Total time: 132 min. 41 sec.
2) Test dodatkowy - trudniejsze wielochodówki (ponad 28h)
743m: Problems solved: 2828 Total time: 1706 min. 33 sec.
745o: Problems solved: 2831 Total time: 1610 min. 50 sec.

Re: Program rozwiązujący "ortodoksyjne" wielochodówki

PostNapisane: 30 paź 2019, 21:04
przez msterkowiec
1.7.1: https://drive.google.com/file/d/1a0rUmK ... sp=sharing

Fix na crash np. 5Q1K/p1p3r1/p1p3rk/2p3p1/5pPb/8/5p2/1R6 ( https://pdb.dieschwalbe.de/search.jsp?e ... 'P1192776' ) lub 8/5p2/2p5/2p2n2/p3Q3/K7/2r4p/1k5n ( https://pdb.dieschwalbe.de/search.jsp?e ... 'P1104338' ) <- mimo dość dużego zbioru testów regresyjnych "udało" mi się się wsadzić crash do wersji 1.7...

Re: Program rozwiązujący "ortodoksyjne" wielochodówki

PostNapisane: 02 lis 2019, 10:13
przez msterkowiec
1.7.2: https://drive.google.com/file/d/1ozk3LL ... sp=sharing

Poprawka ze względu na pozorny freeze na #31 q2k3r/pnrP1Q2/Nb1p1p2/2p1p3/1p3p2/8/8/1B2K3 ( http://www.yacpdb.org/?id=305913 ) - ujawniał się wyraźnie przy runie w jednym wątku

Re: Program rozwiązujący "ortodoksyjne" wielochodówki

PostNapisane: 29 gru 2019, 20:48
przez msterkowiec
1.7.3: https://drive.google.com/file/d/1gZM1XQ ... sp=sharing

Usprawnienia ze względu na następujące problemy:
#21 krb2r2/1p1p4/1P1P3P/8/8/K3N1PR/1PPP1PN1/8, http://www.yacpdb.org/?id=188454
#13 6Q1/6P1/8/p7/p1P2p2/p4p2/k1K2p2/5r2, https://pdb.dieschwalbe.de/search.jsp?e ... 'P1370556'
#34 K1R2R2/2B2p2/p1p5/7n/p1pkpNq1/r1rb2b1/n2P1Ppp/6N1, https://pdb.dieschwalbe.de/search.jsp?e ... 'P1370625'

Szczególnie ciekawy wydaje się problem Haralda Dieffenbacha z 1973 roku (wściekła wieża). Poza głównym wariantem ( 1. Nd5 Rf3+ 2. Nge3 R:e3+ 3. c3 R:c3+ 4. Ka2 Ra3+ 5. Kb1 Ra1+ 6. Kc2 Rc1+ 7. Kd3 Rc3+ 8. Ke2 Re3+ 9. Kf1 Re1+ 10. Kg2 Rg1+ 11. Kf3 R:g3+ 12. Ke2 Re3+ 13. Kd1 Re1+ 14. Kc2 Rc1+ 15. Kb3 Rc3+ 16. Ka2 ) interesujące są niektóre warianty poboczne, np.: 4... Rc5 5. Nc7+ R:c7 6. d:c7 d6 7. g4 Be6+ 8. Ka1 Bc4 9. Ra3+ Ba6 10. h7 Re8 11. Re3

Na razie testy wersji 1.7.3 trwają prawie 8h - wygląda to dobrze.
Do czasu zakończenia pełnych testów jest to wersja Beta.

PS.
Ważne są tylko te problemy, których jeszcze nie znamy : ) https://www.youtube.com/watch?v=XiRlm8wCPOM

Re: Program rozwiązujący "ortodoksyjne" wielochodówki

PostNapisane: 31 gru 2019, 00:05
przez msterkowiec
Testy regresyjne wypadły nieźle...

1) Podstawowy:
No errors found.
746g: Problems solved: 10495 Total time: 135 min. 30 sec.
749e: Problems solved: 10644 Total time: 141 min. 49 sec.
2) Dodatkowy:
No errors found.
746g: Problems solved: 2845 Total time: 1680 min. 24 sec.
749e: Problems solved: 2893 Total time: 1818 min. 54 sec.

Dla chętnych szczegóły tutaj: https://drive.google.com/file/d/1OLOm8J ... sp=sharing

Re: Program rozwiązujący "ortodoksyjne" wielochodówki

PostNapisane: 01 sty 2020, 13:58
przez msterkowiec
1.7.4: https://drive.google.com/file/d/1svT7YU ... sp=sharing

Wersja zawiera drobny fix na issue, które wdarło się do programu w v. 1.6.13: problem ze znajdowaniem drugiego ruchu (i następnych) rozwiązania problemów wh.Q vs bl.K (np. #17 6k1/8/5Q2/8/8/8/3p1pp1/3Kbrrb). Regresja niestety nie została wykryta przez automatyczne testy, gdyż te testują tylko silnik (który znajduje tylko pierwsze posunięcie rozwiązania - lub posunięcia, w przypadku dualu).

PS
Nawiasem mówiąc błąd wykryłem przeglądając nowe problemy na yacpdb, a mianowicie natknąłem się na ten:

Bosko Miloseski, 2014, https://www.yacpdb.org/#492723
Obrazek

I co ciekawe okazało się, że dane prekalkulowane programu wskazują tu nie na #34, a #33 w tej pozycji.
Mimo że łącznie bierek jest tu dziesięć, co znacznie wykracza poza możliwości generowanych obecnie tablic Nalimova, to tak naprawdę są to tylko dwie figury (biały hetman i czarny król), na okrojonej szachownicy (p. zielona obwódka, a i to pola żółte są nie całkiem dostępne), gdyż każdy ruch białym królem (przy dowolnym położeniu wh.Q + bl.K), jak również każde bicie hetmanem czarnej bierki, zamyka białym możliwości zwycięstwa. Dlatego wygenerowanie pełnych danych prekalkulowanych dla tego typu pozycji zajmuje dosłownie ułamek sekundy; po skompresowaniu zajmują zaledwie 1.21 kB; instalator umieszcza je w folderze CustomPrecalc programu (defaultowo jest to C:\Program Files\ProblemySzachowe\CustomPrecalc), w tym przypadku jest to plik Qk_+Kd1+r_f1g1+b_e1h1+p_d2f2g2.precalc.lzma

Dodatkowo dla pozycji, dla których dostępne są prekalkulowane dane, możliwe jest szybkie uzyskanie informacji o maksymalnej możliwej #n. W tym przypadku program raportuje #34 dla następujących dziewięciu pozycji:
8/8/8/8/3Q4/k7/3p1pp1/3Kbrrb
8/8/8/2Q5/8/1k6/3p1pp1/3Kbrrb
8/8/8/4Q3/8/k7/3p1pp1/3Kbrrb
8/8/2Q5/8/8/1k6/3p1pp1/3Kbrrb
8/8/5Q2/8/8/k7/3p1pp1/3Kbrrb
8/2Q5/8/8/8/1k6/3p1pp1/3Kbrrb
8/6Q1/8/8/8/k7/3p1pp1/3Kbrrb
2Q5/8/8/8/8/1k6/3p1pp1/3Kbrrb
7Q/8/8/8/8/k7/3p1pp1/3Kbrrb

Re: Program rozwiązujący "ortodoksyjne" wielochodówki

PostNapisane: 06 sty 2020, 14:06
przez msterkowiec
Warto dodać, że możliwe jest "zmuszenie" programu, aby nie korzystał z danych prekalkulowanych i żeby "normalnie" próbował rozwiązywać problem. Wystarczy w opcjach programu ustawić wielkość pamięci przeznaczoną na dane prekalkulowane na 0 bajtów (po takiej zmianie trzeba jeszcze opuścić na chwilę bieżący problem - strzałka w lewo lub w prawo - żeby dane prekalkulowane, o ile zostały już załadowane do pamięci zostały z niej usunięte):

Obrazek

Oczywiście takie rozwiązywanie zajmie znacznie więcej czasu.