SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
Resolver problemas mediante
Inteligencia Artificial

Universidad de Boyacá
Resolución de problemas
 Se quiere:
    Resolver automáticamente un problema




 Se necesita:
    Una representación del problema

    Algoritmos que usen alguna estrategia para

     resolver el problema definido en esa
     representación
Definición de un problema
 Si se abstraen los elementos de un problema
  se pueden identificar:
    Un punto de partida

    Un objetivo a alcanzar

    Acciones a disposición para resolver el

     problema
    Restricciones sobre el objetivo (p.e., que se

     quire)
    Elementos del dominio que son relevantes en

     el problema (p.e., conocimiento incompleto
     del punto de partida)
Representación de
problemas
 Existen diferentes formas de representar
  problemas para resolverlos de manera
  automática
 Representaciones generales:
      Espacio de estados. Un problema se divide en
       un conjunto de pasos de resolución desde el
       inicio hasta el objetivo.
      Reducción a sub-problemas. Un problema se
       descompone en una jerarquía de sub-
       problemas.
 Representaciones para problemas
 específicos:
      Resolución de juegos
      Satisfacción de restricciones
Representación de
problemas: estados
 Se puede definir un problema por los elementos
    que intervienen y sus relaciones.
   En cada instante de la resolución de un
    problema esos elementos tendrán unas
    características y relaciones específicas.
   Se denomina estado a la representación de los
    elementos que describen el problema en un
    momento dado.
   Se distinguen dos estados especiales: el
    estado inicial (punto de partida) y el estado
    final (en general, el objetivo del problema).
   ¿Qué descriptores incluir en el estado? (Ej.: la
    localización)
Modificación del estado:
función sucesor
 Para poder moverse entre los diferentes
  estados se necesita una función sucesor
  (descripción de las posibles acciones).
• Función sucesor (o conjunto de
  operadores): función de transformación
  sobre la representación de un estado que
  lo convierte en otro estado
 La función sucesor define una relación de
  accesibilidad entre estados.
 Representación de la función sucesor:
   Condiciones de aplicabilidad
   Función de transformación
Espacio de estados
 El conjunto de todos los estados
  alcanzables desde el estado inicial
  conforma lo que se denomina espacio de
  estados.
 Representa todos los caminos que hay
  entre todos los estados posibles de un
  problema.
 El espacio de estados forma un grafo (o
  mapa) en el cual los nodos son estados y
  los arcos son acciones.
 La solución del problema está dentro de
  ese mapa.
Solución de un problema en
el espacio de estados
• Solución: Secuencia de pasos que
  llevan del estado inicial al final
  (secuencia de operadores) o
  también el estado final
• Tipos de solución: una
  cualquiera, la mejor, todas
• Costo de una solución: gasto en
  recursos de la aplicación de los
  operadores a los estados; puede ser
  importante o no según el problema
  y qué tipo de solución busquemos
Descripción de un problema
en el espacio de estados
 Definir el espacio de estados (explícita o
  implícitamente)
 Especificar el estado inicial
 Especificar el estado final o las condiciones
  que cumple
 Especificar los operadores de cambio de
  estado (condiciones de aplicabilidad y
  función de transformación)
 Especificar el tipo de solución:
    La secuencia de operadores o el estado final
    Una solución cualquiera, la mejor (definición
     de costo), todas …
Ejemplos: puzzle
 Espacio de estados:
    configuraciones de 8 fichas en el tablero
 Estado inicial:
    cualquier configuración            1     2                     3
 Estado final:
    fichas en orden específico          4    5                     6
 Acción:
    “mover hueco”
         Condiciones:
                                                       7   8
              el movimiento está dentro del tablero
         Transformación:
              “mover el hueco” a la Izquierda, Derecha, Arriba y
               Abajo
 Solución: Qué pasos + El menor número
