Inteligencia Artificial Técnicas de Filtro y Consistencia

Anuncio
Filtrado
Consistencia
Consistencia de Nodos
Consistencia de Arcos
Consistencia de Caminos
K-consistencia
Consideraciones Importantes
Filtrado
Consistencia
Consistencia de Nodos
Consistencia de Arcos
Consistencia de Caminos
K-consistencia
Consideraciones Importantes
Inteligencia Artificial
Técnicas de Filtro y Consistencia
1
Filtrado
2
Consistencia
3
Consistencia de Nodos
4
Consistencia de Arcos
Algoritmo AC-1
Algoritmo AC-3
Observaciones
5
Consistencia de Caminos
6
K-consistencia
7
Consideraciones Importantes
Elizabeth Montero Ureta
Departamento de Informática
Universidad Técnica Federico Santa Marı́a
Campus Santiago
1er Semestre 2009
1/19
Filtrado
Consistencia
Consistencia de Nodos
Consistencia de Arcos
Consistencia de Caminos
K-consistencia
Consideraciones Importantes
Filtrado
Consistencia
Consistencia de Nodos
Consistencia de Arcos
Consistencia de Caminos
K-consistencia
Consideraciones Importantes
Filtrado: Definición
Consistencia: Definición
Proceso de filtrado:
1
2
2/19
Consistencia/Coherencia
Transforma un problema P en P 0
Elimina los elementos que, con seguridad, no pueden ser parte de la
solución
Grado de compatibilidad entre los valores de los dominios y las
restricciones
Niveles de consistencia
Propiedades:
Consistencia Local (Inicial):
Consistencia de Arcos, Consistencia de Caminos, K-consistencia
Consistencia Global (Resolver!)
Simplificación del problema por reducción del espacio de búsqueda
El problema reducido (P 0 ) es equivalente al problema original (P)
A veces detecta ausencia de solución
3/19
4/19
Filtrado
Consistencia
Consistencia de Nodos
Consistencia de Arcos
Consistencia de Caminos
K-consistencia
Consideraciones Importantes
Filtrado
Consistencia
Consistencia de Nodos
Consistencia de Arcos
Consistencia de Caminos
K-consistencia
Consideraciones Importantes
Consistencia de Nodos
Algoritmo AC-1
Algoritmo AC-3
Observaciones
Consistencia de Arcos
Algoritmo de consistencia de nodos
Definición:
Una variable i es arco-consistente ssi:
∀a ∈ Di , ∀j ∈ V conectado a i,
∃b ∈ Dj tal que (a, b) ∈ Rij
Begin /* Procedimiento NC(i) */
Di ← Di ∩ {x \ Pi (x)}
For i:=1 To n Do NC(i)
End
Un problema es arco-consistente si todas sus variables son
arco-consistentes
La complejidad de NC () es O(n), lineal con respecto a las variables
Filtro por consistencia de arco:
Eliminar todos los valores que no cumplen con la propiedad.
5/19
Filtrado
Consistencia
Consistencia de Nodos
Consistencia de Arcos
Consistencia de Caminos
K-consistencia
Consideraciones Importantes
6/19
Filtrado
Consistencia
Consistencia de Nodos
Consistencia de Arcos
Consistencia de Caminos
K-consistencia
Consideraciones Importantes
Algoritmo AC-1
Algoritmo AC-3
Observaciones
Consistencia de Arcos
Algoritmo AC-1
Algoritmo AC-3
Observaciones
Procedimiento REVISE
procedure REVISE (Vi , Vj )
DELETE ← false;
for each X in Di do;
if there is no such Y in Dj such that (X , Y ) is consistent then
delete X from Di ;
DELETE ← true;
end if;
end for;
return DELETE;
end REVISE
Para establecer la consistencia de arcos, se propagan las reducciones
de dominios hasta obtener un punto fijo
Un valor es viable si posee un valor compatible dentro de los
dominios de las variables unidas por una restricción
Un valor que no es viable será eliminado del dominio de una variable
7/19
8/19
Filtrado
Consistencia
Consistencia de Nodos
Consistencia de Arcos
Consistencia de Caminos
K-consistencia
Consideraciones Importantes
Filtrado
Consistencia
Consistencia de Nodos
Consistencia de Arcos
Consistencia de Caminos
K-consistencia
Consideraciones Importantes
Algoritmo AC-1
Algoritmo AC-3
Observaciones
Algoritmo AC-1
Algoritmo AC-1
Algoritmo AC-3
Observaciones
Algoritmo AC-3
procedure AC-1
Q ← {(Vi , Vj ) in arcs(G ), i 6= j};
repeat
CHANGE ← false;
for each (Vi , Vj ) in Q do
CHANGE ← REVISE (Vi , Vj ) or CHANGE;
end for
until not(CHANGE)
end AC-1
procedure AC-3
Q ← {(Vi , Vj ) in arcs(G ), i 6= j};
while not Q empty
select and delete any arc (Vk , Vm ) from Q;
if REVISE (Vk , Vm ) then
Q ← Q union {(Vi , Vk ) such that (Vi , Vk ) in arcs(G ), i 6= k, i 6= m}
en dif
end while
end AC-3
9/19
Filtrado
Consistencia
Consistencia de Nodos
Consistencia de Arcos
Consistencia de Caminos
K-consistencia
Consideraciones Importantes
10/19
Filtrado
Consistencia
Consistencia de Nodos
Consistencia de Arcos
Consistencia de Caminos
K-consistencia
Consideraciones Importantes
Algoritmo AC-1
Algoritmo AC-3
Observaciones
Observaciones sobre filtrado por consistencia de arcos
Algoritmo AC-1
Algoritmo AC-3
Observaciones
Ejemplo:
El algoritmo AC-3 no es caro
Es simple de implementar
Existe AC-5 que es menor en complejidad pero requiere
caracterı́sticas de biyección y monoticidad. Estas herramientas son
utilizadas por softwares actuales.
11/19
12/19
Filtrado
Consistencia
Consistencia de Nodos
Consistencia de Arcos
Consistencia de Caminos
K-consistencia
Consideraciones Importantes
Filtrado
Consistencia
Consistencia de Nodos
Consistencia de Arcos
Consistencia de Caminos
K-consistencia
Consideraciones Importantes
Filtrado por consistencia de CAMINOS
Ejemplo:
Un par de variables (i, j) es trayectoria consistente ssi:
∀(a, b) ∈ Di × Dj , ∀k ∈ V conectada a i y j, ∃c ∈ Dk , (a, c) ∈ Rik y
(b, c) ∈ Rkj
Un problema es camino consistente ssi:
Todos los pares de variables son camino consistentes.
Filtrado por consistencia de caminos:
Eliminar todos los pares de valores que no cumplan la propiedad.
El algoritmo empieza a ser caro
Complejidad es O(n3 d 5 ) para PC 2 (Mackworth,77)
Complejidad es O(n3 d 3 ) para PC 3 (Mohr, 86)
Es más complejo de implementar que AC
Su aplicación puede agregar restricciones al grafo cambiando la
topologı́a
Conclusión: Poco utilizado.
13/19
14/19
Filtrado
Consistencia
Consistencia de Nodos
Consistencia de Arcos
Consistencia de Caminos
K-consistencia
Consideraciones Importantes
Filtrado
Consistencia
Consistencia de Nodos
Consistencia de Arcos
Consistencia de Caminos
K-consistencia
Consideraciones Importantes
Acerca de la k consistencia
Modelización Coloreo de grafos I
Suponga que desea colorear un automóvil, cuyas partes son:
Parachoques
Techo
Alerones
Carrocerı́a
Puertas
Capot
k-consistencia: Consistencia entre k nodos
Nodo consistencia: Consistencia de 1 nodo
Se tiene un conjunto de colores disponibles para colorear dicho
automóvil
Arco consistencia: Consistencia entre 2 nodos
Blanco
Rosado
Rojo
Negro
Sea A / B A es más claro que B, entonces:
Blanco / Rosado, Rosado / Rojo y Rojo / Negro.
15/19
16/19
Filtrado
Consistencia
Consistencia de Nodos
Consistencia de Arcos
Consistencia de Caminos
K-consistencia
Consideraciones Importantes
Filtrado
Consistencia
Consistencia de Nodos
Consistencia de Arcos
Consistencia de Caminos
K-consistencia
Consideraciones Importantes
Modelización Coloreo de grafos II
Ejemplo:
Considere las siguientes restricciones
El parachoques debe ser blanco
El techo debe ser rojo
Los alerones no pueden ser blancos ni negros
La carrocerı́a, las puertas y el capot deben ser del mismo color
El parachoques, el techo y los alerones deben ser más claros que la
carrocerı́a
17/19
Filtrado
Consistencia
Consistencia de Nodos
Consistencia de Arcos
Consistencia de Caminos
K-consistencia
Consideraciones Importantes
Consideraciones Importantes
Si un problema tiene solución, entonces ¿Es Arco-consistente?
Si un problema es Arco-consistente, entonces ¿Tiene solución?
Si un problema es Arco-consistente, y todas las variables tienen un
sólo valor posible en el dominio, entonces ¿El problema tiene
solución?
Si un problema es k-consistente, entonces ¿Tiene solución?
19/19
18/19
Descargar