IA 01 ProblemasBusqueda

download IA 01 ProblemasBusqueda

of 37

Transcript of IA 01 ProblemasBusqueda

  • 7/28/2019 IA 01 ProblemasBusqueda

    1/37

    Inteligencia Artificial

    Problemas

    Espacios Problema

    Bsquedas

  • 7/28/2019 IA 01 ProblemasBusqueda

    2/37

    Pasos para construir unprograma en IA

    1.Definir el problema con precisin

    2.Analizar el problema

    3.Aislar y representar el conocimiento necesario

    4.Elegir la(s) tcnica(s) y aplicarla(s)

  • 7/28/2019 IA 01 ProblemasBusqueda

    3/37

    1- Definir el problema

    En algunos problemas como el ajedrez,ocurre lo siguiente:

    Nadie puede suministrar un conjunto completo

    de reglas (todos los posibles movimientolegales de todas las piezas en el tablero).

    Ningn programa puede manipular todas esasreglas. Se podra usar un metodo de hashing,para encontrar ms rpido la regla a aplicar,pero an as las reglas crean muchasdificultades.

  • 7/28/2019 IA 01 ProblemasBusqueda

    4/37

  • 7/28/2019 IA 01 ProblemasBusqueda

    5/37

    Representacin deespacio de estados

    Surge de manera natural del ajedrez, dondecada estado representa una posicin legal enel tablero.

    Es adecuado para problemas menosestructurados.

    Forma la base para la mayora de los mtodosde IA.

  • 7/28/2019 IA 01 ProblemasBusqueda

    6/37

    Representacin deespacio de estados

    Corresponde con la estructura de resolucin deproblemas, por 2 razones importantes:

    0.Permite definir formalmente el problema, ante

    la necesidad de convertir alguna situacin dadaen la situacin deseada, usando un conjunto deoperaciones permitidas.

    1.Permite definir el proceso de resolucin comouna combinacin de tcnicas conocidas ybsqueda. Intenta encontrar alguna ruta desdeel estado actual al estado objetivo.

  • 7/28/2019 IA 01 ProblemasBusqueda

    7/37

    La bsqueda es un proceso de granimportancia en la resolucin de problemas

    difciles para los que no se dispone de

    tcnicas ms directas.

  • 7/28/2019 IA 01 ProblemasBusqueda

    8/37

    El problema de las jarras de agua

    Se tienen dos jarras, una de 4 litros de capacidady otra de 3. Ninguna de ellas tiene marcas demedicin. Se tiene una bomba que permite llenar

    las jarras de agua. Cme se puede lograr tenerexactamente 2 litros de agua en la jarra de 4litros de capacidad?

    Definir las reglas para resolver el problema.

  • 7/28/2019 IA 01 ProblemasBusqueda

    9/37

    Sistemas de Produccin

    La bsqueda es el ncleo de muchos procesosinteligentes.

    Los sistemas de produccin proporcionan la

    forma de estructurar los programas de IA demanera que se facilite describir y desarrollar elproceso de bsqueda

  • 7/28/2019 IA 01 ProblemasBusqueda

    10/37

    Sistemas de Produccin

    Est compuesto de:

    Conjunto de reglas, compuestas por una parteizquierda que determina la aplicabilidad de la

    regla y una parte derecha que describe laoperacin que se lleva a cabo si se aplica laregla.

    Una o ms bases de datos /conocimiento.

    Estrategia de control, para determinar la regla aaplicar.

    Un aplicador de reglas.

  • 7/28/2019 IA 01 ProblemasBusqueda

    11/37

    Estrategia de control

    El primer requisito que debe cumplir una buenaestrategia de control es que cause algncambio.

    El segundo requisito que debe cumplir unabuena estrategia de control es que seasistemtica.

  • 7/28/2019 IA 01 ProblemasBusqueda

    12/37

    Bsqueda Primero en Anchura

    i. Se construye un rbol cuya raz sea el estadoinicial.

    ii.Todas las ramificaciones de la raz se generan

    al aplicar cada una de las reglas aplicables alestado inicial.

    iii.Para cada nodo se generan todas las posiblessituaciones resultantes de la aplicacin detodas las reglas adecuadas.

    iv.Se contina con este proceso hasta quealguna regla produce un estado objetivo.

    B d P i

  • 7/28/2019 IA 01 ProblemasBusqueda

    13/37

    Bsqueda Primero enProfundidad

    i. Se construye un rbol cuya raz sea el estadoinicial.

    ii.Se contina por una sola rama del rbol hasta

    encontrar una solucin o hasta que se tome ladecisin de terminar la bsqueda por esadireccin.

    Termina la bsqueda por una ruta (produciendoun backtracking), al llegar a un callejn sinsalida, se produce un estado ya alcanzado o laruta se alarga ms de lo especificado.

    Ventajas de la Bsqueda

  • 7/28/2019 IA 01 ProblemasBusqueda

    14/37

    Ventajas de la BsquedaPrimero en Anchura

    No queda atrapada buscando callejones sinsalida.

    Si existe una solucin, la bsqueda primero en

    anchura garantiza que se logre encontrarla.Adems, si existen mltiples soluciones, seencuentra la solucin mnima.

    Ventajas de la Bsqueda

  • 7/28/2019 IA 01 ProblemasBusqueda

    15/37

    Ventajas de la BsquedaPrimero en Profundidad

    Necesita menos memoria.

    Si se tiene suerte, la bsqueda primero enprofundidad puede encontrar una solucin sin

    tener que examinar gran parte del espacio deestados.

  • 7/28/2019 IA 01 ProblemasBusqueda

    16/37

    El problema del agente viajero

    Un vendedor tiene una lista de ciudades, cadauna de las cuales debe visitar exactamente unavez. Existen carreteras directas entre cada parejade ciudades de la lista. Encontrar la ruta mscorta posible que debe seguir el vendedor queempiece y termine en alguna de estas ciudades.

    Considera 10 ciudades

    Considera N ciudades

  • 7/28/2019 IA 01 ProblemasBusqueda

    17/37

    Bsqueda Heurstica

    Normalmente no se necesita una solucinptima, con frecuencia una buenaaproximacin es adecuada.

    Si bien las aproximaciones que se logran conuna heurstica pueden no ser muy buenas enlos peores casos, estos peores casosraramente ocurren en el mundo real.

    Intentar comprender por qu funciona unaheurstica, o por qu no lo hace, normalmentesirve para profundizar en la comprensin delproblema.

  • 7/28/2019 IA 01 ProblemasBusqueda

    18/37

    Bsqueda Heurstica

    Puede descomponerse el problema?

    Pueden deshacerse pasos o ignorarse pasoshacia una solucin?

    Es predecible el universo?

    Una solucin adecuada es absoluta orelativa?

    La solucin es un estado o una ruta? Cul es el papel del conocimiento?

    Necesita la tarea interaccionar con una

    persona?

  • 7/28/2019 IA 01 ProblemasBusqueda

    19/37

    Criptoaritmtica

    Considere un problema aritmtico representadopor letras. Asigne un dgito decimal a cada unade las letras de forma que el problema seacorrecto. Si una letra aparece ms de una vez,se le asigna siempre el mismo dgito. No puedeasignarse el mismo dgito a dos letras diferentes.

    SEND

    + MORE

    ------

    MONEY

  • 7/28/2019 IA 01 ProblemasBusqueda

    20/37

    Tcnicas de Bsqueda Heurstica

    Generacin y prueba (generate and text)

    Escalada (hill climbing)

    Escalada simple

    Escalada por la mxima pendiente

    Enfriamiento Simulado

    Bsqueda el primero mejor (best first search)

    Grafos O

    Algoritmo A*

    Agendas

  • 7/28/2019 IA 01 ProblemasBusqueda

    21/37

    Tcnicas de Bsqueda Heurstica

    Reduccin del problema (problem reduction)

    Grafos Y-O

    Algoritmo AO*

    Verificacin de restricciones (constraintsatisfaction)

    Anlisis de medios y fines (means ends

    analysis)

  • 7/28/2019 IA 01 ProblemasBusqueda

    22/37

    Verificacin de restricciones

    Consiste en descubrir algn estado del problemaque satisfaga un conjunto de restricciones.

    Descripcin: Se descubren las restricciones y se propagan tan

    lejos como sea posible a travs del sistema. Si anno hay una solucin, la bsqueda comienza. Sehace una suposicin sobre algo y se aade comouna nueva restriccin. Entonces, la propagacincontina con esta nueva restriccin y assucesivamente.

    Verificacin de restricciones

  • 7/28/2019 IA 01 ProblemasBusqueda

    23/37

    Verificacin de restriccionesAlgoritmo

    1. Propagar las restricciones disponibles. Paralograrlo primero hacer que ABIERTOS sea elconjunto de todos los objetos que deben tenerun valor asignado para completar unasolucin.

    Hacer lo siguiente hasta que se detecte unainconsistencia o hasta que ABIERTOS est

    vaco:

    Verificacin de restricciones

  • 7/28/2019 IA 01 ProblemasBusqueda

    24/37

    Verificacin de restriccionesAlgoritmo

    a)Seleccionar un objeto OB de ABIERTOS .Fortalecer al mximo el conjunto de restriccionesque afecten OB

    b)Si este conjunto es diferente del conjunto que le

    fue asignado a OB la ltima vez que fueexaminado, o si es la primera vez que examinanOB, entonces aadir a ABIERTOS todos losobjetos que compartan alguna restriccin con OB.

    c)Borrar OB de ABIERTOS.

    Verificacin de restricciones

  • 7/28/2019 IA 01 ProblemasBusqueda

    25/37

    Verificacin de restriccionesAlgoritmo

    2. Si la unin de las restricciones descubiertasarriba definen una solucin, terminar ypresentar la solucin.

    3. Si la unin de las restricciones descubiertasarriba definen una contradiccin, entoncesdevolver un error.

    Verificacin de restricciones

  • 7/28/2019 IA 01 ProblemasBusqueda

    26/37

    Verificacin de restriccionesAlgoritmo

    4. Si no ocurre ninguno de los casos anteriores,entonces es necesario hacer una suposicinsobre algo con el fin de continuar.

    Para hacerlo, repetir hasta que se encuentreuna solucin o hasta que todas las posiblessoluciones hayan sido eliminadas:

    Verificacin de restricciones

  • 7/28/2019 IA 01 ProblemasBusqueda

    27/37

    Verificacin de restriccionesAlgoritmo

    a)Seleccionar un objeto del que no se hayadeterminado su valor, y seleccionar una forma defortalecer las restricciones sobre ese objeto.

    b)Invocar recursivamente la verificacin derestricciones con el actual conjunto de restriccionesaumentado por el fortalecimiento de lasrestricciones seleccionado.

    Verificacin de restricciones

  • 7/28/2019 IA 01 ProblemasBusqueda

    28/37

    Verificacin de restriccionesEjemplo: Criptoaritmtica

    Se pueden utilizar pocas y tiles heursticaspara las suposiciones iniciales. Ejemplo:

    Si existe una letra que solo tiene dos posiblesvalores y otra con seis, es mejor elegir la primera.

    Si existe una letra que forma parte de muchasrestricciones, es mejor elegirla. Esto conducir auna rpida contradiccin o a la generacin derestricciones adicionales.

    SEND+ MORE

    ------

    MONEY

    Verificacin de restricciones

  • 7/28/2019 IA 01 ProblemasBusqueda

    29/37

    Verificacin de restriccionesEjemplo: Criptoaritmtica

    Abiertos{S,E,N,D,M,O,R,Y}

    SEND+ MORE

    ------

    MONEY

    Restricciones

    Verificacin de restricciones

  • 7/28/2019 IA 01 ProblemasBusqueda

    30/37

    e cac de est cc o esEjemplo: Criptoaritmtica

    Abiertos{S,E,N,D,O,R,Y}

    SEND+ MORE

    ------

    MONEY

    Restricciones M=1 (la suma de dos

    nmeros ms un acarreono puede ser mayor que

    19)

    Verificacin de restricciones

  • 7/28/2019 IA 01 ProblemasBusqueda

    31/37

    Ejemplo: Criptoaritmtica

    Abiertos{E,N,D,O,R,Y}

    SEND+ MORE

    ------

    MONEY

    Restricciones M=1

    S=8 S=9 (S+1 S+2, sihay acarreo, debe sermayor igual a 10)

    Verificacin de restricciones

  • 7/28/2019 IA 01 ProblemasBusqueda

    32/37

    Ejemplo: Criptoaritmtica

    Abiertos{E,N,D,R,Y}

    SEND+ MORE

    ------

    MONEY

    Restricciones M=1

    S=8 S=9

    O=0 O=1 O=0

    Verificacin de restricciones

  • 7/28/2019 IA 01 ProblemasBusqueda

    33/37

    Ejemplo: Criptoaritmtica

    Abiertos{D,R,Y}

    SEND+ MORE

    ------

    MONEY

    Restricciones M=1

    S=8 S=9

    O=0 O=1 O=0 N=E N=E+1 N=E+1

    Acarreo2 =1

    Verificacin de restricciones

  • 7/28/2019 IA 01 ProblemasBusqueda

    34/37

    Ejemplo: Criptoaritmtica

    Abiertos{D,Y}

    SEND+ MORE

    ------

    MONEY

    Restricciones M=1

    S=8 S=9

    O=0 O=1 O=0 N=E N=E+1 N=E+1

    Acarreo2 =1

    R=8 R=9

    Dado que acarreo2 = 1

    N+R+1=10+E R=8 N+R=10+E R=9

    Verificacin de restricciones

  • 7/28/2019 IA 01 ProblemasBusqueda

    35/37

    Ejemplo: Criptoaritmtica

    SEND+ MORE

    ------

    MONEY

    R=8 R=9

    D+E=Y D+E=10+Y

    S E N D M O R Y

    Restricciones M=1

    S=8 S=9

    O=0 O=1 O=0 N=E N=E+1 N=E+1

    Acarreo2 =1

    Ejercicio

  • 7/28/2019 IA 01 ProblemasBusqueda

    36/37

    Ejercicio

    Haga una traza del procedimiento de verificacinde restricciones para resolver el siguienteproblema criptoaritmtico.

    CROSS

    + ROADS

    -------

    DANGER

  • 7/28/2019 IA 01 ProblemasBusqueda

    37/37