SlideShare una empresa de Scribd logo
1 de 100
Descargar para leer sin conexión
INTELIGENCIA ARTIFICIAL - ICIF0021
       Unidad 3 - Planificadores Modernos

                      Docente: Milton A. Ram´ Klapp
                                            ırez
                            miramire@gmail.com

                             Universidad San Sebasti´n
                                                    a
                         Facultad de Ingenier´ y Tecnolog´
                                             ıa          ıa


                            Primer Semestre 2011




M. Ram´
      ırez K. (USS)                 Apunte curso IA           Primer Semestre 2011   1 / 100
Objetivos de la Unidad



   Identifican la problem´tica asociada con los m´todos de b´squeda estudiados en la
                        a                       e          u
   Unidad II.
   Identifican las componentes de los lenguajes de planificaci´n modernos.
                                                            o
   Conocen la t´cnica STRIPS para modelar algebraicamente problemas de acuerdo
               e
   al esquema (Estados, Acciones, Operaciones).
   Resuelven problemas de planificaci´n usando las t´cnicas forward-chaining y
                                    o              e
   backward-chaining.
   Reconocen las diferencias entre la planificaci´n lineal y de orden parcial.
                                                o
   Identifican los elementos que componen un planificador de orden parcial (POP).
   Resuelven problemas que involucran el uso de POP.




   M. Ram´
         ırez K. (USS)              Apunte curso IA             Primer Semestre 2011   2 / 100
Contenidos




 1   Lenguaje de Planificadores: representaci´n STRIPS y ADL.
                                            o
 2   Planificaci´n hacia adelante y hacia atr´s.
               o                            a
 3   Planificadores de orden parcial (POP).




     M. Ram´
           ırez K. (USS)        Apunte curso IA     Primer Semestre 2011   3 / 100
Introducci´n
          o




   Planificar significa encontrar una secuencia de acciones que permiten
   alcanzar un determinado objetivo a partir de un estado inicial:
          a esta serie de acciones la denominaremos plan
          un planificador ser´ la entidad de software que lo implemente.
                              a




   M. Ram´
         ırez K. (USS)            Apunte curso IA         Primer Semestre 2011   4 / 100
Introducci´n
          o




¿Qu´ pasa si realizamos una b´squeda tradicional en entornos reales?
   e                         u

    La posibilidad m´s evidente es que el buscador de soluciones sea
                    a
    desbordado por acciones completamente irrelevantes:
           pensemos en la tarea de adquirir un libro en una tienda online cuyo
           ISBN sea igual a 0137903952
           si tenemos representada la acci´n de comprar cada libro con ISBN de
                                            o
           10 d´ıgitos , ´sta nos generar´ un universo no despreciable de 1010 =10
                         e               ıa
           billones de acciones para satisfacer el objetivo a conseguir.




    M. Ram´
          ırez K. (USS)             Apunte curso IA          Primer Semestre 2011   5 / 100
Introducci´n
          o




   Un planificador razonable debiera ser capaz de trabajar con expresiones de
   objetivos expl´
                 ıcitas tales como Tener(ISBN 0137903952) y generar
   autom´ticamente la acci´n Comprar(ISBN 0137903952) directamente.
          a                  o
   El planificador debiera tener un conocimiento general del tipo



                         Comprar(x) se reduce a Tener(x)




   M. Ram´
         ırez K. (USS)              Apunte curso IA        Primer Semestre 2011   6 / 100
Introducci´n
          o




   De poseerlo, el planificador puede decidir en un unico paso que
                                                   ´
   comprar(ISBN 0137903952) es la acci´n correcta.
                                           o
   Otra dificultad que surge si optamos por una b´squeda tradicional es
                                                u
   encontrar una heur´ıstica apropiada.
   Supongamos que el objetivo se redefine a comprar cuatro libros en la
   misma tienda:
          esto significa que tenemos un total de ¡1040 planes posibles con 4
          etapas!




   M. Ram´
         ırez K. (USS)            Apunte curso IA          Primer Semestre 2011   7 / 100
Introducci´n
          o



El uso de una heur´
                  ıstica es innegable.



    Para un ser humano, una heur´
                                ıstica podr´ ser la cantidad de libros
                                           ıa
    que quedan por comprar.
           para un planificador esto no es evidente puesto que cada subobjetivo
           lo eval´a como verdadero o falso.
                  u
    Si el planificador tiene acceso al objetivo como una conjunci´n l´gica
                                                                o o
    de subobjetivos, ´ste se puede representar como
                     e

                 Tener(A) ∧ Tener(B) ∧ Tener(C) ∧ Tener(D)



    M. Ram´
          ırez K. (USS)            Apunte curso IA         Primer Semestre 2011   8 / 100
Introducci´n
          o



   Otro aspecto a considerar de un planificador es que permita
   descomponer un problema en subproblemas:
          se puede demostrar que la estrategia dividir para conquistar mejora la
          eficiencia de los algoritmos de planificaci´n.
                                                   o



   En un aeropuerto, trasladar maletas de viajes a sus destinos:
          una estrategia l´gica de descomposici´n es encontrar el aeropuerto m´s
                          o                    o                              a
          cercano a cada destino y as´ hacer que cada subproblema se reduzca a
                                      ı
          llegar a cada aeropuerto intermedio.




   M. Ram´
         ırez K. (USS)            Apunte curso IA          Primer Semestre 2011   9 / 100
Lenguaje de Planificadores



   Los aspectos que se consideren en la planificaci´n son: estados,
                                                  o
   acciones y objetivos
          esto, para que los algoritmos aprovechen la estructura l´gica del
                                                                  o
          problema.
   Necesidad de contar con un lenguaje que sea expresivo y restrictivo
   a la vez.
   El lenguaje que ocuparemos en esta unidad recibe el nombre STRIPS:

STanford Research Institute Problem Solver




   M. Ram´
         ırez K. (USS)             Apunte curso IA          Primer Semestre 2011   10 / 100
Representaci´n STRIPS
            o
Elementos



 Elemento         Descripci´n
                            o                            Ejemplos
 Constantes       Ser´n los objetos del mundo y
                     a
                  por convenci´n las denotare-
                               o                               BLOQUE-A
                  mos con may´scula.
                                u                              RUEDA-DE-REPUESTO

  Variables
                           Se usar´n para
                                   a                           x, x1 , x2
                           representar cualquier               y
                           objeto.
                                                               z
                           Su nombre va con
                           min´scula.
                              u
                           Usaremos las ultimas
                                          ´
                           letras del alfabeto para
                           representarlas.




     M. Ram´
           ırez K. (USS)                     Apunte curso IA                Primer Semestre 2011   11 / 100
Representaci´n STRIPS
            o

       Elemento           Descripci´n
                                    o                        Ejemplos
 S´
  ımbolos de predicados   Se usan para representar las
                          propiedades de los objetos. Su          mayor(x, y)
                          sem´ntica debe ser explicitada.
                              a                                   sobre(x1 , x2 )
                          No necesariamente contienen
                          variables o constantes.
  S´
   ımbolos de acciones    Se usan para designar los ope-
                          radores y las denotaremos con           Comprar(x)
                          Versalitas.                             MoverHaciaDerecha(z)
                                                                  Intercambiar(x, y)

        ´
        Atomos            F´rmulas de la forma
                           o
                                                                  sobre (x, A)
                                   P (o1 , . . . , on )           volandoHacia(x, y)
                          donde oi representa una cons-
                          tante o una variable y P un pre-
                          dicado.




    M. Ram´
          ırez K. (USS)                  Apunte curso IA          Primer Semestre 2011   12 / 100
Representaci´n STRIPS
            o




    Elemento               Descripci´n
                                    o                        Ejemplos
    Literales              ´
                           Atomos o      negaci´n
                                               o      de
                           ´tomos.
                           a                                      p(o1 , . . . , on )
                                                                  ¬padreDe(P EDRO, AN A)

 Literales cerrados        Sin variables, s´lo cons-
                                              o
                           tantes. Un literal cerrado se          sobre(SILLA, SU ELO)
                           dice que es positivo cuando            volarHacia(LA815, LA)
                           no est´ negado.
                                 a




     M. Ram´
           ırez K. (USS)                       Apunte curso IA           Primer Semestre 2011   13 / 100
