Académique Documents
Professionnel Documents
Culture Documents
Apontamentos
Grupo C
1. ndice
1. ndice 2. ndice de Imagens 3. Introduo 3.1 Histria dos jogos entre Deep Blue e Kasparov 3.2 Deep Blue 3.3 Deep Blue vs Kasparov 4. Jogos 4.1 Tipos de Jogos 5. Decises Perfeitas em Jogos com dois adversrios: 5.1 Formulao 5.2 Jogo do Galo 6.Algoritmo Mini-Max 6.1 Estratgia 6.2 Resumo 6.3 Desvantagens 6.4 Concluso 6.5 Problemas 7. Decises imperfeitas 7.1 Introduo 7.2 Funes de Avaliao 7.3 Construo da rvore 7.4 Jogos que incluem o elemento sorte 8. Corte Alpha-Beta 8.1 Concluso 9. Concluses Finais 10. Referncias Biliograficas 2 3 4 4-5 5 6 7 7 8 8-9 9 9-10 10-11 11 11-12 12 12 13 13 13-14 14 14-15 15-16 16-17 17 18
2. ndice de Imagens
Figura 1 Imagem do Deep Blue Figura 2 Imagem de um dos jogos entre Deep Blue e Kasparov Figura 3 Jogo do Galo Figura 4 Exemplo ilustrativo da aplicao do Algoritmo Mini-Max Figura 5 Pseudo-cdigo do Algoritmo Mini-Max Figura 6 Jogo que inclui o elemento sorte Figura 7 Demonstrao da aplicao do corte Alpha-Beta 5 6 9 10 11 15 16
3. Introduo
Em linguagem corrente o termo jogo usualmente considerado como um mero passatempo. Para algumas crianas um modo de fugir aos trabalhos de casa, enquanto que para alguns adultos o termo jogo pode invocar imagens de jogadores que desesperadamente procuram estratgias que lhes dem vantagens sobre os adversrios. O resultado do jogo determinado pelas estratgias utilizadas pelos jogadores formando assim a teoria dos jogos. Assim, jogos de tabuleiro como o xadrez, tornam-se muito interessantes pois oferecem competio pura e abstracta, simulando uma batalha entre dois jogadores, onde no existindo as consequncias reais de uma guerra requer que cada um deles utilize todas as suas capacidades de raciocnio e lgica de forma a vencer o adversrio no fisicamente mas sim intelectualmente. esta abstraco que faz dos jogos um tema interessante para a Inteligncia Artificial. Os jogos, so na realidade uma das reas mais antigas desenvolvidas em Inteligncia Artificial. Em 1950, desde que os computadores se tornaram programveis, o primeiro jogo de xadrez foi criado por Claude Shannon e por Alan Turing. Desde ento tem havido um progresso relevante em Inteligncia Artificial nesta rea, de tal forma que os sistemas actuais so capazes de rivalizar e bater o melhor jogador de xadrez de ento, Garry Kasparov.
desempenho do super computador durante o ltimo jogo, do qual saiu vitorioso. Inclusivamente foi suposto que as jogadas que Deep Blue ordenava eram adulteradas por elementos pertencentes IBM, de modo a que a que o jogo reverte-se a seu favor. Estas suspeitas levaram a que Garry Kasparov pedisse que houvesse novo jogo de modo a desfazer qualquer dvida em relao vitria de Deep Blue, o que foi determinantemente negado por parte da IBM. E at os dias de hoje mantm-se a suspeita que a vitria de Deep Blue no passou de uma manobra estratgica por parte da IBM de modo a aumentar seu valor comercial.
Deep Blue
At 200 milhes p/segundo Pouco
Kasparov
At 3 p/segundo
Muito
Nunca: esquece, distrai susceptvel a algumas ou se intimida fragilidades Avalia somente posies de xadrez Tem de realizar uma extensa pesquisa de todas as jogadas possveis de forma a determinar a jogada ptima Avalia as fraquezas do adversrio capaz de determinar a prxima jogada atravs de uma escolha selectiva das jogadas possveis
4. Jogos
Em comparao com os problemas e algoritmos apresentados at aqui, a presena de oponentes torna o problema de deciso em Inteligncia Artificial mais complicado e interessante. Os problemas apresentados nos algoritmos anteriores apenas tinham em conta contingncias como o espao em memria e o tempo disponvel. O oponente introduz incerteza e no toma decises sorte, tentar sim, jogar de forma minimizar o nmero de jogadas menos benignas para si. Mas o que torna os jogos realmente mais interessantes e diferentes dos restantes problemas na Inteligncia Artificial o facto serem muito mais difceis de resolver, o xadrez, por exemplo, tem um factor de ramificao em cada jogada de 35, e nos jogos o nmero de jogadas mdias por jogador chegas s 50. Logo a rvore de pesquisa ter cerca de 35100 nodos. Assim facilmente se conclui que a incerteza dos jogos no se deve ao facto de haver falta de informao mas sim com o facto de no haver tempo de calcular todas as hipteses ou ramificaes possveis. Levando a que cada jogador decidida, tentando adivinhar a melhor jogada baseando-se em conhecimento anterior. Assim, iremos iniciar a representao de como obter teoricamente, a melhor jogada e sero abordados casos em que o elemento sorte est presente nos jogos. Por fim sero apresentadas tcnicas para escolher uma boa jogada quando o tempo limitado, atravs de cortes nas rvores (corte ou poda alfa-beta) e da avaliao heurstica de estados, permitindo assim evitar a pesquisa em ramos que no so relevantes para a escolha final e apriximar a verdadeira utilidade de um nodo sem realizar uma pesquisa completa na rvore de todas as jogadas possveis.
Jogos de Sorte/Determinstico: Determinstico: Xadrez, Damas, Go, Otelo. Jogo de Sorte: Gamo, Monoplio, Poker, Scrabble, Bridge, King. No que diz respeito ao plano de ataque o algoritmo para o jogo perfeito aplicado, o horizonte finito, a avaliao aproximada e os cortes nas rvores tem por objectivo a reduo de custos.
-1 se o jogador perde. Estes valores podem variar de jogo para jogo, estando relacionados com o tipo de pontuao destes. Assim sendo, ir ser definida uma estratgia que permita ao jogador Max, decidir que caminho percorrer de forma a obter o melhor resultado possvel no fim do jogo Algoritmo Mini-Max. Esta estratgia decide que jogada o jogador Max dever realizar, tendo em conta a melhor resposta que o jogador Min poder ter.
6. Algoritmo Mini-Max
O mtodo de busca consiste na ideia de maximizar a utilidade (ganho) supondo que o adversrio vai tentar minimiz-la. O Minimax faz busca cega em profundidade, o agente Max e o adversrio Min.
6.1 Estratgia
Se fosse o caso de se tratar de uma pesquisa normal, bastava percorrer-se a rvore at aos nodos terminais e escolher o caminho que levasse ao nodo com maior valor de utilidade. Mas no assim, visto existir outro jogador. Assim, necessrio, escolher a partir de cada nodo filho, o menor valor de utilidade, e copia-lo para o nodo pai, recursivamente at ao nodo inicial. Isto deve-se ao facto, de o jogador MIN tentar minimizar o ganho do jogador MAX, pelo que ele tentar escolher a jogada, dentro das possveis, que d menos pontos ao jogador adversrio. Logo, apesar de o jogador MAX querer obter o maior valor possvel (14 pontos), ele no poder seguir pelo caminho A3, pois o jogador MIN, como resposta, poder seguir o caminho A33, o que far com que o jogador MAX obtenha uma pontuao de 2 pontos. Assim sendo, aps terem sido copiados o menor dos valores dos ns filhos para os ns pais (que representam as melhores jogadas possveis do jogador MIN), o jogador MAX, ir escolher o n com o maior valor dentro destes.
10
O jogador MAX percorrer o melhor caminho de forma a obter o melhor resultado possvel dentro das melhores respostas possveis do jogador MIN.
6.2 Resumo
gerada inicialmente uma rvore de todas as jogadas e as respectivas respostas de cada jogador, depois aplicado um valor de utilidade aos ns finais, e atravs destes valores decidido que valores iro ser atribudos aos ns pais, de acordo com o interesse do jogador MIN, isto , seleccionar sempre o menor valor. No topo da rvore, ir ser seleccionado o caminho apartir do n filho que possua o maior valor, de acordo com o interesse do jogador MAX. Funo MINIMAX (N) { se N for um n terminal ento retorna o valor estimado se no { enquanto N1,Nm, sejam sucessores de N { se N um n MIN ento retorna minimo(MINIMAX(N1), MINIMAX(N2),,MINIMAX(Nm)) seno retorna maximo(MINIMAX(N1), MINIMAX(N2),,MINIMAX(Nm)) } }} Figura 5 Pseudo-cdigo do Algoritmo Mini-Max
6.3 Desvantagens
Como podemos perceber, este algoritmo acaba por gerar toda a rvore de busca, dentro do limite permitido. Assim so gerados caminhos cuja possibilidade de serem seguidos praticamente nula.
Departamento de Matemtica e Engenharias Introduo Inteligncia Artificial 11
Outra desvantagem o facto do minimax se basear na suposio de que o adversrio escolher sempre o movimento ideal, e nunca incorrer ao erro. Desta forma, se tivermos que escolher entre duas jogadas que sejam ms para ns, e se uma dessas jogadas nos poder levar a uma vitria supondo que o adversrio comete um erro, com certeza que preferimos arriscar, no entanto o minimax no faz isto. E uma das formas de diminuir a perda de tempo na gerao de caminhos considerados inteis o corte alfa-beta. (Alpha-Beta Cutoffs)
6.4 Concluso
O Algoritmo Mini-Max completo apenas no caso de a rvore for finita, ptimo se jogarmos contra um adversrio ptimo e se no for esse o caso, o MAX jogar ainda melhor. Quanto complexidade no tempo, O (bm), onde, b o factor de ramificao e m a profundidade e complexidade no espao O (bm) explorao primeiro em profundidade, a complexidade vai de encontro com o tipo de jogo em questo, ou seja, ir variar consoante o nvel de dificuldade do jogo. Exemplo o jogo de xadrez tem um nvel de dificuldade muitssimo superior ao do jogo do galo o que leva ao facto do nvel de complexidade no caso do jogo de xadrez ser muito mais elevado. Logo perceptvel que o problema invivel para qualquer jogo minimamente complexo.
6.5 Problemas
O tempo gasto para determinar a deciso ptima totalmente impraticvel para qualquer jogo minimamente complexo, visto o algoritmo ter de construir a totalidade da rvore. Porm o algoritmo serve como base para outros mtodos mais realsticos. As solues possveis sol imitar a profundidade da busca e substituir a funo de utilidade por uma funo de avaliao (heurstica)e podar a rvore onde a busca seria irrelevante: poda AlfaBeta, limitando assim o tamanho desta.
12
H= w1f1 + w2f2 + + wnfn donde, w o valor das peas e f o valor atribudo pea numa dada posio.
chega-se a um Nodo Sorte, onde o valor a atribuir ser um Valor Estimado, que obtido atravs da media de todas os possveis valores obtidos pelos dados em conjunto com o valor do Nodo Terminal a ser transportado. Estes valores sero chamados de Expectimax e Expectimax, consoante nos encontremos num nodo de MAX ou de MIN, e que se obtm atravs da seguinte funo:
exp ecti max( Nodo) = P(d i ) max sS ( Nodo ,di ) (utilidade( s ))
i
Assim, o valor destes Nodos Sorte ser uma mdia de todos os valores dos filhos.
Expectimin
Figura 6 Jogo que inclui o elemento sorte. O expectimax dar o valor esperado do nodo C, assumindo que se obtm o melhor resultado no lanamento dos dados, para o jogador MAX.
8. Corte Alpha-Beta
O algoritmo Corte Alpha-Beta, tem como funo, limitar a expanso de ns desnecessrios, pelo algoritmo MiniMax. Este inicia-se aplicando o algoritmo MiniMax, que faz uma pesquisa Depth-First. Quando so encontrados todos os ns terminais de uma ramificao, escolhido o menor valor destes que ir ser chamado de .
Departamento de Matemtica e Engenharias Introduo Inteligncia Artificial 15
= melhor valor no caminho para MIN Este valor ira ser copiado para o n pai, sucessivamente at chegarmos primeira ramificao de MAX (primeiro caminho possvel de MAX). E , que se encontra no primeiro n da rvore, tomar ento o valor de , no n inicial de MAX. = melhor valor no caminho de MAX De seguida, d-se continuidade expanso da rvore, at se encontrar outro n terminal, atribuindo-se um novo valor a . ento realizada uma comparao do valor deste n, , com o de . Caso seja inferior, no necessrio continuar a expanso do respectivo n pai, visto que, este ir sempre ter um valor inferior ao caminho anteriormente encontrado para MAX. Este valor comparado com o valor de . Caso seja menor que , no so expandidas mais ramificaes desse n (corte dos restantes ns), visto o caminho no interessar a MAX, e o valor copiado para o n pai. Caso o valor de seja igual ou superior a , d-se continuidade pesquisa do prximo n terminal.
8.1 Concluso
O algoritmo Corte Alpha-Beta, eficiente para determinar quais os ramos que no devem ser explorados. Presume-se, tal como no algoritmo MiniMax, que o jogador MIN far sempre a melhor jogada.
Departamento de Matemtica e Engenharias Introduo Inteligncia Artificial 16
ptimo, e apesar de requerer menos tempo que o algoritmo MiniMax, ainda tem um crescimento exponencial (ponto negativo). Quanto complexidade O(bd/2) e as excepo regra o facto de que se o jogador MIN cometer falhas, estas no so tidas em contas, visto que no temos toda a rvore presente. E este algoritmo tambm no completo.
9. Concluses Finais
As ideias mais importantes apresentadas neste trabalho foram: Um jogo pode ser definido pelo seu estado inicial (em que local se encontram as peas), os operadores (jogadas possveis e legais), um teste terminal (que indica quando o jogo acabou), e uma funo de utilidade ou de avaliao (que indica quem ganhou). Em jogos de dois jogadores, com informao perfeita sobre o jogo, o algoritmo MINIMAX consegue determinar qual a melhor jogada (assumindo sempre que o adversrio tambm escolhe sempre a melhor jogada), ao percorrer toda a arvore completa de todas as jogadas possveis. O algoritmo Alpha-Beta, realiza os mesmos clculos que o algoritmo MINIMAX, mas mais eficiente pois corta ramificaes que so irrelevantes para o resultado final. Na maioria dos casos impossvel considerar toda a arvore de jogadas, logo necessrio cortar a arvore ou limitar a sua construo. Ento necessrio a substituio da funo de utilidade por uma funo de avaliao, que estime o valor dos nodos terminais. Os jogos de sorte podem ser tratados atravs de uma extenso ao algoritmo MINIMAX, que atribui um valor aos Nodos Sorte atravs de uma mdia da utilidade dos seus nodos filho.
17
10.
Links:
Referncias Bibliogrficas
Livros: Stuart Russel e Peter Norvig, Artificial Intelligence: A Modern Approach, Prentice Hall (Series in Artificial Intelligence), 2nd edition 2003 Elen Rich and Kevin Knight; Artificial Intelligence 2nd Edition, McGraw-Hil, 1991
18