Ejemplo: n reinas
n=4             n=8
Ejemplo: n reinas
 Estado inicial:
   configuración sin reinas en el tablero
 Espacio de estados:
   configuraciones de 0 a n reinas en el tablero con sólo
    una por fila y columna
 Estado final:
   configuración en la que ninguna reina se mata entre sí
 Operadores:
   colocar una reina en una fila y columna
         Condiciones:
              la reina no es matada por ninguna ya colocada
         Transformación:
              colocar una reina más en el tablero en una fila y columna
               determinada
 Solución:
   Las reinas ubicadas, pero no importan los pasos
Problema de las jarras de
agua
 Se tienen dos jarras de agua, una de 4litros y
  otra de 3litros sin escala de medición. Se
  desea tener 2 litros de agua en la jarra de 4
  litros. Las siguientes operaciones son válidas:
  llenar las jarras, tirar agua de las jarras, pasar
  agua de una jarra a otra.




                                                   13
 El espacio de estados se define como:
{ (X,Y)/ X son los litros en la jarra de 4l con 0<=X<=4 AND
   Y son los litros de la jarra de 3l con 0<=Y<=3 }




                                                              14
Conclusión del ejemplo de
las tres jarras:




                            15
Problema de los
Caníbales y Monjes
 Se tienen 3 monjes y 3 caníbales en el margen
 Oeste de un río. Existe una canoa con capacidad
 para dos personas como máximo. Se desea que
 los seis pasen al margen Este del río, pero hay
 que considerar que no debe haber más caníbales
 que monjes en ningún sitio porque entonces los
 caníbales se comen a los monjes. Además, la
 canoa siempre debe ser conducida por alguien.

 Realice la misma construcción de acuerdo a la
 solución de las tres jarras.
                                                   16
Búsqueda en el espacio de
estados
 Se define una representación del espacio
  de estados para poder implementar
  algoritmos que busquen soluciones.
 La resolución de un problema con esta
  representación pasa por explorar el
  espacio de estados.
 Se empieza del estado inicial y se evalúa
  cada paso hasta encontrar un estado final.
 En el caso peor se exploran todos los
  posibles caminos entre el estado inicial del
  problema y el estado final.
Estructura del espacio de
estados
   Estructuras de datos: árboles y grafos
   Estados = nodos
   Operadores = arcos entre nodos (dirigidos)
   Árboles: sólo un camino lleva a un nodo
   Grafos: varios caminos pueden llevar a un
    nodo
Resolución de problemas
de IA
 Para construir un sistema que
  resuelva un sistema específico, es
  necesario:
      1- Definir el problema formalmente con
       precisión.
      2- Analizar el problema.
      3- Representar el conocimiento
       necesario para resolver el problema.
      4- Elegir la mejor técnica que resuelva
       el problema y aplicarla.
                                             19
1. Definición formal del problema.
El primer paso para diseñar un programa que resuelva un problema es crear
una descripción formal y manejable del propio problema. Sería adecuado
contar con programas que produzcan descripciones formales a partir de
descripciones informales, proceso denominado operacionalización. Dado que
por ahora no se conoce la forma de construir estos programas este proceso
debe hacerse manualmente.

Hay problemas que por ser artificiales y estructurados son fáciles de
especificar (por ej. el ajedrez, el problema de las jarras de agua, etc. ). Otros
problemas naturales, como por ej. la comprensión del lenguaje, no son tan
sencillos de especificar.

Para producir una especificación formal de un problema se deben definir:
    •espacio de estados válidos;
    •estado inicial del problema;
    •estado objetivo o final;
    •reglas que se pueden aplicar para pasar de un estado a otro.
                                                                                    20
Un estado es la representación de un problema en un instante dado.
Para definir el espacio de estados no es necesario hacer una
enumeración exhaustiva de todos los estado válidos, sino que es
posible definirlo de manera más general.

El estado inicial consiste en uno o varios estados en los que puede
comenzar el problema.

El estado objetivo consiste en uno o varios estados finales que se
consideran solución aceptable.

