• Strona główna
  • Szachy - ilość wariantów
  • Debiuty szachowe
  • Miniatury szachowe

       
  • ChessExplorer
    PROGRAM DO ZADAŃ SZACHOWYCH
    Mat          Mat pomocniczy          Samomat
    Polskie strony
    szachowe

    ChessExplorer 6.3 PL
    Pobierz program ChessExplorer
    exp63pl.zip   444 KB
     Warunki korzystania
    ChessExplorer 6.3

    Download ChessExplorer
    English version
    chexp63.zip   412 KB
      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 strasznie wolny (ok. 10.000 posunięć/sek. ).
    Freeware.


    ChessExplorer jest programem pracującym w środowisku Windows (Win32), z pełnym graficznym interfejsem, przeznaczonym głównie do rozwiązywania typowych zadań szachowych: matów, samomatów, matów pomocniczych a także matów seryjnych.
    Posiada dodatkowe opcje: Przy budowie modułu rozwiązywania zadań przyjęto generalną zasadę, że program ma testować wszystkie możliwe posunięcia i znajdować dokładnie wszystkie istniejące rozwiązania ( metoda "brute force" - korzystanie z dużych mocy obliczeniowych współczesnych komputerów ). Zasady tej nie naruszają wprowadzone pewne "dawki inteligencji": np. strona broniąca się przed matem, aby nie testować każdorazowo wszystkich możliwych posunięć, zapamiętuje swoje dobre, sprawdzone już wcześniej odpowiedzi.

    Program napisany został w C++, przy czym podstawowe procedury zostały zoptymalizowane w assemblerze w celu uzyskania możliwie dużej szybkości. Na standardowym komputerze program analizuje kilka ( a czasami kilkanaście ) milionów posunięć na sekundę.
    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 ! ).
    Program typu shareware - można używać w okresie jednego miesiąca od daty instalacji. W przypadku korzystania po tym terminie, program należy zarejestrować (szczegóły w opcji "Info" programu oraz tutaj ).



    Charakterystyka programu:

    Dodatkowe opcje:



    Opcja "Generator"


    Opcja "Pozycje" ( "Jak rozmieścić 8 hetmanów aby żaden nie był szachowany ?" ):


    Opcja "Pozycje" ( "Maksimum pól szachowanych" ):

    Dla wyjaśnienia:


    Jan Nowakowski



    początek strony

    stat4u