Sunteți pe pagina 1din 76

Introduccin a la Inteligencia

Artificial
Ing. Edgar Taya Acosta
Dr. Alejandro Bassi Acua


Qu es la Inteligencia Artificial?
En una primera aproximacin, se puede
definir la inteligencia artificial como la
rama de la computacin que estudia la
automatizacin del comportamiento
inteligente. La investigacin en este
campo ha llevado al desarrollo de
herramientas computacionales
especficas, entre las cuales se cuentan
una gran diversidad de formalismos de
representacin de conocimientos y de
algoritmos que los aplican, adems de los
lenguajes, estructuras de datos y tcnicas
de programacin utilizados para su
implementacin.
Sin embargo, la definicin anterior no es
completamente satisfactoria porque hace
referencia a la nocin de inteligencia, en s muy
difcil de precisar. A pesar de que a la mayora
de las personas les parece obvio distinguir
cundo un comportamiento es inteligente, la
intuicin que avala este juicio resulta imposible
de describir con el suficiente grado de detalle
para ser utilizada como criterio formal de
evaluacin de la supuesta inteligencia de un
programa computacional.

Se necesitan por lo tanto criterios
ms elaborados para delimitar los
problemas que caen dentro de la
esfera de la inteligencia artificial y
validar los resultados de los
programas construidos para
resolverlos.

Si tomamos al ser humano como modelo de
comportamiento inteligente, el objetivo sera
reproducir en el computador la eficacia de sus
reacciones frente a tareas o situaciones
complejas. Entre las capacidades humanas que
involucran las facultades intelectuales, la de
mayor relevancia es la de dialogar en una
lengua verbal. Fu precisamente dicha
capacidad la que el matemtico Alan Turing
utiliz como base para plantear la validacin de
una mquina inteligente en su famoso paper
"Computing Machinery and Intelligence"
(1950), que fu uno de los primeros trabajos
encaminados a plantear este objetivo.

El test de Turing
Alan Mathison Turing
(1912-1954) es
considerado como el
padre de la teora de la
computacin y de la
inteligencia artificial.
El test de Turing
propone un criterio
emprico para comparar
el desempeo de un
computador al de un
humano en un "juego
de imitacin" en que el
computador trata de
hacerse pasar por un
humano.
En su versin ms simple, el dispositivo
experimental consta de un interrogador humano que
puede comunicarse con un computador y un
contraparte humano por medio de un terminal (o
cualquier dispositivo de transmisin de texto). Se le
pide al interrogador, que est aislado y no tiene la
posibilidad de mirar o hablar directamente con sus
interlocutores, que distinga cul de ellos es el
humano, basndose slo en las respuestas a las
preguntas hechas a travs del terminal. Si
dialogando de esta manera el computador logra
engaar al interrogador, puede asumirse que es
inteligente.
El aspecto ms interesante de este test es que
establece una nocin objetiva de inteligencia que
evita entrar en debates filosficos sobre su
"verdadera" naturaleza.
Es suficiente el test de Turing?
A pesar de sus ventajas, el test de Turing es vulnerable
a varias crticas justificadas que impiden considerarlo
como el nico criterio de validacin de inteligencia:
El juego de imitacin obliga al computador a reproducir
no slo las destrezas del comportamiento humano, sino
que tambin sus flaquezas. Para no ser detectado, el
computador debe cometer el mismo tipo de errores
que un humano, por ejemplo, en el caso de
operaciones aritmticas complejas. Esto es
contraproducente desde el punto de vista tecnolgico.
Lo que realmente importa en un sistema de dilogo es
la ergonoma de la comunicacin, y no que el
computador sea capaz de hacerse pasar por humano.
Hay un sesgo a problemas que dependen de las
capacidades de procesamiento simblico. No se pueden
evaluar capacidades perceptuales o de destreza
manual.
El test se basa enteramente en la
inteligencia humana. Esto restringe
inecesariamente el tipo de inteligencia que
se puede implementar en un computador.
El test indica si un programa cumple o no el
criterio de inteligencia, pero en caso de
falla no entrega herramientas para corregir
defectos y orientar su desarrollo. Tampoco
permite realizar validaciones parciales,
indispensables desde el punto de vista de la
ingeniera de software si se considera la
complejidad de los sistemas inteligentes.
La inteligencia artificial se puede abordar
de una manera mucho ms general,
analizando los distintos objetivos que
justifican su estudio.

Objetivos de la Inteligencia Artificial
Una definicin ms adecuada de la
I.A. puede deducirse de la siguiente
pregunta Para qu sirve? Existen
dos orientaciones bsicas para
responder esta interrogante:
como herramienta cientfica
El objetivo es simular en el computador modelos del
comportamiento de sistemas inteligentes naturales (en
particular humanos) para verificar empricamente su
validez. Esta simulacin es indispensable porque los
sistemas estudiados son generalmente demasiado
complejos para obtener predicciones analticas precisas de
su funcionamiento. Las reas que ms pueden
beneficiarse con esta herramienta son la sicologa
cognitiva y la neurobiologa. Esto no significa que los
aspectos computacionales sean secundarios, ya que todo
comportamiento inteligente implica un procesamiento de
informacin que es legtimo estudiar desde un punto de
vista puramente computacional. Adems, los mecanismos
naturales investigados pueden enriquecer el arsenal de
mtodos de la computacin (como en el caso de las redes
neuronales).

