0% encontró este documento útil (0 votos)
1 vistas39 páginas

Fundamentos de La Iinteligencia Artificial: Preparación Examen UNED 2024-2025

El documento aborda los fundamentos de la inteligencia artificial (IA) y su preparación para el examen UNED 2024-2025, cubriendo aspectos conceptuales, metodológicos y técnicas de búsqueda. Se exploran diferentes paradigmas de la IA, incluyendo el simbólico, situado y conexionista, así como técnicas de búsqueda y lógica. Además, se discuten sistemas basados en reglas, redes semánticas y marcos, proporcionando una visión integral de la IA como ciencia e ingeniería.

Cargado por

lritopo1529
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
1 vistas39 páginas

Fundamentos de La Iinteligencia Artificial: Preparación Examen UNED 2024-2025

El documento aborda los fundamentos de la inteligencia artificial (IA) y su preparación para el examen UNED 2024-2025, cubriendo aspectos conceptuales, metodológicos y técnicas de búsqueda. Se exploran diferentes paradigmas de la IA, incluyendo el simbólico, situado y conexionista, así como técnicas de búsqueda y lógica. Además, se discuten sistemas basados en reglas, redes semánticas y marcos, proporcionando una visión integral de la IA como ciencia e ingeniería.

Cargado por

lritopo1529
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

FUNDAMENTOS DE LA

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:

1.1. La IA como Ciencia


La IA entendida como ciencia es básicamente una tarea de análisis. Busca comprender la inteligencia en sí misma.
Su ámbito de conocimiento engloba el conjunto de hechos asociados a la neurología y la cognición, como pueden
ser la percepción, la memoria, el lenguaje, etc.
La perspectiva científica busca el desarrollo de una teoría computable del conocimiento humano, es decir, una teoría
que pueda ejecutarse en un sistema de cálculo con fines predictivos (construir programas que emulen el
comportamiento inteligente de los humanos). Se ve, por tanto, el ambicioso objetivo perseguido por este enfoque
científico de la IA, y el porqué se llama hipótesis fuerte a esta idea.
Existe un enfoque conocido como hipótesis débil, que persigue un objetivo más modesto, como es el desarrollar
maquinas que exhiban un comportamiento inteligente, no necesariamente emulando el pensamiento humano.

1.2. La IA como Ingeniería


La IA como ingeniería también tiene sus dificultades. La primera, es que el objeto formal de la IC (Ingeniería del
Conocimiento) es el propio conocimiento, y este es pura forma. La idea se basa en la estructura relacional y en un
punto común para los distintos observadores, que dotan de significado a los símbolos formales y físicos que
constituyen el cálculo.
La segunda dificultad se basa en que todavía no se dispone de una solida teoría del conocimiento, de la cual se
debe encargar de desarrollar la parte de la IA como ciencia. Es decir, no tenemos los conocimientos sobre
neurofisiología o procesos cognitivos suficientes para poder apoyarse en ellos desde la parte ingenieril.
En la mayoría de los desarrollos de la IC, llamados Sistemas Basados en Conocimiento (SBCs), y anteriormente
conocidos como Sistemas Expertos (SEs) se procede en base a los mismos pasos:
- Se parte de la descripción en lenguaje natural del problema, descripción generalmente realizada por un experto
(análisis).
- Después, se modela esta descripción mediante diferentes paradigmas (simbólico, conexionista, situado) y se llega
a obtener un modelo conceptual (diseño).
- A partir de este modelo, y utilizando diversos operadores formales, como las distintas lógicas, las RNAs (redes
neuronales artificiales), etc., se llega a un modelo formal, el cual ya es computable por un sistema de cálculo
(implementación).

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:

2.1. El paradigma simbólico


Se trata de un paradigma deliberativo que considera que todo el conocimiento necesario para resolver una tarea de
diagnostico, planificación, control o aprendizaje, puede representarse usando descripciones declarativas y explicitas
en lenguaje natural. Estas descripciones declarativas estarían formadas por un conjunto de hechos, y otro conjunto
de reglas de inferencia que describen las relaciones estáticas y dinámicas entre esos hechos.
En muchas ingenierías, es usual distinguir tres tipos de tareas para resolver los problemas específicos de cada una
de ellas (análisis, síntesis y modificación/mantenimiento). Así, aplicando estos términos a la IC tenemos que en la
fase de análisis disponemos de todas las soluciones posibles al problema, y el trabajo es básicamente de
clasificación y elección de esas soluciones en base a la descripción del problema. En la fase de síntesis nos
basamos principalmente en un trabajo de diseño y construcción con restricciones (los requisitos del problema).
Finalmente, tenemos que la fase de modificación tiene que ver sobre todo con el ajuste de parámetros en las
estructuras ya diseñadas y sintetizadas.
En este paradigma, las entidades del dominio (hechos o reglas) representan roles de entrada y/o salida para las
distintas inferencias (reglas), las cuales generan el resultado final del razonamiento. Es decir, usamos nuestra base
de conocimiento para evaluar y obtener nuevos hechos y reglas, que actualizan nuestro modelo del medio mediante
aprendizaje, y pasan a formar parte también de la base del conocimiento.

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.

2.2. El paradigma situado


También llamado reactivo, o basado en conductas, está basado en que toda percepción y toda acción están
estructuralmente acopladas, mediante perceptores y efectores concretos, a un medio externo e interno también
concretos.
El sistema que queremos modelar mediante este paradigma se encuentra en un medio que forma un lazo de
realimentación mediante sus sensores y efectores. Así, todo lo que no pueda ser percibido por los sensores no
existe para el sistema, y tampoco podrá ejecutar acciones que no puedan realizar sus propios efectores.
En este esquema, los roles de entrada vienen a ser las propias percepciones captadas por sus sensores, los roles
de salida serán las acciones que ejecutaran sus efectores, y todo el motor de inferencia serán esquemas de
asociación precalculados, o autómatas finitos, que permitirán que el sistema actúe de forma reactiva, sin tener que
estar deliberando las posibles salidas. Además, las posibles acciones también estarán precalculadas.
La lógica interna depende de las coordinaciones espacio-temporales entre los estados actuales de los dos tipos de
mecanismos descritos: los perceptuales y los motores.

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:

 Agentes reactivos: Actúan según estímulos sin planificación interna compleja.


