IA-cap5

59
Inteligencia Artificial PRI reprime a la juventud michoacana. Dr. Ivo H. Pineda Torres Facultad de Ciencias de la Computación Benemérita Universidad Autónoma de Puebla Otoño 2012

Transcript of IA-cap5

Page 1: IA-cap5

Inteligencia ArtificialPRI reprime a la juventud michoacana.

Dr. Ivo H. Pineda Torres

Facultad de Ciencias de la ComputaciónBenemérita Universidad Autónoma de

Puebla

Otoño 2012

Page 2: IA-cap5

/IMAGENES/Morena

Problemas de Satisfacción de RestriccionesBibliografía:� Revisar la sección de la página del curso correspondiente a

/PRIMAVERA− 2012/capitulo − 5� antología CSP� Libro de texto

2 of 46

/IMAGENES/Morena

Page 3: IA-cap5

/IMAGENES/Morena

Problemas de Satisfacción de RestriccionesTemas 5.1 al 5.5Recuerda como se definen los problemas tipo PSR

En donde veremos cómo el tratar los estados como más que sólopequeñas cajas negras conduce a la invención de una variedad denuevos poderosos métodos de búsqueda y a un entendimiento másprofundo de la estructura y complejidad del problema.Los estados seevalúan con heurísticas específicas del dominio y probados para ver sison estados objetivo ahora NO .

3 of 46

/IMAGENES/Morena

Page 4: IA-cap5

/IMAGENES/Morena

Problemas de Satisfacción de RestriccionesTemas 5.1 al 5.5Recuerda como se definen los problemas tipo PSREn donde veremos cómo el tratar los estados como más que sólopequeñas cajas negras conduce a la invención de una variedad denuevos poderosos métodos de búsqueda y a un entendimiento másprofundo de la estructura y complejidad del problema.

Los estados seevalúan con heurísticas específicas del dominio y probados para ver sison estados objetivo ahora NO .

3 of 46

/IMAGENES/Morena

Page 5: IA-cap5

/IMAGENES/Morena

Problemas de Satisfacción de RestriccionesTemas 5.1 al 5.5Recuerda como se definen los problemas tipo PSREn donde veremos cómo el tratar los estados como más que sólopequeñas cajas negras conduce a la invención de una variedad denuevos poderosos métodos de búsqueda y a un entendimiento másprofundo de la estructura y complejidad del problema.Los estados seevalúan con heurísticas específicas del dominio y probados para ver sison estados objetivo ahora NO .

3 of 46

/IMAGENES/Morena

Page 6: IA-cap5

/IMAGENES/Morena

blackboxLos estados serán cajas negras sin la estructura perceptible interna.Es bastante fácil ver que a un PSR se le puede dar una formulaciónincremental como en un problema de búsqueda estándar:� Estado inicial: la asignación vacía { }, en la que todas las variablesno están asignadas.

� Función de sucesor: un valor se puede asignar a cualquier variableno asignada,a condición de que no suponga ningún conflicto convariables antes asignadas.

� Test objetivo: la asignación actual es completa.� Costo del camino: un coste constante (por ejemplo, 1) para cadapaso.

4 of 46

/IMAGENES/Morena

Page 7: IA-cap5

/IMAGENES/Morena

Arbol de búsqueda caso colorear mapa

5 of 46

/IMAGENES/Morena

Page 8: IA-cap5

/IMAGENES/Morena

al ver este árbol tenemos� El conjunto formado por todas las posibles asignaciones de un PSRse representa mediante un árbol de búsqueda.

� En cada nivel se asigna un valor a una variable, y los sucesores deun nodo son todos los valores de la variable asociada a este nivel.

� Cada camino del nodo raíz a un nodo terminal representa unaasignación completa.

� Los algoritmos se diferencian en cómo recorren el árbol debúsqueda a la hora de encontrar soluciones: búsqueda hacia atrás,salta hacia atrás, salta hacia atrás directo a conflicto, etc.

