Chciałem tylko dowiedzieć się nazwy algorytmów .. dziękiObecnie znany najlepszy algorytm (y) do szachów komputerowych?
Odpowiedz
Jeśli potrzebują dogłębnej wiedzy na temat algorytmów sztucznej inteligencji, myślę "artificial intelligence modern approach" książka jest najlepszym źródłem.
To byłby * jeden * część algorytmu gry w szachy. Jednak minimax nie jest sam w sobie algorytmem szachowym. – Tarydon
to bezpieczny zakład jako punkt wyjścia. Spoglądałeś tam?
Rybka wydaje się być pretendentem.
Zgadzam się, Wikipedia jest dobrym miejscem do patrzenia, ale Rybka jest zamkniętym źródłem, więc prawdopodobnie niewiele pomoże –
@Dave: Prawda, ale rozwiązuje problem anarhikos * tylko chcąc nauczyć się nazwy algorytmów *. – Tarydon
@Tarydon - Rybka to nazwa silnika _ss_. Ponieważ jest to zamknięte źródło, nikt (oprócz autora) nie wie, jakich algorytmów używa. –
Ogólna strategia w algorytmach gier to strategia minimax, wzbogacona o alpha-beta pruning. Algorytm minimax znajduje najlepszy ruch, a przycinanie alfa-beta zapobiega przechodzeniu w gałęzie drzewa gry, które nie mogą dać lepszego wyniku niż poprzednie gałęzie.
Drzewo gry w szachy jest jednak zbyt duże, aby można było je dokładnie zbadać. Właśnie dlatego komputerowe silniki szachowe badają drzewo tylko do określonej głębokości, a następnie wykorzystują różne metody do oceny pozycji. Wiele z tych metod opiera się na heurystyce. Poważny program do gry w szachy będzie miał bibliotekę otworów, dzięki czemu będzie mógł grać na początku, po prostu sprawdzając tę bibliotekę i nie sprawdzając drzewa gry. Wreszcie, wiele gier końcowych jest całkowicie rozwiązanych, a te są również zaprogramowane jako biblioteka.
Odpowiednik minimax nazywa się negamax. Różnica polega na tym, że wynik jest zanegowany przy każdej zmianie głębokości w drzewie. W ten sposób obaj gracze starają się zmaksymalizować wynik (gdzie w minimaksie próbuje się go zminimalizować). Nie jestem pewien, co to robi w oknie alfa/beta. Czy staje się tylko jedną wartością? – phkahler
należy zauważyć, że funkcja oceny pozycji jest prawdopodobnie najważniejszym aspektem silnika szachowego przy określaniu jego wytrzymałości. W rzeczywistości jest to prawdopodobnie jedyny obszar, w którym występuje nowość w większości silników szachowych. Na przykład funkcja oceny pozycji Rybki została zaprojektowana przez 5 lat (jeśli irc) przez bardzo silnych graczy. W pewnym sensie funkcja oceny jest tym, co daje komputerową intuicję dotyczącą pozycji szachowej, fundamentalnie ważnej części każdej gry w szachy i ortogonalnie względem innych zagadnień, takich jak taktyka w grze. – ldog
@gmatt - tylko częściowo prawda ... agresywne przycinanie jest częścią tego, co sprawia, że Rybka jest tak silna, a badania w tym zakresie nie są zbyt stare. Rozszerzone przycinanie bezużyteczne, ograniczone żyletkowanie i adaptacyjne przycinanie z zerowym ruchem były najnowocześniejsze w tej dziedzinie mniej niż dziesięć lat temu – tbischel
Zobacz niektóre z bezpłatnych kodów szachowych, np. Crafty czy jeszcze lepiej o Fruit? Gra prawie tyle samo co Rybka. Ale jest tam wiele nowych algos. Nadejdzie dzień, w którym gracze będą musieli po prostu powiedzieć, że nie gram w tym silniku, a ten artykuł dość podsumowuje ->http://www.mychessblog.com/man-versus-machine-when-a-computer-will-become-world-chess-champion/
Wiele algorytmów stosowanych w programowaniu szachów opisano na stronie internetowej http://chessprogramming.wikispaces.com/ . Dostępnych jest kilka programów open source, które implementują te algorytmy.
- 1. Jak zakodować regułę impasu szachów?
- 2. najlepiej znany algorytm przechwytywania dla wykresu
- 3. "Najlepszy" algorytm różnicowy
- 4. Najlepszy algorytm do oceny wyrażenia matematycznego?
- 5. Najlepszy algorytm do unikania utraty precyzji?
- 6. Najlepszy algorytm do znajdowania krawędzi (wielokątów) wierzchołków
- 7. Najlepszy algorytm kompresji dla XML?
- 8. Najlepszy algorytm grupowania? (Prosto wyjaśnione)
- 9. R - Optymalizacja prędkości i rankingi szachów
- 10. Abstrakty artykułów komputerowych
- 11. Porównywanie bibliotek komputerowych w pythonie
- 12. Skórowanie aplikacji komputerowych Java?
- 13. Najlepszy algorytm skutecznego wykrywania kolizji między obiektami
- 14. Najlepszy algorytm krytyczny wydajności dla rozwiązywania najbliższego sąsiada
- 15. Najlepszy algorytm do określenia, czy nieukierunkowany wykres jest drzewem
- 16. Algorytm, aby uzyskać najlepszy kolor tekstu
- 17. Najlepszy algorytm liczenia permutacji w rubinie
- 18. Jaki jest najlepszy algorytm dla najbliższego słowa
- 19. Najlepszy algorytm rozszerzania seryjnej funkcji wymiernej
- 20. Algorytm do robienia półtonów?
- 21. Google Maps api niestandardowe płytki do fikcyjnego świata gier komputerowych
- 22. Algorytm do znalezienia wspólnych edycje
- 23. obecnie obsługiwana Drogę do podniesienia uprawnień
- 24. Jaki jest najlepszy algorytm lokalizowania punktu w pliku obrazu?
- 25. Jeśli problem X (problem decyzyjny) jest znany jako NP-Complete, a udowodniono, że ogranicza się do problemu Y, czy możesz powiedzieć, że problem Y jest NP-Complete?
- 26. Algorytm do grupy obiektów
- 27. XPath częściowy o atrybucie znany
- 28. jaki jest najnowszy i najlepszy algorytm rozpoznawania twarzy?
- 29. Najlepszy algorytm uczenia się, aby drzewo decyzyjne w java?
- 30. algorytm podłańcuchowy
Przed wejściem do ich "algorytmicznego" trybu, większości (ale nie wszystkich) programów szachowych, polegaj na heurystyce, a mianowicie obszernej bibliotece Otworów szachowych. – mjv