como herramienta tecnolgica
El objetivo es resolver en el computador problemas
"difciles", que se sabe estn al alcance de sistemas
inteligentes naturales pero para los cuales no existe
una descripcin algortmica satisfactoria. Los
problemas incluidos dentro de esta categora se
caracterizan en general por la dificultad de disponer
de toda la informacin necesaria para resolverlos sin
ambigedad. Ya sea hay demasiada informacin que
considerar (ej.: ajedrez), ya sea sta es incompleta
o inconsistente (ej.: lenguaje verbal), ya sea est
muy poco estructurada (ej.: anlisis de imagenes).
En estos casos es interesante reproducir las
capacidades de procesamiento observadas en los
sistemas naturales, aunque no necesariamente
modelando sus mecanismos internos.


Tcnicas de la Inteligencia Artificial
Adems de los mtodos generales de la computacin, en
Inteligencia Artificial se utilizan tcnicas especficas que se
diferencian del enfoque algortmico clsico. El enfoque clsico
da por hecho que se dispone de toda la informacin necesaria
para llegar siempre una solucin ptima del problema
abordado. En Inteligencia Artificial, las decisiones se basan en
un conocimiento parcial que no garantiza encontrar el ptimo.
La inteligencia consiste precisamente en saber sacar el
mximo provecho a la informacin disponible para tratar de
obtener el resultado deseado. Dicho en forma gradual, un
sistema es ms inteligente mientras menos informacin
requiera analizar para llegar a un determinado resultado y
mientras mejor sea este resultado. Esta definicin permite
abarcar a la mayora de los mtodos de la inteligencia
artificial y pone de manifiesto el compromiso entre
exhaustividad del anlisis y calidad del resultado que los
caracteriza: se sacrifica la seguridad de obtener soluciones
ptimas por la ventaja de poder operar con informacin
incompleta.
Las tcnicas computacionales desarrolladas
dentro de este marco metodolgico son
llamadas heursticas (de una raiz griega que
significa hallar). Una heurstica es una
estrategia de resolucin de problemas que
permite orientar la bsqueda de la solucin
haciendo un anlisis selectivo de las
posibilidades ms relevantes segn la
informacin disponible. A pesar de no
garantizar siempre la mejor solucin, una
buena heurstica debera permitir hallar una
solucin muy cercana al ptimo en la mayora
de los casos.

Representacin de conocimientos
Todo comportamiento inteligente implica un uso
intensivo de informacin. Es por lo tanto natural
que una de las preocupaciones centrales de la
Inteligencia Artificial se refiera a cmo
representar la informacin o, para enfatizar la
complejidad de su estructura, el conocimiento
necesario para que el computador pueda operar
inteligentemente. El enfoque ms difundido se
basa en la hiptesis del sstema de smbolos fsico
que plantea que la actividad inteligente, tanto en
el humano como en el computador, se logra a
travs del uso de:
Patrones de smbolos para representar aspectos
significativos de un dominio de problema.
Operaciones sobre estos patrones para generar
soluciones potenciales a los problemas abordados.
Mecanismos de bsqueda para seleccionar la mejor
solucin entre las posibilidades generadas.
Esta hiptesis distingue a los patrones, formados
combinando smbolos, del medio fsico utilizado para
implementarlos. Si la inteligencia depende slo de la
estructura de un sistema de smbolos, cualquier
medio fsico que permita implementarlo, en
particular un computador, puede lograr un
comportamiento inteligente. Entre los mecanismos
simblicos de representacin, se destaca la lgica
formal que presenta las ventajas de una semntica
bien definida y de reglas de inferencia correctas y
completas.


