Jaki byłby Elo programu komputerowego, który odtwarza losowe ruchy?
Dla uproszczenia załóż, że nigdy nie prosi o remis lub rezygnuje i nigdy nie przyjmuje oferty losowania.
Jaki byłby Elo programu komputerowego, który odtwarza losowe ruchy?
Dla uproszczenia załóż, że nigdy nie prosi o remis lub rezygnuje i nigdy nie przyjmuje oferty losowania.
Odpowiedzi:
Na dole listy ocen szachów komputerowych dla kontroli czasu 40/4 znajduje się Brutus RND, silnik, który po prostu wybiera losowe legalne ruchy.
Ma ocenę 205 (od 6 czerwca 2018). Oczywiście nie jest to ocena FIDE, ale korzysta ona z systemu Elo.
Ma 0 wygranych, 242 przegranych i 64 remisy. Losowania są spowodowane wadliwymi programami, które przypadkowo powodują losowanie przez powtórzenie lub czasami pat, ale na ogół mają znaczną przewagę materialną, gdy to nastąpi.
FIDE ma dolną granicę ratingową wynoszącą 1000. Brutus RND po prostu nie ustaliłby tak wysokiej oceny i nie zostałby oceniony.
Jeśli zignorujemy dolną ocenę FIDE, możliwe jest uzyskanie negatywnej oceny w systemie Elo.
Należy wspomnieć, że FIDE używa tabeli do obliczania zmian w ocenach, a jeśli różnica w ocenach jest większa niż 735, to nie nastąpi żadna zmiana po wygraniu silniejszego gracza. Oznacza to, że Brutus nigdy nie miałby oceny -5000 ani nic podobnego, ponieważ musiałby tracić punkty spektakularnie niekompetentnym graczom, którzy nie byliby w stanie zapewnić matowi.
https://www.fide.com/component/handbook/?view=article&id=197
Zgadujemy. Gracze oceniani na 1000 Elo byliby w stanie obniżyć ocenę Brutusa do 265, ale ponieważ nie ma graczy z gorszymi ocenami, nie możemy dokładnie powiedzieć, o ile dalej mogliby obniżyć ocenę Brutusa, gdyby istnieli.
Sądzę, że gracze, którzy mają 500 Elo lub gorzej, mieliby problemy z konsekwentnym dostarczaniem partnera, podobnie jak wadliwe programy. Remisy 3-krotnym powtórzeniem lub reguła 50 ruchów nie są automatyczne zgodnie z regułami FIDE i miałyby miejsce tylko, gdyby Brutus je przejął. Ale człowiek może stracić, tracąc czas, a także losowo.
Więc zgaduję gdzieś w zakresie od -200 do 200, jeśli FIDE dopuszcza oceny poniżej 1000 i pozwala Brutusowi konkurować.
Problem z losową grą polega na tym, że na przeciętnej pozycji w szachach jest wiele ruchów (od 20 w otwarciu do łatwo 50 lub więcej w skomplikowanych grach końcowych), ale tylko kilka z nich jest do zaakceptowania. Losowe ruchy spowodują całkowitą dezorganizację od samego początku gry. Co więcej, chwytanie mniej wartościowych elementów byłoby bardzo powszechne, szczególnie w środkowej części gry. To powiedziawszy, nawet wobec wyjątkowo słabej opozycji, komputer na dłuższą metę popełni błąd: tony materiału zostaną sprzedane i być może nie będzie wiele dobrego dla komputera, komputer będzie niewątpliwie nierozwinięty, jego król nie będzie bezpieczny i być może nawet nie zamki ...
Tyle złych rzeczy, które narastają i niezwykle szybko, spowoduje pewną porażkę dla maszyny. Jego Elo będzie prawdopodobnie 0 FIDE.
Nie jestem pewien, w jaki sposób Go oceny porównać do szachów, ale losowej wynosi około -3500 tam . Ponieważ współczynnik rozgałęzień dla szachów jest niższy, spodziewam się, że elo przypadkowego gracza będzie wyższe, może gdzieś pomiędzy -2000 a -500.
Gorzej niż początkującego który ledwo zna reguły gry, bo przynajmniej początkujący stawia jakąś myśl w wyborze ruch. Ich ruchy mogą być w większości przypadkowe, ale przynajmniej trwa ocena pozycji.
Tak więc ocena tego silnika byłaby na najniższym możliwym poziomie dowolnego systemu oceny, który wybierzesz. Może w końcu wygrać lub zremisować grę z równie złym przeciwnikiem, a następnie zwiększyć o kilka punktów. Można jednak oczekiwać, że moc silnika szybko spadnie z powrotem do minimalnej podłogi.
W „Programowaniu komputera do gry w szachy” Shannona zauważa, że prawdopodobieństwo losowej gry pokonanej Botvinnika jest rzędu 10 ^ -75. Tak więc, jeśli ten przypadkowy komputer miałby bez przerwy grać w Botvinnik (lub nawet zwykłego mistrza) przez całe życie, możemy zasadnie oczekiwać, że nigdy nie wygra.
Jednak Shannon mówi dalej, że losowa gra nie jest najgorszą strategią; najgorszą strategią jest celowe wykonywanie ruchów, które pomagają przeciwnikowi. Chociaż możliwe jest, że początkujący może to zrobić, są szanse, że spróbują wykonać ruchy, które poprawią ich pozycję.
Bardzo dobrą odpowiedzią byłoby to zrobić:
Użyj numpy, bardzo słabego silnika gry, około 1500 ELO i dołącz do niego skrypt Pythona. Istnieje wiele bibliotek, które zapewniają możliwe ruchy w danej pozycji, więc możemy wybrać jedną losowo. Wyniki opublikuję później.
http://creative-co.de/random_chess/
Powinieneś to również sprawdzić.