Você está na página 1de 26

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO

CAMPUS MULTIDISCIPLINAR DE PAU DOS FERROS


BACHARELADO EM ENGENHARIA DE COMPUTAÇÃO
PROF. ME. MARCO DIEGO AURELIO MESQUITA

PAM0466 –
SISTEMAS INTELIGENTES

DISCENTES:
DIEGO VINÍCIUS DE OLIVEIRA
LEILA MARIA DE FREITAS SOUZA
1
Sumário
Introdução
Algoritmos utilizados
- Busca de custo uniforme
- Busca gulosa pela melhor escolha
- Busca A*
Heurísticas utilizadas
- Descrição de cada heurística

2
Sumário
Resultados
- Para cada algoritmo
- Para cada heurística
- Número de estados expandidos
- Custo da solução encontrada
Conclusão

3
Introdução - Lights Out (jogo)

Lights Out é um jogo eletrônico lançado pela Tiger Electronics em 1995. O


jogo consiste em uma grade de luzes 5 por 5. Quando o jogo começa, um
número aleatório ou um padrão armazenado dessas luzes é ativado.
Pressionar qualquer uma das luzes alternará a luz e as luzes adjacentes. O
objetivo do quebra-cabeça é desligar todas as luzes, de preferência com o
menor número possível de pressionamentos de botão.

4
Lights Out (jogo)
a b C d e

1 O

2 O O O

3 O O

4 O O O

5 O

5
Lights Out (jogo)
a b C d e a b C d e a b C d e
1 O 1 O 1
2 O O O 2 O O O 2
3 O O 3 O O 3 O
4 O O O 4 O O O 4 O O O
5 O 5 O 5 O

a b C d e a b C d e
1 1
2 2
3 O 3
4 O O O 4
5 O 5
6
Algoritmos utilizados - Busca de custo uniforme

A busca de custo uniforme expande o nó n com o custo de caminho g(n)


mais baixo. Isso é feito através do armazenamento da borda como uma fila de
prioridade ordenada por g.

7
Algoritmos utilizados - Busca gulosa pela melhor escolha

A busca gulosa de melhor escolha tenta expandir o nó que está mais


próximo do objetivo, com o fundamento de que isso pode conduzir a uma
solução rapidamente. Assim, ela avalia os nós usando apenas a função
heurística, ou seja, f(n) = h(n).

8
Algoritmos utilizados - Busca A*

Ela avalia os nós através da combinação de g(n), o custo para alcançar o nó, e
h(n), o custo para ir do nó ao objetivo:

f(n) = g(n) + h(n).

9
Resumo dos 3 algoritmos

Tipos de busca: # de estados expandidos Custo da solução

Custo uniforme Maior # de estados Ótima

Gulosa Ótima Maior custo

A* Intermediária Intermediária

10
Heurísticas utilizadas

(1) – Verifica as luzes acessas linha a linha;

(2) – Verifica as luzes acessas na matriz;

11
Heurísticas utilizadas - Descrição de cada heurística

(1) – Verifica as luzes acessas linha a linha: a verificação de luzes acessas é


realizada a cada linha, por este motivo na função para se percorrer a matriz de
verificação há a presença do break, para a execução seja cessada, ou seja, uma
condição de parada para que seja percorrida apenas a linha.
def heuristica1(mat):
    global tam
    cont = 0
    for linha in range(tam):
        for coluna in range(tam):
            if (mat[linha][coluna] == 1):
                cont = cont+1
                break
    return (cont)
12
Heurísticas utilizadas - Descrição de cada heurística

(2) – Verifica as luzes acessas na matriz: O algoritmo percorre toda a matriz


verificando o número de valores 1 (referente as luzes acessas), aqui não há a
presença de uma condição de parada, isto porque o algoritmo deve percorrer
toda a matriz.
def heuristica2(mat):
    global tam
    cont = 0
    for linha in range(tam):
        for coluna in range(tam):
            if (mat[linha][coluna] == 1):
                cont = cont+1
    return (cont)
13
Resultados
Versão: Matriz Fixada – matriz 5x5

26 embaralhamentos

1 1 0 0 0
0 1 0 1 1
0 0 1 0 1
0 0 0 0 0
0 1 1 1 1

14
Resultados - Custo e Quantidade de estados expandidos

P/ Heurística 1:

A* Custo Gulosa

Custo: - - 16

Q exp: - - 3685

15
Resultados – Relação ao tempo

P/ Heurística 1:

A* Custo Gulosa

Tempo em - - 90.1806385517
segundos: 1204

16
Resultados - Custo e Quantidade de estados expandidos

P/ Heurística 2:

A* Custo Gulosa

Custo: 10 - 32

Q exp: 2936 - 921

17
Resultados – Relação ao tempo

P/ Heurística 2:

A* Custo Gulosa

Tempo em 98.9763884544 - 7.56857109069


segundos: 3726 8242

18
Resultados
Versão: Matriz Fixada – matriz 4x4

26 embaralhamentos

1 1 0 0
1 1 1 1
0 1 1 0
0 1 0 1

19
Resultados - Custo e Quantidade de estados expandidos

P/ Heurística 1:

A* Custo Gulosa

Custo: 6 6 6

Q exp: 953 3973 12

20
Resultados – Relação ao tempo

P/ Heurística 1:

A* Custo Gulosa

Tempo em 7.19381904602 198.672345876 0.22031354904


segundos: 0508 69373 174805

21
Resultados - Custo e Quantidade de estados expandidos

P/ Heurística 2:

A* Custo Gulosa

Custo: 6 6 8

Q exp: 79 3973 19

22
Resultados – Relação ao tempo

P/ Heurística 2:

A* Custo Gulosa

Tempo em 0.31156873703 204.477072000 0.23523616790


segundos: 00293 50354 771484

23
Resultados – Gráfico de Custo matriz 4x4
Comparação de Custo
9

0
A* Custo Gulosa

Custo 1: Custo 2:

24
Resultados – Gráfico de expansões matriz 4x4

25
Conclusão
Percebemos que com a busca gulosa teremos o menor número de estados
expandidos, e que a busca baseada em custo pode se tornar interessante quando
desejamos ter o menor custo, entretanto, percebemos que obter o menor custo
resulta em um maior tempo de execução do código.
Percebemos a relevância da heurística aplicada, pois uma boa heurística
resultará em melhores resultados.
Outra observação importante é referente a melhoria no tempo de execução
utilizando-se de uma Hast table, que em linhas gerais a tabela é fragmentada em
várias tabelas, no código utilizamos uma fragmentação de 10000

26

Você também pode gostar