Las reglas describen las acciones u operadores que posibilitan un
pasaje de estados. Una regla tiene una parte izquierda y una parte
derecha. La parte izquierda determina la aplicabilidad de la regla, es
decir, describe los estados a los que puede aplicarse la regla. La parte
derecha describe la operación que se lleva a cabo si se aplica la regla,
es decir, como obtener el estado sucesor.
                                                                       21
 La representación como espacio de estados forma
 parte de la mayoría de los métodos de IA. Su
 estructura se corresponde con la resolución de
 problemas porque:
   Permite definir formalmente el problema, mediante
    la necesidad de convertir una situación dada en una
    situación deseada mediante un conjunto de
    operaciones permitidas.
   Permite definir el proceso de resolución de un
    problema como una combinación de técnicas
    conocidas y búsqueda (la técnica general de
    exploración del espacio intenta encontrar alguna
    ruta desde el estado actual hasta un estado
    objetivo).

                                                      22
2. Estrategia de control: Métodos
de búsqueda
 El problema puede resolverse con el uso de reglas
 en combinación con una estrategia de control
 para trasladarse a través del espacio de estados
 hasta encontrar un camino desde el estado inicial
 hasta el estado final. Se elige una regla entre
 aquellas cuya parte izquierda concuerda con el
 estado actual. Se aplica la regla elegida
 realizando el cambio de estado tal como se
 describe en la parte derecha de la regla. Si el
 nuevo estado es estado objetivo o final se ha
 encontrado la solución. En caso contrario se
 continúa con la aplicación de reglas al nuevo
 estado.
                                                  23
Una estrategia de control especifica el orden en el que se deben aplicar las
reglas, así como también la forma de resolver conflictos cuando es posible
aplicar más de una regla. Para que una estrategia de control sea válida debe
cumplir con dos requisitos:

     • Causar cambios:
las estrategias de control que no causan cambios de estado nunca alcanzan la
solución. Un ejemplo de estrategia de control que no causa cambios es
seleccionar siempre la primera regla aplicable de la lista de reglas definidas. En
el ejemplo de las jarras de agua, se continuaría indefinidamente aplicando las
reglas 1 y 3 sin posibilidad de arribar a la solución.

     • Ser sistemática:
las estrategias de control que no son sistemáticas pueden utilizar secuencias de
operaciones no apropiadas varias veces hasta alcanzar la solución. Un ejemplo
de estrategia de control no sistemática es seleccionar la regla a aplicar al azar.
Esta estrategia puede encontrar la solución eventualmente, pero luego de haber
realizado varios pasos innecesarios e incluso haber vuelto varias veces al mismo
estado.


                                                                                24
Algunos ejemplos de estrategias de
control sistemáticas
 Los siguientes algoritmos de búsqueda
  detallados a continuación son ejemplos de
  estrategias de control sistemáticas.
 Todos se basan en considerar un árbol de
  estados cuya raíz es el estado inicial, y en
  cada nivel se hallan los estados sucesores
  correspondientes.
    Búsqueda Breadth-First Search (primero
     en ancho)
    Búsqueda Depth-First Search (primero en
     profundidad)

                                             25
3. Análisis del problema
Luego de definir el problema formalmente, el segundo paso en la
resolución del problema es el análisis del mismo. A fin de poder elegir el
método más apropiado para resolver un problema particular, es necesario
analizar distintas cuestiones que afectan a al definición del mismo y a las
características de la solución deseada. Existen varias preguntas a
responder acerca del problema:

1. ¿Puede descomponerse el problema en subproblemas más
   pequeños?
2. ¿Pueden deshacerse pasos inadecuados hacia la solución?
3. ¿Es predecible el universo del problema?
4. ¿Una solución es buena de manera absoluta o relativa?
5. ¿La solución deseada es un estado o la ruta hacia un estado?
6. ¿El conocimiento se necesita para resolver el problema o para
   restringir la búsqueda de la solución?
