SlideShare une entreprise Scribd logo
1  sur  37
Télécharger pour lire hors ligne
Inteligencia Artificial (2006)



                       ´
Problemas de satisfaccion de restricciones (CSPs)
                   Cap´ıtulo 5




                             Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                                    o                             ıtulo 5   1
Aspectos a considerar
♦ Ejemplos de CSP
♦ B´squeda con Backtracking para CSPs
   u
♦ B´squeda Local para CSPs
   u




                                        Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                                               o                             ıtulo 5   2
Problema de satisfacci´n de restricciones (CSP)
                      o
En problemas de b´squeda est´ndar:
                  u           a
   cada estado es una “caja negra”—una estructura de datos arbitraria
      que soporta el test de objetivo, la funci´n heur´
                                               o      ıstica y la
      funci´n sucesor (rutinas espec´
           o                         ıficas del problema)
CSP:
  un estado es definido por variables Xi con valores de un dominio Di

   el test de objetivo es un conjunto de restricciones que especifican
       combinaciones permitidas de valores para subconjuntos de variables
Ejemplo simple de un lenguaje de representaci´n formal
                                             o
Permite utilizar algoritmos de prop´sito general con m´s poder
                                   o                  a
que los algoritmos de b´squeda est´ndard
                        u         a




                                           Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                                                  o                             ıtulo 5   3
Ejemplo: coloreado de mapa



                                 Northern
                                 Territory
                   Western                       Queensland
                   Australia

                                   South
                                   Australia
                                                     New South Wales


                                                  Victoria


                                                Tasmania
Variables W A, N T , Q, N SW , V , SA, T
Dominios Di = {red, green, blue}
Restricciones: las regiones adyacentes deben tener colores diferentes
   e.g., W A = N T (si el lenguaje lo permite), o
   (W A, N T ) ∈ {(red, green), (red, blue), (green, red), (green, blue), . . .}
                                               Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                                                      o                             ıtulo 5   4
Ejemplo: coloreado de mapa (cont)



                             Northern
                             Territory
                Western                      Queensland
                Australia

                               South
                               Australia
                                                 New South Wales


                                              Victoria


                                            Tasmania



Las soluciones son asignaciones que satisfacen todas las restricciones, e.g.,
{W A = red, N T = green, Q = red, N SW = green, V = red, SA = blue, T = green}

                                           Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                                                  o                             ıtulo 5   5
Definici´n formal de un CSP
                      o
Clase especial de problema, caracterizado por:

1. Un conjunto de variables X1, X2, . . . , Xn.
2. Por cada variable Xi, un dominio Di que especifica los valores posibles
   que la variable puede tomar.
3. Un conjunto de restricciones C1, C2, . . . , Cm, una funci´n de eva-
                                                             o
   luaci´n (o ambas)
        o




                                             Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                                                    o                             ıtulo 5   6
Definici´n formal de un CSP
                      o
Clase especial de problema, caracterizado por:

1. Un conjunto de variables X1, X2, . . . , Xn.
2. Por cada variable Xi, un dominio Di que especifica los valores posibles
   que la variable puede tomar.
3. Un conjunto de restricciones C1, C2, . . . , Cm, una funci´n de eva-
                                                             o
   luaci´n (o ambas)
        o

Soluci´n de un CSP: asignaci´n completa que satisface todas las restric-
      o                      o
ciones (consistente) y (opcionalmente) optimiza la funci´n de evaluaci´n
                                                        o             o




                                             Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                                                    o                             ıtulo 5   7
Grafo de restricci´n
                                        o
CSP binario: cada restricci´n relaciona a lo sumo dos variables
                           o
Grafo de restricci´n: nodos son variables, arcos muestran restricciones
                  o

                                    NT
                                                        Q
                      WA

                                     SA                      NSW


                                                    V
                                                Victoria




                                                      T


Los algoritmos de CSP de prop´sito general usan la estructura del grafo
                                o
para acelerar la b´squeda. E.g., Tasmania es un subproblema independiente!
                  u
                                             Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                                                    o                             ıtulo 5   8
Tipos de CSPs
Variables discretas
   dominios finitos; tama˜o d ⇒ O(dn) asignaciones completas
                          n
       ♦ e.g., CSPs Booleanos, incl. Satisfabilidad booleana (NP-completa)
   dominios infinitos (integers, strings, etc.)
       ♦ e.g., job scheduling, variables son d´ de inicio/fin de cada job
                                                ıas
       ♦ necesita un lenguaje de restricci´n, e.g., StartJob1+5 ≤ StartJob3
                                          o
       ♦ restricciones lineales son resolubles, no lineal no es decidible
Variables continuas
   ♦ e.g., tiempos de inicio/fin para las observaciones del Telescopio Hubble
   ♦ restricciones lineales se resuelven en tiempo pol. con m´todos de PL.
                                                               e




                                             Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                                                    o                             ıtulo 5   9
