atarionline.pl Gry w szachy na Atari - Forum Atarum

Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

  • :
  • :

Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

    • 1:
       
      CommentAuthormaly_swd
    • CommentTime11 Mar 2021
     
    • 2:
       
      CommentAuthorKaz
    • CommentTime11 Mar 2021
     
    Mały -ładne! :D
    • 3: CommentAuthoradi
    • CommentTime12 Mar 2021 zmieniony
     
    Kaz - algorytmy, to algorytmy, czasem żyją swoim życiem. Prawie nigdy tak jak chciał autor.
    Często autora zaskakują.

    Zbudowałem na Arduinie Mega automat szachowy. Sam lutowałem mu wszystkie potrzebne kabelki, a ten drań bezceremonialnie mnie ograł :).
    Co prawda algorytm nie był mój - jakiś niewielki napisany w C.

    Teraz mam kompa zrobionego bez użycia procesora. Czyli druty i scalaki o inteligencji przekaźników.
    Uruchomienie na nim języka maszynowego było dla mnie marzeniem. Marzenie się spełniło. Potrafi już dodawać, mnożyć itp.
    Przymierzam się do przepisania na niego programu szachowego z KIM-a.
    Ten zapewne też mnie w szachy pokona.

    To są zupełnie tępe stworzenia, ale okropnie szybkie.
    • 4: CommentAuthorurborg
    • CommentTime12 Mar 2021
     
    Zagrałem w te niebiesko fioletowe szachy ;). Algorytm może i minimalistyczny ale dla amatora może stanowić wyzwanie. W pierwszej partii grałem szybko, szybko coś przegapiłem, podstawiłem i zdecydowałem się zagrać drugi raz - z podobnym skutkiem. Fakt że grałem na telefonie i czasem mi się myliły gońce z pionami. Trzeci raz zagrałem uważnie i doszedłem do momentu gdzie już miałem wygraną pozycję dzięki przewadze figury i 4 pionów. Niestety zacząłem już grać szybko pewny wygranej i głupio podstawiłem mata :P. Generalnie program jest do ogrania dla gracza na poziomie 4 kategorii, ale jak to program, nie popełnia oczywistych błędów i popełnionych błędów nie wybacza.
    • 5: CommentAuthorurborg
    • CommentTime13 Mar 2021 zmieniony
     
    Historia bez cenzury o szachach:
    • 6: CommentAuthorurborg
    • CommentTime2 May 2021 zmieniony
     
    Postanowiłem zrobić pewien eksperyment. Z moich testów wynika że najsilniejszym programem szachowym na małe Atari jest Chessmster 2000. Program całkiem nieźle sobie radził nawet grając przeciwko programom szachowym z Atari ST. Nasunęło mi się pytanie czy dałoby się napisać silniejszy program a jeśli tak to o ile? Znowu odniosę się do tej strony: ->link<- i listy komputerów szachowych i siły ich gry.

    Najsilniejszym komputerem szachowym jaki znajduje się na tej liście a jaki zbudowano używając jako mózgu procesora z rodziny 6502 jest Mephisto Polgar 10MHz oceniany na 2084 ELO. Nie jest on jednak uważany za najsilniejszy algorytm szachowy bo wersja taktowana 5MHz oceniana jest już "tylko" na 1975 ELO. Tymczasem Mephisto Nigel Short ->link<- , będący ulepszoną wersją algorytmu Mephisto Milano osiąga przy 5MHz 2033 ELO i to on jest uważany za najsilniejszy algorytm szachowy jaki napisano na procesory z rodziny MOS 6502. Wszystkie trzy programy szachowe, które wymieniłem napisał zresztą ten sam programista Ed Schroder.

    Tak się akurat składa że mam ten komputer szachowy - Mephisto Nigel short, więc pomyślałem że zrobię test. Jak poradzi sobie atarowski Chessmaster 2000 kontra Mephisto Nigel Short. Skoro jednak Atari ma procesor 1.77 MHz a Mephisto mniej więcej trzy razy tyle, bo 5MHz, więc dla wyrównania szans Chessmaster dostanie 30 sekund czasu na ruch, a Mephisto 10s czasu na ruch. To powinno dać odpowiedź czy gdyby algorytm Mephisto Nigel Short przenieść na Atari to czy taki program grałby lepiej niż to co na Atari mamy już dostępne.

    Na razie rozegrałem jedną partię. Pewnie trzeba by rozegrać ich więcej żeby miec pełniejszy wgląd, aczkolwiek już po jedenj partii można wysnuć pewne wnioski.

    Tymczasem oto jak przebiegła partia:

    Białymi grał Chessmaster a grana była partia Angielska. Początek wyrównany, obie strony przeprowadzają roszady. Przez dwadzieścia kilka posunięc oba programy grają jak równy z równym. Później nieco lepszą pozycję zaczyna o dziwo zdobyć Chessmaster. Do 40 posunięcia Chessmaster wykorzystuje lepszą pozycję i zdobywa przewagę dwóch pionów. Niestety w ruchu 44 Chessmaster nie dostrzega zagrożenia dla własnego króla i łakomi się na zdobycie trzeciego pionka. to pozwala Mephisto przypuścić atak z użyciem gońca i wież i odrobienie straty 3 pionów. Znowu jest równowaga. W 52 posunięciu obie strony dysponuja dwoma wiezami i dwoma pionami. Mephisto udaje się jeszcze zdobyć piona przewagi ale Chessmaster gra dobrze i to okazuje się za mało aby przechylić szalę na swoją korzyść. Ostatecznie Obie strony zostają tylko z królem, oraz parą wież i partia kończy się remisem.

    Tak więc eksperyment pokazuje że Chessmaster to naprawdę silny program, po tej jednej partii można odnieśc wrażenie że jest on równie silny jak Mephisto Nigel Short, gdyby uruchomiono go na porównywalnie szybkim procesorze.

    Jak ktoś jest chętny to mogę załaczyć plik z zapisem partii.
    • 7:
       
      CommentAuthorKaz
    • CommentTime2 May 2021
     

    urborg:

    Skoro jednak Atari ma procesor 1.77 MHz a Mephisto mniej więcej trzy razy tyle, bo 5MHz, więc dla wyrównania szans Chessmaster dostanie 30 sekund czasu na ruch, a Mephisto 10s czasu na ruch.


    1.77 to przy wyłączonym obrazie, więc ta różnica powinna być jeszcze większa. Mam jednak wątpliwości, czy różnice w algorytmach można wyrównać jedynie parametrem czasu wykonywania programu... Ale tutaj to szczegół. Fajnie, że pojedynkowałeś oba programy.

    urborg:

    Jak ktoś jest chętny to mogę załaczyć plik z zapisem partii.


    Bardzo chętnie, poproszę! W tej chwili na pewno jej nie obejrzę, ale w wolnej chwili jak najbardziej.

    PS.
    A ja się ostatnio zaciekawiłem grą Senet. Co prawda, tu wątek o szachach, ale to też gra wymagająca intelektualnie. Reguły tej egipskiej gry przepadły w mrokach historii, ale może kogoś od szachów to zainteresuje, że współcześni badacze zaproponowali przypuszczalne reguły.

    • 8: CommentAuthorurborg
    • CommentTime3 May 2021 zmieniony
     
    Nie słyszałem o tej grze. Senet z tego co wyczytałem opiera się o rzuty patyczkami. Czyli coś bardziej w stylu chińczyka czy tryk traka, tudzież węży i drabin. Niemniej ciekawa rzecz - najstarsza gra świata! Dzięki za podrzucenie tego tematu.
    ->link<-

    Co do szachów. Tak, rozważałem czy nie zmniejszyć jeszcze czasu Dla Mephisto, jeśli przyjmiemy że procesor w Atari ma rzeczywiście 1,5 MHz czasu odliczając to co zabierze Antic to powinno być 9s jeśli przyjmiemy 1,3 MHz to 8 s. Z drugiej strony i tak zostaje jeszcze tzw alpha pruning czyli czas który komputer szachowy ma na analizę w czasie ruchu przeciwnika. Nie za bardzo mam już możliwość to skompensować. Więc i tak Mephisto będzie miał tutaj pewien handicap. Tym bardziej zaskakuje że Chessmaster grał w tej partii która rozegrałem jak równy z równym.

    Z drugiej strony siłą Mephisto Nigel Short jest głównie nie siła taktyczna wynikająca z głębokiej analizy, ale dobrze wyważona gra i brak dziur w algorytmie. Myślę że dużo korzystniej byłoby dla algorytmu Mephisto gdyby zeskalować czas gry w drugą stronę, czyli dać Mephisto 30s, a atarowskiemu Chessmasterowi np 90s. No ale test ma odpowiedzieć jak grałby algorytm z Mephisto Nigel Short gdyby go przenieść na małe Atari.

    Rozegram na pewno jeszcze rewanż. Pewnie skrócę ten czas dla Mephisto do 9 lub 8 sekund. Najlepiej byłoby rozegrać mecz na 10 partii, ale to sporo czasu by zabrało, ale nie mówię nie - zobaczymy. Wrzucę zapisy partii jak rozegram rewanż.
    • 9: CommentAuthorurborg
    • CommentTime3 May 2021 zmieniony
     
    Chciałem wrzucić zapis z wczorajszej partii i okazało się, że się nie zapisał - więc niestety go nie wrzucę, szkoda :(

    Rozegrałem natomiast rewanż. Tym razem białymi gra Mephisto Nigel Short, czas skróciłem mu do 8 sekund na ruch.

    Grana jest Obrona Benoniego. Od poczatku agresywna walka o centrum dwie wymiany pionowe i białe zyskują zaawansowane piony, aczkolwiek pozycja równoważna. W 10 posunięciu Chessmaster powinien zroszować, aby zabezpieczyć króla ale zamiast tego wyjeżdża agresywnie hetmanem, dając szacha. Mephisto zasłania się pionem, ale Chessmaster dlaej szachuje. Kluczowy jest ruch 13 Mephisto zasłania hetmanem szachowanego króla, proponując wymianę. Chessmaster powinien ta wymianę przyjąć, ale widzi że może zbić stojąca w rogu wieżę i nie może się oprzeć :) Swoją drogą kto by się w tej sytuacji oparł takiej pozornie darmowej wieży - przyznać się! Teraz Mephisto przypuszcza atak, zbija skoczka jednocześnie szachując z odsłony. Przez resztę partii Chessmaster w zasadzie będzie już tylko uciekał królem spod szacha, a Mephisto bezlitośnie tego króla atakował, przy okazji rozwijając kolejne figury i zaciskając pętlę wokół wrogiego króla. W 22 posunięciu chessmaster będzie musiał oddać hetmana, potem wieżę. Partia kończy się matem i zwycięstwem Mephisto po 33 ruchach. Wrzucam zdjęcie pozycji z ruchu 13, pozycję końcową jak i zapis całej partii.
    • 10:
       
      CommentAuthorKaz
    • CommentTime9 Aug 2021
     

    Urborg:

    Niestety w ruchu 44 Chessmaster nie dostrzega zagrożenia dla własnego króla i łakomi się na zdobycie trzeciego pionka. to pozwala Mephisto przypuścić atak z użyciem gońca i wież i odrobienie straty 3 pionów. (...) Chessmaster powinien ta wymianę przyjąć, ale widzi że może zbić stojąca w rogu wieżę i nie może się oprzeć :) Swoją drogą kto by się w tej sytuacji oparł takiej pozornie darmowej wieży - przyznać się!


    Obie partie sugerują, że Chessmastera można skusić pozornymi korzyściami z bicia figur. Ciekawe, jak się to przekłada na algorytm - czy to chodzi o głębie obliczeń czy jest jakaś lista wyjątków postępowania.

    A tak przy okazji przebieg partii głośnej ostatnio sprawy - zwycięstwa Dudy w Pucharze Świata:

    • 11: CommentAuthorurborg
    • CommentTime10 Aug 2021
     
    Wydaje mi się że to jest przewaga algorytmu Mephisto Nigel Short. W mojej ocenie jest on bardziej złożony, może ma więcej hardcodowanych zasad, może też lepszą ocenę sytuacji, w każdym razie pozwala mu to skuteczniej unikać pułapek krótkiego horyzontu i grać bardziej strategicznie. Planuję rozegrać ten test pojedynek dwóch algorytmów do 10 partii. Obecnie mam rozegrane łącznie 4 partie. Na razie się urlopuję, wrócę do tematu po urlopie.
    • 12: CommentAuthorurborg
    • CommentTime31 Aug 2021 zmieniony
     
    Ten test porównawczy algorytmów zastosowanych w atarowskim Chessmasterze i komputerze szachowym Mephisto Nigel Short postanowiłem rozszerzyć, bo po rozegraniu zaledwie dwóch partii trudno coś jednoznacznie orzec. W pierwszej partii Chessmaster grał jak równy z równym, nawet zdobył przewagę, ale lepsza gra Mephisto w końcówce zakończyła partię remisem. Drugą partię Chessmaster jednak koncertowo przerżnął. Trudno z tego wysnuć jakieś sensowne wnioski dlatego zdecydowałem się na rozegranie w sumie meczu składającego się z 10 partii. Niestety temat się rozwleka, bo mam mało czasu na takie rzeczy i trochę to powoli idzie. Do tej pory rozegrałem 6 partii, czyli jeszcze 4 zostały do rozegrania. Opisy partii wrzucę jak będę miał więcej czasu, aczkolwiek dotychczasowy stan meczu wskazuje że algorytm z Mephisto Nigel Short jest sporo lepszy od algorytmu Chessmastera i wynik z partii pierwszej to jakiś wypadek przy pracy. Przypomnę że aby wyrównać szanse względem szybkości procesorów, Chessmaster gra w ustawieniu 30s na ruch z uwagi na wolniejszy procesor (1.77 MHz do tego haltowany przez Antic) zaś Mephisto nigel Short gra z ustawieniem 8s na ruch (także procesor 6502 ale taktowany 5MHz)
    • 13:
       
      CommentAuthorKaz
    • CommentTime19 Apr 2022
     
    Czy dwa komputery o tej samej mocy obliczeniowej remisowałyby ze sobą za każdym razem w szachy?

    Nie. Co więcej, nawet jeżeli mają ten sam program szachowy to też niekoniecznie zremisują i zostało to sprawdzone :)

    Google podczas badań nad sztuczną inteligencją stworzył program AlphaZero: maszynę uczącą się, która na starcie dostała reguły gry w szachy i tyle, nie nauczono jej żadnych reguł strategii. Rozpoczynała od przypadkowego przestawiania figur zgodnie z zasadami gry. Strategię musiała stopniowo odkryć, wytrwale grając "sama ze sobą". Oczywiście, aby taka strategia zadziałała, program musi mieć wbudowaną pewną losowość działania, więc formalnie dwaj "przeciwnicy" w takiej nauce nie są całkiem identyczni, bo mają troszeczkę różne startowe parametry swoich sieci neuralnych. Ale pozostałe warunki są spełnione: takie same komputery, taka sama moc obliczeniowa, ten sam algorytm.

    NB: wystarczyły 24 godziny takiej nauki by AlphaZero osiągnął poziom pozwalający mu pobić najlepszy znany program szachowy "uczony przez ludzi", Stockfish.


    ->link<-