Jogos - aula 2. Prof. Luis Otavio Alvares II / UFRGS



Documentos relacionados
Jogos - aula 2. Xadrez chinês. Exemplo de função de avaliação:

Inteligência Artificial. Minimax. Xadrez chinês. Xadrez chinês. Exemplos de Jogos. Exemplo de função de avaliação: Prof. Paulo Martins Engel

IA: Busca Competitiva. Ricardo Britto DIE-UFPI

Introdução a Informática - 1º semestre AULA 02 Prof. André Moraes

Introdução a Informática. Prof.: Roberto Franciscatto

Conceitos Básicos sobre Sistema de Computação

AULA 5 Sistemas Operacionais

Estrutura geral de um computador

PROCESSAMENTO DE DADOS

Curso de Instalação e Gestão de Redes Informáticas

Prof. Sandrina Correia

CURSO BÁSICO DE INFORMÁTICA

3. Arquitetura Básica do Computador

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Prof. André Dutton

Informática. Técnico em Agronegócio 1º. Módulo Profa. Madalena Pereira da Silva

Programador/a de Informática

Jogos vs. Problemas de Procura

Jogo de Tabuleiro - Mancala Relatório Final

Noções sobre sistemas operacionais, funcionamento, recursos básicos Windows

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

Curso de Instalação e Gestão de Redes Informáticas

Sistema Operacional. Prof. Leonardo Barreto Campos 1

1.3. Componentes dum sistema informático HARDWARE SOFTWARE

Sou o professor Danilo Augusto, do TIParaConcursos.net, e lá costumo trabalhar temas relacionados a Redes de Computadores e Sistemas Operacionais.

Programação de Computadores

Prof. Dr. Charlie Antoni Miquelin BÁSICO DE COMPUTAÇÃO EM TC

Organização de Computadores Hardware

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Trabalho de Implementação Jogo Reversi

Microinformática Introdução ao hardware. Jeronimo Costa Penha SENAI - CFP/JIP

SISTEMAS DIGITAIS Prof. Ricardo Rodrigues Barcelar

Profa. Dra. Amanda Liz Pacífico Manfrim Perticarrari

Conteúdo. 1. Requisitos para instalação do PrefSuite Cliente Servidor 4

Scanner Compacto SnapScan S1300i

Gerenciador de Log. Documento Visão. Projeto Integrador 2015/2. Engenharia de Software. Versão 2.0. Engenharia de Software

Software de Tarifação para centrais PABX e ambiente Windows

Cadeira de Tecnologias de Informação. Ano lectivo 2007/08. Conceitos fundamentais de Hardware

Visão geral do sistema de armazenamento e hierarquia de memória

5. EXPERIÊNCIAS E ANÁLISE DOS RESULTADOS Os Programas de Avaliação

Montagem e Manutenção de Computadores Aula1

Universidade Federal da Fronteira Sul Campus Chapecó Sistema Operacional

GESTÃO DE SISTEMAS OPERACIONAIS II

O Impacto dos Aceleradores Expand no Consumo de Banda do Citrix Metraframe

SISTEMA DE ARQUIVOS. Instrutor: Mawro Klinger

Software. LMP Wizard. Manual do usuário MAN-PT-DE-LMPWizard-01.01_12

Prof.Msc Jocênio Marquios Epaminondas.

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO

Aplicativos Informatizados da Administração. Hardware A evolução e o impacto dos computadores nas áreas de negócios.

Estrutura e funcionamento de um sistema informático

SiDEI. Sistema de Avaliação Automática de Alunos. Gestão e Desenvolvimento de Aplicações Informáticas

Sistemas de Informações Gerenciais

NOÇÕES DE INFORMÁTICA Agente de Polícia Federal 2012

Programação de Sistemas

BC Sistemas Operacionais Sistema de Arquivos (aula 10 Parte 2) Prof. Marcelo Z. do Nascimento

Tecnologia PCI express. Introdução. Tecnologia PCI Express

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

MÉTODOS DE RESOLUÇÃO DE PROBLEMAS EM IA. Busca em espaço de estados. Estados e Operadores. Jogo dos 8. Sumário. Exemplo: jogo dos 8

SISTEMAS INFORMÁTICOS

4.3. Manual de instalação do Libre Office 4.3. Desenvolvido por: Vitor Gabriel Coimbra Farias

AULA TEÓRICA 2 Tema 2. Conceitos básicos de informática, computadores e tecnologias de informação. Sistemas de numeração (continuação)

Ponto Secullum 4 ESPECIFICAÇÕES TÉCNICAS FUNCIONALIDADES FICHA TÉCNICA. Ficha Técnica

Laboratório de Hardware

Aula 01 Introdução à Informática. Prof. Bruno Gomes

Seja Bem-vindo(a)! Neste módulo vamos trabalhar os principais conceitos de informática.

FUNDAMENTOS DE HARDWARE COMO FUNCIONA UM PC? Professor Carlos Muniz

