(
b) Realize uma busca utilizando o algoritmo A* para encontrar o melhor caminho para
chegar a estação E7 partindo da estação E13. Construa a árvore de busca criada pela
execução do algoritmo apresentando os valores de f(n), g(n) e h(n) para cada nó.
6
. Problema SAT: seja x = (x1, x2,..., xn) um vetor de n variáveis booleanas (i.e. cada variável xi
assume um dos valores em {0,1}). Seja f(x) = [c1(x) ∧ c2(x) ∧,..., ∧ cm(x)] uma fórmula normal
conjuntiva com m cláusulas, onde cada cláusula cj(x) é uma disjunção de literais, e um
literal é uma das variáveis booleanas ou sua negação.
Por exemplo, considere um vetor com três variáveis x = (x1, x2, x3). Um exemplo de fórmula
normal conjuntiva seria:
f(x) = [(x1)∧ (¬x2) ∧ (x2 ∨ ¬x3) ∧ (x1 ∨ ¬x3)]
Composta pelas seguintes cláusulas:
c1(x) = (x1)
c2(x) = (¬x2)
c3(x) = (x2 ∨ ¬x3)
c4(x) = (x1 ∨ ¬x3)
Uma fórmula é dita satisfatível quando existe uma atribuição de valores para (x1, x2,..., xn)
tal que todas as cláusulas da fórmula sejam satisfeitas, isto é, cj(x) = 1 para j=1,...,m. No
exemplo acima, f(x) é satisfatível e x = (1, 0, 0) é uma possível atribuição de valores para as
variáveis x1, x2 e x3 que tornam verdadeiras todas as quatro cláusulas da fórmula.
O problema SAT consiste em: dada uma fórmula, responder se a fórmula é satisfatível ou
não. Encontrar uma atribuição de valores que satisfaçam uma dada fórmula é uma tarefa
que pode ser formulada como um problema de busca. Assim, para um conjunto qualquer
de variáveis x = (x1, x2,..., xn) e uma dada fórmula f(x) = [c1(x) ∧ c2(x) ∧,..., ∧ cm(x)], proponha
uma solução para o problema SAT como Algoritmos Genéticos.
Para isso, use o seguinte caso base:
(¬x ∨ ¬z ∨ y) ∧ (¬y ∨ z) ∧ (x ∨ ¬z) ∧ (y) ∧ (¬y ∨ ¬x ∨ ¬w ∨ z)
(
(
(
(
(
(
a) Proponha uma maneira de codificar os cromossomos.
b) Defina uma função de aptidão para avaliar a qualidade dos cromossomos.
c) Defina como o método de seleção dos pais será utilizado.
d) Defina os operadores genéticos de recombinação e mutação.
e) Gere uma população inicial de 4 cromossomos e avalie a aptidão deles.
f) Aplique os operadores de recombinação e mutação sobre essa população para
gerar uma nova geração, em seguida avalie a aptidão da nova geração. Repita esse
processo por 8 gerações ou até que a solução do problema seja encontrada.