Tipos de restricciones
Restricciones unarias involucran una unica variable,
                                     ´
   e.g., SA = green
Restricciones binarias involucran pares de variables,
   e.g., SA = W A
Restricciones de orden m´s alto involucran 3 o m´s variables,
                          a                       a
   e.g., restricciones de columnas criptoaritm´ticas
                                              e
Restricciones de preferencias (restricciones blandas), e.g., red es mejor que
green
a menudo representables por un costo para cada asignaci´n de variable
                                                           o
   → problemas de optimizaci´n restringido
                                o




                                              Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                                                     o                             ıtulo 5   10
Ejemplo: Criptoaritm´tica
                                      e



        T WO                       F        T        U             W              R            O
      + T WO
      F O U R
                                       X3           X2                          X1

Variables: F T U W R O X1 X2 X3
Dominios: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
Restricciones
   alldiff(F, T, U, W, R, O)
   O + O = R + 10 · X1, etc.




                                                Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                                                       o                             ıtulo 5   11
CSPs del mundo real
Problemas de asignaci´n
                      o
   e.g., quien dicta que clase
Problemas de aulero
   e.g., ¿donde y cuando es ofrecida determinada clase?
Configuraci´n de Hardware
          o
Scheduling de Transporte
Scheduling en F´bricas
               a

Muchos de estos problemas involucran variables con valores reales




                                           Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                                                  o                             ıtulo 5   12
Formulaci´n de b´ squeda est´ndard
                  o      u           a
Comenzamos con el enfoque directo (elemental), luego lo arreglamos
Los estados est´n definidos por los valores asignados hasta el momento
               a
♦ Estado inicial: la asignaci´n vac´ { }
                             o     ıa,
♦ Funci´n sucesor: asignar un valor a una variable no asignada
       o
     que no entra en conflicto con la asignaci´n actual.
                                              o
      ⇒ falla si no existe una asignaci´n legal
                                        o
♦ Test de objetivo: la asignaci´n actual es completa
                               o

1) Esto es igual para todos los CSPs!
2) Cada soluci´n aparece a profundidad n con n variables
               o
         ⇒ usar depth-first search
3) El paso es irrelevante, ⇒ tambi´n se usa form. de estado completa
                                     e
4) b = (n − )d a prof. , luego n!dn hojas y s´lo hay dn asig. completas!
                                             o

                                            Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                                                   o                             ıtulo 5   13
Backtracking search
Las asignaciones de variables son conmutativas, i.e.,
       [W A = red then N T = green] es lo mismo que [N T = green then
W A = red]
S´lo necesito considerar asignaciones a una unica variable en cada nodo
 o                                          ´
        ⇒ b = d y hay dn hojas


Depth-first search para CSPs con asignaciones consistentes de a una variable
es llamada backtracking search
Backtracking search es el algoritmo no informado b´sico para CSPs
                                                  a
Permite resolver n-reinas para n ≈ 25




                                            Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                                                   o                             ıtulo 5   14
Backtracking search

function Backtracking-Search(csp) returns solution/failure
  return Recursive-Backtracking({ }, csp)
function Recursive-Backtracking(assignment, csp) returns soln/failure
  if assignment is complete then return assignment
  var ← Select-Unassigned-Variable(Variables[csp], assignment, csp)
  for each value in Order-Domain-Values(var, assignment, csp) do
       if value is consistent with assignment given Constraints[csp] then
            add {var = value} to assignment
            result ← Recursive-Backtracking(assignment, csp)
            if result = failure then return result
            remove {var = value} from assignment
  return failure




                                            Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                                                   o                             ıtulo 5   15
Ejemplo de backtracking




               Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                      o                             ıtulo 5   16
Ejemplo de backtracking




               Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                      o                             ıtulo 5   17
Ejemplo de backtracking




               Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                      o                             ıtulo 5   18
Ejemplo de backtracking




               Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                      o                             ıtulo 5   19
Mejorando la eficiencia de backtracking search
Algunos m´todos de prop´sito general pueden producir enormes ganan-
           e           o
cias de velocidad:

1. ¿Cual deber´ ser la pr´xima variable a asignar?
              ıa         o
2. ¿En qu´ orden deber´ ser considerados sus valores?
         e            ıan
3. ¿Podemos detectar fallas inevitables m´s anticipadamente?
                                         a
4. ¿Podemos sacar provecho de la estructura del problema? (no lo veremos)




                                            Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                                                   o                             ıtulo 5   20
Valores restantes m´
                                    ınimos
Valores restantes m´ ınimos (MRV):
   elige la variable con la menor cantidad de valores legales




                                             Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                                                    o                             ıtulo 5   21
Heur´
                   ıstica degree (del grado)
Permite desempatar entre variables MRV
Heur´ıstica degree:
    elige la variable involucrada en el mayor n´mero de restricciones con otras
                                               u
variables no asignadas




                                              Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                                                     o                             ıtulo 5   22
