Aprendendo as regras do xadrez


11

Uma pergunta semelhante pergunta se um computador pode aprender a jogar de maneira ideal no xadrez, analisando milhares de jogos.

Se uma máquina pode olhar o estado do tabuleiro para alguns jogos de xadrez (ou alguns jogos de damas) no início e após cada jogada, ela pode ser programada para aprender as regras do jogo?

Se puder, até que ponto (por exemplo, seria capaz de dar conta de jogos de azar ou promoção) isso funcionaria? Quais algoritmos de aprendizado de máquina tornariam isso possível?


3
A máquina deve ser capaz de chegar a um estado em que possa dizer "Vi esse movimento ser executado, portanto, assumirei que posso executá-lo em circunstâncias semelhantes". Se isso constitui "aprender as regras" é quase uma questão filosófica. ;)
deceze

@ deceze Bem, você não está totalmente certo. Ao aprender as regras, significa-se poder fazer a mudança, devido ao layout que nunca havia acontecido com o programa antes. Caso contrário, não está aprendendo as regras, mas memorizando os movimentos.

2
@ Max O computador seria capaz de executar corretamente movimentos nunca antes vistos? Digamos, ele viu o cavaleiro se mover duas vezes para frente e uma para o lado muitas vezes, mas nunca duas para trás, uma para o lado. Como poderia dizer com confiança quais são as regras em relação ao movimento de cavaleiros? Talvez exista uma cláusula especial nas regras que declare "cavaleiros não podem voltar atrás, apenas avançar" (como peões). Portanto, deduzir regras com certeza parece uma coisa impossível. Isso vale para os humanos também.
deceze 12/07

8
@ Max Na verdade, pode haver um número infinito de regras que o computador não pode deduzir . On the 8th turn the knight may not turn right. On a sunny day the pawns may jump over bishops.O computador não sabe dizer por que esse peão não se moveu em uma determinada curva. Talvez houvesse uma regra contra isso se movendo nessa circunstância específica. Portanto, o computador deve conseguir reproduzir apenas padrões semelhantes (na verdade, exatos), mas nunca conseguir deduzir as regras com 100% de confiança.
deceze 12/07

@ deceze Sim, pode, se você mostrou essa regra de alguma forma. Da mesma maneira que você precisa ensinar as regras a seres humanos (por exemplo, fornecer a impressão das regras a serem lidas), você precisa fornecer essas regras à máquina. A maneira mais fácil é repetir TODAS as regras em alguns jogos para a máquina aprender. O mesmo acontece com os humanos - os humanos não saberão disso On a sunny day the pawns may jump over bishops.se você nunca mostrou isso a ele.

Respostas:


10

Se uma máquina pode olhar o estado do tabuleiro para alguns jogos de xadrez (ou alguns jogos de damas) no início e após cada jogada, ela pode ser programada para aprender as regras do jogo?

Certamente não para alguns jogos de xadrez; você precisaria analisar um número incrivelmente grande deles para impedir que ele faça movimentos inválidos. Quanto eu não sei; esse problema pertence à área da teoria da aprendizagem computacional, da aprendizagem do PAC e do problema da capacidade de aprendizagem no limite .

Os algoritmos de classificação sugeridos pelos outros pôsteres podem ser capazes de aprender discriminativamente as regras do xadrez: dadas duas configurações do tabuleiro, eles podem responder "sim" ou "não" à questão de saber se uma jogada válida se transforma em outra. Com algum esforço, eles também podem ser usados ​​para gerar movimentos. No entanto, eles gerarão apenas movimentos que viram nos jogos em que foram treinados ou uma combinação de movimentos válidos e inválidos, cada um com uma pontuação indicando a probabilidade de considerar o movimento em questão, com regras inválidas esperamos obter probabilidades muito pequenas.

(Ou seja, o programa não reconheceria algumas jogadas válidas à sua disposição; ou você poderá trapacear sem perceber; ou terá que treiná-lo por tanto tempo que perderá todo o interesse no jogo.)