Representaci´n de Estados
            o




   Los estados de E se representan mediante una conjunci´n de literales
                                                        o
   positivos cerrados.
   Deben ser simples y sin dependencias funcionales.
          No est´ permitido definir un estado como
                a


                 en(casaDe(x), y)
                 colorDe(x, RGB(#c86400))
                 etc.




   M. Ram´
         ırez K. (USS)           Apunte curso IA    Primer Semestre 2011   14 / 100
Representaci´n de Estados
            o




   Importante
   Asumiremos un supuesto conocido como Mundo Cerrado, en el cual
   las condiciones que no se mencionan se deben tomar como falsas.




   M. Ram´
         ırez K. (USS)      Apunte curso IA      Primer Semestre 2011   15 / 100
Representaci´n de Estados
            o




Algunos estados v´lidos pueden ser:
                 a
    adinerado ∧ miserable para representar a alguien desafortunado.
    en(AIRP LAN E1 , CCP ) ∧ en(AIRP LAN E2 , SCL) para
    representar una situaci´n del problema de las maletas.
                           o




    M. Ram´
          ırez K. (USS)        Apunte curso IA       Primer Semestre 2011   16 / 100
Representaci´n de Estados
            o
Ejemplo: Mundo de los Bloques




     Los elementos que intervienen son:
            una superficie plana
            una serie de bloques c´bicos que los denotaremos por A,B,C,. . .
                                  u
            un brazo robotizado que puede tomar un cubo a la vez
     En cualquier instante, un bloque puede estar sobre la mesa o apilado
     sobre otro bloque o colgando del brazo robotizado.




     M. Ram´
           ırez K. (USS)             Apunte curso IA         Primer Semestre 2011   17 / 100
Representaci´n de Estados
            o




   Los predicados que consideraremos son:
          despejado(x): el bloque x est´ despejado.
                                          a
          brazoLibre: el brazo robotizado no est´ tomando alg´n bloque.
                                                    a         u
          sobreLaMesa(x): el bloque x est´ sobre la mesa.
                                            a
          sobre(x, y): el bloque x est´ sobre el bloque y.
                                      a
          agarrado(x): el bloque x est´ tomado por el brazo robotizado.
                                        a




   M. Ram´
         ırez K. (USS)          Apunte curso IA       Primer Semestre 2011   18 / 100
Representaci´n de Estados
            o

El estado E de la figura



                                   B
                          C        A            D
                                   E
se puede describir as´
                     ı

     E      :despejado(B) ∧ despejado(C) ∧ despejado(D)
           ∧ brazoLibre ∧ sobreLaMesa(A) ∧ sobreLaMesa(C)
           ∧ sobreLaMesa(D) ∧ sobre(B, A)


    M. Ram´
          ırez K. (USS)       Apunte curso IA       Primer Semestre 2011   19 / 100
Representaci´n de Objetivos
            o



   Cada objetivo del conjunto M se representa como una conjunci´n de
                                                               o
   literales, que pueden contener variables.
   Se dice que un estado satisface un objetivo si es posible sustituir las
   variables del objetivo por objetos del mundo de manera que los
   literales est´n incluidos en la descripci´n del estado.
                e                           o



   Un estado es final cuando satisface el estado objetivo.
   Las variables que intervengan en el estado final se asumen como
   existencialmente cuantificadas.




   M. Ram´
         ırez K. (USS)         Apunte curso IA        Primer Semestre 2011   20 / 100
Representaci´n de Objetivos
            o
Sean los estados E1 y E2 descritos en la figura



                                                              C
                          B                          D        B
                C         A    D                              A
                          E1                             E2

y los estados finales
            O1 : sobre(B, A) ∧ sobreLaMesa(A)
            O2 : sobre(x, A) ∧ despejado(x) ∧ brazoLibre
            O3 : sobre(x, A) ∧ sobre(y, x)
Estudiar la satisfacibilidad de cada estado Oi por parte de E1 y E2 .
    M. Ram´
          ırez K. (USS)            Apunte curso IA        Primer Semestre 2011   21 / 100
Representaci´n de Objetivos
            o


Soluci´n
      o

    En primer lugar, obtengamos la descripci´n algebraica para E1 y E2
                                            o
    en base a los predicados ya vistos:
    E1 : despejado(B) ∧ despejado(C) ∧ despejado(D)
            ∧ brazoLibre ∧ sobreLaMesa(A) ∧ sobreLaMesa(C)
            ∧ sobreLaMesa(D) ∧ sobre(B, A)
     E2     : despejado(C) ∧ sobreLaMesa(A)
            ∧ sobre(B, A) ∧ sobre(C, B) ∧ agarrado(D)




    M. Ram´
          ırez K. (USS)        Apunte curso IA      Primer Semestre 2011   22 / 100
Representaci´n de Objetivos
            o




Caso O1

    Como los literales sobre(B, A) y sobreLaMesa(A) aparecen en la
    descripci´n de estados de E1 , ´ste claramente satisface a O1 .
             o                     e
          La misma explicaci´n y conclusi´n es v´lida para E2 .
                            o            o      a




   M. Ram´
         ırez K. (USS)             Apunte curso IA         Primer Semestre 2011   23 / 100
Representaci´n de Objetivos
            o

Caso O2

    La satisfacibilidad de E1 se puede garantizar si es posible encontrar
    alg´n valor de x para el cual sobre(x, A) y despejado(x) est´n en
       u                                                             e
    E1 .
          Si intentamos con x = A vemos que las condiciones sobre(A, A) y
          despejado(A) no son ciertas ya que esos literales no est´n en E1 .
                                                                  a
          Si x = B vemos que s´ se cumple sobre(B, A) y despejado(B)
                                 ı
          por lo que E1 s´ satisface a O2 .
                         ı
    Como al menos para un valor de x se cumple,no es necesario probar
    con los restantes, que son C y D.
    E2 es m´s sencillo puesto que, al no aparecer brazoLibre en su
             a
    descripci´n algebraica se deduce que esta condici´n no se tiene en
             o                                       o
    virtud del supuesto del mundo cerrado:
          por lo tanto, E2 no satisface O2 .

   M. Ram´
         ırez K. (USS)              Apunte curso IA      Primer Semestre 2011   24 / 100
Representaci´n de Objetivos
            o



Caso O3

    En E1 , el unico valor de x para el cual el predicado sobre(x, A) se
               ´
    satisface es con x = B
          pero no es posible encontrar alg´n valor de y en el conjunto
                                          u
          {A, B, C, D} tal que sobre(y, x = B) se haga presente en E1 .
          Luego, E1 no satisface a O3 .
    E2 s´ cumple con las exigencias de O3 ya que es posible encontrar
         ı
    valores x = B, y = C tales que sobre(x = B, A) y
    sobre(y = C, x = B) est´n en E2 .
                              e




   M. Ram´
         ırez K. (USS)           Apunte curso IA        Primer Semestre 2011   25 / 100
¿Qu´ vimos la clase pasada?
   e




   Concepto de plan y planificaci´n.
                                o
   Introducci´n al lenguaje de planificadores usando como paradigma
               o
   inicial la representaci´n STRIPS y sus elementos.
                          o
   Representaci´n de estados y objetivos.
               o
   Satisfacibilidad.




   M. Ram´
         ırez K. (USS)        Apunte curso IA     Primer Semestre 2011   26 / 100
Hoy veremos




   Representaci´n de acciones, para as´ terminar con el tridente
               o                      ı
   P =< E, Φ, M >.
   ADL como extensi´n v´lida a STRIPS.
                   o a




   M. Ram´
         ırez K. (USS)         Apunte curso IA       Primer Semestre 2011   27 / 100
Representaci´n de Acciones
            o

Las acciones del conjunto Φ se componen de cuatro partes:
  1   El nombre de la acci´n, con sus par´metros.
                          o              a
  2   Las precondiciones que tienen que satisfacerse para que la acci´n se ejecute.
                                                                     o
             Se describen como una conjunci´n de literales.
                                            o
             Esta lista la denotaremos por Precondicion .
                                                       ´
  3   La lista de borrado, que contiene la lista de ´tomos y literales – escrita como
                                                    a
      conjunci´n – que dejan de ser ciertos una vez que se ha aplicado el
               o
      operador.
             La llamaremos Borrado .
  4   La lista de efectos, que contiene la conjunci´n de aquellos ´tomos y literales
                                                   o              a
      que pasan a ser verdaderos una vez que se ha aplicado el operador.
             La llamaremos Efectos .



      M. Ram´
            ırez K. (USS)            Apunte curso IA          Primer Semestre 2011   28 / 100
Representaci´n de Acciones
            o




Es com´n fusionar en Efectos las conjunciones de Borrado con
      u
Efectos , haciendo que las primeras aparezcan negadas.




   M. Ram´
         ırez K. (USS)       Apunte curso IA     Primer Semestre 2011   29 / 100
Representaci´n de Acciones
            o
¿Qu´ pasa en el mundo de los bloques?
   e




  1. Colocar el bloque x sobre el bloque y:
     Apilar(x, y)
         • Precondicion : despejado(y) ∧ agarrado(x)
                      ´
         • Borrado : despejado(y) ∧ agarrado(x)
         • Efectos : brazoLibre ∧ sobre(x, y) ∧ despejado(x)
  2. Remover el bloque x que est´ sobre el bloque y:
                                a
     Desapilar(x, y)
         • Precondicion : sobre(x, y) ∧ despejado(x) ∧ brazoLibre
                      ´
         • Borrado : sobre(x, y) ∧ despejado(x) ∧ brazoLibre
         • Efectos : agarrado(x) ∧ despejado(y)




     M. Ram´
           ırez K. (USS)            Apunte curso IA    Primer Semestre 2011   30 / 100
Representaci´n de Acciones
            o
¿Qu´ pasa en el mundo de los bloques?
   e




  3. Tomar un bloque x con el brazo robotizado:
     Agarrar(x)
         • Precondicion :
                      ´
           despejado(x) ∧ sobreLaMesa(x) ∧ brazoLibre
         • Borrado : despejado(x) ∧ sobreLaMesa(x) ∧ brazoLibre
         • Efectos : agarrado(x)
  4. Dejar un bloque x en la mesa:
     Bajar(x)
         • Precondicion : agarrado(x)
                      ´
         • Borrado : agarrado(x)
         • Efectos : despejado(x)




     M. Ram´
           ırez K. (USS)            Apunte curso IA   Primer Semestre 2011   31 / 100
Representaci´n de Acciones
            o




   Un operador es aplicable a un estado cuando satisface sus
   precondiciones:
          si aparecen variables en Precondicion , la aplicabilidad se define con
                                               ´
          respecto de la sustituci´n Θ usada para satisfacer la precondici´n.
                                  o                                       o
   Para simplificar, en algunos casos la sustituci´n vendr´ impl´
                                                 o       a     ıcita
   cuando se hable del operador:
          Desapilar(A, B) se refiere a la acci´n Desapilar(x, y) aplicando la
                                             o
          sustituci´n Θ = {x/A, y/B}.
                   o




   M. Ram´
         ırez K. (USS)            Apunte curso IA         Primer Semestre 2011   32 / 100
Representaci´n de Acciones
            o



   El resultado de aplicar un operador aplicable a un estado E lo
   denotaremos por E . La construcci´n de E se hace siguiendo este
                                      o
   esquema:
      1 Hacemos E = E.
      2 Eliminando de E los ´tomos instanciados con Θ y los literales
                              a
        (cerrados o no) de la lista Borrado (si estuvieran) y
      3 agregando a E los ´tomos y literales (cerrados o no) instanciados con
                            a
        Θ de la lista Efectos (los que no est´n).
                                             e
   La soluci´n (plan) consiste en una secuencia de operadores
             o
   aplicables, completamente instanciados, desde el estado inicial al
   objetivo cuando ´ste se encuentre satisfecho.
                   e



   M. Ram´
         ırez K. (USS)           Apunte curso IA        Primer Semestre 2011   33 / 100
Representaci´n de Acciones
            o
Ejemplo de aplicabilidad de operador




Consideremos aplicar la acci´n Apilar(A, D) al estado descrito en la
                            o
figura




                                 A          C
                                            B            D
                                            E



     M. Ram´
           ırez K. (USS)               Apunte curso IA       Primer Semestre 2011   34 / 100
Representaci´n de Acciones
            o
Ejemplo de aplicabilidad de operador

Soluci´n
      o

      La descripci´n algebraica de E viene dada por
                  o

          E     : despejado(C) ∧ despejado(D) ∧ sobreLaMesa(B)
                ∧ sobreLaMesa(D) ∧ sobre(C, B) ∧ agarrado(A)


      Para hallar el valor de Apilar(x, y) debemos ver si E satisface las
      precondiciones de este operador aplicando la sustituci´n
                                                            o
      Θ = {x/A, y/D}:
            Esto implica que despejado(D) y agarrado(A) deben estar en la
            descripci´n de E, lo cual as´ ocurre.
                     o                  ı
            Por lo tanto, el operador es aplicable a este estado.
      Veamos c´mo se genera el resultado de esta operaci´n
              o                                         o
      E = Apilar(A, D).
     M. Ram´
           ırez K. (USS)               Apunte curso IA   Primer Semestre 2011   35 / 100
Representaci´n de Acciones
            o
Ejemplo de aplicabilidad de operador



      Los ´tomos instanciados con Θ de la lista Borrado son
          a
      despejado(D) y agarrado(A), y se tienen que eliminar de E :
      Hasta el momento:
                                                         ((
         E       :despejado(C) ∧ ((((((
                                 despejado(D) ∧ sobreLaMesa(B)
                                                         ((
                ∧ sobreLaMesa(D) ∧ sobre(C, B) ∧ (((((
                                                 agarrado(A)


      Por lo tanto:

                       E   : despejado(C) ∧ sobreLaMesa(B)
                           ∧ sobreLaMesa(D) ∧ sobre(C, B)



     M. Ram´
           ırez K. (USS)               Apunte curso IA        Primer Semestre 2011   36 / 100
Representaci´n de Acciones
            o
Ejemplo de aplicabilidad de operador




      Por otro lado, los ´tomos y literales cerrados que no est´n en E son:
                         a                                     a
            brazoLibre
            sobre(A, D)
            despejado(A).
      Ahora hay que agregarlos a E . Por lo tanto:

             E       :despejado(C) ∧ despejado(A) ∧ brazoLibre
                    ∧ sobreLaMesa(B) ∧ sobreLaMesa(D) ∧
                    ∧ sobre(C, B) ∧ sobre(A, D)




     M. Ram´
           ırez K. (USS)               Apunte curso IA   Primer Semestre 2011   37 / 100
Representaci´n de Acciones
            o
Ejemplo de aplicabilidad de operador




      As´ el resultado de la operaci´n es:
        ı,                          o


                                   A PILAR (A,D)


            A              C                                       C            A
                           B   D                                   B            D
                           E                                       E'



     M. Ram´
           ırez K. (USS)               Apunte curso IA   Primer Semestre 2011   38 / 100
Extensiones a STRIPS


   STRIPS presenta restricciones para simplificar y generar algoritmos
   m´s eficientes.
     a
   Una de las m´s emblem´ticas es que los literales no permiten
               a          a
   dependencias funcionales, lo que significa en la pr´ctica que todo
                                                     a
   problema tenga una cantidad finita de representaciones para sus
   acciones:
          si se admite la inclusi´n de s´
                                 o      ımbolos funcionales, la cantidad de estados
          y acciones puede ser infinita.
   En los ultimos a˜os, se ha mostrado claramente que STRIPS no
          ´        n
   posee expresividad suficiente para ciertos dominios reales.
   Entonces, muchos lenguajes han sido desarrollados. Entre ellos: ADL

Action Description Language


   M. Ram´
         ırez K. (USS)             Apunte curso IA          Primer Semestre 2011   39 / 100
Comparaci´n entre STRIPS y ADL
         o



   Lenguaje STRIPS                                 Lenguaje ADL

   S´lo literales positivos en estados:
    o                                              Literales positivos y negativos en esta-
                                                   dos:
   pobre ∧ desconocido                             ¬rico ∧ ¬desconocido



   Hip´tesis del Mundo Cerrado:
       o                                           Hip´tesis del Mundo Abierto:
                                                       o
   los literales no mencionados son falsos.        los literales no mencionados son des-
                                                   conocidos.




   M. Ram´
         ırez K. (USS)                    Apunte curso IA              Primer Semestre 2011   40 / 100
Comparaci´n entre STRIPS y ADL
         o
   Lenguaje STRIPS                            Lenguaje ADL

   Los objetivos son conjunciones:            Se permiten conjunciones y disyunciones
                                              en los objetivos:
   pobre ∧ desconocido.                       pobre ∧ (desconocido ∨
                                              inteligente).

   Los efectos son conjunciones.              Se permiten efectos condicionales:
                                              cuando P : E se interpreta como que E
                                              es un efecto s´lo si P se satisface.
                                                            o



   No soporta igualdades.                     Predicados de igualdad (x = y) son ad-
                                              mitidos.



   No soporta tipos.                          Las variables pueden tener tipos, como
                                              x :entero.


   M. Ram´
         ırez K. (USS)               Apunte curso IA              Primer Semestre 2011   41 / 100
¿Qu´ vimos la clase pasada?
   e




   Algoritmos para encontrar sucesores y predecesores de estados.
   B´squeda hacia adelante y hacia atr´s:
    u                                 a
          definiciones
          diferencias entre un enfoque y otro.




   M. Ram´
         ırez K. (USS)             Apunte curso IA   Primer Semestre 2011   42 / 100
Hoy veremos




   Planificadores de Orden Parcial (POP)




   M. Ram´
         ırez K. (USS)      Apunte curso IA   Primer Semestre 2011   43 / 100
Planificadores de orden parcial




    Tanto la b´squeda de planes hacia adelante como la b´squeda de
              u                                            u
    planes hacia atr´s son ejemplos de algoritmos de planificaci´n lineal.
                    a                                           o
    En un planificador lineal, el espacio de b´squeda lo forman secuencias
                                             u
    totalmente ordenadas de acciones:
          desde el inicio hacia adelante
          desde el objetivo hacia atr´s.
                                     a
          Por lo tanto, no se saca provecho de la posible descomposici´n que
                                                                      o
          tenga el problema.




   M. Ram´
         ırez K. (USS)            Apunte curso IA        Primer Semestre 2011   44 / 100
Planificadores de orden parcial




    Importante
    En lugar de trabajar con cada subproblema, nos enfocaremos en el
    orden de las acciones mediante un esquema que
          trabaje en varios subojetivos de manera independiente
          los soluciones mediante subplanes
          para finalizar con la combinaci´n de los subplanes utilizados.
                                        o




   M. Ram´
         ırez K. (USS)           Apunte curso IA       Primer Semestre 2011   45 / 100
Planificadores de orden parcial


    La ventaja que ofrece este enfoque es que permite flexibilizar el orden
    en que se generen las acciones:
           as´ el planificador puede trabajar sobre decisiones de distinta
             ı,
           importancia en lugar de ce˜irse por un orden cronol´gico o espacial de
                                     n                         o
           las mismas.

Ejemplo
Un planificador para una persona que se encuentre en el aeropuerto de
Punta Arenas y desee llegar al aeropuerto de Iquique. Primero podr´
                                                                  ıa
intentar encontrar un vuelo de Concepci´n a Santiago en lugar de partir
                                        o
buscando un vuelo de Punta Arenas a Puerto Montt y seguir el orden
geogr´fico sur-norte.
      a



    M. Ram´
          ırez K. (USS)             Apunte curso IA         Primer Semestre 2011   46 / 100
Planificadores de orden parcial




Para graficar los conceptos que vendr´n m´s adelante, vamos a tomar
                                    a    a
como referencia el ejemplo de ponerse un par de zapatos.

Los predicados que vamos a considerar son:
  1   CDP:    Calcet´ derecho puesto.
                    ın
  2   CIP:    Calcet´ izquierdo puesto.
                    ın
  3   ZDP:    Zapato derecho puesto.
  4   ZIP:    Zapato izquierdo puesto.




      M. Ram´
            ırez K. (USS)         Apunte curso IA   Primer Semestre 2011   47 / 100
Planificadores de orden parcial
acciones para el ejemplo de ponerse zapatos




         Calcet´
               ınDerecho()
                                                        ZapatoDerecho()
             • Precondicion : —
                         ´
                                                          • Precondicion : CDP
                                                                      ´
             • Borrado : —                                • Borrado : —
             • Efectos : CDP                              • Efectos : ZDP



         Calcet´
               ınIzquierdo()                            ZapatoIzquierdo()
             • Precondicion : —
                         ´                                • Precondicion : CIP
                                                                      ´
             • Borrado : —                                • Borrado : —
             • Efectos : CIP                              • Efectos : ZIP




     M. Ram´
           ırez K. (USS)              Apunte curso IA              Primer Semestre 2011   48 / 100
Planificadores de orden parcial
Problema de ponerse los zapatos




     El estado inicial es vac´ y el estado final es ZDP ∧ ZIP.
                             ıo
     Ac´ es posible apreciar dos subobjetivos:
        a
            ponerse el zapato derecho
            ponerse el zapato izquierdo
            ambos se pueden combinar para conseguir el objetivo del problema.
     El planificador que se construya manipula la secuencia de acciones de
     manera independiente sin importar a qu´ secuencia corresponda una
                                           e
     acci´n concreta.
         o




     M. Ram´
           ırez K. (USS)            Apunte curso IA        Primer Semestre 2011   49 / 100
Planificadores de orden parcial
Problema de ponerse los zapatos




Cualquier algoritmo de planificaci´n que pueda combinar dos acciones
                                 o
dentro del mismo plan sin importar cu´l de ellas va primero se le conoce
                                     a
como planificador de primer orden.




     M. Ram´
           ırez K. (USS)          Apunte curso IA     Primer Semestre 2011   50 / 100
Planificadores de orden parcial
POP para el problema de los calcetines




                                                 INICIO



                           CalcetínIzquierdo                     CalcetínDerecho



                               CIP                                        CDP

                           ZapatoIzquierdo                       ZapatoDerecho



                                     ZIP                         ZDP

                                                    FIN




     M. Ram´
           ırez K. (USS)                       Apunte curso IA               Primer Semestre 2011   51 / 100
Planificadores de orden parcial
POP para el problema de los calcetines




Observaciones

      Esta soluci´n se debe interpretar como un grafo de acciones y no
                 o
      como una secuencia lineal de acciones.
      Inicio y Fin las tomaremos como acciones para que cada etapa del
      plan sea una acci´n.
                       o
      Para el ejemplo, la soluci´n de orden parcial tiene correspondencia
                                o
      con seis posibles planes de orden total, cada uno de los cuales recibe
      el nombre de linealizaci´n del plan de orden parcial.
                               o




     M. Ram´
           ırez K. (USS)                 Apunte curso IA   Primer Semestre 2011   52 / 100
Planificadores de orden parcial
Linealizaciones para el POP de ponerse un par de zapatos


            INICIO              INICIO              INICIO               INICIO              INICIO              INICIO




        CalcetínIzquierdo   CalcetínDerecho     CalcetínIzquierdo    CalcetínIzquierdo   CalcetínDerecho     CalcetínDerecho




         ZapatoIzquierdo     ZapatoDerecho      CalcetínDerecho      CalcetínDerecho     CalcetínIzquierdo   CalcetínIzquierdo




         CalcetínDerecho    CalcetínIzquierdo   ZapatoIzquierdo       ZapatoDerecho      ZapatoIzquierdo      ZapatoDerecho




         ZapatoDerecho      ZapatoIzquierdo      ZapatoDerecho       ZapatoIzquierdo      ZapatoDerecho      ZapatoIzquierdo




             FIN                 FIN                 FIN                  FIN                 FIN                 FIN




     M. Ram´
           ırez K. (USS)                                   Apunte curso IA                          Primer Semestre 2011         53 / 100
Construcci´n de un Plan Parcialmente Ordenado (POP)
          o


   El POP se puede implementar como una b´squeda en el espacio de
                                         u
   planes:
          cada estado del plan parcial es a su vez un plan en lugar de una
          situaci´n particular del mundo, como ocurre en los planificadores
                 o
          lineales.
   Se parte con un plan vac´ y posteriormente se considerar´n formas
                           ıo                              a
   de ir refinando el plan hasta que tengamos uno completo que
   resuelva el problema.
   Las acciones no afectan al mundo, sino que operan directamente
   sobre el plan:
          agregar alguna etapa
          imponer alguna ordenaci´n particular.
                                 o
   Para evitar confusiones, se hablar´ m´s de planes que de estados.
                                     a a


   M. Ram´
         ırez K. (USS)            Apunte curso IA         Primer Semestre 2011   54 / 100
Construcci´n de un Plan Parcialmente Ordenado (POP)
          o
Componentes




1. Acciones

     Las acciones constituyen los pasos que el plan lleva a cabo
     considerando los operadores del problema, sus precondiciones y
     efectos.
     Hay dos acciones distinguidas:
       1 Inicio, que no tiene precondiciones y cuyo efecto es el estado inicial
         del problema.
       2 Fin, que no tiene efectos y cuyas precondiciones corresponden al
         estado final.




    M. Ram´
          ırez K. (USS)            Apunte curso IA         Primer Semestre 2011   55 / 100
Construcci´n de un Plan Parcialmente Ordenado (POP)
          o
Componentes



2. Restricciones de Orden

     Son de la forma A      B:
           A est´ antes que B
                a

                                A                     B
     La acci´n A tiene que ejecutarse en alg´n momento antes que la
            o                               u
     acci´n B,pero no necesariamente en el estado inmediatamente
         o
     anterior.


En la generaci´n de un plan soluci´n no pueden haber ciclos, por lo que
              o                   o
una situaci´n del tipo A B y B A no puede darse.
           o


    M. Ram´
          ırez K. (USS)             Apunte curso IA   Primer Semestre 2011   56 / 100
Construcci´n de un Plan Parcialmente Ordenado (POP)
          o
Componentes




3. Relaciones Causales

     Un enlace causal entre dos acciones A y B en un plan lo escribimos
              p
     como A → B y se debe interpretar as´
             −                            ı:
           A alcanza a B a trav´s del predicado
                               e                     p:
                                                p
                                 A                        B




    M. Ram´
          ırez K. (USS)            Apunte curso IA            Primer Semestre 2011   57 / 100
Construcci´n de un Plan Parcialmente Ordenado (POP)
          o
Componentes




Ejemplo

     El enlace causal
                                      CDP
                            ınDerecho −→ ZapatoDerecho
                      Calcet´         −

     nos dice que CDP es un efecto de la acci´n Calcet´
                                             o        ınDerecho
     y que a su vez es una precondici´n para el operador
                                      o
     ZapatoDerecho.
     Tambi´n indica que CDP debe ser cierto durante el tiempo de
           e
     ejecuci´n que transcurre entre las acciones Calcet´
            o                                            ınDerecho
     y ZapatoDerecho.


    M. Ram´
          ırez K. (USS)          Apunte curso IA   Primer Semestre 2011   58 / 100
Construcci´n de un Plan Parcialmente Ordenado (POP)
          o
Componentes




                                                                       p
     Una acci´n C entra en conflicto con el enlace causal A → B si:
             o                                             −
           C tiene a ¬p dentro de su lista de efectos
           C pudiera estar despu´s de A y antes de B (A
                                e                            C∧C           B).



     El plan no puede verse extendido por la adici´n de una acci´n C que
                                                   o            o
                                                 p
     creara un conflicto con el enlace causal A → B:
                                                −
           este enlace se conoce con el nombre de intervalo de protecci´no
           porque el link que hay entre A y B protege a p de ser falsa a lo largo
           del intervalo que va de A a B.




    M. Ram´
          ırez K. (USS)             Apunte curso IA         Primer Semestre 2011   59 / 100
Construcci´n de un Plan Parcialmente Ordenado (POP)
          o
Componentes




4. Precondiciones Abiertas

     Son aquellas que a´n no han sido alcanzadas por alguna acci´n en
                       u                                        o
     el plan.
     El objetivo apunta a reducir las precondiciones abiertas a vac´
                                                                   ıo.

     Importante
     Un plan se dice que es consistente si:
           No hay ciclos con las restricciones ordenadas.
           No hay conflictos con los enlaces causales.
           No tiene precondiciones abiertas.



    M. Ram´
          ırez K. (USS)           Apunte curso IA       Primer Semestre 2011   60 / 100
Construcci´n de un Plan Parcialmente Ordenado (POP)
          o




La evaluaci´n del objetivo verifica que en cada paso no queden
           o
precondiciones abiertas por analizar.Se ha demostrado que este esquema
siempre genera planes consistentes.




    M. Ram´
          ırez K. (USS)        Apunte curso IA      Primer Semestre 2011   61 / 100
Construcci´n de un Plan Parcialmente Ordenado (POP)
          o
Acciones




     Por cada precondici´n abierta p de alguna acci´n B del plan y por
                        o                          o
     cada acci´n A que tenga a p como efecto se puede obtener un
              o
     plan sucesor (refinamiento).
     Hay dos operaciones disponibles:
            resolver la precondici´n abierta
                                  o
            resolver los conflictos con los nuevos enlaces causales.




     M. Ram´
           ırez K. (USS)             Apunte curso IA          Primer Semestre 2011   62 / 100
Construcci´n de un Plan Parcialmente Ordenado (POP)
          o
Acciones




Paso 1: Resolver la precondici´n abierta.
                              o

   1   Si la acci´n A ya est´ en el plan, se agrega la restricci´n A
                 o          a                                   o              B y el
                        p
       enlace causal A → B:
                       −
              esta t´cnica se conoce como establecimiento simple.
                    e
   2   Si la acci´n A no est´ en el plan, se agregan:
                 o          a
              A
              las restricciones A B
              Inicio A, A Fin
                                 p
              el enlace causal A − B.
                                 →




       M. Ram´
             ırez K. (USS)              Apunte curso IA     Primer Semestre 2011   63 / 100
Construcci´n de un Plan Parcialmente Ordenado (POP)
          o
Acciones




Paso 2: Resolver los conflictos entre el nuevo enlace causal y las acciones
definidas en el plan.

                                              p
     Si el conflicto es de la forma A → B, tenemos dos alternativas para
                                     −
     resolverlo:
           1   agregando la restricci´n B
                                     o       C (promoci´n) o bien
                                                        o
           2   agregando la restricci´n C
                                     o       A, conocida como degradaci´n.
                                                                       o




     M. Ram´
           ırez K. (USS)               Apunte curso IA        Primer Semestre 2011   64 / 100
Anteriormente. . . construcci´n de un POP
                             o


    El POP se puede implementar como una b´squeda en el espacio de
                                          u
    planes:
          cada estado del plan parcial es a su vez un plan en lugar de una
          situaci´n particular del mundo, como ocurre en los planificadores
                 o
          lineales.
    Se parte con un plan vac´ y posteriormente se considerar´n formas
                             ıo                             a
    de ir refinando el plan hasta que tengamos uno completo que resuelva
    el problema.
    Las acciones no afectan al mundo, sino que operan directamente
    sobre el plan:
          agregar alguna etapa
          imponer alguna ordenaci´n particular.
                                 o
    Para evitar confusiones, se hablar´ m´s de planes que de estados.
                                      a a


   M. Ram´
         ırez K. (USS)            Apunte curso IA         Primer Semestre 2011   65 / 100
Anteriormente. . . construcci´n de un POP
                             o
Componentes




1. Acciones

     Las acciones constituyen los pasos que el plan lleva a cabo
     considerando los operadores del problema, sus precondiciones y
     efectos.
     Hay dos acciones distinguidas:
       1 Inicio, que no tiene precondiciones y cuyo efecto es el estado inicial
         del problema.
       2 Fin, que no tiene efectos y cuyas precondiciones corresponden al
         estado final.




    M. Ram´
          ırez K. (USS)            Apunte curso IA         Primer Semestre 2011   66 / 100
Anteriormente. . . construcci´n de un POP
                             o
Componentes



2. Restricciones de Orden

     Son de la forma A      B:
           A est´ antes que B
                a

                                A                     B
     La acci´n A tiene que ejecutarse en alg´n momento antes que la
            o                               u
     acci´n B, pero no necesariamente en el estado inmediatamente
         o
     anterior.


En la generaci´n de un plan soluci´n no pueden haber ciclos, por lo que
              o                   o
una situaci´n del tipo A B y B A no puede darse.
           o


    M. Ram´
          ırez K. (USS)             Apunte curso IA   Primer Semestre 2011   67 / 100
Anteriormente. . . construcci´n de un POP
                             o
Componentes




3. Relaciones Causales

     Un enlace causal entre dos acciones A y B en un plan lo escribimos
              p
     como A → B y se debe interpretar as´
             −                            ı:
           A alcanza a B a trav´s del predicado
                               e                     p:
                                                p
                                 A                        B




    M. Ram´
          ırez K. (USS)            Apunte curso IA            Primer Semestre 2011   68 / 100
Anteriormente. . . construcci´n de un POP
                             o
Componentes




Ejemplo

     El enlace causal
                                      CDP
                            ınDerecho −→ ZapatoDerecho
                      Calcet´         −

     nos dice que CDP es un efecto de la acci´n Calcet´
                                             o        ınDerecho
     y que a su vez es una precondici´n para el operador
                                      o
     ZapatoDerecho.
     Tambi´n indica que CDP debe ser cierto durante el tiempo de
           e
     ejecuci´n que transcurre entre las acciones Calcet´
            o                                            ınDerecho
     y ZapatoDerecho.


    M. Ram´
          ırez K. (USS)          Apunte curso IA   Primer Semestre 2011   69 / 100
Anteriormente. . . construcci´n de un POP
                             o
Componentes




                                                                       p
     Una acci´n C entra en conflicto con el enlace causal A → B si:
             o                                             −
           C tiene a ¬p dentro de su lista de efectos
           C pudiera estar despu´s de A y antes de B (A
                                e                            C∧C           B).



     El plan no puede verse extendido por la adici´n de una acci´n C que
                                                   o            o
                                                 p
     creara un conflicto con el enlace causal A → B:
                                                −
           este enlace se conoce con el nombre de intervalo de protecci´no
           porque el link que hay entre A y B protege a p de ser falsa a lo largo
           del intervalo que va de A a B.




    M. Ram´
          ırez K. (USS)             Apunte curso IA         Primer Semestre 2011   70 / 100
Anteriormente. . . construcci´n de un POP
                             o
Componentes




4. Precondiciones Abiertas

     Son aquellas que a´n no han sido alcanzadas por alguna acci´n en
                       u                                        o
     el plan.
     El objetivo apunta a reducir las precondiciones abiertas a cero.

     Importante
     Un plan se dice que es consistente si:
           No hay ciclos con las restricciones ordenadas.
           No hay conflictos con los enlaces causales.
           No tiene precondiciones abiertas.



    M. Ram´
          ırez K. (USS)           Apunte curso IA       Primer Semestre 2011   71 / 100
Anteriormente. . . construcci´n de un POP
                             o




La evaluaci´n del objetivo verifica que en cada paso no queden
           o
precondiciones abiertas por analizar. Se ha demostrado que este esquema
siempre genera planes consistentes.




    M. Ram´
          ırez K. (USS)        Apunte curso IA      Primer Semestre 2011   72 / 100
Anteriormente. . . construcci´n de un POP
                             o
Acciones




     Por cada precondici´n abierta p de alguna acci´n B del plan y por
                        o                          o
     cada acci´n A que tenga a p como efecto se puede obtener un
              o
     plan sucesor (refinamiento).
     Hay dos operaciones disponibles:
            resolver la precondici´n abierta
                                  o
            resolver los conflictos con los nuevos enlaces causales.




     M. Ram´
           ırez K. (USS)             Apunte curso IA          Primer Semestre 2011   73 / 100
Anteriormente. . . construcci´n de un POP
                             o
Acciones




Paso 1: Resolver la precondici´n abierta.
                              o

   1   Si la acci´n A ya est´ en el plan, se agrega la restricci´n A
                 o          a                                   o              B y el
                        p
       enlace causal A → B:
                       −
              esta t´cnica se conoce como establecimiento simple.
                    e
   2   Si la acci´n A no est´ en el plan, se agregan:
                 o          a
              A
              las restricciones A B
              Inicio A, A Fin
                                 p
              el enlace causal A − B.
                                 →




       M. Ram´
             ırez K. (USS)              Apunte curso IA     Primer Semestre 2011   74 / 100
Anteriormente. . . construcci´n de un POP
                             o
Acciones




Paso 2: Resolver los conflictos entre el nuevo enlace causal y las acciones
definidas en el plan.

                                              p
     Si el conflicto es de la forma A → B, tenemos dos alternativas para
                                     −
     resolverlo:
           1   agregando la restricci´n B
                                     o       C (promoci´n) o bien
                                                        o
           2   agregando la restricci´n C
                                     o       A, conocida como degradaci´n.
                                                                       o




     M. Ram´
           ırez K. (USS)               Apunte curso IA        Primer Semestre 2011   75 / 100
Hoy veremos




   Ejemplo completo de un planificador de orden parcial (POP)




   M. Ram´
         ırez K. (USS)       Apunte curso IA     Primer Semestre 2011   76 / 100
Ejemplo:
cambiar la rueda de repuesto de un veh´
                                      ıculo



Constantes

      RU EDA − P IN CHADA
      RU EDA − REP U EST O
      EJE
      M ALET ERO
      SU ELO

Predicado

      en: para indicar el lugar que ocupa un elemento en un momento
      determinado.


     M. Ram´
           ırez K. (USS)              Apunte curso IA   Primer Semestre 2011   77 / 100
Ejemplo:
cambiar la rueda de repuesto de un veh´
                                      ıculo




Estado Inicial


en(RU EDA − P IN CHADA, EJE) ∧ en(RU EDA − REP U EST O, M ALET ERO)

Objetivo


                           en(RU EDA − REP U EST O, EJE)




     M. Ram´
           ırez K. (USS)              Apunte curso IA      Primer Semestre 2011   78 / 100
Ejemplo: Definici´n de acciones (con lenguaje ADL) I
                o
para cambiar la rueda de repuesto de un veh´
                                           ıculo




Acciones

   1 Remover(RUEDA-REPUESTO,MALETERO)

         • Precondicion : en(RU EDA − REP U EST O, M ALET ERO)
                      ´
         • Efectos : ¬en(RU EDA − REP U EST O, M ALET ERO) ∧
           en(RU EDA − REP U EST O, SU ELO)
   2 Remover(RUEDA-PINCHADA,EJE)

         • Precondicion : en(RU EDA − P IN CHADA, EJE)
                      ´
         • Efectos : ¬en(RU EDA − P IN CHADA, EJE) ∧ en(RU EDA −
           P IN CHADA, SU ELO)




     M. Ram´
           ırez K. (USS)              Apunte curso IA   Primer Semestre 2011   79 / 100
Ejemplo: Definici´n de acciones (con lenguaje ADL) II
                o
para cambiar la rueda de repuesto de un veh´
                                           ıculo




   3 ColocarSobre(RUEDA-REPUESTO,EJE)

         • Precondicion : en(RU EDA − REP U EST O, SU ELO) ∧
                      ´
           ¬en(RU EDA − P IN CHADA, EJE)
         • Efectos : ¬en(RU EDA − REP U EST O, SU ELO) ∧
           en(RU EDA − REP U EST O, EJE)
   4 DejarPorLaNoche(—)

         • Precondicion : —
                      ´
         • Efectos : ¬en(RU EDA − REP U EST O, SU ELO) ∧
           ¬en(RU EDA − REP U EST O, EJE) ∧ ¬en(RU EDA −
           REP U EST O, M ALET ERO) ∧ ¬en(RU EDA −
           P IN CHADA, SU ELO) ∧ ¬en(RU EDA − P IN CHADA, EJE)




     M. Ram´
           ırez K. (USS)              Apunte curso IA   Primer Semestre 2011   80 / 100
Ejemplo:
cambiar la rueda de repuesto de un veh´
                                      ıculo




      La b´squeda de la soluci´n parte con un plan vac´ cuyas acciones
           u                   o                      ıo,
      iniciales ser´n Inicio y Fin.
                   a
      El efecto de Inicio es el estado inicial:
      en(RU EDA − P IN CHADA, EJE) ∧ en(RU EDA −
      REP U EST O, M ALET ERO)
      Las precondiciones de Fin son el objetivo:
      en(RU EDA − REP U EST O, EJE).
      La idea es no dejar precondiciones abiertas, y como la unica que
                                                             ´
      tenemos es la del final, tenemos que resolverla.
      Para eso buscamos las acciones cuyo efecto sea
      en(RU EDA − REP U EST O, EJE).



     M. Ram´
           ırez K. (USS)              Apunte curso IA   Primer Semestre 2011   81 / 100
Ejemplo:
cambiar la rueda de repuesto de un veh´
                                      ıculo


      La unica elecci´n posible es ColocarSobre.
         ´           o
      Las precondiciones de este operador son
      en(RU EDA−REP U EST O, SU ELO)∧¬en(RU EDA−P IN CHADA, EJE)


      Elegimos cualquiera de ella al azar.
      Las im´genes que ir´n apareciendo van mostrando c´mo va
             a           a                               o
      evolucionando la creaci´n del POP. Aquellas acciones que no est´n
                             o                                        e
      pintadas de blanco es porque tienen sus precondiciones abiertas ya
      resueltas.


                                       en(RR, Suelo)    ColocarSobre(RR,    en(RR,eje)
   Inicio                              en(RP, Eje)            Eje)                        Fin




     M. Ram´
           ırez K. (USS)              Apunte curso IA             Primer Semestre 2011   82 / 100
Ejemplo:
cambiar la rueda de repuesto de un veh´
                                      ıculo



      Nuestra elecci´n va a ser en(RU EDA − REP U EST O, SU ELO).
                    o
      El unico operador que tiene a
         ´
      en(RU EDA − REP U EST O, SU ELO) en su lista de efectos es
      Remover con par´metros RUEDA-REPUESTO y MALETERO.
                        a
      Lo agregamos al plan parcial que estamos generando.

      en( RR, Maletero )   Remover ( RR,
                             Maletero )




                                            en(RR, Suelo)    ColocarSobre(RR,    en(RR,eje)
   Inicio                                   en(RP,Eje)
                                                                   Eje)                        Fin




     M. Ram´
           ırez K. (USS)                   Apunte curso IA              Primer Semestre 2011   83 / 100
Ejemplo:
cambiar la rueda de repuesto de un veh´
                                      ıculo




      Actualizando lo que llevamos hasta el momento, tenemos dos
      precondiciones que a´n no se han analizado:
                          u
        1   en(RU EDA − REP U EST O, M ALET ERO)
        2   ¬en(RU EDA − P IN CHADA, EJE)
      ¿Cu´l elegimos?. Cualquiera.
           a
      Si nos quedamos con ¬en(RU EDA − P IN CHADA, EJE) , es
      f´cil advertir que tanto Remover como DejarPorLaNoche la
       a
      tienen dentro de su lista de efectos.
            Una de ellas se tiene que escoger para construir el plan.
            Veamos qu´ pasa si trabajamos con DejarPorLaNoche.
                       e




     M. Ram´
           ırez K. (USS)              Apunte curso IA      Primer Semestre 2011   84 / 100
Ejemplo:
cambiar la rueda de repuesto de un veh´
                                      ıculo




      Presenta el inconveniente que uno de sus efectos es
      ¬en(RU EDA − REP U EST O, SU ELO) , el que entra en conflicto
      con una de las precondiciones que tenemos abiertas:
      en(RU EDA − REP U EST O, SU ELO).
      Con esto, el link
                               en(R-REP,SUELO)
       Remover(R-REP,MALETERO) − − − − − − − ColocarSobre(R-REP,EJE)
                                −−−−−−→


      es el que se ve afectado.




     M. Ram´
           ırez K. (USS)              Apunte curso IA   Primer Semestre 2011   85 / 100
Ejemplo:
cambiar la rueda de repuesto de un veh´
                                      ıculo


      La unica manera de solucionar esto es mediante degradaci´n, es decir
         ´                                                    o
      agregando la relaci´n de orden
                         o
           DejarPorLaNoche               Remover(RU EDA − REP U EST O, M ALET ERO)



                  en( RR, Maletero )   Remover ( RR,
                                         Maletero )




                                                       en(RR, Suelo)   ColocarSobre(RR,   en(RR,eje)
               Inicio                                  en( RP,Eje)
                                                                             Eje)                      Fin




                             DejarPorLaNoche()




     M. Ram´
           ırez K. (USS)                         Apunte curso IA                   Primer Semestre 2011      86 / 100
Ejemplo:
cambiar la rueda de repuesto de un veh´
                                      ıculo




                                                    ¿Por qu´e
                                                    DejarPorLaNoche no
                                                    puede ir despu´s de
                                                                  e
                                                    ColocarSobre(RUEDA-
                                                    REPUESTO,EJE)?




     M. Ram´
           ırez K. (USS)              Apunte curso IA          Primer Semestre 2011   87 / 100
Ejemplo:
cambiar la rueda de repuesto de un veh´
                                      ıculo




      La unica precondici´n abierta que va quedando es
         ´               o
      en(RU EDA − REP U EST O, M ALET ERO).
      La unica acci´n que la tiene dentro de sus efectos es Inicio.
         ´         o
      El problema es que el link
                          en(R-REP,MALETERO)
                   Inicio − − − − − − − − → Remover(R-REP,MALETERO)
                           −−−−−−−−

      entra en conflicto con la acci´n DejarPorLaNoche
                                   o
            porque ¬en(RU EDA − REP U EST O, M ALET ERO) est´ en su
                                                            a
            lista de efectos.
      ¿C´mo se puede resolver el problema?
        o




     M. Ram´
           ırez K. (USS)              Apunte curso IA    Primer Semestre 2011   88 / 100
Ejemplo:
cambiar la rueda de repuesto de un veh´
                                      ıculo




      Por una parte, no podemos introducir el orden

                           DejarPorLaNoche              Inicio


      Ninguna acci´n est´ antes que Inicio ni tampoco podemos poner
                   o     a
      DejarPorLaNoche despu´s de  e
      Remover(RUEDA-REPUESTO,MALETERO) porque esto viola la
      relaci´n de orden impuesta anteriormente, que era
            o
           DejarPorLaNoche      Remover(RU EDA − REP U EST O, M ALET ERO)


      lo que adem´s genera un ciclo.
                 a




     M. Ram´
           ırez K. (USS)              Apunte curso IA       Primer Semestre 2011   89 / 100
Ejemplo:
cambiar la rueda de repuesto de un veh´
                                      ıculo




               en( RR,Maletero )     Remover( RR,
                                      Maletero )




                                                    en(RR,Suelo)                       en(RR,eje )
            Inicio                                  en(RP,Eje)   ColocarSobre(RR,Eje )               Fin




                            DejarPorLaNoche()




     M. Ram´
           ırez K. (USS)                        Apunte curso IA                      Primer Semestre 2011   90 / 100
Ejemplo:
cambiar la rueda de repuesto de un veh´
                                      ıculo




Por lo tanto, como no podemos resolver el conflicto de enlace la unica
                                                                 ´
alternativa que nos queda es desechar la opci´n de incorporar la acci´n
                                             o                       o
DejarPorLaNoche junto a los enlaces causales y de orden que se
hayan generado.




     M. Ram´
           ırez K. (USS)              Apunte curso IA   Primer Semestre 2011   91 / 100
Ejemplo:
cambiar la rueda de repuesto de un veh´
                                      ıculo




      Todo vuelve atr´s:
                     a

      en( RR, Maletero )   Remover ( RR,
                             Maletero )




                                            en(RR, Suelo)    ColocarSobre(RR,    en(RR,eje)
   Inicio                                   en(RP,Eje)
                                                                   Eje)                        Fin




     M. Ram´
           ırez K. (USS)                   Apunte curso IA              Primer Semestre 2011   92 / 100
Ejemplo:
cambiar la rueda de repuesto de un veh´
                                      ıculo




Si volvemos a considerar ¬en(RU EDA − P IN CHADA, EJE) vamos a
elegir Remover con par´metros (RU EDA − P IN CHADA, EJE).
                         a

               en( RR,Maletero )     Remover( RR,
                                      Maletero )




                                                         en(RR,Suelo)                       en(RR,eje )
            Inicio                                       en(RP,Eje)   ColocarSobre(RR,Eje )               Fin




                     en(RP, Eje )   Remover( RP, Eje )




     M. Ram´
           ırez K. (USS)                           Apunte curso IA                        Primer Semestre 2011   93 / 100
Ejemplo:
cambiar la rueda de repuesto de un veh´
                                      ıculo

      Nos quedan dos precondiciones abiertas:
        1 en(RU EDA − P IN CHADA, EJE)
        2 en(RU EDA − REP U EST O, M ALET ERO)
      Nos quedamos en(RU EDA − P IN CHADA, EJE) y elegimos Inicio para
      resolverla.
      Es f´cil advertir que este movimiento no genera conflictos.
          a

               en( RR, Maletero )   Remover ( RR,
                                      Maletero )




                                                    en(RR, Suelo)   ColocarSobre(RR,   en(RR,eje)
            Inicio                                  en(RP,Eje)
                                                                          Eje)                      Fin




                     en( RR, Eje ) Remover ( RP, Eje )




     M. Ram´
           ırez K. (USS)                         Apunte curso IA                   Primer Semestre 2011   94 / 100
Ejemplo:
cambiar la rueda de repuesto de un veh´
                                      ıculo




      Finalmente, resolvemos la precondici´n
                                          o
      en(RU EDA − REP U EST O, M ALET ERO) con Inicio,
      qued´ndonos un plan consistente y completo:
           a
                   en( RR,Maletero )     Remover( RR,
                                          Maletero )




                                                             en(RR,Suelo)                       en(RR,eje )
                Inicio                                       en(RP,Eje)   ColocarSobre(RR,Eje )               Fin




                         en( RR,Eje )   Remover( RP, Eje )




     M. Ram´
           ırez K. (USS)                           Apunte curso IA                        Primer Semestre 2011      95 / 100
Ejemplo:
cambiar la rueda de repuesto de un veh´
                                      ıculo




      Tenemos dos linealizaciones posibles:

        Inicio       Remover ( RR, Maletero )        Remover ( RP, Eje )     ColocarSobre(RR,Eje)      Fin




       Inicio          Remover ( RP, Eje )        Remover ( RR, Maletero )   ColocarSobre(RR,Eje)      Fin




     M. Ram´
           ırez K. (USS)                        Apunte curso IA                 Primer Semestre 2011    96 / 100
Ejemplo:
cambiar la rueda de repuesto de un veh´
                                      ıculo




      El ejemplo que acabamos de revisar tiene la fortaleza que permite
      exhibir todos los problemas que podemos enfrentar cuando hay que
      elaborar un POP.
      El hecho que los predicados y las acciones operen s´lo con constantes
                                                         o
      facilita la elecci´n del operador a elegir.
                        o
      Podemos querer generar un planificador de orden parcial sobre
      problemas donde todo est´ especificado en torno a variables como el
                              a
      mundo de los bloques.




     M. Ram´
           ırez K. (USS)              Apunte curso IA   Primer Semestre 2011   97 / 100
Ejercicios para desarrollar




  1   Confeccione un plan de orden parcial para el problema de cambiar la
      rueda de repuesto que sea distinto al propuesto en clases.
             Indique todas las linealizaciones posibles que se desprendan de su plan.
             Explique paso a paso c´mo su grupo gener´ la soluci´n.
                                     o                   o         o
  2   Complete el mapa conceptual que resuma todo lo visto en la Unidad
      3: Planificaci´n.
                   o




      M. Ram´
            ırez K. (USS)             Apunte curso IA          Primer Semestre 2011   98 / 100
M. Ram´
      ırez K. (USS)   Apunte curso IA   Primer Semestre 2011   99 / 100
Fin de la Unidad 3




    M. Ram´
          ırez K. (USS)   Apunte curso IA   Primer Semestre 2011   100 / 100

Más contenido relacionado

Destacado

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
ThinkNow
 
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
Kurio // The Social Media Age(ncy)
 

Destacado (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...
 

Unidad No. 3 - Planificadores Modernos

  • 1. INTELIGENCIA ARTIFICIAL - ICIF0021 Unidad 3 - Planificadores Modernos Docente: Milton A. Ram´ Klapp ırez miramire@gmail.com Universidad San Sebasti´n a Facultad de Ingenier´ y Tecnolog´ ıa ıa Primer Semestre 2011 M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 1 / 100
  • 2. Objetivos de la Unidad Identifican la problem´tica asociada con los m´todos de b´squeda estudiados en la a e u Unidad II. Identifican las componentes de los lenguajes de planificaci´n modernos. o Conocen la t´cnica STRIPS para modelar algebraicamente problemas de acuerdo e al esquema (Estados, Acciones, Operaciones). Resuelven problemas de planificaci´n usando las t´cnicas forward-chaining y o e backward-chaining. Reconocen las diferencias entre la planificaci´n lineal y de orden parcial. o Identifican los elementos que componen un planificador de orden parcial (POP). Resuelven problemas que involucran el uso de POP. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 2 / 100
  • 3. Contenidos 1 Lenguaje de Planificadores: representaci´n STRIPS y ADL. o 2 Planificaci´n hacia adelante y hacia atr´s. o a 3 Planificadores de orden parcial (POP). M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 3 / 100
  • 4. Introducci´n o Planificar significa encontrar una secuencia de acciones que permiten alcanzar un determinado objetivo a partir de un estado inicial: a esta serie de acciones la denominaremos plan un planificador ser´ la entidad de software que lo implemente. a M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 4 / 100
  • 5. Introducci´n o ¿Qu´ pasa si realizamos una b´squeda tradicional en entornos reales? e u La posibilidad m´s evidente es que el buscador de soluciones sea a desbordado por acciones completamente irrelevantes: pensemos en la tarea de adquirir un libro en una tienda online cuyo ISBN sea igual a 0137903952 si tenemos representada la acci´n de comprar cada libro con ISBN de o 10 d´ıgitos , ´sta nos generar´ un universo no despreciable de 1010 =10 e ıa billones de acciones para satisfacer el objetivo a conseguir. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 5 / 100
  • 6. Introducci´n o Un planificador razonable debiera ser capaz de trabajar con expresiones de objetivos expl´ ıcitas tales como Tener(ISBN 0137903952) y generar autom´ticamente la acci´n Comprar(ISBN 0137903952) directamente. a o El planificador debiera tener un conocimiento general del tipo Comprar(x) se reduce a Tener(x) M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 6 / 100
  • 7. Introducci´n o De poseerlo, el planificador puede decidir en un unico paso que ´ comprar(ISBN 0137903952) es la acci´n correcta. o Otra dificultad que surge si optamos por una b´squeda tradicional es u encontrar una heur´ıstica apropiada. Supongamos que el objetivo se redefine a comprar cuatro libros en la misma tienda: esto significa que tenemos un total de ¡1040 planes posibles con 4 etapas! M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 7 / 100
  • 8. Introducci´n o El uso de una heur´ ıstica es innegable. Para un ser humano, una heur´ ıstica podr´ ser la cantidad de libros ıa que quedan por comprar. para un planificador esto no es evidente puesto que cada subobjetivo lo eval´a como verdadero o falso. u Si el planificador tiene acceso al objetivo como una conjunci´n l´gica o o de subobjetivos, ´ste se puede representar como e Tener(A) ∧ Tener(B) ∧ Tener(C) ∧ Tener(D) M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 8 / 100
  • 9. Introducci´n o Otro aspecto a considerar de un planificador es que permita descomponer un problema en subproblemas: se puede demostrar que la estrategia dividir para conquistar mejora la eficiencia de los algoritmos de planificaci´n. o En un aeropuerto, trasladar maletas de viajes a sus destinos: una estrategia l´gica de descomposici´n es encontrar el aeropuerto m´s o o a cercano a cada destino y as´ hacer que cada subproblema se reduzca a ı llegar a cada aeropuerto intermedio. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 9 / 100
  • 10. Lenguaje de Planificadores Los aspectos que se consideren en la planificaci´n son: estados, o acciones y objetivos esto, para que los algoritmos aprovechen la estructura l´gica del o problema. Necesidad de contar con un lenguaje que sea expresivo y restrictivo a la vez. El lenguaje que ocuparemos en esta unidad recibe el nombre STRIPS: STanford Research Institute Problem Solver M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 10 / 100
  • 11. Representaci´n STRIPS o Elementos Elemento Descripci´n o Ejemplos Constantes Ser´n los objetos del mundo y a por convenci´n las denotare- o BLOQUE-A mos con may´scula. u RUEDA-DE-REPUESTO Variables Se usar´n para a x, x1 , x2 representar cualquier y objeto. z Su nombre va con min´scula. u Usaremos las ultimas ´ letras del alfabeto para representarlas. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 11 / 100
  • 12. Representaci´n STRIPS o Elemento Descripci´n o Ejemplos S´ ımbolos de predicados Se usan para representar las propiedades de los objetos. Su mayor(x, y) sem´ntica debe ser explicitada. a sobre(x1 , x2 ) No necesariamente contienen variables o constantes. S´ ımbolos de acciones Se usan para designar los ope- radores y las denotaremos con Comprar(x) Versalitas. MoverHaciaDerecha(z) Intercambiar(x, y) ´ Atomos F´rmulas de la forma o sobre (x, A) P (o1 , . . . , on ) volandoHacia(x, y) donde oi representa una cons- tante o una variable y P un pre- dicado. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 12 / 100
  • 13. Representaci´n STRIPS o Elemento Descripci´n o Ejemplos Literales ´ Atomos o negaci´n o de ´tomos. a p(o1 , . . . , on ) ¬padreDe(P EDRO, AN A) Literales cerrados Sin variables, s´lo cons- o tantes. Un literal cerrado se sobre(SILLA, SU ELO) dice que es positivo cuando volarHacia(LA815, LA) no est´ negado. a M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 13 / 100
  • 14. Representaci´n de Estados o Los estados de E se representan mediante una conjunci´n de literales o positivos cerrados. Deben ser simples y sin dependencias funcionales. No est´ permitido definir un estado como a en(casaDe(x), y) colorDe(x, RGB(#c86400)) etc. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 14 / 100
  • 15. Representaci´n de Estados o Importante Asumiremos un supuesto conocido como Mundo Cerrado, en el cual las condiciones que no se mencionan se deben tomar como falsas. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 15 / 100
  • 16. Representaci´n de Estados o Algunos estados v´lidos pueden ser: a adinerado ∧ miserable para representar a alguien desafortunado. en(AIRP LAN E1 , CCP ) ∧ en(AIRP LAN E2 , SCL) para representar una situaci´n del problema de las maletas. o M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 16 / 100
  • 17. Representaci´n de Estados o Ejemplo: Mundo de los Bloques Los elementos que intervienen son: una superficie plana una serie de bloques c´bicos que los denotaremos por A,B,C,. . . u un brazo robotizado que puede tomar un cubo a la vez En cualquier instante, un bloque puede estar sobre la mesa o apilado sobre otro bloque o colgando del brazo robotizado. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 17 / 100
  • 18. Representaci´n de Estados o Los predicados que consideraremos son: despejado(x): el bloque x est´ despejado. a brazoLibre: el brazo robotizado no est´ tomando alg´n bloque. a u sobreLaMesa(x): el bloque x est´ sobre la mesa. a sobre(x, y): el bloque x est´ sobre el bloque y. a agarrado(x): el bloque x est´ tomado por el brazo robotizado. a M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 18 / 100
  • 19. Representaci´n de Estados o El estado E de la figura B C A D E se puede describir as´ ı E :despejado(B) ∧ despejado(C) ∧ despejado(D) ∧ brazoLibre ∧ sobreLaMesa(A) ∧ sobreLaMesa(C) ∧ sobreLaMesa(D) ∧ sobre(B, A) M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 19 / 100
  • 20. Representaci´n de Objetivos o Cada objetivo del conjunto M se representa como una conjunci´n de o literales, que pueden contener variables. Se dice que un estado satisface un objetivo si es posible sustituir las variables del objetivo por objetos del mundo de manera que los literales est´n incluidos en la descripci´n del estado. e o Un estado es final cuando satisface el estado objetivo. Las variables que intervengan en el estado final se asumen como existencialmente cuantificadas. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 20 / 100
  • 21. Representaci´n de Objetivos o Sean los estados E1 y E2 descritos en la figura C B D B C A D A E1 E2 y los estados finales O1 : sobre(B, A) ∧ sobreLaMesa(A) O2 : sobre(x, A) ∧ despejado(x) ∧ brazoLibre O3 : sobre(x, A) ∧ sobre(y, x) Estudiar la satisfacibilidad de cada estado Oi por parte de E1 y E2 . M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 21 / 100
  • 22. Representaci´n de Objetivos o Soluci´n o En primer lugar, obtengamos la descripci´n algebraica para E1 y E2 o en base a los predicados ya vistos: E1 : despejado(B) ∧ despejado(C) ∧ despejado(D) ∧ brazoLibre ∧ sobreLaMesa(A) ∧ sobreLaMesa(C) ∧ sobreLaMesa(D) ∧ sobre(B, A) E2 : despejado(C) ∧ sobreLaMesa(A) ∧ sobre(B, A) ∧ sobre(C, B) ∧ agarrado(D) M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 22 / 100
  • 23. Representaci´n de Objetivos o Caso O1 Como los literales sobre(B, A) y sobreLaMesa(A) aparecen en la descripci´n de estados de E1 , ´ste claramente satisface a O1 . o e La misma explicaci´n y conclusi´n es v´lida para E2 . o o a M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 23 / 100
  • 24. Representaci´n de Objetivos o Caso O2 La satisfacibilidad de E1 se puede garantizar si es posible encontrar alg´n valor de x para el cual sobre(x, A) y despejado(x) est´n en u e E1 . Si intentamos con x = A vemos que las condiciones sobre(A, A) y despejado(A) no son ciertas ya que esos literales no est´n en E1 . a Si x = B vemos que s´ se cumple sobre(B, A) y despejado(B) ı por lo que E1 s´ satisface a O2 . ı Como al menos para un valor de x se cumple,no es necesario probar con los restantes, que son C y D. E2 es m´s sencillo puesto que, al no aparecer brazoLibre en su a descripci´n algebraica se deduce que esta condici´n no se tiene en o o virtud del supuesto del mundo cerrado: por lo tanto, E2 no satisface O2 . M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 24 / 100
  • 25. Representaci´n de Objetivos o Caso O3 En E1 , el unico valor de x para el cual el predicado sobre(x, A) se ´ satisface es con x = B pero no es posible encontrar alg´n valor de y en el conjunto u {A, B, C, D} tal que sobre(y, x = B) se haga presente en E1 . Luego, E1 no satisface a O3 . E2 s´ cumple con las exigencias de O3 ya que es posible encontrar ı valores x = B, y = C tales que sobre(x = B, A) y sobre(y = C, x = B) est´n en E2 . e M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 25 / 100
  • 26. ¿Qu´ vimos la clase pasada? e Concepto de plan y planificaci´n. o Introducci´n al lenguaje de planificadores usando como paradigma o inicial la representaci´n STRIPS y sus elementos. o Representaci´n de estados y objetivos. o Satisfacibilidad. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 26 / 100
  • 27. Hoy veremos Representaci´n de acciones, para as´ terminar con el tridente o ı P =< E, Φ, M >. ADL como extensi´n v´lida a STRIPS. o a M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 27 / 100
  • 28. Representaci´n de Acciones o Las acciones del conjunto Φ se componen de cuatro partes: 1 El nombre de la acci´n, con sus par´metros. o a 2 Las precondiciones que tienen que satisfacerse para que la acci´n se ejecute. o Se describen como una conjunci´n de literales. o Esta lista la denotaremos por Precondicion . ´ 3 La lista de borrado, que contiene la lista de ´tomos y literales – escrita como a conjunci´n – que dejan de ser ciertos una vez que se ha aplicado el o operador. La llamaremos Borrado . 4 La lista de efectos, que contiene la conjunci´n de aquellos ´tomos y literales o a que pasan a ser verdaderos una vez que se ha aplicado el operador. La llamaremos Efectos . M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 28 / 100
  • 29. Representaci´n de Acciones o Es com´n fusionar en Efectos las conjunciones de Borrado con u Efectos , haciendo que las primeras aparezcan negadas. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 29 / 100
  • 30. Representaci´n de Acciones o ¿Qu´ pasa en el mundo de los bloques? e 1. Colocar el bloque x sobre el bloque y: Apilar(x, y) • Precondicion : despejado(y) ∧ agarrado(x) ´ • Borrado : despejado(y) ∧ agarrado(x) • Efectos : brazoLibre ∧ sobre(x, y) ∧ despejado(x) 2. Remover el bloque x que est´ sobre el bloque y: a Desapilar(x, y) • Precondicion : sobre(x, y) ∧ despejado(x) ∧ brazoLibre ´ • Borrado : sobre(x, y) ∧ despejado(x) ∧ brazoLibre • Efectos : agarrado(x) ∧ despejado(y) M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 30 / 100
  • 31. Representaci´n de Acciones o ¿Qu´ pasa en el mundo de los bloques? e 3. Tomar un bloque x con el brazo robotizado: Agarrar(x) • Precondicion : ´ despejado(x) ∧ sobreLaMesa(x) ∧ brazoLibre • Borrado : despejado(x) ∧ sobreLaMesa(x) ∧ brazoLibre • Efectos : agarrado(x) 4. Dejar un bloque x en la mesa: Bajar(x) • Precondicion : agarrado(x) ´ • Borrado : agarrado(x) • Efectos : despejado(x) M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 31 / 100
  • 32. Representaci´n de Acciones o Un operador es aplicable a un estado cuando satisface sus precondiciones: si aparecen variables en Precondicion , la aplicabilidad se define con ´ respecto de la sustituci´n Θ usada para satisfacer la precondici´n. o o Para simplificar, en algunos casos la sustituci´n vendr´ impl´ o a ıcita cuando se hable del operador: Desapilar(A, B) se refiere a la acci´n Desapilar(x, y) aplicando la o sustituci´n Θ = {x/A, y/B}. o M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 32 / 100
  • 33. Representaci´n de Acciones o El resultado de aplicar un operador aplicable a un estado E lo denotaremos por E . La construcci´n de E se hace siguiendo este o esquema: 1 Hacemos E = E. 2 Eliminando de E los ´tomos instanciados con Θ y los literales a (cerrados o no) de la lista Borrado (si estuvieran) y 3 agregando a E los ´tomos y literales (cerrados o no) instanciados con a Θ de la lista Efectos (los que no est´n). e La soluci´n (plan) consiste en una secuencia de operadores o aplicables, completamente instanciados, desde el estado inicial al objetivo cuando ´ste se encuentre satisfecho. e M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 33 / 100
  • 34. Representaci´n de Acciones o Ejemplo de aplicabilidad de operador Consideremos aplicar la acci´n Apilar(A, D) al estado descrito en la o figura A C B D E M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 34 / 100
  • 35. Representaci´n de Acciones o Ejemplo de aplicabilidad de operador Soluci´n o La descripci´n algebraica de E viene dada por o E : despejado(C) ∧ despejado(D) ∧ sobreLaMesa(B) ∧ sobreLaMesa(D) ∧ sobre(C, B) ∧ agarrado(A) Para hallar el valor de Apilar(x, y) debemos ver si E satisface las precondiciones de este operador aplicando la sustituci´n o Θ = {x/A, y/D}: Esto implica que despejado(D) y agarrado(A) deben estar en la descripci´n de E, lo cual as´ ocurre. o ı Por lo tanto, el operador es aplicable a este estado. Veamos c´mo se genera el resultado de esta operaci´n o o E = Apilar(A, D). M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 35 / 100
  • 36. Representaci´n de Acciones o Ejemplo de aplicabilidad de operador Los ´tomos instanciados con Θ de la lista Borrado son a despejado(D) y agarrado(A), y se tienen que eliminar de E : Hasta el momento: (( E :despejado(C) ∧ (((((( despejado(D) ∧ sobreLaMesa(B) (( ∧ sobreLaMesa(D) ∧ sobre(C, B) ∧ ((((( agarrado(A) Por lo tanto: E : despejado(C) ∧ sobreLaMesa(B) ∧ sobreLaMesa(D) ∧ sobre(C, B) M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 36 / 100
  • 37. Representaci´n de Acciones o Ejemplo de aplicabilidad de operador Por otro lado, los ´tomos y literales cerrados que no est´n en E son: a a brazoLibre sobre(A, D) despejado(A). Ahora hay que agregarlos a E . Por lo tanto: E :despejado(C) ∧ despejado(A) ∧ brazoLibre ∧ sobreLaMesa(B) ∧ sobreLaMesa(D) ∧ ∧ sobre(C, B) ∧ sobre(A, D) M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 37 / 100
  • 38. Representaci´n de Acciones o Ejemplo de aplicabilidad de operador As´ el resultado de la operaci´n es: ı, o A PILAR (A,D) A C C A B D B D E E' M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 38 / 100
  • 39. Extensiones a STRIPS STRIPS presenta restricciones para simplificar y generar algoritmos m´s eficientes. a Una de las m´s emblem´ticas es que los literales no permiten a a dependencias funcionales, lo que significa en la pr´ctica que todo a problema tenga una cantidad finita de representaciones para sus acciones: si se admite la inclusi´n de s´ o ımbolos funcionales, la cantidad de estados y acciones puede ser infinita. En los ultimos a˜os, se ha mostrado claramente que STRIPS no ´ n posee expresividad suficiente para ciertos dominios reales. Entonces, muchos lenguajes han sido desarrollados. Entre ellos: ADL Action Description Language M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 39 / 100
  • 40. Comparaci´n entre STRIPS y ADL o Lenguaje STRIPS Lenguaje ADL S´lo literales positivos en estados: o Literales positivos y negativos en esta- dos: pobre ∧ desconocido ¬rico ∧ ¬desconocido Hip´tesis del Mundo Cerrado: o Hip´tesis del Mundo Abierto: o los literales no mencionados son falsos. los literales no mencionados son des- conocidos. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 40 / 100
  • 41. Comparaci´n entre STRIPS y ADL o Lenguaje STRIPS Lenguaje ADL Los objetivos son conjunciones: Se permiten conjunciones y disyunciones en los objetivos: pobre ∧ desconocido. pobre ∧ (desconocido ∨ inteligente). Los efectos son conjunciones. Se permiten efectos condicionales: cuando P : E se interpreta como que E es un efecto s´lo si P se satisface. o No soporta igualdades. Predicados de igualdad (x = y) son ad- mitidos. No soporta tipos. Las variables pueden tener tipos, como x :entero. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 41 / 100
  • 42. ¿Qu´ vimos la clase pasada? e Algoritmos para encontrar sucesores y predecesores de estados. B´squeda hacia adelante y hacia atr´s: u a definiciones diferencias entre un enfoque y otro. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 42 / 100
  • 43. Hoy veremos Planificadores de Orden Parcial (POP) M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 43 / 100
  • 44. Planificadores de orden parcial Tanto la b´squeda de planes hacia adelante como la b´squeda de u u planes hacia atr´s son ejemplos de algoritmos de planificaci´n lineal. a o En un planificador lineal, el espacio de b´squeda lo forman secuencias u totalmente ordenadas de acciones: desde el inicio hacia adelante desde el objetivo hacia atr´s. a Por lo tanto, no se saca provecho de la posible descomposici´n que o tenga el problema. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 44 / 100
  • 45. Planificadores de orden parcial Importante En lugar de trabajar con cada subproblema, nos enfocaremos en el orden de las acciones mediante un esquema que trabaje en varios subojetivos de manera independiente los soluciones mediante subplanes para finalizar con la combinaci´n de los subplanes utilizados. o M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 45 / 100
  • 46. Planificadores de orden parcial La ventaja que ofrece este enfoque es que permite flexibilizar el orden en que se generen las acciones: as´ el planificador puede trabajar sobre decisiones de distinta ı, importancia en lugar de ce˜irse por un orden cronol´gico o espacial de n o las mismas. Ejemplo Un planificador para una persona que se encuentre en el aeropuerto de Punta Arenas y desee llegar al aeropuerto de Iquique. Primero podr´ ıa intentar encontrar un vuelo de Concepci´n a Santiago en lugar de partir o buscando un vuelo de Punta Arenas a Puerto Montt y seguir el orden geogr´fico sur-norte. a M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 46 / 100
  • 47. Planificadores de orden parcial Para graficar los conceptos que vendr´n m´s adelante, vamos a tomar a a como referencia el ejemplo de ponerse un par de zapatos. Los predicados que vamos a considerar son: 1 CDP: Calcet´ derecho puesto. ın 2 CIP: Calcet´ izquierdo puesto. ın 3 ZDP: Zapato derecho puesto. 4 ZIP: Zapato izquierdo puesto. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 47 / 100
  • 48. Planificadores de orden parcial acciones para el ejemplo de ponerse zapatos Calcet´ ınDerecho() ZapatoDerecho() • Precondicion : — ´ • Precondicion : CDP ´ • Borrado : — • Borrado : — • Efectos : CDP • Efectos : ZDP Calcet´ ınIzquierdo() ZapatoIzquierdo() • Precondicion : — ´ • Precondicion : CIP ´ • Borrado : — • Borrado : — • Efectos : CIP • Efectos : ZIP M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 48 / 100
  • 49. Planificadores de orden parcial Problema de ponerse los zapatos El estado inicial es vac´ y el estado final es ZDP ∧ ZIP. ıo Ac´ es posible apreciar dos subobjetivos: a ponerse el zapato derecho ponerse el zapato izquierdo ambos se pueden combinar para conseguir el objetivo del problema. El planificador que se construya manipula la secuencia de acciones de manera independiente sin importar a qu´ secuencia corresponda una e acci´n concreta. o M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 49 / 100
  • 50. Planificadores de orden parcial Problema de ponerse los zapatos Cualquier algoritmo de planificaci´n que pueda combinar dos acciones o dentro del mismo plan sin importar cu´l de ellas va primero se le conoce a como planificador de primer orden. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 50 / 100
  • 51. Planificadores de orden parcial POP para el problema de los calcetines INICIO CalcetínIzquierdo CalcetínDerecho CIP CDP ZapatoIzquierdo ZapatoDerecho ZIP ZDP FIN M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 51 / 100
  • 52. Planificadores de orden parcial POP para el problema de los calcetines Observaciones Esta soluci´n se debe interpretar como un grafo de acciones y no o como una secuencia lineal de acciones. Inicio y Fin las tomaremos como acciones para que cada etapa del plan sea una acci´n. o Para el ejemplo, la soluci´n de orden parcial tiene correspondencia o con seis posibles planes de orden total, cada uno de los cuales recibe el nombre de linealizaci´n del plan de orden parcial. o M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 52 / 100
  • 53. Planificadores de orden parcial Linealizaciones para el POP de ponerse un par de zapatos INICIO INICIO INICIO INICIO INICIO INICIO CalcetínIzquierdo CalcetínDerecho CalcetínIzquierdo CalcetínIzquierdo CalcetínDerecho CalcetínDerecho ZapatoIzquierdo ZapatoDerecho CalcetínDerecho CalcetínDerecho CalcetínIzquierdo CalcetínIzquierdo CalcetínDerecho CalcetínIzquierdo ZapatoIzquierdo ZapatoDerecho ZapatoIzquierdo ZapatoDerecho ZapatoDerecho ZapatoIzquierdo ZapatoDerecho ZapatoIzquierdo ZapatoDerecho ZapatoIzquierdo FIN FIN FIN FIN FIN FIN M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 53 / 100
  • 54. Construcci´n de un Plan Parcialmente Ordenado (POP) o El POP se puede implementar como una b´squeda en el espacio de u planes: cada estado del plan parcial es a su vez un plan en lugar de una situaci´n particular del mundo, como ocurre en los planificadores o lineales. Se parte con un plan vac´ y posteriormente se considerar´n formas ıo a de ir refinando el plan hasta que tengamos uno completo que resuelva el problema. Las acciones no afectan al mundo, sino que operan directamente sobre el plan: agregar alguna etapa imponer alguna ordenaci´n particular. o Para evitar confusiones, se hablar´ m´s de planes que de estados. a a M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 54 / 100
  • 55. Construcci´n de un Plan Parcialmente Ordenado (POP) o Componentes 1. Acciones Las acciones constituyen los pasos que el plan lleva a cabo considerando los operadores del problema, sus precondiciones y efectos. Hay dos acciones distinguidas: 1 Inicio, que no tiene precondiciones y cuyo efecto es el estado inicial del problema. 2 Fin, que no tiene efectos y cuyas precondiciones corresponden al estado final. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 55 / 100
  • 56. Construcci´n de un Plan Parcialmente Ordenado (POP) o Componentes 2. Restricciones de Orden Son de la forma A B: A est´ antes que B a A B La acci´n A tiene que ejecutarse en alg´n momento antes que la o u acci´n B,pero no necesariamente en el estado inmediatamente o anterior. En la generaci´n de un plan soluci´n no pueden haber ciclos, por lo que o o una situaci´n del tipo A B y B A no puede darse. o M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 56 / 100
  • 57. Construcci´n de un Plan Parcialmente Ordenado (POP) o Componentes 3. Relaciones Causales Un enlace causal entre dos acciones A y B en un plan lo escribimos p como A → B y se debe interpretar as´ − ı: A alcanza a B a trav´s del predicado e p: p A B M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 57 / 100
  • 58. Construcci´n de un Plan Parcialmente Ordenado (POP) o Componentes Ejemplo El enlace causal CDP ınDerecho −→ ZapatoDerecho Calcet´ − nos dice que CDP es un efecto de la acci´n Calcet´ o ınDerecho y que a su vez es una precondici´n para el operador o ZapatoDerecho. Tambi´n indica que CDP debe ser cierto durante el tiempo de e ejecuci´n que transcurre entre las acciones Calcet´ o ınDerecho y ZapatoDerecho. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 58 / 100
  • 59. Construcci´n de un Plan Parcialmente Ordenado (POP) o Componentes p Una acci´n C entra en conflicto con el enlace causal A → B si: o − C tiene a ¬p dentro de su lista de efectos C pudiera estar despu´s de A y antes de B (A e C∧C B). El plan no puede verse extendido por la adici´n de una acci´n C que o o p creara un conflicto con el enlace causal A → B: − este enlace se conoce con el nombre de intervalo de protecci´no porque el link que hay entre A y B protege a p de ser falsa a lo largo del intervalo que va de A a B. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 59 / 100
  • 60. Construcci´n de un Plan Parcialmente Ordenado (POP) o Componentes 4. Precondiciones Abiertas Son aquellas que a´n no han sido alcanzadas por alguna acci´n en u o el plan. El objetivo apunta a reducir las precondiciones abiertas a vac´ ıo. Importante Un plan se dice que es consistente si: No hay ciclos con las restricciones ordenadas. No hay conflictos con los enlaces causales. No tiene precondiciones abiertas. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 60 / 100
  • 61. Construcci´n de un Plan Parcialmente Ordenado (POP) o La evaluaci´n del objetivo verifica que en cada paso no queden o precondiciones abiertas por analizar.Se ha demostrado que este esquema siempre genera planes consistentes. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 61 / 100
  • 62. Construcci´n de un Plan Parcialmente Ordenado (POP) o Acciones Por cada precondici´n abierta p de alguna acci´n B del plan y por o o cada acci´n A que tenga a p como efecto se puede obtener un o plan sucesor (refinamiento). Hay dos operaciones disponibles: resolver la precondici´n abierta o resolver los conflictos con los nuevos enlaces causales. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 62 / 100
  • 63. Construcci´n de un Plan Parcialmente Ordenado (POP) o Acciones Paso 1: Resolver la precondici´n abierta. o 1 Si la acci´n A ya est´ en el plan, se agrega la restricci´n A o a o B y el p enlace causal A → B: − esta t´cnica se conoce como establecimiento simple. e 2 Si la acci´n A no est´ en el plan, se agregan: o a A las restricciones A B Inicio A, A Fin p el enlace causal A − B. → M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 63 / 100
  • 64. Construcci´n de un Plan Parcialmente Ordenado (POP) o Acciones Paso 2: Resolver los conflictos entre el nuevo enlace causal y las acciones definidas en el plan. p Si el conflicto es de la forma A → B, tenemos dos alternativas para − resolverlo: 1 agregando la restricci´n B o C (promoci´n) o bien o 2 agregando la restricci´n C o A, conocida como degradaci´n. o M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 64 / 100
  • 65. Anteriormente. . . construcci´n de un POP o El POP se puede implementar como una b´squeda en el espacio de u planes: cada estado del plan parcial es a su vez un plan en lugar de una situaci´n particular del mundo, como ocurre en los planificadores o lineales. Se parte con un plan vac´ y posteriormente se considerar´n formas ıo a de ir refinando el plan hasta que tengamos uno completo que resuelva el problema. Las acciones no afectan al mundo, sino que operan directamente sobre el plan: agregar alguna etapa imponer alguna ordenaci´n particular. o Para evitar confusiones, se hablar´ m´s de planes que de estados. a a M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 65 / 100
  • 66. Anteriormente. . . construcci´n de un POP o Componentes 1. Acciones Las acciones constituyen los pasos que el plan lleva a cabo considerando los operadores del problema, sus precondiciones y efectos. Hay dos acciones distinguidas: 1 Inicio, que no tiene precondiciones y cuyo efecto es el estado inicial del problema. 2 Fin, que no tiene efectos y cuyas precondiciones corresponden al estado final. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 66 / 100
  • 67. Anteriormente. . . construcci´n de un POP o Componentes 2. Restricciones de Orden Son de la forma A B: A est´ antes que B a A B La acci´n A tiene que ejecutarse en alg´n momento antes que la o u acci´n B, pero no necesariamente en el estado inmediatamente o anterior. En la generaci´n de un plan soluci´n no pueden haber ciclos, por lo que o o una situaci´n del tipo A B y B A no puede darse. o M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 67 / 100
  • 68. Anteriormente. . . construcci´n de un POP o Componentes 3. Relaciones Causales Un enlace causal entre dos acciones A y B en un plan lo escribimos p como A → B y se debe interpretar as´ − ı: A alcanza a B a trav´s del predicado e p: p A B M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 68 / 100
  • 69. Anteriormente. . . construcci´n de un POP o Componentes Ejemplo El enlace causal CDP ınDerecho −→ ZapatoDerecho Calcet´ − nos dice que CDP es un efecto de la acci´n Calcet´ o ınDerecho y que a su vez es una precondici´n para el operador o ZapatoDerecho. Tambi´n indica que CDP debe ser cierto durante el tiempo de e ejecuci´n que transcurre entre las acciones Calcet´ o ınDerecho y ZapatoDerecho. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 69 / 100
  • 70. Anteriormente. . . construcci´n de un POP o Componentes p Una acci´n C entra en conflicto con el enlace causal A → B si: o − C tiene a ¬p dentro de su lista de efectos C pudiera estar despu´s de A y antes de B (A e C∧C B). El plan no puede verse extendido por la adici´n de una acci´n C que o o p creara un conflicto con el enlace causal A → B: − este enlace se conoce con el nombre de intervalo de protecci´no porque el link que hay entre A y B protege a p de ser falsa a lo largo del intervalo que va de A a B. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 70 / 100
  • 71. Anteriormente. . . construcci´n de un POP o Componentes 4. Precondiciones Abiertas Son aquellas que a´n no han sido alcanzadas por alguna acci´n en u o el plan. El objetivo apunta a reducir las precondiciones abiertas a cero. Importante Un plan se dice que es consistente si: No hay ciclos con las restricciones ordenadas. No hay conflictos con los enlaces causales. No tiene precondiciones abiertas. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 71 / 100
  • 72. Anteriormente. . . construcci´n de un POP o La evaluaci´n del objetivo verifica que en cada paso no queden o precondiciones abiertas por analizar. Se ha demostrado que este esquema siempre genera planes consistentes. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 72 / 100
  • 73. Anteriormente. . . construcci´n de un POP o Acciones Por cada precondici´n abierta p de alguna acci´n B del plan y por o o cada acci´n A que tenga a p como efecto se puede obtener un o plan sucesor (refinamiento). Hay dos operaciones disponibles: resolver la precondici´n abierta o resolver los conflictos con los nuevos enlaces causales. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 73 / 100
  • 74. Anteriormente. . . construcci´n de un POP o Acciones Paso 1: Resolver la precondici´n abierta. o 1 Si la acci´n A ya est´ en el plan, se agrega la restricci´n A o a o B y el p enlace causal A → B: − esta t´cnica se conoce como establecimiento simple. e 2 Si la acci´n A no est´ en el plan, se agregan: o a A las restricciones A B Inicio A, A Fin p el enlace causal A − B. → M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 74 / 100
  • 75. Anteriormente. . . construcci´n de un POP o Acciones Paso 2: Resolver los conflictos entre el nuevo enlace causal y las acciones definidas en el plan. p Si el conflicto es de la forma A → B, tenemos dos alternativas para − resolverlo: 1 agregando la restricci´n B o C (promoci´n) o bien o 2 agregando la restricci´n C o A, conocida como degradaci´n. o M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 75 / 100
  • 76. Hoy veremos Ejemplo completo de un planificador de orden parcial (POP) M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 76 / 100
  • 77. Ejemplo: cambiar la rueda de repuesto de un veh´ ıculo Constantes RU EDA − P IN CHADA RU EDA − REP U EST O EJE M ALET ERO SU ELO Predicado en: para indicar el lugar que ocupa un elemento en un momento determinado. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 77 / 100
  • 78. Ejemplo: cambiar la rueda de repuesto de un veh´ ıculo Estado Inicial en(RU EDA − P IN CHADA, EJE) ∧ en(RU EDA − REP U EST O, M ALET ERO) Objetivo en(RU EDA − REP U EST O, EJE) M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 78 / 100
  • 79. Ejemplo: Definici´n de acciones (con lenguaje ADL) I o para cambiar la rueda de repuesto de un veh´ ıculo Acciones 1 Remover(RUEDA-REPUESTO,MALETERO) • Precondicion : en(RU EDA − REP U EST O, M ALET ERO) ´ • Efectos : ¬en(RU EDA − REP U EST O, M ALET ERO) ∧ en(RU EDA − REP U EST O, SU ELO) 2 Remover(RUEDA-PINCHADA,EJE) • Precondicion : en(RU EDA − P IN CHADA, EJE) ´ • Efectos : ¬en(RU EDA − P IN CHADA, EJE) ∧ en(RU EDA − P IN CHADA, SU ELO) M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 79 / 100
  • 80. Ejemplo: Definici´n de acciones (con lenguaje ADL) II o para cambiar la rueda de repuesto de un veh´ ıculo 3 ColocarSobre(RUEDA-REPUESTO,EJE) • Precondicion : en(RU EDA − REP U EST O, SU ELO) ∧ ´ ¬en(RU EDA − P IN CHADA, EJE) • Efectos : ¬en(RU EDA − REP U EST O, SU ELO) ∧ en(RU EDA − REP U EST O, EJE) 4 DejarPorLaNoche(—) • Precondicion : — ´ • Efectos : ¬en(RU EDA − REP U EST O, SU ELO) ∧ ¬en(RU EDA − REP U EST O, EJE) ∧ ¬en(RU EDA − REP U EST O, M ALET ERO) ∧ ¬en(RU EDA − P IN CHADA, SU ELO) ∧ ¬en(RU EDA − P IN CHADA, EJE) M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 80 / 100
  • 81. Ejemplo: cambiar la rueda de repuesto de un veh´ ıculo La b´squeda de la soluci´n parte con un plan vac´ cuyas acciones u o ıo, iniciales ser´n Inicio y Fin. a El efecto de Inicio es el estado inicial: en(RU EDA − P IN CHADA, EJE) ∧ en(RU EDA − REP U EST O, M ALET ERO) Las precondiciones de Fin son el objetivo: en(RU EDA − REP U EST O, EJE). La idea es no dejar precondiciones abiertas, y como la unica que ´ tenemos es la del final, tenemos que resolverla. Para eso buscamos las acciones cuyo efecto sea en(RU EDA − REP U EST O, EJE). M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 81 / 100
  • 82. Ejemplo: cambiar la rueda de repuesto de un veh´ ıculo La unica elecci´n posible es ColocarSobre. ´ o Las precondiciones de este operador son en(RU EDA−REP U EST O, SU ELO)∧¬en(RU EDA−P IN CHADA, EJE) Elegimos cualquiera de ella al azar. Las im´genes que ir´n apareciendo van mostrando c´mo va a a o evolucionando la creaci´n del POP. Aquellas acciones que no est´n o e pintadas de blanco es porque tienen sus precondiciones abiertas ya resueltas. en(RR, Suelo) ColocarSobre(RR, en(RR,eje) Inicio en(RP, Eje) Eje) Fin M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 82 / 100
  • 83. Ejemplo: cambiar la rueda de repuesto de un veh´ ıculo Nuestra elecci´n va a ser en(RU EDA − REP U EST O, SU ELO). o El unico operador que tiene a ´ en(RU EDA − REP U EST O, SU ELO) en su lista de efectos es Remover con par´metros RUEDA-REPUESTO y MALETERO. a Lo agregamos al plan parcial que estamos generando. en( RR, Maletero ) Remover ( RR, Maletero ) en(RR, Suelo) ColocarSobre(RR, en(RR,eje) Inicio en(RP,Eje) Eje) Fin M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 83 / 100
  • 84. Ejemplo: cambiar la rueda de repuesto de un veh´ ıculo Actualizando lo que llevamos hasta el momento, tenemos dos precondiciones que a´n no se han analizado: u 1 en(RU EDA − REP U EST O, M ALET ERO) 2 ¬en(RU EDA − P IN CHADA, EJE) ¿Cu´l elegimos?. Cualquiera. a Si nos quedamos con ¬en(RU EDA − P IN CHADA, EJE) , es f´cil advertir que tanto Remover como DejarPorLaNoche la a tienen dentro de su lista de efectos. Una de ellas se tiene que escoger para construir el plan. Veamos qu´ pasa si trabajamos con DejarPorLaNoche. e M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 84 / 100
  • 85. Ejemplo: cambiar la rueda de repuesto de un veh´ ıculo Presenta el inconveniente que uno de sus efectos es ¬en(RU EDA − REP U EST O, SU ELO) , el que entra en conflicto con una de las precondiciones que tenemos abiertas: en(RU EDA − REP U EST O, SU ELO). Con esto, el link en(R-REP,SUELO) Remover(R-REP,MALETERO) − − − − − − − ColocarSobre(R-REP,EJE) −−−−−−→ es el que se ve afectado. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 85 / 100
  • 86. Ejemplo: cambiar la rueda de repuesto de un veh´ ıculo La unica manera de solucionar esto es mediante degradaci´n, es decir ´ o agregando la relaci´n de orden o DejarPorLaNoche Remover(RU EDA − REP U EST O, M ALET ERO) en( RR, Maletero ) Remover ( RR, Maletero ) en(RR, Suelo) ColocarSobre(RR, en(RR,eje) Inicio en( RP,Eje) Eje) Fin DejarPorLaNoche() M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 86 / 100
  • 87. Ejemplo: cambiar la rueda de repuesto de un veh´ ıculo ¿Por qu´e DejarPorLaNoche no puede ir despu´s de e ColocarSobre(RUEDA- REPUESTO,EJE)? M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 87 / 100
  • 88. Ejemplo: cambiar la rueda de repuesto de un veh´ ıculo La unica precondici´n abierta que va quedando es ´ o en(RU EDA − REP U EST O, M ALET ERO). La unica acci´n que la tiene dentro de sus efectos es Inicio. ´ o El problema es que el link en(R-REP,MALETERO) Inicio − − − − − − − − → Remover(R-REP,MALETERO) −−−−−−−− entra en conflicto con la acci´n DejarPorLaNoche o porque ¬en(RU EDA − REP U EST O, M ALET ERO) est´ en su a lista de efectos. ¿C´mo se puede resolver el problema? o M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 88 / 100
  • 89. Ejemplo: cambiar la rueda de repuesto de un veh´ ıculo Por una parte, no podemos introducir el orden DejarPorLaNoche Inicio Ninguna acci´n est´ antes que Inicio ni tampoco podemos poner o a DejarPorLaNoche despu´s de e Remover(RUEDA-REPUESTO,MALETERO) porque esto viola la relaci´n de orden impuesta anteriormente, que era o DejarPorLaNoche Remover(RU EDA − REP U EST O, M ALET ERO) lo que adem´s genera un ciclo. a M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 89 / 100
  • 90. Ejemplo: cambiar la rueda de repuesto de un veh´ ıculo en( RR,Maletero ) Remover( RR, Maletero ) en(RR,Suelo) en(RR,eje ) Inicio en(RP,Eje) ColocarSobre(RR,Eje ) Fin DejarPorLaNoche() M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 90 / 100
  • 91. Ejemplo: cambiar la rueda de repuesto de un veh´ ıculo Por lo tanto, como no podemos resolver el conflicto de enlace la unica ´ alternativa que nos queda es desechar la opci´n de incorporar la acci´n o o DejarPorLaNoche junto a los enlaces causales y de orden que se hayan generado. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 91 / 100
  • 92. Ejemplo: cambiar la rueda de repuesto de un veh´ ıculo Todo vuelve atr´s: a en( RR, Maletero ) Remover ( RR, Maletero ) en(RR, Suelo) ColocarSobre(RR, en(RR,eje) Inicio en(RP,Eje) Eje) Fin M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 92 / 100
  • 93. Ejemplo: cambiar la rueda de repuesto de un veh´ ıculo Si volvemos a considerar ¬en(RU EDA − P IN CHADA, EJE) vamos a elegir Remover con par´metros (RU EDA − P IN CHADA, EJE). a en( RR,Maletero ) Remover( RR, Maletero ) en(RR,Suelo) en(RR,eje ) Inicio en(RP,Eje) ColocarSobre(RR,Eje ) Fin en(RP, Eje ) Remover( RP, Eje ) M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 93 / 100
  • 94. Ejemplo: cambiar la rueda de repuesto de un veh´ ıculo Nos quedan dos precondiciones abiertas: 1 en(RU EDA − P IN CHADA, EJE) 2 en(RU EDA − REP U EST O, M ALET ERO) Nos quedamos en(RU EDA − P IN CHADA, EJE) y elegimos Inicio para resolverla. Es f´cil advertir que este movimiento no genera conflictos. a en( RR, Maletero ) Remover ( RR, Maletero ) en(RR, Suelo) ColocarSobre(RR, en(RR,eje) Inicio en(RP,Eje) Eje) Fin en( RR, Eje ) Remover ( RP, Eje ) M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 94 / 100
  • 95. Ejemplo: cambiar la rueda de repuesto de un veh´ ıculo Finalmente, resolvemos la precondici´n o en(RU EDA − REP U EST O, M ALET ERO) con Inicio, qued´ndonos un plan consistente y completo: a en( RR,Maletero ) Remover( RR, Maletero ) en(RR,Suelo) en(RR,eje ) Inicio en(RP,Eje) ColocarSobre(RR,Eje ) Fin en( RR,Eje ) Remover( RP, Eje ) M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 95 / 100
  • 96. Ejemplo: cambiar la rueda de repuesto de un veh´ ıculo Tenemos dos linealizaciones posibles: Inicio Remover ( RR, Maletero ) Remover ( RP, Eje ) ColocarSobre(RR,Eje) Fin Inicio Remover ( RP, Eje ) Remover ( RR, Maletero ) ColocarSobre(RR,Eje) Fin M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 96 / 100
  • 97. Ejemplo: cambiar la rueda de repuesto de un veh´ ıculo El ejemplo que acabamos de revisar tiene la fortaleza que permite exhibir todos los problemas que podemos enfrentar cuando hay que elaborar un POP. El hecho que los predicados y las acciones operen s´lo con constantes o facilita la elecci´n del operador a elegir. o Podemos querer generar un planificador de orden parcial sobre problemas donde todo est´ especificado en torno a variables como el a mundo de los bloques. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 97 / 100
  • 98. Ejercicios para desarrollar 1 Confeccione un plan de orden parcial para el problema de cambiar la rueda de repuesto que sea distinto al propuesto en clases. Indique todas las linealizaciones posibles que se desprendan de su plan. Explique paso a paso c´mo su grupo gener´ la soluci´n. o o o 2 Complete el mapa conceptual que resuma todo lo visto en la Unidad 3: Planificaci´n. o M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 98 / 100
  • 99. M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 99 / 100
  • 100. Fin de la Unidad 3 M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 100 / 100