Valor menos restrictivo
Dada una variable, elegir el valor menos restrictivo:
   aquel que excluye el menor n´mero de valores en las variables restantes
                                  u

                                                                         Allows 1 value for SA




                                                                         Allows 0 values for SA




Combinando estas heur´
                     ısticas hace factible la resoluci´n del 1000 reinas
                                                      o




                                            Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                                                   o                             ıtulo 5   23
Forward checking
Idea: Registrar los valores legales restantes para las variables no asignadas
      No insistir con un paso cuando alguna variable no tiene valores legales




    WA         NT         Q         NSW            V                     SA                       T




                                             Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                                                    o                             ıtulo 5   24
Forward checking
Idea: Registrar los valores legales restantes para las variables no asignadas
      No insistir con un paso cuando alguna variable no tiene valores legales




    WA         NT         Q         NSW            V                     SA                       T




                                             Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                                                    o                             ıtulo 5   25
Forward checking
Idea: Registrar los valores legales restantes para las variables no asignadas
      No insistir con un paso cuando alguna variable no tiene valores legales




    WA         NT         Q         NSW            V                     SA                       T




                                             Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                                                    o                             ıtulo 5   26
Forward checking
Idea: Registrar los valores legales restantes para las variables no asignadas
      No insistir con un paso cuando alguna variable no tiene valores legales




    WA         NT         Q         NSW            V                     SA                       T




                                             Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                                                    o                             ıtulo 5   27
Propagaci´n de restricciones
                         o
Forward checking propaga informaci´n desde variables asignadas a no asig-
                                   o
nadas, pero no provee una detecci´n temprana de todas las fallas:
                                 o




           WA      NT       Q      NSW        V                SA                  T




N T y SA no pueden ser ambas azules!
Propagaci´n de restricciones fuerza restricciones localmente en forma repe-
         o
tida



                                            Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                                                   o                             ıtulo 5   28
Consistencia de arco
La forma m´s simple de propagaci´n hace cada arco consistente
          a                     o
X → Y es consistente sii
  para cada valor x ∈ X existe alg´ n valor y ∈ Y permitido
                                  u




          WA      NT       Q      NSW       V                SA                  T




                                          Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                                                 o                             ıtulo 5   29
Consistencia de arco
La forma m´s simple de propagaci´n hace cada arco consistente
          a                     o
X → Y es consistente sii
  para cada valor x ∈ X existe alg´ n valor y ∈ Y permitido
                                  u




          WA      NT       Q      NSW       V                SA                  T




                                          Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                                                 o                             ıtulo 5   30
Consistencia de arco
La forma m´s simple de propagaci´n hace cada arco consistente
          a                     o
X → Y es consistente sii
  para cada valor x ∈ X existe alg´ n valor y ∈ Y permitido
                                  u




          WA       NT       Q      NSW        V                SA                  T




Si X pierde un valor los vecinos de X se vuelven a controlar




                                            Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                                                   o                             ıtulo 5   31
Consistencia de arco
La forma m´s simple de propagaci´n hace cada arco consistente
          a                     o
X → Y es consistente sii
  para cada valor x ∈ X existe alg´ n valor y ∈ Y permitido
                                  u




          WA       NT       Q      NSW        V                SA                  T




Si X pierde un valor los vecinos de X se vuelven a controlar
Consistencia de arco detecta las fallas m´s temprano que forward checking
                                         a
Puede ejecutarse como preprocesamiento o despu´s de cada asignaci´n
                                              e                  o


                                            Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                                                   o                             ıtulo 5   32
Algoritmo de consistencia de arco

 function AC-3( csp) returns the CSP, possibly with reduced domains
   inputs: csp, a binary CSP with variables {X1, X2, . . . , Xn}
   local variables: queue, a queue of arcs, initially all the arcs in csp
    while queue is not empty do
      (Xi, Xj ) ← Remove-First(queue)
      if Remove-Inconsistent-Values(Xi , Xj ) then
         for each Xk in Neighbors[Xi] do
            add (Xk , Xi) to queue

 function Remove-Inconsistent-Values( Xi , Xj ) returns true iff succeeds
   removed ← false
   for each x in Domain[Xi] do
      if no value y in Domain[Xj ] allows (x,y) to satisfy the constraint Xi ↔ Xj
          then delete x from Domain[Xi ]; removed ← true
   return removed


O(n2d3), puede ser reducida a O(n2d2) (pero detectar todas es NP-duro)

                                                  Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                                                         o                             ıtulo 5   33
Algoritmos iterativos para CSPs
Hill-climbing y simulated annealing usualmente trabajan con
estados “completos”, i.e., todas las variables asignadas
Para aplicarlos a CSPs:
   permitir estados con restricciones insatisfechas
   los operadores reasignan los valores de las variables
Selecci´n de variable: elegir en forma random cualquier variable en conflicto
       o
