SlideShare uma empresa Scribd logo
1 de 51
Minimax e Corte Alfa-Beta
Marcos Thomaz da Silva
Mestrado em Computação
Disciplina: Inteligência Artificial – Prof. Dr. José Francisco
Minimax
• Teoria minimax demonstrada por John von
Neumann
• Método da teoria da decisão,
• Objetiva minimizar a perda máxima possível, ou,
maximização do ganho mínimo;
• Em jogos, visa decidir qual a melhor jogada;
• Recebe com parâmetros a quantidade de jogadas
que serão avaliadas, avalia as opções (todas
combinações), e retorna opção com maior ganho.
• Minimax tem um custo elevado de tempo
Minimax – Onde aplicar
• Teoria de Jogos: Jogo da Velha, Jogo de
Damas;
• Apoio a tomada de decisões
MAX
MIN
MAX
Minimax - Demonstração
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Minimax - Demonstração
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Minimax - Demonstração
8
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Minimax - Demonstração
8
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Minimax - Demonstração
2
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Minimax - Demonstração
2
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Minimax - Demonstração
2
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Minimax - Demonstração
2
2
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Minimax - Demonstração
2
2
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Minimax - Demonstração
2
2 3
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Minimax - Demonstração
2
2 3
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Minimax - Demonstração
2
2 -1
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Minimax - Demonstração
2
2 -1
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Minimax - Demonstração
2
2 -1
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Minimax - Demonstração
2
2 -1
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Minimax - Demonstração
2
2 -1
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Minimax - Demonstração
2
2 -1 7
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Minimax - Demonstração
2
2 -1 7
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Minimax - Demonstração
2
2 -1 4
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Minimax - Demonstração
2
2 -1 4
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Minimax - Demonstração
2
2 -1 4
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Minimax - Demonstração
4
2 -1 4
8 2 15 3 -1 5 7 4 9
Corte Alfa-Beta
• Uma variação do algoritmo minimax
• Visa reduzir número de nós que são avaliados
• Para de avaliar os nós quando sabe que o
mesmo possui resultados desfavoráveis
• Não altera o resultado final, apenas reduz a
quantidade de iterações
MAX
MIN
MAX
Corte Alfa-Beta - Demonstração
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Corte Alfa-Beta - Demonstração
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Corte Alfa-Beta - Demonstração
8
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Corte Alfa-Beta - Demonstração
8
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Corte Alfa-Beta - Demonstração
2
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Corte Alfa-Beta - Demonstração
2
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Corte Alfa-Beta - Demonstração
2
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Corte Alfa-Beta - Demonstração
2
2
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Corte Alfa-Beta - Demonstração
2
2
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Corte Alfa-Beta - Demonstração
2
2 3
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Corte Alfa-Beta - Demonstração
2
2 3
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Corte Alfa-Beta - Demonstração
2
2 -1
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Corte Alfa-Beta - Demonstração
2
2 -1
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Corte Alfa-Beta - Demonstração
2
2 -1
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Corte Alfa-Beta - Demonstração
2
2 -1
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Corte Alfa-Beta - Demonstração
2
2 -1
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Corte Alfa-Beta - Demonstração
2
2 -1 7
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Corte Alfa-Beta - Demonstração
2
2 -1 7
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Corte Alfa-Beta - Demonstração
2
2 -1 4
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Corte Alfa-Beta - Demonstração
2
2 -1 4
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Corte Alfa-Beta - Demonstração
2
2 -1 4
8 2 15 3 -1 5 7 4 9
MAX
MIN
MAX
Corte Alfa-Beta - Demonstração
4
2 -1 4
8 2 15 3 -1 5 7 4 9
Demonstração – Jogo da Velha
• Tendo o jogo abaixo, e sabendo que é a vez do
jogador que usa “X”:
X
O
X
O
X O
Demonstração – Jogo da Velha
• Temos 3 locais para jogar e nenhuma delas
finaliza diretamente. Sendo assim, é feita a
avaliação usando minimax sobre qual local
deve ser jogado.
• Como existem 3 locais, são avaliadas as 3
jogadas, sendo duas do jogador “X” e uma do
jogador “O”
MAX
MIN
MAX
Demonstração – Jogo da Velha
X
O
X
O
X O
X
O
X
O
X O
X O
X
O
X
O
X O
XX
O
X
O
X O
X
X
O
X
O
X O
X
X
O
X
O
X O
XO
X
O
X
O
X O
X
O X
O
X
O
X O
X
O
X
O
X
O
X O
X
OO
X
O
X
O
X O
X
O

Mais conteúdo relacionado

Mais procurados

Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)Leinylson Fontinele
 
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processosComputação Depressão
 
