Xadrez

8.777 visualizações

Publicada em

Computadores jogam xadrez, saiba como.

Publicada em: Diversão e humor, Educação
0 comentários
4 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
8.777
No SlideShare
0
A partir de incorporações
0
Número de incorporações
84
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
4
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Xadrez

  1. 1. Xadrez <ul><li>Como funcionam os computadores que jogam Xadrez </li></ul><ul><li>Como um computador pode jogar xadrez. </li></ul><ul><li>  O Xadrez parece como uma atividade distintamente humana que requer inteligência e raciocínio, assim como pode um computador jogar xadrez? </li></ul><ul><li>Se você acha que computadores realmente &quot;não jogam&quot; xadrez como as pessoas fazem, está certo. Um computador que joga xadrez não está pensando. Ao invés disto, está calculando com o auxilio de um conjunto de fórmulas que fazem e causam o computador promover seus movimentos. Como os computadores têm se tornado cada vez mais rápidos, adquirem a qualidade destes movimentos calculados, melhor e melhor. Computadores que jogam xadrez são agora os melhores jogadores de xadrez do planeta, embora eles façam isto cegamente. </li></ul>
  2. 2. Xadrez <ul><li>Como funcionam os computadores que jogam Xadrez </li></ul><ul><li>Como um computador pode jogar xadrez. </li></ul><ul><li>  </li></ul><ul><li>O Xadrez parece como uma atividade distintamente humana que requer inteligência e raciocínio, assim como pode um computador jogar xadrez? </li></ul><ul><li>Se você acha que computadores realmente &quot;não jogam&quot; xadrez como as pessoas fazem, está certo. Um computador que joga xadrez não está pensando. Ao invés disto, está calculando com o auxilio de um conjunto de fórmulas que fazem e causam o computador promover seus movimentos. </li></ul><ul><li>Como os computadores têm se tornado cada vez mais rápidos, adquirem a qualidade destes movimentos calculados, melhor e melhor. Computadores que jogam xadrez são agora os melhores jogadores de xadrez do planeta, embora eles façam isto cegamente. </li></ul>
  3. 3. Xadrez <ul><li>As pessoas e o xadrez </li></ul><ul><li>Se você alguma vez assistiu uma criança que aprende a jogar xadrez pela primeira vez, você sabe que jogador de xadrez começa com habilidades muito limitadas. Uma vez que um jogador entende as regras básicas e controla cada passo, ele ou ela pode jogar xadrez. Porém, o jogador novo ainda não é muito bom. Cada derrota vem como uma surpresa - &quot;oh, eu não pensei nisso ou eu não vi aquele movimento”, é comum estas exclamações. A mente humana absorve estas experiências, armazena diferentes configurações, descobre certos truques, e geralmente absorve as nuanças do jogo dos movimentos. </li></ul><ul><li>Como o nível de habilidade se desenvolve, o jogador lerá freqüentemente livros para descobrir melhores padrões de jogo usados pelo grandes jogadores. Estratégias e táticas se desenvolvem para guiar o jogador em cada jogo. Para um ser humano, então, o jogo de xadrez envolve em alto-nível de concentração e raciocínio abstrato. Usa padrões visuais que funciona para memorizar as posições no tabuleiro, regras e diretrizes, pensamento consciente e ate mesmo psicologia! </li></ul>
  4. 4. Xadrez <ul><li>Os computadores não fazem nada disto... </li></ul><ul><li>Computadores e o xadrez </li></ul><ul><li>O estado atual da arte do xadrez no computador é bastante complicado, mas tudo envolve computação cega que é muito simples em sua essência. </li></ul><ul><li>Digamos você começa com um tabuleiro de xadrez montado no inicio de um jogo. </li></ul><ul><li>Cada jogador tem 16 peças. </li></ul><ul><li>Digamos que começamos pelas brancas. As brancas têm 20 possíveis movimentos: </li></ul><ul><li>1.     O jogador com as brancas pode avançar qualquer peão uma ou duas posições. </li></ul><ul><li>2.   O jogador com as brancas pode mover qualquer cavalo de 2 modos diferentes. </li></ul><ul><li>3.     O jogador com as brancas escolhe um desses 20 movimentos. </li></ul>
  5. 5. Xadrez <ul><li>Para o jogador com as pretas as opções são as mesmas - 20 possíveis movimentos. Assim o jogador com as pretas escolhe um movimento. </li></ul><ul><li>Agora as brancas podem se mover novamente. Depende de como as brancas escolheram fazer o primeiro movimento, há aproximadamente 20 ou assim as brancas se movem para poder atingir determinada a posição no tabuleiro, e então as pretas tem 20 sendo assim, se movem... e assim por diante. </li></ul><ul><li>Isto é como um computador vê o xadrez. Pensa nisto em um mundo de &quot;todos os movimentos possíveis&quot;, e cria uma grande árvore para todos esses movimentos, assim: </li></ul><ul><li>  </li></ul> 
  6. 6. Xadrez <ul><li>Nesta árvore, há 20 possíveis movimentos para as brancas. Há 20 x 20 = 400 possíveis movimentos para as pretas, dependendo do que as brancas fazem. Então há 400 x 20 = 8.000 para as brancas. Então há 8,000 x 20 = 160.000 para as pretas, e assim por diante. Se você fosse desenvolver a árvore inteira para todos os possíveis movimentos do xadrez, o número total de posições no tabuleiro é aproximadamente 1 seguido de 120 zeros, ou seja, 10 120 . Isso é um número muito grande. Por exemplo, houve só 1026 nanosegundos desde o big bang. Há apenas 1075 átomos conhecidos no universo inteiro. Quando você considera que a nossa galáxia, a Via Láctea, contém bilhões de sóis e há bilhões de galáxias, você pode ver que isso é um bocado de átomos, o xadrez é um jogo bem complicado! </li></ul><ul><li>Nenhum computador vai calcular a árvore inteira. O que um computador de xadrez tenta fazer é gerar uma árvore das posições do tabuleiro, 5 ou 10 ou 20 movimentos futuros. Assumindo assim, que há aproximadamente 20 possíveis movimentos para qualquer posição no tabuleiro, uma árvore de 5 níveis contém 3.200.000 posições do tabuleiro. Uma de 10 níveis contém aproximadamente 10 trilhões de posições. que observa três movimentos à frente e avaliou o valor das posições: </li></ul>
  7. 7. Xadrez <ul><li>A amplitude da árvore que um computador pode calcular é controlada pela sua velocidade ao jogar. Os computadores de xadrez mais rápidos podem gerar e podem avaliar milhões de posições do tabuleiro por segundo. </li></ul><ul><li>Uma vez gerada a árvore, então o computador precisa avaliar as posições do tabuleiro. Quer dizer, o computador tem que olhar as posições no tabuleiro e decidir se aquele arranjo é &quot;bom&quot; ou &quot;ruim&quot;. O modo que faz que isto está usando uma função de avaliação. A possível função e a mais simples é contar o número de peças que cada lado tem. Se o computador está jogando com as brancas e uma certa posição do tabuleiro tem 11 peças brancas e 9 peças pretas, a função de avaliação mais simples poderia ser: 11 - 9 = 2. </li></ul><ul><li>Obviamente para o xadrez esta fórmula é muito simples, porque algumas peças são mais valiosos que as outras. Assim a fórmula poderia aplicar um peso a cada tipo de peça. À medida que programador pensa nisto, ele faz a avaliação funcionar cada vez mais complicadamente somando coisas como posição do tabuleiro, controle do centro, conferir a vulnerabilidade do rei, vulnerabilidade da rainha do oponente, etc. etc. Não importa quão complicada a função se torne, porém, é condensado até um único número que representa o “mérito&quot; daquela posição no tabuleiro. </li></ul>
  8. 8. Xadrez <ul><li>Diagrama de árvore de terceiro nível </li></ul><ul><li>  </li></ul><ul><li>O seguinte diagrama é uma arvore de terceiro nível que observa três movimentos à frente e avaliou o valor das posições: </li></ul>
  9. 9. Xadrez <ul><li>Diagrama de árvore de terceiro nível </li></ul><ul><li>  </li></ul><ul><li>O computador está jogando como as brancas. </li></ul><ul><li>O jogador com as pretas moveu e deixou a posição do tabuleiro no topo da árvore. </li></ul><ul><li>Nesta árvore, as brancas podem fazer 3 possíveis movimentos. </li></ul><ul><li>De cada desses 3 movimentos possíveis às negras podem fazer 3 possíveis movimentos. </li></ul><ul><li>Em cada uma destas 9 posições do tabuleiro as brancas podem fazer dois possíveis movimentos (na vida real o número total de movimentos de qualquer posição é 20 e etc, mas isso seria difícil desenhar...). </li></ul>
  10. 10. Xadrez <ul><li>O computador está jogando como as brancas. O jogador com as pretas moveu e deixou a posição do tabuleiro no topo da árvore. Nesta árvore, as brancas podem fazer 3 possíveis movimentos. De cada desses 3 movimentos possíveis às negras podem fazer 3 possíveis movimentos. Em cada uma destas 9 posições do tabuleiro as brancas podem fazer dois possíveis movimentos (na vida real o número total de movimentos de qualquer posição é 20 e etc, mas isso seria difícil desenhar...). </li></ul><ul><li>Para decidir o que fazer, o computador olha para a árvore e trabalha de baixo para cima. Seus cálculos são configurados de modo a achar as melhores posições do tabuleiro para as quais cada preta migrará (calcula o máximo): </li></ul><ul><li>Um nível acima assume que a preta escolherá a pior posição possível para as brancas (calcula o mínimo): </li></ul>
  11. 11. Xadrez <ul><li>  </li></ul><ul><li>Finalmente, assume o máximo para os 3 números do topo - 7. Este será o movimento que o computador fará. Uma vez que a preta faz seu movimento o computador repete todo o processo novamente, gera outra árvore e avalia todas das posições do tabuleiro para entender seu próximo movimento. </li></ul><ul><li>  Este procedimento é chamado de algoritmo de minimax porque se alterna entre os máximos e mínimos à medida que se move na árvore. Aplicando uma técnica chamada &quot;podagem alfa beta - alfa beta pruning&quot;, o algoritmo pode processar duas vezes mais rápido e usa muito menos memória. </li></ul><ul><li>Como você pode ver, este processo é completamente mecânico e não envolve nenhum raciocínio. Simplesmente é um cálculo de força bruta que aplica uma função de avaliação para todas as possíveis posições no tabuleiro em uma árvore em uma certa situação. </li></ul>
  12. 12. Xadrez <ul><li>Diagrama de árvore de terceiro nível </li></ul><ul><li>  O que é interessante é que este tipo de técnica trabalha muito bem. Em computador bastante rápido, o algoritmo pode olhar muito adiante ao jogar. Se você adicionar ao computador, as técnicas de aprendizado que modificam a função de avaliação baseadas em jogos passados, a máquina pode melhorar até mesmo com o passar do tempo. </li></ul><ul><li>A coisa chave de lembrarmos, porém, é que isto não tem nada haver com o pensamento humano. Quando nós aprendemos como o pensamento humano funciona e criamos um computador que usa essas técnicas para jogar xadrez, nós realmente estaremos lidando com &quot;algo&quot;... </li></ul><ul><li>  </li></ul>

×