6 of 46

/IMAGENES/Morena

Page 9: IA-cap5

/IMAGENES/Morena

Un grafo presente!!!!QUE HERMOSO ES PODER CONTAR CON ELLOS, NO TE DAGUSTO?

7 of 46

/IMAGENES/Morena

Page 10: IA-cap5

/IMAGENES/Morena

Tipos de problemas� Satisfacción de restricciones: Problemas con dominios finitos.� Resolución de restricciones: Problemas con dominios infinitos.

8 of 46

/IMAGENES/Morena

Page 11: IA-cap5

/IMAGENES/Morena

Conceptos involucradosCap.10 libro CSP(ANTOLOGÍA csp)1 La modelización del problema, que permite representar un

problema mediante un conjunto finito de variables, un dominio devalores finito para cada variable y un conjunto de restricciones queacotan las combinaciones válidas de valores que las variablespueden tomar. En la modelización CSP, es fundamental lacapacidad expresiva, a fin de poder captar todos los aspectossignificativos del problema a modelar.

2 Técnicas inferenciales que permiten deducir nueva informaciónsobre el problema a partir de la explícitamente representada. Estastécnicas también permiten acotar y hacer más eficiente el procesode búsqueda de soluciones.

9 of 46

/IMAGENES/Morena

Page 12: IA-cap5

/IMAGENES/Morena

cont.1 Técnicas de búsqueda de la solución, apoyadas generalmente por

criterios heurísticos, bien dependientes o independientes deldominio. El objetivo es encontrar un valor para cada variable delproblema de manera que se satisfagan todas las restricciones delproblema. En general, la obtención de soluciones en un CSP esNP-completo, mientras que la obtención de soluciones optimizadases NP-duro, no existiendo forma de verificar la optimalidad de lasolución en tiempo polinomial. Por ello, se requiere una graneficiencia en los procesos de búsqueda.

10 of 46

/IMAGENES/Morena

Page 13: IA-cap5

/IMAGENES/Morena

Modelado de un problema PSR o CSPEl primer paso en la resolución de un CSP es su modelización.Respecto a la modelización de un problema CSP hay dos aspectosbásicos:� La potencia expresiva de las restricciones, es decir, la capacidad demodelar las restricciones realmente existentes en el problema real.

� La eficiencia de la representación, ya que dependiendo de lamodelización CSP, el problema se resolverá con más o menoseficiencia.

11 of 46

/IMAGENES/Morena

Page 14: IA-cap5

/IMAGENES/Morena

Ejemplo: caso colorear mapaSea el siguiente mapa:

Variables: {x , y , z , w} una por regiónDominio: {rojo, Verde, Azul} Es únicoRestricciones: {x 6= y , x 6= w , x 6= z , y 6= w , w 6= z} Indicadas por lasaristasSolución: {(x , r), (y , v), (z , v), (w , a)}

12 of 46

/IMAGENES/Morena

Page 15: IA-cap5

/IMAGENES/Morena

Ejemplo: CriptografíaAsignar a cada letra {s, e, n, d , m, o, r , y} un dígito del conjunto{0.., 9} de manera que satisfaga: send+more=money

s e n d+ m o r e−−−−−−m o n e y

Modelización:Restricciones:103(s+m)+102(e+o)+10(n+r)+d+e = 104m+103o+102n+10e+yRestricciones todas diferentes": 6= {s, e, n, d , m, o, r , y}La restricción todas diferentes puede reemplazarse por un conjunto derestricciones binarias: {s 6= e, s 6= n, ..., r 6= y}

13 of 46

/IMAGENES/Morena

Page 16: IA-cap5

/IMAGENES/Morena

Ejemplo: CriptografíaAsignar a cada letra {s, e, n, d , m, o, r , y} un dígito del conjunto{0.., 9} de manera que satisfaga: send+more=money

s e n d+ m o r e−−−−−−m o n e y