INTRODUÇÃO À PROGRAMAÇÃO BCC 201 TURMAS 31, 32 E AULA TEÓRICA 2 PROF. MARCELO LUIZ SILVA (R E D)

INFORMÁTICA PARA GESTÃO I Curso Superior de Gestão de Marketing

Administration Kit. Parte de Kaspersky Business Space Security Kaspersky Enterprise Space Security Kaspersky Total Space Security

AULA 1. Informática Básica. Gustavo Leitão. Disciplina: Professor:

TRABALHO COM GRANDES MONTAGENS

SIMULADO Windows 7 Parte V

Nexcode Systems, todos os direitos reservados. Documento versão

Quais são as edições do SQL Server 2008?

NAPNE / RENAPI. Software Educativo Smart Panda 1.0

SOFTWARE EDUCATIVO. Manual CHILDSPLAY 1.6

Guilherme Pina Cardim. Relatório de Sistemas Operacionais I

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

Memória principal; Unidade de Controle U C P. Unidade Lógica e Aritmética

Aula 3. Sistemas Operacionais. Prof: Carlos Eduardo de Carvalho Dantas

HCT Compatibilidade Manual do Usuário

Introdução ao Active Directory AD

Fundamentos em Informática (Sistemas de Numeração e Representação de Dados)

Centro de Controle e Comando

ARQUITETURA DE COMPUTADORES

Exercícios de Java Aula 20 - Matrizes

Aranda INVENTORY. Benefícios Estratégicos para sua Organização. (Standard & Plus Edition) Beneficios. Características V

CONHEÇA MELHOR SEU COMPUTADOR

Informática. Informática. Valdir

Soluções de Acessibilidade. VLibras - Desktop. Manual de Instalação da Ferramenta. Microsoft Windows R. Núcleo de Pesquisa e Extensão / LAViD

Sistemas de Informação e o Computador

- SISTEMA DE GERENCIAMENTO DE ENXOVAL HOSPITALAR - ESPECIFICAÇÕES TÉCNICAS MÍNIMAS

I N F O R M Á T I C A. Sistemas Operacionais Prof. Dr. Rogério Vargas Campus Itaqui-RS

RODRIGUES JARDIM,MIRIAN BERGMANN DE LIMA, TAMIRES RODRIGUES FERREIRA

Escola Secundária de Emídio Navarro

Tecnologia AMD agregando valor

Aplicação Prática de Lua para Web

Profa. Dra. Amanda Liz Pacífico Manfrim Perticarrari

Superioridade do Linux sobre Windows no quesito segurança

A R P O BPMN++ MODELER KLUG PROCESSO PARA DOWNLOAD E INSTALAÇÃO VERSÃO FREEWARE. Verificar requisitos para instalação. Testar instalação do software

Manual do usuário. Mobile Auto Download

Transcrição:

Jogos - aula 2 Prof. Luis Otavio Alvares II / UFRGS 1

Função de avaliação: Xadrez chines 2

Xadrez chinês Exemplo de função de avaliação: o valor das peças é de acordo com a sua posição: 12 para a última linha (chegada), 11 para a anterior e assim sucessivamente; situações de bloqueio do adversário recebem uma contagem extra: +1, +2 ou +3, conforme a posição da barreira. 3

Função de avaliação: Ligue 4 4

Ligue 4 Exemplo de função de avaliação: 4 peças em seqüência: 2000 3 peças em seqüência: 100 2 peças em seqüência: 12 1 peça: 2 só considera seqüências de 4 casas com peças de um só jogador ou vazias soma-se as seqüências do jogador 1 e subtrai-se as do jogador 2. o resultado da função de avaliação é a soma algébrica de todas as seqüências 5

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO Inteligência Artificial para o Jogo de Damas Por Tiago Ribeiro Schaewer Trabalho de Diplomação Prof. Luís Otávio Álvares Orientador 6

Sumário Introdução Objetivos Técnicas Panzer Checkers Avaliação Conclusão 7

Introdução O Chinook é campeão mundial de damas em 1994. Deep Blue derrota Kasparov em 1997. Resultado de décadas de pesquisa e aperfeiçoamento. 8

Objetivos Criar um programa de damas brasileiras de qualidade. Existem poucos jogos para regras brasileiras. Um jogo tipicamente brasileiro. Ênfase na profundidade da busca. Técnicas genéricas para outros jogos. Vasta bibliografia. Construção de um banco de dados de fim de jogo. Não existe um banco de damas brasileiras disponível. Fator determinante na qualidade de um sistema de damas. Baseado em estudos realizados por pesquisadores renomados. J. Schaeffer, M. Breuker, A. Plaat entre outros. 9

Minimax Largamente utilizado. Gera todos os movimentos possíveis. Ordem de complexidade w d. Efeito horizonte. Assume que cada jogador fará o melhor lance. É uma estimativa. 10