Ejemplo: Robot que esquiva obstáculos sin mapa del entorno.

 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.

 Sistemas embebidos: Computación integrada en dispositivos físicos con sensores y actuadores.


Ejemplo: Termostato inteligente que regula temperatura según ocupación.

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.

 Aprendizaje supervisado: Entrenamiento con ejemplos etiquetados (entrada/salida conocidas).


Ejemplo: Identificar spam en correos.

 Aprendizaje no supervisado: Agrupa o reduce datos sin etiquetas previas.

8
Ejemplo: Clustering de usuarios por comportamiento en una web.

 Mapas autoorganizados (SOM): Proyectan datos multidimensionales a mapas visuales.


Ejemplo: Agrupar perfiles genéticos en un espacio 2D.
Otras técnicas son Big Data, minería de datos, análisis de sentimientos, procesamiento de datos sensoriales (RNA
alimentadas con datos que aprenden patrones), redes neuronales bayesianas (combina deep learning con inferencia
bayesiana), etc.

2.4. El paradigma híbrido


La mayoría de problemas en IA suelen ser de naturaleza hibrida. Por tanto, es lógico pensar en soluciones también
hibridas, combinando los datos y el conocimiento disponible con elementos o técnicas de varios paradigmas
distintos.
Por ejemplo, para el control de un robot, podemos necesitar aproximaciones reactivas y declarativas, combinando el
paradigma situado, en el que el robot obtiene parte de la información mediante sus perceptores y actúa mediante
sus efectores, con otros paradigmas, como el representacional, utilizando técnicas simbólicas y deliberativas, o el
conexionista, empleando técnicas neuronales para clasificar datos.
Algunos criterios a la hora de combinar técnicas o métodos de diferentes paradigmas son:
- Analizar las exigencias computacionales del problema y el conjunto de recursos disponibles. Eso ya nos puede dar
una idea de que métodos o técnicas pueden ser los más adecuados para resolver la tarea.
- Si no es suficiente, debemos seguir descomponiendo la tarea en otras más simples, hasta que lleguemos a decidir
de qué tarea disponemos del conocimiento suficiente para usar reglas simbólicas, y de cual no tenemos suficiente
conocimiento, por lo que deberemos usar redes neuronales, probabilísticas (bayesianas) o conjuntos borrosos.
- El siguiente paso es la operacionalización efectiva del esquema, usando módulos simbólicos y neuronales,
resultado de las decisiones de la fase anterior.

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).

3. Guía práctica para identificar paradigmas y técnicas según el enunciado


¿Qué menciona el Paradigma
Técnicas apropiadas Ejemplo típico
enunciado? sugerido
Reglas, condiciones,
Reglas IF-THEN, marcos, “Si el jugador tiene alta agresividad,
normativas, estructura de Simbólico
SBR, redes semánticas no es apto como defensa.”
decisión
Necesidad de justificar Sistema experto, “El sistema debe ser auditable por un
Simbólico
decisiones, trazabilidad explicación paso a paso comité técnico.”
Aprendizaje a partir de Redes neuronales, “El sistema ha de aprender a
Conexionista
ejemplos o datos históricos aprendizaje supervisado clasificar perfiles de pacientes.”
Datos complejos, patrones no
Deep learning, clustering, “Queremos prever el abandono
evidentes, correlaciones Conexionista
regresión escolar según historial académico.”
inesperadas
Información del entorno: Situado Agentes reactivos, lógica “El sistema adapta sus
9
¿Qué menciona el Paradigma
Técnicas apropiadas Ejemplo típico
enunciado? sugerido
sensores, ubicación, adaptativa, sensores recomendaciones según el tiempo y
momento del uso la localización.”
Agentes inteligentes,
Adaptación al contexto “Debe cambiar su comportamiento si
Situado planificación, lógica
dinámico o cambiante hay una emergencia.”
contextual
Procesamiento de lenguaje Representación semántica +
Simbólico + “El sistema interpreta frases de
natural (frases, citas, valores NLP, embeddings,
Conexionista líderes o deportistas.”
morales) clasificación
Lógica modal, estructuras
Frases o principios con carga Simbólico + “El sistema basa sus decisiones en
axiológicas, aprendizaje
ética, ideológica o política Conexionista valores públicos o privados.”
social
Simulación o predicción Conexionista + Modelos dinámicos, redes “El sistema estima cómo cambiará la
basada en variables múltiples Situado adaptativas demanda según el entorno.”
Combinación de simbólico + “La decisión depende tanto de
Necesidad de un enfoque
Híbrido (mixto) conexionista (+ situado si normas como de casos pasados y
equilibrado o multifacético
aplica) condiciones externas.”

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.

3.1. Conceptos básicos


Un sistema de búsqueda tiene 3 componentes principales:
- El conjunto de estados, que representa todas las situaciones por las que el agente puede pasar durante la
búsqueda de la solución del problema. Los estados deben basarse en un modelo de representación con un nivel de
detalle adecuado.
- Los operadores, que modelan las acciones elementales que es capaz de realizar el agente sobre el medio, y,
además, cada operador debe tener un coste asociado, que puede ser arbitrario o atribuido por la propia naturaleza
del problema. Además del coste, los operadores deben definir las condiciones para poder ser aplicados y el estado
resultante tras su aplicación. Estas acciones elementales permiten cambiar de un estado a otro.
- La estrategia de control, que es la responsable de decidir el orden en que se van explorando los estados. Una
estrategia de control inteligente (heurística o informada) debería llevar a explorar primero aquellos nodos que están
en el mejor camino hacia una solución óptima. Sin embargo, una búsqueda a ciegas (no informada) generalmente
considerara todos los nodos como igualmente prometedores. Por tanto, con una búsqueda informada lo que se
pretende es llegar a una buena solución (generalmente optima) del problema, visitando el menor número de nodos
posibles.
Los dos primeros (estados y operadores), conforman lo que se llama el espacio de búsqueda, que generalmente
se representa mediante un grafo dirigido simple, en donde los nodos son los distintos estados por los que puede
pasar el sistema, y los arcos son las reglas que provocan la transición. Generalmente, el grafo que representa el
espacio de estados del problema tiene un tamaño tan grande, que no es posible representarlo de forma explícita,
por lo que queda definido de forma implícita por un estado inicial y un conjunto de operadores. En este grafo, hay
uno o varios nodos que representan soluciones del problema: son los llamados objetivos.
Un ejemplo de un sistema de búsqueda podría ser el caso de un robot que tiene un espacio de bloques, y, dada una
situación inicial, tiene que conseguir colocar los bloques en una determinada posición. El conjunto de estados serian
las distintas configuraciones de posiciones de los bloques, los operadores serian los movimientos que podría
realizar el robot para trasladar los bloques, y la estrategia de control seria la definida por el diseñador, que podría
ser no informada o informada.
Un algoritmo de búsqueda es completo si siempre encuentra una solución al problema de búsqueda, en el caso de
que esta exista. Un algoritmo de búsqueda es admisible (o exacto), si siempre encuentra una solución optima.