Modelización:Restricciones:103(s+m)+102(e+o)+10(n+r)+d+e = 104m+103o+102n+10e+yRestricciones todas diferentes": 6= {s, e, n, d , m, o, r , y}La restricción todas diferentes puede reemplazarse por un conjunto derestricciones binarias: {s 6= e, s 6= n, ..., r 6= y}

13 of 46

/IMAGENES/Morena

Page 17: IA-cap5

/IMAGENES/Morena

Ejemplo: n reinas tablero de ajedrez� Variables {xi}, i = 1, ..N� Dominio={1, 2, 3, 4, 5, N}� Restricciones: (∀xi , xj , i 6= j)

� xi 6= xj ,No en la misma fila� xi − xj 6= i − j ,No en la misma diagonal SE� xj − xi 6= i − j ,No en la misma diagonal SO

14 of 46

/IMAGENES/Morena

Page 18: IA-cap5

/IMAGENES/Morena

Daniel se dió cuenta de que algo andaba mal!!!Caso particular N=4� |x1 − x2| 6= 1� |x1 − x3! 6= 2� |x1 − x4| 6= 3� |x2 − x3| 6= 1� |x2 − x4| 6= 2� |x3 − x4| 6= 1� 6= (x1, x2, x3, x4)

15 of 46

/IMAGENES/Morena

Page 19: IA-cap5

/IMAGENES/Morena

Entonces tenemosLa resolución de un Problema de Satisfacción de Restricciones constade dos fases:1 Modelar el problema como uno de satisfacción de restricciones. La

modelación expresa el problema mediante un conjunto de variables,dominios y restricciones del PSR.

2 Procesar el problema de satisfacción de restricciones resultante,para lo que hay dos formas.

y aplicamos :Técnicas de consistencia . Basadas en la eliminación de valores

inconsistentes de los dominios de las variables, engeneral se combinan con las técnicas de búsqueda, yaque reducen el espacio de soluciones .

Algoritmos de búsqueda . Se basan en la exploración sistemática delespacio de soluciones hasta encontrar una solución oprobar que no existe alguna.16 of 46

/IMAGENES/Morena

Page 20: IA-cap5

/IMAGENES/Morena

Backtraking: Búsqueda con vuelta hacia atrás oBacktracking Cronológico

Cada solución debe ser una asignación completa y por lo tantoaparecen a profundidad n si hay n variables. Además, el árbol debúsqueda se extiende sólo a profundidad n. Por este motivo losalgoritmos en búsqueda en profundidad son populares para PSR.

El término Búsqueda hacia atrás se utiliza para la búsqueda primeroen profundidad que elige valores para una variablea la vez y vuevlehacia atrás cuando una variable no tiene ningún valor legal paraasignarle

17 of 46

/IMAGENES/Morena

Page 21: IA-cap5

/IMAGENES/Morena

Funcionamiento Básico de BacktrackingBúsqueda primero en profundidad.Recursivo

18 of 46

/IMAGENES/Morena

Page 22: IA-cap5

/IMAGENES/Morena

Generar y probarGenerar y Testear (GT): Este método genera las posibles tuplas deinstanciación de todas las variables de forma sistemática y despuésprueba sucesivamente sobre cada instanciación si se satisfacen todaslas restricciones del problema.La primera combinación que satisfaga todas las restricciones, será lasolución al problema. Mediante este procedimiento, el número decombinaciones generado por este método es el Producto Cartesianode la cardinalidad de los dominios de las variable Πi=1..ndi . Se realizanmuchas instanciaciones.

19 of 46

/IMAGENES/Morena

Page 23: IA-cap5

/IMAGENES/Morena

Preguntas para este tipo de problemas

1 ¿Qué variable debe asignarse después, y en qué orden deberíanintentarse sus valores?

2 ¿Cuáles son las las implicaciones de las asignaciones de lasvariables actuales para las otras variables no asignadas?

