Subido por lalosox366

M3 Inteligencia artificial.pdf

Anuncio
Inteligencia artificial
Módulo 3
Ingeniería de Software
Inteligencia artificial
Módulo 3: Problema de satisfacción de restricciones y lógica
Autor: Miguel García Torres mgarciat@upo.es
Doctor en Ciencias de la Computación e Inteligencia Artificial
Fecha de actualización: 18 de marzo de 2017
Inteligencia artificial
Módulo 3
Módulo 3: Problema de satisfacción de restricciones y lógica
Introducción
Este módulo aborda dos grandes temas: la resolución de problemas de
satisfacción de restricciones (PSR) y la lógica. El primero de ellos es ampliamente
usado en problemas grandes y complejos y, principalmente, combinatorios. Se partirá
de una introducción en la que se da una definición formal y se continuará presentando
cómo se modelan varios problemas para resolverlos como un PSR. Finalmente, se
presentará los tipos de técnicas que hay y se entrará en detalle con la estrategia vuelta
atrás.
En el segundo tema se introduce la lógica, cuyo objetivo de estudio es el
aprendizaje de las técnicas de demostración formales y sus aplicaciones en la
resolución de problemas. Para ello es necesario llevar a cabo la formalización del
conocimiento y aprender la manipulación del mismo. La formalización se hace
mediante el lenguaje formal lógico. En este tema se introduce el lenguaje de la lógica
de primer orden para aprender a formular proposiciones y razonamiento con dicho
lenguaje.
Inteligencia artificial
Módulo 3
Tabla de contenido
Módulo 3: Problemas de satisfacción de restricciones y lógica ............................... 2
Introducción ............................................................................................................. 2
Unidad temática 5 .................................................................................................. 4
5.1. Introducción ................................................................................................... 4
5.2. Marco conceptual ........................................................................................... 4
5.2.1 Introducción ............................................................................................. 4
5.2.2 Modelización de problemas de satisfacción de restricciones ....................... 5
5.2.3 Técnicas de resolución de PSR ................................................................... 8
5.3. Ejemplos ........................................................................................................ 9
5.4. Conclusiones ................................................................................................ 11
Unidad temática 6 ................................................................................................ 12
6.1. Introducción ................................................................................................. 12
6.2. Marco conceptual ......................................................................................... 12
6.2.1. Representación del conocimiento y razonamiento ................................... 12
6.2.2 Lógica ..................................................................................................... 16
6.2.3 Tipos de lógica ........................................................................................ 17
6.3. Ejemplos ...................................................................................................... 21
6.4. Ejercicios de reflexión ................................................................................... 23
6.5. Conclusiones ................................................................................................ 24
Referencias bibliográficas ....................................................................................... 25
Inteligencia artificial
Módulo 3
Unidad temática 5
5.1. Introducción
La modelización de un problema como un problema de satisfacción de
restricciones (PSR) es una metodología utilizada para la descripción y posterior
resolución efectiva de cierto tipo de problemas, típicamente combinatorios y de
optimización. Las principales aplicaciones de este tipo de problema son
planificación, razonamiento temporal, diseño en la ingeniería, problemas de
empaquetamiento, criptografía, diagnóstico, toma de decisiones, etc.
Los primeros trabajos relacionados con la programación de restricciones
datan de los años 60 y 70 en el campo de la inteligencia artificial. La importancia
de esta área radica en que muchas decisiones que se toman diariamente están
sujetas a restricciones, como planificar un viaje, concertar una cita para el
médico, comprar una casa, etc.
5.2. Marco conceptual
5.2.1 Introducción
Los problemas de satisfacción de restricciones (PSR) se caracterizan
porque los estados y el test objetivo están representados de forma estructurada.
Un estado está compuesto por variables que pueden tomar diferentes valores
y un estado es de tipo meta si los valores que cumplen las variables implicadas
(en dicho estado) cumplen una serie de restricciones.
Desde un punto de vista formal, un PSR se define como una tripleta ( , , )
donde:

es un conjunto de variables.
,
,…,

: → Es una función que asigna un dominio (conjunto de valores de
) a cada variable. El dominio de una variable suele denotarse como
y contiene los posibles valores que puede tomar la variable. La
cardinalidad del dominio es = | |.