7. El programa que soluciona el problema ¿busca la solución solo o
   necesita interactuar con una persona?                        26
Webgrafia
 www.lsi.upc.es/~luigi/II/IA-2008-spring/3c-
  representacion-del-conocimiento-(es).ppt
 www.lsi.upc.es/~luigi/II/IA-2008-spring/4a-
  introduccion-a-los-sistemas-basados-en-el-
  conocimiento-(es).ppt




                                                27

Más contenido relacionado

La actualidad más candente

Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.Bryan Aguilar Yaguana
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoMarvin Zumbado
 
Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos Kaneki04
 
Modelos del Sistema
Modelos del SistemaModelos del Sistema
Modelos del SistemaSofylutqm
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacionalMaria Garcia
 
Trabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandraTrabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandraAlexandraMolinaSanchez
 
automatas finitos
 automatas finitos automatas finitos
automatas finitosAnel Sosa
 
Silabo ingenieria de software
Silabo  ingenieria de software Silabo  ingenieria de software
Silabo ingenieria de software Jose Mera
 
Mapa Conceptual de Grafos
Mapa Conceptual de GrafosMapa Conceptual de Grafos
Mapa Conceptual de GrafosSandra Biondi
 
Diagramas de estados
Diagramas de estadosDiagramas de estados
Diagramas de estadosstill01
 
Programación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operacionesProgramación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operacionesAngel Vázquez Patiño
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda HashBlanca Parra
 
Estructura de Datos - Unidad VI: Métodos de Búsqueda
Estructura de Datos - Unidad VI: Métodos de BúsquedaEstructura de Datos - Unidad VI: Métodos de Búsqueda
Estructura de Datos - Unidad VI: Métodos de BúsquedaJosé Antonio Sandoval Acosta
 

La actualidad más candente (20)

Unidad 2 modelado de negocios
Unidad 2 modelado de negociosUnidad 2 modelado de negocios
Unidad 2 modelado de negocios
 
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
 
Diseño caso de pruebas
Diseño caso de pruebasDiseño caso de pruebas
Diseño caso de pruebas
 
Estándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de NegociosEstándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de Negocios
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modelado
 
Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos
 
Modelos del Sistema
Modelos del SistemaModelos del Sistema
Modelos del Sistema
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Trabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandraTrabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandra
 
automatas finitos
 automatas finitos automatas finitos
automatas finitos
 
Modelos de iluminacion
Modelos de iluminacionModelos de iluminacion
Modelos de iluminacion
 
Silabo ingenieria de software
Silabo  ingenieria de software Silabo  ingenieria de software
Silabo ingenieria de software
 
Mapa Conceptual de Grafos
Mapa Conceptual de GrafosMapa Conceptual de Grafos
Mapa Conceptual de Grafos
 
Diagramas de estados
Diagramas de estadosDiagramas de estados
Diagramas de estados
 
Programación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operacionesProgramación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operaciones
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda Hash
 
Recursividad
RecursividadRecursividad
Recursividad
 
Estructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no linealesEstructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no lineales
 
Estructura de Datos - Unidad VI: Métodos de Búsqueda
Estructura de Datos - Unidad VI: Métodos de BúsquedaEstructura de Datos - Unidad VI: Métodos de Búsqueda
Estructura de Datos - Unidad VI: Métodos de Búsqueda
 
Tutorial de JFLAP
Tutorial de JFLAPTutorial de JFLAP
Tutorial de JFLAP
 

Similar a Clase 2 (20)

Busqueda de epacio de estado 1
Busqueda de epacio de estado 1Busqueda de epacio de estado 1
Busqueda de epacio de estado 1
 
Unidad 3 Busqueda.pdf
Unidad 3 Busqueda.pdfUnidad 3 Busqueda.pdf
Unidad 3 Busqueda.pdf
 
Leccion 10
Leccion 10Leccion 10
Leccion 10
 
Clase 22
Clase 22Clase 22
Clase 22
 
