Qual seria o elo de um programa de computador que é reproduzido aleatoriamente?


11

Qual seria o Elo de um programa de computador que executa movimentos aleatórios?

Por uma questão de simplicidade, suponha que ele nunca peça um empate ou se demita e nunca aceite uma oferta de empate.


Imagine todas as peças no tabuleiro e você ataca a rainha do computador. Tem uma chance de 1 em 16 de mover a rainha e talvez uma pequena chance de defender com outra peça.
ZL1Corvette

4
Acho difícil imaginar qualquer jogador humano jogando pior do que aleatoriamente.
Dag Oskar Madsen

Eu prefiro fazê-lo cientificamente
MikhailTal

Para minha aula de IA, deveríamos criar uma IA de xadrez. A primeira fase da tarefa foram movimentos válidos aleatórios. Quando essas IAs lutaram, a maioria terminou empatada. Uma IA gananciosa que ataca a peça mais valiosa, se aplicável; caso contrário, bata a IA aleatória sempre.
precisa

Respostas:


13

Bem na parte inferior da Lista de classificação de xadrez por computador para o controle de tempo de 40/4 está o Brutus RND, um mecanismo que simplesmente seleciona movimentos legais aleatórios.

http://www.computerchess.org.uk/ccrl/404/cgi/engine_details.cgi?print=Details&each_game=1&eng=Brutus%20RND#Brutus_RND

Tem uma classificação de 205 (a partir de 06/06/2018). Esta não é uma classificação da FIDE, é claro, mas está usando o sistema Elo.

Possui 0 vitórias, 242 derrotas e 64 empates. Os sorteios são devidos a programas defeituosos que acidentalmente causam empates por repetição ou ocasionalmente empate, embora geralmente tenham uma vantagem material substancial quando isso ocorre.

A FIDE tem um piso de classificação de 1000. A Brutus RND simplesmente não conseguiu estabelecer uma classificação tão alta e não teria classificação.

Se ignorarmos o piso de classificação da FIDE, é possível ter uma classificação negativa no sistema Elo.

Um ponto a ser mencionado é que o FIDE usa uma tabela para calcular alterações de classificação e se a diferença de classificação for maior que 735, nenhuma mudança ocorre quando o jogador mais forte vence. Isso significa que Brutus nunca poderia ter uma classificação de -5000 ou algo assim, porque precisaria perder pontos para jogadores espetacularmente incompetentes que não seriam capazes de entregar xeque-mate.

https://www.fide.com/component/handbook/?view=article&id=197

Ficamos adivinhando aqui. 1000 jogadores classificados como Elo seriam capazes de reduzir a classificação de Brutus para 265, mas como não existem jogadores com classificações piores, não podemos dizer exatamente quanto mais eles poderiam empurrar a classificação de Brutus para baixo, caso existissem.

Eu acho que jogadores com 500 Elo ou pior teriam problemas para oferecer mate de forma consistente, assim como os programas defeituosos. Os empates por repetição de 3 vezes ou a regra dos 50 movimentos não são automáticos sob as regras da FIDE e só ocorreriam se Brutus os reivindicasse. Mas um ser humano pode perder se ficar sem tempo, assim como desenhar com um impasse acidental.

Então, acho que em algum lugar na faixa de -200 a 200, se a FIDE permitiu classificações abaixo de 1000 e a Brutus competisse.


Soa alto. Eu teria imaginado mais perto de 100 se os movimentos fossem realmente aleatórios.
edwina oliver 18/01

6

O problema do jogo aleatório é que, em uma posição média do xadrez, existem muitos movimentos (de 20 na abertura a facilmente 50 ou mais em jogos complicados), mas apenas alguns são aceitáveis. Movimentos aleatórios resultarão em total descoordenação desde o início do jogo. Além disso, capturar peças menos valiosas seria muito comum, principalmente no meio do jogo. Dito isto, mesmo contra uma oposição extremamente fraca, o computador irá, a longo prazo, errar: toneladas de material serão negociadas e possivelmente não muito boas para o computador, o computador será indubitavelmente subdesenvolvido, seu rei não estará seguro e possivelmente nem mesmo enrolado ...

Tantas coisas ruins se acumulam e extremamente rapidamente resultarão em uma derrota segura para a máquina. Seu Elo provavelmente será 0 FIDE.


2
Seria ainda difícil perder contra esse mecanismo! Mesmo que você queira ter um xadrez, pode levar uma eternidade até que o motor o administre. A única maneira realista de ganhar um mecanismo aleatório é se o oponente se demitir.
Peter