Lgica proposicional
La lgica proposicional permite
representar propiedades
elementales del dominio modelado
y razonar sobre ellas. Los patrones
o expresiones de la lgica
proposicional se construyen a partir
de un alfabeto que consta de los
siguientes smbolos:
conectivos lgicos: ,,,,
smbolos de puntuacin: ), (
un conjunto fijo P = {p, q, r, ...}
de variables proposicionales.

El lenguaje L(P) de expresiones de la
lgica proposicional puede definirse
inductivamente a partir de estos
elementos aplicando las siguientes reglas:
Cada variable proposicional de P es una
expresin (atmica).
Si X es una expresin, entonces la negacin
X tambin es una expresin.
Si X y Y son expresiones, entonces tambin lo
son:

la conjuncin (X Y)
la disyuncin (X Y)
la implicacin (XY)
la equivalencia (XY)
Por ejemplo, si P = {enchufado,
fusibleQuemado, funciona}, entonces las
siguientes expresiones, entre otras, pertenecen
a L(P):
((enchufado fusibleQuemado) funciona)
((enchufado funciona) fusibleQuemado)
Los parntesis pueden omitirse segn la
precedencia habitual de los conectivos lgicos.
Semntica de lenguajes
proposicionales
En trminos generales, una semntica permite atribuir
un significado a las expresiones del lenguaje simblico
considerado. En el caso de un lenguaje de
programacin como C, esta semntica es procedural y
consiste en describir el efecto que produce el programa
sobre sus estructuras de datos. Para un lenguaje de
representacin, lo que interesa es capturar una
descripcin del universo modelado. La lgica permite
hacer esto asignando un valor de verdad a cada
expresin del lenguaje. La semntica de un lenguaje
proposicional depende (i) de la interpretacin de los
conectivos lgicos, que tienen el mismo significado en
todos los dominios, y (ii) de los valores de verdad
asignados a las variables proposicionales, distintos
segn la situacin reflejada.
Dado un lenguaje proposicional
L(P), se define su semntica por
medio de una asignacin de verdad
o valuacin que declara a las
variables proposicionales en P como
verdaderas o falsas. Tomando a 0
como valor falso y a 1 como valor
verdadero, una asignacin de
verdad es una funcin s de P en el
conjunto {0, 1}:

s: P {0, 1}.
Por ejemplo, si P = {p, q, r}, entonces
son valuaciones, entre otras:
s1: p 1, q 0, r 1
s2: p 0, q 1, r 1
Si P tiene n variables proposicionales,
entonces a priori hay 2
n
valuaciones
posibles, aunque no todas tengan sentido
en el universo modelado.
Valuacin de expresiones
compuestas
Para obtener el valor de verdad de expresiones no
primitivas, se extiende la funcin de valuacin
definindola inductivamente sobre L(P). Esta
definicin permite precisar formalmente el
significado de los conectivos lgicos.
Dado un lenguaje proposicional L(P) y una
asignacin s: P {0, 1}, se define la funcin
extendida s: L(P) {0, 1} de la siguiente
manera. Dada una expresin arbitraria X de L(P),
el valor de verdad s(X) es:
Caso bsico: si X es una expresin atmica
constituida por una sola variable proposicional
perteneciente a P, entonces s(X) es el valor de
verdad asignado inicialmente a dicha variable.
Pasos inductivos:
Si X es Y, entonces s(X) = 1 - s(Y).
Si X es (Y Z) entonces s(X) = min{s(Y),
s(Z)}.
Si X es (Y Z) entonces s(X) = max{s(Y),
s(Z)}.
Si X es (Y Z) entonces s(X) = 0 si s(Y) = 1 y
s(Z) = 0, 1 en caso contrario.
Si X es (Y Z) entonces s(X) = 1 si s(Y) =
s(Z), 0 en caso contrario.
Esto puede verse ms claramente definiendo la
semntica de los conectivos lgicos mediante
tablas de verdad.


Tablas de verdad
Dado que en el clculo proposicional
se opera slo sobre dos valores de
verdad, para cualquier expresin
existe un nmero finito de
valuaciones posibles que se pueden
tabular.
La tabla de verdad de una expresin
con n variables proposicionales
tiene 2
n
filas:
X X
0 1
1 0
X Y (X Y) (X Y) (X Y) (X Y)
0 0 0 0 1 1
0 1 0 1 1 0
1 0 0 1 0 0
1 1 1 1 1 1
Estas tablas corresponden a
definiciones extensivas de funciones
sobre {0, 1}, por ejemplo:
: {0, 1} {0, 1} {0, 1}
(0,0) 0
(0,1) 0
(1,0) 0
(1,1) 1

Dos frmulas de L(P) son
lgicamente equivalentes si
exactamente las mismas
valuaciones las hacen verdaderas,
lo que puede verificarse utilizando
una tabla de verdad. Por ejemplo,
para P = {p, q}:
p q (p
q)
( p
q)
0 0 0 0
0 1 0 0
1 0 0 0
1 1 1 1
Mirando la tabla es claro que (p q)
y (p q) son lgicamente
equivalentes, ya que sus valores de
verdad coinciden para cada una de
las cuatro valuaciones posibles de
P.
Identidades lgicas
La equivalencia lgica depende slo
de la forma de las expresiones
comparadas, y no del conjunto
particular de variables
proposicionales utilizadas.
Esto permite definir identidades
lgicas genricas:
doble negacin: X = X
implicacin: (X Y) = (X Y)
ley de Morgan: (X Y) = (X Y)
(X Y) = (X Y)
distributividad:
(X (Y Z)) = ((X Y) (X Z))
(X (Y Z)) = ((X Y) (X Z))
commutatividad:
(X Y) = (Y X)
(X Y) = (Y X)
asociativividad:
((X Y) Z) = (X (Y Z))
((X Y) Z) = (X (Y Z))
ley contrapositiva: (X Y) = (Y X)
Los smbolos X, Y y Z utilizados en estas
identidades no corresponden a variables
proposicionales que representan propiedades de
la realidad modelada, sino que a metavariables
que representan expresiones lgicas arbitrarias.
Las identidades lgicas se pueden utilizar para
trasformar las expresiones del clculo
proposicional conservando su semntica. Esto es
especialmente til para obtener formas normales
ms fciles de manipular. Por ejemplo, toda
expresin lgica puede reescribirse utilizando slo
los conectivos y .
Validez de expresiones lgicas
Una expresin X de L(P) es vlida siempre y
cuando es siempre verdadera, es decir, si y slo
si, para toda valuacin s: P {0, 1} se cumple
s(X) = 1. Estas expresiones, que son verdaderas
independientemente del universo modelado,
tambin son llamadas tautologas.
La validez de una expresin lgica puede
verificarse exhaustivamente mediante una tabla
de verdad. Por ejemplo, para la expresin (((p
q) p) q), que corresponde al modus ponens
"si la premisa mayor [p implica q] es cierta y la
premisa menor [p] es cierta, entonces la
conclusin [q] es cierta":

p q (p q) ((p q)
p)
(((p q) p)
q)
0 0 1 0 1
0 1 1 0 1
1 0 0 0 1
1 1 1 1 1
Otro ejemplo trivial de tautologa es
cualquier expresin de la forma (X X).
Tambin, si X y Y son expresiones
lgicamente equivalentes, entonces (X
Y) es una tautologa.
La importancia de las tautologas desde el
punto de vista computacional radica en el
hecho que se pueden estudiar y aplicar en
forma general. Pertenecen al sistema
lgico, y no al dominio de aplicacin.
Satisfacibilidad de expresiones
lgicas
Una expresin X de L(P) es satisfacible siempre y
cuando existe por lo menos una valuacin s: P
{0, 1} que cumple s(X) = 1. Esta nocin es
menos fuerte que la nocin de validez (si una
expresin es vlida tambin es satisfacible, pero
la recproca no es verdadera).
Por ejemplo, la expresin ((enchufado
fusibleQuemado) funciona) es satisfacible
pero no vlida. Esto se puede ver en una tabla de
verdad verificando que la columna de valores de
la expresin contiene valores verdaderos y falsos:

enchufado fusibleQuemado funciona ((enchufado
fusibleQquemado)
funciona)
0 0 0 1
0 0 1 0
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0
Si la expresin considerada
corresponde a una regla general del
universo modelado, la nocin de
satisfacibilidad permite acotar los
mundos posibles descartando las
valuaciones que entregan un valor
falso. Por ejemplo, de la tabla, se
puede afirmar que no es posible un
mundo en que un equipo funcione
sin estar enchufado.
Insatisfacibilidad de expresiones
lgicas
Una expresin X de L(P) es insatisfacible si no es
satisfacible, es decir, siempre y cuando no existe
ninguna valuacin s: P {0, 1} que la hace
verdadera. Por ejemplo, cualquier expresin de la
forma (X X) es insatisfacible. Tambin se dice
que es una contradiccin.
Las nociones de validez, satisfacibilidad e
insatisfacibilidad estn relacionadas por las
siguientes propiedades:
X es satisfacible si y slo si X no es vlida
X es insatisfacible si y slo si X es vlida
X es vlida si y slo si X es insatisfacible

Satisfacibilidad de conjuntos de
expresiones lgicas
La nocin de satisfacibilidad puede
extenderse a conjuntos de expresiones.
Una asignacin s: P {0, 1} hace
verdadero, o satisface, a un conjunto de
expresiones siempre y cuando s hace
verdadera a cada una de las expresiones
del conjunto , lo que se denota as: s
|= . Se dice que la valuacin s satisface
a o es un modelo de .
s |= si y slo si para toda expresin X
pertenenciente a se cumple s(X) = 1.
Satisfacer a un conjunto de expresiones
es equivalente a satisfacer la conjuncin
de las expresiones del conjunto. Por
ejemplo, para P = {enchufado,
fusibleQuemado, funciona}, el conjunto
de expresiones = {X1, X2}, con
X1 = ((enchufado fusibleQuemado) funciona)

X2 = ((enchufado funciona) fusibleQuemado)
es satisfacible porque existen
valuaciones que hacen verdaderas a
ambas expresiones
simultneamente. Esto se puede
verificar en una tabla de verdad.

enchufado fusibleQuemado funciona X
1
X
2
=(x
1
,x
2
)
0 0 0 1 1 1
0 0 1 0 1 0
0 1 0 1 1 1
0 1 1 0 1 0
1 0 0 1 0 0
1 0 1 1 1 1
1 1 0 1 1 1
1 1 1 0 1 0
La nocin de consecuencia lgica
Una expresin es consecuencia lgica de
un conjunto de expresiones siempre y
cuando, cada vez que el conjunto de
expresiones es verdadero,
necesariamente la expresin tambin es
verdadera. Esta relacin, entre un
conjunto de expresiones y una expresin
aislada X, se escribe as: |= X (puede
interpretarse como "implica" a X). La
nocin de consecuencia lgica se define
en funcin de la la nocin de
satisfacibilidad y se denota con el mismo
smbolo:
|= X si, para cada valuacin s: P {0,
1} tal que s |= , entonces tambin s |=
X.
Por ejemplo, {p, (p q)} |= q.
Se lee q es consecuencia lgica de p y (p
q).
Este ejemplo, que permite corroborar la
validez del modus ponens, puede
verificarse mediante una tabla de verdad:
p q (p q) {(p q),p}
0 0 1 0
0 1 1 0
1 0 0 0
1 1 1 1
Se ve que todas las valuaciones que
satisfacen a {p, (p q)} (hay slo
una) tambin satisfacen a q.
Lgica de predicados de
primer orden
La lgica proposicional no es lo suficientemente
poderosa para modelar ciertos mecanismos de
razonamiento. Por ejemplo, consideremos el
silogismo clsico:
Premisa mayor: Todos los hombres son mortales
(p).
Premisa menor: Scrates es un hombre (q).
-----------------------------------------------------------
Conclusin: Scrates es mortal (r).
En lgica proposicional, las dos premisas y la
conclusin se representan mediante variables
distintas (p, q y r) cuyos valores de verdad estn
dados por una funcin de valuacin
s: {p, q, r} {0, 1}.
Para modelar este silogismo, se requerira
que, conociendo s(p)=1 y s(q)=1, se
pudiera deducir s(r)=1. Sin embargo no
se puede porque no hay manera de
relacionar la idea "ser hombre" de la
premisa mayor con la idea "ser hombre"
de la premisa menor, ni tampoco la idea
"ser mortal" de la premisa mayor con la
idea "ser mortal" de la conclusin. Las
variables proposicionales son tomos que
no se pueden analizar en trminos ms
primitivos para establecer estas
relaciones.

Predicados
En lgica de predicados, los valores de verdad se
atribuyen a predicados que denotan relaciones
entre entidades del universo modelado. Por
ejemplo, en vez de tener una variable q para
representar "Scrates es un hombre", se escribe
el predicado hombre(scrates) que relaciona a la
entidad "Scrates" con el hecho de "ser hombre".
Un predicado tambin puede aplicarse a variables
que denotan entidades annimas o genricas. Por
ejemplo, para escribir la premisa "Todos los
hombre son mortales", que no se refiere a ningn
"hombre" en particular, se utiliza el predicado
hombre(X) en que X es una variable que denota a
cualquier entidad del universo modelado que
cumple con el hecho de "ser hombre".
El silogismo completo queda expresado de la
siguiente manera:
X (hombre(X) mortal(X))
hombre(scrates)
---------------------------------------
mortal(scrates)
Para aplicar este silogismo basta asignar la
variable X, que puede tomar un valor arbitrario,
con la constante scrates. Se obtiene la frmula:
hombre(scrates) mortal(scrates)
Despus, para obtener la conclusin, se opera
exactamente como en la lgica proposicional.

Sintaxis de la lgica de predicados


Para construir las expresiones de la lgica de
predicados, se utilizan dos tipos de smbolos:
Smbolos no lgicos, dependientes del universo
modelado:
un conjunto de smbolos de predicados {p
1
, p
2
, ...}
con aridad definida.
un conjunto de smbolos de funcin {f
1
, f
2
, ...} con
aridad definida.
un conjunto de smbolos de constantes {c
1
, c
2
, ...}.
Smbolos lgicos, independientes del universo
modelado:
conectivos lgicos: , , ,,
un conjunto de smbolos de variables {X
1
, X
2
, ...}.
cuantificadores: (existencial), (universal) .
smbolos de puntuacin: ), (

Trminos de la lgica de predicados
Los trminos de un lenguaje de predicados de primer
orden son expresiones que denotan entidades del
universo modelado (no se les puede atribuir un valor
de verdad). Se construyen a partir de los smbolos de
constantes, funciones y variables segn las siguientes
reglas:
Todo smbolo de variable X
i
es un trmino.
Todo smbolo de constante c
i
es un trmino.
Si f
i
es un smbolo de funcin n-aria y t
1
,..., t
n
son
trminos, entonces f
i
(t
1
,..., t
n
) es un trmino.
Llamando S al conjunto de smbolos no lgicos
dependientes del universo modelado, el conjunto de
trminos validos para ese universo es designado por
T(S). Los smbolos de variables son intercambiables y
por lo tanto no se consideran como parmetros de
definicin de los trminos vlidos.
Frmulas de la lgica de predicados
Las frmulas de la lgica de predicados relacionan trminos mediante
predicados, y predicados entre si mediante conectivos lgicos. A estas
frmulas se les puede atribuir un valor de verdad (se verifican o no en el
universo modelado). El lenguaje L
1
(S) de frmulas de la lgica de
predicados de primer orden sobre el conjunto de smbolos S se construye
inductivamente aplicando las siguientes reglas:
Si p es un smbolo de predicado n-ario y t
1
,..., t
n
son trminos, entonces p(t
1
,...,
t
n
) es una frmula atmica.
Si A es una frmula, entonces la negacin A tambin es una frmula.
Si A y B son frmulas, entonces tambin lo son:
la conjuncin (A ,B)
la disyuncin (A B)
la implicacin (A ,B)
la equivalencia (A B)
Si A es una frmula y x es una variable, entonces tambin son frmulas:
la cuantificacin existencial x A
la cuantificacin universal x A
Las variables que aparecen en una frmula fuera del alcance de un
cuantificador son llamadas variables libres. Nosotros slo vamos a
considerar frmulas sin variables libres.
Semntica de la lgica de
predicados de primer orden
El significado de las frmulas de un lenguaje de la lgica de
predicados de primer orden L
1
(S) se determina en dos etapas:
Atribuyendo una interpretacin a cada trmino utilizado precisando la
entidad del universo modelado que est siendo denotada.
Asignando un valor de verdad a los predicados segn si la relacin denotada
se verifica o no en el universo. Conociendo los valores de verdad de las
frmulas atmicas, se puede determinar el valor de verdad de una frmula
compuesta aplicando la semntica convencional de los smbolos lgicos.
Esto requiere que el dominio modelado tenga una estructura
compatible con la estructura de los smbolos no lgicos del conjunto
S.
Los smbolos de S se dividen en tres categoras: un conjunto P de
smbolos de predicados, un conjunto F de smbolos de funcin y un
conjunto C de smbolos de constantes. Un dominio estructurado
compatible con S es una tupla <U P
U
F
U
C
U
> en que:
U es un conjunto no vaco, llamado el universo o dominio, cuyos elementos
son las entidades denotadas por los trminos de T(S).
P
U
es el conjunto de relaciones en U denotadas por los smbolos de P.
F
U
es el conjunto de funciones en U denotadas por los smbolos de F.
C
U
es el conjunto de individuos particulares del universo U denotados por
los smbolos de C.

Relacin entre smbolos y dominios
estructurados
Para atribuirle un significado a una frmula lgica de
L
1
(S) dentro de un dominio estructurado <U P
U
F
U
C
U
>
se define una relacin de interpretacin que asocia
cada smbolo s de S con una realidad s
U
del dominio:
si p es un smbolo de predicado n-ario de P, entonces p
U

es una relacin n-aria sobre U, es decir, p
U
es un
subconjunto del producto cartesiano U
n
(si U es un
universo finito, como en el caso de bases de datos,
siempre se puede representar en extensin la relacin p
U

como un conjunto de tuplas de entidades de U).
si f es un smbolo de funcin n-aria de F, entonces f
U
es
una funcin n-aria sobre U, es decir, f
U
: U
n
U (el
resultado de f
U
es una entidad del universo).
si c es un smbolo de constante de C, entonces c
U
es una
entidad individualizada del universo U (slo se puede
individualizar un nmero finito de entidades, sin embargo
se puede denotar un nmero infinito de ellas a travs de
la aplicacin de funciones).

Interpretacin de trminos en un
dominio estructurado
Teniendo un dominio estructurado <U P
U
F
U
C
U
>
compatible con S, se puede definir una interpretacin
que asocia cada trmino de T(S) con una entidad del
universo U. La interpretacin es una funcin I: T(S)
U que se define inductivamente con las siguientes
reglas:
I(c) = c
U
(los smbolos de constante se interpretan como
entidades predefinidas del universo).
I(f(t
1
,..., t
n
)) = f
U
(I(t
1
),..., I(t
n
)) (la interpretacin de un
trmino con la funcin f se calcula aplicando la funcin
correspondiente del dominio estructurado f
U
a la
interpretacin de los trminos argumentos).
Ntese que esta definicin no precisa la interpretacin
de variables. sta corresponde a una asignacin de
valores que se determina a nivel de frmulas lgicas.

Ejemplo de interpretacin en un
dominio estructurado
Consideremos el conjunto de smbolos no lgicos
S = {=, +, s, } en que los smbolos de
predicados son P = {.=.}, los smbolos de funcin
son F = {.+., s(.)} y los smbolos de constantes
son C = {} (la aridad de los predicados y
funciones se indica con un "." por cada
argumento).
Un dominio estructurado compatible con S es <U
P
U
F
U
C
U
> en que U es el conjunto de los nmeros
naturales, P
U
contiene el predicado de igualdad,
F
U
las funciones de suma (+) y sucesor (s), y C
U

la constante cero 0 ().
Aplicando la definicin de la funcin de
interpretacin:


Interpretacin en otro dominio
estructurado
El mismo lenguaje lgico L
1
(S) en que S
= {=, +, s, } se puede interpretar en
otro dominio estructurado <U P
U
F
U
C
U
>
en que U es el conjunto {0, 1}, P
U

contiene el predicado de igualdad, F
U
las
funciones de suma mdulo 2 y sucesor
mdulo 2, y C
U
la constante cero 0. En
este caso, aplicando la definicin de la
funcin de interpretacin:


Los valores denotados por los trminos no
coinciden necesariamente para
interpretaciones distintas. Esto implica
que el valor de verdad de una frmula
lgica depende tambin de la
interpretacin. Por ejemplo, la frmula
s()+s() =
es verdadera en el conjunto {0, 1} con la
suma mdulo 2, pero falsa en los
naturales.
Valor de verdad de frmulas lgicas
Para determinar el valor de verdad de una
frmula A de L
1
(S) se requiere definir una
interpretacin I sobre un dominio
estructurado <U P
U
F
U
C
U
>. Si la frmula
resulta verdadera en ese dominio, se dice
que la interpretacin satisface, hace
verdadera o es un modelo de la frmula,
lo que se escribe de la siguiente manera:
I|= A
Esta relacin puede definirse inductivamente:
Si A es una frmula atmica p(t
1
,..., t
n
), entonces I|= A
siempre y cuando la relacin p
U
contiene a la tupla
(I(t
1
),..., I(t
n
)).
Si A es de la forma B, entonces I|= A siempre y cuando
no es cierto que I|= B.
Si A es de la forma
(B C), entonces I|= A ssi I|= B y I |= C.
(B C), entonces I |=A ssi I |= B o I |= C.
B C), entonces I |= A ssi no I |= B o I |= C.
(B C), entonces I|=A ssi I|=B y I|=C, o no I|=B y no
I|=C.
Si A es de la forma
Ex B, entonces I|=A ssi existe una entidad e del universo U
tal que asignando I(x)=e se cumple que I|=B.
Ax B, entonces I|=A ssi para toda entidad e del universo U, al
asignar I(x)=e se cumple que I|=B.