3 ¿Cuándo un camino falla, es decir, un estado alcanzado en el queuna variable no tiene ningún valor legal, ¿puede la búsqueda evitarrepetir este fracaso en caminos siguientes?

20 of 46

/IMAGENES/Morena

Page 24: IA-cap5

/IMAGENES/Morena

Preguntas para este tipo de problemasEsto nos lleva a considerar varias heurísticas que ayudan a resolver elproblema:

� Mínimos Valores Restantes� Grado Heurístico� Valor Menos Restringido� Propagando las Restricciones� Consistencia de arcos

21 of 46

/IMAGENES/Morena

Page 25: IA-cap5

/IMAGENES/Morena

Mínimos Valores Restantes(MVR)Se escoge la variable con el menor número de valores posibles, laheurística del mínimo de los valores restantes (MVR) o la variablemás restringida o la heurística del primero que falla.

Si hay una variable X con cero valores válidos, la heurística MVRseleccionará a X y la falla se detectará enseguida. Evitando búsquedasen otras variables que siempre fallarán cuando X sea seleccionada.Evitando búsquedas en otras variables que siempre fallarán cuando Xsea seleccionada. La heurística MVR no ayuda a escoger el primerestado a colorear.

22 of 46

/IMAGENES/Morena

Page 26: IA-cap5

/IMAGENES/Morena

Mínimos Valores Restantes(MVR)Se escoge la variable con el menor número de valores posibles, laheurística del mínimo de los valores restantes (MVR) o la variablemás restringida o la heurística del primero que falla.Si hay una variable X con cero valores válidos, la heurística MVRseleccionará a X y la falla se detectará enseguida. Evitando búsquedasen otras variables que siempre fallarán cuando X sea seleccionada.

Evitando búsquedas en otras variables que siempre fallarán cuando Xsea seleccionada. La heurística MVR no ayuda a escoger el primerestado a colorear.

22 of 46

/IMAGENES/Morena

Page 27: IA-cap5

/IMAGENES/Morena

Mínimos Valores Restantes(MVR)Se escoge la variable con el menor número de valores posibles, laheurística del mínimo de los valores restantes (MVR) o la variablemás restringida o la heurística del primero que falla.Si hay una variable X con cero valores válidos, la heurística MVRseleccionará a X y la falla se detectará enseguida. Evitando búsquedasen otras variables que siempre fallarán cuando X sea seleccionada.Evitando búsquedas en otras variables que siempre fallarán cuando Xsea seleccionada. La heurística MVR no ayuda a escoger el primerestado a colorear.

22 of 46

/IMAGENES/Morena

Page 28: IA-cap5

/IMAGENES/Morena

Grado Heurístico

Intenta reducir el factor de ramificación en selecciones futurasescogiendo la variable que está involucrada en el mayor número derestricciones sobre otras variables no asignadas. no ayuda en que colorelegir primero. Util en casos de empate.

23 of 46

/IMAGENES/Morena

Page 29: IA-cap5

/IMAGENES/Morena

Valor menos restringido1 Una vez seleccionada una variable debe decidirse un orden para

examinar sus valores.2 Heurística del valor menos restringido: se prefiere el valor que

excluye el menor número de restricciones en las variables vecinasdel grafo.

24 of 46

/IMAGENES/Morena

Page 30: IA-cap5

/IMAGENES/Morena

Valor menos restringido

25 of 46

/IMAGENES/Morena

Page 31: IA-cap5

/IMAGENES/Morena

Valor menos restringidoEjemplo. Suponer que se ha generado la asignación parcial Nay =rojo, Zac = verde y que la siguiente selección es para Gto, azul seríauna mala selección porque elimina el último valor válido para el vecinoJal; por lo tanto la heurística del valor menos restringido prefiere elrojo al azul.

26 of 46

/IMAGENES/Morena

Page 32: IA-cap5

/IMAGENES/Morena