3.2. Métodos de búsqueda sin información en árboles


El algoritmo general de búsqueda en arboles es como sigue: en primer lugar, se parte del nodo inicial (raíz del
árbol), y a partir de ahí, el algoritmo va expandiendo nodos. En cada iteración, el nodo que se expande será el
primero de una lista de posibles nodos candidatos a ser expandidos (ABIERTA), ordenada según el criterio que
definan los distintos tipos de búsqueda en arboles: anchura, profundidad y coste uniforme. Este criterio de
ordenación será el conocido como estrategia de control.
En la búsqueda sin información, tanto encontrar la solución como la calidad de la misma dependen únicamente del
algoritmo aplicado.
Búsqueda primero en anchura
En esta búsqueda, el criterio que define la ordenación de ABIERTA es insertar los nuevos nodos que se van
generando simplemente al final de la lista, tratada como una cola FIFO.
Este algoritmo siempre es completo (para un grafo localmente finito, número de hijos por nodo limitado). Además, si
el coste de todas las reglas es 1, también es admisible. Sin embargo, tanto el tiempo de ejecución como el espacio
11
de memoria necesario crecen de forma exponencial con el tamaño del problema. Este crecimiento está relacionado
con la profundidad del árbol que representa el espacio de búsqueda.
Búsqueda primero en profundidad
Para esta búsqueda, el criterio de ordenación de la lista ABIERTA es el de insertar los nuevos nodos generados al
principio de la lista, tratándola así como una pila LIFO.
El algoritmo de búsqueda en profundidad no es admisible, y ni completo. Esto es debido a que la búsqueda puede
derivar hacia una rama infinita, y el algoritmo no terminaría nunca. Por ello, se suele establecer una profundidad
limite a partir de la cual se detiene la búsqueda, se haya o no encontrado la solución.
En cuanto al espacio en memoria, este algoritmo tiene un coste lineal en relación a la profundidad, puesto que en
cada hilo de ejecución solo almacena los nodos de una rama concreta, no los de todo el árbol, gracias a la función
limpiarTABLA. En relación al tiempo de ejecución, en el peor de los casos, este algoritmo tiene, como en la
búsqueda en anchura, una complejidad exponencial a la profundidad del árbol. Además, la búsqueda en anchura
siempre proporciona la solución más cercana al nodo inicial (la de menor altura en el árbol), lo que no siempre
ocurre con la búsqueda en profundidad.
Búsqueda de coste uniforme
Este algoritmo no trata la lista ABIERTA como una cola ni una pila, sino que inserta los nodos en la lista, ordenados
directamente por el coste desde el nodo inicial a cada uno de los nodos, de menor a mayor. Si el coste de todas las
reglas es el mismo (por ejemplo, coste unitario – 1), la estrategia de coste uniforme y anchura son idénticas.
El coste computacional en espacio y memoria es similar al de la búsqueda en anchura (exponencial), y también es
un algoritmo completo. Sin embargo, este algoritmo siempre obtiene la solución de menor coste al nodo inicial por lo
que además es admisible.
Búsquedas en profundidad y anchura iterativas
Estas búsquedas se basan en limitar la profundidad o anchura límite (respectivamente), y realizar varias iteraciones
del mismo algoritmo, incrementando dichos límites en cada iteración. Ambas versiones iterativas de dichos
algoritmos tienen los mismos costes computacionales que sus respectivas no iterativas.
Sin embargo, en el caso de la búsqueda en profundidad se resuelve el problema de su profundidad limite (ramas
infinitas). Es completo siempre y admisible con coste uniforme.
En el caso de la búsqueda en anchura, ahora es posible encontrar una solución que no sea la más próxima al
nodo inicial puesto que puede buscar a mayor profundidad sin haber explorado nodos a menos profundidad. Es
completo, pero no admisible.

3.3. Métodos de búsqueda sin información en grafos


En los grafos, al contrario que en arboles, es posible que durante la búsqueda se pueda encontrar varias veces el
mismo nodo n como sucesor de dos o más nodos diferentes. En este caso, se deben considerar los distintos
caminos hasta dicho nodo n, y registrar solo el mejor obtenido hasta el momento. Por ello, puede ser necesario
rectificar en la TABLA_A el coste desde el estado inicial hasta ese nodo n, así como su antecesor.
Algoritmo general de búsqueda en grafos (AGBG)
Este algoritmo parte de un grafo dirigido simple definido implícitamente a partir de un nodo inicial y una serie de
operadores o reglas de producción. Cada regla tiene un coste no negativo. El grafo debe ser localmente finito
(numero de sucesores por nodo acotados), pero no necesariamente finito (se puede extender infinitamente en
profundidad). En el grafo hay uno o varios estados solución y el objetivo de la búsqueda es encontrar el camino de
coste mínimo desde el nodo inicial hasta los estados objetivo.
Al expandir un nodo n determinado, hay que comprobar si alguno de sus sucesores, por ejemplo s ya fue expandido
con anterioridad, para comprobar si dicho nodo s tiene un camino mejor mediante el nodo n que se acaba de
expandir que mediante su camino anterior. Esto se hace con una función Rectificar, que se aplica a dicho nodo s en

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.1. Búsqueda primero el mejor (BF)


