|
|
ChessExplorer
PROGRAM DO ZADAŃ SZACHOWYCH
Mat Mat pomocniczy Samomat |
Polskie strony
szachowe |
|
ChessExplorer 6.3 PL , 5 września 2010
|
Explorer explorer.zip 50 KB
Maleńki programik, napisany w Turbo Pascalu, pracujący w trybie tekstowym ( DOS ), rozwiązujący zadania szachowe.
Bardziej do zabawy, gdyż jest wybitnie wolny (ok. 10.000 posunięć/sek. ). Freeware. |
Te szybkości są możliwe do uzyskania na procesorach z rodziny Pentium i równoważnych. Ich architektura ( wielopotokowość przetwarzania rozkazów, zaimplementowane sprzętowo metody przewidywania skoków warunkowych w programie, itp. ) sprawia, że program jest wykonywany o wiele szybciej, niż wynikałoby to z sumowania cykli zegarowych procesora potrzebnych do wykonania zestawu instrukcji w "normalny" sekwencyjny sposób ( jak przy starszych procesorach i386 i i486 ). Przykładowo, na komputerze z procesorem P II Celeron 366 MHz, przy zliczaniu ilości wariantów w 6-ciu kolejnych posunięciach, z wyjściowej pozycji na szachownicy, program przetwarza ok. 3 miliony posunięć w ciągu sekundy. Wynika z tego, że na jedno posunięcie przypada ok. 120 cykli zegarowych procesora. Wykonanie posunięcia ( łącznie ze sprawdzeniem, czy jest prawidłowe, tzn. czy nie ma szacha i ew. wykonanie innego posunięcia wraz z dodatkowymi operacjami: zliczanie ilości posunięć, obliczanie szybkości, prezentowanie postępu analizy itp.) to przynajmniej kilkaset komend assemblera. Na wykonanie każdej z tych komend procesor potrzebuje od 1 do klikunastu cykli zegarowych ( trzeba tu zauważyć, że większość z tych komend to "czasochłonne" operacje odczytu i zapisu do pamięci ). Dla "tradycyjnego" procesora na wykonanie jednego posunięcia potrzeba byłoby przynajmniej kilka tysięcy cykli zegarowych. Swoją drogą, wydaje się, że te 120 cykli procesora na jedno posunięcie to chyba już mniej więcej graniczna wartość jaką można osiągnąć poprzez optymalizację algorytmu programu ( chyba, że ktoś wpadnie jeszcze na jakieś genialne rozwiązanie ! ). |




| 7.08.2002r. | v. 1.0 | Pierwsza pracująca wersja pod Windows (anglojęzyczna). Dosyć skromna i jeszcze niezbyt szybka - kilkadziesiąt tysięcy posunięć na sekundę. |
| 19.10.2002r. | v. 2.32 | Dodana obsługa (import i eksport) plików *.fen, *.epd, *.pgn. Wybór języka notacji. "Silnik" programu w assemblerze - ok. 4-krotne przyśpieszenie. |
| 18.11.2002r. | v. 2.34 | Dodanie "szczypty" inteligencji i korekty kodu - ok. 2-krotne przyśpieszenie. Wyświetlanie szybkości testowania ruchów (pomocne przy optymalizacji kodu). |
| 10.01.2003r. | v. 3.0 | Opcja "Zliczanie wariantów". Dalsza optymalizacja kodu (kilkadziesiąt procent szybciej). |
| 10.02.2003r. | v. 3.2 | Wprowadzenie opcji "Pierwszy ruch". Narzędzia do manipulacji pozycją (przesuwanie, obroty). Przyśpieszenie o dalsze kilkanaście procent. Pierwsza polska wersja. |
| 5.03.2003r. | v. 3.3 | Dalsza optymalizacja kodu - przyśpieszenie o ok. 25%. |
| 14.05.2003r. | v. 3.4 | Usunięto kilka bugów w programie (dziękuję za przekazywane uwagi). Poszerzenie rozwiązań zadań typu mat oraz samomat o drugie posunięcie rozpoczynającego zależnie od odpowiedzi przeciwnika. |
| 27.07.2003r. | v. 3.42 | Zmieniony układ głównego okna programu (więcej miejsca na wyniki). Poprawiony moduł importu pozycji w formacie *.fen (zwiększenie odporności na błędy występujące w otwieranych plikach). |
| 11.11.2003r. | v. 3.5 | Dołączone informacje o programie. Przebudowa struktur danych w programie po kątem umożliwienia dalszego zwiększania szybkości. Na razie przyśpieszenie o ok. 15%. |
| 20.01.2004r. | v. 3.6 | Wzrost szybkości o ok. 30% w stosunku do v. 3.5. Zmieniona plansza tytułowa. |
| 20.04.2004r. | v. 4.0 | Generalna przebudowa kodu programu; ok. 2,5-krotne zmniejszenie wielkości "exe-ka". |
| 02.05.2004r. | v. 4.1 | Dodanie opcji: testowanie wszystkich możliwych drugich posunięć rozpoczynającego (mat, samomat). |
| 28.05.2004r. | v. 4.2 | Trzecia główna opcja programu - zadania typu "problem n hetmanów". |
| 2.07.2004r. | v. 4.22 | Usprawnienie prezentacji rozwiązań dla zadań typu "mat" (groźby). |
| 20.12.2004r. | v. 4.3 | Modyfikacja grafiki; przebudowa struktur danych w programie - wzrost szybkości o ok. 10%. |
| 26.01.2005r. | v. 4.4 | Zwiększenie "IQ" programu. W zadaniach typu "Mat" i "Mat pomocniczy" szybkość ( ilość posunięć na sekundę ) maleje ale czas rozwiązywania skrócony o ok. 25 - 45%. |
| 8.02.2005r. 2.03.2005 6.04.2005 | v. 4.5 v. 4.6 v. 4.61 |
Dalszy znaczny wzrost "poziomu inteligencji" oraz optymalizacja procedur - czas rozwiązywania zadań skrócił się 2 - 6 razy. Usunięcie błędów. |
| 20.04.2005r. | v. 5.0 | Nowa opcja: "Generator zadań". |
| 10.12.2005r. 24.01.2006r. |
v. 5.2 v. 5.3 |
Generator zadań rozbudowany. |
| 20.06.2007r. | v. 6.0 | Rozwiązywanie matów seryjnych. Generator matów pomocniczych i matów seryjnych. |