Tema 02
Tema 02Tema 02
Tema 02
 
Programación lineal1
Programación lineal1Programación lineal1
Programación lineal1
 
Presentación de Simulación Digital
Presentación de Simulación DigitalPresentación de Simulación Digital
Presentación de Simulación Digital
 
Proyecto FEP GRUPO 4
Proyecto FEP GRUPO 4 Proyecto FEP GRUPO 4
Proyecto FEP GRUPO 4
 
Programación lineal y pert. do
Programación lineal y pert. doProgramación lineal y pert. do
Programación lineal y pert. do
 
Coleccion problemas-de-ia
Coleccion problemas-de-iaColeccion problemas-de-ia
Coleccion problemas-de-ia
 
Variable de estado.pdf
Variable de estado.pdfVariable de estado.pdf
Variable de estado.pdf
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación Dinámica
 
Programacion no lineal
Programacion no linealProgramacion no lineal
Programacion no lineal
 
Diagramas de-flujo.
Diagramas de-flujo.Diagramas de-flujo.
Diagramas de-flujo.
 
Programación lineal
Programación linealProgramación lineal
Programación lineal
 
Presentación de investigación de operaciones II
Presentación de investigación de operaciones IIPresentación de investigación de operaciones II
Presentación de investigación de operaciones II
 
S12.s1 -Control_Moderno- Modelamiento de sistemas Eléctricos - Estado.pdf
S12.s1 -Control_Moderno- Modelamiento de sistemas Eléctricos - Estado.pdfS12.s1 -Control_Moderno- Modelamiento de sistemas Eléctricos - Estado.pdf
S12.s1 -Control_Moderno- Modelamiento de sistemas Eléctricos - Estado.pdf
 
Sistemas inteligentes
Sistemas inteligentesSistemas inteligentes
Sistemas inteligentes
 
Part 11
Part 11Part 11
Part 11
 
Presentacion programacion lineal ivo
Presentacion programacion lineal ivoPresentacion programacion lineal ivo
Presentacion programacion lineal ivo
 

Más de Leonardo Bernal Zamora: Docente, Internauta y convencido de la educación para todos

Más de Leonardo Bernal Zamora: Docente, Internauta y convencido de la educación para todos (20)

Conceptos y operaciones básicas
Conceptos y operaciones básicasConceptos y operaciones básicas
Conceptos y operaciones básicas
 
Operaciones lenguajes
Operaciones lenguajesOperaciones lenguajes
Operaciones lenguajes
 
Operaciones cadenas
Operaciones cadenasOperaciones cadenas
Operaciones cadenas
 
Introducción a la Ingeniería de Sistemas II 2013
Introducción a la Ingeniería de Sistemas II 2013Introducción a la Ingeniería de Sistemas II 2013
Introducción a la Ingeniería de Sistemas II 2013
 
Rea actividad 2
Rea actividad 2Rea actividad 2
Rea actividad 2
 
Rea
ReaRea
Rea
 
Busquedas en internet
Busquedas en internetBusquedas en internet
Busquedas en internet
 
Proyecto java
Proyecto javaProyecto java
Proyecto java
 
Clase 2 POO
Clase 2 POOClase 2 POO
Clase 2 POO
 
Clase5 POO
Clase5 POOClase5 POO
Clase5 POO
 
Clase 41
Clase 41Clase 41
Clase 41
 
Clase 4
Clase 4Clase 4
Clase 4
 
2 elementos pseudocodigo
2 elementos pseudocodigo2 elementos pseudocodigo
2 elementos pseudocodigo
 
Clase 23
Clase 23Clase 23
Clase 23
 
Clase 1. lógica de la programación
Clase 1. lógica de la programaciónClase 1. lógica de la programación
Clase 1. lógica de la programación
 
Unidad 4 docentes colombianos
Unidad 4 docentes colombianosUnidad 4 docentes colombianos
Unidad 4 docentes colombianos
 