Busca e Conhecimento Busca Minimax Corte Alfa-Beta Ordenação Tabela de Transposição Velocidade do Código Pensar na Vez do Oponente Conhecimento Função de Avaliação Banco de Dados Livro de Abertura 11

Busca x Conhecimento Extraído de A Re-Examination of Brute-Force Search de J. Schaeffer, P. Lu, D. Szafron e R. Lake 12

Aprofundando a Busca Aumentar tempo de busca Aumentar a capacidade do hardware Otimizar o código do programa Pensar na vez do oponente Corte alfa-beta Ordenação da árvore Tabela de Transposição 13

Tabela de Transposição Funciona como uma cache de posições já analisadas. Utilizada para ordenar a árvore. Reutiliza escores. Utilizada para fazer o computador pensar na vez do adversário. Redução de ~40% no tamanho da árvore. Desempenho aumenta conforme a profundidade da busca. 14

Bitboards Utilizado largamente. Permite operações lógicas entre tabuleiros. Funções para descobrir captura e mobilidade de peças são mais velozes. Pré-cálculo de tabelas de bitboards. 15

Banco de Dados de Fim de Jogo Características Contém informação perfeita. Pode ser atingido mesmo em posições da abertura. Indispensável para a construção de um jogo de damas. Construído com o algoritmo de análise retroativa. Vantagens Proporciona cortes na busca. Melhora a qualidade da estimativa. Garante vitórias ou empates em finais de partidas. Mestres humanos memorizam finais de até 5 peças. Eventualmente será responsável pela resolução do jogo de damas. 16

Banco de Dados - Problemas Tempo de cálculo. Espaço de armazenamento. Swaps entre disco e memória. Como garantir o progresso? Como diferenciar dois empates? E duas derrotas? Número de Posições Tamanho em bytes 2 3.488 872 3 s 3 199.520 48 Kb 5 m 4 6.408.836 1,6 Mb 3h e 20m 5* 134.000.000 33 Mb 3 dias 6* 2.144.000.000 536 Mb 48 dias 7* 30.016.000.000 7,5 Gb 22 meses Tamanho do Banco(peças) Tempo de Cálculo (Pentium Pro 200) 17

Panzer Checkers Plataforma Windows. Número de usuários. Microsoft Visual C++ 6. Geração de código. Profiler. DirectX 8. Bitmaps animados. Suporte a arquivos wav. Acesso ao teclado e mouse. Instalado na maioria dos computadores que usam Windows. 18

Módulos Gerador de Movimentos Minimax Função de Avaliação Tabela de Transposição Banco de Dados de Fim de Jogo Módulo Tempo Utilizado Linhas de Código Gerador de Movimentos 22 % 500 Minimax 21 % 300 Função de Avaliação 3 % 100 Tabela de Transposição 20 % 300 Banco de Dados 2 % 700 Outras Funções 32 % 3000 19

Técnicas Utilizadas Bitboards. Corte alfa-beta. Tabela de transposição. Banco de dados com posições de 4 ou menos peças. Pensa na vez do oponente. Detecção de Repetições. ETC (Enhanced Transposition Cutoff). 20

Busca - Resultados Práticos +2 ply : Corte alfa-beta. +1ply : Tabela de transposição. +1ply : Pensar na vez do adversário. Redução do fator de ramificação de ~5 para ~2,3. +1 ply ao dobrar o número de posições analisadas. +5 ply, aumento de ~64 vezes. +10 ply, aumento de ~4000 vezes. 21

Banco de dados Ponto forte do jogo. 6408836 posições armazenadas. 2 bits por entrada. Começa a ser utilizado efetivamente em posições com 10 ou menos pedras. Proporciona excelente desempenho para finais de 6 ou menos pedras. 22

Fases do jogo Avaliação Fraco desempenho na abertura. Bom meio de jogo. Excelente fim de jogo. 95% de acerto para posições propostas. Bom desempenho contra outros programas. Ganhos materiais X Ganhos posicionais Controle do tabuleiro. A forçada. Programa Livro de Abertura Tabela de Transposição Banco de Fim de Jogo Vitórias do Programa Empates Vitórias do Panzer Checkers WinBraz 3D Sim Sim Não 6 2 - Plus 800 Não Sim Sim - - 8 DamasMaster Não Não Não - 1 7 IaDamas Não Não Não - - 8 DamaX Não Não Não - 3 5 23

Conclusão Objetivos para o Futuro Melhorar a interface. Estatísticas. Níveis de dificuldade. Salvar e carregar partidas. voltar lance, forçar lance. Som. Disponibilizar documentação e código fonte na internet. O programa será freeware. Aperfeiçoar a função de avaliação. Derrotar o WinBraz 3D. 24

Como Derrotar o WinBraz 3D Tornar o programa propenso a efetuar trocas de peças. Melhorar a função de avaliação (mobilidade). Calcular banco de dados para 6 ou menos peças. Devemos utilizar um livro de abertura? 25