Propagación de información através de restriccionesHasta ahora el algoritmo de búsqueda considera las restricciones sobreuna variable solo en el momento en que ésta es escogida porSeleccionar-Variable-no-asignada; pero mirando antes en algunasrestricciones de la búsqueda o aún antes de que ésta haya empezado,se puede reducir drásticamente el espacio de búsqueda. Una forma dehacer mejor uso de las restricciones durante la búsqueda se llamainspección hacia delante.

27 of 46

/IMAGENES/Morena

Page 33: IA-cap5

/IMAGENES/Morena

Mapa Mexico: Inspección hacia adelanteSiempre que una variable X es asignada, el proceso de inspecciónhacia delante mira a cada variable Y no asignada que está conectadaa X por una restricción y borra del dominio de Y cualquier valor quees inconsistente para el valor escogido para X.

28 of 46

/IMAGENES/Morena

Page 34: IA-cap5

/IMAGENES/Morena

Mapa Mexico .Hacia adelante

29 of 46

/IMAGENES/Morena

Page 35: IA-cap5

/IMAGENES/Morena

Que observarMínimo ValorHay dos puntos importantes a notar en este ejemplo:

Primero, después de asignar Nay = rojo y Gto = verde los dominiosde Zac y Jal son reducidos a un solo valor, se ha eliminado laramificación de estas variables juntas propagando información desdeNay y Gto. La heurística MVR que es un medio natural parainspeccionar hacia delante, seleccionará automáticamente Jal y Zacenseguida.Segundo después de que Col = azul el dominio de Jal está vacío, así,inspeccionando hacia delante ha detectado que la asignaciónparcial{Nay = rojo, Gto = verde, Col=azul} es inconsistente conlas restricciones del problema y el algoritmo regresará inmediatamente.

30 of 46

/IMAGENES/Morena

Page 36: IA-cap5

/IMAGENES/Morena

Que observarMínimo ValorHay dos puntos importantes a notar en este ejemplo:Primero, después de asignar Nay = rojo y Gto = verde los dominiosde Zac y Jal son reducidos a un solo valor, se ha eliminado laramificación de estas variables juntas propagando información desdeNay y Gto. La heurística MVR que es un medio natural parainspeccionar hacia delante, seleccionará automáticamente Jal y Zacenseguida.

Segundo después de que Col = azul el dominio de Jal está vacío, así,inspeccionando hacia delante ha detectado que la asignaciónparcial{Nay = rojo, Gto = verde, Col=azul} es inconsistente conlas restricciones del problema y el algoritmo regresará inmediatamente.

30 of 46

/IMAGENES/Morena

Page 37: IA-cap5

/IMAGENES/Morena

Que observarMínimo ValorHay dos puntos importantes a notar en este ejemplo:Primero, después de asignar Nay = rojo y Gto = verde los dominiosde Zac y Jal son reducidos a un solo valor, se ha eliminado laramificación de estas variables juntas propagando información desdeNay y Gto. La heurística MVR que es un medio natural parainspeccionar hacia delante, seleccionará automáticamente Jal y Zacenseguida.Segundo después de que Col = azul el dominio de Jal está vacío, así,inspeccionando hacia delante ha detectado que la asignaciónparcial{Nay = rojo, Gto = verde, Col=azul} es inconsistente conlas restricciones del problema y el algoritmo regresará inmediatamente.

30 of 46

/IMAGENES/Morena

Page 38: IA-cap5

/IMAGENES/Morena

Propagación de RestriccionesAunque inspeccionado hacia delante detecta inconsistencias, nodetecta a todas.

Ejemplo, el cuarto renglón de la tabla muestra que cuando Nay=rojoy Gto = verde, Zac y Jal son forzados a ser ambos azules, pero sonadyacentes y por lo tanto no pueden tener el mismo color. Estainconsistencia no es detectada porque no mira suficientemente lejos.Propagación de restricciones es el término general parapropagar la implicación de una restricción para una variablesobre las otras.En este caso se necesita propagar desde Nay y Gto sobre Zac y Jal ydespués sobre la restricción de Zac y Jal para detectar lainconsistencia.