Para técnicas que podem aprender regras, consulte programação lógica indutiva e programação genética . Não tenho certeza se alguém já tentou aplicá-los ao aprendizado do xadrez; Como as regras do xadrez são fixas, é muito mais interessante (mesmo para a academia) criar bons programas de xadrez, em vez de programas que precisam aprender as regras básicas do zero.


4

As regras do xadrez são bastante complexas e algumas raramente são executadas em um jogo.

Por exemplo, a regra en passant . Quantos jogos você precisará observar para deduzir que só é permitido o primeiro lance após o lance de dois passos à frente?

Outro exemplo. O quadrado b pode ser atacado em um longo roque. Quantos jogos você vê onde isso acontece?

Em outras palavras, você precisará de muitos, muitos, muitos jogos para derivar todas as regras corretamente.

Mas, talvez, o Google encontre um canto de sua nuvem para um arquivo completo dos jogos de xadrez "em breve" ...


"O quadrado-b pode ser atacado em roque longo" que movimento é esse? Você pode explicar ou vincular para mim?
CaffGeek

@chad, também chamado de castling queenside - a notação "0-0-0" é usada. São apenas os três campos que os reis "tocam" que podem não estar sob ataque.

2
Além disso, o quadrado d não pode ser atacado quando se joga no castelo da rainha (ou o quadrado f quando se joga no castelo) ; você também não pode castigar depois de mudar seu rei. Como você deve saber que algo não pode ser feito observando jogos onde não foi feito? Como Lars menciona, o computador pode atribuir probabilidades de que uma jogada é válida, mas determinar essa regra específica observando jogos é quase impossível.
BlueRaja - Danny Pflughoeft

Além disso, houve jogos, mesmo por mestres em um torneio, onde as regras foram violadas e nenhum jogador notou! De acordo com as regras do torneio, se nenhum jogador notar em 10 jogadas, o jogo é válido e continua. (Lembro-me muito claramente um jogo onde um grande mestre mudou seu rei, em seguida, mudou-se para trás, e depois roque Eu não posso encontrá-lo agora, no entanto.)
BlueRaja - Danny Pflughoeft

1
en passant é bastante raro, mas existem algumas regras de sorteio muito mais raras. Eu jogo há 40 anos e nunca vi um jogo em que você pudesse ter um empate forçado por ter 50 jogadas sem jogadas de peão e sem capturas. Eu acho que há mais uma regra que eu nem me lembro. Na prática, os jogadores concordam com um empate antes de serem invocados. (Eles existem para garantir que você não possa "vencer" uma posição empatada, arrastando-a para fora até que seu oponente saia.)
Loren Pechtel

2

Sim e não

Não sei se você está perguntando se é possível aprender as regras do xadrez usando redes neurais de aprendizado de máquina ou se é possível treinar uma máquina de xadrez de nível "grande mestre" usando-a.

Você certamente pode ensinar a um computador as regras e algum nível de xadrez usando-as. No entanto, eu não acho que você possa treiná-lo para um nível superior usando-o. A Ciência da Computação ainda não conseguiu produzir uma máquina que "entenda" o xadrez do ponto de vista posicional / intuitivo. Todos os computadores de xadrez atuais usam um extenso banco de dados, cálculos de força bruta e, possivelmente, um aprendizado de máquina.

Acho que depende se você conta usando um banco de dados de referência como trapaça ou não :) Além disso, é difícil saber se você realmente pode separar muitos jogos conhecidos de ser bom nisso. Os seres humanos que são bons em xadrez são bons precisamente porque viram muitos jogos referenciados pela parte do cérebro que normalmente é conhecida por reconhecer rostos. A partir dessa lembrança, parece que os jogadores de xadrez humanos são capazes de desenvolver uma "intuição" da força de uma posição.


os melhores avós memorizam vastos livros de abertura e isso não é considerado trapaça. De qualquer forma, acontece o tempo todo que o que antes era considerado uma boa variação de abertura é interrompido por uma nova idéia. Portanto, a "trapaça" de jogar jogadas de livros pode nem ser a maneira ideal para um computador jogar.
Kevin

2