Identidades lgicas
Si para todas las interpretaciones I que satisfacen I|=A se
cumple simultneamente que I|=B y viceversa, entonces
existe una identidad lgica entre A y B que se escribe A = B.
Adems de las identidades conocidas de la lgica
proposicional (ver seccin 2.7), existen en lgica de
predicados otras identidades relativas al uso de
cuantificadores y variables:
Ex A(x) = Ax A(x)
A x A(x) = Ex A(x)
Ex A(x) = Ey A(y)
Ax A(x) = Ay A(y)
Ex (A(x) B(x)) = Ex A(x) Ey B(y)
Ax (A(x) B(x)) = Ax A(x) Ay B(y)
Ntese que en estas identidades A(x) y B(x) se pueden
reemplazar por expresiones lgicas arbitrarias
parametrizadas por x.
Nocin de consecuencia lgica
La nocin de satisfaccin se puede extender naturalmente a conjuntos
de frmulas de la lgica de predicados. Si I es una interpretacin
sobre un dominio estructurado <U P
U
F
U
C
U
> y es un conjunto de
frmulas de L
1
(S), entonces:
I|= si y slo si para toda frmula A de se cumple I|=A.
Se lee: I satisface a .
Basndose en esto se puede definir la nocin de consecuencia lgica
de la misma manera que en lgica proposicional:
|=A si y slo si toda interpretacin I tal que I|= tambin cumple I|=A.
Se lee: la frmula A es consecuencia lgica del conjunto de frmulas .
La lgica de predicados permite modelar un universo definiendo un
conjunto de frmulas verdaderas a priori (los axiomas). La nocin de
satisfaccin de conjuntos de frmulas lgicas permite acotar las
interpretaciones posibles: slo nos interesan aquellas interpretaciones
que satisfacen a todos los axiomas. La nocin de consecuencia lgica
permite precisar qu frmulas son vlidas dado un conjunto de
axiomas (para modelar un universo, slo se requiere definir un
conjunto limitado de axiomas, todas las dems verdades son
consecuencia lgica de los axiomas y sera redundante considerarlas
para acotar las interpretaciones posibles).
Demostraciones formales
Si |=A, entonces cada vez que todas las frmulas de son vlidas,
tambin es vlida la frmula A. Sin embargo, esta nocin de
consecuencia lgica slo tiene una utilidad prctica si A se puede
demostrar formalmente a partir de , es decir, mediante un proceso
de manipulacin puramente sintctico de las formulas lgicas (sin
hacer referencia a la semntica subyacente). Adems,
computacionalmente nos interesa que este proceso se pueda realizar
en forma automtica.
Cuando se modela un universo utilizando lgica, se considera a
como un conjunto de hiptesis dadas a priori, o axiomas, y a A como
un teorema de la teora axiomatizada. La ventaja de un mecanismo
de demostracin formal es que permite modelar un universo complejo
mediante un conjunto relativamente reducido de axiomas: no es
necesario explicitar todos los teoremas que se cumplen en el universo
modelado ya que estos pueden ser deducidos.
Para verificar la validez de un teorema, una demostracin formal
consta en general de varios pasos que corresponden a generar nuevas
frmulas lgicas a partir de frmulas lgicas previamente validadas,
empezando con los axiomas. Cada uno de estos pasos debe respetar
la semntica del universo modelado (esto exige que cada nocin
semntica tenga una contraparte sintctica).
Sistemas deductivos formales
Dado un lenguaje lgico L(S), una deduccin formal de A a partir de
es una sucesin finita de frmulas de L(S)
A
1
A
2
... A
i
... A
n-1
A
n