31 of 46

/IMAGENES/Morena

Page 39: IA-cap5

/IMAGENES/Morena

Propagación de RestriccionesAunque inspeccionado hacia delante detecta inconsistencias, nodetecta a todas.Ejemplo, el cuarto renglón de la tabla muestra que cuando Nay=rojoy Gto = verde, Zac y Jal son forzados a ser ambos azules, pero sonadyacentes y por lo tanto no pueden tener el mismo color. Estainconsistencia no es detectada porque no mira suficientemente lejos.

Propagación de restricciones es el término general parapropagar la implicación de una restricción para una variablesobre las otras.En este caso se necesita propagar desde Nay y Gto sobre Zac y Jal ydespués sobre la restricción de Zac y Jal para detectar lainconsistencia.

31 of 46

/IMAGENES/Morena

Page 40: IA-cap5

/IMAGENES/Morena

Propagación de RestriccionesAunque inspeccionado hacia delante detecta inconsistencias, nodetecta a todas.Ejemplo, el cuarto renglón de la tabla muestra que cuando Nay=rojoy Gto = verde, Zac y Jal son forzados a ser ambos azules, pero sonadyacentes y por lo tanto no pueden tener el mismo color. Estainconsistencia no es detectada porque no mira suficientemente lejos.Propagación de restricciones es el término general parapropagar la implicación de una restricción para una variablesobre las otras.En este caso se necesita propagar desde Nay y Gto sobre Zac y Jal ydespués sobre la restricción de Zac y Jal para detectar lainconsistencia.

31 of 46

/IMAGENES/Morena

Page 41: IA-cap5

/IMAGENES/Morena

cont.La idea de consistencia de arcos proporciona un método rápido depropagación de restricciones que es más fuerte que inspección haciadelante.

Dados los dominios actuales de Jal y Mich, el arco esconsistente para cada valor x de Jal, hay algún valor y de Mich que esconsistente con x. En el cuarto renglón de la tabla los dominios de Jaly Mich son {azul} y {rojo, azul} respectivamente.

32 of 46

/IMAGENES/Morena

Page 42: IA-cap5

/IMAGENES/Morena

cont.La idea de consistencia de arcos proporciona un método rápido depropagación de restricciones que es más fuerte que inspección haciadelante.Dados los dominios actuales de Jal y Mich, el arco esconsistente para cada valor x de Jal, hay algún valor y de Mich que esconsistente con x. En el cuarto renglón de la tabla los dominios de Jaly Mich son {azul} y {rojo, azul} respectivamente.

32 of 46

/IMAGENES/Morena

Page 43: IA-cap5

/IMAGENES/Morena

conclusión consistencia de arcosPara Jal = azul, hay una asignación consistente para Mich=rojo;por lo tanto el arco de Jal a Mich es consistente. Por otro lado, elarco de Mich a Jal no es consistente.

También se puede aplicar consistencia de arcos al que va de Jal a Zacen la misma etapa en el proceso de búsqueda, el cuarto renglón de latabla muestra que ambas variables tienen dominio azul. El resultadoes que azul debe borrarse del dominio de Jal dejándolo vacío.

Aplicando la consistencia de arcos ha resultado en la deteccióntemprana de una inconsistencia que no es detectada por inspecciónhacia delante.

33 of 46

/IMAGENES/Morena

Page 44: IA-cap5

/IMAGENES/Morena

conclusión consistencia de arcosPara Jal = azul, hay una asignación consistente para Mich=rojo;por lo tanto el arco de Jal a Mich es consistente. Por otro lado, elarco de Mich a Jal no es consistente.También se puede aplicar consistencia de arcos al que va de Jal a Zacen la misma etapa en el proceso de búsqueda, el cuarto renglón de latabla muestra que ambas variables tienen dominio azul. El resultadoes que azul debe borrarse del dominio de Jal dejándolo vacío.