Selecci´n de valor mediante la heur´
        o                          ıstica min-conflictos:
    elegir valor que produce el menor n´mero de conflictos
                                        u
    i.e., hillclimb con h(n) = n´mero total de restricciones violadas
                                u




                                             Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                                                    o                             ıtulo 5   34
Ejemplo: 4-Reinas
Estados: 4 reinas en 4 columnas (44 = 256 estados)
Operadores: mover reina en una columna
Test de objetivo: no hay ataques
Evaluaci´n: h(n) = n´mero de ataques
        o           u




    h=5                 h=2                  h=0




                                           Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                                                  o                             ıtulo 5   35
Performance de min-conflictos
Dado un estado inicial random, puede resolver n-reinas en tiempo casi cons-
tante para un n arbitrario con alta probabilidad (e.g., n = 10,000,000)
Lo mismo parece ser cierto para cualquier CSP generado aleatoriamente
excepto en un rango estrecho del radio
      n´mero de restricciones
       u
   R=
       n´mero de variables
         u
               CPU
               time




                                                                           R
                                critical
                                  ratio

                                            Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                                                   o                             ıtulo 5   36
Resumen
CSPs son una clase especial de problemas:
  estados definidos por valores de un conjunto fijo de variables
  test objetivo definido por restricciones sobre valores de variables
Backtracking = depth-first search con una variable asignada por nodo
Heur´ısticas para el ordenamiento de variables y selecci´n de valor ayudan
                                                        o
significativamente
Forward checking previene asignaciones que garantizan una falla posterior
Propagaci´n de restricciones (e.g., consistencia de arco) realiza un trabajo
          o
adicional para restingir valores y detectar inconsistencias
Min-conflictos es usualmente efectivo en la pr´ctica
                                             a




                                            Problemas de satisfacci´n de restricciones (CSPs) Cap´
                                                                   o                             ıtulo 5   37

Contenu connexe

Dernier

PARÁBOLA DEL HIJO PRÓDIGO: CLAVES PARA LA REFLEXIÓN.pdf
PARÁBOLA DEL HIJO PRÓDIGO: CLAVES PARA LA REFLEXIÓN.pdfPARÁBOLA DEL HIJO PRÓDIGO: CLAVES PARA LA REFLEXIÓN.pdf
PARÁBOLA DEL HIJO PRÓDIGO: CLAVES PARA LA REFLEXIÓN.pdfAntonio Miguel Salas Sierra
 
la revelacion de jesucristo, estudio del libro Apocalipsis
la revelacion de jesucristo, estudio del libro Apocalipsisla revelacion de jesucristo, estudio del libro Apocalipsis
la revelacion de jesucristo, estudio del libro ApocalipsisDANIEL387046
 
LA PARÁBOLA DEL HIJO PRÓDIGO: CLAVES PARA LA REFLEXIÓN.pptx
LA PARÁBOLA DEL HIJO PRÓDIGO: CLAVES PARA LA REFLEXIÓN.pptxLA PARÁBOLA DEL HIJO PRÓDIGO: CLAVES PARA LA REFLEXIÓN.pptx
LA PARÁBOLA DEL HIJO PRÓDIGO: CLAVES PARA LA REFLEXIÓN.pptxAntonio Miguel Salas Sierra
 
Presentación Clase CORPUS CHRISTI para niños.pptx
Presentación Clase CORPUS CHRISTI para niños.pptxPresentación Clase CORPUS CHRISTI para niños.pptx
Presentación Clase CORPUS CHRISTI para niños.pptxCarolinaPerez105492
 
De gloria en gloria la cancion escrita en ppt
De gloria en gloria la cancion escrita en pptDe gloria en gloria la cancion escrita en ppt
De gloria en gloria la cancion escrita en pptwuajaja299
 
Discernimiento de Pedro y pablo sobre el liderazgo clase 5.pptx
Discernimiento de Pedro y pablo sobre el liderazgo clase 5.pptxDiscernimiento de Pedro y pablo sobre el liderazgo clase 5.pptx
Discernimiento de Pedro y pablo sobre el liderazgo clase 5.pptxwindergalindez1
 
Religion la resucitacion de Jesus y la vida de una mariposa.pdf
Religion la resucitacion de Jesus y la vida de una mariposa.pdfReligion la resucitacion de Jesus y la vida de una mariposa.pdf
Religion la resucitacion de Jesus y la vida de una mariposa.pdfCarlosAlexanderPimen
 
Dios imparable es una cancion cristiana que
Dios imparable es una cancion cristiana queDios imparable es una cancion cristiana que
Dios imparable es una cancion cristiana quewuajaja299
 
Consagración de esclavitud a Jesús por Maria.pptx
Consagración de esclavitud a Jesús por Maria.pptxConsagración de esclavitud a Jesús por Maria.pptx
Consagración de esclavitud a Jesús por Maria.pptxpablosal20ca23
 
La gracia santificante explicada para niños.pptx
La gracia santificante explicada para niños.pptxLa gracia santificante explicada para niños.pptx
La gracia santificante explicada para niños.pptxCarolinaPerez105492
 