En este algoritmo se emplea una función de evaluación de los nodos f, tal que para cada nodo n, la función f(n) da
un valor numérico que indica lo prometedor que es ese nodo para ser expandido. Así, la lista ABIERTA se ordena en
base a f, estando los nodos candidatos más prometedores al principio. Esta medida f de lo prometedor que es un
nodo se denomina función heurística de evaluación, y se puede estimar de varias formas.
Este modo de expansión de nodos candidatos no siempre llevara de forma directa a la mejor solución, pero si
permiten generalmente llegar a buena soluciones expandiendo un numero de estados mucho menor que con una
elección puramente aleatoria.

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.

4.3. Búsqueda con memoria limitada


El principal problema del algoritmo A* es el requerimiento de memoria, que crece de forma exponencial con la
profundidad, aunque dispongamos de buenos heurísticos.
Algoritmo IDA* (Iterative Deepening A*)
Este algoritmo extiende al de búsqueda en profundidad iterativo, y se basa en realizar iteraciones de búsqueda
primero en profundidad desde el nodo raíz, aumentando en cada iteración la profundidad limite de dichas
búsquedas. En la primera iteración, se establece una longitud limite igual al valor de f(inicial), descartando todos
aquellos nodos cuya estimación f(n) supere dicha longitud limite. A continuación, si no se ha encontrado una
solución, se realiza una nueva iteración en la que la búsqueda comienza otra vez desde el principio, pero ahora la
longitud limite será el menor valor de f de entre todos los nodos descartados en la iteración anterior (aumentando la
profundidad, por tanto).
Los hijos de cada nodo expandido se introducen ordenados en ABIERTA según su valor f, actuando ABIERTA como
una pila. Así, se consideran antes los hijos más prometedores, y, en caso de encontrar una solución, se habrán
expandido menos nodos.
Si h es admisible, el algoritmo IDA* que lo utilice también lo será. Por otro lado, el consumo de memoria de este
algoritmo es proporcional al producto de la profundidad de la solución y del factor de ramificación (no de hijos por
nodo), lo que supone un ahorro de memoria. Sin embargo, el tiempo de búsqueda es exponencial con la
profundidad límite.
Como limitaciones presenta el tiempo empleado, que sigue siendo muy elevado y que repite trabajo puesto que en
cada iteración comienza desde el nodo raíz.
Algoritmo SMA* (Simplified Memory-Bounded A*)
En este caso, el algoritmo se basa en limitar el tamaño de la TABLA_A, es decir, el máximo no de nodos que se
pueden almacenar en ella. Si se necesita expandir un nodo, y no hay espacio suficiente en la TABLA_A, se elimina
un nodo de ABIERTA y de la TABLA_A, aquel con mayor valor de f en ABIERTA, el cual se conoce como nodo
olvidado. El algoritmo recuerda en cada nodo el mejor f de los hijos de ese nodo (los nodos olvidados). De este
modo, solo reexplora un subarbol descartado si el resto de posibilidades tiene estimaciones que son aun peores.
Este algoritmo adaptativo es capaz de evolucionar según la memoria disponible. Sera completo si la memoria
disponible es suficiente para almacenar el camino a la solución menos profunda. Además, es admisible si h lo es y
además si tiene suficiente memoria para almacenar el camino hasta la solución óptima menos profunda; si no,
devuelve la mejor solución encontrada con la memoria disponible.
15
4.4. Algoritmos voraces
Estos algoritmos se basan en la idea básica de tomar decisiones de forma irrevocable. Es decir, los nodos que han
sido descartados no los vuelve a considerar. Solo explora un camino. Por tanto, no son admisibles, y tampoco
suelen ser completos, pero a cambio resultan muy eficientes, por lo que se suelen usar en aplicaciones de tiempo
real (planificación del procesador).
El diseño de este tipo de algoritmos es simple. Por ejemplo, si partimos del algoritmo A*, y en cada paso
consideramos solo el nodo más prometedor en función de h, descartando el resto de sucesores, obtenemos un
algoritmo voraz. Si, además, los empates que se puedan producir en cada paso se resuelven de forma aleatoria,
tenemos un algoritmo no determinista, pues en cada ejecución del mismo sobre un problema, nos puede dar
resultados diferentes, aunque con una eficiencia media que dependerá de h.
Son útiles cuando el tiempo importa más que la calidad de la solución.

4.5. Algoritmos de ramificación y poda


Los algoritmos de ramificación y poda interpretan cada estado o nodo como un subconjunto de soluciones de todo el
conjunto posible de soluciones del problema original planteado. De esta manera, el nodo raíz representa todas las
soluciones posibles al problema original, mientras que un nodo hoja seria aquel que no puede ser expandido por
contener una única solución. Así, el proceso de ramificación consiste en descomponer un determinado conjunto de
soluciones (un nodo) en la unión disjunta de varios subconjuntos suyos (los nodos sucesores), con lo que el espacio
de búsqueda adquiere forma de árbol.
Mientras que un nodo hoja tendrá asociado un coste concreto y conocido, cada nodo intermedio del árbol tiene
asociado un valor heurístico que representa una cota inferior del coste de la mejor solución (la de menor coste)
contenida en el nodo. Generalmente, cada vez que la cota inferior de un nodo rebasa el menor de los costes de los
nodos hoja encontrados hasta el momento en el resto del árbol, dicho nodo es podado.
Para ahorrar espacio en memoria, generalmente la estrategia de control para la exploración del árbol suele ser en
profundidad. En este caso, ABIERTA actúa como una pila y se introducen en ella los nodos generados en cada
expansión ordenados según los valores de sus cotas inferiores (de menor a mayor). La eficiencia del algoritmo de
ramificación y poda dependerá de lo ajustadas que sean las cotas inferiores obtenidas de forma heurística. Por otra
parte, los algoritmos de ramificación y poda son admisibles si recorren todo el espacio de búsqueda, excepto las
partes podadas, hasta que ABIERTA se agote; en caso contrario, si la condición de terminación es que el algoritmo
pare después de expandir cierto número de nodos, se pierde la admisibilidad, ganando eficiencia, y únicamente se
puede devolver la mejor solución encontrada hasta el momento.
Es muy costoso si el árbol es muy grande. Además, requiere un buen cálculo de cotas.

4.6. Algoritmos de mejora iterativa o búsqueda local