Aplicando la consistencia de arcos ha resultado en la deteccióntemprana de una inconsistencia que no es detectada por inspecciónhacia delante.

33 of 46

/IMAGENES/Morena

Page 45: IA-cap5

/IMAGENES/Morena

Consistencia de Arcos funciones

34 of 46

/IMAGENES/Morena

Page 46: IA-cap5

/IMAGENES/Morena

Remover inconsistencias

35 of 46

/IMAGENES/Morena

Page 47: IA-cap5

/IMAGENES/Morena

AnálisisCada arco (Xi , Xj) en su turno es retirado de la agenda einspeccionado, si es necesario borrar algunos valores del dominio de Xientonces cada arco (Xk , Xi )debe insertarse en la fila para inspección.

La complejidad de inspección de consistencia de arcos puedeanalizarse como sigue: un PSR binario tiene a lo más O(n2) aristas,cada arista (Xk , Xi ) puede ser incluida en la agenda sólo d vecesporque Xi tiene a lo más d valores para borrar.Verificar inconsistencia de una arista puede hacerse en un tiempoO(d2); por lo que el tiempo para el peor caso es O(n2d3).

Un PSR es k-consistente si para cada conjunto de k-1 variables y paracualquier asignación consistente a esas variables, siempre se puedeasignar un valor consistente a cualquier k-ésima variable

36 of 46

/IMAGENES/Morena

Page 48: IA-cap5

/IMAGENES/Morena

AnálisisCada arco (Xi , Xj) en su turno es retirado de la agenda einspeccionado, si es necesario borrar algunos valores del dominio de Xientonces cada arco (Xk , Xi )debe insertarse en la fila para inspección.La complejidad de inspección de consistencia de arcos puedeanalizarse como sigue: un PSR binario tiene a lo más O(n2) aristas,cada arista (Xk , Xi ) puede ser incluida en la agenda sólo d vecesporque Xi tiene a lo más d valores para borrar.

Verificar inconsistencia de una arista puede hacerse en un tiempoO(d2); por lo que el tiempo para el peor caso es O(n2d3).

Un PSR es k-consistente si para cada conjunto de k-1 variables y paracualquier asignación consistente a esas variables, siempre se puedeasignar un valor consistente a cualquier k-ésima variable

36 of 46

/IMAGENES/Morena

Page 49: IA-cap5

/IMAGENES/Morena

AnálisisCada arco (Xi , Xj) en su turno es retirado de la agenda einspeccionado, si es necesario borrar algunos valores del dominio de Xientonces cada arco (Xk , Xi )debe insertarse en la fila para inspección.La complejidad de inspección de consistencia de arcos puedeanalizarse como sigue: un PSR binario tiene a lo más O(n2) aristas,cada arista (Xk , Xi ) puede ser incluida en la agenda sólo d vecesporque Xi tiene a lo más d valores para borrar.Verificar inconsistencia de una arista puede hacerse en un tiempoO(d2); por lo que el tiempo para el peor caso es O(n2d3).

Un PSR es k-consistente si para cada conjunto de k-1 variables y paracualquier asignación consistente a esas variables, siempre se puedeasignar un valor consistente a cualquier k-ésima variable

36 of 46

/IMAGENES/Morena

Page 50: IA-cap5

/IMAGENES/Morena

conclusionesDebido a que el PSR incluye al 3SAT como un caso especial, no seespera encontrar un algoritmo polinomial que pueda decidir si un PSRes consistente.De aquí, se puede deducir que consistencia de arcos no revela cadainconsistencia.Ejemplo, la asignación parcial {Nay = rojo, Mich = rojo} esinconsistente pero el algoritmo no la revela. Se pueden definir formasde propagación más fuertes usando k-consistencia.

37 of 46

/IMAGENES/Morena

Page 51: IA-cap5

/IMAGENES/Morena