Segurança em Banco de Dados
Segurança em Banco de DadosSegurança em Banco de Dados
Segurança em Banco de DadosIorgama Porcely
 
Fundamentos e princípios do projeto orientado a objetos
Fundamentos e princípios do projeto orientado a objetosFundamentos e princípios do projeto orientado a objetos
Fundamentos e princípios do projeto orientado a objetosEvandro Agnes
 
How to get contour surface position by openfoam
How to get contour surface position by openfoamHow to get contour surface position by openfoam
How to get contour surface position by openfoamtakuyayamamoto1800
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Gercélia Ramos
 
Modelagem Aplicações Web com UML
Modelagem Aplicações Web com UMLModelagem Aplicações Web com UML
Modelagem Aplicações Web com UMLClaudio Martins
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a ObjetosIgor Takenami
 
Análise de Algoritmos - Método Guloso
Análise de Algoritmos - Método GulosoAnálise de Algoritmos - Método Guloso
Análise de Algoritmos - Método GulosoDelacyr Ferreira
 
Exercício resolvido normalização
Exercício resolvido normalizaçãoExercício resolvido normalização
Exercício resolvido normalizaçãoTicianne Darin
 
Descrição formal de Casos de Uso
Descrição formal de Casos de UsoDescrição formal de Casos de Uso
Descrição formal de Casos de UsoNatanael Simões
 

Mais procurados (20)

Data Warehouse - Modelagem
Data Warehouse - ModelagemData Warehouse - Modelagem
Data Warehouse - Modelagem
 
My sql apresentação
My sql apresentaçãoMy sql apresentação
My sql apresentação
 
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
 
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
 
POO - 11 - Prática de Herança
POO - 11 - Prática de HerançaPOO - 11 - Prática de Herança
POO - 11 - Prática de Herança
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Linguagem assembly
Linguagem assemblyLinguagem assembly
Linguagem assembly
 
Segurança em Banco de Dados
Segurança em Banco de DadosSegurança em Banco de Dados
Segurança em Banco de Dados
 
Python
PythonPython
Python
 
Fundamentos e princípios do projeto orientado a objetos
Fundamentos e princípios do projeto orientado a objetosFundamentos e princípios do projeto orientado a objetos
Fundamentos e princípios do projeto orientado a objetos
 
POO - 16 - Polimorfismo
POO - 16 - PolimorfismoPOO - 16 - Polimorfismo
POO - 16 - Polimorfismo
 
How to get contour surface position by openfoam
How to get contour surface position by openfoamHow to get contour surface position by openfoam
How to get contour surface position by openfoam
 
POO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de MétodosPOO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de Métodos
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
 
Modelagem Aplicações Web com UML
Modelagem Aplicações Web com UMLModelagem Aplicações Web com UML
Modelagem Aplicações Web com UML
 
Arquitetura de sistemas web
Arquitetura de sistemas webArquitetura de sistemas web
Arquitetura de sistemas web
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
Análise de Algoritmos - Método Guloso
Análise de Algoritmos - Método GulosoAnálise de Algoritmos - Método Guloso
Análise de Algoritmos - Método Guloso
 
Exercício resolvido normalização
Exercício resolvido normalizaçãoExercício resolvido normalização
Exercício resolvido normalização
 
Descrição formal de Casos de Uso
Descrição formal de Casos de UsoDescrição formal de Casos de Uso
Descrição formal de Casos de Uso
 

Destaque

Algoritmos de jogos
Algoritmos de jogosAlgoritmos de jogos
Algoritmos de jogosiaudesc
 
Inteligência Artificial - Minimax / Reversi
Inteligência Artificial - Minimax / ReversiInteligência Artificial - Minimax / Reversi
Inteligência Artificial - Minimax / ReversiEvandro Figueiredo
 
Poda alfa beta
Poda alfa betaPoda alfa beta
Poda alfa betaJeffoG92
 
TESTE DE AVALIAÇÃO - Microsot Word
TESTE DE AVALIAÇÃO - Microsot WordTESTE DE AVALIAÇÃO - Microsot Word
TESTE DE AVALIAÇÃO - Microsot WordP.ESPERANCA
 
Informatica - Aula10 - Excel - Exercicios
Informatica - Aula10 - Excel - ExerciciosInformatica - Aula10 - Excel - Exercicios
Informatica - Aula10 - Excel - ExerciciosArthur Emanuel
 
Excel lista de exercicios básicos
Excel   lista de exercicios básicosExcel   lista de exercicios básicos
Excel lista de exercicios básicosPessoal
 
Apresentação de slides pronto
Apresentação de slides prontoApresentação de slides pronto
Apresentação de slides prontocandidacbertao
 

Destaque (12)

PODA ALFA-BETA
PODA ALFA-BETAPODA ALFA-BETA
PODA ALFA-BETA
 