tal que:
cada A
i
pertenece a L(S)
A
n
es la frmula buscada A
cada A
i
es, ya sea:
elemento de (axioma de la teora)
axioma lgico (axioma independiente del universo modelado)
una expresin lgica obtenida a partir de algunas de las frmulas
precedentes en la sucesin, es decir, A
1
A
2
... A
i-1
, mediante la aplicacin de
una regla sintctica de deduccin (p. ej. la regla del modus ponens)
Una deduccin formal se obtiene entonces mediante operaciones
puramente sintcticas. Para quedar completamente especificado, un
sistema deductivo formal requiere que se precisen los axiomas lgicos
y las reglas de deduccin vlidas (que respeten la semntica, esto es,
que slo permitan deducir frmulas vlidas con respecto a los
axiomas).
Propiedades de un sistema
deductivo formal
Cuando existe una demostracin formal de una frmula A a partir de
un conjunto de frmulas , se escribe:
|-A
Esta notacin es muy similar a |=A, lo que refleja la relacin
intuitiva entre la nocin semntica de consecuencia lgica y la nocin
sintctica de derivabilidad. Esto se expresa mediante dos propiedades
fundamentales:
Si (|-A) (|=A) se dice que el sistema deductivo es correcto.
Esta propiedad indica que todo lo que se deriva sintcticamente
corresponde semnticamente a una verdad.
Si (|=A) (|-A) se dice que el sistema deductivo es completo.
Esta propiedad se cumple si todas las consecuencias lgicas de los
axiomas son formalmente deducibles. El sistema deductivo da cuenta
por completo de la semntica.
En general es ms difcil garantizar la completitud que la correccin
(en particular en universos infinitos, como lo demuestra el famoso
teorema de Gdel).
Axiomas lgicos
Los axiomas lgicos son frmulas lgicas vlidas siempre,
independientemente de la interpretacin. No son consecuencia lgica
de ninguna hiptesis. Esto se puede expresar utilizando la sigiente
notacin:
|=A (A es un axioma lgico)
Una manera de generarlos es utilizando las identidades lgicas (ver
secciones 2.7 y 5.7). A partir de la identidad A = B, se puede plantear
el axioma lgico (A B). Esto permite en particular que si se conoce
A y la identidad A = B se pueda deducir B.
Existe una infinidad de axiomas lgicos. Sin embargo, en lgica
proposicional, todos se pueden generar a partir de los siguientes
esquemas, instanciando y utilizando modus ponens:
A (B A)
(A (B C)) ((A B) (A C))
(A B) (B A)
En estos esquemas A, B y C son metavariables que pueden ser
reemplazadas por cualquier frmula lgica. La validez de estos
axiomas lgicos puede verificarse utilizando tablas de verdad.
Reglas de deduccin
Una regla de deduccin permite generar nuevas frmulas lgicas que explicitan la
informacin contenida implcitamente en frmulas ya conocidas.
Una regla se define precisando las condiciones que deben cumplirse para aplicarla (las
premisas) y el resultado de su aplicacin (la conclusin). Por ejemplo, la regla del
modus ponens o de eliminacin de la condicin se escribe as:
A B
A
-------
B
A B y A son las premisas, B es la conclusin. Esta definicin es un esquema en el que
A y B son metavariables que denotan frmulas lgicas arbitrarias.
El orden en el que aparecen las premisas no es relevante y esta misma regla se puede
expresar utilizando la notacin de derivabilidad:
{A B, A}|- B
Para que un sistema deductivo sea correcto, todas las reglas de deduccin utilizadas
deben ser correctas, es decir, semnticamente pertinentes. En este caso particular, se
debe verificar (y se verifica):
{A B, A}|= B
En trminos ms generales, la conclusin de una regla debe ser consecuencia lgica de
las premisas.
Otras reglas de deduccin
La regla del modus ponens es las ms socorrida, pero no la nica regla que se puede
utilizar. Otras reglas habituales son:
modus tollens
A B
B
------------
A
eliminacin del and
A B
------------
A
B
introduccin del and
A
B
------------
A B
instanciacin universal
Ax A(x)
-------------
A(c)

Ejemplo de deduccin formal
Conociendo el conjunto con las siguientes hiptesis:
perro (fido)
Ax (perro (x) animal (x))
Ay (animal (y) mortal (y))
demostrar
mortal (fido)
Pasos:
1. perro (fido), pertenece a
2. Ax (perro (x) animal (x)), pertenece a
3. (perro (fido) animal (fido)), aplicando instanciacin
universal con x=fido
4. animal (fido), aplicando modus ponens
5. Ay (animal (y) mortal (y)), pertenece a
6. (animal (fido) mortal (fido)), aplicando instanciacin
universal con y=fido
7. mortal (fido), aplicando modus ponens

S-ar putea să vă placă și