Visita Pastoral 2024, Vicaria de Winston-Salem
Visita Pastoral 2024, Vicaria de Winston-SalemVisita Pastoral 2024, Vicaria de Winston-Salem
Visita Pastoral 2024, Vicaria de Winston-SalemSergio Lopez
 
Recuperando el Rumbo Hasta la Transformación Parte #3.pptx
Recuperando el Rumbo Hasta la Transformación Parte #3.pptxRecuperando el Rumbo Hasta la Transformación Parte #3.pptx
Recuperando el Rumbo Hasta la Transformación Parte #3.pptxjenune
 
El Poder de nuestras oraciones y conversaciones con Dios.pdf
El Poder de nuestras oraciones y conversaciones con Dios.pdfEl Poder de nuestras oraciones y conversaciones con Dios.pdf
El Poder de nuestras oraciones y conversaciones con Dios.pdfPalayos Uno
 
2024t203.pptx Leccion de Escuela Sabatica 20/4/24 PPT
2024t203.pptx Leccion de Escuela Sabatica 20/4/24 PPT2024t203.pptx Leccion de Escuela Sabatica 20/4/24 PPT
2024t203.pptx Leccion de Escuela Sabatica 20/4/24 PPTLuzOneidaMariaMoreno
 
"Lo que tú quieras", biografía ilustrada de Montse Grases.
"Lo que tú quieras", biografía ilustrada de Montse Grases."Lo que tú quieras", biografía ilustrada de Montse Grases.
"Lo que tú quieras", biografía ilustrada de Montse Grases.Opus Dei
 

Dernier (16)

PARÁBOLA DEL HIJO PRÓDIGO: CLAVES PARA LA REFLEXIÓN.pdf
PARÁBOLA DEL HIJO PRÓDIGO: CLAVES PARA LA REFLEXIÓN.pdfPARÁBOLA DEL HIJO PRÓDIGO: CLAVES PARA LA REFLEXIÓN.pdf
PARÁBOLA DEL HIJO PRÓDIGO: CLAVES PARA LA REFLEXIÓN.pdf
 
la revelacion de jesucristo, estudio del libro Apocalipsis
la revelacion de jesucristo, estudio del libro Apocalipsisla revelacion de jesucristo, estudio del libro Apocalipsis
la revelacion de jesucristo, estudio del libro Apocalipsis
 
LA PARÁBOLA DEL HIJO PRÓDIGO: CLAVES PARA LA REFLEXIÓN.pptx
LA PARÁBOLA DEL HIJO PRÓDIGO: CLAVES PARA LA REFLEXIÓN.pptxLA PARÁBOLA DEL HIJO PRÓDIGO: CLAVES PARA LA REFLEXIÓN.pptx
LA PARÁBOLA DEL HIJO PRÓDIGO: CLAVES PARA LA REFLEXIÓN.pptx
 
Presentación Clase CORPUS CHRISTI para niños.pptx
Presentación Clase CORPUS CHRISTI para niños.pptxPresentación Clase CORPUS CHRISTI para niños.pptx
Presentación Clase CORPUS CHRISTI para niños.pptx
 
De gloria en gloria la cancion escrita en ppt
De gloria en gloria la cancion escrita en pptDe gloria en gloria la cancion escrita en ppt
De gloria en gloria la cancion escrita en ppt
 
Discernimiento de Pedro y pablo sobre el liderazgo clase 5.pptx
Discernimiento de Pedro y pablo sobre el liderazgo clase 5.pptxDiscernimiento de Pedro y pablo sobre el liderazgo clase 5.pptx
Discernimiento de Pedro y pablo sobre el liderazgo clase 5.pptx
 
Religion la resucitacion de Jesus y la vida de una mariposa.pdf
Religion la resucitacion de Jesus y la vida de una mariposa.pdfReligion la resucitacion de Jesus y la vida de una mariposa.pdf
Religion la resucitacion de Jesus y la vida de una mariposa.pdf
 
Dios imparable es una cancion cristiana que
Dios imparable es una cancion cristiana queDios imparable es una cancion cristiana que
Dios imparable es una cancion cristiana que
 
Consagración de esclavitud a Jesús por Maria.pptx
Consagración de esclavitud a Jesús por Maria.pptxConsagración de esclavitud a Jesús por Maria.pptx
Consagración de esclavitud a Jesús por Maria.pptx
 
La gracia santificante explicada para niños.pptx
La gracia santificante explicada para niños.pptxLa gracia santificante explicada para niños.pptx
La gracia santificante explicada para niños.pptx
 
Visita Pastoral 2024, Vicaria de Winston-Salem
Visita Pastoral 2024, Vicaria de Winston-SalemVisita Pastoral 2024, Vicaria de Winston-Salem
Visita Pastoral 2024, Vicaria de Winston-Salem
 