= , ,…,
Es un conjunto finito de restricciones de modo que cada
restricción
implica algún subconjunto de variables y especifica las
combinaciones aceptables de valores para ese subconjunto.
Una variable viene dada por el par variable-valor ( , ) que representa la
asignación del valor a la variable ( = ). De la misma firma un conjunto de
Inteligencia artificial
Módulo 3
variables viene dado por una tupla de pares ordenados, donde cada par
ordenado ( , ) asigna el valor { ∈ } a la variable
. Una tupla
,
,…,
,
se dice que es localmente consistente si satisface todas las
restricciones formadas por las variables
sustituiremos dicha tupla por
,…,
,…,
. Por simplificación
.
Un valor ∈
se dice que es un valor consistente para si existe al
menos una solución del PSR en la que
= . Un estado del problema está
definido por una asignación de valores a unas o todas las variables
.A
,…
una asignación se le dice consistente si no viola ninguna restricción y es
completa si todas las variables están representadas. De esta forma se puede
definir una solución de un PSR como una asignación completa y consistente. Este
tipo de problemas pueden tener asociados una función objetivo, de modo que se
requiere que la solución encontrada maximice o minimice dicha función.
Un PSR puede modelarse como un grafo de restricciones, de modo que cada
nodo representa una variable y los arcos las restricciones. Esta modelización
permite aplicar algoritmos de búsqueda sobre grafos. Además, un PSR se le
puede dar una formulación incremental similar a la de un problema de búsqueda
estándar:
 Estado inicial: asignación vacía { }, en la que ninguna variable ha sido
asignada.
 Función sucesor: un valor se puede asignar a cualquier variable no
asignada, siempre y cuando no viole ninguna restricción.
 Test objetivo: la asignación actual es completa.
 Costo del camino: un coste constante para cada paso.
Cada solución debe ser una asignación completa, de modo que el árbol de
búsqueda tendrá una profundidad equivalente al número de variables .
5.2.2 Modelización de problemas de satisfacción de restricciones
A continuación se introducirá un par de problemas y cómo se modelan
para ser tratados como un PSR.
El problema de las N-Reinas
Inteligencia artificial
Módulo 3
Dado un tablero de ajedrez × , hay que colocar reinas de tal modo que
ninguna de ellas pueda ser alcanzada por otra con un movimiento. En otras
palabras, que ninguna reina pueda ser comida por otra con los movimientos que
tiene permitidos. Las restricciones, por tanto, son que dos reinas no pueden
coincidir en la misma fila o columna, y tampoco pueden estar en diagonal. Esto
hace que se pueda asociar cada reina con una columna distinta y se reduzcan las
variables a las filas de modo que su valor representa la fila en la que se coloca
la reina correspondiente a dicha variable. Desde el punto de vista de un PSR se
puede formular del siguiente modo:
 Variables: { }, = 1, … , .
 Dominio: {1, … , }, para todas las variables.
 Restricciones (∀ , , ≠ ):
◦
≠ No pueden estar en la misma fila.
◦
−
≠ | − | No pueden estar en la diagonal.
Figura 1. Dos soluciones del problema de la N Reinas para N=4.
Fuente: elaboración propia.
La Figura 1 muestra dos soluciones del problema para el caso
tendría las siguientes restricciones:
 | − | ≠ 1.
 | − | ≠ 2.
 | − | ≠ 3.
 | − | ≠ 1.
 | − | ≠ 2.
 | − | ≠ 1.