K-ConsistenteEjemplo, 1-consistencia significa que cada variable es consistente,2-consistencia es lo mismo que consistencia de arcos. 3-consistenciasignifica que cualquier par de variables adyacentes siempre se puedeampliar a una tercera variable vecina, esto también se llamaconsistencia de caminos.Una grafo es fuertemente k-consistente si es k-consistente,(k-1)-consistente,..., 1-consistente.En un problema de este tipo se puede encontrar una solución en untiempo O(nd).

38 of 46

/IMAGENES/Morena

Page 52: IA-cap5

/IMAGENES/Morena

másHay una gran diferencia entre n-consistencia y consistencia de arcos:usar verificación de consistencia fuerte puede tomar más tiempo perotendrá mayor efecto al reducir el factor de ramificación detectandoasignaciones parcialmente inconsistentes.

39 of 46

/IMAGENES/Morena

Page 53: IA-cap5

/IMAGENES/Morena

Manejo de Restricciones especialesCierto tipo de restricciones ocurre frecuentemente en problemas realesy pueden tratarse utilizando algoritmos con propósitos especiales queson más eficientes que los métodos de propósitos generales descritos.Por ejemplo, las restricciones todasdif dicen que todas las variablesconsideradas deben tener distintos valores.Una forma simple de detectar inconsistencia en estas restricciones esla siguiente:

si se consideran m variables en las restricciones y tienen n posiblesvalores distintos y m > n, entonces las restricciones no se puedensatisfacer.

40 of 46

/IMAGENES/Morena

Page 54: IA-cap5

/IMAGENES/Morena

Lo anterior da lugar a una forma de análisis oalgoritmo� Remover cualquier variable que tiene dominio con un elemento yborrarlo del dominio de las variables restantes.

� Repetir el paso anterior mientras haya variables que tienen dominiocon un elemento.

� Si en algún momento se produce un dominio vacío o hay másvariables que valores de dominio a retirar, entonces se ha detectadouna inconsistencia.

Se puede usar este método para detectar inconsistencia en laasignación parcial {Nay = rojo, Mich = rojo}, notar que las variablesJal, Zac y Gto están efectivamente conectadas por una restriccióntodasdif porque cada par debe ser de color diferente.

41 of 46

/IMAGENES/Morena

Page 55: IA-cap5

/IMAGENES/Morena

contDespués de aplicar CA en la asignación parcial, el dominio de cadavariable se reduce a {verde, azul}, i.e., se tienen tres variables y solohay dos colores, la restricción todasdif es violada. #54

42 of 46

/IMAGENES/Morena

Page 56: IA-cap5

/IMAGENES/Morena

ejemplo de Consistencia de ArcosTema-05.pdfPlanificación de las acciones de un robot (Poole, pag. 149): Un robotnecesita planificar cinco actividades (A, B, C, D y E), donde cadaactividad ha de comenzar en un momento en el tiempo (1, 2, 3, o 4)y dura exactamente una unidad de tiempo. Restricciones:� La actividad B no puede realizarse en el momento número 3.� La actividad C no puede realizarse en el momento número 2.� Las actividades A y B no pueden realizarse simultáneamente.� Las actividades B y C no pueden realizarse simultáneamente.� La actividad C ha de realizarse antes de la D.� Las actividades B y D no pueden realizarse simultáneamente.� Las actividades A y D han de realizarse simultáneamente.� La actividad E ha de ser la última.43 of 46

/IMAGENES/Morena

Page 57: IA-cap5

/IMAGENES/Morena

ejemplo de Consistencia de Arcos

44 of 46

/IMAGENES/Morena

Page 58: IA-cap5

/IMAGENES/Morena

ejemplo de Consistencia de Arcos

45 of 46

/IMAGENES/Morena

Page 59: IA-cap5

/IMAGENES/Morena

ejemplo de Consistencia de Arcos

Poole, D.; Mackworth, A. y Goebel, R. Computational Intelligence (ALogical Approach) (Oxford University Press, 1998) Cap. 4.7:Çonstraint Satisfaction Problems".

46 of 46

/IMAGENES/Morena