Algoritmos de jogos
Algoritmos de jogosAlgoritmos de jogos
Algoritmos de jogos
 
Inteligência Artificial - Minimax / Reversi
Inteligência Artificial - Minimax / ReversiInteligência Artificial - Minimax / Reversi
Inteligência Artificial - Minimax / Reversi
 
Poda alfa beta
Poda alfa betaPoda alfa beta
Poda alfa beta
 
Poda Alfa-Beta
Poda Alfa-BetaPoda Alfa-Beta
Poda Alfa-Beta
 
Teoria dos jogos
Teoria dos jogos Teoria dos jogos
Teoria dos jogos
 
Arboles min max
Arboles min maxArboles min max
Arboles min max
 
TESTE DE AVALIAÇÃO - Microsot Word
TESTE DE AVALIAÇÃO - Microsot WordTESTE DE AVALIAÇÃO - Microsot Word
TESTE DE AVALIAÇÃO - Microsot Word
 
Informatica - Aula10 - Excel - Exercicios
Informatica - Aula10 - Excel - ExerciciosInformatica - Aula10 - Excel - Exercicios
Informatica - Aula10 - Excel - Exercicios
 
Excel lista de exercicios básicos
Excel   lista de exercicios básicosExcel   lista de exercicios básicos
Excel lista de exercicios básicos
 
Caderno de exercícios excel 2010
Caderno de exercícios excel 2010Caderno de exercícios excel 2010
Caderno de exercícios excel 2010
 
Apresentação de slides pronto
Apresentação de slides prontoApresentação de slides pronto
Apresentação de slides pronto
 

Mais de Marcos Thomaz

Hibridização de Métodos Exatos e Heurísticos para a Minimização do Atraso Pon...
Hibridização de Métodos Exatos e Heurísticos para a Minimização do Atraso Pon...Hibridização de Métodos Exatos e Heurísticos para a Minimização do Atraso Pon...
Hibridização de Métodos Exatos e Heurísticos para a Minimização do Atraso Pon...Marcos Thomaz
 
Hydros - Apresentação para Investidores
Hydros - Apresentação para InvestidoresHydros - Apresentação para Investidores
Hydros - Apresentação para InvestidoresMarcos Thomaz
 
Palestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesPalestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesMarcos Thomaz
 
Curso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos ComandosCurso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos ComandosMarcos Thomaz
 
MongoDB: Uma forma diferente de pensar no desenvolvimento
MongoDB: Uma forma diferente de pensar no desenvolvimento MongoDB: Uma forma diferente de pensar no desenvolvimento
MongoDB: Uma forma diferente de pensar no desenvolvimento Marcos Thomaz
 
Criação de log de ações através do banco
Criação de log de ações através do bancoCriação de log de ações através do banco
Criação de log de ações através do bancoMarcos Thomaz
 
Criação de log de ações através do banco - PostgreSQL
Criação de log de ações através do banco - PostgreSQLCriação de log de ações através do banco - PostgreSQL
Criação de log de ações através do banco - PostgreSQLMarcos Thomaz
 

Mais de Marcos Thomaz (10)

Hibridização de Métodos Exatos e Heurísticos para a Minimização do Atraso Pon...
Hibridização de Métodos Exatos e Heurísticos para a Minimização do Atraso Pon...Hibridização de Métodos Exatos e Heurísticos para a Minimização do Atraso Pon...
Hibridização de Métodos Exatos e Heurísticos para a Minimização do Atraso Pon...
 
Hydros - Apresentação para Investidores
Hydros - Apresentação para InvestidoresHydros - Apresentação para Investidores
Hydros - Apresentação para Investidores
 
Conhecendo o Django
Conhecendo o DjangoConhecendo o Django
Conhecendo o Django
 
Palestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesPalestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas Aplicações
 
Curso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos ComandosCurso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos Comandos
 
MongoDB: Uma forma diferente de pensar no desenvolvimento
MongoDB: Uma forma diferente de pensar no desenvolvimento MongoDB: Uma forma diferente de pensar no desenvolvimento
MongoDB: Uma forma diferente de pensar no desenvolvimento
 
Postgre sql +python
Postgre sql +pythonPostgre sql +python
Postgre sql +python
 
Criação de log de ações através do banco
Criação de log de ações através do bancoCriação de log de ações através do banco
Criação de log de ações através do banco
 
Criação de log de ações através do banco - PostgreSQL
Criação de log de ações através do banco - PostgreSQLCriação de log de ações através do banco - PostgreSQL
Criação de log de ações através do banco - PostgreSQL
 
Postgresql +python
Postgresql +pythonPostgresql +python
Postgresql +python
 

Minimax e Corte Alfa-Beta em 38