Existen problemas donde lo que interesa no es el camino desde el nodo inicial hasta el nodo objetivo, sino que el
nodo objetivo ya contiene de por si toda la información necesaria, y el camino es irrelevante. Es el caso de los
algoritmos de búsqueda local.
El algoritmo parte de una solución inicial, y en cada iteración calcula un conjunto de soluciones vecinas mediante
una regla de vecindad. Cada una de estas soluciones vecinas es evaluada, y se selecciona una de ellas con un
criterio, que suele ser elegir la de menor coste. Si la solución escogida cumple el criterio de aceptación
(normalmente ser mejor que la solución actual S), la solución elegida reemplaza a dicha solución S. Así, el proceso
continuo hasta que se cumple el criterio de finalización, que generalmente es agotar un número n de iteraciones, o
que no se produzcan mejoras en los últimos n intentos.
Algoritmo máximo gradiente
En este tipo de búsqueda, el criterio de aceptación es que la solución vecina S1 encontrada sea mejor o igual que la
solución S actual. Es una búsqueda simple, pero que tiene algunos problemas: óptimos locales (si se alcanza uno
de ellos, todos los vecinos serán peores, y el algoritmo finaliza sin encontrar el optimo global); regiones planas

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.

5.1 Lógica proposicional (LP)


Es una lógica monótona basada en predicados precisos.

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.

5.2 Lógica de predicados o lógica de primer orden (LPO)


Es una extensión de la lógica proposicional, pero con algunos nuevos elementos que nos permiten alcanzar una
mayor expresividad. Introduce variables, relaciones, cuantificadores,etc. El problema es que al mismo tiempo se
introduce una mayor complejidad.
Se trata de una lógica indecidible (no hay algoritmo general que determine su satisfacibilidad), semidecidible
(existen métodos deductivos correctos y completos aunque pueden no terminar nunca).

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.

5.3 Métodos de inferencia en lógica proposicional y de primer orden


Método sintáctico: buscan una demostración formal de la validez de una fórmula a través de reglas de deducción.
Método semántico: buscan un contraejemplo para una fórmula, intentando demostrar que la fórmula no es
satisfacible. Se usan en aplicaciones prácticas por ser fácilmente implementables y optimizables.
1. MÉTODO DEL ÁRBOL SEMÁNTICO (O TABLA SEMÁNTICA)
Es un método semántico que sirve para analizar si una fórmula es válida o satisfacible. Se parte de la negación de
la fórmula y se construye un árbol lógico aplicando reglas de descomposición. Si todas las ramas del árbol conducen
a contradicciones, la fórmula original es válida. Es decir, busca el contraejemplo para demostrar que no es
satisfacible.
Es un método no determinista, es decir, se elige de forma casual entre varias posibilidades (o ramas) y se intenta
completar la asignación de valores de verdad. Si se consige, entonces se ha encontrado un modelo que la satisface,
sino, se retrocede y se intenta otra posibilidad. Si al terminar, no se encuentra ninguna asignación completa, se
puede concluir que la fórmula no es satisfacible.
El árbol va desarrollándose en funcíon de lo siguiente:
Conectivas conjuntivas, es decir, ¬¬ y ∧, expanden la rama actual.

Conectivas disyuntivas, es decir, ∨,→ ,↔, abren distintas ramas.

Resultado del árbol (tras negar la fórmula) Qué demuestra


Todas las ramas se cierran La fórmula es válida
Al menos una rama abierta La fórmula no es válida, pero es satisfacible
Ninguna rama se cierra (si no se niega) La fórmula es insatisfacible (no tiene modelo)

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.

Ejemplo: Fórmula: (P ∨ Q) → P → ¿Es válida?

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.

Ejemplo: Fórmula: ∀ x P(x) → ∃x P(x) → ¿Es válida?

1. Negamos: ∀ x P(x) ∧ ¬∃x P(x) → ∀ x P(x) ∧ ∀ x ¬P(x)

2. Instanciamos con x = a: P(a) y ¬P(a) → contradicción


Resultado: todas las ramas se cierran → fórmula válida
2. MÉTODO DE RESOLUCIÓN
Es un método sintáctico que trata de demostrar que una fórmula es insatisfacible. Se basa en la refutación (asume
que la conclusión es falsa y si eso lleva a una contradicción, entonces la conclusión es válida). Consiste en:
1. Negar la fórmula.
2. Convertir las fórmulas a forma normal clausulada (FNC), es decir, una conjunción de cláusulas (una
cláusula es una disyunción de literales (ANDs de ORs)).
3. Aplicar reglas de resolución entre literales complementarios de forma iterativa.
4. Si se deduce la cláusula vacía ⊥, la fórmula original es válida. En caso contrario, no se deduce
necesariamente (puede que no sea válida o que el sistema no haya podido probarlo).

En lógica proposicional. Ejemplo: P∨ Q  ¬Q ∨ R  ¬P  ¬R


Premisas:
1. P ∨ Q
2. ¬Q ∨ R
3. ¬P
4. ¬R
Resoluciones:
- (1) y (2): P ∨ R
- Con (3): R
- Con (4): ⊥ (contradicción) → fórmula válida
En lógica de primer orden, se aplica también unificación (para hacer coincidir variables y términos). Para poder
aplicar este método en LPO, además, se ha de transformar las fórmulas a forma Prenexa (colocar los
cuantificadores al inicio dela fórmula aplicando reglas lógicas) y después aplicar la fórmula normal de Skolem, que
es una fórmula de primer orden equisatisfacible a la fórmula original. Para ello elimina los cuantificadores
existenciales ∃ introduciendo una función de Skolem que depende de todas las variables universales en cuyo
ámbito aparece.
Por ejemplo: ∀y ∃x P(x, y)

∀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.

5.5 Extensiones de las lógicas clásicas


Representan situaciones hipotéticas, espaciales y temporales que no pueden ser tratadas mediante la lógica
clásica. Así, se pretenden resolver: problemas prácticos en lugar de abstractos, uso de cantidades indefinidas sobre
un dominio continuo, tolerancia a errores, ruido e incertidumbre, incorporación de razonamiento contextual y
capacidad de anular conclusiones previas (lógicas no monótonas).
Una lógica monótona, como lo es la lógica clásica, es cuando las conclusiones nuevas nunca cambian lo que ya
sabía el sistema. En cambio, una lógica no monóntona es capaz de invalidar conocimiento anterior al introducir
nueva información (más parecido a cómo razonan las personas que ante una nueva información, descartamos
información previa). Es decir, las conclusiones son derrotables o anulables. De esta forma, una lógica no
monónota pone en duda toda la línea de razonamiento seguida hasta el momento.

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.

