Fundamentos de La Iinteligencia Artificial: Preparación Examen UNED 2024-2025
Fundamentos de La Iinteligencia Artificial: Preparación Examen UNED 2024-2025
IINTELIGENCIA
ARTIFICIAL
PREPARACIÓN EXAMEN
UNED 2024-2025
Contenido
T1 – Perspectiva conceptual. ........................................................................................................................................ 5
1.1. La IA como Ciencia .............................................................................................................................................5
1.2. La IA como Ingeniería ........................................................................................................................................ 5
T2 – Aspectos metodológicos (paradigmas)................................................................................................................. 6
2.1. El paradigma simbólico ...................................................................................................................................... 6
2.2. El paradigma situado ......................................................................................................................................... 7
2.3. El paradigma conexionista ................................................................................................................................. 8
2.4. El paradigma híbrido.......................................................................................................................................... 9
3. Guía práctica para identificar paradigmas y técnicas según el enunciado ........................................................... 9
T3 – Introducción a las técnicas de búsqueda. ...........................................................................................................11
3.1. Conceptos básicos ...........................................................................................................................................11
3.2. Métodos de búsqueda sin información en árboles .........................................................................................11
Búsqueda primero en anchura ...........................................................................................................................11
Búsqueda primero en profundidad ....................................................................................................................12
Búsqueda de coste uniforme ..............................................................................................................................12
Búsquedas en profundidad y anchura iterativas ................................................................................................12
3.3. Métodos de búsqueda sin información en grafos ...........................................................................................12
Algoritmo general de búsqueda en grafos (AGBG) ............................................................................................12
Búsqueda bidireccional.......................................................................................................................................13
T4 – Técnicas basadas en búsquedas heurísticas. ......................................................................................................14
4.1. Búsqueda primero el mejor (BF)......................................................................................................................14
4.2. El algoritmo A* ................................................................................................................................................14
4.3. Búsqueda con memoria limitada .....................................................................................................................15
Algoritmo IDA* (Iterative Deepening A*) ...........................................................................................................15
Algoritmo SMA* (Simplified Memory-Bounded A*) ..........................................................................................15
4.4. Algoritmos voraces ..........................................................................................................................................16
4.5. Algoritmos de ramificación y poda ..................................................................................................................16
4.6. Algoritmos de mejora iterativa o búsqueda local ...........................................................................................16
Algoritmo máximo gradiente..............................................................................................................................16
Temple simulado ................................................................................................................................................17
Búsqueda tabú ....................................................................................................................................................17
T5. Lógica ....................................................................................................................................................................18
5.1 Lógica proposicional (LP) ..................................................................................................................................18
5.2 Lógica de predicados o lógica de primer orden (LPO) ......................................................................................18
5.3 Métodos de inferencia en lógica proposicional y de primer orden .................................................................19
2
1. MÉTODO DEL ÁRBOL SEMÁNTICO (O TABLA SEMÁNTICA) ............................................................................19
2. MÉTODO DE RESOLUCIÓN ..............................................................................................................................20
5.4 Complejidad ......................................................................................................................................................21
5.5 Extensiones de las lógicas clásicas....................................................................................................................21
5.4.1 Lógica modal ..............................................................................................................................................22
5.4.2 Lógicas temporales ....................................................................................................................................22
5.4.3 Lógica borrosa............................................................................................................................................23
T6 - Sistemas Basados en Reglas. ...............................................................................................................................26
6.1 Componentes de un SBR ..................................................................................................................................26
6.1.1 Encadenamiento hacia adelante ...............................................................................................................27
6.1.2 Encadenamiento hacia atrás .....................................................................................................................27
6.1.3 Encadenamiento mixto ..............................................................................................................................28
6.2 Técnicas de equiparación .................................................................................................................................28
6.2.1. -Equiparación con variables......................................................................................................................28
6.2.2 Algoritmo de equiparación RETE ...............................................................................................................29
6.3 Técnicas de resolución de conflictos ................................................................................................................30
6.4 Ventajas e inconvenientes ................................................................................................................................31
T7 – Redes semánticas................................................................................................................................................32
7.1. Representación del conocimiento ...................................................................................................................32
Los arcos en las redes conceptuales (semánticas) .............................................................................................32
Representación de predicados no binarios ........................................................................................................33
Representación de acciones ...............................................................................................................................33
Representación de conocimiento disjunto .........................................................................................................33
7.2. Inferencia de conocimiento .............................................................................................................................34
Equiparación .......................................................................................................................................................34
Herencia de propiedades....................................................................................................................................34
7.3 Ventajas e inconvenientes de las Redes Semánticas .......................................................................................34
T8 – Marcos. ...............................................................................................................................................................35
8.1. Representación de conocimiento ....................................................................................................................35
Representación de conceptos e instancias.........................................................................................................35
Representación de relaciones entre conceptos .................................................................................................35
Representación de las propiedades de los conceptos .......................................................................................36
Representación de facetas de propiedades .......................................................................................................36
8.2. Criterios de diseño ...........................................................................................................................................37
8.3. Inferencia de conocimiento .............................................................................................................................37
1. Equiparación ...................................................................................................................................................37
3
2. Herencia de propiedades................................................................................................................................38
3. Valores activos ................................................................................................................................................39
8.4 Ventajas de Marcos (M) frente a Redes Semánticas (RS) ................................................................................39
4
T1 – Perspectiva conceptual.
La IA tiene dos concepciones claramente diferenciadas, las cuales tienen también sus propios objetivos, métodos y
enfoques diferentes. Por ello cabe distinguir entre:
5
T2 – Aspectos metodológicos (paradigmas).
Se puede considerar un paradigma como una aproximación metodológica a la IA y a la IC que ha sido consensuada
entre un grupo de profesionales del campo que la consideran como la forma normal de hacer ciencia o ingeniería.
Paradigma es sinónimo de forma de abordar un problema. Aplicado a la IC, paradigma es una forma de modelar,
formalizar, programar e implementar físicamente el soporte de esos programas (por ejemplo, en el cuerpo de un
robot).
De forma general, los paradigmas se pueden dividir entre los basados en representaciones y los basados en
mecanismos, aunque aquí vamos a considerar 4 paradigmas distintos:
El paradigma simbólico es especialmente útil para representar conocimiento estructurado y explícito, como las
reglas de diagnóstico, flujos de decisión y tratamiento, que pueden basarse en guías clínicas o protocolos
estandarizados. Este enfoque permite construir un sistema basado en reglas (SBC) o un sistema experto, donde los
hechos (síntomas, resultados de tests) y reglas (relaciones causa-efecto, condiciones) se representan de manera
declarativa. Este tipo de conocimiento es fácil de auditar, modificar y justificar ante profesionales humanos, lo que lo
hace adecuado en aplicaciones médicas y administrativas.
Este paradigma es adecuado para aquellas aplicaciones en las que disponemos de conocimiento suficiente para
especificar reglas inferenciales, y en procesos de aprendizaje inductivo en los que también disponemos de
conocimiento suficiente para especificar las “meta-reglas” que actualizaran nuestra base del conocimiento.
Técnicas asociadas:
Sistemas basados en reglas (SBR): Representan conocimiento mediante reglas "si... entonces..." y aplican
inferencia lógica sobre hechos.
Ejemplo: Diagnóstico médico: si fiebre y tos → sospecha de gripe.
Inferencia lógica (FOL, Prolog, Horn): Deduce nuevos hechos a partir de otros mediante lógica formal.
Ejemplo: En Prolog, a partir de padre(X, Y) y padre(Y, Z) inferir abuelo(X, Z).
Redes semánticas: Estructuran conocimiento en nodos y relaciones jerárquicas.
Ejemplo: Un "canario" es un "pájaro" que es un "animal" → hereda propiedades.
Marcos (frames): Representan entidades con atributos (slots) y valores por defecto.
Ejemplo: Un frame "vehículo" con slots de tipo, ruedas, combustible.
Ontologías: Formalizan conceptos y relaciones dentro de un dominio.
Ejemplo: Ontología médica con conceptos de enfermedades, síntomas y tratamientos.
6
Árboles de decisión: Modelo jerárquico de decisiones basado en condiciones sucesivas.
Ejemplo: Árbol para aprobar examen: ¿Estudiaste? → ¿Dormiste bien? → resultado.
Representación declarativa: El conocimiento se expresa como hechos y relaciones, no como procedimientos.
Ejemplo: Base de datos de hechos en un motor de inferencia.
Otras técnicas son el razonamiento aproximado (modelo bayesiano), razonamiento basado en casos, etc.
Este paradigma asume que el sistema está físicamente acoplado al medio, y que sus decisiones deben tener en
cuenta tanto las percepciones actuales como las capacidades de actuación. Es habitual en contextos de robótica,
pero también en aplicaciones móviles que detectan condiciones del entorno (por ejemplo, mediante sensores de
movimiento, cámara, micrófono, GPS, etc.).
Este paradigma se usa esencialmente en robótica y en aplicaciones en tiempo real simples. Es decir, en ámbitos
donde la interfaz del sistema informático no es humana, sino que intercambia datos con el medio mediante sus
sensores y efectores. Cuando aumenta la complejidad del sistema, se hace necesario utilizar soluciones hibridas,
combinando componentes reactivas (rápidas) con otras deliberativas (lentas).
Técnicas asociadas:
Arquitectura de Subsumption (Brooks): Organiza comportamientos en capas jerárquicas que se inhiben entre
sí.
Ejemplo: Capa "evitar colisión" tiene prioridad sobre "seguir camino".
Planificación adaptativa: Cambia las acciones en función de cambios inmediatos del entorno.
Ejemplo: Drone que modifica su ruta según el viento.
Robótica autónoma: Sistemas que perciben y actúan sin control humano continuo.
Ejemplo: Robot aspirador que limpia según el entorno.
7
2.3. El paradigma conexionista
En este paradigma, la representación del conocimiento se realiza mediante el uso de líneas numéricas etiquetadas
para la entrada y salida de una RNA (red neuronal artificial), y la inferencia se resuelve mediante un clasificador
numérico parametrizado en el que el valor de los parámetros se ajusta mediante aprendizaje.
Un agente conexionista tiene una estructura modular, con un gran número de procesadores elementales (neuronas)
interconectados, los cuales evalúan una función de cálculo local. Sus características distintivas son:
- Todos los problemas resueltos con RNAs se resuelven como un clasificador numérico adaptativo, que asocia
valores de entrada de un conjunto de observables con valores de salida de otro conjunto más reducido de clases.
- Mucho del conocimiento disponible se obtiene de una fase de análisis de los datos, en los que es el observador
externo quien decide cuales van a ser las variables de entrada y salida, el tipo de cálculo local, la estructura interna
en capas de la RNA, etc.
- Hay que tener en cuenta el balance entre datos y conocimiento disponible. Si los datos son etiquetados (se conoce
la respuesta de la red) se usan en aprendizaje supervisado y en una fase final de validación de la red. Mientras que
si son datos no etiquetados, se usan en aprendizaje autoorganizativo (no supervisado), para un preproceso de los
mismos.
- El paradigma conexionista tiene un fuerte carácter numérico. Las salidas numéricas de la RNA se interpretan en
términos de las etiquetas asociadas a las clases de salida.
El paradigma conexionista puede complementar este enfoque cuando se trabaja con grandes volúmenes de datos
no estructurados o semi-estructurados, como imágenes, señales fisiológicas o parámetros numéricos de sensores.
Mediante redes neuronales artificiales (RNAs), es posible entrenar modelos que aprendan patrones a partir de
ejemplos reales y que sean capaces de realizar predicciones en contextos donde el conocimiento explícito no sea
suficiente. Este enfoque es especialmente útil en tareas de clasificación, predicción de riesgos o identificación de
anomalías, y se adapta bien a situaciones donde no es posible definir todas las reglas de forma explícita.
Esta aproximación del conexionismo nos habla de una red de estructura fija, que actúa como un clasificador.
Interpreta el sistema como un mecanismo de adaptación de un agente a su medio, considerando así a la inteligencia
como un medio superior de adaptación, construido sobre otros medios de adaptación más elementales. Se utiliza
cuando no se sabe representar de forma explícita el razonamiento para la solución de un problema, por lo que se
acude a modelos numéricos aproximativos cuyos valores se ajustan a base de la experimentación y el aprendizaje.
Técnicas asociadas:
Redes neuronales artificiales (ANN): Aprenden patrones complejos ajustando pesos sin representación
simbólica.
Ejemplo: Clasificación de imágenes como "gato" o "perro".
Deep learning (aprendizaje profundo): Capta características jerárquicas mediante redes con muchas capas.
Ejemplo: Traducción automática con redes neuronales recurrentes o transformadores.
Perceptrón multicapa (MLP): Red neuronal con capas ocultas entrenada por retropropagación.
Ejemplo: Predecir la probabilidad de enfermedad a partir de datos clínicos.
8
Ejemplo: Clustering de usuarios por comportamiento en una web.
En consecuencia, un enfoque híbrido es el más realista, y también el más habitual en los exámenes. Este tipo de
soluciones aprovecha la robustez y trazabilidad del paradigma simbólico para modelar conocimiento experto, la
flexibilidad del paradigma conexionista para aprender de datos complejos, y la reactividad del paradigma
situado cuando existe una interacción sensorial con el entorno. Esta combinación permite abordar tanto tareas
simbólicas (diagnóstico, explicación, trazabilidad), como adaptativas (clasificación, ajuste de parámetros) y físicas
(interacción con dispositivos o pacientes).
10
T3 – Introducción a las técnicas de búsqueda.
En IA, la resolución de problemas y búsqueda se refiere a un conjunto de técnicas y métodos que se utilizan en
diferentes dominios de aplicación, como la deducción, la elaboración de planes de actuación, razonamientos, etc.
12
el caso de ya haber sido expandido con anterioridad, y también se aplica recursivamente a todos los sucesores de s,
como por ejemplo un nodo q, porque puede que también mejore su camino de coste mínimo al nodo inicial pasando
por n y por s. De esta forma, en la TABLA_A se registrara el mejor camino obtenido hasta el momento desde el
nodo inicial a cada uno de los nodos encontrados durante la búsqueda en el punto actual.
La estrategia de control del AGBG queda definida por la forma de ordenar la lista ABIERTA de nodos candidatos a
ser expandidos. Así, si ordenamos la lista insertando los nuevos nodos al principio de abierta (pila) tendremos una
búsqueda en profundidad. Si ordenamos la lista insertando los nuevos nodos al final (cola), tendremos una
búsqueda en anchura. Y por último, si ordenamos la lista ABIERTA mediante el coste de cada nodo al inicial, de
menor a mayor, se obtiene una búsqueda de coste uniforme.
Cuando se genera un nodo se pueden dar tres situaciones:
Al expandir el primer nodo de ABIERTA n y generar sus hijos q puede ocurrir:
Primer caso: que q no estuviera en TABLA_A, es decir, es un nodo nuevo. Hay que meterlo en TABLA_A,
marcar n como su mejor padre y calcular g(q) = g(n)+coste(n,p). Se le asigna h(q) y se almacena en
ABIERTA ordenado por su f(q) = g(q)+h(q).
Segundo caso: si q estaba en TABLA_A pero su lista de hijos está vacía, es que había sido generado pero
no expandido. Hay que estudiar si hay que rectificar g(q) por si el nuevo camino fuera mejor que el actual. Si
mejora, hay que considerar a n como nuevo padre y actualizar f(q).
Tercer caso: si q estaba en TABLA_A y su lista de hijos no estaba vacía, entonces ya había sido expandido
anteriormente. Hay que ver si hay que rectificar su valor de g(q) pero también ver si hay que rectificar el de
sus hijos.
En todo caso hay que incluir en TABLA_A que q es hijo de n.
Los valores de g pueden cambiar durante el proceso de búsqueda, pero los de h no, los da el heurístico. A* ordena
ABIERTA según el orden de f = g + h.
Búsqueda bidireccional
La idea de este algoritmo consiste en buscar simultáneamente en dos direcciones: por un lado, hacia delante desde
el nodo inicial a los nodos objetivos, y por el otro lado, hacia atrás, desde los nodos objetivo hasta el nodo inicial. La
búsqueda se detendrá cuando las listas ABIERTA de ambos recorridos tengan algún nodo en común. Esto consigue
que el tiempo de ejecución, en lugar de ser exponencial en relación a una profundidad d, lo sea en relación a una
profundidad d/2, lo que supone una mejora.
Sin embargo, hay varios factores que condicionan esta mejora. Por un lado, hay que tener claro cuántos y como son
los estados objetivo, puesto que si son muchos, la mejora de eficiencia deja de ser cierta. Por otro lado, hay que
considerar si los operadores son bidireccionales, puesto que si no lo son, a veces resulta difícil decidir cuáles son
los sucesores de un estado en el recorrido hacia atrás. Y por último, hay que decidir que algoritmo de búsqueda
emplear en cada dirección, puesto que para asegurar que ambos recorridos se encuentren en algún momento, al
menos uno de ellos debe almacenar en memoria todos los estados visitados, es decir, al menos uno debe ser en
anchura.
Es completo si al menos un algoritmo es en anchura, y es admisible si se realiza la búsqueda desde todos los nodos
objetivo.
13
T4 – Técnicas basadas en búsquedas heurísticas.
Los llamados heurísticos son aquellos mecanismos que permiten, en un espacio de estados, dirigir en cierta manera
la búsqueda hacia las zonas más prometedoras, de modo que se pueda llegar a la solución sin necesidad de visitar
tantos nodos como en general requeriría una búsqueda a ciegas o no informada.
Sin embargo, estos heurísticos también introducen un cierto coste de control, por lo que se debe alcanzar un punto
de compromiso entre el coste de control y el coste de aplicación de las reglas, el cual es a veces difícil de alcanzar.
En estas búsquedas informadas encontrar la solución depende del algoritmo empleado, pero la calidad de la
solución depende del heurístico.
4.2. El algoritmo A*
A continuación se introducen algunos conceptos previos (consideremos un nodo n):
- g*(n) es el coste del camino más corto desde el nodo inicial a n.
- h*(n) es el coste del camino más corto desde n al nodo objetivo más cercano a n.
- f*(n) = g*(n) + h*(n). Es decir, f*(n) es el coste del camino más corto desde el nodo inicial a los nodos objetivos
condicionado a pasar por n.
- C* = f*(inicial) = h*(inicial). Es decir, C* es el coste de la solución optima.
Todos los nodos que forman parte de la solución optima cumplen que f*(n) = C*, mientras que aquellos que no están
en el camino optimo cumplen que f*(n) > C*. Para problemas complejos, los valores de estas funciones no se
pueden conocer, por lo que el algoritmo A* lo que hace es trabajar con aproximaciones a estos valores.
Así, g(n) es el coste del mejor camino desde el inicial al nodo n obtenido hasta el momento, h(n) es una estimación
positiva del valor de h*(n) tal que h(n) = 0 si n es un nodo objetivo. Por último, f(n) = g(n) + h(n), siendo f una
estimación de f*, y siendo el criterio que se utiliza para ordenar la lista ABIERTA.
Propiedades formales
- A* es completo en grafos localmente finitos (no sucesores acotado).
- A* es admisible, siempre que utilice una función heurística h admisible -> h(n) < h*(n).
- Un heurístico es monótono si para todo par de nodos n y n' se cumple que:
・ h(n) ≤ k(n, n') + h(n'). Siendo k(n, n') el coste mínimo de n a n'. Infinito si no hay ruta.
- Todo heurístico que sea monótono, también es admisible.
- Si h es monótono y A* elige por ejemplo un nodo n para su expansión, se cumple que g(n) = g*(n). Es decir, el
camino del inicial a n encontrado hasta el momento es óptimo. Debido a esto, si h es monótono, no es necesario
rectificar nodos ya expandidos, por lo que el algoritmo A* es más eficiente utilizando un heurístico monótono.
14
Que un heurístico sea monótono significa que no necesita rectificar porque g(n) = g(n)*, es decir, siempre va por el
camino correcto.
Relajación de las condiciones de optimalidad
Se puede plantear conseguir más eficiencia con el algoritmo A*, a costa de perder la admisibilidad que proporciona,
es decir, encontrar una solución de menor calidad. Existen dos métodos principales:
- Ajuste de los pesos de g y h. La búsqueda de A* está basada en la formula f(n) = g(n) + h(n), por tanto, se
pueden ponderar ambos sumandos, de tal forma que se obtenga una mayor eficiencia de la siguiente forma: fw(n) =
(1-w)・g(n) + w・h(n), con w [0,1]. El mejor valor de w se puede obtener de forma experimental.
- Algoritmos ε -admisibles. Se sacrifica la obtención de una solución óptima en favor de alguna mejora en el
rendimiento del algoritmo, controlando el deterioro de la solución obtenida a través de un factor ε que representa la
distancia al coste optimo.
Se basa en la lista FOCAL, que es una sublista de ABIERTA con los nodos más prometedores (aunque no
necesariamente el mejor). Hace que se exploren menos nodos manteniendo cierta calidad en función de ε. En esta
lista FOCAL se aplica otro heurístico h’(n) que no requiere ser admisible.
16
(todos los vecinos tendrán el mismo valor que la solución actual, y la búsqueda es aleatoria); y crestas (si la
pendiente es suave, resulta difícil no desviarse hacia los lados al ascender).
Debido a esos problemas, la búsqueda puede quedarse atascada. Una solución puede ser reiniciar la búsqueda a
partir de otro punto de inicio, lo que se denomina búsqueda multiarranque. Con este método se alcanzaría
probablemente otro óptimo local distinto, y así, después de varios arranques se alcanzaría una solución aceptable.
Temple simulado
Este algoritmo realiza una selección aleatoria entre los vecinos del estado actual. Si el nodo seleccionado mejora la
solución actual, la búsqueda sigue como en el caso de máximo gradiente. Si no, existe una cierta probabilidad de
que dicho nodo sea aceptado, aun cuando sea peor que la solución actual, consiguiendo eludir máximos locales, si
los hubiera. Dicha probabilidad depende de: la temperatura T, y el incremento de energía ΔE, que es la diferencia
entre el coste de la nueva solución, y el coste de la solución actual.
Al principio la temperatura tiene un valor alto, de modo que la probabilidad de aceptar un nodo cuya solución es peor
es elevada, favoreciendo así la exploración del espacio de soluciones. A medida que avanza, la temperatura va
decreciendo, por lo que al final del algoritmo, se da preferencia a la búsqueda de soluciones de calidad,
convergiendo hacia soluciones que siempre mejoren a la actual. De esta forma se evitan los estancamientos.
El principal problema de este algoritmo es la elección de un enfriamiento adecuado, el cual depende de la
naturaleza del problema. Además, puede volverse muy lento si la temperatura desciende muy despacio.
Búsqueda tabú
Lo que caracteriza a este algoritmo es que dispone de una memoria, denominada lista tabú. En base a dicha lista,
se puede evitar la generación de vecinos que conduzcan a solución no óptimas o ya revisadas, ahorrando tiempo y
mejorando la eficiencia.
En algunos casos, se pueden aplicar excepciones a dicha lista, utilizando lo que se conoce como criterio de
aspiración, que consiste en admitir nodos tabú que puedan mejorar la solución actual, expandiendo dichos nodos
como si no estuviesen en la lista.
El principal inconveniente de este algoritmo es el ajuste de los parámetros, como el tamaño de la lista tabú, el
criterio para incluir un nodo en dicha lista, y la definición concreta del criterio de aspiración, para permitir
excepciones. Dichos parámetros son fuertemente dependientes del problema, por lo que se deben particularizar a
cada uno. Además, tampoco asegura la solución óptima.
Como ventajas, presenta una implementación simple y la evitación de los estancamientos.
Por ejemplo: sales del nodo inicial; vas probando rutas alternativas, aunque algunas empeoren temporalmente;
apuntas las rutas exploradas para no volver a ellas enseguida; Si encuentras una ruta que mejora la ruta hallada,
aunque esté en la lista tabú, puedes tomarla (criterio de aspiración).
17
T5. Lógica
La IA trata dos problemas centrales: la representación del conocimiento y el razonamiento automático
(corrección, completitud y complejidad de los métodos de razonamiento) que permite deducir cosas nuevas a partir
de lo que ya sabemos.
La lógica es un conjunto formado por el lenguaje (símbolos) y la semántica (significado) que sirve para representar
conocimiento relacionado con la capacidad de llevar a cabo ciertos razonamientos (cálculos).
Una fórmula bien formada es aquella que respeta las reglas sintácticas y puede ser evaluada en términos de
verdad o falsedad.
Para calcular el comprtamiento global de una fórmula podemos utilizar la tabla de la verdad, que representa los
valores de la verdad en función de los valores de sus proposiciones atómicas. Si el resultado es siembre verdad se
trata de una tautología. Si el resultado es siempre falso se trata de una contradicción. Y si el resultado varía entre
verdad y falso, se trata de una contingencia.
Dos fórmulas son equivalentes si poseen la misma tabla de la verdad.
La satisfacibilidad de un conjunto de fórmulas hace referencia a quella interpretación en la que todo el conjunto de
fórmulas sea cierto a la vez. Así, una fórmula es válida si es verdadera en todos los modelos y satisfacible si es
verdadera en al menos uno.
Razonar significa obtener conclusiones correctas a partir de premisas. Por tanto, si el método que utilizamos
siempre devuelve conclusiones correctas decimos que es correcto. Además, si las devuelve todas decimos que es
completo.
Un método es decidible si el algoritmo es capaz, en un número finito de pasos, de decidir si una fórmula es válida o
no en el sistema.
En cambio el método es semidecible (o recursivamente numerable) cuando el algoritmo es capaz de encontrar
todas las soluciones válidas, pero no garantiza saber cuando no hay solución, pudiéndose quedar en estado de
ejecución indefinidamente.
Indecidible (no recursivamente numerable) es cuando no se puede determinar la satisfacibilidad.
La LP se compone de una serie de proposiciones (p, q, r, s, etc.) y una serie de conectivas (→,¬,∨, ∧, ).
Se trata de una lógica decidible, satisfacible y NP-completa (complejidad lineal).
El mayor problema de la LP como lenguaje de representación en IA es su carácter finito, y sus limitaciones para
expresar el tiempo y el espacio (poca expresividad).
Fragmento de LP: es un subconjunto de la lógica proposicional que restringe la misma a través de guardas,
limitación de variables y limitación de aridad para combatir la indecibilidad.
18
Existen también lógicas de orden superior, sin embargo es importante tener en cuenta que la complejidad crece a
la par que la potencia expresiva, dando lugar a lógicas no sólo semidecidibles sino no recursivamente
enumerables donde no es posible averiguar si una fórmula es satisfacible.
En lógica proposicional, en el peor de los casos se emplea un tiempo polinomial en desarrollar una rama entera
de un árbol semántico.
1. Negamos: ¬[(P ∨ Q) → P] → (P ∨ Q) ∧ ¬P
2. Consturcción del árbol
(P ∨Q) ∧ ¬P
/ \
P∨ Q ¬P
/ \
P Q
3. Análisis de ramas:
- Rama 1: P y ¬P → contradicción
- Rama 2: Q y ¬P → no hay contradicción
4. Resultado: rama abierta → no es válida, pero sí satisfacible.
19
En lógica de primer orden, además, se añaden reglas para manejar cuantificadores (∀ , ∃), lo que puede requerir
instanciar variables o introducir constantes nuevas.
∀y P(f(y), y) donde f(y) es una función de Skolem que remplaza a ‘x’ porque
dependía de ‘y’.
Ejemplo: Conjunto de premisas y conclusión:
∀ x (Humano(x) → Mortal(x)) //premisa
Humano(Socrates) //premisa
Mortal(Socrates) //conclusión
Convertir a FNC (se niega solo la conclusión):
¬Humano(x) ∨ Mortal(x)
20
Humano(Sócrates)
¬Mortal(Sócrates)
Aplicar resoluciones:
(1) con (2) → unificación: sustituimos x = Socrates → ¬Humano(Socrates) ∨
Mortal(Socrates)
Junto con Humano(Socrates) → queda Mortal(Socrates)
Con (3): Mortal(Socrates) y ¬Mortal(Socrates) → ⊥
Contradicción → la conclusión era correcta
Cláusulas de Horn: es una cláusula, disyunción de literales, con como máximo un literal positivo.
p q r s = p q r s
Estas cláusulas, permiten optimizar el método de resolución a cambio de una menor expresividad. Si en un
conjunto de cláusulas todas son cláusulas de Horn entonces el problema de la satisfacibilidad tienen una
complejidad inferior.
Una cláusula positiva que no tiene literales negativos aserta una proposición dada, que algunas veces se le
denomina hecho. Por ejemplo, s.
Una cláusula de Horn sin literales positivos se puede escribir como una implicación cuya conclusión es el literal
falso.
p q r = p q r falso
5.4 Complejidad
- En lógica proposicional el problema de satisfacibilidad es NP-completo:
- Verificar si una asignación hace verdadera una fórmula es rápido.
- Encontrar esa asignación puede requerir tiempo exponencial.
- En lógica de primer orden, el problema está más allá de NP:
- Es indecidible: no hay algoritmo general que determine satisfacibilidad.
- Es semidecidible: si es válida puede demostrarse, si no, el algoritmo puede no terminar.
Decir que la lógica de primer orden está “más allá de NP” no significa solo que sea más lenta que NP. Significa que
no pertenece ni a P ni a NP, ni siquiera a ninguna clase decidible. Es indecidible: no existe ningún algoritmo que
garantice una respuesta para cualquier fórmula. Por tanto, no solo puede “tardar mucho”, sino que puede no
terminar nunca. Esto es más grave que la complejidad alta: es una cuestión de imposibilidad algorítmica general.
21
5.4.1 Lógica modal
La lógica modal, es una extensión de la lógica clásica. Intenta acercarse al razonamiento humano introduciendo el
concepto modalidad. Esto significa que es posible indicar el modo en que es cierta o falsa una proposición (cuándo,
dónde, bajo qué condiciones) y con ello expresar los conceptos de necesidad y posibilidad.
Lo anterior se modela considerando un conjunto de mundos posibles relacionados por una relación de accesibilidad
y cuantificadores existenciales que se aplican a las proposiciones permitiendo desplazarse entre mundos. Cada
proposición tiene asignado un valor de verdad en cada mundo.
En la lógica modal el lenguaje proposicional se amplía introduciendo dos nuevos operadores:
• Necesidad : es necesario. Por ejemplo, podemos decir p es verdadero, pero no es verdad que p sea necesario
p ^ p.
22
S: ha sido verdadera en algún momento pasado hasta que ocurrió .
Las lógicas temporales basadas en intervalos se utilizan cuando no es preciso modelar eventos puntuales sino
propiedades con una cierta duración. Las relaciones entre intervalos son más complicadas que las relaciones entre
puntos; normalmente, en una lógica temporal basada en intervalos, se utilizan varias modalidades, cada una referida
a una diferente relación. Las cuatro modalidades más importantes son (el resto se expresan en términos de estas):
𝑀,[𝑑𝑜,𝑑1]⊨〈𝐵〉𝜙 si 𝑀,[𝑑0,𝑑2]⊨𝜙 para algún 𝑑2 tal que 𝑑0≤𝑑2≤𝑑1. B propiedad es verdadero al inicio
del intervalo.
𝑀,[𝑑𝑜,𝑑1]⊨〈𝐸〉𝜙 si 𝑀,[𝑑2,𝑑1]⊨𝜙 para algún 𝑑2 tal que 𝑑0≤𝑑2≤𝑑1. E propiedad es verdadero al final
del intervalo.
𝑀,[𝑑𝑜,𝑑1]⊨〈 B 〉𝜙 si 𝑀,[𝑑0,𝑑2]⊨𝜙 para algún 𝑑2 tal que 𝑑1<𝑑2. B propiedad es verdadero después
del final del intervalo.
𝑀,[𝑑𝑜,𝑑1]⊨〈 E 〉𝜙 si 𝑀,[𝑑2,𝑑1]⊨𝜙 para algún 𝑑2 tal que 𝑑2<𝑑0. E propiedad es verdadero antes del
inicio del intervalo.
Destaca entre ellas la Lógica Proposicional de las Relaciones de Allen o HS. En este caso la deducción
automática es mucho más compleja y plantea problemas de indecibilidad. No obstante la capacidad expresiva de
estas lógicas es muy alta, y resultan de gran interés en algunas áreas, particularmente en aplicaciones de tiempo
real.
5.4.3 Lógica borrosa
El desarrollo de esta lógica viene dado por la necesidad de gestionar la imprecisión e incertidumbre del mundo
real y la observación del modo en que los seres vivos afrontan estos problemas.
La lógica borrosa es una extensión de la lógica clásica donde las proposiciones tienen un grado de verdad que se
asigna mediante una función de pertenencia que toma valores en el intervalo real [0,1].
Se basa en reglas heurísticas de la forma SI (antecedente) ENTONCES (consecuente), donde el antecedente y el
consecuente son también conjuntos difusos, ya sean puros o resultado de operar con ellos.
Predicado preciso: (lógicas clásicas) predicado que, aplicado a cierta colección de objetos, dividen ésta en dos
subconjuntos. Por ejemplo, si ℕ es el conjunto de los números naturales, el predicado “impar” lo divide en dos
subconjuntos. Para cada uno de los elementos de uno de ellos: 𝐼={1,3,5,7,…}, el predicado impar es cierto, mientras
que, para el otro, 𝑃={2,4,6,8,…}, este predicado es falso.
Predicados vagos: no permiten realizar una división satisfactoria de una población de individuos en dos
subconjuntos. Por ejemplo, el predicado “alto”, no divide el conjunto en dos subconjuntos, aquellos para los cuales
alto es cierto y aquellos para los que es falso.
Lógicas multivaluadas: se caracterizan por permitir más de dos valores de verdad. Un tipo especial de lógica
multivaluada es la lógica borrosa o difusa donde las proposiciones tienen un grado de verdad que se asigna
mediante una función de pertenencia que toma valores en el intervalo [0,1].
Conjunto borroso: todo predicado vago V, aplicado a la misma colección U, tiene asociado un conjunto borroso, V
U, y que puede describirse mediante una función μv(u), cuya representación de la pertenencia a V de los distintos
elementos de U es una cuestión de grado, de modo que:
μv :U→[0,1]
Además de aquellos elementos para los que el predicado V es cierto, μv(u)=1 (núcleo, prototipo de V), y aquellos
para los que es falso, μv(u)=0, existe un conjunto de elementos para los que el predicado V es cierto en un
determinado grado 0< μv(u)<1 (soporte).
23
Operadores borrosos:
El 1-corte de V coincide con su núcleo. Vemos cómo los miembros de un determinado -corte son aquellos
elementos cuyo grado de pertenencia es mayor o igual que . Si un conjunto borroso V es convexo, entonces
cualquiera de sus -cortes es un intervalo. El interés de esta representación reside en que podemos descomponer
aquellas operaciones que involucren conjuntos borrosos en operaciones con conjuntos precisos, en algunos casos
mucho más sencillas.
Semántica de los conjuntos borrosos, un elemento pertenece a un conjunto si comparte alguna propiedad (es la
que determina si un elemento pertenece al conjunto o no). En los conjuntos borrosos, la pertenencia es una cuestión
de grado, nos dice qué es y qué no, y en qué medida. Sin embargo, el significado también depende del uso que se
hace de dicho predicado. Posibles semánticas:
• Similitud: si pensamos en los elementos del núcleo de V como en prototipos de V, entonces μv(u) es el grado de
proximidad de u al tipo de elementos prototipo de V. Útil en tareas de clasificación, regresión o
agrupamiento, donde se realiza una operación de abstracción a partir de un conjunto de datos mediante alguna
medida de proximidad. También en los sistemas de control, donde la diferencia (complementaria de la similitud),
entre la situación actual y la deseada (prototipo), determina la realización de acciones de corrección.
Ejemplo, nos interesa clasificar los coches de un aparcamiento en las categorías “coche grande”, “coche mediano” y
“coche pequeño”. Para calcular el grado de pertenencia de un coche particular a la categoría “coche pequeño”
podemos utilizar un prototipo de coche pequeño. Cuanto más se acerca el tamaño de un coche al del prototipo,
mayor es su grado de pertenencia a la categoría de coche pequeño.
24
• Preferencia: Supongamos que V reúne a un conjunto de elementos entre los cuales existe alguna preferencia. En
este caso, μv(u) representa el grado de preferencia entre dichos elementos. Esto es común en problemas de
decisión, donde podemos representar un conjunto de criterios y restricciones mediante conjuntos borrosos, que
condicionan el valor que han de tomar determinadas variables de decisión. Esta semántica es propia de tareas de
optimización, diseño o planificación.
Ejemplo, deseamos comprar un coche teniendo un conjunto de criterios que debe satisfacer, uno de los cuales es
que su tamaño ha de ser pequeño. En este caso, el grado de pertenencia de un coche a la categoría “coche
pequeño” ordena el grado de satisfacción o preferencia de ese coche para un agente decisor, en función de uno de
los criterios que maneja. La decisión final ha de considerar alguna fórmula de compromiso entre la satisfacción de
los distintos criterios.
• Incertidumbre: teoría de la posibilidad basada en conjuntos borrosos. Dada una variable x que toma valores en U,
el predicado “x toma un valor pequeño” se modela mediante un conjunto borroso V U, con función de pertenencia
μv = pequeño. La teoría de la posibilidad nos dice que si la única información disponible es que x es pequeño, y su
valor preciso es desconocido, entonces μv(u) = pequeño se puede utilizar como una medida de la posibilidad de que
el valor de x sea u U, lo que se representa por x(u) U = μv =pequeño(u), u U.
Cuando una función de pertenencia modela una distribución de posibilidad los elementos que pertenecen al soporte
son candidatos mutuamente excluyentes al valor de x, lo que contrasta con el carácter usual de reunión de la noción
de conjunto. Esta semántica está ligada a la presencia de incertidumbre en aquellas tareas de razonamiento que
llevan a cabo los sistemas basados en conocimiento.
Ejemplo, nos dicen que han visto un coche pequeño salir del aparcamiento a gran velocidad. Desconocen qué
coche es y todo lo que saben de él es que su tamaño es pequeño. En este caso, el grado de pertenencia de un
coche a la categoría “coche pequeño” representa el grado de posibilidad de que, a nuestro juicio, un coche así sea
el mismo que han visto salir a gran velocidad. Aun cuando este grado de posibilidad sea alto, no tenemos ninguna
certeza de qué coche es, sobre todo si el conjunto de coches que encajan con la descripción de “coche pequeño” es
numeroso. La función de pertenencia responde a la incertidumbre que existe sobre el coche que ha salido del
aparcamiento.
Estas tres semánticas no son excluyentes. Podemos encontrarnos con distribuciones de posibilidad utilizadas para
definir categorías en problemas de clasificación. O con la necesidad de modelar la incertidumbre acerca de una
determinada preferencia. No debemos entender estas semánticas como compartimentos estancos, sino como una
forma de caracterizar los distintos usos del lenguaje, y que nos han de obligar a realizar un análisis de las
propiedades que ha de adoptar en cada uno de sus usos.
25
T6 - Sistemas Basados en Reglas.
Sistemas Basados en Reglas (SBR), pretenden capturar la experiencia humana en la resolución de problemas con
el fin de alcanzar decisiones consistentes y repetibles.
El objetivo de estos sistemas es capturar las heurísticas de razonamiento de los expertos humanos. Siguen un
paradigma declarativo, es decir, utilizan lógica de predicados restringida a clausulas de Horn (es una clausula,
disyunción de literales, con como máximo un literal positivo).
p q r s = p q r s
Separación del conocimiento (Hechos y reglas) y los mecanismos de inferencia (encadenamiento).
26
3. Motor de inferencias (MI), es la estrategia de control o el intérprete de reglas es el mecanismo que sirve para
examinar la BH y decidir qué reglas se deben disparar (encadenamiento, resolución de conflictos, etc.).
La forma de inferir en los SBR se realiza a través del encadenamiento, cuyo tipo define la dirección del
razonamiento.
6.1.1 Encadenamiento hacia adelante
El encadenamiento hacia delante es un razonamiento dirigido por datos. Parte de unos datos conocidos a los que
se les aplican reglas. Esto genera nuevos datos. Así, continúa infiriendo hasta alcanzar una conclusión o devolver
fallo.
Ciclo de reconocimiento-acción:
• Paso 1: determinar a partir de la BH las reglas aplicables (conjunto conflicto). Para ello se utiliza el algoritmo
de equiparación. El CC contiene las reglas cuyas condiciones coinciden con los hechos actuales.
• Paso 2: resolución del CC. De todas las reglas encontradas se selecciona aquella que es aplicable.
• Paso 3: ejecución de la regla (acciones indicadas en el consecuente o cabeza de la regla). Puede que se
hagan más cosas además de actualizar la BH como por ejemplo mostrar información por pantalla, hacer
consultas a BBDD, etc.
• Paso 4: actualización de la BH. Las reglas pueden añadir o eliminar hechos.
Si tras el paso 1 el CC es vacío devolveremos fallo. Por otro lado, si tras la ejecución del paso 4 la meta se
encuentra en la BH (ha sido añadida como un nuevo dato) devolveremos éxito.
Tiene el inconveniente de no focalizar la meta, por lo que la exploración es muy grande, con el elevado coste de
recursos que ello implica. Esto hace que la fase de resolución de conflictos sea crítica.
El encadenamiento hacia delante es adecuado cuando:
• Si hay muchas condiciones en los antecedentes, ya que dichas condiciones dirigen la búsqueda hacia la meta
evitando comprobar en lugares innecesarios.
• Si no sabemos las metas a alcanzar
6.1.2 Encadenamiento hacia atrás
El encadenamiento hacia atrás es un razonamiento dirigido por metas. Se parte de un objetivo o hipótesis que se
desea verificar y se buscan hechos y reglas que lo demuestren.
Vamos desde el objetivo para ver si lo podemos alcanzar. Ciclo de inferencias, se parte de unos objetivos M
(inicialmente, la meta que se intenta inferir).
Mientras M no sea vacía:
• Paso 1: equiparación. Se busca reglas cuya cabeza (consecuente) se corresponda con m, el primer elemento
de M. Se crea así el CC. Si m aparece en la BH se trata como una regla con el cuerpo vacío.
• Paso 2: resolución del CC (reglas aplicables). De todas las reglas encontradas se selecciona aquella que es
aplicable.
• Paso 3: ejecución. Reemplazamos en la pila de objetivos la cabeza de la regla por su cuerpo (antecedente).
El ciclo finaliza cuando la meta inicial se ha reducido a submetas elementales verificadas en la BH o cuando no se
ha podido encontrar ninguna regla que llegue a alguna submeta válida.
El problema de este tipo de razonamiento es entrar en bucles infinitos, en los cuales la meta es, a su vez, una
submeta en su propio árbol de búsqueda.
27
Las ventajas que tiene respecto al encadenamiento hacia delante son:
• El sistema solo consulta cuando tiene necesidad de ello.
• Limita el número de equiparaciones de antecedentes de las reglas, ya que se encuentra dirigida por las metas.
Por ejemplo, si vamos al médico y este sospecha que tienes varicela sólo tiene que hacer las pruebas de la
varicela no todas las posibles pruebas de todas las posibles enfermedades.
• Disminuye la dimensión del árbol de búsqueda al ser un proceso más dirigido. El encadenamiento hacia delante
parte de todos los hechos posibles, lo que hace que explore muchas más ramas.
El encadenamiento hacia atrás es adecuado si:
• Hay muchas reglas cuyo consecuente es el antecedente de otras, lo que favorece el encadenamiento.
• Los objetivos están bien definidos, pero no las estructuras de datos.
6.1.3 Encadenamiento mixto
• Se pueden seguir dos procesos de búsqueda de forma simultánea (hacia adelante y hacia atrás) hasta que
ambos procesos se encuentran (búsqueda bidireccional).
• Esta estrategia resulta conveniente si el espacio de búsqueda crece exponencialmente a cada paso.
• Puede que no todas las reglas sean aplicables en ambos sentidos (reversibilidad), algunas sólo serán
aplicables hacia adelante y otras hacia atrás (cuándo es adecuado cada tipo de encadenamiento). En función de
esto se aplican unas u otras reglas.
28
3. Los elementos de condición están formados por átomos, donde un átomo puede ser una constante o una
variable. Para distinguir las variables de las constantes, es usual señalar las primeras con un prefijo de
interrogación.
4. Los elementos de condición pueden expresar algún tipo de prueba sobre las variables.
5. Las acciones del consecuente también pueden contener variables.
6. Las acciones del consecuente pueden incluir dos predicados: Añadir, para agregar nuevos hechos a la base de
hechos, y Borrar, para eliminar hechos existentes en la base de hechos.
Equiparación de reglas utilizando variables: es un caso particular del problema de la unificación de términos en la
resolución de primer orden. Durante la equiparación, pueden darse las siguientes situaciones:
1. Una variable aparece una sola vez en la parte de condición de una regla. En este caso, la variable se equipara
con cualquier valor que ocupe la misma posición en un elemento de la base de hechos.
2. Una variable aparece más de una vez en la parte de condición de una regla. En este caso, la variable debe
equipararse siempre con el mismo valor en todas las ocurrencias de la regla.
3. Varias variables aparecen en la parte de condición de una regla. Se pueden equiparar variables distintas con un
mismo valor.
4. Una o varias variables aparecen en una o varias condiciones negadas de una regla. La equiparación se da si
se cumplen las dos siguientes restricciones:
• Se equiparan todas las condiciones no negadas para algún o algunos elementos de la base de hechos.
• No existe ningún elemento en la base de hechos que pueda equiparar las condiciones negadas.
La aplicación de estas dos restricciones se conoce como Hipótesis del Mundo Cerrado: todo hecho que no esté en
la base de hechos, durante la equiparación de una regla, se considera falso.
Instanciación: (Activa las reglas que pueden aplicarse en base a los hechos actuales). Par formado por una regla y
los elementos de la base de hechos que equiparan dicha regla. Esta ligadura se realiza en la base de hechos y no
en la regla. Así, durante la fase de acción, no se ejecuta la regla sino una instanciación de ella. Sin el consecuente
de una regla aparece la variable, durante la fase de acción la variable se sustituye por su valor ligado en la
instanciación.
6.2.2 Algoritmo de equiparación RETE
El algoritmo RETE explora una estructura paralela (red RETE) optimizada sobre los antecedentes, en lugar del
espacio de búsqueda.
El objetivo es hacer la equiparación de forma más eficiente. La equiparación es el procedimiento por el cual un
sistema de encadenamiento determina el conjunto conflicto, es decir, que reglas son aplicables en un momento
determinado.
• Evita examinar todas las reglas de la BC con todos los datos de la BH cada vez que hacemos un ciclo.
• RETE usa un compilador que busca patrones comunes en los antecedentes para evitar evaluarlos
repetidamente. Por ejemplo, si ya he encontrado unos antecedentes, no necesito volver a buscarlos en el
siguiente ciclo.
• Red RETE: árbol generado por el compilador con la clasificación estructurada de los antecedentes.
• Se guarda el resultado de la equiparación en cada ciclo para continuar en el siguiente, en vez de comenzar
de nuevo.
• RETE es muy usado en SBR (como CLIPS) por su gran eficiencia en tiempo.
29
• Sin embargo, el consumo de memoria se dispara, lo que es un problema en sistemas expertos muy grandes.
RETE guarda las instanciaciones, resultado de las equiparaciones ciclo a ciclo y actualiza esta información con los
cambios que se producen en la BH después de la ejecución de cada ciclo, así:
• Para cada dato nuevo en la BH, obtiene instanciaciones resultado de ciclos previos.
• Para cada dato que se borra de la BH, RETE elimina de dicho conjunto las instanciaciones a las que dio lugar
en ciclos previos.
Ciclo de reconocimiento-acción o fases:
• Paso 1: Resolución de conflictos y selección de regla a aplicar.
• Paso 2: Ejecución. Ejecuta las acciones especificadas en la parte derecha de la regla seleccionada.
• Paso 3: Actualización de la BH. Estas acciones suelen producir cambios en la BH.
• Paso 4: Propagación red RETE. Estos cambios se notifican a la red RETE para que esta los equipare con las
condiciones de las reglas y genere los cambios oportunos.
Ejemplo:
30
Estos métodos se suelen usar combinados, estableciendo un orden de prioridad.
31
T7 – Redes semánticas.
Formalizar consiste en representar simbólicamente los conocimientos de un dominio utilizando alguno de los
formalismos de representación de conocimientos existentes (paso del modelo conceptual al modelo formal). Hay
distintos tipos de formalismos: basados en conceptos (marcos), basados en relaciones (redes semánticas) y basado
en acciones.
El formalismo basado en relaciones (redes semánticas) fue creado por Ross Quillian en los años 60.
Ejemplo:
La base de la representación consiste en modelar conocimientos relativos a un objeto (concepto) mediante pares
atributo-valor. Así, el nodo origen es el concepto, el arco que los une es el atributo, y el nodo destino es el valor para
dicho atributo de ese objeto.
Los arcos en las redes conceptuales (semánticas)
Se agrupan en dos categorías:
- Arcos descriptivos. Describen entidades y conceptos. Por ejemplo, un arco descriptivo para una red que
representase de alguna forma personas podría ser Profesión. En el ejemplo superior un arco descriptivo es Come,
que indica que un Canario Come Semillas. Son dependientes del dominio.
- Arcos estructurales. Enlazan las entidades o conceptos formando la arquitectura o estructura de la red. La
semántica de estos arcos es independiente del dominio del problema. Se pueden definir tantas etiquetas
estructurales como se quiera:
32
・ Generalización, ponen en relación una clase con otra más general. Las propiedades definidas en los
nodos generales son heredadas por deducción por los nodos específicos, mediante arcos Subclase-de.
・ Arco instancia, liga un objeto con su tipo genérico. Se llama arco Instancia (es_un).
・ Agregación, liga un objeto con sus componentes. Se llama arco Parte-de (inverso de Tiene/n).
Los conocimientos expresados en una red semántica también pueden expresarse utilizando lógica proposicional y
calculo de predicados de primer orden.
Representación de predicados no binarios
Generalmente, en las redes semánticas solo es posible representar predicados de aridad dos. Para representar
predicados de aridad 3 o superior, es necesario crear un nuevo objeto que represente al predicado de aridad mayor
que dos, y definir nuevos predicados binarios que describan las relaciones entre este nuevo objeto y sus
argumentos.
Por ejemplo, si quisiéramos representar el predicado cuaternario COMPRA-VENTA(Pepe, Luis, Reloj, 45), no
podríamos hacerlo directamente. Para ello, crearíamos un nuevo objeto COMPRA_VENTA_1, instancia del objeto
genérico COMPRA_VENTA, y crearíamos varios predicados binarios que unieran el nuevo objeto creado
COMPRA_VENTA_1 con sus atributos y valores, tal que así: arco Comprador con valor Pepe, arco Vendedor con
valor Luis, arco Objeto con valor Reloj y arco Precio con valor 45.
Representación de acciones
Se basa en la gramática de casos. En ella, toda proposición tiene una estructura formada por un verbo y una o
varias frases nominales. Cada frase nominal se relaciona con el verbo mediante un conjunto de casos, que pueden
ser: agente (persona que realiza la acción), contra-agente (resistencia contra la que se ejecuta la acción), objeto
(entidad cuya posición o existencia se considera), lugar (en el que se desarrolla el evento), tiempo (fecha o
momento concreto) y sujeto (entidad que sufre el efecto).
La modalidad por su parte hace referencia a características que presenta el verbo, como por ejemplo: tiempo
(pasado, presente o futuro) y voz (activa o pasiva).
Se utiliza esta información proporcionada por la gramática de casos para representar afirmaciones que se refieren a
acciones y eventos. Cada nodo situación tiene como atributos el conjunto de casos y de modalidades que describen
el evento. Por ejemplo: acción VER_1 (instancia de VER), con atributos de voz, tiempo, lugar, objeto, etc.
Representación de conocimiento disjunto
Para representar entidades del domino que son disjuntas entre sí (no tienen elementos comunes), se puede utilizar
simplemente el arco Disjunto de una entidad a otra.
Sin embargo, existe otro formalismo que utiliza arcos especiales, como sigue: arco S (subconjunto), arcoSD
(subconjunto disjunto), arco E (elemento) y arco ED (elemento disjunto). Por ejemplo, tendríamos una entidad Ser-
Vivo que representa el conjunto de seres vivos, la cual tiene dos subconjuntos Plantas y Animales disjuntos entre sí.
Por tanto, tendríamos un arco SD desde la entidad Plantas y otro arco SD desde la entidad Animales que irían
ambos hacia la entidad Ser-Vivo.
Cuando dos conceptos son excluyentes no pueden ser verdad al mismo tiempo. Representar el conocimiento
disjunto es clave para:
33
7.2. Inferencia de conocimiento
Para resolver los casos que se planteen, en una red semántica se deben utilizar procedimientos que trabajen con la
semántica de sus arcos. Así, tenemos dos técnicas diferentes según su forma de proceder:
Equiparación
Se dice que un apunte (fragmento de una red) se equipara con la red semántica si el apunte puede asociarse con un
fragmento de la red semántica. Los pasos a seguir son:
- Paso 1. Se construye un apunte que responda a la pregunta que se quiere resolver, formado por un conjunto de
nodos constantes (datos conocidos de la pregunta), nodos variables (valores que se requieren, son desconocidos) y
arcos etiquetados (como arco agente, arco lugar, arco objeto, etc., que unen nodos constantes y variables).
- Paso 2. A continuación, se coteja el apunte con la red semántica.
- Paso 3. Los nodos variables del apunte se ligan a nodos constantes de la red semántica hasta encontrar una
equiparación perfecta.
- Paso 4. La respuesta a la consulta es el fragmento de red semántica con los valores con los que se rellenan los
nodos variables. Ejemplo: Ver-? = Ver_1 y Varon-? = Pepe.
Es decir, se parte de un nodo variable (desconocido) del apunte que es comparado con los nodos constante
(conocidos) de la red. La búsqueda devuelve los valores de los nodos constante que encajan con las variables.
Herencia de propiedades
Permite que nodos específicos de una red accedan a las propiedades definidas en otros nodos utilizando los arcos
Instancia y Subclase-de, evitando así la redundancia de propiedades en la base del conocimiento.
Para determinar la veracidad de una sentencia cualquiera sobre un atributo o propiedad de una entidad, se debe
localizar el nodo entidad al que se hace referencia, y comprobar si desde dicho nodo sale un arco con la etiqueta del
atributo evaluado. Si no existiese dicho arco, el sistema buscara arcos Instancia que partan desde dicho nodo hacia
algún otro, y así repetidamente empleando arcos instancia o Subclase-de hacia las entidades superiores más
generales. Si una vez se han explorado todas las alternativas, no se encuentra la solución, entonces se debe
comunicar que, con la información almacenada en la red semántica, no se puede contestar sobre la verdad o
falsedad de la sentencia inicial.
La distribución de propiedades en la red permite que se herede el valor de la propiedad del nodo más cercano al
nodo que sirvió como punto de partida en la inferencia. Así, ante la posibilidad de heredar un valor de dos nodos
distintos, se hará del más cercano.
Los principales errores que se suelen cometer utilizando herencia de propiedades son:
- No distinguir bien los nodos que son instancias de aquellos que son conceptos.
- Que el nombre etiquetado tenga una semántica diferente al conocimiento representado.
- Establecer arcos en sentido contrario al natural o adecuado.
- No representar situaciones empleando nodos situación o evento.
34
T8 – Marcos.
Son la técnica de representación del conocimiento más utilizada cuando este se basa en conceptos. El conocimiento
que expresan es declarativo, sin embargo los marcos también son procedimentales (eventos o demonios). Los
marcos organizan los conocimientos del dominio en arboles (jerarquía) o en grafos, ambos construidos por
especialización de conceptos generales en otros más específicos.
・ Relación subclase-de. Se define entre marcos clase. Permite construir un SBM mediante la especialización de
conceptos generales en conceptos más específicos. Su inversa es la relación superclase-de. A un marco clase
pueden llegar y/o partir de él un número indefinido de relaciones de este tipo (herencia múltiple).
・ Relación instancia. Se define entre un marco instancia y un marco clase. Representa que el marco instancia es
un elemento del conjunto o clase representado por el marco clase. Un elemento puede pertenecer a varios
conjuntos simultáneamente; por tanto, de un marco instancia pueden partir tantas relaciones instancia como
conceptos describan el marco consistentemente. Su inversa es la relación representa, y va del marco clase al marco
instancia.
- Relaciones no estándar.
・ Relación fraternal. Se define para dos marcos clase que tienen el mismo marco clase padre. Representa que
dos conceptos son hermanos.
・ Relación disjunto. Se define para dos marcos clase. Representa que las clases son disjuntas, es decir, que los
conjuntos que representan ambos marcos no tienen elementos en común. Su inversa es la relación no-disjunto, que
representa marcos clase conectados los cuales si pueden tener elementos comunes.
・ Relaciones ad-hoc. Sirven para representar relaciones 'a medida' entre conceptos de un dominio. Se debe
comprobar previamente que: A) la relación ad-hoc haya sido definida previamente entre dos marcos clase, B) que
los marcos instancia que se quiere conectar sean instancias de dichos marcos clase. Cada relación adhoc entre dos
instancias es una instancia de la definida a nivel de marco clase.
35
Para conectar marcos clase de diferentes jerarquías, se debe comprobar además que se cumplen las restricciones
propias de la relación entre jerarquías (ej.: jugadores de futbol y equipos). Algunas herramientas no implementan
estas relaciones no estándar (se debe usar algún truco para representarlas - otro marco).
Representación de las propiedades de los conceptos
Existen dos tipos de propiedades a formalizar:
- Las propiedades de clase. Representan atributos o características genéricas de un concepto o clase. Estas
propiedades se rellenan en el propio marco clase, y toman siempre el mismo valor en todos los elementos o
instancias de la clase.
- Las propiedades de instancia. Aunque se definen en el marco clase y son comunes a todas las instancias de
dicho marco clase, se rellenan en cada marco instancia con valores concretos que dependen del elemento. Van
precedidas del símbolo '*' para distinguirlas.
En los marcos de clase, las propiedades de clase se rellenan con el valor que toma la propiedad, y las propiedades
de instancia con el tipo de valor con el que estas se pueden rellenar en las instancias (con un tipo de datos: entero,
carácter, etc., o bien con un puntero a otro marco clase). Como con los tipos primitivos y punteros a objetos en Java.
Representación de facetas de propiedades
Las facetas permiten modelar características de las propiedades y relaciones en los marcos clase. El motor de
inferencia usa las facetas para mantener la integridad semántica de los datos, es decir, para comprobar que los
valores introducidos en las propiedades realmente pertenecen al tipo especificado. Hay 3 categorías:
- Facetas que definen propiedades de clase, de instancia y relaciones.
• Tipo ranura. Una ranura es un contenedor de información. Establece el tipo de datos con el que se rellenara la
propiedad o relación. Existen tres casos diferentes: propiedades de clase o instancia que se rellenan con valores
(aquí se especifica el tipo correspondiente), propiedades de clase o instancia definidas como marcos (aquí se
especifica que se trata de un marco), y relaciones (se definirán en el marco clase origen de la relación, tendrán
como nombre la relación, y se especificara que se trata de un marco).
• Cardinalidad mínima. Establece el número mínimo de valores con los que se rellena la ranura, siempre que esta se
rellene.
• Cardinalidad máxima. Establece el número máximo de valores con los que se puede rellenar esta ranura.
• Multivaluada. Establece si la propiedad puede tener más de un valor o no.
- Facetas que definen propiedades de clase y relaciones.
• Propiedad general. Almacena los valores que toman una propiedad de clase o una relación. Las propiedades de
clase definidas como marcos y las relaciones rellenan esta faceta con un puntero a un marco clase. Las
propiedades de instancia nunca rellenan esta faceta, y suelen utilizar el símbolo “--" para indicarlo.
- Facetas que definen propiedades de instancia.
• Valores Permitidos. Especifica el conjunto de valores validos que puede tomar una propiedad de instancia, el cual
debe ser consistente con el contenido de la faceta “tipo ranura”. Puede almacenar un tipo de datos, un rango de
valores o un puntero.
• Valores por Omisión. Fija el valor que toma la propiedad de instancia en un marco instancia si no se especifica
otro. Puede ser anulado al asignar un nuevo valor.
• Si Necesito. Almacena un procedimiento que se ejecuta al solicitar el valor de una propiedad de instancia y ser
desconocido dicho valor. La ejecución de este procedimiento puede tomar datos de otras ranuras o del usuario del
sistema.
36
• Si Modifico. Almacena un procedimiento que se ejecuta al modificar el valor de una propiedad de instancia. Su
ejecución puede afectar a otras ranuras.
• Si Añado. Almacena un procedimiento que se ejecuta al introducir un valor en una propiedad de instancia que
estaba vacía. Puede afectar a otras ranuras.
• Si Borro. Almacena un procedimiento que se ejecuta al borrar el valor de una propiedad de instancia. Puede
afectar a otras ranuras.
Si el tipo de la nueva entidad es conocido, se puede seleccionar el marco clase en el que se ha definido el
tipo, y todos los marcos clase en los que este se ha especializado.
Si el tipo de la nueva entidad es desconocido, la selección de marcos clase se realiza arbitrariamente, o se
eligen aquellos marcos clase en los que, como mínimo, se encuentre definida una propiedad conocida en el
marco pregunta.
- Calculo del valor de equiparación (VE). Se calcula el VE del marco pregunta en cada uno de los marcos
candidatos. El VE es una medida que informa del grado de idoneidad de la equiparación que se va a realizar. El
cálculo de este VE varía de unas aplicaciones a otras.
37
- Elección de los marcos clase con los que se equiparara la nueva entidad. Para un marco clase determinado, si el
valor VE es suficientemente alto, el sistema no buscara otros marcos e instanciara la nueva entidad convirtiéndola
en un marco instancia de dicho marco clase. Si el valor VE no es lo suficientemente alto, se tendrán que identificar
otros marcos relevantes buscando en el resto de la jerarquía (vertical u horizontalmente).
La equiparación presenta varios inconvenientes:
Ascender en jerarquía.
Comenzar en el marzo raíz y seleccionar de cada nivel el marco con mejor VE.
Buscar marcos relacionados (disjunto, fraternal, etc.).
2. Herencia de propiedades
Permite compartir valores y definiciones de propiedades entre marcos de una BC usando para ello las relaciones
instancia y subclase-de. Se puede distinguir entre:
- Herencia simple.
Se aplica cuando solo existe un único camino que une el marco instancia con el nodo raíz de la jerarquía (forma de
árbol). Así, se accede siempre a la información más específica disponible, que muchas veces son excepciones a la
regla general.
El algoritmo para encontrar los valores de una cierta propiedad en un marco instancia es:
1) Se busca la propiedad en el marco instancia. Si se encuentra, se devuelven sus valores y fin, si no, se accede al
marco clase padre utilizando la relación instancia.
2) Se busca la propiedad en el marco clase. Si se encuentra, se devuelven sus valores y finaliza, si no, se utiliza la
relación subclase-de para acceder al marco clase padre, mientras este no sea el marco raíz del árbol.
3) Se busca la propiedad en el marco raíz. Si se encuentra, se devuelven sus valores y finaliza, si no, debe
responder que con la BC actual es imposible responder.
En resumen, busca el valor de la propiedad en la instancia, si no lo encuentra, busca en el marco más cercano
siguiendo los enlaces instancia y subclase_de.
- Herencia múltiple.
Se aplica cuando existen varios caminos que unen los marcos instancia con el nodo raíz de la jerarquía (forma de
grafo). Dado que el marco instancia puede tener más de una clase antecesora con la propiedad buscada, el valor de
la propiedad que se hereda depende del algoritmo empleado.
Algoritmos:
Búsqueda en profundidad. Explora en profundidad todos los posibles caminos que van desde el marco instancia al
marco raíz del SBM. Algunos criterios para realizar el recorrido son: recorrer el grafo de izquierda a derecha, usar el
criterio de exhaustividad (solamente se buscara la propiedad en cada marco una vez), y usar el criterio de
especifidad (solo se puede buscar la propiedad en una clase si previamente se ha buscado en todas sus subclases).
Puede encontrar un ancestro más específico a la par que más profundo.
38
Búsqueda en amplitud. Recorre el grafo por niveles que están a igual distancia del marco instancia. Primero se
busca la propiedad en los padres del marco instancia, si no la encuentra, se busca en los abuelos, y así
sucesivamente. El proceso termina al encontrar la propiedad o alcanzar el nodo raíz sin encontrarla. Es importante
que el nivel de profundidad se corresponda con el nivel de especificidad. Presenta el problema de ambigüedad ante
dos clases padre con la propiedad buscada.
La distancia 'inferencial'. Se puede definir como: la condición necesaria y suficiente para que la clase1 este más
cercana a la clase2 que a la clase3, es que la clase1 tenga un camino de inferencia a través de la clase2 hacia la
clase3. Es decir, que la clase2 este en medio de la clase1 y la clase3. Detecta situaciones ambiguas, pero no
permite resolverlas.
3. Valores activos
Llamados demonios o disparadores, son procedimientos que recuperan, almacenan y borran información en los
SBM. Se definen en las facetas Si Necesito, Si Añado, Si Modifico y Si Borro de las propiedades de instancia de los
marcos clase.
Características:
• Se definen en el marco clase y permanecen latentes hasta que se solicite su ejecución desde un marco instancia,
momento en que el procedimiento asociado se ejecuta con los valores almacenados en las propiedades del marco
instancia.
• Estos procedimientos pueden ser: demonios dirigidos por eventos (ejecutan procedimientos antes de almacenar o
borrar valores en las propiedades de un marco instancia – asociados con las facetas Si Añado, Si Modifico y Si
Borro), y demonios dirigidos por metas (deducen valores de propiedades a partir de valores almacenados en otras
propiedades – asociados con la faceta Si Necesito).
• El control de ejecución va pasando de unas propiedades a otras a medida que se van ejecutando los
procedimientos y produciéndose llamadas entre los mismos
Sirven para:
Los M contienen un parte declarativa y otra procedimental, mientras que las RS solo son declarativas.
Una BC formada por M es más fácilmente ampliable que una formada por RS.
39