Se você conhece um pouco do jogo, eu concordo completamente. Mas se você souber como mover as peças, nem mesmo seu valor ou qualquer estratégia ... Bem, o humano e o computador estão jogando em termos mais ou menos iguais.
Pablo S. Ocal

Acho que mesmo um novato que acabou de aprender as regras hoje jogaria melhor do que aleatoriamente. O iniciante pode usar uma heurística como "vamos capturar peças", o que funciona muito bem contra o mecanismo aleatório, porque você pode capturar qualquer peça, mesmo que ela esteja protegida, ou simplesmente deixar suas peças penduradas, e é improvável que o mecanismo capture já que há muitos outros movimentos inúteis para escolher. No final, a única dificuldade possível para o iniciante é descobrir como acasalar, mas não deve ser muito difícil, dada a provável vantagem material.
itub

Não, não é difícil perder contra um jogador aleatório se você quiser perder. Você pode experimentá-lo com o aplicativo Play Magnus definido para 5 anos de idade. Você só precisa forçar uma situação em que a única ação legal que ela pode fazer é entregar o xeque-mate. A maneira mais fácil de fazer isso é capturar todas as suas peças, exceto 1 peão, prender seu rei para que ele possa avançar apenas, deixar seu rei na primeira fila e organizar suas outras peças para impedir que seu rei escape quando o peão promove e chama Verifica. Isso funciona se promover a rainha ou a torre, para que você tenha 50% de chance de perder (ou 100% se nunca promover menos).
Silas S. Brown,

5

O jogo verdadeiramente aleatório é muito pior do que você provavelmente pensaria. O piso absoluto da USCF é 100 e esse programa nunca superaria isso.


1

Não sei como as classificações do Go se comparam ao xadrez, mas o jogo aleatório é de cerca de -3500 . Como o fator de ramificação do xadrez é menor, eu esperaria que o jogador aleatório elo fosse maior, talvez algo entre -2000 e -500.


1
Conforme observado na resposta em chess.stackexchange.com/a/6509/9025 , o piso de classificação da USCF é 100, portanto, seria impossível ter uma classificação negativa.
Herb Wolfe

Apenas uma perspectiva diferente sobre a questão. Não especificou qual sistema de classificação usar, e o elo estatístico não tem um "limite inferior".
Akababa

1

Pior do que um iniciante absoluto que mal conhece as regras do jogo, porque pelo menos o iniciante pensa um pouco na escolha de uma jogada. Seus movimentos ainda podem ser na maioria aleatórios, mas pelo menos há alguma avaliação de posições em andamento.

Portanto, a classificação deste mecanismo estaria no piso mais baixo possível de qualquer sistema de classificação que você escolher. Eventualmente, pode ganhar ou empatar um jogo contra um oponente igualmente ruim e aumentar em alguns pontos. No entanto, você pode esperar que a classificação do motor volte rapidamente ao piso mínimo posteriormente.

Em "Programar um computador para jogar xadrez", de Shannon, ele observa que a probabilidade de jogo aleatório derrotar Botvinnik é da ordem de 10 ^ -75. Portanto, se esse computador aleatório jogar Botvinnik (ou mesmo um mestre comum) sem parar por toda a vida humana, podemos razoavelmente esperar que nunca vença.

No entanto, Shannon continua dizendo que o jogo aleatório não é a pior estratégia; a pior estratégia é deliberadamente jogar movimentos que ajudam o oponente. Embora seja possível que um iniciante completo possa fazer isso, é provável que eles tentem executar movimentos que melhorem sua própria posição.


0

Uma resposta muito boa seria fazer isso:

Use numpy, um mecanismo de jogo muito fraco, 1500 ELO, aproximadamente, e anexe um script python a ele. Existem muitas bibliotecas que fornecem os movimentos possíveis em uma posição, para que possamos escolher uma aleatoriamente. Vou postar os resultados mais tarde.

http://creative-co.de/random_chess/

Você também deve verificar isso.


3
Numpy é uma biblioteca científica de matemática, não um mecanismo de xadrez.
27915 sv svnet

É também um mecanismo de xadrez
MikhailTal


1
@MikhailTal: Existe algum motivo para você não editar esta resposta para corrigir o nome?
GreenMatt

2
@ SmallChess: Nomes semelhantes , mas não iguais.
GreenMatt
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.