• Posibilidad : es posible.


Los modelos vienen definidos por la tripleta (W, R, V). Donde:
• W, es un mundo
• R, es una relación de accesibilidad. Indica si un mundo es posible desde otro. Qué mundo ve cada mundo.
• V, función que dado un mundo w, devuelve todas las proposiciones que son ciertas en él. Son las
interpretaciones que teníamos en lógica proposicional.
Una fórmula es modalmente satisfacible si lo es en al menos un mundo. Y es válida si lo es en todos los mundos.
Existe una multiplicidad de sistemas modales, que se diferencian en el tipo de relación de accesibilidad y variantes
de los operadores modales, como por ejemplo la lógica K y su sistema deductivo asociado, que es decidible y se
basa en el método del árbol semántico.

5.4.2 Lógicas temporales


Es la interpretación de una lógica modal que permite utilizarla para modelar el tiempo es la siguiente: los mundos
posibles se sustituyen por instantes de tiempo y la accesibilidad entre mundos por la sucesión temporal. Los
operadores modales se convierten en operadores temporales.
Se distingue entre: lógicas temporales basadas en puntos (el tiempo se considera compuesto por un conjunto de
puntos ordenados) y lógicas temporales basadas en intervalos (pares de puntos).
La lógica temporal basada en puntos permite expresar eventos puntuales, situaciones pasadas y futuras con
respecto al instante presente. Destacan en esta variedad la lógica LTL (Linear Time Logic), para la cual se utiliza el
método deductivo decidible basado en árboles semánticos; y la lógica CTL (computational tree logic), de gran
expresividad y alta complejidad computacional, ampliamente aplicada en el campo de verificación de modelos o
Model Checking (metodología de verificación automática de proyectos software).
Emplea los siguientes operadores unarios:

F: para denotar que en algún momento futuro,  será verdadera.

P: para denotar que en algún momento pasado,  fue verdadera.


Los operadores unarios no son los únicos importantes en lógica temporal. Existen dos operadores binarios,
llamados since y until, 𝑆 y 𝑈, que añaden un alto poder expresivo al lenguaje. Su significado es el siguiente:

U:  es verdadera hasta que en algún momento futuro ocurre .

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:

 Negación: ¬A = 1 - A (entre menos cierto es A, más cierto es ¬A)

 Conjunción (AND): A B = min(A, B) (toma el valor más bajo entre A y B)∧

 Disyunción (OR): A B = max(A, B) (toma el valor más alto entre A y B)∨

 Implicación: A → B = max(1 - A, B) (una generalización del "si A entonces B")


La función de pertenencia encuentra su sentido en su capacidad para ordenar los elementos de U según su grado
de pertenencia. Por tanto, más que el valor exacto de pertenencia de un individuo al conjunto de un predicado, por
ejemplo “alto”, la función de pertenencia proporciona una ordenación del conjunto de individuos que permite decir
que un individuo “u es menos alto que w”.
¿El valor del grado de pertenencia de un elemento a un conjunto es útil? SÍ. Por ejemplo, si un individuo es alto con
grado 0,32 lo podemos utilizar como valor de orden dentro de un conjunto. Por ejemplo, si decimos que “u” tiene un
valor de pertenencia de 0,32 y que “w” tiene un valor de pertenencia de 0,39, podemos afirmar que “w” es más alto o
que “u es menos alto que w”.
La elección de la función de pertenencia de un elemento a un conjunto generalmente es elegida para que tenga una
serie de características, que dependen de los requerimientos del problema.
Ejemplo para "joven":
μ_joven(x) = 1 si x ≤ 20
μ_joven(x) = (30 - x)/10 si 20 < x < 30
μ_joven(x) = 0 si x ≥ 30
Para saber, en las definiciones de μ(x) cuyo valor es distinto de 1 o 0, dónde colocar la x, hay que tener en cuenta
cuándo x se acerca al núcleo (prototipo), es decir, a 1.

 Si a menor valor de x, más cerca de 1, entonces (límite superior - x)/intervalo.


 Si a mayor valor de x, más cerca de 1, entonces (x - límite inferior)/intervalo.
Una forma de representar un conjunto borroso es a través de una familia de conjuntos precisos anidados, haciendo
uso de la noción de -corte (V) {u  U: μv(u) > }, para cualquier 0 <   1.

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).

6.1 Componentes de un SBR


1. Base de Hechos (BH), va a contener información del problema a resolver. Partimos de unos datos iniciales a los
que vamos sumando aquellos que hemos ido obteniendo por aplicación de las distintas reglas.
La base de hechos contiene:
• Los datos iniciales.
• El conjunto de hechos que han podido ser deducidos por el sistema, si el mecanismo de control ejecuta un
encadenamiento hacia adelante.
Por ejemplo, ante una petición de envío urgente de un paquete, se deduce que hay que incrementar en 10 euros
el precio base. En el encadenamiento hacia adelante se parte de los hechos contenidos en la BH, a los que se le
aplican las reglas contenidas en la BC para obtener nuevo conocimiento que se va a ir añadiendo a la BH.
(izquierda-derecha).
• Un conjunto de metas que deben alcanzarse e hipótesis avanzadas en el curso de una solución, si el
encadenamiento es hacia atrás. Por ejemplo, en una consulta médica, una meta puede ser determinar si un
paciente padece una cierta enfermedad, como la varicela.
Para ello, será necesario chequear si se verifican todas las cláusulas del antecedente de la regla (o reglas) que
permiten deducir la presencia de dicha enfermedad. En nuestro ejemplo, será necesario preguntar la edad del
paciente, explorarle para ver si presenta manchas rojas y medir la fiebre. En el encadenamiento hacia atrás se
parte de una serie de hipótesis, e intenta verificarlas utilizando los hechos contenidos en la BH y/o datos externos
por ejemplo de usuarios. Si el número de reglas no es muy grande se puede formar un grafo dirigido que recibe
el nombre de red de inferencia. En esta red el antecedente que no es consecuente de ninguna otra regla se
convierte en los hechos de partida y los consecuentes que no son antecedentes de ninguna otra regla la meta a
alcanzar. (derecha-izquierda).
2. Base de conocimiento (BC), conocimiento declarativo en forma de reglas que operan sobre la BH. Reglas del
tipo: condición  acción.
La diferencia principal entre la programación tradicional y las reglas de un SBR, se encuentra en el carácter
declarativo de las reglas de los SBR. Otra diferencia es que en los lenguajes de programación tradicional es que
estos se basan en variables e instrucciones que modifican el valor de las variables. En los SBR el concepto de
variable es distinto. Dificultad de retractar información en los lenguajes de programación tradicionales.
Diferencia entre la BH y la BC es que la primera contiene información puntual sobre la tarea a realizar mientras
que la segunda almacena segmentos de conocimiento relacional.

