Professional Documents
Culture Documents
artificially intelligent
Robert A. Kowalski
Department of Computing
Imperial College
1 / 66
Contenido
2 / 66
Atomos
3 / 66
tomos
4 / 66
tomos
En esa forma, el smbolo del predicado se escribe primero, seguido de los
trminos del tomo, que son llamados sus argumentos, rodeados por
parntesis y separados por comas. Cada smbolo de predicado tiene un
nmero estndar de argumentos, escrito un rden fijo, pero arbitrario. En
el ejemplo, el smbolo detiene tiene dos argumentos, con el sujeto
conductor primero y el objeto tren de segundo.
La ventaja de la forma simblica de la lgica para escribir tomos es que
distingue, sin ambigedad, entre el predicado y sus argumentos y, adems,
identifica los diferentes roles (tales como sujeto u objeto) de sus
argumentos por su posicin dentro de los parntesis. Es esta precisin lo
que hace de la Lgica Simblica apropiada para el procesamiento
computacional.
5 / 66
tomos
Sin embargo, esta ventaja tiene un costo: tener que sobredefinir los
componentes de un tomo. Por ejemplo, una representacin igualmente
apropiada de la oracin el conductor detiene el tren es la frmula atmica:
ocurre(detiene, conductor, tren)
Esta otra representacin trata a detiene como un trmino en lugar de un
smbolo de predicado. Es tambin posible, an si no muy til, representar
la misma oracin con un predicado sin argumentos, digamos
ocurre-detiene-conductor-tren() o sin los parntesis, simplemente
ocurre-detiene-conductor-tren.
6 / 66
tomos
De hecho, la representacin ms cercana a lo pretendido, subrayando el
significado de la oracin en lenguaje natural, es la coleccin de oraciones
atmicas:
ocurre(evento-0014). tipo(evento-0014, detiene). agente(evento-0014,
007). objeto(evento-0014, el-escocs-volador). esun(007,
conductor-de-tren). esun(el-escocs-volador, tren).
Esta representacin vuelve explcito que el conductor 007 es un
identificador individual, y que el tren es un tren particular con su propio
identificador nico el-escocs-volador. El mismo evento es un evento
nico, con un identificador evento-0014 que lo distingue de cualquier otro
evento en el cul el mismo conductor detiene el mismo tren en alguna otra
ocasin.
7 / 66
tomos
An cuando tales representaciones son un tanto incmodas en
comparacin con las oraciones en lenguaje natural, suele ser necesarias en
las implementaciones computacionales de la lgica, donde las distinciones
que ellas introducen son inevitables. Se puede argumenta que tales
distinciones son inevitables tambin en un lenguaje del pensamiento para
un agente humano.
La representacin informal que usamos en la mayor parte de este libro
tiene la ventaja de que oculta esa complejidad subyacente en las
representaciones ms precisa. Sin embargo, el lector debe tener presente
que, para representar el significado de aparentemente simples oraciones en
lenguaje natural, tendran que ser traducidas esas oraciones a una
representacin ms precisa como la ilustrada ac.
8 / 66
9 / 66
10 / 66
11 / 66
Trminos
El tipo de trmino ms simple es una constante, como 007, que denota un
individuo, digamos la persona nacida el 1 de Abril del 200, hijo de Mary
Smith y John Smith de Petworth, Inglaterra. Pero tambin es una trmino
una variable, que representa a una clase completa de individuos. Es comn
en Lgica Simblica usar letras como la X y la Y para designar variables,
como en la frmula algebraica:
X+Y=Y+X
que se cumple para todos los nmeros X y Y. En este libro, usamos la
convencin, tomada en prstamo del lenguaje de programacin Prolog, de
que las variables comienzan con un letra en mayscula, como esa X y esa
Y, y que las constantes y los smbolos de predicados comienzan con
minsculas.
Robert A. Kowalski (IC)
12 / 66
Trminos
Trminos ms complejos se pueden construir a partir de los ms simples,
como madre de X, escrito as madre(X), o 2 + 3, escrito como +(2,3). En
estos casos madre y + son smbolos de funciones. Sin embargo, las
funciones son un caso especial de relaciones, as que los smbolos de
funciones son, estrictamente hablando, innecesarios. En lugar de escribir,
por ejemplo:
madre(cain) = eva
+(2,3) = 5
podemos escribir:
madre(cain, eve)
+(2,3,5)
Robert A. Kowalski (IC)
13 / 66
Trminos
14 / 66
Trminos
El trmino s(X) es equivalente a X+1. Usando la funcin sucesor y
representando la suma como una relacin, podemos representar 2+3=5
con:
+(s(s(0)), s(s(s(0))), s(s(s(s(s(0))))) )
Esta ltima no es muy fcil de leer, pero es mucho ms apropiada para los
estudios tericos que el uso de sistemas numricos alternativos como el
decimal, el binario o los nmeros romanos.
Los trminos que no contienen variable alguna son llamados trminos
bsicos (literalmente, trminos a tierra). Juegan un papel especial en la
semntica, pues constituyen el reservorio del cual se obtienen los nombres
de los individuos.
15 / 66
Condicionales
Estrictamente hablando, una condicional es una oracin con esta forma:
A B, en donde A y B son oraciones. Sin embargo, podemos usar el
trmino condicional con un poco ms de flexibilidad para referirnos a
oraciones que pueden contener variables. Ms an, en general, limitaremos
la atencin a condicionales que puedan escribirse en cualquiera de estas
dos formas equivalentes:
C 1 ... Cn D1 ... Dm E
es decir, si C1 y .. y C n y no D 1 y .. y no D m entonces E
y
E C 1 ... Cn D1 ... Dm
es decir, E si C1 y .. y C n y no D 1 y .. y no D m
Robert A. Kowalski (IC)
16 / 66
Condicionales
en donde la conclusin E es una frmula atmica, las condicionesCi son
frmulas atmicas y las condiciones Dj son las negaciones de frmulas
atmicas. A tales condicionales tambin se les conoce como clusulas y
cuando se las reune en conjuntos de tales condicionales se les llama a esos
conjuntos programas lgicos.
Como se suele hacer con las definiciones matemticas, la cantidad de
condiciones positivas n y la cantidad de condiciones negativas m pueden
una o la otra o ambas ser 0. Si m es 0, entonces la condicional es una
clusula definida.
Las clusulas definidas son importantes por dos razones. Primero, son la
forma adecuada de representar cualquier predicado computable. Segundo,
como veremos en el captulo A2, tienen una semntica muy simple en
trminos de modelos mnimos.
Robert A. Kowalski (IC)
17 / 66
Condicionales
18 / 66
Condicionales
19 / 66
Condicionales
Las variables en las clusulas se dice entonces que estn cuantificadas
universalmente dentro del alcance de la clusula en la que aparecen. En
Lgica Simblica, la cuantificacin de variables se escribe normalmente
con los smbolos que significa para todo y que significa existe, y el
alcance de esos cuantificadores es indicado por los parntesis. De esta
forma, las condicionales anteriores se escribiran:
X (sorprendente(X ) puede_volar (X ))
X Y (sorprendente(X ) puede_volar (Y ))
Puesto que todas las variables en una clusula estn universalmente
cuantificadas y su alcance es toda la clusula, no se introduce ninguna
ambigedad si se omiten completamente los cuantificadores.
Robert A. Kowalski (IC)
20 / 66
Condicionales
21 / 66
Condicionales
En la versin ms simple de la Lgica Simblica, las variables como X y Y
se pueden referir a cualquier tipo de individuos. As, por ejemplo, la
clusula sorprendente(X ) puede_volar (Y ) implica que si una piedra
puede volar entonces esa piedra es sorprendente. De forma similar, la
ecuacin matemtica X + Y = Y + X , si fuese escrita en notacin lgica,
implicara que podra Ud sumar dos piedras en cualquier orden y el
resultado sera el mismo.
Para superar ese uso poco natural de variables sin restricciones, se han
desarrollado lgicas con tipo o tipeadas, en las cules las variables si estn
restringidas, de manera que se refieren solamente a individuos de ciertas
clases, llamadas tipos. Un efecto similar puede obtenerse, con algo de
dificultad, en una lgica sin tipos incluyendo una condicin extra para cada
variable, en cuyo predicado se exprese el tipo de la variable.
22 / 66
Condicionales
Por ejemplo, para establecer que todo animal que puede volar es
sorprendente, tendramos que escribir algo como esto en una lgica sin
tipos:
sorprendente(X ) puede_volar (X ) animal(X )
Para concluir que toda persona que puede volar es sorprendente,
necesitaramos una clusula adicional que exprese que las personas son
animales:
animal(X ) persona(X )
O, como los seguidores de la orientacin por objetos en Computacin
preferiran que dijeramos, la clase de todas las personas hereda la
propiedad de volar de la ms abstracta clase de todos los animales.
Robert A. Kowalski (IC)
23 / 66
Condicionales
En la versin informal de la Lgica Computacional que usamos en este
libro, no slo omitimos los cuantificadores universales, sino que tambin
usamos palabras como cualquiera o todos, en lugar de variables sin tipo.
Las con tipo suelen tambin se reemplazadas por nombre comunes, como
un animal, una estacin o un ave. La virtud de este uso informal es que es
neutral respecto a si se le formaliza en alguna versin de lgica con tipo o
se usa, en su lugar, una lgica sin tipos con predicados para representar los
tipos correspondientes. Por ejemplo, en lugar de escribir:
X (sorprendente(X ) puede_volar (X ) animal(X ))
escribimos:
Si un animal puede volar entonces ese animal es sorprendente
o cualquier animal que pueda volar es sorprendente
Robert A. Kowalski (IC)
24 / 66
Condicionales
25 / 66
Definiciones Recursivas
26 / 66
Definiciones Recursivas
27 / 66
Definiciones Recursivas
Eso tambin puede ser escrito en una forma todava ms simple (X+1)+Y
=(X+Y)+1. Pero esto puede confundir, porque ese signo + en la expresin
+1 es diferente del signo +, por ejemplo, en (X+Y). Dir otras cosas
sobre la relacin entre funciones y relaciones ms tarde en este captulo.
28 / 66
Clusulas Meta
En la Lgica Computacional, usamos las condicionales (incluyendo hechos
y otras oraciones atmicas) para representar creencias, cuyas variables
estn todas universalmente cuantificadas. Adems, usamos conjunciones
para representar metas cuyas variables estn todas existencialmente
cuantificadas.
En general, una clusula meta es una conjuncin existencialmente
cuantificada de tomos o negaciones de tomos:
X1 ...Xm (C1 ... Cn D1 ... Dm )
es decir, existe X 1 .. y existe Xm tales que C1 y ... y Cn y no D1 y .. y no Dm
Si m es 0, entonces la clusula meta se conoce como una clusula meta
definida.
Puesto que todas la variables en una clusula meta estn existencialmente
cuantificadas dentro del alcance de la clusula, es normal omitir el uso
explcito del cuantificador existencial.
Robert A. Kowalski (IC)
29 / 66
Clusulas Meta
Por ejemplo, la clusula meta:
le_gusta(bob, X )
expresa realmente que
X le_gusta(bob, X )
Tales metas existencialmente cuantificadas son suficientes para representar
las metas por lograr de un agente. Sin embargo, como veremos en mayor
detalle ms tarde, no alcanzan a representar metas de mantenimiento y
restricciones.
30 / 66
Clusulas Meta
Tanto las clusulas definidas (que incluyen las oraciones atmicas) como
las clusulas metas definidas son normalmente etiquetadas como clusulas
de Horn, en honor al Lgico Alfred Horn, quien estudi algunas de sus
propiedades matemticas. Las clusulas de Horn tienen el poder expresivo
de las Mquinas de Turing, el modelo matemtico estandar de
computacin mecnica.
En programacin lgica, las clusulas metas representan la computacin
que se habr de realizar. Por ejemplo, la clusula meta:
+(s(s(0)), s(s(0)), X ) +(X , Y , s(s(s(s(s(0))))))
representa el problema de computar la suma X de 2 mas 2 y calcular un
nmero Y que sumado a X de 5.
31 / 66
32 / 66
33 / 66
34 / 66
35 / 66
36 / 66
37 / 66
38 / 66
La Negacin
En la lgica clsica, las oraciones positivas y negativas tiene el mismo
estatus. Ser o no ser - no hay razn para preferir una a la otra. Pero en la
Lgica Computacional, las oraciones positivas son ms bsicas que las
negativas, y estas normalmente slo llenan los espacios entre oraciones
positivas. Este estatus ms bsico de las oraciones positivas se refleja en
las sintaxis de las condicionales, las cules normalmente slo tienen
conclusiones positivas, pero pueden tener condiciones negativas C (que
tambin se escribe no C). Por ejemplo:
sancionable(X ) presiona_alarma(X ) no hay _emergencia
puede_volar (X ) ave(X ) no ping uino(X )
39 / 66
La Negacin
Tal como se explica en el captulo 5 y en otros lugares, es natural concluir
que una condicin negativa no C se cumple si la condicin C
correspondiente no se cumple. Esta interpretacin de la negacin se llama
negacin por falla. De esta forma, dada una situacin en la cual se nos
dice que ave(juan), pero en la que no tenemos ningn indicio para creer
ping uino(juan), se deriva por negacin por falla que puede_volar (juan).
Considere esta definicin de los nmeros pares e impares, que usa slo
conclusiones positivas y una condicin negativa:
par (0)
par (s(s(X ))) par (X )
impar (X ) no par (X )
Robert A. Kowalski (IC)
40 / 66
La Negacin
Puesto que no se puede demostrar que par (s(0)), se deriva de esas
clusulas y por negacin por falla que impar (s(0))se cumple.
Adems de las condiciones negativas interpretadas por la negacin por
falla, las oraciones negativas puede tener la forma de restricciones, que son
metas condicionales con falso por conclusin. Por ejemplo, en el contexto
de un agente que supervisa sus acciones candidatas, la restriccin:
sancionable(X ) falso
es decir, no seas sancionable,
sirve como una prohibicin que impide acciones, como el que Ud presione
el botn de la seal de alarma inapropiadamente o que Ud deje de pagar
sus impuestos, que lo convertiran en sancionable.
Robert A. Kowalski (IC)
41 / 66
La Negacin
Ms an, como se ve en el captulo sobre la Abducin, una restriccin, tal
como:
par (X ) impar (X ) falso
es decir, nada es par e impar,
que es una propiedad de la definicin de los nmeros pares e impares,
puede ser usada para eliminar explicaciones incorrectas de las
observaciones.
Veremos en su momento que ambos tipos de negaciones (la negacin por
falla y las restricciones) tienen la misma semntica de la negacin en
lgica clsica. Sin embargo, cumplen funciones muy diferentes en la
representacin del conocimiento y en el razonamiento.
Robert A. Kowalski (IC)
42 / 66
43 / 66
44 / 66
45 / 66
46 / 66
La Lgica Clsica
La sintaxis de la lgica clsica es una extensin de la sintaxis de la forma
condicional de la lgica usada en este libro. Los trminos y frmulas
atmicas en lgica clsica son los mismos que en la lgica de los
condicionales. Sin embargo, las oraciones no atmicas pueden construirse
usando una combinacin arbitraria de las conectivas lgicas , , y ,
y los cuantificadores y .
La lgica clsica est peor estructurada que la forma condicional de la
lgica. Por ejemplo, en la forma condicional, hay una sola forma de
expresar que todas las aves pueden volar y que Juan es un ave:
puede_volar (X ) ave(X )
ave(juan)
47 / 66
La Lgica Clsica
48 / 66
La Lgica Clsica
49 / 66
La Lgica Clsica
50 / 66
La Lgica Clsica
51 / 66
52 / 66
53 / 66
54 / 66
55 / 66
56 / 66
57 / 66
E C . . . Cn D1 . . . Dm
para las creencias. Como se dijo antes, las conclusiones de las metas (pero
no las de las creencias) pueden contener tanto disjunciones como variables
existencialmente cuantificadas.
Robert A. Kowalski (IC)
58 / 66
59 / 66
60 / 66
61 / 66
62 / 66
63 / 66
64 / 66
65 / 66
66 / 66