SlideShare una empresa de Scribd logo
1 de 53
Descargar para leer sin conexión
B´squeda en Tiempo Real.
 u




                           B´squeda en Tiempo Real.
                            u

                                      Nicol´s Rivera
                                           a


                                  18 de Mayo de 2012



                            Pontificia Universidad Cat´lica de Chile
                                                     o
B´squeda en Tiempo Real.
 u




      Consideremos el problema de ordenar el arreglo A = [5, 2, 9, 7, 3]
      donde lo unico que podemos hacer es intercambiar dos elementos
                ´
      del arreglo.

                               5   2   9   7   3
B´squeda en Tiempo Real.
 u




      Consideremos el problema de ordenar el arreglo A = [5, 2, 9, 7, 3]
      donde lo unico que podemos hacer es intercambiar dos elementos
                ´
      del arreglo.

                               5   2   9   7   3

      intercambiando A[0] con A[1];

                               2   5   9   7   3
B´squeda en Tiempo Real.
 u




      Consideremos el problema de ordenar el arreglo A = [5, 2, 9, 7, 3]
      donde lo unico que podemos hacer es intercambiar dos elementos
                ´
      del arreglo.

                               5   2   9   7   3

      intercambiando A[0] con A[1];

                               2   5   9   7   3

      intercambiando A[1] con A[4];

                               2   3   9   7   5
B´squeda en Tiempo Real.
 u




      Consideremos el problema de ordenar el arreglo A = [5, 2, 9, 7, 3]
      donde lo unico que podemos hacer es intercambiar dos elementos
                ´
      del arreglo.

                               5   2   9   7   3

      intercambiando A[0] con A[1];

                               2   5   9   7   3

      intercambiando A[1] con A[4];

                               2   3   9   7   5

      intercambiando A[2] con A[4];

                               2   3   5   7   9
B´squeda en Tiempo Real.
 u




      Consideremos el problema de ordenar el arreglo A = [5, 2, 9, 7, 3]
      donde lo unico que podemos hacer es intercambiar dos elementos
                ´
      del arreglo.

                               5   2   9   7   3

      intercambiando A[0] con A[1];

                               2   5   9   7   3

      intercambiando A[1] con A[4];

                               2   3   9   7   5

      intercambiando A[2] con A[4];

                               2   3   5   7   9

      Finalmente, es necesario intercambiar A[3] con A[3] para chequear
      que efectivamente el arreglo est´ ordenado.
                                      a
B´squeda en Tiempo Real.
 u




      El problema anterior es un problema de b´squeda cl´sico y lo que
                                                 u         a
      hicimos para resolverlo fue aplicar el algoritmo de SelectionSort.
      Hay otras formas de hacerlo!
B´squeda en Tiempo Real.
 u




      Soluci´n : sucesi´n acciones que llevan del estado inicial al final.
            o          o
      Hay diferentes t´cnicas para encontrar soluciones como:
                      e
B´squeda en Tiempo Real.
 u




      Soluci´n : sucesi´n acciones que llevan del estado inicial al final.
            o          o
      Hay diferentes t´cnicas para encontrar soluciones como:
                      e
             Busqueda en Amplitud;
B´squeda en Tiempo Real.
 u




      Soluci´n : sucesi´n acciones que llevan del estado inicial al final.
            o          o
      Hay diferentes t´cnicas para encontrar soluciones como:
                      e
             Busqueda en Amplitud;
             Busqueda en Profundidad;
B´squeda en Tiempo Real.
 u




      Soluci´n : sucesi´n acciones que llevan del estado inicial al final.
            o          o
      Hay diferentes t´cnicas para encontrar soluciones como:
                      e
             Busqueda en Amplitud;
             Busqueda en Profundidad;
             etc.
B´squeda en Tiempo Real.
 u




      Soluci´n : sucesi´n acciones que llevan del estado inicial al final.
            o          o
      Hay diferentes t´cnicas para encontrar soluciones como:
                      e
             Busqueda en Amplitud;
             Busqueda en Profundidad;
             etc.
B´squeda en Tiempo Real.
 u




      Si queremos encontrar la soluci´n de menor costo:
                                     o
B´squeda en Tiempo Real.
 u




      Si queremos encontrar la soluci´n de menor costo:
                                     o


                                   A∗ .
B´squeda en Tiempo Real.
 u




      Recordemos de nuestro curso de inteligencia artificial que A∗
      funciona con:
             Lista de Close
             Lista de Open
             Una funci´n de ranking f = g + h que ordena Open.
                      o
B´squeda en Tiempo Real.
 u