cabeza_regla :-cuerpo_regla = cuerpo_reglacabeza_regla


Donde la cabeza de la regla es el consecuente y el cuerpo de la regla es el antecedente.

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.

6.2 Técnicas de equiparación


La equiparación es el proceso mediante el cual el motor de inferencia compara los hechos actuales con los
antecedentes de las reglas.
La equiparación del antecedente de las reglas con el estado de la base de hechos no siempre es obvia, ya que el
antecedente puede no describir situaciones particulares sino generales. Otro problema es la necesidad de examinar
todas las reglas en cada ciclo de inferencias. Este proceso es poco eficiente, si hay que recorrer toda la base de
conocimiento y esta contiene numerosas reglas.
Se puede simplificar mediante:
1. Técnicas de indexación. (Agrupa las reglas según diferentes criterios). Consisten en añadir a las reglas
nuevas condiciones relacionadas con el punto de inferencia. Este recurso permite dividir el problema en varias
etapas y agrupar las reglas en función de la etapa en la que se aplican. Esta forma de indexar solamente se
pude aplicar si las condiciones de las reglas se equiparan exactamente con la base de hechos. Además, con
esta aproximación se pierde generalidad en la declaración de las reglas. A pesar de todo, la indexación suele
ser un factor importante para la eficiencia de los SBR.
2. Técnicas que aceleran el proceso de equiparación, sin necesidad de examinar toda la base de conocimiento.
El método más conocido es el algoritmo RETE.
6.2.1. -Equiparación con variables
Sintaxis de reglas con variables: basada en CLIPS (C Language Integrated Production System).
1. Cada elemento de condición presente en el antecedente de una regla debe ir encerrado entre paréntesis y
empezar por una constante.
2. Todos los elementos de condición del antecedente de una regla deben ir unidos por el operador lógico AND.

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:

Reglas: R1: A y B  X R2: A y C  Y


Se crea la red RETE:
A A es el antecedente común en ambas reglas que
/ \ evito evaluar dos veces. Solo cuando un hecho
B C satisface A se evalúa B o C.
 
X Y

6.3 Técnicas de resolución de conflictos


1. Seleccionar la primera regla que se equipara con los contenidos de la BH. De este modo funciona prolog.
Tiene un coste de control pequeño, pero el coste de aplicación es elevado. Al no elegir la mejor regla, se
necesitan muchos ciclos para dar con la solución.
2. Seleccionar la regla de prioridad más alta. Esta prioridad se define en la construcción del SBR en función
del problema y las necesidades.
3. Seleccionar las instanciaciones más específicas. Se supone que las instancias más específicas se adaptan
mejor a la situación planteada.
4. Seleccionar arbitrariamente una regla del conjunto conflicto. Dentro de un conjunto con igual posibilidad de
ser efectivas.
5. Seleccionar las instanciaciones con elementos más recientemente añadidos a la BH. Para ello, se
requiere que la BH tenga un contador de ciclos y que de cada elemento pueda ser contada su antigüedad (ciclo
en el que se creó). Así, los elementos más recientes serán los que tengan un número más elevado.
6. Seleccionar una instancia no ejecutada previamente (refracción, que puede ser por un número
determinado de ciclos). Principio de refracción: una vez que se ha disparado una regla no se vuelve a disparar,
no modifica nada en la BH puesto que no va a obtener nuevo conocimiento pero se utiliza para evitar que un
algoritmo no termine nunca. SBR (el mecanismo de control tiene en cuenta diferentes factores para tomar la
decisión y ésta se realiza durante la ejecución. El proceso en el que se toma la decisión se llama resolución de
conflictos) y IF-THEN (se selecciona la siguiente condición en una secuencia de condicionales, cuyo orden ha
sido previamente programado).

30
Estos métodos se suelen usar combinados, estableciendo un orden de prioridad.

6.4 Ventajas e inconvenientes


Además de que los SBR permiten representar conocimiento de expertos y separan el conocimiento (reglas) del
razonamiento (motor de inferencia), posee las siguientes características:
1. Modularidad. Los SBR, al consistir en un conjunto de reglas independientes, son muy modulares y por tanto
presentan buenas propiedades de mantenibilidad si su tamaño no es muy grande. Son fáciles de entender y
modificar.
2. Selección de una condición. El mecanismo de control tiene en cuenta diferentes factores para tomar la
decisión, y esta se realiza en el momento de la resolución (tiempo real).
3. Autoexplicación. La representación declarativa del conocimiento es más cercana al pensamiento humano.
Las reglas son fáciles de leer y entender y el SBR puede seguir el rastro de las reglas que fueron aplicadas en un
proceso de inferencia.
4. Estructuras de control. Los SBR puros no permiten usar estructuras de control como los condicionales,
iteradores, recursiones, etc. Actualmente las herramientas de desarrollo de SBR integran otras técnicas de
programación convencionales. Por ejemplo, swi-prolog incorpora métodos de comunicación con otros
lenguajes de programación como java.
5. Granularidad en el diseño del SBR. La granularidad influye en su eficiencia. Si es alta puede no captar los
conceptos básicos o matices del problema. Y si es demasiado fina aumenta considerablemente el número de
reglas y se pierde generalidad entre estas.
6. Los SBR tienen menor potencia expresiva que la lógica de predicados, en aras de la eficiencia
computacional, pero mayor que la lógica proposicional; e incorporan aspectos de diferentes extensiones de la
lógica clásica.
7. Otra ventaja de los SBR respecto a la lógica es la posibilidad de tratar la incertidumbre, ya que pueden
trabajar datos obtenidos de la experiencia, que pueden ser conocidos de forma aproximada. Esto se logra
añadiendo a cada regla un factor de certeza que refleja el grado de confianza que el experto da a cada regla.
8. Los campos de aplicación idóneos de los SBR son aquellos que se pueden modelar como un conjunto de
múltiples estados, y el conocimiento se puede separar claramente de la forma en que se usa (sistemas expertos
médicos para diagnóstico, sistemas de recomendación, juegos de tablero con toma de decisiones automática o
asistentes inteligentes).
Los inconvenientes aparecen alrededor de las reglas, ya que si estas son muchas, pueden volverse lentos y
difíciles de mantener, además, resolver los conflictos entre reglas puede ser muy complejo.
Otro inconveniente es que los sistemas grandes requieren métodos de estructuración de la BC para facilitar la
depuración y evitar efectos colaterales en las fases de actualización y mantenimiento.

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.

