Páginas

PA1_U3.- Tipos de problemas que se resuelven con las técnicas de búsqueda

 

Debido a que la búsqueda es el núcleo de muchos procesos inteligentes, es adecuado estructurar los programas de IA de forma que se facilite describir y desarrollar el proceso de búsqueda. Los sistemas de producción proporcionan tales estructuras. Un sistema de producción consiste en:

 • Un conjunto de reglas.

• Una o más bases de datos/conocimiento.

• Una estrategia de control que especifique el orden en el que las reglas se comparan con la base de datos, y la forma de resolver los conflictos que surjan cuando varias reglas puedan ser aplicadas a la vez.

• Un aplicador de reglas.

El proceso de solución del problema puede modelarse como un sistema de producción. El problema que se plantea es escoger la estructura de control apropiada para el sistema de producción con el fin de que el proceso de búsqueda sea lo más eficiente posible.

 

Un problema de búsqueda en I.A. consta de:

 Un espacio de estados.



 Un conjunto de operadores (acciones, con costes).



 Un estado inicial (punto de partida de la búsqueda búsqueda).

 Una función objetivo (comprueba si el estado actual corresponde a una solución del problema problema)

 

La búsqueda la realiza un programa (o agente).

 El espacio de búsqueda será un grafo dirigido en el que cada nodo representa un posible estado del sistema.

NOTA: Dependiendo del problema, cada nodo incluirá una descripción completa del sistema, o bien sólo las modificaciones necesarias para pasar de un nodo padre a su hijo.

 

Búsqueda en un espacio de estados

 Grafo del espacio de estados / Grafo implícito

  Representación matemática de un problema de búsqueda (nodos: estados; arcos: operadores): Grafo teórico que representa todas las posibles transformaciones del sistema aplicando todos los operadores posibles recursivamente.

 Debido a su complejidad exponencial, que requeriría una cantidad inviable de memoria y tiempo, el grafo del espacio de estados no puede generarse por completo.

 

 

La solución de problemas es fundamental para la mayoría de las aplicaciones de IA; existen principalmente dos clases de problemas que se pueden resolver mediante procesos computables: aquéllos en los que se utiliza un algoritmo determinista que garantiza la solución al problema y las tareas complejas que se resuelven con la búsqueda de una solución; de ésta última clase de problemas se ocupa la IA.

La solución de problemas requiere dos consideraciones:

  • ·         Representación del problema en un espacio organizado.
  • ·         La capacidad de probar la existencia del estado objetivo en dicho espacio.

Las anteriores premisas se traducen en: la determinación del estado objetivo y la determinación del camino óptimo guiado por este objetivo a través de una o más transiciones dado un estado inicial. El espacio de búsqueda, se le conoce como una colección de estados.

En general los espacios de búsqueda en los problemas de IA no son completamente conocidos de forma a priori. De lo anterior ‘resolver un problema de IA’ cuenta con dos fases:

  • ·         La generación del espacio de estados
  • ·         La búsqueda del estado deseado en ese espacio.

Debido a que ‘todo el espacio de búsqueda’ de un problema es muy grande, puede causar un bloqueo de memoria, dejando muy poco espacio para el proceso de búsqueda. Para solucionar esto, se expande el espacio paso a paso, hasta encontrar el estado objetivo.



Planteamiento del problema del 8-puzle

 

Un tablero cuadrado (3x3) en el que hay situados 8 bloques cuadrados numerados (con lo cual se deja un hueco del tamaño de un bloque). Un bloque adyacente al hueco puede deslizarse hacia él. El juego consiste en transformar una posición inicial en la posición final mediante el deslizamiento de los bloques. En particular, consideramos el estado inicial y final siguientes:

                        


Estado: descripción de una posible situación en el problema

 • Abstracción de propiedades

Importancia de una buena representación de los estados

• Sólo considerar información relevante para el problema

• La representación escogida influye en el número de estados y éste en los procedimientos de búsqueda de soluciones

Ejemplo: 8-puzle: Elementos de la representación:

 • relevante: localización de cada bloque y del hueco;

• irrelevante: tipo de material de los bloques, colores de los bloques.

Ejemplo del 8-puzle: Representaciones del estado



• Descripción de la posición exacta de cada uno de los bloques

• Representación vs. implementación

• Lista: (2 8 3 1 6 4 7 H 5), (2 8 3 4 5 H 7 1 6)

• Matriz: ((2 8 3)(1 6 4)(7 H 5))

 • Literales: ((primera-izquierda 2) (primera-centro 8) ...)

• Número de estados: 9! = 362.880.

 

Operadores en el 8 puzle

• Mover el hueco hacia arriba

• Mover el hueco hacia abajo

• Mover el hueco hacia la derecha

• Mover el hueco hacia la izquierda

• Descripción del operador “Mover el hueco hacia arriba”

• Aplicabilidad: es aplicable a estados que no tengan el hueco en la primera fila

• Resultado de aplicarlo: intercambiar las posiciones del hueco y del bloque que está encima de éste



·         Los tres restantes, análogamente



Descripción del objetivo

      • Usualmente, un conjunto de estados, que llamaremos finales

      • A veces, aunque no necesariamente, un único estado final

      • Ejemplo del 8-puzle (un único estado final)

                                                           


Formas de describir los estados finales:

• Enumerativa.

• Declarativa.

Definición de solución de un problema.

 • Secuencia de acciones a realizar para conseguir el objetivo

 • Secuencia de operadores cuya aplicación desde el estado inicial obtiene un estado final

 • Ejemplo: Una solución del 8-puzle

 





Referencias: 

  • Ruiz Reina, J. (2012, diciembre). IA. Recuperado de https://www.cs.us.es/cursos/ia1/temas/tema-02.pdf

  • Guerri, M. (2020, 10 febrero). ▷ Misioneros y caníbales. Recuperado de https://www.psicoactiva.com/puzzleclopedia/misioneros-y-canibales/

No hay comentarios:

Publicar un comentario