Técnicas:
- Modificación en el Acceso:
cuando se accede a un objeto, su estructura
se compara con la definición de su clase en ese
momento, todos los cambios necesarios se hacen antes de que el
objeto esté disponible. Como resultado, el gasto extra
de la modificación de esquema se reparte entre los
accesos a los objetos. - Versiones de los Esquemas: en vez de
requerir que se modifique un objeto para que se ajuste a la
definición actual de su clase, las versiones antiguas de
la definición de clase se conservan para acceder a los
datos. El
mantenimiento de múltiples versiones
supone espacio extra, esto también complica la codificación de los métodos
debido a la necesidad de manejar múltiples versiones de
la definición de clase.
Actualmente, se están investigando temas de la
gestión
de modificación de esquemas. En las notas
bibliográficas se hace referencia a algunas propuestas
iniciales y descripciones de implementaciones.
Verificación
Automática de la Integridad Semántica:
Se espera no solamente que los D. B. M. S. de 5ta.
generación sean más flexibles y tengan mayor
independencia
de datos que los sistemas
actuales, sino también que tengan mecanismos de
Verificación de Integridad más poderosos. Estos
incluirán también rutinas sintácticas
más poderosas para: verificar, deletrear y también
rutinas de Verificación de Integridad
Semántica.
¿Qué es la Integridad
Semántica?:
Por Integridad Semántica queremos decir que es la
adaptación de la base de datos
con las restricciones derivadas de
nuestro conocimiento
de lo que está y no está permitido en aquella parte
del universo que
esté representada por los datos de la base de datos. El
mantenimiento de la Integridad semántica implica evitar
que se inserten en la base de datos los datos los datos que
representen un estado no
permitido del universo.
Algunos Enfoques para el Mantenimiento
Automático de la Integridad
Semántica:
Se obtiene un enfoque directo para el mantenimiento de
la Integridad Semántica a partir de las sugerencias de:
Abrial (1974) y Florentin en el mismo año. Esto implica
dos (02) pasos:
- Proporcionar al instalador de la base de datos un
lenguaje
para especificar las restricciones
semánticas. - Usar las restricciones para examinar los datos
presentados para su inserción en la base de
datos.
Normalmente, el instalador de la base de datos
debería ser capaz de especificar las restricciones que el
sistema usa
después para mantener la Integridad Semántica
automáticamente, sin embargo, este enfoque observarse con
precaución dos (02) tipos de problemas que
son:
- porque para los lenguajes en general no se puede
dilucidar si las restricciones expresadas en ellos son
consistentes en sí. Este problema sólo se
puede solucionar si el
lenguaje en el que las restricciones están
expresadas es decidible.Esto se puede ilustrar con un ejemplo, dada una
relación de progenitor, una restricción
semántica podría declarar que el subgrafo que
contenga solamente bordes etiquetados con progenitor debe
estar libre de bucles, es decir, ninguno puede ser su
propio progenitor. Verificar esta restricción es
probable que resulte costoso, si la base de datos
contuviera además la facha de nacimiento, entonces,
la restricción anterior podría sustituirse
por una restricción que declarará que la
fecha de nacimiento del programa
debe preceder la del hijo. Sin embargo, estas
consideraciones no han retrasado el desarrollo del enfoque de dos (02) pasos, y
se ha conseguido progresar gracias a los trabajos
de:- Abrial (1974): ha señalado
la aparición de la semántica de la base de
datos que culminaría poco después con las
publicaciones de Chen (1976) de la
entidad-relación y el modelo
de Smith y Smith (1977) el resumen de los datos ideas.
Una base de datos es un modelo de la realidad que rodea
la evolución de los negocios de la
empresa, incluido su último conjunto de
transacciones de la rendición de cuentas, su actual conjunto de compromisos
y las reivindicaciones, y su futuro conjunto de planes y
políticas. - Florentin (1974): fue uno de los
1eros. en proponer que el cálculo de predicados se
podría usar para la especificación precisa
de restricciones de integridad semántica, sin
embargo, declaró que la manipulación de una
fórmula lógica probablemente
resultaría demasiado fastidioso para considerarla
útil como método práctico del
mantenimiento de la integridad semántica. Esta
conclusión viene acompañada de una
referencia al trabajo realizado por Robinson
(1967). - Chamberlain, Eswaran y Stonebraker
(1975): tratan del mantenimiento de la integridad
semántica de bases de
datos relacionales, las restricciones están
especificadas en dos (02) lenguajes de consulta
relacionales: SEQUEL y QUEL respectivamente (se ha dado
ya una breve descripción de cómo se
refuerzan las restricciones expresadas en
QUEL). - Hammer y Mc. Leod (1975): han
realizado un enfoque más general, aunque describen
su trabajo en el contexto de un sistema de base de datos
relacional, avanzan hacia el diseño de un lenguaje de
especificación de restricciones de
propósito especial. El
trabajo de estas dos (02) personalidades presenta
varios ejemplos útiles de
restricciones. - Biller y Neuhold (1978): reconocen
también la necesidad de generalizar e indican
que asería difícil traducir una
restricción de integridad formulada en
función de una perspectiva específica,
por ejemplo, la perspectiva relacional en restricciones
expresadas en función de otra perspectiva, por
ejemplo, la perspectiva jerárquica. En
consecuencia, desarrollaron una perspectiva conceptual
abstracta que usa los conceptos de entidad, tipo de
entidad y relación. Las restricciones se
expresan de acuerdo a esta perspectiva en un lenguaje
llamado LDDL, aunque LDDL tiene una base
semántica sencilla, su base sintáctica es
compleja, por ejemplo, hay siete (07) clases distintas
de definición de tipo.- Cardinalidad,
- Equivalencia.
Sugieren una técnica similar a la que
Abrial (1974) propuso para expresar restricciones de
Cardinalidad.- Roussopoulos (1979): hizo
la siguiente contribución significativa con
su lenguaje CSDL, que facilita: la
especificación, modificación y examen
de restricciones a través de medios de apoyo de alto
nivel. - Bernstein, Mylopoulos y Wong
(1980): dieron un gran paso adelante al
diseñar un lenguaje llamado TAXIS, las
restricciones de integridad semántica se
consideran requisitos previos o condiciones
resultantes de transacciones que se deben cumplir
si el efecto de la transacción tiene que
ser aceptad. Mylopoulos y otros dan varios
ejemplos de restricciones de integridad
semántica, su principal
contribución fue reconocer que las
restricciones definidas en una clase de entidades
o transacciones deberían heredarse
automáticamente mediante subconjuntos de
esa clase.Tipo
Persona = nombre objeto : tipo de
nombre;número : seguridad social;
sexo : (Hombre, Mujer) no ordenado;
dirección : tipo de
dirección;título : (Profesor, Tutor,
Estudiante);claves : nombre,
númeronombres de las dependencias
dirección sexo
títuloobjeto final;
El refuerzo de las restricciones
semánticas implicadas por esta
especificación se puede llevar a cabo
automáticamente mediante rutinas normales
de verificación de tipos, por ejemplo, la
restricción "los objetos persona"
sólo pueden ser de sexo Masculino o
Femenino, lo cual está implícito en
el ejemplo, se refuerza fácilmente. Sin
embargo, no es fácil ver cómo
restricciones más complejas tales como:
una persona no puede ser hijo de alguien nacido
en una fecha posterior, podrían expresarse
en una declaración de tipos. El trabajo de
Brodie resulta interesante debido a que cuestiona
las nociones que se usan para distinguir entre
sintaxis y semántica. - Brodie (1980): ha propuesto
un enfoque algo diferente, sugiere que las herramientas de tipo de datos se
pueden usar para la definición de
restricciones semánticas y para el
mantenimiento de la integridad semántica. Se
proporciona una tipificación fuerte en un
sistema de tipo Pascal embebido en un lenguaje
llamado BETA, por ejemplo, la especificación
del tipo "objeto persona" podría
ser: - Borgida y Wong (1981): han
dado dos (02) especificaciones formales de la
semántica del lenguaje TAXIS, una de las
cuales está basada en axiomas y asertos de
corrección parcial y está pensada
para verificadores que deseen mostrar que el
sistema mantiene la integridad de la base de
datos.DEFINE CONSTRAINT Nativehead
(Department) => Dept (Head (Department)) =
DepartmentDEFINIR RESTRICCIÓN El jefe
asociado a (Departamento) => Dept (Jefe
(Departamento)) = DepartamentoLo que indica que El jefe de un
Departamento debe proceder del propio
Departamento. - Shipman (1981): ha
diseñado un lenguaje de definición y
manipulación de datos denominados DAPLEX,
este lenguaje se basa en una perspectiva conceptual
llamada perspectiva funcional. Las restricciones
pueden expresarse en DAPLEX como lo muestra el siguiente
ejemplo: - Frost y Whittaker
(1983).
Lógicas de Valores
Múltiples:Las lógicas que hemos descrito hasta
ahora han considerado dos (02) valores que son:
Verdadero o Falso, sin embargo, existe una gran
cantidad de bibliografía relacionada con
lógicas que tienen más de dos (02)
valores; por ejemplo, Belnap (1977) ha investigado una
lógica de cuatro (04) valores en la cual estos
valores son los cuatro (04) estados de conocimiento que
una base de conocimientos puede tener con respecto a
una proposición "P":- U: no se ha dicho ni "P" ni
"P" a la base de conocimientos. - T: se ha dicho "P" a la base
de conocimientos. - F: se ha dicho "P" a
la base de conocimientos. - B: se ha dicho "P" y
"P" a la base de conocimientos.
Este sistema de cuatro (04) valores es
importante para el diseño de sistemas
automáticos de pregunta / respuesta, puesto que
una base de conocimientos computerizada puede estar en
cualquiera de estos estados con respecto a una
posición "P". Una de las Lógicas de
Valores Múltiples mejor conocida es la
Lógica de Tres (03) valores propuesta por
Lukasiewicz, su justificación para esta
lógica era que a los asertos tales como:
"mañana habrá una batalla naval" no se
les puede asignar realmente un valor de Verdadero o Falso. En
consecuencia, introdujo un 3er. valor "I" que denota un
valor de verdad "Intermedio".Mc. Cawley (1981) muestra cómo se puede
modificar la lógica de tres (03) valores de
Lukasiewicz, de tal forma, que pueda considerarse que
"I" denote el valor "Clase de Verdadero". A
continuación se muestra una tabla de Verdad
correspondiente a esta interpretación.A
B
A B
V
V
V
V
I
I
V
F
F
V
V
V
I
I
V
I
F
F
F
V
V
F
I
V
F
F
V
Esta interpretación de "I" como Clase
de Verdadero puede generalizarse para dar cabida a
grados de verdad, los sistemas que resultan de tal
generalización son útiles para tratar con
conceptos confusos, tales como: gordo. La lógica
borrosa, que se discutirá más adelante
intenta también dar cabida a la vaguedad. En
Rescher (1969) se puede encontrar una relación
de la bibliografía de lógica de valores
múltiples.Lógica
Borrosa:Existe una gran parte del conocimiento del
sentido común al que las lógicas
convencionales no pueden dar cabida, esto se debe a que
el
conocimiento de sentido común implica
típicamente mucha incertidumbre, por ejemplo,
considérese el siguiente fragmento de sentido
común "Si un coche que se ofrece como saldo es
barato y viejo, entonces, probablemente no
estará en buen estado".Esta declaración está llena de
incertidumbre, las lógicas convencionales no
admiten gradaciones de verdad y, por tanto, no pueden
usarse para representar y razonar con declaraciones de
este tipo. La lógica borrosa (véase, por
ejemplo, Zadeh, 1983) puede adaptar tal incertidumbre
mediante un enfoque semántico, que es bastante
diferente del usado en la lógica
convencional.Semántica con Resultados de
Ensayos:Esta semántica se usa para asignar un
significado a una proposición de lógica
borrosa, en esta semántica se considera que una
proposición es una colección de
restricciones elásticas, por ejemplo, la
proposición "Génesis es castaño
claro" representa una restricción
elástica del color de cabello de Génesis y la
proposición "la mayoría de los gordos no
son muy ágiles" representa una
restricción elástica del número de
gordos ágiles.En la semántica con resultados de
ensayos, el significado de una proposición viene
dado por el procedimiento que se usa para computar
los resultados de los ensayos de esa propiedad, en general, este
procedimiento implica:- Identificar las variables:
x1,……xn, cuyos
valores estén limitados por la
proposición, en el ejemplo de antes,
x1 = color del cabello de
Génesis. - Identificar las restricciones
C1,……, Cm
introducidas por la proposición. - Caracterizar cada restricción
C1 describiendo un procedimiento de
ensayo que asocie a C1 un
resultado de ensayo t1 que represente el
grado hasta el cual Ci se
satisface. - Agregar los resultados parciales de los
ensayos t1,……, tm
a un número más pequeño de
resultados de ensayos t1,……,
tk que representen un resultado global de
un vector de ensayo "t". En la mayoría de los
casos, t = 1. El procedimiento de ensayo en el punto
anterior hace uso de una colección de
relaciones borrosas que constituyen una E. D. B.
(Explanatory Data Base / Base de Datos
Explicativa).
El significado de las relaciones en E. D. B.
es conocido por la persona que quiera saber el
significado de la proposición, indirectamente,
los procedimientos de ensayo y
agregaciones usadas en semántica de resultado
de ensayos describen un proceso mediante el cual los
significados de proposiciones están compuestos
de significados de las relaciones constituyentes en
la E. D. B., como ejemplo, supongamos que queremos
determinar el significado de la proposición:
"La nieve es generalmente blanca". Una E. D. B.
apropiada incluiría una relación
"blanca" y una relación "generalmente", tal
que:Blanco
Generalmente
Ahora, supóngase que
S1,……, Sm
representa muestras de nieve y que ti (1
i m) representa el grado hasta el
cual el color de Si es blanco, así
pues, ti es el resultado del ensayo para la
restricción del color de Si inducido
por "blanco". Usando esta notación, los pasos en
el procedimiento de ensayo son:- Encontrar la proporción de muestras
cuyo color sea blanco: - Calcular el grado hasta el cual
satisface la restricción inducida por
generalmente: t = grado hasta el cual prop representa
generalmente, donde: prop = , es decir,
simplemente usamos para buscar un valor en
la relación generalmente.
El significado de "La nieve es generalmente
blanca" está representado por el procedimiento
de ensayo usado para calcular el valor de "t", el
ejemplo de antes se obtuvo de Zadeh (1983) donde se da
otro ejemplo más complejo.Lógica Modal:
Las lógicas que se han descrito hasta
ahora se denominan lógicas "funcionales de
verdad". Cuando determinamos la consistencia o
demostramos teoremas en las teorías de tales lógicas,
recurrimos a interpretaciones, cada una de las cuales
asigna un valor de Verdadero o Falso a las
fórmulas atómicas de las teorías
implicadas. Esto es particularmente obvio si se usan
Tablas de Verdad, por ejemplo, considérese el
siguiente par de fórmulas:- A B: se leen "A"
implica "B". - B C: "B" implica
"C".
De estas dos (02) fórmulas podemos
inferir A C, construyendo la siguiente Tabla
de la Verdad:A
B
C
A
BB
CA
C@1 Τ
Τ
Τ
Τ
Τ
Τ
@2 Τ
Τ
Τ
@3 Τ
Τ
Τ
Τ
@4 Τ
Τ
@5
Τ
Τ
Τ
Τ
Τ
@6
Τ
Τ
Τ
@7
Τ
Τ
Τ
Τ
@8
Τ
Τ
Τ
En efecto, lo que hemos hecho es considerar
ocho funciones: @1 a @8, cada una de las
cuales especifica un estado de situación
particular en el que: A, B y C tienen varios valores de
Verdadero o Falso. De la tabla, puede verse que A
C es Verdadero en todos los casos en que A
B y B C sean verdaderos, por lo
tanto, podemos concluir que A C es una
consecuencia lógica de: A B y B
C. La validez de esta conclusión es
intuitivamente obvia en lo siguiente, donde "N" es
algún número y:- A representa: "N" es
divisible por 8. - B representa: "N" es
divisible por 4. - C representa: "N" es
divisible por 2.
Es intuitivamente obvio que A C es
una consecuencia lógica de: A B y B
C, independientemente de lo que el
número "N" sea en realidad; sin embargo,
supóngase que:- A representa: Reagan
nació en Francia. - B representa: Reagan habla
francés. - C representa: Reagan habla
francés en La Casa Blanca.
En este caso, no es intuitivamente obvio que A
C sea una consecuencia lógica de A
B y B C, es decir, dadas las
siguientes dos sentencias S1 y S2, no es razonable
inferir S3:- S1: Reagan nació en
Francia implica que Reagan habla francés. Esta
sentencia tiene que ver con un estado de cosas en el
cual se ve que Reagan más bien nació en
Francia que en los Edos. Unidos, independientemente
de que se den otras circunstancias que se aproximen
en gran medida al estado de cosas. - S2: Reagan habla
francés implica que Reagan habla
francés en La Casa Blanca. Esta tiene que ver
con estados de cosas en los cuales Reagan
sería un hombre de habla francesa viviendo en
La Casa Blanca, independientemente de que se den
otras circunstancias que se aproximen al estado real
de cosas - S3: Reagan nació en
Francia implica que Reagan habla francés en La
Casa Blanca.
Esta inferencia es intuitivamente
errónea, porque las sentencias S1 y S2
relacionan estados diferentes de situación o
mundos posibles. Pero las otras circunstancias no son
las mismas en los dos (02) casos y como resultado, los
estados de cosas con los que la 1era. sentencia tiene
que ver que no se superponen con los de la 2da.
sentencia: si Reagan hubiera nacido en Francia, no
hubiera sido Presidente de los Edos. Unidos y, por lo
tanto, presumiblemente no viviría en La Casa
Blanca; este ejemplo se obtuvo de uno dado por Mc.
Cawley (1981), donde se discuten otros ejemplos
similares.Las lógicas consideradas hasta ahora no
pueden dar cabida a la distinción entre estados
de cosas o mundos posibles, tales como los que aparecen
en el ejemplo anterior, ni pueden dar cabida a los
estados de cosas que existan en las creencias de: las
personas, códigos morales, etc. Para tratar con
tales cosas, los lógicos han desarrollado una
lógica denominada Lógica Modal, el
objetivo de las siguientes secciones es
dar una breve descripción de Lógicas
Modales y discutir su empleo en sistemas de bases de
conocimiento.¿Qué es una Lógica
Modal?:Snyder (1971) ha descrito la Lógica
Modal como aquella que permite razonar con
declaraciones que están en modo subjuntivo en
lugar de estar en indicativo, las declaraciones
subjuntivas afirman:- Lo que debe ser.
- Lo que debería ser.
- Lo que podría ser.
- Lo que se cree que es.
- Lo que se desea que sea.
- Lo que será en un futuro, entre
otras.
Tales declaraciones son diferentes de las de
indicativo, que simplemente afirman lo que es. Las
lógicas clásicas funcionales de verdad se
ocupan de declaraciones en indicativo, las
declaraciones modales pueden ser detectadas mediante la
presencia de operadores modales. Una
característica formal de los operadores modales
es que forman declaraciones cuyos valores de verdad no
son una función de los
valores de verdad de las declaraciones sobre las
cuales se opera, por ejemplo, considérese las
siguientes declaraciones:- John tiene apendicitis.
- Se da el caso de que John tiene
apendicitis. - Es posible que John tenga
apendicitis.
Las declaraciones 1º.- y 2º.- no son
modales, la declaración 2º.- es Verdadera
iff 1º.- es Verdadera. La declaración
3º.- es modal, es Verdadera si 1º.- lo es,
pero puede ser interpretada como Verdadera o Falsa si
1º.- es Falsa.Los 1eros. trabajos sobre lógica modal
se ocupaban principalmente de declaraciones que
contuvieron los operadores «es posible que»
y «es necesario que» y sus negaciones,
más tarde, los lógicos consideraron
declaraciones que contuvieron operadores tales
como:- Siempre se dará el caso de
que. - Es obligatorio que.
- Es permisible que.
- Se sabe que.
- Se cree que, entre otras.
Todas estas declaraciones se califican como
modales bajo la descripción de modalidad dada
por Snyder, así, la lógica modal se
relaciona con estados de cosas o mundos posibles
además del existente.Operadores Modales Monádicos y
Diádicos:Estos operan sobre declaraciones
únicas, todos los ejemplos de antes son
Monádicos, los operadores modales
diádicos forman nuevas declaraciones a partir de
pares de declaraciones. Se han hecho varios intentos
para formalizar un operador modal diádico
"si… entonces", en concreto, se han definido dos (02)
operadores:- Implicación Estricta.
- Vinculación.
En Lógica Clásica, la
fórmula material de implicación P
Q es equivalente por definición a la
negación de la conjunción P
Q, es decir, P implica materialmente Q iff no
se da el caso de que P sea Verdadero y Q Falso, por
otro lado, la fórmula de Implicación
Estricta es: "P implica estrictamente Q", es
equivalente a la imposibilidad de la conjunción
P Q.Reglas
de Interferencia y Axiomas Lógicos Modales
Particulares:La Lógica Proposicional Modal Alezeia
incluye:- Toda la maquinaria de lógica,
Proposicional Clásica empleada para incluir
los símbolos: y
. - La definición DF1
anterior. - Algunas reglas adicionales de inferencia y
axiomas lógicos.
En este punto, describiremos una regla de
inferencia y un axioma lógico que se encuentran
en muchos sistemas modales básicos, más
adelante, se describirán algunos axiomas
lógicos adicionales que pueden añadirse a
los sistemas de lógica modal para producir
ampliaciones en aplicaciones concretas.La regla descrita se llama "Regla de
Gödel (1933) o Regla de Necesidad", esta regla es
apropiada para la mayoría de los sistemas
modales, puesto que recoge la noción de que si
algo es lógicamente Verdadero, entonces, es
necesariamente Verdadero.Puesto que la mayoría de los sistemas
modales tratan solamente de mundos posibles que son
también lógicamente posibles la Regla de
Gödel se encuentra o puede demostrarse en la
mayoría de los sistemas modales, la Regla puede
definirse como sigue a continuación: "de ├
P inferir P.Esta regla significa que, si "P" es un teorema
del sistema modal que se está usando, es decir,
un axioma lógico del sistema modal, entonces
P es también un teorema,
adviértase que esto no significa que, si "P" es
un axioma propio de alguna teoría modal "T", entonces
P es también un teorema de "T".
Además, de la regla de inferencia anterior,
muchos sistemas modales incluyen el siguiente axioma
lógico:ALM: [P Q]
[ P Q]Es decir, si es necesario que cada vez que "P"
sea Verdadero "Q" sea también Verdadero, se
deduce que, si "P" es necesario, entonces Q
también lo es. El axioma ALM se obtiene de
nuestra comprensión intuitiva acerca de la
noción de necesidad.Axiomas Lógicos Adicionales para
Sistemas Modales Particulares:Los sistemas modales básicos pueden
ampliarse mediante la adición de axiomas
lógicos, al añadir estos axiomas, se
incrementa el número de deducciones que pueden
hacerse en sus teorías. Los axiomas descritos a
continuación se relacionan con las diversas
propiedades de la relación de accesibilidad, por
consiguiente, pueden añadirse, como se requiera,
a un sistema modal básico para construir un
sistema que sea más apropiado a una
aplicación dada.Por ejemplo, si la aplicación tiene una
relación de accesibilidad reflexiva y
transitiva, pero no simétrica, entonces se puede
construir un sistema modal apropiado a partir de un
sistema modal básico junto con los axiomas AL1 y
AL2 siguientes:- Si "R" es reflexiva, entonces el siguiente
axioma es apropiado: AL1: P P, es
decir, si P es Verdadera en algún
mundo w, entonces "P" es Verdadera en w, puesto que w
es accesible desde sí mismo. - Si "R" es transitiva, entonces es apropiado
el siguiente axioma: AL2: P
P, es decir, si "P" es Verdadera en
todos los wj que son accesibles desde
algún mundo wi, entonces "P" es
Verdadera en todos los mundos, wk, que
sean accesibles desde wj. - Si "R" es simétrica, entonces el
siguiente axioma es apropiado: AL3: P
P, esto significa que, si "P" es
Verdadera en algún mundo w, entonces
"P" es Verdadera en todos los mundos que
sean accesibles desde w.- AL1: P P.
- AL2: P
P.
- Si "R" es una relación de
equivalencia, entonces son apropiados los siguientes
axiomas:
El siguiente ejemplo se refiere a mundos
accesibles temporalmente, de acuerdo a nuestra
definición anterior de posibilidad temporal, la
relación "R" de accesibilidad es en este caso
reflexiva y transitiva. Veremos más adelante que
ésta no es la única
caracterización de "R" para la lógica
temporal, sin embargo, por simplicidad, aceptaremos que
es adecuada para los propósitos
actuales.Puesto que "R" es reflexiva y transitiva, es
apropiado usar los axiomas: AL1 y AL2 de antes, sin
embargo, como "R" no es simétrica ni es una
relación de equivalencia, no es apropiado usar:
AL3 o AL4. Como ilustración, considérese
una teoría modal "T" que contiene los siguientes
axiomas propios:- AP1: John Smith está
vivo. - AP2: John Smith
está muerto. - AP3: [John Smith
está muerto John Smith
está muerto]. - AP4: [John Smith
está vivo John Smith
está muerto]. Este podría leerse como
"en todos los mundos que sean accesibles desde el
mundo actual, si John está vivo, entonces John
Smith no está muerto".
Como ya se mencionó, puesto que la
relación de accesibilidad que estamos aceptando
es reflexiva y transitiva, los axiomas: AL1 y AL2
pueden usarse, añadiéndolos a la
maquinaria de la lógica Proposicional, cuando se
demuestran teoremas en "T".Sintaxis de un Lenguaje de Lógica
Proposicional Modal:La siguiente gramática independiente del
contexto define la sintaxis de un ejemplo de un
lenguaje de lógica Proposicional modal,
llamaremos a este lenguaje "L3":terminales = {p, q, r, s,…, ,
, [, ], }wff :: = wff wff
wff wff formula
atómicafórmula atómica ::= p q
r s,…Las fórmulas atómicas de L3 se
representan usando letras tales como: p, q, r, o series
de caracteres, si "P" y "Q" son wffs, entonces las
siguientes abreviaturas se definen también para
L3:- P Q para [ P
Q]. - P Q para P
Q. - P Q para [P Q]
[Q P]. - P para
P. - P Q para [P
Q].Como ejemplo, considérese las
siguientes wffs de L3, en las cuales las series de
caracteres se usan para representar fórmulas
atómicas:- [la luna está hecha de
queso verde v la luna no está hecha de
queso verde], leído como "es
necesariamente Verdadero que la luna esté
hecha o no de queso verde". - todos los triángulos tienen tres (03)
lados, leído como "es necesariamente
Verdadero que todos los triángulos tengan
tres (03) lados". - [[John tiene un hijo
John es varón] John es padre],
leído como "es necesariamente Verdadero
que si John tiene un hijo y John es varón,
entonces John sea padre". Adviértase que
esta fórmula puede volver a escribirse
como: [John tiene un hijo John es
varón] John es padre. - [Reagan nació en
Francia Reagan habla francés],
leído como "es posible que si Reagan
hubiera nacido en Francia hablaría
francés". - [Reagan habla francés
Reagan habla francés en La Casa
Blanca], leído analógicamente en el
punto anterior. - [N es divisible por 8
N es divisible por 4], leído como "es
necesariamente Verdadero, es decir, Verdadero en
todos los mundos posibles, que si N es divisible
por 8, entonces N sea divisible por
4". - [N es divisible por 4
N es divisible por 2], leído como "es
necesariamente Verdadero que si N es divisible
por 4 entonces N sea divisible por
2".
- [la luna está hecha de
- P Q para [P
Q].
Los operadores modales: , ,
y y los juntores modales: ,
, , no son funcionales de
verdad como son los operadores: , ,
, , , por ejemplo, dado el
valor de verdad de "P", no se puede determinar, en
general, el valor de verdad de "P", sin
embargo, algunos valores de verdad se pueden determinar
como se ilustra en las siguientes tablas de verdad, en
las cuales "I" significa "Indeterminado".P
P
P
P
PΤ
Τ
I
I
I
I
I
I
P
Q
P
QP
QP
QP
QΤ
Τ
Τ
I
I
Τ
I
I
Τ
I
I
I
I
I
I
I
Estas tablas nos dicen, por ejemplo,
que:- si "P" es Verdadero entonces "P"
es Verdadero, es decir, si "P" es Verdadero, entonces
"P" es Verdadero en algún mundo
posible. - Si "P" es Falso entonces "P" es
Falso, es decir, si "P" es Falso entonces no puede
ser necesariamente Verdadero en todos los mundos
posibles.
Estas tablas suponen una relación de
accesibilidad reflexiva.Reglas de
Equivalencia:A fin de regularizar las fórmulas
modales para su procesamiento ulterior, se pueden usar
las siguientes reglas de equivalencia además de
las definiciones de abreviaturas dadas
antes:- P Q [P
Q]. - P Q [P
Q]. - P P
P. - P P
P.
Por ejemplo: P P Q, puede
reemplazarse por: [P [P
Q]].Sistemas de Axiomas Modales de
Lewis:En esta subsección, se describen cinco
(05) sistemas diferentes de lógica modal; estos
sistemas que llamaremos: S1, S2, S3, S4 y S5, fueron
definidos por Lewis (1918 y 1932).Un Método basado en
Resolución para Lógica
Modal:El método de resolución para
hacer deducciones en lógica Proposicional
clásica se ha extendido para uso en
lógica Proposicional modal por Farinas del Cerro
(1982), el método es bastante complejo y no es
comentado en este informe.Lógica Modal de
Predicados:El Sistema de Axiomas Barcan
(1946):Este sistema contiene S2, excepto para el
axioma P P, junto con los
siguientes esquemas de axiomas:- AS1: X [P
Q] [ XQP
XQ]. - AS2: P XP,
donde: "X" no es independiente en "P". - AS3: XP
X P.
Las reglas de Inferencia son:
- R1: modus ponens para
implicación estricta. - R2:
conjunción. - R3: sustitución
uniforme. - R4:
generalización.
De PX inferir: XPX, donde "X" es
independiente en "P". El axioma AS3, al que se conoce
como "fórmula Barcan", ha sido muy discutido en
la literatura técnica debido a
ciertas ejemplificaciones de ella. La fórmula
Barcan puede leerse como: "si es posible que exista una
entidad "X" tal que P (X) sea Verdadero, entonces esto
implica que existe una entidad para la cual P (X) es
posiblemente Verdadera".La siguiente ejemplificación
contraintuitiva se da en Marciszewski (1981), de
acuerdo a la fórmula Barcan, si es posible que
la 1era. presidenta de Francia sea rubia, esto implica
que existe alguien que sea posiblemente la 1era.
presidenta de Francia, tal conclusión
existencial es un resultado no deseable, puesto que
podemos percibir fácilmente un mundo en el que
la posible futura presidenta de Francia no haya nacido
todavía. Hay una manera de sortear este
problema:- Aceptamos que la fórmula Barcan es
válida en sistemas modales en los cuales todos
los mundos posibles tengan el mismo dominio de entidades. - En sistemas modales en los que mundos
posibles tengan diferentes dominios de entidades,
debemos usar una lógica modal de predicados en
la cual la fórmula Barcan no pueda ser
obtenida.
Sistema de Prior (1956) para
Lógica Modal de Predicados:Es una axiomatización del tipo
Gödel de S5 junto con dos (02) reglas para
cuantificadores tomadas de Lukasiewicz (1951), el
sistema completo contiene:- Cualquier axiomatización completa de
lógica Proposicional
clásica. - Estos axiomas adicionales para conceptos
modales:
- AS1: [P
Q] [ P
Q]. - AS2: P
P. - AS3:
P
P.
- La regla de inferencia de Gödel es:
"R1: de ├ P inferir ├
P. - Reglas de Lukasiewicz para la
cuantificación: "R2: de├ [P Q]
inferir├ [ X [P Q], donde "X"
no es independiente en "Q". "R3: de ├ [P
Q] inferir ├ [P
XQ]. - La definición: "D1: P para
P.
Por tanto, se puede considerar que el sistema
de Prior contiene el sistema "M" ampliado a S5 mediante
la adición del axioma: P
P. junto con las
reglas para la cuantificación dadas antes. La
fórmula Barcan es obtenible en el sistema de
Prior, pero no lo es si el sistema está
restringido de tal manera que sólo las
fórmulas cerradas estén
permitidas.Enfoque Semántico de Kripke
(1963) para la Lógica Modal de
Predicados:En este enfoque, cada mundo posible es una
interpretación de una teoría en el
sentido usual de la palabra "interpretación",
sin embargo, hay una restricción que consiste en
que todos los mundos posibles que sean accesibles desde
un mundo concreto deben contener el mismo conjunto de
entidades y deben concordar en sus asignaciones de
entidades a constantes. Esta restricción
significa que mundos posibles que sean accesibles desde
un mundo concreto sólo difieren en las
relaciones de las cuales las entidades forman parte. El
siguiente punto discute las Lógicas Temporales,
se describe una lógica epistemológica que
puede dar cabida a declaraciones tales como: John
conoce "P".Lógica
Temporal:En el informe elaborado hasta ahora, no hemos
considerado en realidad estructuras relacionales que
varíen con el tiempo, se han desarrollado varios
enfoques para tratar con el tiempo: algunos implican
ampliaciones a lógicas clásicas, otros
implican varios tipos de lógica modal, y uno
(01) o dos (02) se basan en lógica intencional.
En este apartado, describiremos algunos de los 1eros.
dos (02) tipos.Adaptación del Tiempo en la
Lógica Clásica de Predicados de 1er.
Orden:Esta lógica puede usarse para razonar
acerca del tiempo, considerando que los tiempos
puntuales son como todas las otras entidades en el
dominio de una estructura relacional, Lundberg (1982)
ha descrito una lógica basada en este
enfoque.Los tiempos puntuales se relacionan entre
sí mediante predicados de la misma manera que se
relacionan otras entidades, por ejemplo, Lundberg
define dos (02) predicados:- et.
De tal manera, que et (t1, t2) significa
que t2 es el sucesor inmediato de t1, las
propiedades de las relaciones ET y SS que
están representadas por los predicados: et y
ss, se expresan en un lenguaje de 1er. orden
definido apropiadamente como se ilustra en los
siguientes ejemplos:- x y [et (x, y)
tpt (x) tpt (y)]: donde
tpt (x) significa que "x" es un tiempo
puntual. - x y [et (x, y)
(x = y) et (y, x)
tpt (x) tpt
(y)]: esto puede leerse como: "para dos
(02) tiempos puntuales cualquiera, o bien uno es
anterior al otro o son
idénticos". - x y [et (x, y)
et (y, z)] et (x, y):
esto declara que "et" es transitivo. - x y [et (x, y)
et (y, x)]: esto
declara que, si un tiempo puntual es anterior a
otro, entonces el contrario no puede
cumplirse.
- x y [et (x, y)
- ss.
Estos ejemplos son versiones ligeramente
modificadas de las dadas en Lundeberg. A fin de
describir aspectos de las relaciones de tiempo
variable, los predicados "n-arios" son reemplazados por
predicados /n + 1)-arios, donde el argumento (n +
1)-ésimo es un tiempo puntual.Por ejemplo, la afirmación "la edad de
una entidad nunca decrece" puede expresarse como sigue:
v w x y z
[edad (x, y, z) edad (x, w, v) et (z,
v)] menos que (w, y). Este enfoque es
similar al empleo de marcadores de situación en
lógica de situaciones, como se describió
antes y sufre también el mismo problema de
armadura ya discutido anteriormente.Lógicas Temporales basadas en
Modalidad:Se han desarrollado muchas lógicas
temporales basadas en nociones de lógica modal,
por ejemplo, en una lógica temporal
relativamente sencilla, "siempre" y "a veces" se
definen análogamente a "necesario" y "posible"
en lógica modal. Las siguientes fórmulas
se incluyen generalmente como teoremas de tales
lógicas:- siempre q a veces q.
- siempre q q.
- q a veces q.
- a veces q siempre
q..
Las modalidades "siempre" y "a veces" pueden
aumentarse con otras modalidades tales como "P" para
Pasado y "F" para Futuro, las lógicas
resultantes se llaman a menudo lógicas de
tiempos (verbales). Ejemplos de fórmulas de
tales lógicas son:- (llueve): significa
está lloviendo. - P (llueve): significa
llovió. - PP (llueve): significa
había llovido. - F (llueve): significa
lloverá. - FP (llueve): significa
hubiera llovido.
Se pueden definir otras modalidades en
función de: "P" y "F", por ejemplo:- Hq P
q: significa siempre se ha dado el caso de
que "q". - Gq F
q: significa siempre se dará el caso
de que "q".
La relación en "H" y "G" y
«siempre» puede expresarse como
sigue:siempre q Hq
q GqLógica de Tiempos Proposicional
Mínima (K. T.):Lemmon (1965) ha desarrollado un sistema
axiomático mínimo para una lógica
de tiempos tensa Proposicional simple. El lenguaje de
K. T. consta del lenguaje de lógica
Proposicional, más los operadores: F, P, G y H
con significados dados anteriormente. Los axiomas
lógicos de K. T. incluyen los de lógica
Proposicional, junto con los siguientes:- G [q r] [Gq
Gr]. - H [q r] [Hq
Hr]. - H Gq
q. - G Hq
q.
Las reglas de interferencia son las de
lógica Proposicional clásica
más:- Si "q" es una repetición, inferir
Hq. - Si "q" es una repetición, inferir
Gq.
La lógica de K. T. considera que el
tiempo consta de una secuencia lineal de
estados:Por tanto, a K. T. se le llama "Lógica
Temporal Lineal". Cavali y Farinas del Cerro (1984) han
desarrollado un método de decisión
automatizado (procedimiento de Prueba) para
lógica Proposicional temporal lineal. Su
método se basa en una ampliación del
método de resolución usado en
lógica clásica.Lógicas Temporales de
Ramificaciones:Más que considerar el tiempo como una
secuencia lineal de estados, un enfoque alternativo es
tratar el pasado como una secuencia lineal de estados,
hasta e incluyendo el presente, y tratar el futuro como
una estructura ramificada.Este enfoque da cabida a la noción de
varios "futuros posibles".Lectura Adicional:
En este punto se han descrito brevemente
algunas nociones bastante difíciles:- La Teoría de Tipos.
- Un Lenguaje Teórico de
Tipos. - El Operador Lambda.
- Semántica Coordinada.
- Intenciones y Extensiones.
Debido a las limitaciones de espacio, las
descripciones han sido muy apresuradas, sin embargo,
nos parece que estas nociones son extremadamente
importantes y que al menos es útil introducirlas
a los lectores, para una discusión más
detallada de estos conceptos, remitimos a Dowty y otros
(1981) y Mc. Cawley (1981).I. L. (Intensional Logic / Lógica
Intensional) de Montague:Muchos de los conceptos descritos en este
punto se han usado en una lógica, denominada I.
L, que fue desarrollada por Montague (véase, por
ejemplo, Montague 1973 y 1974). I. L. emplea
jerarquía de tipos, cuantificación de
orden superior (variables y cuantificadores para cada
tipo), abstracción lambda para todos los tipos,
operadores modales, tiempos verbales y mecanismos
sintácticos para tratar con intenciones y
extensiones y emplea una teoría de modelos basada en la semántica
coordinada.La perspectiva del universo que sirve de base
a I. L. considera que la realidad consta de:- Dos (02) valores de verdad.
- Un (01) conjunto de entidades
(E). - Un (01) conjunto de mundos posibles
(W).Un espacio funcional se construye
inductivamente a partir de objetos de estos tipos
básicos, el conjunto de tipos (de objetos y
funciones) se define como se observa a
continuación:- "e" es un tipo, que puede ser
considerado como tipo (entidad). - "t" es un tipo, que puede ser
considerado como tipo (valor de
verdad). - Si (a).- y (b).- son tipos, entonces
<a, b> lo es también. Objetos de
tipos <a, b> son funciones de objetos de
tipo a los de tipo b. - Si a es un tipo, entonces <s, a>
lo es. Objetos de tipo <s, a> son funciones
de índices a objetos de tipo a. los
objetos de "tipo" se llaman índices, y son
pares <w, t> donde: w W y t
T. Los objetos de tipos <s, a> son
funciones especiales que se relacionan con
intenciones.
- "e" es un tipo, que puede ser
- Un (01) conjunto de puntos en el tiempo
(T).
Tipos de
Lógica:- Logical Comparison
(Comparación Lógica):
operación que tiene por objeto probar dos (02)
operandos con el fin de determinar su igualdad o el valor de cada uno de
ellos respecto al otro. - Logical Connectives (Operadores
Lógicos): operadores o palabras, tales
como: And (Y), Or (O), Or Else (O Si, No), If Then
(Si Entonces), Neither Nor (Ni Tampoco) y Except
(Salvo, Excepto) que forman nuevas afirmaciones o
expresiones partiendo de afirmaciones dadas, y que
tienen la propiedad de que la verdad o la falsedad de
las nuevas afirmaciones pueden calcularse tomando
como base la verdad o la falsedad de las afirmaciones
dadas y el significado lógico del
operador. - Logical Data (Datos
Lógicos): datos que constan de
códigos de caracteres numéricos o
alfabéticos y pueden aparecer en forma de
octetos de longitud fija o de longitud variable,
ocupando desde 1 a 256 octetos. Carecen de
signo. - Logical Decision (Decisión
Lógica): opción o posibilidad
de elección, entre dos (02) alternativas que
se refieren a determinadas condiciones, por ejemplo,
podría tratarse de dos (02) vías
alternativas de elección en una rutina, en las
cuales cada una de ellas conduce a un resultado
diferente. - Logical Depth (Profundidad
Lógica): profundidad lógica
de un miembro estructural indicada por un
número de nivel cuando todos los
números de nivel se hallan en secuencia
directa, es decir, cuando el incremento entre
números de nivel sucesivos es uno (01)
(PL/I).- Logic Design (Concepción
Lógica, Diseño
Lógico): especificación de
las relaciones de trabajo existentes entre las
partes que integran un sistema, expresadas en
términos de lógica y sin atender
especialmente a la implementación de los
componentes físicos.
Planificación y
determinación de las funciones
lógicas que se incorporarán en un
sistema de ordenador, previas a su diseño
técnico. - Logic Design (Concepción
- Logical Design / Logic Design
(Estructura Lógica):
configuración funcional de una
máquina y en particular de un
ordenador.Diagrama que, mediante símbolos
gráficos, representa
elementos lógicos y sus interconexiones,
excluyendo los detalles técnicos o de
construcción. - Logical Diagram / Logic Diagram
(Diagrama de Lógica, Diagrama
Lógico): diagrama que representa un
diseño o concepción lógicos y,
a veces, la implementación de los
componentes físicos.En un ordenador o sistema de proceso de
datos, elemento modular más pequeño
susceptible de representarse por medio de
operadores lógicos en un sistema apropiado
de lógica simbólica. La puerta "Y"
lógico (And) y la puerta "O" lógico
(Or) son elementos lógicos
característicos: pueden representarse como
operadores en una lógica simbólica
adecuada. - Logical Element / Logic Element
(Elemento de Lógica, Elemento
Lógico): dispositivo que realiza una
función lógica (ver Combinational Logic
Element / Combinación de Elementos de
Lógica y Sequential Logic Element / Secuencia
Lógica de Elementos). - Logical Expressions (Expresiones
Lógicas): expresiones formadas por:
constantes, variables, elementos de matrices, referencias de
función lógicas y combinaciones de
estos operandos, separadas por: operadores
lógicos y por paréntesis. Una
expresión lógica puede contener
expresiones aritméticas separadas por
operadores de relación y separadas de los
demás elementos especificados por operadores
lógicos y paréntesis, puede asumir
solamente uno (01) entre dos (02) valores:
Verdadero o Falso.Fichero de datos que se ha descrito al S.
O. Básico mediante el empleo de una
macroinstrucción del D. T. F. (Define The
File / Definición de Ficheros).
Obsérvese que un fichero de datos se
describe al S. O. valiéndose de un
método de definición diferente. Las
publicaciones que tratan del S. O. hacen referencia
a un fichero de datos descrito de esta otra forma
denominándolo conjunto de datos (data
set). - Logical File (Fichero
Lógico): colección formada por
uno (01) o más registros lógicos. - Logical Flowchart / Logic Flowchart
(Ordinograma Lógico, Diagrama de Flujo
Lógico): diagrama que representa una
serie de operaciones que indican la
lógica que ha de seguirse para ejecutar un
determinado trabajo, comprende: la entrada, las
operaciones aritméticas y lógicas y la
salida, así como su interrelación con
las unidades físicas que sirven de
vehículo de ejecución. - Logical Functions (Funciones
Lógicas): nombre con que se denomina a
las etapas no aritméticas del proceso de
datos, tales como: la comparación de
operandos, la edición y la
comprobación. - Logical Input / Output Control System (Sistema de Control de
Entrada / Salida Lógico): juego completo de macros y rutinas que se facilita con
destino a la creación, recuperación y
actualización de los ficheros de
datos - Logical Instruction / Logic
Instruction (Instrucción
Lógica): instrucción que
ejecuta una operación que está definida
en lógica simbólica, tal como: "Y"
lógico (And), "O" lógico (Or) o Ni
(Nor). - Logical I. O. C. S. / Logical Input /
Output Control System: a. - Logical Multiply (And):
a.Método por el que se combinan dos o
más sentencias, a fin de que pueda
determinarse si el valor resultante es Verdadero o
Falso. - Logical Operation / Logic Operation
(Operación Lógica): tipo de
operación en el que los caracteres se tratan
considerándolos, no como números,
sino como: caracteres, bits, valores Verdaderos /
Falsos, entre otros.Símbolo matemático que
representa un proceso que ha de efectuarse con un
operando asociado. - Logical Operator (Operador
Lógico): en programación, operador que
indica la relación existente entre las dos
(02) partes de una instrucción
lógica.Registro que se identifica o define en
razón de su contenido, función y uso,
más que desde el punto de vista de sus
atributos físicos, es decir, aquel registro
que se define en función de la
información que contiene. Estos registros
difieren, en tamaño, de los registros
físicos en que están
contenidos.Conjunto de caracteres próximos,
que el programa de Clasificación / Fusión (Sort / Merge) procesa
considerándolos como una (01) sola
unidad. - Logical Record (Registro Lógico):
colección de unidades de información, consideradas
independientemente de su configuración
física. - Logical Shift (Desplazamiento
Lógico): desplazamiento que afecta a
todas las posiciones (véase: Cyclic Shift y
Logic Shift). - Logical Sum (Suma
Lógica): resultado de la
operación "O" inclusivo, ver hasta Or
(O).Símbolo que se usa para representar
un operador o elemento de conexión
lógico. Este signo indica la
operación concreta que ha de efectuarse en
las variables asociadas. - Logical Symbol / Logic Symbol
(Símbolo Lógico):
símbolo que se emplea para representar
gráficamente un elemento
lógico. - Logical Unit Block (Bloque de Unidad
Lógica): denominación con que
se designa cada una de las entradas o inscripciones
contenidas en la tabla de unidades
lógicas. - Logical Unit Table (Tabla de Unidades
Lógicas): parte del monitor (básico). Consta de
bloques de unidades lógicas, cada uno de los
cuales hace referencia a una determinada
dirección simbólica de Entrada / Salida
y contiene la dirección de un bloque de unidad
física. Estas direcciones simbólicas
guardan relación con las direcciones
físicas de los dispositivos de Entrada / Salida por
medio de las sentencias de control Assgn.
Lenguajes
de Programación y Procesamiento del
Conocimiento:Introducción:
Nos ocuparemos en esta parte del empleo de
lenguajes de programación
para:- Representar conocimiento.
- Expresar órdenes para manipular
conocimiento.
La distinción no es fundamental puesto
que se puede considerar que los programas en sí mismos
constituyen conocimiento, sin embargo, es útil
distinguir entre escribir declaraciones que digan a un
ordenador algo y escribir órdenes imperativas
que digan a un ordenador que haga algo. Se supone que
el lector está familiarizado con al menos un
lenguaje
de programación de alto nivel y que tiene
nociones de cómo se pueden traducir lenguajes de
programación a códigos ejecutables, sin
embargo, a título recordatorio, comenzamos dando
algunas notas sobre gramáticas y traductores, y
mostramos después cómo se pueden definir
las semánticas de lenguajes de
programación.A esto sigue una exposición de varios
términos que se usan comúnmente para
describir lenguajes de programación, por
ejemplo: procesal, declarativo, funcional, consulta de
bases de datos, programación lógica, etc.
La mayoría de estos términos están
definidos con mucha imprecisión en el lenguaje
técnico, sin embargo, sirven para dar el
"perfume" de un lenguaje. Concluimos este punto
exponiendo tres (03) lenguajes particularmente
importantes en el trabajo de sistemas de bases de
conocimiento:- LISP.
- PROLOG.
- PS_algol.
La habilidad para diseñar lenguajes y
escribir traductores es muy útil para todo aquel
que desee embarcarse en una carrera relacionada con
sistemas de bases de conocimiento. Las notas que
constituyen este punto son por supuesto comprensibles y
deberían ser consideradas como
instrucción a los temas de los que se ocupan. Se
incluyen referencias del material aconsejable para una
lectura más detallada. Empezamos
exponiendo la sintaxis de los lenguajes de
programación.Sintaxis:
Un lenguaje está definido por su
sintaxis y su semántica. La sintaxis consta de
reglas para determinar qué secuencias de
símbolos son sentencias "bien definidas" del
lenguaje y cuáles no. La semántica de un
lenguaje consta de reglas para atribuir significado a
sentencias bien formadas, por ejemplo, se podría
tener un lenguaje L3 que estuviera definido por la
sintaxis y semántica siguientes:- Sintaxis de L3: las
sentencias bien formadas de L3 constan de un
símbolo entero o un símbolo entero
seguido de «+» seguido de un
símbolo entero, por ejemplo, lo siguiente son
sentencias bien formadas de L3:
- 3.
- 3 + 2.
- 17.
- Semántica de
L3:
- Un símbolo entero representa un
entero. - Una sentencia bien formada de la forma:
símbolo ent. -1 + símbolo ent. -2;
representa el entero que es la suma de enteros
representada por: símbolo ent. -1 y
símbolo ent. -2.
Un problema con tales definiciones informales
de sintaxis y semántica es que son muy erradas,
por lo tanto, se las puede interpretar incorrectamente.
Además, puesto que las reglas de sintaxis no
están especificadas en un formato
estándar es difícil diseñar
procesos de propósito general
mediante los cuales las reglas de sintaxis puedan ser
transcritas a programas para comprobar
automáticamente una sentencia a fin de ver si
está bien formada.Se introducen en este apartado algunas
técnicas para la
especificación formal de reglas de sintaxis de
una clase particular de lenguajes, llamados lenguajes
independientes del contexto, se muestra también
la forma de poder usar estas especificaciones
formales para reconocer manualmente sentencias que
estén bien formadas. Por último, se
muestra la manera de poder transcribir las
especificaciones formales de las reglas de sintaxis a
programas que realicen automáticamente la tarea
del reconocimiento.Gramáticas Independientes del
Contexto:Una gramática es un conjunto de reglas
que determinan qué secuencias de símbolos
son sentencias bien formadas del lenguaje definido por
la gramática.Proposición de
Reconexión:Para pasar un registro de tipo <tipo de
registro> de una ocurrencia de un conjunto a otra
ocurrencia del conjunto de tipo <tipo de
conjunto> es preciso localizar el registro apropiado
y al dueño de la ocurrencia de conjunto a la que
se transferirá ese registro. Una vez hecho esto,
puede transferir el registro ejecutando el comando:
reconnect <tipo de registro> to <tipo de
conjunto>.Para dar un ejemplo se escribirá un
programa en DBTG para pasar todas las cuentas de
Lowman, que actualmente están en la sucursal
Hillside, a la sucursal Valleyview:cuentahabiente.nombre: = "Lowman";
find any cuentahabiente Using
nombre;find first cuenta within CthabCta;
while DB-status = 0 do
begin
find owner within SucCta;
get sucursal;
if sucursal.nombre= "Hillside"
thenbegin
sucursal.nombre: = "Valleyview";
find any sucursal using nombre;
reconnect cuenta to SucCta;
end
find next cuenta within CthabCta;
end
Inserción y Retención de
ConjuntosCuando se define un conjunto nuevo es
necesario especificar la forma en que se van a insertar
los registros miembros, además, deben aclararse
las condiciones bajo las cuales los registros deben
retenerse en la ocurrencia de conjunto en la que se
insertaron inicialmente.Inserción en Conjuntos:
Un registro recién creado, del tipo
<tipo de registro>, de un conjunto de tipo
<tipo conjunto>, puede agregarse a una ocurrencia
del conjunto, ya sea en forma explícita
(manualmente) o implícita
(automáticamente). Esta distinción se
establece en el momento de definir el conjunto
mediante: insertion is <modo de
inserción>; donde <modo de
inserción> puede ser:- Manual: el registro nuevo
puede insertarse en el conjunto manualmente
(explícitamente) ejecutando el comando:
connect <tipo de registro> to <tipo de
conjunto>. - Automático: el
registro nuevo se inserta automáticamente
(implícitamente) en el conjunto en el momento
en que se crea, es decir, cuando se ejecuta el
comando: store <tipo de conjunto>.
En ambos casos, inmediatamente antes de la
inserción, el apuntador de actualidad de
<tipo de conjunto> debe estar apuntando a la
ocurrencia de conjunto en la cual se hará la
inserción. Para ilustrar este procedimiento,
considérese la creación de la cuenta 535
que pertenece a Lowman y que está en la sucursal
Valleyview. Supóngase que la inserción es
manual para el tipo de conjunto CthabCta
y automática para el tipo de conjunto SucCta, el
programa en DBTG apropiado será:sucursal.nombre: = "Valleyview";
find any sucursal Using nombre;
cuenta.número: = 535;
cuenta.saldo: = 0;
store cuenta;
cuentahabiente.nombre: = "Lowman";
find any cuentahabiente using
nombre;connect cuenta to CthabCta;
GLOSARIO DE
TÉRMINOS– L –
- Log (Anotación
Cronológica, Registro
Cronológico): anotación de todo
lo relativo a una pasada de máquina,
incluyendo la identificación de la propia
pasada, el registro de las alteraciones, las
posiciones de los interruptores, la
identificación de las cintas de entrada y de
salida, la copia de las informaciones introducidas
por teclado, la identificación de
todas las paradas y el registro de las medidas
adoptadas en todas las paradas. - Logarithm (Logaritmo):
logaritmo de un número es el exponente que
indica la potencia a la que es preciso elevar un
número dado, llamado base, para obtener el
número original. - Log Book (Libro-Registro, Diario de
Operaciones): diario en el que se anotan los
datos más destacados de las actividades que
tienen lugar en el curso de la utilización de
un sistema. - Logger (Registrador
Cronológico Automático):
dispositivo que registra automáticamente los
procesos físicos en función del
tiempo. - Logging (Anotación de
Errores): acción mediante la cual se
transcriben automáticamente al registro de
anotación de errores (Log) todas las
condiciones anormales de proceso que generan un error
(ver Log, Failure Logging). s - Logic (Lógica):
ciencia que trata de las leyes y criterios de validez que rigen
el pensamiento y la demostración;
ciencia de los principios formales del
razonamiento.
Principios básicos y aplicaciones de
las tablas de verdades, de las relaciones de
proposiciones, de las interrelaciones de los
elementos de los circuitos de
conexión-desconexión, etc., en el
cálculo matemático realizado mediante
un ordenador (ver: Formal Logic y Symbolic
Logic).Plan sistemático que define las
interacciones de las señales en el diseño de
un sistema automático de datos.- Log (to) (Anotar, Consignar,
Registrar): imprimir o uno (01) o más
valores, los valores podrían ser los valores
instantáneos de variables o los valores medios
o calculados. - Longitudinal Check
(Verificación Longitudinal,
Comprobación Longitudinal): sistema de
control de errores que se basa en la
comprobación de que se cumplan ciertas reglas
para la formación del grupo de bits que ocupan el mismo
orden numérico en todos los caracteres de un
bloque.
- Longitudinal Parity Check
(Verificación de Paridad
Longitudinal): el terminal de la línea
de datos del extremo emisor genera un carácter de paridad
longitudinal durante la transmisión de los
caracteres de datos, se trata, esencialmente, de una
cuenta de verificación de la paridad par de
todos los bits, en cada uno de los niveles de bit, de
todos los caracteres de datos del mensaje, incluyendo
el código de principio de mensaje,
pero no el código de fin de mensaje. Esta
misma cuenta también se genera para los bits
de los caracteres de datos que entran en el terminal
de la línea de datos del extremo
receptor. - Longitudinal Redundante (Redundancia
Longitudinal): condición en la que los
bits de cada pista o cada hilera de un registro no
totalizan un número par o impar. Este
término se emplea, generalmente, para
referirse a los registros grabados en cinta
magnética. Un sistema puede tener paridad
longitudinal par o impar.
– S –
- Subgrafo: es un conjunto de
puntos de entre el total de los puntos del grafo de
una
red junto con los arcos que los unen.
Autora:
Emily
Venezuela
- Bracchi, Paolini y Pelagatti
(1978): discuten la integridad semántica
en relación al tópico principal de
transformación de perspectivas externas en un
modelo de datos común, por esta razón,
limitan su atención a dos (02) tipos de
restricciones:
- Abrial (1974): ha señalado
- porque para examinar los datos en función de la restricción
completa de integridad se podría requerir el acceso a
una posición grande de la base de datos, el sistema
debe ser capaz de optimizarlo. Este problema se puede
explicar de la siguiente forma: dada una restricción,
el sistema debe ser capaz de determinar cuánto
costaría aplicar dicha restricción normalmente,
este costo se
debería estimar cuando las restricciones fueran
formuladas, permitiendo por consiguiente que el usuario
sustituya las restricciones costosas por unas más
baratas.
Página anterior | Volver al principio del trabajo | Página siguiente |