Recuperando el Rumbo Hasta la Transformación Parte #3.pptx
Recuperando el Rumbo Hasta la Transformación Parte #3.pptxRecuperando el Rumbo Hasta la Transformación Parte #3.pptx
Recuperando el Rumbo Hasta la Transformación Parte #3.pptx
 
Luisa de Marillac Animadora de las Cofradías de la Caridad
Luisa de Marillac Animadora de las Cofradías de la CaridadLuisa de Marillac Animadora de las Cofradías de la Caridad
Luisa de Marillac Animadora de las Cofradías de la Caridad
 
El Poder de nuestras oraciones y conversaciones con Dios.pdf
El Poder de nuestras oraciones y conversaciones con Dios.pdfEl Poder de nuestras oraciones y conversaciones con Dios.pdf
El Poder de nuestras oraciones y conversaciones con Dios.pdf
 
2024t203.pptx Leccion de Escuela Sabatica 20/4/24 PPT
2024t203.pptx Leccion de Escuela Sabatica 20/4/24 PPT2024t203.pptx Leccion de Escuela Sabatica 20/4/24 PPT
2024t203.pptx Leccion de Escuela Sabatica 20/4/24 PPT
 
"Lo que tú quieras", biografía ilustrada de Montse Grases.
"Lo que tú quieras", biografía ilustrada de Montse Grases."Lo que tú quieras", biografía ilustrada de Montse Grases.
"Lo que tú quieras", biografía ilustrada de Montse Grases.
 

En vedette

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