Como muitos dos comentários disseram, essa é quase uma questão filosófica que debate a definição de 'aprender'. A maioria dos programas de inteligência artificial depende da determinação de soluções racionais. Com dados suficientes, um programa de xadrez para aprendizagem determinará uma lista de movimentos que são racionais a serem executados em determinadas situações. Isso não significa que conhece as regras do xadrez, apenas entende quais movimentos são benéficos e quais não são. Mesmo que o conjunto de dados inclua jogadores fazendo jogadas ilegais, a jogada ilegal causará uma perda instantânea, portanto o ai a ignorará e nunca a usará, porque nunca é benéfica.

Não importa se redes neurais ou algoritmos evolutivos ou qualquer outro tipo de algoritmo de aprendizado é usado, e um IA nunca pode aprender regras explicitamente assistindo a algo, apenas pode determinar uma lista de opções racionalmente benéficas.


2

Se você pensa nas regras do xadrez como o mecanismo de física do jogo e nas leis da física como regras aceitas permanentes e inflexíveis do universo, pense em quantas poucas "leis" reais existem em nosso universo natural. É extremamente difícil, se não impossível, fazer uma regra dura e rápida, mas podemos fazer várias teorias testadas e aceitas a partir de um momento específico.

É possível supor que o computador observe e registre movimentos, mas NÃO faça afirmações sobre movimentos válidos diretamente.

Por exemplo, ele observaria um peão avançando uma peça e cria novas hipóteses de que todas as peças podem avançar apenas um espaço e outra que um peão pode avançar apenas um espaço. Ele formará o maior número possível de hipóteses restritivas até que ocorra o próximo movimento e várias delas possam ser lançadas ou tornadas mais liberais.

Eventualmente, depois de tantas mudanças, você terá um conjunto de teorias sólidas, mas será um conjunto de dados vivo que se aproxima permanentemente de 0, mas nunca alcançá-lo.

Portanto, a resposta é que um computador pode realmente adivinhar, mas (EDIT: NOT) conhece as regras com certeza.


1

Em teoria - sim, pode. Pode até se tornar um grande mestre de xadrez. A resposta que você está procurando é redes neurais . As redes neurais são essencialmente a mesma coisa que acontece dentro do nosso cérebro. Além disso, dada a rede neural perfeitamente lida (impossivelmente perfeita) e o hardware perfeito - ele pode aprender tudo o que um ser humano pode aprender da mesma maneira ou até de maneiras melhores.

Leia mais sobre isso:


2
Essa "resposta" é apenas um monte de links da Wikipedia, dois dos quais descrevem o mesmo conceito, um dos quais é extremamente amplo e um dos quais não tem nada a ver com o problema em questão. Por favor, mostre como um mapa de Kohonen seria usado para aprender efetivamente as regras do xadrez.
Fred Foo

1
ANN e NN não estão nem perto da complexidade de um cérebro humano / neurônio real, uma RNA é, na melhor das hipóteses, uma aproximação grosseira e hedionda.
Darknight

"na teoria, teoria e prática são as mesmas, mas na prática elas nunca são". Os programas de xadrez podem jogar como grandes mestres, mas não acho que seja por causa de redes neurais ou aprendizado de máquina. A maioria dos bons programas usa vastos livros de abertura, bases de tabelas de final de jogo e uma pesquisa profunda ("negamax com poda alfa beta") e uma função de avaliação provavelmente muito complicada (que provavelmente foi escrita com a ajuda de mestres).
Kevin

As redes neurais podem apenas aprender o que são treinadas para fazer. O xadrez tem algumas regras que raramente são aplicadas, mas fazem parte do jogo. Seria legal promover um bispo? Seria legal promover um rei?

2
Ha ... promover ao rei torna o xeque-mate um pouco mais difícil!
21412 Kevin

1

Eu acho que ele pode aprender os movimentos que é permitido fazer apenas analisando, mas como aprenderia os movimentos que não é permitido fazer? Por exemplo, o peão nunca parece avançar um quadrado quando uma peça oposta está na frente dele. Como o computador sabe se é por opção do jogador ou se não é permitido fazê-lo? Você pode criar um algoritmo que diz que, se 99,99% do tempo ou mais, um evento não ocorrer, isso significa que você não poderá fazê-lo, mas também pode ser que 99,99% do tempo seja considerado um jogada ruim, mas que 0,01% das vezes é a jogada que ganha o jogo. Então, minha resposta é não, ele não pode aprender todas as regras simplesmente analisando jogos, mas provavelmente pode aprender o suficiente para jogar.