7.1. Representación del conocimiento


Las redes semánticas son un formalismo o paradigma de representación de conocimiento basado en relaciones
entre los conceptos o entidades de un dominio.
Representación básica
En este formalismo, la información se representa en un grafo dirigido formado por un conjunto de nodos y arcos
unidireccionales, ambos etiquetados. Los nodos representan conceptos e instancias de dichos conceptos, y los
arcos conectan los nodos y representan relaciones binarias entre ellos (predicados de aridad dos).

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:

 Evitar contradicciones en inferencias.


 Delimitar claramente las categorías.
 Facilitar el razonamiento automático descartando de antemano opciones imposibles.

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.

7.3 Ventajas e inconvenientes de las Redes Semánticas


 Son intuitivas visualmente.
 Permiten la inferencia simple.
 Son ambiguas en cuanto a las relaciones.
 Tiene limitaciones para representar conocimiento complejo.

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.

8.1. Representación de conocimiento


Los conceptos básicos al formalizar la base de conocimientos son: marcos, para representar conceptos o
elementos, relaciones, para expresar dependencias entre conceptos, propiedades, para describir cada concepto, y
facetas, para expresar de múltiples formas los valores con los que se puede rellenar cada propiedad.
Representación de conceptos e instancias
De manera general, existen dos tipos de marcos:
- Los marcos clase. Se utilizan para representar conceptos, clases o situaciones genéricas descritas por un
conjunto de propiedades, unas con valores y otras sin valores asignados, que son comunes al concepto que el
marco representa. Ejemplo: marco Persona.
- Los marcos instancia. Pueden considerarse como la representación en el dominio real de una clase determinada.
Deben estar relacionados, como mínimo, con un marco clase.
Además, suelen rellenar la mayoría de sus propiedades con valores específicos de la instancia que representan. El
resto de propiedades las hereda de los marcos clase de los cuales son instancias. Ejemplo: marco Juan (instancia
del marco clase Persona).
Representación de relaciones entre conceptos
El formalismo de marcos representa las relaciones del dominio mediante relaciones entre marcos clase, marcos
instancia, y marcos clase y marcos instancia, formando así un sistema basado en marcos (SBM). Existen diferentes
tipos:
- Relaciones estándar. Son independientes del dominio. Hay varios subtipos:

・ 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.

8.2. Criterios de diseño


- Se debe favorecer la compartición de propiedades de clase y de instancia entre marcos.
- Se debe evitar representar conocimientos redundantes.
- Debido al carácter local de las propiedades, se pueden tener propiedades repetidas con el mismo nombre en
diferentes marcos de clase.
- Se pueden redefinir las propiedades de clase/instancia en marcos clase más específicos.
- En un marco instancia se pueden rellenar, o no, todas las propiedades de instancia definidas en los marcos clase
con los que está conectado.
- En las instancias no se pueden utilizar propiedades no definidas en los marcos clase.
- Las propiedades deben diferenciar a ese MC de otros.
- Cuidar que el nombre de la propiedad refleje la semántica de lo que es.

8.3. Inferencia de conocimiento


El formalismo de marcos permite realizar inferencias utilizando 3 técnicas distintas:
1. Equiparación
Equiparar significa clasificar. Conocidos los valores de un conjunto de propiedades que describen parcialmente una
nueva entidad o marco pregunta, esta técnica clasifica el marco pregunta en el grafo que representa el dominio. Se
basa en encontrar los marcos clase de la BC que describen mas consistentemente el marco pregunta, y este último
se convierte en una instancia de dichos marcos clase.
El proceso de equiparación verifica coincidencias entre datos (Marco Pregunta) y estructuras internas, disparando
inferencias cuando las condiciones se cumplen. Devuelve el MC con el que encaja el MP.
Puede implicar recorrer jerarquías (herencia) para obtener valores no presentes explícitamente.
Es una técnica útil en SBM que clasifican o en sistemas que se enfrentan a situaciones parecidas a otras que
ocurrieron anteriormente.
Se descompone en tres etapas:
- Selección de los marcos candidatos. Parte del MP.

 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:

 Las propiedades del MP pueden encontrarse en distintos marcos de la BC.


 Los valores conocidos del MP pueden ser inciertos.
 La información de cada propiedad puede ser diferente.
 Los valores por omisión de los MC no son siempre válidos para todas las instancias, ya que permiten
excepciones.
Métodos para identificar marcos relevantes en caso negativo:

 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:

 Añadir, borrar, modificar y consultar información:


 Mantener la integridad semántica del motor de inferencias.
 Gestionar errores.
 Propagación de cambios en una propiedad.
 Cálculo de valores dinámicos.

8.4 Ventajas de Marcos (M) frente a Redes Semánticas (RS)


 Los M permiten agrupar y estructurar la información asociada a cada entidad del dominio. En RS la
información de una misma entidad está dispersa en la red.

 Los M contienen un parte declarativa y otra procedimental, mientras que las RS solo son declarativas.

 Los M contienen valores por omisión. Las RS no.

 Una BC formada por M es más fácilmente ampliable que una formada por RS.

39

También podría gustarte