“Algoritmos Para Um Jogador Inteligente De Poker” Autor: Vinícius

“Algoritmos Para Um Jogador Inteligente De Poker” Autor: Vinícius

Universidade Federal De Santa Catarina Centro Tecnológico Bacharelado em Ciências da Computação “Algoritmos para um jogador inteligente de Poker” Autor: Vinícius Sousa Fazio Florianópolis/SC, 2008 Universidade Federal De Santa Catarina Centro Tecnológico Bacharelado em Ciências da Computação “Algoritmos para um jogador inteligente de Poker” Autor: Vinícius Sousa Fazio Orientador: Mauro Roisenberg Banca: Benjamin Luiz Franklin Banca: João Rosaldo Vollertt Junior Banca: Ricardo Azambuja Silveira Florianópolis/SC, 2008 AGRADECIMENTOS Agradeço a todos que me ajudaram no desenvolvimento deste trabalho, em especial ao professor Mauro Roisenberg e aos colegas de trabalho João Vollertt e Benjamin Luiz Franklin e ao Ricardo Azambuja Silveira pela participação na banca avaliadora. Algoritmos para um jogador inteligente de Poker – Vinícius Sousa Fazio 4 RESUMO Poker é um jogo simples de cartas que envolve aposta, blefe e probabilidade de vencer. O objetivo foi inventar e procurar algoritmos para jogadores artificiais evolutivos e estáticos que jogassem bem poker. O jogador evolutivo criado utiliza aprendizado por reforço, onde o jogo é dividido em uma grande matriz de estados com dados de decisões e recompensas. O jogador toma a decisão que obteve a melhor recompensa média em cada estado. Para comparar a eficiência do jogador, várias disputas com jogadores que tomam decisões baseados em fórmulas simples foram feitas. Diversas disputas foram feitas para comparar a eficiência de cada algoritmo e os resultados estão demonstrados graficamente no trabalho. Palavras-Chave: Aprendizado por Reforço, Inteligência Artificial, Poker; Algoritmos para um jogador inteligente de Poker – Vinícius Sousa Fazio 5 SUMÁRIO 1. Introdução........................................................................................................12 2. Fundamentação Teórica..................................................................................15 2.1. Regras do Poker Texas Hold'em................................................................16 2.1.1. Primeira rodada – Pre-flop..............................................................17 2.1.2. Segunda rodada – Flop....................................................................18 2.1.3. Terceira rodada – Turn....................................................................18 2.1.4. Quarta rodada – River.....................................................................19 2.1.5. Fim do jogo – Showdown................................................................19 2.1.6. Rankings..........................................................................................19 2.1.7. Vencedor..........................................................................................21 2.2. Análise do Poker.......................................................................................22 2.3. Jogadores Artificiais Estáticos.................................................................23 2.3.1. Aleatórios........................................................................................23 2.3.2. Constantes.......................................................................................23 2.3.3. Mathematically Fair Strategy - MFS..............................................24 2.3.4. Jean Rachlin e Gary Higgins - RH.................................................24 2.4. Jogadores Artificiais Evolutivos..............................................................25 2.4.1. Aprendizado por Reforço................................................................25 2.4.2. Algoritmo Genético.........................................................................26 2.5. Probabilidade de Vencer...........................................................................26 2.5.1. Força Bruta....................................................................................27 2.5.2. Monte Carlo....................................................................................27 2.6. Outras Soluções.......................................................................................27 3. Metodologia....................................................................................................29 3.1. Ferramenta e linguagem..........................................................................29 3.2. Treinamento.............................................................................................29 3.3. Verificação de desempenho.....................................................................31 3.4. Implementação dos Jogadores Artificiais................................................31 3.4.1. Aleatórios........................................................................................32 Algoritmos para um jogador inteligente de Poker – Vinícius Sousa Fazio 6 3.4.2. Constantes.......................................................................................32 3.4.3. Mathematically Fair Strategy - MFS..............................................32 3.4.4. Jean Rachlin e Gary Higgins – RH.................................................33 3.4.5. Aprendizado por Reforço................................................................34 3.5. Probabilidade de Vencer............................................................................37 4. Análise dos Resultados..................................................................................38 4.1. Verificação do método Monte-Carlo.........................................................38 4.2. Quantidade de mesas necessárias para avaliar um jogador.......................39 4.3. Constantes de configuração e evolução do Jogador por Reforço..............40 4.4. Disputas.....................................................................................................43 4.4.1. MFS x Aleatório................................................................................43 4.4.2. MFS x Constante..............................................................................44 4.4.3. Aleatório x Constante.......................................................................44 4.4.4. RH x Aleatório..................................................................................45 4.4.5. RH x Constante.................................................................................46 4.4.6. RH x MFS.........................................................................................47 4.4.7. Reforço x Aleatório..........................................................................48 4.4.8. Reforço x Constante.........................................................................48 4.4.9. Reforço x MFS..................................................................................49 4.4.10. Reforço x RH..................................................................................50 4.4.11. Disputa entre os melhores de cada.................................................50 4.4.12. Reforço x Humano..........................................................................51 5. Conclusão........................................................................................................52 6. Referências Bibliográficas.............................................................................54 7. Anexos.............................................................................................................56 7.1. playpoker.m..............................................................................................56 7.2. compute_victory.h....................................................................................66 7.3. getpower.h................................................................................................68 7.4. pokeronerank.h.........................................................................................73 7.5. pokerrank.h...............................................................................................75 7.6. test_pokerrank.h.......................................................................................77 7.7. createconstantplayer.h..............................................................................79 Algoritmos para um jogador inteligente de Poker – Vinícius Sousa Fazio 7 7.8. creatediscreteplayer.h...............................................................................80 7.9. createhumanplayer.h................................................................................86 7.10. createmfsplayer.h...................................................................................87 7.11. createrandomplayer.h.............................................................................88 7.12. createrhplayer.h......................................................................................89 7.13. createdatabase.h.....................................................................................90 7.14. traindiscrete.h.........................................................................................91 7.15. filldatabase.m.........................................................................................95 7.16. newsimutationdispute.m........................................................................97 7.17. newsimutationdispute2.m......................................................................99 7.18. simulatealldispute.h.............................................................................100 7.19. simulatehuman.h..................................................................................103 7.20. Artigo...................................................................................................104

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    111 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us