1

Esta é uma questão filosófica. Você também pode perguntar se uma pessoa pode aprender a jogar xadrez apenas observando as pessoas enquanto jogam xadrez. De fato, é basicamente o mesmo tipo de pergunta que Nelson Goodman faz em seu grande livro Fact, Fiction, and Forecast : como podemos passar de um conjunto finito de observações já feitas para uma previsão de futuras observações. As observações já feitas seriam os movimentos de xadrez observados até agora e as observações futuras seriam todos os movimentos de xadrez que ainda não aconteceram. A questão é: existe uma relação nomológica entre observações passadas e observações futuras (em oposição à relação puramente causal entre eventos passados ​​e eventos futuros)?

Se interpretarmos a palavra nomológico como por uma lei da natureza ou lógica e nada puder acontecer em desacordo com essa lei , certamente não existe tal relação, uma vez que a primeira pessoa que move um castelo na diagonal violaria a lei da natureza e o universo como o conhecemos entraria em colapso.

Mas mesmo que, de fato, por algum acidente da natureza, todos os movimentos que qualquer jogador de xadrez no mundo faça a partir de agora sejam válidos (ninguém jamais cometeria erros ou tentaria trapacear e até as pessoas ignoram as regras do xadrez. começaria a empurrar peças de xadrez aleatoriamente pelo tabuleiro, mas acidentalmente sempre de acordo com as regras), que não nos convenceria de que há uma lei da natureza (ou lei da lógica) que forçou tudo isso. Consideraríamos puramente acidental.

Ludwig Wittgenstein cobriu terreno semelhante em suas investigações filosóficas . Ele insiste que qualquer conjunto de observações está de acordo com muitas regras arbitrárias e até conflitantes. Por exemplo, se todos os jogos de xadrez observados por mim tivessem ocorrido à tarde, minha regra poderia ser à tarde, o bispo só pode ser movido na diagonal . O fato de que a hora do dia não é importante para o jogo é algo que não poderia ter sido observado por mim, já que eu não observava jogos de xadrez em diferentes momentos do dia. Ou, aliás, se eu nunca vi uma mulher jogando xadrez, a regra poderia ser que o bispo só pode ser movido por homens.. O que é relevante para uma observação e o que não é é determinado como um pré-requisito para a observação e não pode fazer parte da própria observação.

BTW: A solução de Wittgenstein para o problema é bastante semelhante à de Goodman. Eu não vou estragar a surpresa, embora;-)

Termo aditivo:

Nos dias em que Sussman era novato, Minsky chegou a procurá-lo quando ele estava invadindo o PDP-6.

"O que você está fazendo?", Perguntou Minsky. "Estou treinando uma rede neural com fios aleatórios para jogar Tic-tac-toe", respondeu Sussman. "Por que a rede é conectada aleatoriamente?", Perguntou Minsky. "Não quero que tenha preconceitos de como jogar", disse Sussman.

Minsky então fechou os olhos. "Por que você fecha os olhos?" Sussman perguntou à professora. "Para que a sala fique vazia." Naquele momento, Sussman estava esclarecido.


-4

Não

Porque simplesmente aprender padrões (por qualquer método) não é o mesmo que "aprender a jogar xadrez de maneira ideal".

Isso requer planejamento e estratégia, que é muito distinto apenas do simples aprendizado de padrões de conjunto.


1
Você realmente não sabe disso; além disso, a questão é se é possível (para um computador, mas as mesmas restrições provavelmente também se aplicariam aos seres humanos) aprender as regras reais do xadrez apenas analisando exemplos de jogos.
tdammers

1
Eu acho que você entendeu mal a pergunta ...
maple_shaft

Depois de trabalhar (tese de mestrado) com IA (redes neurais), tenho quase certeza de que não pode. A menos que você tem provas para dizer o contrário, você não pode simplesmente dizer "você não sabe o que"
Darknight
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.