Szachy
Bardzo dobry silnik szachowy respektujący oficjalne zasady tejże gry (łącznie z biciem w przelocie, roszadą i podobnymi). Świetnie napisany, wszystko w jednym obiekcie. Dla początkujących może być trudny do zrozumienia.
Autor: Jakim
Podoba mnie się. Zastanawiam się tylko czy nie mija się to odrobinę z ideą przykładów, bo to pełen silnik, ale podoba mnie się.
Mi się podoba ;d szkoda że przykład jest w 8.1 a nie w 8.0 ^^ ale to i tak wersje lite można pobrać w sumie
Super! Podoba mi się Myślisz nad prostym AI ? Szczerze mówiąc nie wiedziałbym jak się do tego zabrać AI w szachach to chyba największe wyzwanie dla mnie
Na razie tworzę AI do prostszych gier planszowych - jedną na ligę - jak mi się uda, przeniosę to na szachy .
Przy tworzeniu AI do gier typu szachy dobrze skorzystać ze sposobu działania algorytmów genetycznych.
Przy tworzeniu AI do gier typu szachy dobrze skorzystać z pomocy wybitnych szachistów i zaprogramować jakieś znane konkretne strategie, a nie całkowicie od zera. Dodatkowo myślę, że trzeba się raczej skupić na niekompletnym drzewie gry i jakimś programowaniu dynamicznym. Wyszukiwanie tzw. strategii wygrywającej, ale nie na całą rozgrywkę tylko do jakiegoś wcześniejszego celu jak zbicie określonej bierki.
To jest przynajmniej jak ja bym się do tego zabrał. Nie wiem, jakoś nie mam zaufania do genetyków.
A teraz mnie naszło takie pytanie czy takie fachowe AI szachowe pracuje w czasie gdy gracz myśli czy tylko podczas własnego ruchu.
Teoretycznie, metody siłowe pozwalają na dzisiejszych komputerach przewidywać multum kombinacji, nie jest to jednak konieczne, a na moje oko - nawet wskazane. Nie wszystkie kombinacje ruchów należy badać (nazwijmy niektóre ruchy "błędnymi"), poza tym można zamiast typowego drzewka ruchów (typowa metoda sprawdzania) użyć schematu: wyznaczenie celu - obrona - przeprowadzenie: ze zdolnością płynnego wytyczania kolejnych celów na podstawie ruchów oponenta. Natomiast programista musiałby nie tyle przewidzieć możliwe reakcje, lecz stworzyć system oceny ruchu i zamiarów przeciwnika. To by mieściło się w wymienionym przez Platynę "tworzeniu strategii".
Najlepsze silniki szachowe sprawdzają każdą możliwą kombinacje i wybierają dla siebie najkorzystniejszą. Wyprzedzają gracza kilka a czasem kilkanaście ruchów do przodu. Można zauważyć, że jak gra się na najwyższych poziomach trudności z komputerem, to "myślenie" przeciwnika komputerowego jest bardzo długie.
Bredzisz Uzjel aż się się przykro robi. Czas sprawdzania wszystkich kombinacji nawet koło 20 ruchów w przód liczyło by się we wiekach wszechświata. Drzewko gry rozrasta się wykładniczo. Nie ma prawa istnieć żaden zadowalający algorytm bezbłędnie wyznaczający tzw. pozycje wygrywające w szachach. Są tylko i wyłącznie odpowiednio dobre heurystyki. Jakim to w miarę dobrze wyjaśnił.
OK sorry, już się nie znam Jednak jestem pewny, że spotkałem się z tą techniką jednak w trochę mniejszej skali.
W warcabach to może by przeszło, a i to tylko na 10 ruchów do przodu.
Mówiąc o algorytmach genetycznych, miałem na myśli użycie funkcji przystosowania. Nie mówiłem, żeby od razu implementować jakieś mutujące się kolonie. Wydaje mi się po prostu, że jak w pewnym momencie (np. jakiś względny spokój na planszy) użyje się funkcji przystosowania dla, powiedzmy, 100 ruchów, to te mające najlepszą wartość mogą być dobrym punktem wyjścia dla następnych ruchów.
Najnowsze wersje GameMakera:
wydana wczoraj
wydana 15 dni temu
wydana 7 dni temu