B´squeda en Tiempo Real.
 u
B´squeda en Tiempo Real.
 u
B´squeda en Tiempo Real.
 u




      El uso de buenas heur´
                           ısticas es fundamental
B´squeda en Tiempo Real.
 u




      El uso de buenas heur´
                           ısticas es fundamental




                      BFS     A∗ con h simple       A∗ con h buena
B´squeda en Tiempo Real.
 u




      Un problema m´s serio:
                   a
B´squeda en Tiempo Real.
 u




Tabla de Contenidos



      1 Definiciones
B´squeda en Tiempo Real.
 u




Tabla de Contenidos



      1 Definiciones



      2 Algoritmo B´sico para B´squeda en Tiempo Real
                   a           u
B´squeda en Tiempo Real.
 u




Tabla de Contenidos



      1 Definiciones



      2 Algoritmo B´sico para B´squeda en Tiempo Real
                   a           u


      3 Nuestra Investigaci´n
                           o
B´squeda en Tiempo Real.
 u
  Definiciones




      Definici´n
             o
      Un problema de b´squeda es una tupla (S, A, c, s0 , G , C) donde:
                      u
                S son los estados iniciales;
                A es un conjunto de funciones a : S → S, parcialmente
                definidas;
                c : A → R+ , el costo de realizar la acci´n;
                                                         o
                s0 ∈ S, es el estado inicial;
                G , el conjunto de estados finales.
      El objetivo es encontrar una sucesi´n a1 , .., an ∈ A tal que
                                              o
      an (...(a2 (a1 (s0 ))..) ∈ G tal que los estados a1 , ..., an cumplan
      alguna condici´n C.o

      En general la condici´n que pedimos al problema es m´
                             o                                  ınimizar
        n
        i=1 c(ai ), es decir, minimizar el costo para ir de s0 a G .
B´squeda en Tiempo Real.
 u
  Definiciones




      Ejemplo
      Consideremos
                S las permutaciones de {f1 < f2 < .. < fn };
                A acciones de la forma aij que intercambian los elementos de
                las posiciones i, j (puede tenerse i = j);
                c(aij ) = 1 para todo aij ;
                s0 un arreglo desordenado;
                G = {(f1 , f2 , ..., fn )}, es decir, el arreglo ordenado.
      SelectionSort encuentra una soluci´n de tama˜o n pero demora n
                                        o         n
      en decidir que acci´n tomar. MergeSort encuentra una soluci´n de
                         o                                       o
      tama˜o O(nlog (n)) pero demora O(1) por cada decisi´n.
           n                                              o
B´squeda en Tiempo Real.
 u
  Definiciones




      El buen funcionamiento de A∗ se basa en:
      Definici´n
             o

          1             ıstica es una funci´n h : S → R+ .
                Una heur´                  o
          2     Diremos que h es admisible tal que

                     h(s) ≤ c ∗ (s, G ) = ‘el costo ´ptimo de s al objetivo’,
                                                    o

          3     Diremos que h es consistente si

                                      h(x) ≤ c(a) + h(y ),

                con x, y ∈ S tal que a(x) = y .
B´squeda en Tiempo Real.
 u
  Definiciones




      Cuando el espacio de estados es conocido podemos pensar todo el
      tiempo del mundo sin necesidad de ejecutar las acciones, pero...
B´squeda en Tiempo Real.
 u
  Definiciones




      Cuando el espacio de estados es conocido podemos pensar todo el
      tiempo del mundo sin necesidad de ejecutar las acciones, pero...
B´squeda en Tiempo Real.
 u
  Definiciones




      Cuando el espacio de estados es conocido podemos pensar todo el
      tiempo del mundo sin necesidad de ejecutar las acciones, pero...
                ¿Qu´ ocurre si el espacio de estados no es conocido en su
                    e
                totalidad?
B´squeda en Tiempo Real.
 u
  Definiciones




      Cuando el espacio de estados es conocido podemos pensar todo el
      tiempo del mundo sin necesidad de ejecutar las acciones, pero...
                ¿Qu´ ocurre si el espacio de estados no es conocido en su
                    e
                totalidad?
                ¿Qu´ ocurre si debemos elegir que acci´n realizar en un breve
                    e                                 o
                espacio de tiempo?
B´squeda en Tiempo Real.
 u
  Definiciones




                           BUSQUEDA EN TIEMPO REAL!!!!!!
B´squeda en Tiempo Real.
 u
  Definiciones




      Problema de Busqueda en Tiempo Real m´s simple:
                                           a
B´squeda en Tiempo Real.
 u
  Definiciones




      Problema de Busqueda en Tiempo Real m´s simple:
                                           a
                Un grafo conocido.
                Un v´rtice inicial s y un v´rtice final g .
                    e                      e
                Nuestras acciones son movernos entre v´rtices adyacentes a
                                                      e
                un cierto costo.
B´squeda en Tiempo Real.
 u
  Definiciones




      Problema de Busqueda en Tiempo Real m´s simple:
                                           a
                Un grafo conocido.
                Un v´rtice inicial s y un v´rtice final g .
                    e                      e
                Nuestras acciones son movernos entre v´rtices adyacentes a
                                                      e
                un cierto costo.
      Objetivo:
                Encontrar camino de s a g .
B´squeda en Tiempo Real.
 u
  Definiciones




      Problema de Busqueda en Tiempo Real m´s simple:
                                           a
                Un grafo conocido.
                Un v´rtice inicial s y un v´rtice final g .
                    e                      e
                Nuestras acciones son movernos entre v´rtices adyacentes a
                                                      e
                un cierto costo.
      Objetivo:
                Encontrar camino de s a g .
      Restricciones:
                No todos los v´rtices pueden ser usados en un camino
                               e
                (obstaculos), pero no sabemos cuales.
                Debemos movernos en un intervalo breve de tiempo.
                Solo podemos ver v´rtices que est´n cerca de nosotros (y ver
                                     e           a
                si son accesibles o no).
B´squeda en Tiempo Real.
 u
  Algoritmo B´sico para B´squeda en Tiempo Real
             a           u




      La forma m´s elemental de resolver un problema de B´squeda en
                a                                        u
      Tiempo Real es
             Tomar una heur´
                           ıstica h consistente,
             Usar un algoritmo que base su movimiento en h,
             Que el algoritmo aprenda mejores valores de h a medida que
             avanza y la mantenga consistente.
B´squeda en Tiempo Real.
 u
  Algoritmo B´sico para B´squeda en Tiempo Real
             a           u




      Teorema (Korf)
      Si el grafo es finito y un algoritmo cumple las reglas anteriores
      entonces dicho algoritmo resuelve el problema de b´squeda en
                                                          u
      tiempo real.
B´squeda en Tiempo Real.
 u
  Algoritmo B´sico para B´squeda en Tiempo Real
             a           u




      Teorema (Korf)
      Si el grafo es finito y un algoritmo cumple las reglas anteriores
      entonces dicho algoritmo resuelve el problema de b´squeda en
                                                          u
      tiempo real.

      Hay varios algoritmos que caen en la clasificaci´n anterior:
                                                     o
             LRTA∗
             LRTA∗ (k)
             LRTALSS
             RTAA∗
             etc.
B´squeda en Tiempo Real.
 u
  Nuestra Investigaci´n
                     o




      Nuestro (intento de) aporte.
B´squeda en Tiempo Real.
 u
  Nuestra Investigaci´n
                     o




      RTAA∗ es un algoritmo que en cada instante
B´squeda en Tiempo Real.
 u
  Nuestra Investigaci´n
                     o




      RTAA∗ es un algoritmo que en cada instante
              Utiliza el algoritmo de A∗ (aunque no necesariamente tiene
              tiempo de llegar a la meta)
B´squeda en Tiempo Real.
 u
  Nuestra Investigaci´n
                     o




      RTAA∗ es un algoritmo que en cada instante
              Utiliza el algoritmo de A∗ (aunque no necesariamente tiene
              tiempo de llegar a la meta)
              Avanzar hasta donde A∗ le indica que avance o hasta que
              descubra un obstaculo que le impide realizar su avance.
B´squeda en Tiempo Real.
 u
  Nuestra Investigaci´n
                     o




      RTAA∗ es un algoritmo que en cada instante
              Utiliza el algoritmo de A∗ (aunque no necesariamente tiene
              tiempo de llegar a la meta)
              Avanzar hasta donde A∗ le indica que avance o hasta que
              descubra un obstaculo que le impide realizar su avance.
              Con los obstaculos descubiertos actualizar el valor de la
              heur´
                  ıstica.
B´squeda en Tiempo Real.
 u
  Nuestra Investigaci´n
                     o




      Suponga que s es el v´rtice donde realizamos A∗ y sea f ∗ el mejor
                           e
      valor que hay en la Open al terminar de ejecutarlo, entonces
      Teorema
      La forma de actualizar RTAA∗ es equivalente poner h(s) = f ∗ y
      luego propagar el valor de h(s) por las ramas del ´rbol de A∗ .
                                                        a
B´squeda en Tiempo Real.
 u
  Nuestra Investigaci´n
                     o
B´squeda en Tiempo Real.
 u
  Nuestra Investigaci´n
                     o
B´squeda en Tiempo Real.
 u
  Nuestra Investigaci´n
                     o




      Lo anterior nos da la intuici´n de que es posible mejorar la
                                    o
      heur´
          ıstica si actualizamos por las ramas que tienen el segundo
      mejor valor de f , luego el tercero, etc..
B´squeda en Tiempo Real.
 u
  Nuestra Investigaci´n
                     o
B´squeda en Tiempo Real.
 u
  Nuestra Investigaci´n
                     o
B´squeda en Tiempo Real.
 u
  Nuestra Investigaci´n
                     o




                           Inicial    LRTA




                           RTAA      Perfecto
B´squeda en Tiempo Real.
 u
  Nuestra Investigaci´n
                     o




      Realizando la idea anterior con un algoritmo muy simple se tiene
      una mejora de 20 a 40 %.

         k      Costo RTAA   Tiempo RTAA   Costo Mejora   Tiempo Mejora   % mejora
        10       11805712     0.00000225     8607077        0.00000355      1.37
        20        6280704     0.00000435     4526572        0.00000875      1.39
        50        2256027     0.00000945     1650945        0.00002545      1.36
B´squeda en Tiempo Real.
 u
  Nuestra Investigaci´n
                     o




      Gracias !

Más contenido relacionado

Destacado

Sofi 3417 cap1
Sofi 3417 cap1Sofi 3417 cap1
Sofi 3417 cap1Danelie
 
Presentación1 mate estadistica
Presentación1 mate estadisticaPresentación1 mate estadistica
Presentación1 mate estadisticaEmiliaAlvaro
 
Modelo sustentacion didactica ambiental (1) (1)
Modelo sustentacion didactica ambiental (1) (1)Modelo sustentacion didactica ambiental (1) (1)
Modelo sustentacion didactica ambiental (1) (1)Alejandra Torres Cantillo
 
Exposicion miriamponcedinebr
Exposicion miriamponcedinebrExposicion miriamponcedinebr
Exposicion miriamponcedinebrmariashuishi
 
Seo, sem,adwords, youtube, blog
Seo, sem,adwords, youtube, blogSeo, sem,adwords, youtube, blog
Seo, sem,adwords, youtube, blogCaro Fletcher
 
8 feudalisme de alvaro albert alex
8 feudalisme de alvaro albert alex8 feudalisme de alvaro albert alex
8 feudalisme de alvaro albert alexstoricorosso
 
Transformar datos gabriela albuja
Transformar datos gabriela albujaTransformar datos gabriela albuja
Transformar datos gabriela albujagabrielaalbuja
 
Selección de futsal
Selección de futsalSelección de futsal
Selección de futsaleveabi
 
Trabajo colaborativo wiki 6
Trabajo colaborativo wiki 6Trabajo colaborativo wiki 6
Trabajo colaborativo wiki 6jamarque29
 
Marketing and branding strategies for major brands in Instagram
Marketing and branding strategies for major brands in InstagramMarketing and branding strategies for major brands in Instagram
Marketing and branding strategies for major brands in InstagramAndrés Soto
 
La colònia vidal
La colònia vidalLa colònia vidal
La colònia vidalalexelmejor
 
Comunicación humana naturaleza
Comunicación humana naturalezaComunicación humana naturaleza
Comunicación humana naturalezaBryan Sosa
 

Destacado (20)

Sofi 3417 cap1
Sofi 3417 cap1Sofi 3417 cap1
Sofi 3417 cap1
 
El futbol peruano
El futbol peruanoEl futbol peruano
El futbol peruano
 
Motivacion
MotivacionMotivacion
Motivacion
 
Presentación1 mate estadistica
Presentación1 mate estadisticaPresentación1 mate estadistica
Presentación1 mate estadistica
 
Modelo sustentacion didactica ambiental (1) (1)
Modelo sustentacion didactica ambiental (1) (1)Modelo sustentacion didactica ambiental (1) (1)
Modelo sustentacion didactica ambiental (1) (1)
 
Cancionero para infancia oficial!!!
Cancionero para infancia oficial!!!Cancionero para infancia oficial!!!
Cancionero para infancia oficial!!!
 
Exposicion miriamponcedinebr
Exposicion miriamponcedinebrExposicion miriamponcedinebr
Exposicion miriamponcedinebr
 
Diplomado a Distancia: "Violencia Familiar y Violencia de Género"
Diplomado a Distancia: "Violencia Familiar y Violencia de Género"Diplomado a Distancia: "Violencia Familiar y Violencia de Género"
Diplomado a Distancia: "Violencia Familiar y Violencia de Género"
 
Seo, sem,adwords, youtube, blog
Seo, sem,adwords, youtube, blogSeo, sem,adwords, youtube, blog
Seo, sem,adwords, youtube, blog
 
8 feudalisme de alvaro albert alex
8 feudalisme de alvaro albert alex8 feudalisme de alvaro albert alex
8 feudalisme de alvaro albert alex
 
Modulo 1º
Modulo   1ºModulo   1º
Modulo 1º
 
Sor maria josefa.
Sor maria josefa.Sor maria josefa.
Sor maria josefa.
 
Transformar datos gabriela albuja
Transformar datos gabriela albujaTransformar datos gabriela albuja
Transformar datos gabriela albuja
 
Selección de futsal
Selección de futsalSelección de futsal
Selección de futsal
 
Trabajo colaborativo wiki 6
Trabajo colaborativo wiki 6Trabajo colaborativo wiki 6
Trabajo colaborativo wiki 6
 
Marketing and branding strategies for major brands in Instagram
Marketing and branding strategies for major brands in InstagramMarketing and branding strategies for major brands in Instagram
Marketing and branding strategies for major brands in Instagram
 
La colònia vidal
La colònia vidalLa colònia vidal
La colònia vidal
 
Desktop samuel
Desktop samuelDesktop samuel
Desktop samuel
 
Comunicación humana naturaleza
Comunicación humana naturalezaComunicación humana naturaleza
Comunicación humana naturaleza
 
Tren a versalles
Tren a versallesTren a versalles
Tren a versalles
 

Similar a Búsqueda en tiempo real

Similar a Búsqueda en tiempo real (20)

Soluc libro mate 2009
Soluc libro mate 2009Soluc libro mate 2009
Soluc libro mate 2009
 
Soluc libro mt 2009
Soluc libro mt 2009Soluc libro mt 2009
Soluc libro mt 2009
 
Proporcionalidad directa
Proporcionalidad directaProporcionalidad directa
Proporcionalidad directa
 
Guia productos notables
Guia productos notablesGuia productos notables
Guia productos notables
 
subtema_1_radicales_y_sus_operaciones.ppt
subtema_1_radicales_y_sus_operaciones.pptsubtema_1_radicales_y_sus_operaciones.ppt
subtema_1_radicales_y_sus_operaciones.ppt
 
subtema_1_radicales_y_sus_operaciones1 (1).ppt
subtema_1_radicales_y_sus_operaciones1 (1).pptsubtema_1_radicales_y_sus_operaciones1 (1).ppt
subtema_1_radicales_y_sus_operaciones1 (1).ppt
 
subtema_1_radicales_y_sus_operaciones1.ppt
subtema_1_radicales_y_sus_operaciones1.pptsubtema_1_radicales_y_sus_operaciones1.ppt
subtema_1_radicales_y_sus_operaciones1.ppt
 
subtema_1_radicales_y_sus_operaciones1 (1).ppt
subtema_1_radicales_y_sus_operaciones1 (1).pptsubtema_1_radicales_y_sus_operaciones1 (1).ppt
subtema_1_radicales_y_sus_operaciones1 (1).ppt
 
Guãia 6 integrales
Guãia 6   integralesGuãia 6   integrales
Guãia 6 integrales
 
2 integracion
2 integracion2 integracion
2 integracion
 
Razón y proporción geométrica
Razón y proporción geométricaRazón y proporción geométrica
Razón y proporción geométrica
 
Cap1 sistemas numericos
Cap1 sistemas numericosCap1 sistemas numericos
Cap1 sistemas numericos
 
Trigonometria 12
Trigonometria 12Trigonometria 12
Trigonometria 12
 
Casos factorizacion
Casos factorizacionCasos factorizacion
Casos factorizacion
 
Cap5 lec2
Cap5 lec2Cap5 lec2
Cap5 lec2
 
MT_Grado9-13-21.pdf
MT_Grado9-13-21.pdfMT_Grado9-13-21.pdf
MT_Grado9-13-21.pdf
 
Unidad 3 logaritmos
Unidad 3 logaritmosUnidad 3 logaritmos
Unidad 3 logaritmos
 
Unidad 3 logaritmos
Unidad 3 logaritmosUnidad 3 logaritmos
Unidad 3 logaritmos
 
Num reales _2010
Num reales _2010Num reales _2010
Num reales _2010
 
Analisis libro gerardo____5toao
Analisis libro gerardo____5toaoAnalisis libro gerardo____5toao
Analisis libro gerardo____5toao
 

Búsqueda en tiempo real

  • 1. B´squeda en Tiempo Real. u B´squeda en Tiempo Real. u Nicol´s Rivera a 18 de Mayo de 2012 Pontificia Universidad Cat´lica de Chile o
  • 2. B´squeda en Tiempo Real. u Consideremos el problema de ordenar el arreglo A = [5, 2, 9, 7, 3] donde lo unico que podemos hacer es intercambiar dos elementos ´ del arreglo. 5 2 9 7 3
  • 3. B´squeda en Tiempo Real. u Consideremos el problema de ordenar el arreglo A = [5, 2, 9, 7, 3] donde lo unico que podemos hacer es intercambiar dos elementos ´ del arreglo. 5 2 9 7 3 intercambiando A[0] con A[1]; 2 5 9 7 3
  • 4. B´squeda en Tiempo Real. u Consideremos el problema de ordenar el arreglo A = [5, 2, 9, 7, 3] donde lo unico que podemos hacer es intercambiar dos elementos ´ del arreglo. 5 2 9 7 3 intercambiando A[0] con A[1]; 2 5 9 7 3 intercambiando A[1] con A[4]; 2 3 9 7 5
  • 5. B´squeda en Tiempo Real. u Consideremos el problema de ordenar el arreglo A = [5, 2, 9, 7, 3] donde lo unico que podemos hacer es intercambiar dos elementos ´ del arreglo. 5 2 9 7 3 intercambiando A[0] con A[1]; 2 5 9 7 3 intercambiando A[1] con A[4]; 2 3 9 7 5 intercambiando A[2] con A[4]; 2 3 5 7 9
  • 6. B´squeda en Tiempo Real. u Consideremos el problema de ordenar el arreglo A = [5, 2, 9, 7, 3] donde lo unico que podemos hacer es intercambiar dos elementos ´ del arreglo. 5 2 9 7 3 intercambiando A[0] con A[1]; 2 5 9 7 3 intercambiando A[1] con A[4]; 2 3 9 7 5 intercambiando A[2] con A[4]; 2 3 5 7 9 Finalmente, es necesario intercambiar A[3] con A[3] para chequear que efectivamente el arreglo est´ ordenado. a
  • 7. B´squeda en Tiempo Real. u El problema anterior es un problema de b´squeda cl´sico y lo que u a hicimos para resolverlo fue aplicar el algoritmo de SelectionSort. Hay otras formas de hacerlo!
  • 8. B´squeda en Tiempo Real. u Soluci´n : sucesi´n acciones que llevan del estado inicial al final. o o Hay diferentes t´cnicas para encontrar soluciones como: e
  • 9. B´squeda en Tiempo Real. u Soluci´n : sucesi´n acciones que llevan del estado inicial al final. o o Hay diferentes t´cnicas para encontrar soluciones como: e Busqueda en Amplitud;
  • 10. B´squeda en Tiempo Real. u Soluci´n : sucesi´n acciones que llevan del estado inicial al final. o o Hay diferentes t´cnicas para encontrar soluciones como: e Busqueda en Amplitud; Busqueda en Profundidad;
  • 11. B´squeda en Tiempo Real. u Soluci´n : sucesi´n acciones que llevan del estado inicial al final. o o Hay diferentes t´cnicas para encontrar soluciones como: e Busqueda en Amplitud; Busqueda en Profundidad; etc.
  • 12. B´squeda en Tiempo Real. u Soluci´n : sucesi´n acciones que llevan del estado inicial al final. o o Hay diferentes t´cnicas para encontrar soluciones como: e Busqueda en Amplitud; Busqueda en Profundidad; etc.
  • 13. B´squeda en Tiempo Real. u Si queremos encontrar la soluci´n de menor costo: o
  • 14. B´squeda en Tiempo Real. u Si queremos encontrar la soluci´n de menor costo: o A∗ .
  • 15. B´squeda en Tiempo Real. u Recordemos de nuestro curso de inteligencia artificial que A∗ funciona con: Lista de Close Lista de Open Una funci´n de ranking f = g + h que ordena Open. o
  • 19. B´squeda en Tiempo Real. u El uso de buenas heur´ ısticas es fundamental
  • 20. B´squeda en Tiempo Real. u El uso de buenas heur´ ısticas es fundamental BFS A∗ con h simple A∗ con h buena
  • 21. B´squeda en Tiempo Real. u Un problema m´s serio: a
  • 22. B´squeda en Tiempo Real. u Tabla de Contenidos 1 Definiciones
  • 23. B´squeda en Tiempo Real. u Tabla de Contenidos 1 Definiciones 2 Algoritmo B´sico para B´squeda en Tiempo Real a u
  • 24. B´squeda en Tiempo Real. u Tabla de Contenidos 1 Definiciones 2 Algoritmo B´sico para B´squeda en Tiempo Real a u 3 Nuestra Investigaci´n o
  • 25. B´squeda en Tiempo Real. u Definiciones Definici´n o Un problema de b´squeda es una tupla (S, A, c, s0 , G , C) donde: u S son los estados iniciales; A es un conjunto de funciones a : S → S, parcialmente definidas; c : A → R+ , el costo de realizar la acci´n; o s0 ∈ S, es el estado inicial; G , el conjunto de estados finales. El objetivo es encontrar una sucesi´n a1 , .., an ∈ A tal que o an (...(a2 (a1 (s0 ))..) ∈ G tal que los estados a1 , ..., an cumplan alguna condici´n C.o En general la condici´n que pedimos al problema es m´ o ınimizar n i=1 c(ai ), es decir, minimizar el costo para ir de s0 a G .
  • 26. B´squeda en Tiempo Real. u Definiciones Ejemplo Consideremos S las permutaciones de {f1 < f2 < .. < fn }; A acciones de la forma aij que intercambian los elementos de las posiciones i, j (puede tenerse i = j); c(aij ) = 1 para todo aij ; s0 un arreglo desordenado; G = {(f1 , f2 , ..., fn )}, es decir, el arreglo ordenado. SelectionSort encuentra una soluci´n de tama˜o n pero demora n o n en decidir que acci´n tomar. MergeSort encuentra una soluci´n de o o tama˜o O(nlog (n)) pero demora O(1) por cada decisi´n. n o
  • 27. B´squeda en Tiempo Real. u Definiciones El buen funcionamiento de A∗ se basa en: Definici´n o 1 ıstica es una funci´n h : S → R+ . Una heur´ o 2 Diremos que h es admisible tal que h(s) ≤ c ∗ (s, G ) = ‘el costo ´ptimo de s al objetivo’, o 3 Diremos que h es consistente si h(x) ≤ c(a) + h(y ), con x, y ∈ S tal que a(x) = y .
  • 28. B´squeda en Tiempo Real. u Definiciones Cuando el espacio de estados es conocido podemos pensar todo el tiempo del mundo sin necesidad de ejecutar las acciones, pero...
  • 29. B´squeda en Tiempo Real. u Definiciones Cuando el espacio de estados es conocido podemos pensar todo el tiempo del mundo sin necesidad de ejecutar las acciones, pero...
  • 30. B´squeda en Tiempo Real. u Definiciones Cuando el espacio de estados es conocido podemos pensar todo el tiempo del mundo sin necesidad de ejecutar las acciones, pero... ¿Qu´ ocurre si el espacio de estados no es conocido en su e totalidad?
  • 31. B´squeda en Tiempo Real. u Definiciones Cuando el espacio de estados es conocido podemos pensar todo el tiempo del mundo sin necesidad de ejecutar las acciones, pero... ¿Qu´ ocurre si el espacio de estados no es conocido en su e totalidad? ¿Qu´ ocurre si debemos elegir que acci´n realizar en un breve e o espacio de tiempo?
  • 32. B´squeda en Tiempo Real. u Definiciones BUSQUEDA EN TIEMPO REAL!!!!!!
  • 33. B´squeda en Tiempo Real. u Definiciones Problema de Busqueda en Tiempo Real m´s simple: a
  • 34. B´squeda en Tiempo Real. u Definiciones Problema de Busqueda en Tiempo Real m´s simple: a Un grafo conocido. Un v´rtice inicial s y un v´rtice final g . e e Nuestras acciones son movernos entre v´rtices adyacentes a e un cierto costo.
  • 35. B´squeda en Tiempo Real. u Definiciones Problema de Busqueda en Tiempo Real m´s simple: a Un grafo conocido. Un v´rtice inicial s y un v´rtice final g . e e Nuestras acciones son movernos entre v´rtices adyacentes a e un cierto costo. Objetivo: Encontrar camino de s a g .
  • 36. B´squeda en Tiempo Real. u Definiciones Problema de Busqueda en Tiempo Real m´s simple: a Un grafo conocido. Un v´rtice inicial s y un v´rtice final g . e e Nuestras acciones son movernos entre v´rtices adyacentes a e un cierto costo. Objetivo: Encontrar camino de s a g . Restricciones: No todos los v´rtices pueden ser usados en un camino e (obstaculos), pero no sabemos cuales. Debemos movernos en un intervalo breve de tiempo. Solo podemos ver v´rtices que est´n cerca de nosotros (y ver e a si son accesibles o no).
  • 37. B´squeda en Tiempo Real. u Algoritmo B´sico para B´squeda en Tiempo Real a u La forma m´s elemental de resolver un problema de B´squeda en a u Tiempo Real es Tomar una heur´ ıstica h consistente, Usar un algoritmo que base su movimiento en h, Que el algoritmo aprenda mejores valores de h a medida que avanza y la mantenga consistente.
  • 38. B´squeda en Tiempo Real. u Algoritmo B´sico para B´squeda en Tiempo Real a u Teorema (Korf) Si el grafo es finito y un algoritmo cumple las reglas anteriores entonces dicho algoritmo resuelve el problema de b´squeda en u tiempo real.
  • 39. B´squeda en Tiempo Real. u Algoritmo B´sico para B´squeda en Tiempo Real a u Teorema (Korf) Si el grafo es finito y un algoritmo cumple las reglas anteriores entonces dicho algoritmo resuelve el problema de b´squeda en u tiempo real. Hay varios algoritmos que caen en la clasificaci´n anterior: o LRTA∗ LRTA∗ (k) LRTALSS RTAA∗ etc.
  • 40. B´squeda en Tiempo Real. u Nuestra Investigaci´n o Nuestro (intento de) aporte.
  • 41. B´squeda en Tiempo Real. u Nuestra Investigaci´n o RTAA∗ es un algoritmo que en cada instante
  • 42. B´squeda en Tiempo Real. u Nuestra Investigaci´n o RTAA∗ es un algoritmo que en cada instante Utiliza el algoritmo de A∗ (aunque no necesariamente tiene tiempo de llegar a la meta)
  • 43. B´squeda en Tiempo Real. u Nuestra Investigaci´n o RTAA∗ es un algoritmo que en cada instante Utiliza el algoritmo de A∗ (aunque no necesariamente tiene tiempo de llegar a la meta) Avanzar hasta donde A∗ le indica que avance o hasta que descubra un obstaculo que le impide realizar su avance.
  • 44. B´squeda en Tiempo Real. u Nuestra Investigaci´n o RTAA∗ es un algoritmo que en cada instante Utiliza el algoritmo de A∗ (aunque no necesariamente tiene tiempo de llegar a la meta) Avanzar hasta donde A∗ le indica que avance o hasta que descubra un obstaculo que le impide realizar su avance. Con los obstaculos descubiertos actualizar el valor de la heur´ ıstica.
  • 45. B´squeda en Tiempo Real. u Nuestra Investigaci´n o Suponga que s es el v´rtice donde realizamos A∗ y sea f ∗ el mejor e valor que hay en la Open al terminar de ejecutarlo, entonces Teorema La forma de actualizar RTAA∗ es equivalente poner h(s) = f ∗ y luego propagar el valor de h(s) por las ramas del ´rbol de A∗ . a
  • 46. B´squeda en Tiempo Real. u Nuestra Investigaci´n o
  • 47. B´squeda en Tiempo Real. u Nuestra Investigaci´n o
  • 48. B´squeda en Tiempo Real. u Nuestra Investigaci´n o Lo anterior nos da la intuici´n de que es posible mejorar la o heur´ ıstica si actualizamos por las ramas que tienen el segundo mejor valor de f , luego el tercero, etc..
  • 49. B´squeda en Tiempo Real. u Nuestra Investigaci´n o
  • 50. B´squeda en Tiempo Real. u Nuestra Investigaci´n o
  • 51. B´squeda en Tiempo Real. u Nuestra Investigaci´n o Inicial LRTA RTAA Perfecto
  • 52. B´squeda en Tiempo Real. u Nuestra Investigaci´n o Realizando la idea anterior con un algoritmo muy simple se tiene una mejora de 20 a 40 %. k Costo RTAA Tiempo RTAA Costo Mejora Tiempo Mejora % mejora 10 11805712 0.00000225 8607077 0.00000355 1.37 20 6280704 0.00000435 4526572 0.00000875 1.39 50 2256027 0.00000945 1650945 0.00002545 1.36
  • 53. B´squeda en Tiempo Real. u Nuestra Investigaci´n o Gracias !