En vedette (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Teoria

  • 1. Inteligencia Artificial (2006) ´ Problemas de satisfaccion de restricciones (CSPs) Cap´ıtulo 5 Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 1
  • 2. Aspectos a considerar ♦ Ejemplos de CSP ♦ B´squeda con Backtracking para CSPs u ♦ B´squeda Local para CSPs u Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 2
  • 3. Problema de satisfacci´n de restricciones (CSP) o En problemas de b´squeda est´ndar: u a cada estado es una “caja negra”—una estructura de datos arbitraria que soporta el test de objetivo, la funci´n heur´ o ıstica y la funci´n sucesor (rutinas espec´ o ıficas del problema) CSP: un estado es definido por variables Xi con valores de un dominio Di el test de objetivo es un conjunto de restricciones que especifican combinaciones permitidas de valores para subconjuntos de variables Ejemplo simple de un lenguaje de representaci´n formal o Permite utilizar algoritmos de prop´sito general con m´s poder o a que los algoritmos de b´squeda est´ndard u a Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 3
  • 4. Ejemplo: coloreado de mapa Northern Territory Western Queensland Australia South Australia New South Wales Victoria Tasmania Variables W A, N T , Q, N SW , V , SA, T Dominios Di = {red, green, blue} Restricciones: las regiones adyacentes deben tener colores diferentes e.g., W A = N T (si el lenguaje lo permite), o (W A, N T ) ∈ {(red, green), (red, blue), (green, red), (green, blue), . . .} Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 4
  • 5. Ejemplo: coloreado de mapa (cont) Northern Territory Western Queensland Australia South Australia New South Wales Victoria Tasmania Las soluciones son asignaciones que satisfacen todas las restricciones, e.g., {W A = red, N T = green, Q = red, N SW = green, V = red, SA = blue, T = green} Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 5
  • 6. Definici´n formal de un CSP o Clase especial de problema, caracterizado por: 1. Un conjunto de variables X1, X2, . . . , Xn. 2. Por cada variable Xi, un dominio Di que especifica los valores posibles que la variable puede tomar. 3. Un conjunto de restricciones C1, C2, . . . , Cm, una funci´n de eva- o luaci´n (o ambas) o Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 6
  • 7. Definici´n formal de un CSP o Clase especial de problema, caracterizado por: 1. Un conjunto de variables X1, X2, . . . , Xn. 2. Por cada variable Xi, un dominio Di que especifica los valores posibles que la variable puede tomar. 3. Un conjunto de restricciones C1, C2, . . . , Cm, una funci´n de eva- o luaci´n (o ambas) o Soluci´n de un CSP: asignaci´n completa que satisface todas las restric- o o ciones (consistente) y (opcionalmente) optimiza la funci´n de evaluaci´n o o Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 7
  • 8. Grafo de restricci´n o CSP binario: cada restricci´n relaciona a lo sumo dos variables o Grafo de restricci´n: nodos son variables, arcos muestran restricciones o NT Q WA SA NSW V Victoria T Los algoritmos de CSP de prop´sito general usan la estructura del grafo o para acelerar la b´squeda. E.g., Tasmania es un subproblema independiente! u Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 8
  • 9. Tipos de CSPs Variables discretas dominios finitos; tama˜o d ⇒ O(dn) asignaciones completas n ♦ e.g., CSPs Booleanos, incl. Satisfabilidad booleana (NP-completa) dominios infinitos (integers, strings, etc.) ♦ e.g., job scheduling, variables son d´ de inicio/fin de cada job ıas ♦ necesita un lenguaje de restricci´n, e.g., StartJob1+5 ≤ StartJob3 o ♦ restricciones lineales son resolubles, no lineal no es decidible Variables continuas ♦ e.g., tiempos de inicio/fin para las observaciones del Telescopio Hubble ♦ restricciones lineales se resuelven en tiempo pol. con m´todos de PL. e Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 9
  • 10. Tipos de restricciones Restricciones unarias involucran una unica variable, ´ e.g., SA = green Restricciones binarias involucran pares de variables, e.g., SA = W A Restricciones de orden m´s alto involucran 3 o m´s variables, a a e.g., restricciones de columnas criptoaritm´ticas e Restricciones de preferencias (restricciones blandas), e.g., red es mejor que green a menudo representables por un costo para cada asignaci´n de variable o → problemas de optimizaci´n restringido o Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 10
  • 11. Ejemplo: Criptoaritm´tica e T WO F T U W R O + T WO F O U R X3 X2 X1 Variables: F T U W R O X1 X2 X3 Dominios: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Restricciones alldiff(F, T, U, W, R, O) O + O = R + 10 · X1, etc. Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 11
  • 12. CSPs del mundo real Problemas de asignaci´n o e.g., quien dicta que clase Problemas de aulero e.g., ¿donde y cuando es ofrecida determinada clase? Configuraci´n de Hardware o Scheduling de Transporte Scheduling en F´bricas a Muchos de estos problemas involucran variables con valores reales Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 12
  • 13. Formulaci´n de b´ squeda est´ndard o u a Comenzamos con el enfoque directo (elemental), luego lo arreglamos Los estados est´n definidos por los valores asignados hasta el momento a ♦ Estado inicial: la asignaci´n vac´ { } o ıa, ♦ Funci´n sucesor: asignar un valor a una variable no asignada o que no entra en conflicto con la asignaci´n actual. o ⇒ falla si no existe una asignaci´n legal o ♦ Test de objetivo: la asignaci´n actual es completa o 1) Esto es igual para todos los CSPs! 2) Cada soluci´n aparece a profundidad n con n variables o ⇒ usar depth-first search 3) El paso es irrelevante, ⇒ tambi´n se usa form. de estado completa e 4) b = (n − )d a prof. , luego n!dn hojas y s´lo hay dn asig. completas! o Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 13
  • 14. Backtracking search Las asignaciones de variables son conmutativas, i.e., [W A = red then N T = green] es lo mismo que [N T = green then W A = red] S´lo necesito considerar asignaciones a una unica variable en cada nodo o ´ ⇒ b = d y hay dn hojas Depth-first search para CSPs con asignaciones consistentes de a una variable es llamada backtracking search Backtracking search es el algoritmo no informado b´sico para CSPs a Permite resolver n-reinas para n ≈ 25 Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 14
  • 15. Backtracking search function Backtracking-Search(csp) returns solution/failure return Recursive-Backtracking({ }, csp) function Recursive-Backtracking(assignment, csp) returns soln/failure if assignment is complete then return assignment var ← Select-Unassigned-Variable(Variables[csp], assignment, csp) for each value in Order-Domain-Values(var, assignment, csp) do if value is consistent with assignment given Constraints[csp] then add {var = value} to assignment result ← Recursive-Backtracking(assignment, csp) if result = failure then return result remove {var = value} from assignment return failure Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 15
  • 16. Ejemplo de backtracking Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 16
  • 17. Ejemplo de backtracking Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 17
  • 18. Ejemplo de backtracking Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 18
  • 19. Ejemplo de backtracking Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 19
  • 20. Mejorando la eficiencia de backtracking search Algunos m´todos de prop´sito general pueden producir enormes ganan- e o cias de velocidad: 1. ¿Cual deber´ ser la pr´xima variable a asignar? ıa o 2. ¿En qu´ orden deber´ ser considerados sus valores? e ıan 3. ¿Podemos detectar fallas inevitables m´s anticipadamente? a 4. ¿Podemos sacar provecho de la estructura del problema? (no lo veremos) Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 20
  • 21. Valores restantes m´ ınimos Valores restantes m´ ınimos (MRV): elige la variable con la menor cantidad de valores legales Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 21
  • 22. Heur´ ıstica degree (del grado) Permite desempatar entre variables MRV Heur´ıstica degree: elige la variable involucrada en el mayor n´mero de restricciones con otras u variables no asignadas Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 22
  • 23. Valor menos restrictivo Dada una variable, elegir el valor menos restrictivo: aquel que excluye el menor n´mero de valores en las variables restantes u Allows 1 value for SA Allows 0 values for SA Combinando estas heur´ ısticas hace factible la resoluci´n del 1000 reinas o Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 23
  • 24. Forward checking Idea: Registrar los valores legales restantes para las variables no asignadas No insistir con un paso cuando alguna variable no tiene valores legales WA NT Q NSW V SA T Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 24
  • 25. Forward checking Idea: Registrar los valores legales restantes para las variables no asignadas No insistir con un paso cuando alguna variable no tiene valores legales WA NT Q NSW V SA T Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 25
  • 26. Forward checking Idea: Registrar los valores legales restantes para las variables no asignadas No insistir con un paso cuando alguna variable no tiene valores legales WA NT Q NSW V SA T Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 26
  • 27. Forward checking Idea: Registrar los valores legales restantes para las variables no asignadas No insistir con un paso cuando alguna variable no tiene valores legales WA NT Q NSW V SA T Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 27
  • 28. Propagaci´n de restricciones o Forward checking propaga informaci´n desde variables asignadas a no asig- o nadas, pero no provee una detecci´n temprana de todas las fallas: o WA NT Q NSW V SA T N T y SA no pueden ser ambas azules! Propagaci´n de restricciones fuerza restricciones localmente en forma repe- o tida Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 28
  • 29. Consistencia de arco La forma m´s simple de propagaci´n hace cada arco consistente a o X → Y es consistente sii para cada valor x ∈ X existe alg´ n valor y ∈ Y permitido u WA NT Q NSW V SA T Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 29
  • 30. Consistencia de arco La forma m´s simple de propagaci´n hace cada arco consistente a o X → Y es consistente sii para cada valor x ∈ X existe alg´ n valor y ∈ Y permitido u WA NT Q NSW V SA T Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 30
  • 31. Consistencia de arco La forma m´s simple de propagaci´n hace cada arco consistente a o X → Y es consistente sii para cada valor x ∈ X existe alg´ n valor y ∈ Y permitido u WA NT Q NSW V SA T Si X pierde un valor los vecinos de X se vuelven a controlar Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 31
  • 32. Consistencia de arco La forma m´s simple de propagaci´n hace cada arco consistente a o X → Y es consistente sii para cada valor x ∈ X existe alg´ n valor y ∈ Y permitido u WA NT Q NSW V SA T Si X pierde un valor los vecinos de X se vuelven a controlar Consistencia de arco detecta las fallas m´s temprano que forward checking a Puede ejecutarse como preprocesamiento o despu´s de cada asignaci´n e o Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 32
  • 33. Algoritmo de consistencia de arco function AC-3( csp) returns the CSP, possibly with reduced domains inputs: csp, a binary CSP with variables {X1, X2, . . . , Xn} local variables: queue, a queue of arcs, initially all the arcs in csp while queue is not empty do (Xi, Xj ) ← Remove-First(queue) if Remove-Inconsistent-Values(Xi , Xj ) then for each Xk in Neighbors[Xi] do add (Xk , Xi) to queue function Remove-Inconsistent-Values( Xi , Xj ) returns true iff succeeds removed ← false for each x in Domain[Xi] do if no value y in Domain[Xj ] allows (x,y) to satisfy the constraint Xi ↔ Xj then delete x from Domain[Xi ]; removed ← true return removed O(n2d3), puede ser reducida a O(n2d2) (pero detectar todas es NP-duro) Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 33
  • 34. Algoritmos iterativos para CSPs Hill-climbing y simulated annealing usualmente trabajan con estados “completos”, i.e., todas las variables asignadas Para aplicarlos a CSPs: permitir estados con restricciones insatisfechas los operadores reasignan los valores de las variables Selecci´n de variable: elegir en forma random cualquier variable en conflicto o Selecci´n de valor mediante la heur´ o ıstica min-conflictos: elegir valor que produce el menor n´mero de conflictos u i.e., hillclimb con h(n) = n´mero total de restricciones violadas u Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 34
  • 35. Ejemplo: 4-Reinas Estados: 4 reinas en 4 columnas (44 = 256 estados) Operadores: mover reina en una columna Test de objetivo: no hay ataques Evaluaci´n: h(n) = n´mero de ataques o u h=5 h=2 h=0 Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 35
  • 36. Performance de min-conflictos Dado un estado inicial random, puede resolver n-reinas en tiempo casi cons- tante para un n arbitrario con alta probabilidad (e.g., n = 10,000,000) Lo mismo parece ser cierto para cualquier CSP generado aleatoriamente excepto en un rango estrecho del radio n´mero de restricciones u R= n´mero de variables u CPU time R critical ratio Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 36
  • 37. Resumen CSPs son una clase especial de problemas: estados definidos por valores de un conjunto fijo de variables test objetivo definido por restricciones sobre valores de variables Backtracking = depth-first search con una variable asignada por nodo Heur´ısticas para el ordenamiento de variables y selecci´n de valor ayudan o significativamente Forward checking previene asignaciones que garantizan una falla posterior Propagaci´n de restricciones (e.g., consistencia de arco) realiza un trabajo o adicional para restingir valores y detectar inconsistencias Min-conflictos es usualmente efectivo en la pr´ctica a Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 37