Coloración de mapas
= 4, que
Inteligencia artificial
Módulo 3
Dado un conjunto de colores finitos y un mapa dividido en regiones,
colorear cada región de modo que las regiones adyacentes no pueden tener el
mismo color. En la formulación PSR se define una variable por cada región del
mapa, y el dominio de cada variable es el conjunto de colores disponibles. La
restricción es que las variables de dos regiones contiguas no pueden tener el
mismo valor.
Figura 2. Mapa con cuatro regiones a colorear.
Fuente: elaboración propia.
Por ejemplo, la Figura 2 muestra un mapa de cuatro regiones , , , para
ser coloreadas con los colores rojo, verde y azul. La formulación PSR sería:
 Variables: { , , , }
}
 Dominio: {
,
,
 Restricciones: { ≠ , ≠ , ≠ , ≠ , ≠ }
Inteligencia artificial
Módulo 3
Figura 3. Grafo de restricciones del problema de coloreado de mapa.
Fuente: adaptado por el autor.
La Figura 3 muestra la representación de este problema como un grafo
de restricciones en que cada nodo representa una región del mapa mientras que
los arcos son las restricciones entre las mismas. Por tanto, se tendrán 5 aristas.
En esta representación, todos los nodos adyacentes deben tener un valor
distinto.
5.2.3 Técnicas de resolución de PSR
Al formularse el PSR como un problema de búsqueda, se puede aplicar
cualquier estrategia de búsqueda. Sin embargo, hay que tener en cuenta la
complejidad del algoritmo pues el árbol de búsqueda con muchas ramificaciones
que hacen que no pueda aplicarse algoritmos exhaustivos.
Las técnicas más usuales que se llevan a cabo para manejar un PSR se
pueden agrupar en tres tipos:
 Búsqueda sistemática: se centran en buscar en el espacio de estados del
problema. Este tipo de técnicas pueden ser completas, si buscan en todo
el espacio de estados o incompletas si solo buscan en una región de este.
 Técnicas inferenciales: tienen como objetivo deducir nuevas
restricciones a partir de las planteadas de forma explícita en el problema.
Inteligencia artificial
Módulo 3

Por lo general inducen restricciones implícitas entre variables que hacen
que se plantee un nuevo PSR equivalente al de partida.
Técnicas híbridas: combinan las dos anteriores de modo que mediante
una técnica inferencia plantea un PSR más restringido y equivalente al
original. Esto permite acotar el espacio de búsqueda y aplica, sobre este
nuevo espacio, una estrategia de búsqueda.
Búsqueda con vuelta atrás (backtracking)
Esta técnica es una estrategia primero en profundidad que en cada nivel del
árbol de búsqueda, asigna un valor a una variable y vuelve para atrás cuando
no hay opción de asignarle un valor consistente.
función Búsqueda-con-Vuelta-Atrás(psr) devuelve una solución o fallo
devolver Vuelta-Atrás-Recursiva({}, psr)
función Vuelta-Atrás-Recursiva(asignación, psr) devuelve una solución o fallo
ó es completa entonces devolver
ó
←Selecciona-Variable-Noasignada(Variables[psr],
ó ,psr)
para cada valor en Orden-Valores-Dominio(
,
ó ,psr) hacer
si
si
es consistente con asignación de acuerdo a las Restricciones[psr]
entonces
añadir {
si
borrar {
=
} a
ó
←Vuelta-Atrás-Recursiva(asignación,
≠
entonces devolver
=
} de
ó
psr)
devolver
Figura 4. Pseudocódigo del algoritmo Vuelta Atrás para problemas de satisfacción de restricciones.
Fuente: adaptado por el autor.
La Figura 4 muestra el pseudocódigo de la Vuelta Atrás para el PSR.
Como puede verse, se modela sobre la estrategia de búsqueda Primero en
Profundidad recursiva.
5.3. Ejemplos
En esta sección vamos a ver cómo se resolvería el problema de coloración
del mapa mediante la técnica de búsqueda Vuelta Atrás. Para ello
Inteligencia artificial
Módulo 3
consideraremos el mapa de Australia, que está dividida, tal y como se ve en la
Figura 5, en las siguientes regiones:
 Australia Occidental (AO)
 Territorio del Norte (TN)
 Australia del Sur (AS)
 Queensland (Q)
 Nueva Gales del Sur (NGS)
 Victoria (V).
 Tasmania (T)
La formulación del problema es:
 Variables: { ,
, , ,
 Dominio: {
,
,
{
≠
,
 Restricciones:
≠
, , }
}
≠
,
,
≠
≠ , ≠
,
≠ ,
≠ ,
,
≠ }
Haciendo uso de la librería AIMA, se puede resolver dicho problema con el
código que se muestra en la Figura 6.
Inteligencia artificial
Módulo 3
import aima.core.search.csp.Assignment;
import aima.core.search.csp.BacktrackingStrategy;
import aima.core.search.csp.MapCSP;
public class VueltaAtras {
public static void main(String[] args) throws Exception {
MapCSP csp = new MapCSP();
BacktrackingStrategy strategy = new BacktrackingStrategy();
Assignment assignment = strategy.solve(csp);
System.out.println(assignment);
}
}
Figura 6. Código en Java para resolver el problema de coloreado de las regiones del mapa de Australia
con el algoritmo Vuelta Atrás usando la librería AIMA.
Fuente: elaboración propia.
5.4. Conclusiones
La modelización de un problema como un PSR permite que sea abordado
mediante un amplio número de estrategias. Los PSR han demostrado su utilidad
en ámbitos tan diversos como la investigación operativa, la bioinformática, las
telecomunicaciones, etc.
Inteligencia artificial
Módulo 3
Unidad temática 6
6.1. Introducción
No puede hablarse de inteligencia sin hablar de conocimiento. En IA todos
los agentes manejan conocimiento de una u otra forma. Sin embargo, el
conocimiento que manejan es muy específico de acuerdo al problema. En este
sentido, los agentes basados en conocimiento pueden aprovechar el
conocimiento expresado mediante alguna técnica de representación para
combinar la información que extraen y adaptarse a diversos propósitos.
El uso explícito que se hace en la IA del conocimiento es la diferencia
fundamental entre esta disciplina y la informática convencional. Desde este
punto de vista se puede decir que los objetivos que se persiguen son:
 Estudiar técnicas generales de representación del conocimiento.
 Estudiar nuevas estrategias de resolución de problemas.
En esta unidad se hará un énfasis en el primer objetivo mediante el uso de la
lógica como técnica de representación del conocimiento.
6.2. Marco conceptual
6.2.1. Representación del conocimiento y razonamiento
El conocimiento y el razonamiento son dos conceptos centrales en el ámbito
de la IA. Para poder inferir a partir de un conocimiento previo es necesario
encontrar una forma de modelarlo. No obstante, los desafíos a los que se
enfrenta son:
 La representación del conocimiento del sentido común.
 La habilidad para compensar la eficiencia computacional en busca de
inferencias precisas.
 La habilidad de representar y manipular conocimiento e información con
incertidumbre.
La representación del conocimiento puede definirse como la transformación
del conocimiento de un dominio a un lenguaje simbólico. En este caso se hace un
planteamiento simbólico de resolución de problemas en el que cada elemento de
la representación (símbolo) se refiere a un objeto, hecho o relación de interés
perteneciente al dominio a representar. Este lenguaje de representación debe
definir dos aspectos:
Inteligencia artificial
Módulo 3


La sintaxis: abarca las posibles formas de construir y combinar los
elementos del lenguaje para representar los hechos del dominio real. Está
centrada en la estructura formal del lenguaje.
La semántica: determina la relación entre los elementos del lenguaje y su
interpretación en el dominio. Está centrada en las condiciones de verdad
de las oraciones.
La representación del conocimiento tiene una fase de codificación, encargada
de convertir los hechos reales en una representación interna, y otra de
decodificación, que vuelve a convertir en hechos del mundo real los resultados
de los procesos inferenciales realizados sobre la representación interna del
conocimiento. El instrumento para codificar el dominio real en otra
representación se denomina esquema de representación. Desde un punto de
vista computacional un esquema de representación puede ser descrito como una
combinación de estructuras de datos y procedimientos que representan la
componente estática y dinámica del esquema:
 Parte estática:
◦ Formada por las estructuras que codifica el problema.
◦ Operaciones para crear, modificar y destruir elementos en la
estructura.
◦ Predicados que dan un mecanismo para consultar esta estructura de
datos.
◦ Semántica de la estructura: se necesita definir la relación entre la
realidad y la representación escogida.
 Parte dinámica:
◦ Estructuras de datos que almacenan conocimiento referente al
entorno/dominio en el que se desarrolla el problema.
◦ Procedimientos que permiten:
▪ Interpretar los datos del problema (de la parte estática) a partir
del conocimiento del dominio (de la parte dinámica).
▪ Controlar el uso de los datos: estrategias de control.
▪ Adquirir nuevo conocimiento.
Además, todo esquema de representación debe presentar una serie de
propiedades:
 Adecuación de la representación. Capacidad para poder representar de
forma adecuada todo el conocimiento de un dominio, sobre todo el que
se considere relevante.
Inteligencia artificial
Módulo 3



Adecuación inferencial. Posibilidad de manipular las estructuras de
representación de forma que se puedan derivar nuevas estructuras
asociadas con nuevo conocimiento inferido a partir del antiguo.
Eficiencia inferencial. Posibilidad de mejorar la eficiencia del proceso
inferencial mediante la inclusión de estrategias que agilicen dicho
proceso.
Eficiencia adquisicional. Capacidad para incorporar nuevo conocimiento
de forma sencilla.
En IA se usa la lógica como instrumento para la representación del
conocimiento. Los principales motivos para esta elección son:
 Desde un punto de vista matemático son precisos, de modo que puede
conocerse sus limitaciones, sus propiedades, la complejidad de una
inferencia, etc.
 Son lenguajes formales, de modo que los programas computacionales
pueden manipular sentencias en el propio lenguaje.
 Presentan una sintaxis y una semántica.
Para manejar estos conceptos se introducen los agentes basados en
conocimiento debido a su capacidad para inferir aspectos ocultos del estado del
entorno a partir del conocimiento y las percepciones. Para ello requiere que el
agente sea capaz de razonar con el conocimiento que maneja.
Agentes basados en conocimientos
El principal componente de este tipo de agentes es su base de conocimiento
(BC). Informalmente, una BC es un conjunto de sentencias de modo que cada
sentencia se expresa en un lenguaje de representación del conocimiento y
representa alguna aserción acerca del mundo. Además, el agente debería estar
dotado de tres cualidades fundamentales:



Representar el conocimiento del mundo que le rodea.
Razonar para generar nuevo conocimiento a partir del conocimiento
disponible.
Aprender nuevo conocimiento a partir de las observaciones que obtiene
del entorno.
Inteligencia artificial
Módulo 3
Adicionalmente, estos agentes deben tener la capacidad de aceptar nuevas
tareas, usar el conocimiento o inferir de forma eficiente y adaptarse a cambios
en el entorno. Para ello, deben contar con mecanismos para conocer el estado
actual del entorno, y cómo evoluciona a lo largo del tiempo. También necesita de
algún mecanismo para poder inferir a partir de propiedades no vistas.
función AGENTE-BC(percepción) devuelve un acción
variables estáticas: BC, una base de conocimiento
t, un contador, inicializado a 0, que indica
el tiempo
DECIR(BC, CONSTRUIR-SENTENCIA-DEPERCEPCIÓN(percepción, t))
acción ← PEGUNTAR(BC, PEDIR-ACCION(t))
DECIR(BC, CONSTRUIR-SENTENCIA-DEACCIÓN(acción, t))
t←t+1
devolver acción
Figura 7. Programa de un agente basado en conocimiento genérico.
Fuente: adaptado por el autor.
La Figura 7 muestra el esquema general de un agente basado en
conocimiento. Como otros agentes, este recibe una percepción y devuelve una
acción. El agente mantiene una BC que contiene algún tipo de conocimiento de
antecedentes. En dicho esquema los mecanismos para añadir sentencias nuevas
a la BC y preguntar qué sabe el agente de acuerdo a dicho BC vienen dadas por
las tareas DECIR y PREGUNTAR, respectivamente. Ambas tareas requieren
realizar inferencia. Cada vez que el agente es invocado realiza dos cosas: primero
dice a la BC lo que ha percibido y, a continuación, pregunta a la BC qué acción
ejecutar. Tras elegir la acción, el agente graba su elección mediante la tarea
DECIR y ejecuta la acción.
Las funciones CONSTRUIR-SENTENCIA-DE-PERCEPCIÓN y PEDIRACCION ocultan los detalles del lenguaje de representación. La primera de ellas
toma una percepción en un instante de tiempo y devuelve una sentencia
afirmando lo que el agente ha percibido en dicho instante de tiempo. La segunda
función toma un instante de tiempo como entrada y devuelve una sentencia para
preguntarle a la BC qué acción se debe realizar en dicho instante de tiempo. En
este esquema los detalles de los mecanismos de inferencia (DECIR y
PREGUNTAR) están ocultos.
Inteligencia artificial
Módulo 3
6.2.2 Lógica
En esta sección se expondrá la representación del conocimiento basado en
lógica. Como se dijo anteriormente, se caracteriza por tener una base teórica
muy sólida y porque los mecanismos de inferencia son potentes y conocidos.
Además, separa el conocimiento del razonamiento. La lógica, como mecanismo
de representación, consta de tres elementos:
 Una sintaxis, que indica qué símbolos pueden usarse y cómo construir las
sentencias legales.
 Una semántica, que asocia los elementos del lenguaje con los elementos
reales del dominio. Da el significado de las sentencias lógicas.
 Un conjunto de reglas de inferencia, que permiten inferir conocimiento
nuevo a partir del ya existente.
La semántica del lenguaje define el valor de la verdad de cada sentencia
respecto al modelo. Dicho modelo no es más que una abstracción matemática
de un entorno real que permite definir la verdad o falsedad de una sentencia.
Razonamiento automático
En inferencia es importante poder representar estructuras con
conocimiento para poder caracterizar el nuevo conocimiento generado. Existen
varios tipos de razonamientos lógicos para inferir:
 Razonamiento deductivo: razonamiento que pasa, a partir de un
conocimiento general, a otro específico. El nuevo conocimiento generado
es cierto si parte de otro conocimiento cierto. Abarca las reglas de
inferencias de la lógica (por ejemplo, el Modus Ponens).
 Razonamiento inductivo: se caracteriza por generalizar a partir de un
conocimiento más específico. Este es el mecanismo del aprendizaje
automático.
 Razonamiento abductivo: este método de razonamiento parte de un
conocimiento (reglas y hechos observados) y genera un conjunto de
explicaciones posibles o hipótesis que harían, usando la deducción,
coherente el conocimiento de partida.
Estos métodos de inferencia deben caracterizarse por ser sólidos y
completos. Se dice que un método de inferencia es sólido o mantiene la verdad
si solo deriva conocimiento implicado y es completo si puede derivar cualquier
conocimiento que está implicado.
Inteligencia artificial
Módulo 3
6.2.3 Tipos de lógica
Los modelos lógicos más conocidos en IA son la lógica proposicional y la
lógica de predicados o de primer orden. Básicamente, se diferencian en que la
primera no admite argumentos en los predicados mientras que la segunda sí.
Lógica proposicional (orden 0)
Es una lógica que representa hechos discretos del mundo real que pueden
ser ciertos o falsos. Está compuesto de proposiciones, que son afirmaciones
(ciertas o falsas) sobre un hecho único del dominio. De igual forma, estas
proposiciones pueden combinarse mediante conectores para expresar hechos
más complejos. Sin embargo, esta lógica padece de poca expresividad debido a
la dificultad de expresar un conjunto de hechos con características comunes
pues una proposición está asociada a un hecho y no permite la cuantificación.
Sintaxis y semántica
La sintaxis se compone de los siguientes elementos:
 Sentencia atómica: representa los elementos sintácticos indivisibles que
se componen de un único símbolo proposicional.
◦ Constantes lógicas. Son dos símbolos proposicionales con significado
fijado: verdadero (V) y falso (F).
◦ Proposiciones lógicas. Son símbolos proposicionales que pueden ser
verdadera o falsa. Suelen usarse mayúsculas para denotar estos
símbolos: P, Q, R, etc.
 Conectivas lógicas: permite construir sentencias complejas combinando
sentencias más simples. Existen cinco conectivas:
◦ ¬(no) se denomina negación.
◦ ∧(y) se denomina conjunción.
◦ ∨(o) se denomina disyunción.
◦ ⇒(implica) se denomina implicación y está compuesto por una
premisa o antecedente y una conclusión o consecuente. También se
les conoce como reglas si-entonces.
◦ ⇔(si y solo si) se denomina bicondicional.
 Sentencias: son elementos sintácticos que se construyen a partir de
átomos y/o sentencias mediante conectivas lógicas.
Inteligencia artificial
Módulo 3
Con el objetivo de evitar la ambigüedad, cada sentencia construida a partir
de conectivas binarias puede estar encerrada en paréntesis. Por ejemplo, se
podría poner ( ∧ ) ⇒ en vez de ∧ ⇒ .Sin embargo, con el objetivo de
mejorar la legibilidad suele omitirse dicho paréntesis atendiendo al siguiente
orden de precedencia descendente (de mayor a menor) de los símbolos:
¬,∧,∨,⇒y⇔. La semántica, en cambio, define las reglas para asociar un valor de
verdad (V o F) a cada sentencia. La interpretación de las sentencias consistirá en
asignar un valor de verdad a cada proposición y habrá que considerar la
correspondencia que haya entre elementos del lenguaje y el mundo a
representar.
Lógica de primer orden
La lógica proposicional tiene muchas limitaciones derivadas del uso
exclusivo de la proposición como construcción del lenguaje. Su lenguaje no
permite representar de forma precisa el conocimiento de entornos complejos.
La lógica de primer orden (LPO) extiende la lógica proposicional adoptando sus
fundamentos, es decir, adoptando una semántica composicional declarativa, que
es independiente del contexto y no ambigua. Además, construye una lógica más
expresiva basada en dicho fundamento y tomando prestada, de los lenguajes
naturales, su idea de la representación. La representación del conocimiento se
lleva a cabo considerando que en el lenguaje natural los nombres y las sentencias
nominales se refieren a objetos que tienen unas características distintivas
(propiedades). Por otro lado, están los verbos y las sentencias verbales que
hacen referencia a relaciones entre objetos. Algunas de estas relaciones son
funciones, las cuales son un tipo de relaciones que requieren una entrada
determinada y proporcionan una salida. Los siguientes son ejemplos de lo
mencionado anteriormente:




Objetos: gente, casas, números, colores, ...
Propiedades: alto, rojo, ..
Relaciones: hermano, más alto que, ...
Funciones: padre de, tejado de, ...
Así pues, la principal diferencia entre la lógica proposicional y la LPO es lo
que cada uno asume, que es la naturaleza de la realidad y lo que comprende el
compromiso ontológico de cada lenguaje. La lógica proposicional considera que
hay hechos que suceden o no en el mundo mientras que la LPO asume que el
mundo se compone de objetos con ciertas relaciones que suceden o no.
Inteligencia artificial
Módulo 3
El compromiso epistemológico es otra caracterización posible de la lógica, la
cual se refiere a los posibles estados del conocimiento respecto a cada hecho que
la propia lógica permite. En este caso, ambas lógicas analizadas permiten que el
agente adopte tres posibles valores ante un hecho representado mediante una
sentencia: verdadero, falso o desconocido.
Sintaxis y semántica
Los elementos sintácticos básicos de la LPO son los símbolos que
representan los objetos, las relaciones y las funciones. Por lo tanto, los símbolos
se agrupan en tres tipos:



Símbolos de constante, que representan los objetos.
Símbolos de predicado, que representan las relaciones.
Símbolos de función, que representan funciones.
Cada símbolo de predicado y de función tiene una aridad que establece su
número de argumentos. Cada relación tiene una aridad mayor o igual a 0
mientras que una función tiene una aridad mayor que 0. Por ejemplo, se puede
representar el lenguaje de la aritmética para representar los números naturales:
 Símbolos de constantes:{0,1}.
 Símbolos de función:
◦ Monaria: s (siguiente).
◦ Binarias:{+,∗}.
 Símbolo de relaciones binaria:{ }.
Otros símbolos que usa la sintaxis de la LPO son:
 Símbolos lógicos:
◦ Variables: x, y, z, etc.
◦ Conectivas: ¬,∧,∨,⇒y⇔.
◦ Cuantificadores: ∀, ∃.
◦ Símbolo de igualdad:.
 Símbolos auxiliares:
◦ Los paréntesis: “(“, “)”.
◦ La coma: “,”.
A partir de los símbolos anteriormente descritos se pueden definir las
siguientes nociones:
Inteligencia artificial
Módulo 3

Términos. Un término es una expresión lógica que se refiere a un objeto.
Por tanto abarca los símbolos de variable, constante y los de función. En
este último caso tendrá la forma
,con haciendo referencia a
,…,
un símbolo de función, es la aridad y es un término. Siguiendo con el
ejemplo del lengiaje de la aritmética se tendría:
◦ Es un término que se suele escribir ( ∗ 1) + ( ).
, <∗ , ( ) no es un término.
+
Sentencias atómicas. Representan hechos y están formados por un
símbolo de predicado seguido de una lista de términos entre paréntesis.
Estas sentencias pueden tener términos complejos. Una sentencia
atómica es verdadera en un modelo dado, y bajo una interpretación dada,
si se cumple la relación (símbolo de predicado) entre los objetos
(argumentos). Continuando con el ejemplo de la aritmética:
◦
∗ ( , 1), ( ) es una sentencia atómica que se suele escribir como
∗ 1 < ( ).
◦ +( , ) =∗ ( , ) es una sentencia atómica que se suele escribir como
+ = ∗ .
Sentencias compuestas. Las sentencias pueden hacerse más complejas
haciendo uso de las conectivas lógicas. La semántica es idéntica a la de la
lógica proposicional.
Cuantificadores. Para poder expresar propiedades de colecciones de
objetos, se puede hacer uso de los cuantificadores para no tener que
enumerarlos todos. La LPO tiene dos cuantificadores:
◦ Cuantificador universal( ).Hace referencia a todo objeto y se lee
“para todo...”.
◦ Cuantificador existencial ( ). Permite construir enunciados
indicando que de todos los objetos existe al menos uno sin nombrarlo
específicamente. Se lee “existe...”.
Igualdad. La LPO usa el símbolo de igualdad para construir enunciados
describiendo que dos términos se refieren al mismo objeto.
◦




Uso de la LPO
Se parte de una BC a la que se irán añadiendo sentencias mediante DECIR,
que corresponde a una sentencia que se denomina aserción. Por ejemplo, se
puede afirmar que un rey es una persona mediante la siguiente sentencia
( )⇒
( ) . Además, se puede preguntar a la BC
,∀
Inteligencia artificial
Módulo 3
(
) . Esta
mediante PREGUNTAR. Por ejemplo,
,
sentencia se denomina petición u objetivo. Estas dos interfaces permiten
interactuar con la BC.
A continuación se tratará, como ejemplo, el dominio de las relaciones
familiares o de parentesco. La modelización de este dominio se caracterizaría
del siguiente modo:
 Objetos: personas
 Propiedades: género → predicados unarios: masculino y femenino.
 Relaciones (de parentesco): progenitor, descendiente, hijo, hija, cónyuge,
esposo, esposa,... → predicados binarios progenitor, descendiente, hijo,
hija, cónyuge, esposo, esposa,…
 Funciones: padre y madre → funciones padre y madre
A partir de esto se pueden escribir algunas sentencias sobre lo que se sabe
acerca de los símbolos:
 La madre de alguien es su progenitor femenino.
( )= ⇔
( )∧
( , )
∀ ,
 El esposo de alguien es su cónyuge masculino.
( , )⇔
( )∧ ó
( , )
∀ ,
 Masculino y femenino son géneros disjuntos.
( )⇔¬
( )
∀
 Progenitor y descendiente son relaciones inversas.
Cada una de estas sentencias puede verse como un axioma del dominio de
parentesco. Sin embargo, no todas las sentencias son axiomas. Algunas son
teoremas pues son deducidas a parir de los axiomas. Desde el punto de vista
lógico, la BC solo necesita saber tener los axiomas de modo que todo el
conocimiento derivará en forma de teoremas y, por lo tanto, no es necesario
almacenarlos en la BC. Sin embargo, desde un punto de vista práctico, su
almacenamiento reducirá el coste computacional para derivar nuevo
conocimiento pues en caso de no almacenarlo siempre tendrá que empezar
desde los axiomas.
6.3. Ejemplos
A continuación se analizará el modelo de lógica de primer orden que se
muestra en la Figura 8. El modelo consta de:
Inteligencia artificial
Módulo 3




Cinco objetos: Ricardo corazón de León, Juan, pierna izquierda de
Ricardo, pierna izquierda de Juan y una corona.
Dos relaciones binarias: hermano y sobre la cabeza.
Tres relaciones unitarias: corona, rey y persona.
Una función unitaria: pierna izquierda.
Figura 8. Modelo sencillo en lógica de primer orden.
Fuente: http://www.slideshare.net/rushdishams/first-order-logic-26695335
Los símbolos de LPO del modelo son:
 Símbolos de constante: Ricardo y Juan.
 Símbolos de predicado: hermano, sobre la cabeza, persona, rey y corona.
 Símbolo de función: pierna izquierda.
La semántica ayuda a interpretar qué objetos, relaciones y funciones son
referenciados mediante los símbolos anteriormente mencionados. Una posible
interpretación de este ejemplo podría ser:
 Símbolos de constante:
◦ Ricardo se refiere a Ricardo Corazón de León.
◦ Juan se refiere al Rey Juan.
 Símbolos de predicado:
Inteligencia artificial
Módulo 3
Hermano se refiere a la relación de hermandad entre dos personas.
Sobre la cabeza se refiere a la relación que hay entre el Rey Juan y la
corona que está sobre su cabeza.
◦ Persona, rey y corona hacen referencia a los conjuntos de objetos que
son una persona, un rey y una corona.
Símbolo de función pierna izquierda es una función que se refiere a la
pierna situada en dicha posición.
◦
◦

A partir de aquí se pueden considerar diversas sentencias que
representarán los axiomas de este modelo.
6.4. Ejercicios de reflexión
1. Considerando el dominio del parentesco para la LPO, indicar cómo se
escribirían las siguientes sentencias:
 Padre e hijo son relaciones inversas.
 Un abuelo es el padre del padre de uno.
 Un hermano es otro hijo del padre de uno.
2. Considere una serie de bloques dispuestos como se muestra en la Figura X.
Modele su lenguaje dentro de la lógica de primer orden indicando qué tipo de
símbolo es cada cosa. Para el caso de los símbolos de predicado y función,
indique su aridad:
Tipos de símbolos:
 constantes
 predicado
 función
- Símbolos a identificar: libre, a, superior, bajo, b, es_bloque, d, e, sobre_mesa,
pila, sobre, encima, tope y c.
3. En el lenguaje del mundo de los bloques indique:
 Si es o no un término:
◦ Superior (superior(c)). [S]
◦ Libre (superior(c)). [N]
 Si es o no una sentencia atómica:
◦ Libre (superior(c)) [S]
◦ Tope (c) = superior(b) [S]
Inteligencia artificial
Módulo 3
4. Traduzca a lógica de primer orden:
 El Everest es la montaña más alta de la tierra.
 Hay al menos dos manzanas en el barril.
 Elena se comió una seta que había seleccionado ella misma.
 Ninguna rana amarilla es comestible.
 Todos los estudiantes hornearon, al menos, dos bizcochos.
6.5. Conclusiones
En esta unidad se vieron qué características hay que tener en cuenta para
representar el conocimiento. Además, se introdujeron los dos tipos de lógica más
usados (la lógica proposicional y la de primer orden) como lenguaje para poder
representar dicho conocimiento. El motivo por el que la LPO ha desbancado la
popularidad de la lógica proposicional se debe a las limitaciones de esta,
principalmente, en la expresividad. Sin embargo, la lógica proposicional es muy
útil para los casos en los que no importa el contenido de la proposición sino la
estructura de la información.
Inteligencia artificial
Módulo 3
Referencias bibliográficas
Barber, F., & Salido, M. (2008). Inteligencia Artificial: Técnicas, métodos y
aplicaciones. Capítulo 10. Problemas de Satisfacción de Restricciones (CSP). México:
McGraw-Hill,
p.
385-432.
Obtenido
de:
http://site.ebrary.com/lib/biblioumbsp/reader.action?docID=10491454&ppg=10
Russel, S., Norvig, P., (2008). Inteligencia Artificial. Un enfoque moderno. Madrid:
Pearson
Prentice
Hall.
Recuperado
de:
http://www.ebooks724.com/book.aspx?i=3299
Descargar