Prolog file
Prolog fileProlog file
Prolog file
 
Prolog 2011 2
Prolog 2011 2Prolog 2011 2
Prolog 2011 2
 
Practicas prolog2011 listas
Practicas prolog2011 listasPracticas prolog2011 listas
Practicas prolog2011 listas
 
Practicas prolog2011
Practicas prolog2011Practicas prolog2011
Practicas prolog2011
 

Clase 2

  • 1. Resolver problemas mediante Inteligencia Artificial Universidad de Boyacá
  • 2. Resolución de problemas  Se quiere:  Resolver automáticamente un problema  Se necesita:  Una representación del problema  Algoritmos que usen alguna estrategia para resolver el problema definido en esa representación
  • 3. Definición de un problema  Si se abstraen los elementos de un problema se pueden identificar:  Un punto de partida  Un objetivo a alcanzar  Acciones a disposición para resolver el problema  Restricciones sobre el objetivo (p.e., que se quire)  Elementos del dominio que son relevantes en el problema (p.e., conocimiento incompleto del punto de partida)
  • 4. Representación de problemas  Existen diferentes formas de representar problemas para resolverlos de manera automática  Representaciones generales:  Espacio de estados. Un problema se divide en un conjunto de pasos de resolución desde el inicio hasta el objetivo.  Reducción a sub-problemas. Un problema se descompone en una jerarquía de sub- problemas.  Representaciones para problemas específicos:  Resolución de juegos  Satisfacción de restricciones
  • 5. Representación de problemas: estados  Se puede definir un problema por los elementos que intervienen y sus relaciones.  En cada instante de la resolución de un problema esos elementos tendrán unas características y relaciones específicas.  Se denomina estado a la representación de los elementos que describen el problema en un momento dado.  Se distinguen dos estados especiales: el estado inicial (punto de partida) y el estado final (en general, el objetivo del problema).  ¿Qué descriptores incluir en el estado? (Ej.: la localización)
  • 6. Modificación del estado: función sucesor  Para poder moverse entre los diferentes estados se necesita una función sucesor (descripción de las posibles acciones). • Función sucesor (o conjunto de operadores): función de transformación sobre la representación de un estado que lo convierte en otro estado  La función sucesor define una relación de accesibilidad entre estados.  Representación de la función sucesor:  Condiciones de aplicabilidad  Función de transformación
  • 7. Espacio de estados  El conjunto de todos los estados alcanzables desde el estado inicial conforma lo que se denomina espacio de estados.  Representa todos los caminos que hay entre todos los estados posibles de un problema.  El espacio de estados forma un grafo (o mapa) en el cual los nodos son estados y los arcos son acciones.  La solución del problema está dentro de ese mapa.
  • 8. Solución de un problema en el espacio de estados • Solución: Secuencia de pasos que llevan del estado inicial al final (secuencia de operadores) o también el estado final • Tipos de solución: una cualquiera, la mejor, todas • Costo de una solución: gasto en recursos de la aplicación de los operadores a los estados; puede ser importante o no según el problema y qué tipo de solución busquemos
  • 9. Descripción de un problema en el espacio de estados  Definir el espacio de estados (explícita o implícitamente)  Especificar el estado inicial  Especificar el estado final o las condiciones que cumple  Especificar los operadores de cambio de estado (condiciones de aplicabilidad y función de transformación)  Especificar el tipo de solución:  La secuencia de operadores o el estado final  Una solución cualquiera, la mejor (definición de costo), todas …
  • 10. Ejemplos: puzzle  Espacio de estados:  configuraciones de 8 fichas en el tablero  Estado inicial:  cualquier configuración 1 2 3  Estado final:  fichas en orden específico 4 5 6  Acción:  “mover hueco”  Condiciones: 7 8  el movimiento está dentro del tablero  Transformación:  “mover el hueco” a la Izquierda, Derecha, Arriba y Abajo  Solución: Qué pasos + El menor número
  • 12. Ejemplo: n reinas  Estado inicial:  configuración sin reinas en el tablero  Espacio de estados:  configuraciones de 0 a n reinas en el tablero con sólo una por fila y columna  Estado final:  configuración en la que ninguna reina se mata entre sí  Operadores:  colocar una reina en una fila y columna  Condiciones:  la reina no es matada por ninguna ya colocada  Transformación:  colocar una reina más en el tablero en una fila y columna determinada  Solución:  Las reinas ubicadas, pero no importan los pasos
  • 13. Problema de las jarras de agua  Se tienen dos jarras de agua, una de 4litros y otra de 3litros sin escala de medición. Se desea tener 2 litros de agua en la jarra de 4 litros. Las siguientes operaciones son válidas: llenar las jarras, tirar agua de las jarras, pasar agua de una jarra a otra. 13
  • 14.  El espacio de estados se define como: { (X,Y)/ X son los litros en la jarra de 4l con 0<=X<=4 AND Y son los litros de la jarra de 3l con 0<=Y<=3 } 14
  • 15. Conclusión del ejemplo de las tres jarras: 15
  • 16. Problema de los Caníbales y Monjes  Se tienen 3 monjes y 3 caníbales en el margen Oeste de un río. Existe una canoa con capacidad para dos personas como máximo. Se desea que los seis pasen al margen Este del río, pero hay que considerar que no debe haber más caníbales que monjes en ningún sitio porque entonces los caníbales se comen a los monjes. Además, la canoa siempre debe ser conducida por alguien.  Realice la misma construcción de acuerdo a la solución de las tres jarras. 16
  • 17. Búsqueda en el espacio de estados  Se define una representación del espacio de estados para poder implementar algoritmos que busquen soluciones.  La resolución de un problema con esta representación pasa por explorar el espacio de estados.  Se empieza del estado inicial y se evalúa cada paso hasta encontrar un estado final.  En el caso peor se exploran todos los posibles caminos entre el estado inicial del problema y el estado final.
  • 18. Estructura del espacio de estados  Estructuras de datos: árboles y grafos  Estados = nodos  Operadores = arcos entre nodos (dirigidos)  Árboles: sólo un camino lleva a un nodo  Grafos: varios caminos pueden llevar a un nodo
  • 19. Resolución de problemas de IA  Para construir un sistema que resuelva un sistema específico, es necesario:  1- Definir el problema formalmente con precisión.  2- Analizar el problema.  3- Representar el conocimiento necesario para resolver el problema.  4- Elegir la mejor técnica que resuelva el problema y aplicarla. 19
  • 20. 1. Definición formal del problema. El primer paso para diseñar un programa que resuelva un problema es crear una descripción formal y manejable del propio problema. Sería adecuado contar con programas que produzcan descripciones formales a partir de descripciones informales, proceso denominado operacionalización. Dado que por ahora no se conoce la forma de construir estos programas este proceso debe hacerse manualmente. Hay problemas que por ser artificiales y estructurados son fáciles de especificar (por ej. el ajedrez, el problema de las jarras de agua, etc. ). Otros problemas naturales, como por ej. la comprensión del lenguaje, no son tan sencillos de especificar. Para producir una especificación formal de un problema se deben definir: •espacio de estados válidos; •estado inicial del problema; •estado objetivo o final; •reglas que se pueden aplicar para pasar de un estado a otro. 20
  • 21. Un estado es la representación de un problema en un instante dado. Para definir el espacio de estados no es necesario hacer una enumeración exhaustiva de todos los estado válidos, sino que es posible definirlo de manera más general. El estado inicial consiste en uno o varios estados en los que puede comenzar el problema. El estado objetivo consiste en uno o varios estados finales que se consideran solución aceptable. Las reglas describen las acciones u operadores que posibilitan un pasaje de estados. Una regla tiene una parte izquierda y una parte derecha. La parte izquierda determina la aplicabilidad de la regla, es decir, describe los estados a los que puede aplicarse la regla. La parte derecha describe la operación que se lleva a cabo si se aplica la regla, es decir, como obtener el estado sucesor. 21
  • 22.  La representación como espacio de estados forma parte de la mayoría de los métodos de IA. Su estructura se corresponde con la resolución de problemas porque:  Permite definir formalmente el problema, mediante la necesidad de convertir una situación dada en una situación deseada mediante un conjunto de operaciones permitidas.  Permite definir el proceso de resolución de un problema como una combinación de técnicas conocidas y búsqueda (la técnica general de exploración del espacio intenta encontrar alguna ruta desde el estado actual hasta un estado objetivo). 22
  • 23. 2. Estrategia de control: Métodos de búsqueda  El problema puede resolverse con el uso de reglas en combinación con una estrategia de control para trasladarse a través del espacio de estados hasta encontrar un camino desde el estado inicial hasta el estado final. Se elige una regla entre aquellas cuya parte izquierda concuerda con el estado actual. Se aplica la regla elegida realizando el cambio de estado tal como se describe en la parte derecha de la regla. Si el nuevo estado es estado objetivo o final se ha encontrado la solución. En caso contrario se continúa con la aplicación de reglas al nuevo estado. 23
  • 24. Una estrategia de control especifica el orden en el que se deben aplicar las reglas, así como también la forma de resolver conflictos cuando es posible aplicar más de una regla. Para que una estrategia de control sea válida debe cumplir con dos requisitos: • Causar cambios: las estrategias de control que no causan cambios de estado nunca alcanzan la solución. Un ejemplo de estrategia de control que no causa cambios es seleccionar siempre la primera regla aplicable de la lista de reglas definidas. En el ejemplo de las jarras de agua, se continuaría indefinidamente aplicando las reglas 1 y 3 sin posibilidad de arribar a la solución. • Ser sistemática: las estrategias de control que no son sistemáticas pueden utilizar secuencias de operaciones no apropiadas varias veces hasta alcanzar la solución. Un ejemplo de estrategia de control no sistemática es seleccionar la regla a aplicar al azar. Esta estrategia puede encontrar la solución eventualmente, pero luego de haber realizado varios pasos innecesarios e incluso haber vuelto varias veces al mismo estado. 24
  • 25. Algunos ejemplos de estrategias de control sistemáticas  Los siguientes algoritmos de búsqueda detallados a continuación son ejemplos de estrategias de control sistemáticas.  Todos se basan en considerar un árbol de estados cuya raíz es el estado inicial, y en cada nivel se hallan los estados sucesores correspondientes.  Búsqueda Breadth-First Search (primero en ancho)  Búsqueda Depth-First Search (primero en profundidad) 25
  • 26. 3. Análisis del problema Luego de definir el problema formalmente, el segundo paso en la resolución del problema es el análisis del mismo. A fin de poder elegir el método más apropiado para resolver un problema particular, es necesario analizar distintas cuestiones que afectan a al definición del mismo y a las características de la solución deseada. Existen varias preguntas a responder acerca del problema: 1. ¿Puede descomponerse el problema en subproblemas más pequeños? 2. ¿Pueden deshacerse pasos inadecuados hacia la solución? 3. ¿Es predecible el universo del problema? 4. ¿Una solución es buena de manera absoluta o relativa? 5. ¿La solución deseada es un estado o la ruta hacia un estado? 6. ¿El conocimiento se necesita para resolver el problema o para restringir la búsqueda de la solución? 7. El programa que soluciona el problema ¿busca la solución solo o necesita interactuar con una persona? 26
  • 27. Webgrafia  www.lsi.upc.es/~luigi/II/IA-2008-spring/3c- representacion-del-conocimiento-(es).ppt  www.lsi.upc.es/~luigi/II/IA-2008-spring/4a- introduccion-a-los-sistemas-basados-en-el- conocimiento-(es).ppt 27