Logo Studenta

Inteligencia_artificial

¡Este material tiene más páginas!

Vista previa del material en texto

Inteligencia Artificial – Compilado por Ing. Irving Góngora
CONTENIDO
Unidad I: Introducción a la Inteligencia Artificial
1.1 Introducción a la Inteligencia Artificial
1.2 Inteligencia, Cerebro Humano y el Conocimiento
1.3 ¿Qué es Inteligencia Artificial? Definiciones.
1.4 Historia de la Inteligencia Artificial
1.5 Inteligencia Artificial y los Modelos Computacionales
Computación de IA
Diferencias con un programa convencional de cómputo.
1.5 Problemas y Técnicas de la Inteligencia Artificial
1.6 Estado del Arte de la Inteligencia Artificial (Aplicaciones y Tendencias)
Unidad II: Formas de Representación del Conocimiento
2.1 Definición
Representaciones y Correspondencia
2.2 Clasificación de las Formas de Representación del Conocimiento
2.2.1 Declarativas
Razonamiento Lógico
Tipos Básicos de Razonamientos Lógicos
Razonamiento Deductivo:
Razonamiento Inductivo.
2.2.1.1 Lógica Proposicional
2.2.1.2 Lógica de Predicados (Lógica de Primer Orden, Cálculo de Predicados)
2.2.1.3 Redes Semánticas (RS)
2.2.1.4 Frames (Marcos o Armazones)
Ejemplo de Ranura:
2.2.1.5 Guiones (SCRIPTS)
2.2.2 Procedurales
2.2.2.1 Strips (Sistemas de Planificación)
2.2.2.2 Reglas de Producción
Partes de un Sistema Basado en Reglas:
Ejemplo de Aplicación de las Reglas de Producción:
2.3 Representación con Incertidumbre
Lógicas Modales y los Posibles Mundos
2.4 Ejercicios Propuestos
Unidad III: Métodos de Solución de Problemas
3.1 Introducción
3.2 Como Solucionar el Problema
3.2.1 Definición del Problema
3.2.1.1 Espacio de Búsqueda
3.2.1.2 Tipos de Espacio de Espacios de Búsqueda
3.2.1.3 Representación del Espacio de Búsqueda
3.2.2 Análisis de Problema
3.2.2.1 Tratar de Descomponer el Problema
3.2.2.2 Considerar si se Puede Ignorar o Deshacer Pasos Para la Solución
3.2.2.3 ¿Se Puede Predecir el Universo del Problema?
3.2.2.4 ¿La Mejor Solución o Cualquier Solución Para el Problema?
3.2.2.5 ¿Es Consistente el Conocimiento Disponible Para Resolver el Problema?
3.2.2.6 El Papel que Juega el Conocimiento
3.2.2.7 Considerar si se Necesita la Intervención de Una Persona
3.2.3 Aplicar la Mejor Técnica de IA Para Resolver el Problema
3.3 Métodos de Búsqueda Ciega
3.3.1 Primero a lo Ancho
3.3.2 Primero en Profundidad
3.2.3 Búsqueda en Arboles AND/OR (Y/O)
3.3.4 Encadenamiento Hacia delante (Forward Chaining – enfoque guiado por datos)
3.3.5 Encadenamiento Hacia Atrás (Backward Chaining – enfoque guiado por objetivos)
Ejemplo de “Búsqueda: Mundo de los Bloques”
3.4 Búsqueda Heurística
3.4.1 Definición de Heurística
Página 1 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
3.4.2 Búsqueda por el Incremento Mayor (Hill Climbing)
3.4.3 Búsqueda por el Mejor Nodo (Best First Search)
3.3.4 Búsqueda Heurística en Arboles AND/OR (AO*)
3.4 Ejercicios Propuestos
Unidad IV: Sistemas Basados en el Conocimiento (Sistemas Expertos)
4.1 Definición de Sistema Experto
4.2 La Base de Conocimiento
4.3 La Máquina de Inferencia
4.4 Experticidad Humana y Artificial
4.5 Programas Convencionales vs Sistemas Expertos
4.6 Requerimientos Para el Uso de los Sistemas Expertos
4.7 Aplicaciones de los Sistemas Expertos
4.8 Desarrollo de un Sistema Experto
4.8.1 Etapas del Desarrollo
4.8.2 Adquisición del Conocimiento
4.8.3 Estados en el Desarrollo de un Sistema Experto
4.9 Tratamiento de la Incertidumbre
4.9.1 Fuentes de la Incertidumbre
4.9.2 Representación de la Incertidumbre
Unidad V: Programación Lógica y Conchas Expertas (Expert Shell)
5.1 Introducción al PROLOG
5.2 Secciones de un Programa en PROLOG
DOMAINS
PREDICATES
CLAUSES
GOAL
CONSTANTS
5.3 El lenguaje y programación en PROLOG
5.4 Repetición y Recursión
Retroceso Revisitado
Ejercicio
5.5 Sistemas Expertos Programados con PROLOG
5.6 Introducción a ESTA
5.6.1 Usando un Sistema de Concha Experta
5.6.2 Representación del Conocimiento
5.6.2.1 Comentarios
5.6.2.2 Titulo
5.6.2.3 Secciones
5.6.2.4 Parámetros
5.6.2.5 Ejercicio: Identificación de un Invertebrado
Unidad I: Introducción a la Inteligencia Artificial
Objetivos:
● Definir en forma clara y explicita en que consiste la Inteligencia Artificial.
● Explicar las preguntas mas frecuentes que se generan al aplicar la Inteligencia 
Artificial.
● Distinguir las aplicaciones de Inteligencia Artificial con otras áreas de aplicación 
de la informática.
1.1 Introducción a la Inteligencia Artificial
Página 2 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
La inteligencia artificial comenzó como el resultado de la investigación en Psicología 
cognitiva y lógica matemática. Es una combinación de la ciencia del computador, 
fisiología y filosofía.
Definiremos algunos términos que se usarán en el desarrollo de la clase:
Cognición: Conocimientos, acción y efecto de conocer. Sicología: Conjunto de 
estructuras y actividades sicológicas cuya función es el conocimiento, por oposición a 
los dominios de la efectividad.
Cognoscitivos: Dícese de lo que es capaz de conocer.
Inteligencia: Facultad de entender, de comprender. Sicología: aptitud variable con los 
individuos y las especies para resolver todo tipo de problemas.
Inteligencia práctica: La que se presenta en algunos animales.
Factores que inciden en la inteligencia (Tomado de Internet)
1.2 Inteligencia, Cerebro Humano y el Conocimiento
El cerebro percibe, comprende, predice y manipula un mundo de gran tamaño y 
complejidad. El cerebro por ser la materia más altamente organizada, tiene la propiedad 
de reflejar el mundo objetivo. Precisamente, ese reflejo del mundo objetivo lo que 
constituye el conocimiento humano.
Página 3 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
La forma más elemental de conocimiento son las sensaciones. Por contemplación 
sensorial debe considerarse la vía que nos une con el mundo de las cosas., de sus 
propiedades y relaciones, condicionada por la práctica precedente., el lenguaje, etc. 
Las fuentes de las sensaciones radican en los objetos que se hallan fuera de nosotros. A 
través de los analizadores percibimos la sensación visual, auditiva, olfativa, gustativa, 
táctil. Sin embargo, el hombre percibe el objeto en su totalidad por medio de la 
percepción.
La sensación es la imagen de las características aisladas del objeto, la percepción 
integra varios aspectos del objeto en su interacción, es la integración del sistema de 
sensaciones. No se debe entender la percepción como la suma de distintas sensaciones, 
sino como las sensaciones de acuerdo a una estructura.
Tanto la sensación como la percepción, necesitan de la influencia directa del objeto 
sobre nuestros órganos sensoriales. Un momento algo superior del conocimiento 
corresponde a las representaciones donde el hombre reproduce el objeto en su cerebro 
sin su presencia. El hombre posee un almacén de representaciones en su cerebro, las 
cuales se han formado en el curso en el curso de la actividad práctica.
Las sensaciones, percepciones y representaciones son formas primarias o elementales 
del conocimiento, conforman el nivel sensorial. A este nivel sensorial no se revela la 
esencia de los objetos y fenómenos, a la cognición sensorial se añade la actividad del 
pensamiento abstracto.
La razón humana es quien nos permite penetrar en la esencia de las cosas, las relaciones 
entre ellas, descubrir lo singular, lo común, lo universal. Esta razón humana, a través 
de procesos dialécticos, realizados a partir de las representaciones, elabora conceptos, 
juicios y conclusiones, que constituyen las formas superiores del conocimiento. El paso 
de lo sensorial a lo racional, es un salto dialéctico. Las sensaciones y percepciones 
son propias del hombre y de los animales, y constituye un salto cualitativo el paso del 
conocimiento sensorial al abstracto, que es propio exclusivamente del hombre.
 Un paso fundamentalmente inherente de la teoría del conocimiento, es la práctica. La 
práctica constituye la fuente del conocimiento, el conocimiento es el objetivo de la 
práctica y, al mismo tiempo, la práctica es la esfera de aplicacióndel conocimiento.
Página 4 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
El hombre asimila los conocimientos mediante los distintos tipos de percepción, los 
cuales sirven de base al proceso del pensamiento que culmina con la fijación de los 
conocimientos adquiridos en la conciencia. El proceso de asimilación parte del contacto 
con el objeto de estudio o su representación y en el tiene lugar una actividad analítica-
sintética, que garantiza la calidad de la percepción.
La consideración de que el conocimiento comienza en el plano sensorial y se eleva 
al plano racional, nos lleva en el proceso de enseñanza a destacar la importancia de 
proporcionar a los alumnos representaciones del objeto o fenómeno de estudio. Para 
conocer los objetos y fenómenos ante todo, debemos observarlos en su conjunto 
y describirlos, para después, explicarlos teniendo en cuenta la interrelación de 
sus distintas partes y de su estructura como un todo, para formular las leyes de su 
existencia.
Es necesario exponer que todo conocimiento teórico tiene sus raíces en los objetos 
y fenómenos de la realidad, de la misma manera que la experiencia, es decir, el 
conocimiento sensorial considerado aisladamente sin su conexión con lo teórico, no nos 
lleva a la esencia del fenómeno.
Discuta: Los animales no son inteligentes –solo hacen lo que sus genes les indican. ¿Es 
esta ultima afirmación verdadera e implica la primera?
Página 5 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
1.3 ¿Qué es Inteligencia Artificial? Definiciones.
Alan Turing expresa que:
“Si durante el intercambio entre una computadora 
y el usuario este último cree que está intercambiado 
con otro humano, entonces se dice que el programa es 
inteligente”
El test de Turing consiste en:
● El interrogador formula un conjunto de preguntas que deben ser respondidas por 
una máquina y por un ser humano.
● Si el interrogador no puede diferenciar al humano de la máquina, entonces se 
dice que la máquina es inteligente.
Según Schildlt:
un “programa inteligente” es uno que muestra un 
comportamiento similar al humano cuando se enfrenta 
a un problema. No es necesario que el programa resuelva 
realmente el problema de la misma forma que el hombre.
Para Forsyth:
La IA se relaciona con problemas los cuales han 
escapado de una caracterización matemática
Elaine Rich:
“la IA es el estudio de cómo lograr que las computadoras hagan cosas que por el 
momento, las personas hacen mejor”.
Una computadora encuentra las raíces de una ecuación mucho mas rápido y con 
mayor exactitud que un hombre; sin embargo, el hombre reconoce mucho mejor 
un conjunto de caracteres.
1.4 Historia de la Inteligencia Artificial
Página 6 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
Como rama de la Ciencia de la Computación, la I.A. ha evolucionado tanto en la 
formalización, como en la implementación de sus técnicas. Un resumen cronológico de 
su desarrollo puede ser el siguiente: 
1936 - Turing formaliza el concepto de computadora de propósito general.
1945 - Von Neumann concibe el diseño de “programa almacenado” para compu-tadoras 
digitales.
1946 - Aparece ENIAC, primera computadora digital de propósito general de-dicada.
1950 - Turing describe su test para conocer si una máquina es “inteligen-te”.
1955 - Bernstein desarrolla el primer programa para jugar ajedrez.
1956 - McCarthy organiza la conferencia de Dartmouth e introduce el término 
Inteligencia Artificial.
Newell, Shaw y Simon desarrollan el Logic Theorist, primer programa de Inteligencia 
Artificial exitoso.
1957 - McCarthy desarrolla el LISP (primer lenguaje de Inteligencia Arti-ficial).
Newell, Shaw y Simon comienzan los trabajos para encontrar un solucionador general 
de problemas (GPS).
Chomsky introduce transformaciones gramaticales para modelar la sintaxis de los 
lenguajes naturales.
1965 - Feigenbaum desarrolla DENDRAL (primer Sistema Experto).
Dreyfus publica el artículo “Alchemy and Artificial Intelligence”.
1966 - Quillian desarrolla las redes semánticas.
1967 - Greenblatt desarrolla MacHack, el primer programa de ajedrez profe-
sionalmente competente.
1970 - Aparece “Learning Structural Descriptions from Examples” de Winston 
(primer artículo que se dedicó al Aprendizaje Automatizado).
 Colmerauer desarrolla el lenguaje de programación PROLOG.
1972 - Es desarrollado MYCIN, primer Sistema Experto en utilizar reglas de 
producción.
Winograd completa el SHRDLU, un programa para el procesamiento de lenguaje 
natural.
1974 - En su artículo “A framework for representing knowledge” Minsky de-fine los 
marcos.
1975 - El MIT inventa la máquina LISP, primera especializada en I.A.
1982 - Aparece una teoría sobre visión desarrollada por Marr.
Comienzan las investigaciones de los japoneses y la Quinta genera-ción.
1986 - Se introduce la primera Máquina Conexionista por Thinking Machines 
Corporation.
Aparece la primera microcomputadora de 32 bits.
1987 - Primera Conferencia Internacional sobre Redes Neuronales Artificia-les.
1988 - Primera computadora ajedrecista Hitech.
El desarrollo de la I.A. pudiera enmarcarse en las siguientes etapas:
● Oscura (década del 50) : Surgen la Redes Neuronales Artificiales (R.N.A.).
● De la razón (década del 60) : Desarrollo de la lógica y los demostrado-res de 
teoremas.
● Romántica (década del 70) : Surgimiento de los Sistemas Expertos.
● Ilustración (década del 80) : Desarrollo del aprendizaje automatizado o 
extracción automatizada del conocimiento.
● Renacimiento gótico (década del 90) : Resurgimiento de las R.N.A.
Página 7 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
Los trabajos iniciales dentro del campo de la I.A. estuvieron dirigidos a emular el 
proceso del pensamiento humano. Resultados relevantes fueron el intento de Newell, 
Shaw y Simon de crear un Solucionador General de Problemas (GPS), así como el 
éxito alcanzado a fines de la década de los 50 e inicios de los años 60 por Rosemblatt 
al crear los Perceptrons. En ambos casos, otros autores se encargaron de demostrar las 
limitaciones de ambos intentos.
En 1973 Gödel demostró que era imposible la matematización del proceso de 
razonamiento lo cual anulaba la posibilidad de crear, al menos en el presente, un 
GPS como el pensado por Newell, Shaw y Simon. Minsky y Papert en los años 60 
mostraron las serias limitaciones del funcionamiento de un perceptron simple a través 
del problema clásico del XOR. Es por esto que a esta etapa se le denominó oscura.
Sin embargo, en América los trabajos en I.A. siguieron otra dirección. Se planteaba 
que, si bien no existía una teoría universal de la inteligencia, sí era posible crear 
inteligencias especializadas. En esta época se comenzó a dar más importancia al papel 
del conocimiento que a los métodos potentes de solución de problemas, todo lo cual 
llevó a la reactivación de los trabajos en este campo.
La I.A. cobró vigor en la década de los 80, debido al éxito alcanzado por los Sistemas 
Expertos, al proyecto japonés de Quinta Generación, el cual originó un gran avance 
tecnológico y al éxito del uso de técnicas de I.A. en problemas concretos como el 
reconocimiento de patrones, la robótica, la visión, etc.
El desarrollo de la I.A. ha seguido dos líneas principales: la simbólica y la subsimbólica. 
La primera se caracteriza por desarrollar modelos que describen, formalizan e 
implementan aspectos sistematizables del conocimiento en forma explícita (Sistemas 
Expertos, Razonamiento basado en casos, etc). La otra se basa en los enfoques no 
representacionales de la I.A. (R.N.A., algoritmos genéticos y sistemas difusos). El 
cálculo subsimbólico se basa en el uso de representaciones analógicas, el conocimiento 
se reparte entre diversas componentes del sistema que están enlazadas y que pueden 
funcionar en paralelo.
 Finalmente es necesario mencionar uno de los problemas fundamentales que enfrenta 
actualmente la I.A.: el problema del aprendizajeautomatizado, para el que no existe 
actualmente una solución eficiente.
1.5 Inteligencia Artificial y los Modelos Computacionales
El término de “Inteligencia Artificial”, es utilizado para describir el objetivo de lograr 
que los programas que se ejecuten en computadoras, permitan reproducir conductas 
humanas inteligentes, tales como resolución de problemas, comunicación en lenguaje 
natural y tomas de decisiones creativas.
La inteligencia artificial es una rama de la ciencia informática dedicada a la creación 
tanto de software como de hardware que imitan a la mente humana. En el estado 
actual de desarrollo de la IA existen técnicas para tratar de solucionar problemas 
complejos mediante el empleo de procesos de búsquedas, formas de representación del 
conocimiento y aprendizaje. Por sus características, los métodos utilizados se dividen en 
dos grupos, los cuales definen los dos enfoques de desarrollo de la IA. La Inteligencia 
Página 8 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
Artificial Simbólica (IAS), y la Inteligencia Artificial Conexionista. Usualmente la 
IAS se refiere como IA simplemente, mientras que la IAC, se identifica con las Redes 
Neurales Artificiales.
El acierto principal de la IA es el de hacer a la computadora lo más inteligente posible, 
creándose programas que permitan modelar algunas de las funciones del cerebro 
humano en aplicaciones seleccionadas. La idea no es reemplazar lo que hace el hombre, 
pero nos suministran una poderosa herramienta para auxiliarnos en nuestro trabajo.
La inteligencia es la capacidad humana de adquirir conocimientos y aplicarlos, el 
recurso de la capacidad de pensar y razonar. En un grado limitado, la inteligencia 
artificial permite a las computadoras aceptar conocimiento desde la entrada humana, 
entonces utilizarlos a través de pensamiento simulado y procesos de razonamiento para 
resolver los problemas. Aunque una computadora no tiene experiencia, o estudio y 
aprendizaje como lo tiene la mente humana, ella puede adquirir conocimientos dados 
a ella por los humanos expertos. Los conocimientos consisten de hechos, conceptos, 
teorías, procedimientos y relaciones. El conocimiento es también información que ha 
sido organizada y analizada para hacerse comprensible y aplicable. Muchas bases de 
conocimiento están limitadas a aquellos enfoques típicos hacia alguna área, objeto 
específico o dominio.
Con una base de conocimiento y la habilidad de desprender inferencia (deducciones), 
a partir de ella, la computadora puede hacer un uso práctico como es la solución de un 
problema y tomar una decisión (ver ilustración 2).
En un programa de cómputo convencional le decimos mediante un algoritmo como 
resolver un problema a la computadora, mientras en la IA le decimos a la computadora 
cual es el problema, pero no como resolverlo. Comúnmente a la computadora se le 
dan los datos y un programa paso a paso que especifica como el dato es utilizado para 
alcanzar la respuesta. En las computadoras con IA, le son dados conocimientos acerca 
del área objeto de los problemas, más alguna capacidad de hacer inferencias (deducir).
Página 9 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
Hay un hecho, y es que los programas de IA son implementados por técnicas de 
búsquedas y coincidencia de patrones. Le damos a la computadora una serie de 
información y una guía para utilizarla.
El sistema experto es un programa de IA que incorpora una base de conocimiento, una 
base de datos y un sistema de inferencia. Este es un software altamente especializado, 
que tiene la intención de duplicar la función de un experto en algún campo de la 
experiencia. El programa actúa como un consultante inteligente o asesor de un dominio 
de interés, capturando el conocimiento de uno o más expertos.
Computación de IA
El programa de IA no está en un proceso algorítmico, en su lugar, está basado en 
representación simbólica y manipulación. En la IA, un símbolo es una letra, palabra o 
número que es utilizado para representar objetos, proceso y sus relaciones. Los objetos 
pueden ser personas, cosas, ideas, conceptos, eventos o sentencias de hechos. Mediante 
la utilización de símbolos es posible crear bases de conocimiento que caracterizan 
hechos (estados), conceptos y relaciones entre ellos. Entonces son utilizados procesos 
variados para manipular los símbolos y resolver el problema.
Los procesos son cualitativos en lugar de cuantitativos como es un algoritmo de 
cómputo convencional. Virtualmente todas las computadoras son algorítmicas en 
sus operaciones, basados en el concepto de máquina secuencial sincrónica de Von 
Neumann. La cuestión consiste en como es implementado el procesamiento simbólico 
en una máquina algorítmica. El programa algorítmico está escrito de tal forma como 
para permitir representación y manipulación simbólica.
Una vez que la base de conocimiento de hechos y su asociación lógica este construida, 
algún medio de utilización para resolver el problema debe de ser desarrollado, 
para inferir con esta base de conocimiento, las técnicas básicas son la búsqueda y 
coincidencia de patrones. Dando alguna información inicial, el programa de IA busca en 
la base de conocimiento inquiriendo por una condición específica del patrón. Ella busca 
una coincidencia que satisfaga los criterios impuestos para resolver el problema. La 
computadora literalmente efectúa una búsqueda hasta que ella puede encontrar la mejor 
respuesta que puede encontrar basada en el conocimiento que ella tiene.
Mientras que la solución del problema que se lleva a cabo no es un algoritmo, por 
supuesto, son utilizados algoritmos para implementar el proceso de búsqueda (ver 
ilustración 3).
La mayoría de los sistemas de IA actualmente incluyen dos partes básicas: una base 
de conocimiento y un mecanismo de inferencia. La base de conocimiento contiene los 
hechos y relaciones entre los objetos en el dominio seleccionado y constituye la fuente 
de inteligencia del sistema, la que es utilizada por el mecanismo de inferencia para 
arribar a ciertas conclusiones.
Página 10 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
Diferencias con un programa convencional de cómputo.
En un programa de convencional de cómputo, se le dice a la computadora que resuelva 
el problema mediante en algoritmo. Entran los datos y un programa paso a paso llega a 
la solución del problema específico.
En la IA se le da a la computadora conocimientos del área objeto del problema, 
más la capacidad de deducir (inferir), en un proceso totalmente cualitativo basado en la 
representación y manipulación simbólica. Dando una información inicial, el programa 
de IA busca en la base del conocimiento inquiriendo por una condición específica del 
patrón. Ella busca una coincidencia que satisfaga los criterios los criterios impuestos 
para resolver el problema. La computadora literalmente efectúa una búsqueda, hasta que 
ella pueda encontrar la mejor respuesta que pueda encontrar basada en el conocimiento 
que ella tiene.
Partiendo del hecho cómo funciona un programa de inteligencia artificial, se llega 
a la conclusión de que las computadoras no son realmente tan inteligentes. Se da a 
la computadora un lote de información y alguna guía para utilizarla. Usando esta 
información y aquellos criterios, la computadora entrega una solución.
Aunque la computadora no es realmente inteligente, ciertamente parece que piensa y 
frecuentemente entrega una solución satisfactoria.
Espectro de Inteligencia
En el espectro de la inteligencia, se muestran los grados de inteligencia universal de 
acuerdo al juicio de las pruebas de “Turing”, realizados por el matemático Inglés Alan 
Turing, pionero de la IA.
1.5 Problemas y Técnicas de la Inteligencia Artificial
Hay un hecho, y es que los programas de IA son implementados por técnicas de 
búsquedas y coincidencia de patrones. Le damos a la computadora una serie de 
información y una guía para utilizarla.Página 11 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
Para la resolución de problemas de I.A. se requieren técnicas que difieren de las 
convencionales. Los programas de I.A. requieren de conocimiento. En compensación 
por esta arrolladora ventaja, el conocimiento tiene algunas propiedades menos deseables 
como son: 
● Ser voluminoso.
● Ser difícil de caracterizar y modelar con presición.
● Estar cambiando constantemente.
Una técnica de I.A. es un método para explotar el conocimiento, que debería ser 
representado de tal manera que:
● Capte generalizaciones: No es una Base de Datos. No debe ser necesario 
representar cada situación individual, sino que se agrupen las situaciones que 
compartan propiedades importantes. Si no tiene esta característica se necesitaría 
más espacio del disponible y más tiempo del que tenemos para mantenerlo 
actualizado.
● Pueda ser comprendido por los especialistas que lo proporcionan.
● Deba ser modificable fácilmente.
● Pueda ser usado en muchas situaciones diversas, incluso si no es total-mente 
preciso o completo.
● Pueda ser usado para extenderse a sí mismo.
Los lenguajes básicos para la implementación de las técnicas de I.A. son LISP y 
PROLOG por las facilidades que brindan para el tratamiento simbólico, entre otras 
razones. LISP permite diseñar las estructuras de datos y los algoritmos que los 
manejan de una manera muy eficiente. PROLOG, a su vez, tiene muy buen poder 
expresivo, permitiendo una formulación bastante natural y directa en la solución de 
muchos problemas. En esto, los lenguajes procedurales son muy malos. No se debe 
confundir las técnicas de I.A. con software de I.A. Se deben diferenciar dos aspectos 
fundamentales:
● Software para el desarrollo de aplicaciones con técnicas de I.A. Ejemplo: el shell 
de un sistema experto, máquina de inferencia más interfase con el usuario, puede 
ser escrito en cualquier otro lenguaje. De hecho, el LISP y el PROLOG son 
malos para implementar shells debido a su eficiencia computacional.
● Aplicaciones en el campo de I.A. Ejemplos: Sistemas Expertos, traductores, 
demostradores de teoremas específicos, etc. Para los traductores es mejor usar 
LISP y para los de-mostradores de teoremas, es mejor el PROLOG. 
Es posible resolver problemas de I.A. sin usar técnicas de I.A., aunque las soluciones no 
son muy buenas. A su vez, es posible aplicar técnicas de I.A. a problemas que no son de 
I.A. 
1.6 Estado del Arte de la Inteligencia Artificial (Aplicaciones y 
Tendencias)
Para entender la importancia de la inteligencia artificial, hay que comprender la IA ha 
irrumpido en casi todos los campos de la ciencia, hay que ver cual es el estado del arte 
de esta manera veamos los campos de aplicación de la IA.
Página 12 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
Solución de problemas de tipo general: La IA generalmente es aplicable a un tipo 
de usuario aunque un programa puede tener la habilidad de ser aplicado en un rango 
amplio de sujetos.
Sistemas Expertos: Un sistema experto permite que el conocimiento de uno o 
más expertos sean capturado y almacenados en una computadora. Entonces estos 
conocimientos podrán ser utilizados por cualquiera que así lo requiera.
Procesamiento de Lenguaje Natural (NPL): Estos programas utilizan las técnicas de 
inteligencia artificial para permitir que la computadora comprenda y genere el lenguaje 
natural. Un proceso avanzado de procesamiento de voz utiliza las técnicas de IA.
Visión en Computadora: Utilización de la computadora para analizar y evaluar la 
información visual. Las técnicas de IA permiten a la computadora examinar una imagen 
o escena de la vida real para identificar objetos particulares, formas o patrones.
Robótica: La IA también es utilizada en el campo de la robótica. Ese es un campo en 
que los ingenieros se dedican a la duplicidad de las capacidades de los seres humanos, 
un natural complemento de la IA que intenten simular las habilidades mentales 
humanas.
Educación: Se utilizan tutores inteligentes que se adapten al estudiante para el proceso 
de aprendizaje.
Además se ha llegado a crear nuevas disciplinas como son:
Automática + Mecánica + Computación + IA Mecatrónica
Biología Molecular + Computación + IA Bioinformática.
BIOINFORMATICA
Es la ciencia que utiliza una combinación de las tecnologías de la computación, las 
ciencias de la información, la biología teórica y el conocimiento biológico, para 
coleccionar, almacenar, analizar, relacionar y modelar datos biológicos.
Significa un Cambio de paradigma: de Buscar datos e Interpretar datos
● La ventaja competitiva cambia de la capacidad de generar datos a la capacidad 
de interpretarlos.
● Enormes Bases de datos de secuencia de genes y proteínas se duplican cada 14 
meses.
● A la economía tecnológica la reemplazará la Bioeconomía.
Problemas genéricos:
● Predicción de estructuras y funciones.
● Encontrar relaciones entre genes de diferentes especies y entre genes y 
determinadas enfermedades.
● Descubrir patrones de Genes y Proteínas.
Página 13 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
Unidad II: Formas de Representación del Conocimiento
Objetivos:
● Explicar las diferentes formas de representación del conocimiento existentes en 
Inteligencia Artificial.
● Aplicar adecuadamente las formas de representación del conocimiento a un 
problema específico.
2.1 Definición
 Llamamos Forma de Representación del Conocimiento (F.R.C.) a la notación usada 
para representar el mismo, es decir la manera en que se almacena.
El objetivo de la representación del conocimiento es expresar éste en forma manejable 
por la computadora. Un lenguaje para la representación del conocimiento consta de dos 
aspectos:
● Sintaxis: Explica las posibles configuraciones mediante las cuales se forman las 
oraciones.
Página 14 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
● Semántica: Determina los hechos del mundo a los que hacen alusión las oraciones. 
Mediante la semántica, cada oración expresa algo relacionado con el mundo.
Un componente clave de cualquier aplicación de la IA es el conocimiento considerado 
como la comprensión de alguna área especifica que se obtiene a través de la experiencia 
o educación. El conocimiento esta compuesto de hechos, conceptos, teorías, 
procedimientos y relaciones. El conocimiento es también información que ha sido 
organizada y analizada para hacerla más comprensible y aplicable en la solución de 
problemas o en la toma de decisiones.
Se puede asegurar que el proceso de captación y organización del conocimiento, 
denominado Ingeniería del Conocimiento, es la fase más difícil y que consume más 
tiempo en la realización de cualquier software que utilice técnicas de IA. Para poder 
almacenar el conocimiento es necesario lograr su representación, lo cual no es más 
que la estructuración del conocimiento relacionado con un problema, en una forma 
que conduzca a que el problema sea más fácil de resolver. La cuestión básica de la 
representación del conocimiento es el desarrollo de una notación suficientemente 
precisa con la cual representar el mismo. A esa notación se le llama Forma de 
Representación del Conocimiento (FRC).
Las características comunes de los esquemas de representación del conocimiento son 
dos: una es que son programados con un lenguaje de cómputo existente y almacenado 
en memoria, y la otra es que sean diseñados de forma tal que los hechos y otros 
conocimientos contenidos en ella puedan ser utilizados en razonamiento. Esto es, la 
base de conocimiento que contiene una estructura de datos que puede ser manipulada 
por un sistema de inferencia. La otra mayor parte del programa de IA son los sistemas 
de inferencia que utilizan técnicas de búsqueda y coincidencia de patrones sobre la base 
de conocimiento, para responder preguntas, sacar conclusiones y efectuar otras formas 
de una función inteligente.
Representaciones y Correspondencia
Un componenteclave de cualquier aplicación de IA es el conocimiento, considerado 
como “la comprensión de algún área específica que se obtiene a través de la experiencia 
o la educación”.
Para resolver los problemas complejos a los que se enfrenta la IA, es necesario disponer 
tanto de una cantidad de conocimiento como de una serie mecanismos que permitan 
manipularlo con el fin de obtener soluciones a nuevos problemas.
Hay una característica que está presente en todas las representaciones, el hecho de que 
estamos manejando dos tipos de entidades.
Hechos: Verdades en un cierto mundo. Es aquello que queremos representar.
Representaciones: de los hechos en un determinado formalismo. Estas son las 
entidades que realmente seremos capaces de manipular.
Estas dos entidades se pueden clasificar en dos niveles distintos:
Página 15 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
El nivel del conocimiento, donde se describen los hechos.
El nivel simbólico, donde se describen los objetos del conocimiento en términos 
simbólicos manipulables por programas.
Los enlaces de correspondencia entre las representaciones y los hechos son 
denominados las correspondencias de la representación.
La representación hacia delante establece una correspondencia entre los hechos y las 
representaciones, mientras que la correspondencia inversa se realiza hacia atrás, desde 
las representaciones hacia hechos.
Los programas de IA no hacen más que manipular las representaciones internas de los 
hechos que reciben. Estas manipulaciones darán lugar a nuevas estructuras que a su vez 
podrán ser interpretadas como representaciones internas de hechos.
En esta figura resulta evidente la importancia de los mecanismos de correspondencia 
entre las representaciones.
Las funciones de correspondencia no suelen ser biunívocas, ni funciones, sino 
relaciones de muchos a muchos.
Ejemplo:
Hecho Representación
Al menos los perros tienen una cola Todos los perros tienen cola
Todo perro tiene cola
Página 16 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
Pueden representar el mismo hecho de que al menos los perros tienen una cola. Por otra 
parte, la primera puede representar todos los perros tiene una cola o bien que cada 
perro tiene varias colas. La segunda que todos los perros tienen al menos una cola 
o bien que hay una cola común que todos los perros tienen.
2.2 Clasificación de las Formas de Representación del 
Conocimiento
Las F.R.C. pueden clasificarse en: 
Declarativas: Donde la mayor parte del conocimiento se representa como una colección 
estática de hechos junto con un pequeño conjunto de procedimientos generales para 
manipularlos. Ejemplos de ellas son:
 - Lógica (Proposicional, Cálculo de predicados, No Monotónica, etc.).
 - Redes semánticas. 
 - Marcos o armazones.
 - Guiones.
Procedurales: Donde la mayor parte del conocimiento se representa como 
procedimientos para usarlo.
 - Reglas de producción.
 - Strips.
2.2.1 Declarativas
Una representación declarativa es aquella en la que el conocimiento está especificado, 
pero la manera en que dicho conocimiento debe ser utilizado no viene dado. En 
el método declarativo se considera que el control de búsqueda del conocimiento 
se encuentra completamente separado de las propias reglas. Para utilizar una 
representación declarativa se debe aumentar ésta con un programa que especifique lo 
que debe hacerse con el conocimiento y de que modo debe hacerse. Es utilizado para 
representar hechos y afirmaciones. Por ejemplo, un conjunto de aserciones lógicas, se 
puede combinar con un demostrador de teoremas por resolución para dar lugar a un 
programa completo de resolución de problemas.
 Las F.R.C. declarativas tienen las siguientes ventajas:
● Cada hecho sólo necesita almacenarse una vez, sin importar el número de 
maneras diferentes en que pueda usarse.
● Es fácil añadir nuevos hechos al sistema sin cambiar los otros hechos ni los 
procedimientos pequeños.
Razonamiento Lógico
El lenguaje de la lógica es uno de los mecanismos concretos de la representación del 
conocimiento. Quizás sea la RPC más antigua. Es considerada una subdivisión de la 
filosofía. El aspecto más atractivo del formalismo lógico es que proporciona de una 
Página 17 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
manera inmediata un método muy potente para la obtención de nuevo conocimiento a 
partir de uno antiguo: la deducción matemática.
La regla general para un proceso lógico (ver figura 4), es primero se da la información, 
se hace la sentencia o se considera la observación. Esta forma de entrada al proceso 
lógico son las premisas. Las premisas son utilizadas por el proceso lógico para crear la 
salida que consiste de conclusiones llamadas inferencias. Con este proceso, los hechos 
que son conocidos como verdaderos pueden ser usarse para deducir nuevos hechos que 
también deben ser ciertos.
La prueba como un método riguroso de demostración de una proposición que se 
cree cierta se puede extender a la deducción como un medio de obtener respuestas a 
preguntas y soluciones a problemas.
Tipos Básicos de Razonamientos Lógicos
Hay dos tipos básicos de razonamientos: el deductivo y los inductivos. Ambos son 
utilizados por la lógica para realizar inferencias a partir de premisas.
Razonamiento Deductivo:
Cuando la premisa general es utilizada para obtener una inferencia específica, el 
proceso es llamado razonamiento deductivo o deducción. El razonar va desde un 
principio general a una conclusión específica. El proceso deductivo generalmente 
comienza con una declaración de premisas e inferencias. El proceso deductivo 
generalmente consiste en tres partes:
● Mayor premisa: Yo no corro cuando la temperatura excede 90º.
● Menor premisa: Hoy la temperatura es de 93º.
● Conclusión: Debido a ello, yo no corro hoy.
Para utilizar el razonamiento deductivo, el problema deberá ser formateado en esta 
forma. Una vez que este formato se logre, la conclusión será valida si las premisas son 
ciertas. Nuevamente, la idea inicial es la de desarrollar un nuevo conocimiento a partir 
de un conocimiento dado previamente.
Razonamiento Inductivo.
Página 18 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
Utiliza un número establecido de hechos o premisas con el fin de discurrir alguna 
conclusión general.
● Premisa: Diodos defectuosos causan que el equipo electrónico falle.
● Premisa: Transistores defectuosos causan que el equipo electrónico falle.
● Premisa: Circuitos integrados defectuosos causan que el equipo electrónico falle.
● Conclusión: Debido a ello, los defectos en los componentes semiconductores 
son la mayor causa de que los equipos electrónicos fallen.
Las conclusiones pueden cambiar si se describen nuevos datos. Siempre habrá alguna 
incertidumbre en la conclusión al menos que todos los hechos posibles estén incluidos 
en las premisas, y esto es prácticamente imposible. Como resultado, la salida de un 
proceso de razonamiento inductivo contendrá siempre alguna medida de incertidumbre. 
Sin embargo, esta incertidumbre será reducida según más hechos o premisas sean 
usados en el proceso de razonamiento.
2.2.1.1 Lógica Proposicional
Una proposición no es más que una sentencia que bien es cierta o es falsa. Esta es una 
premisa, la cual puede ser utilizada para derivar nuevas proposiciones o inferencias. Son 
utilizadas reglas para determinar la veracidad o falsedad de la nueva proposición.
En la lógica proposicional se utilizan símbolos tales como letras del alfabeto para 
representar las proposiciones, premisas, o conclusiones.
A = El cartero viene de lunes a sábado.
B = Hoy es domingo.
C = El cartero no viene hoy.
Los problemas del mundo real involucran muchas proposiciones interrelacionadas. 
Para formular premisas más complejas, dos o más proposiciones pueden combinarse 
utilizando los operadores lógicos AND, OR, NOT, IMPLICA, o EQUIVALE. Estos 
son los mismos que aquellos utilizadosen el álgebra Booleana. En efecto, la lógica 
proposicional involucra solo las proposiciones verdadero o falso, el álgebra booleana y 
todas las técnicas relacionadas utilizadas en el análisis, diseño o simplemente circuitos 
de lógica binaria pueden ser utilizados en la lógica proposicional.
La sintaxis de la lógica proposicional es bastante sencilla. Los símbolos utilizados 
en la lógica proposicional son las constantes lógicas verdadero y falso, símbolos de 
proposiciones tales como P y Q, los conectivos lógicos ^, v, <=>, =>, ¬ y paréntesis ( 
). Las oraciones se forman combinando los signos anteriores mediante las siguientes 
reglas:
● Las constantes lógicas verdadero y falso constituyen oraciones en si mismas.
● Un símbolo propositivo tal como P o Q es una oración, por ejemplo (P ^ Q).
● Una oración se forma combinando oraciones más sencillas con uno de los cinco 
conectores lógicos:
○ ^ Conjunción lógica ( And o y).
Página 19 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
○ V Disyunción (OR u O).
○ => Implicación. Una oración como (P ^ Q) => R se conoce como 
implicación (o condicional). Su premisa o antecedente es P ^ Q y su 
conclusión o consecuente es R. A las implicaciones también se les 
conoce como reglas o aseveraciones si-entonces.
○ <=> Equivalencia.
○ ¬ (NOT o no). Por ejemplo a una oración como ¬ P se le conoce como la 
negación de P.
La semántica de la lógica propositiva es sencilla, se define especificando la 
interpretación de los signos de proposición y de las constantes y especificando el 
significado de los conectores lógicos.
Se han desarrollado lenguajes de programación simbólicos como es el PROLOG; el 
cual está diseñado a la medida del cálculo de predicados y de la operación fundamental 
de la lógica, que es la inferencia. El nombre del lenguaje responde a la etimología: 
Programación Lógica (PROgramming in LOGic).
La lógica proposicional no es muy útil en la IA, porque ella trata con sentencias o 
proposiciones completas para determinar si son falsas o verdaderas, resultando pues 
limitada para representar el conocimiento real. Consecuentemente, la IA usa la Lógica 
de Predicados (denominado también Cálculo de Predicados, o también Lógica de 
Primer Orden), que es una forma más elaborada de la lógica que utiliza los mismos 
conceptos y reglas de la lógica proposicional, pero permite separar una sentencia en 
sus partes componentes, por lo que se facilita la descripción de las características y 
aserciones del objeto analizado. La lógica de predicados constituye una FRC que es más 
aplicable a la resolución de problemas prácticos en una computadora.
2.2.1.2 Lógica de Predicados (Lógica de Primer Orden, Cálculo de 
Predicados)
Debido a que la lógica proposicional relaciona sentencias completas y que cuando 
ellas son verdaderas o falsas, su habilidad para representar el mundo del conocimiento 
es limitada. Por lo tanto la IA utiliza la lógica de predicado. Esta es una lógica más 
sofisticada que utiliza todos los mismos conceptos y reglas que la lógica proposicional.
La lógica de predicado permite descomponer una sentencia en partes componentes, 
nombradas un objeto, una característica del objeto o alguna afirmación del objeto. Esta 
lógica también permite utilizar variable y funciones de variable en una sentencia lógica 
simbólica.
● Objetos: gente, casas, números, teorías, colores, juegos de béisbol, guerras, 
siglos…..
● Relaciones: hermano de, mayor que, dentro de , parte de, de color, sucedió luego 
de, es el dueño de……
● Propiedades: rojo, redondo, de varios pisos, falso, lo mejor….
● Funciones: padre de, mejor amigo de, tercer tiempo de, uno más que….
Ejemplo: “Uno mas dos es igual a tres”
Objetos: uno, dos, tres, uno mas dos.
Página 20 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
Relación: es igual a 
Función: mas
Una proposición o premisa se divide en dos partes, los argumentos u objetos y el 
predicado (o la afirmación). Los argumentos son los individuos u objetos que se hacen 
con la afirmación. El predicado es la afirmación que se hace acerca de ellos. Los dos se 
combinan para crear una proposición.
Sintaxis:
PREDICATE (Individuo [objeto]1, Individuo [objeto]2).
Por ejemplo la proposición: el carro está en el garaje. Se puede establecer como:
ADENTRO(CARRO,GARAJE)
En el cálculo del predicado se pueden utilizar letras por los argumentos:
Proposición: Juan se parece a María.
En forma de variable:
X = Juan
Y = María
La proposición sería: SE_PARECE(JUAN, MARIA)
Utilizando este sistema es posible formar una base de conocimiento. El conocimiento 
expresado en el cálculo de predicado puede ser manipulado para generar inferencias:
Juan se parece a María.
Página 21 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
Ramón se parece a María.
Juan = X María = Y Ramón = Z
SEPARECE(X,Y) AND NOT SEPARECE(Z,Y) IMPLIES NOT SEPARECE(X,Z)
Esta expresión dice que si Juan se parece a María y Ramón no se asemeja a María, 
entonces Juan no es como Ramón.
Un cuantificador es un símbolo que permite establecer el rango o alcance de las 
variables en una expresión lógica. Son utilizados dos cuantificadores básicos en la 
lógica:
 Para todo
 Hay un, Existe un (existencia)
Ejemplo: Todos los managuas son ciudadanos de Nicaragua.
( X) [managuas(X), ciudadanos Nicaragua(X)]
Algunos carros son rojos.
( X) [carro(X) AND son rojos(X)]
Los cuantificadores son la vía exacta para determinar cuando las cosas son ciertas y bajo 
que condiciones todas las veces o exactamente algunas de las veces.
 En la lógica de predicados podemos representar los hechos del mundo real como 
declaraciones escritas como fórmulas bien formadas. Veamos un ejemplo.
 Sultán es un perro.
 perro(Sultán)
 Los humanos son hombres o mujeres.
 (x) [humano(x) (hombre(x) mujer(x))]
 Todos los hombres tienen una madre. 
 (x) (y) madre(y,x)
Unificación y LIFTING
La sección anterior describe cómo se comprendía la lógica de primer orden hasta 
principios de 1960. Pero un ojo observador (y ciertamente para los expertos en lógica 
de ese tiempo) hubieran notado que el acercamiento a la proposionalización es más 
bien ineficiente. Por ejemplo, dada la búsqueda (pregunta) Demonio(x) y la base de 
conocimiento en ecuación, parece perverso generar oraciones como Rey(Ricardo) ^ 
Avaro(Ricardo) Demonio(Ricardo).
 
Ciertamente, la inferencia de Demonio(Juan) a partir de las oraciones
Página 22 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
x Rey(x) ^ Avaro(x) Demonio(x) 
Rey(Juan) 
Avaro(Juan) 
Parece obvio para un ser humano. Mostraremos como hacerla completamente obvio 
para una computadora 
Una regla de inferencia de primer orden 
La inferencia de que Juan es demonio trabaja de esta manera: encuentra algún x tal que 
x es un rey y x es avaro, y entonces infiere que x es demonio. De manera más general, si 
hay alguna substitución θ que haga la premisa de la implicación idéntica a las oraciones 
que ya están en la base del conocimiento, entonces podemos assert (afirmar, declarar) 
la conclusión de la implicación, después de aplicar θ. En este caso, la substitución {x/ 
Juan) alcanza ese objetivo.
 
Podemos hacer que el paso de la inferencia haga aún más trabajo. Supongamos que en 
ves de saber avaro(Juan), sabemos que todo el mundo es avaro:
y Avaro(y). 
Entonces nos gustaría aún poder concluir que Demonio(Juan), porque sabemos que Juan 
es un Rey(nombre) y Juan es avaro (porque todo mundo es avaro). Lo que necesitamos 
para que esto trabaje es una substitución para ambas las variables en la oración de 
implicación y para las variables en las oraciones a ser igualadas. En este caso, aplicando 
la substitución {x / Juan, y / Juan} a las premisas Rey(x) y Avaro(x) y las oraciones 
de la base de conocimiento Rey(Juan) y Avaro(y) las harán idénticas. Por lo tanto, 
podemos inferir la conclusión de la implicación.Este proceso de inferencia puede ser capturado como una simple regla de inferencia que 
llamamos Modus Ponens Generalizado.
 
El Modus Ponens Generalizado es una versión elevada (lifted) –eleva el Modus Ponens 
de la lógica proposicional a la lógica de primer orden. 
Unificación
 
Reglas de inferencia elevadas requieren encontrar substituciones que hacen que 
diferentes expresiones lógicas luzcan idénticas. Este proceso es llamado unificación 
y es un componente de todo algoritmo de inferencia de primer orden. El algoritmo de 
unificación toma dos oraciones y retorna un unificador para ellas si existe alguno:
 
Unificar(p, q) = θ donde Subst(θ, p) = Subst(θ, q) . 
Veamos algunos ejemplos de como Unify (unificar) debe comportarse. Supongamos 
que tenemos una búsqueda Conoce(Juan, x): ¿a quien conoce Juan? Algunas respuestas 
a esta búsqueda se pueden hallar encontrando todas las oraciones en la base de 
conocimiento que unifica con Conoce(Juan, x). Veamos los resultados de la unificación 
con cuatro diferentes oraciones en la base de datos 
UNIFY (Conoce(Juan, x), Conoce(Juan, Jane)) = {x/Jane} 
UNIFY (Conoce(Juan, x), Conoce(y, Bill)) = {x/Bill, y/Juan} 
Página 23 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
UNlFY (Conoce(Juan, x), Conoce(y, Madre(y))) = {y/Juan, x/Madre(Juan)} 
UNlFY (Conoce(John,x), Conoce(x, Elizabeth)) = fail . 
La última unificación falla porque x no puede tomar los valores de Juan y 
Elizabeth al mismo tiempo. 
Listas y Árboles
Las listas y árboles son comúnmente utilizados para representar el conocimiento que 
se relaciona con ellos regularmente en cada área de la IA. Una lista es una serie escrita 
de artículos virtualmente relacionados. Las listas son normalmente utilizadas para 
representar conocimiento jerárquico donde los objetos son agrupados, categorizados o 
graduados de acuerdo a un rango o relación.
Los objetos son divididos en grupos o clases de artículos similares. Entonces, sus 
relaciones son mostradas enlazándolos a ellos unos con otros. La siguiente figura 
muestra un formato generalizado de una lista.
Un árbol es una estructura gráfica de una jerarquía. Este es simplemente una forma de 
ilustrar la lista y otra jerarquía del conocimiento. Una lista se muestra en la siguiente 
figura. Esta consiste de nodos que corresponden a nombres de la lista y elementos. 
Los nodos son conectados por líneas llamadas arcos que muestran la relación entre los 
nodos.
Página 24 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
Herencia
Para soportar la representación flexible del conocimiento acerca del mundo es necesario 
permitir que la jerarquía sea un grafo acíclico dirigido. Se sabe que estos grafos 
acíclicos son adecuados, ya que se corresponde con la relación subconjunto.
La herencia permite nuevas clases que heredan las propiedades, tanto de datos como 
de los miembros de las funciones de una clase previamente definida. Las nuevas 
propiedades heredadas se colocan encima de las propiedades heredadas, lo cual puede 
ahorrar a los programadores bastante código.
2.2.1.3 Redes Semánticas (RS)
Una de las formas más antigua y fácil de comprender los esquemas representación del 
conocimiento es la red semántica. Las redes semánticas son básicamente descripciones 
gráficas del conocimiento que muestran relaciones jerárquicas entre los objetos.
Una red semántica consta de un número de círculos o nodos que representan objetos e 
información descriptiva acerca de ese objeto. Los objetos pueden ser elementos físicos 
tales como un libro, un carro, eventos o acciones. Un concepto puede ser la ley de Ohm, 
un evento puede ser una fiesta, una acción puede ser fabricar una casa o escribir un 
libro.
Los nodos en las redes semánticas están interconectados por enlaces (arcos) que 
describen las relaciones entre los varios objetos y factores descriptivos. Los arcos 
pueden definirse de varias formas, dependiendo de la clase de conocimiento 
representado. Estos muestran la relación entre los varios objetos y factores descriptivos.
Se define una red semántica como un grafo dirigido, cuyos nodos representan 
individuos; un arco está etiquetado con el nombre de la relación que éste representa; 
varios arcos pueden tener la misma etiqueta, mientras que cada individuo es 
representado por un solo nodo.
Página 25 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
Algunos de los arcos más comunes usados para representar jerarquía son del tipo 
“es-un” o “tiene-un”. El “es-un” muestra una relación de clase, esto es, que un 
objeto pertenece a una clase grande o categorías de objetos. El enlace “tiene-un” es 
utilizado para identificar características o atributos de los nodos objetos. Otros arcos 
son utilizados para propósitos de definición. En general, un enlace designa cualquier 
relación utilizada para interconectar objetos.
Las redes semánticas se utilizan tanto como modelos de organización de la memoria 
humana así como de esquemas de representación de significados de oraciones en 
lenguaje natural.
Esta representación es ventajosa, pues no hay que hacer mecanismos inferenciales para 
hallar la relación entre nodos. Simplemente lo que hay que buscar es un camino entre 
esos dos nodos mediante un algoritmo para el procesamiento de grafos (algoritmos de 
recorrido).
Ejemplo de Representación del Conocimiento en Redes Semánticas
La figura central en el dominio del conocimiento es una persona llamada Sam. Un 
enlace muestra que Sam es un hombre y que el hombre es un ser humano.
Otro arco a partir de Sam muestra que este está casado con Kay. Los arcos adicionales 
muestran que Kay es una mujer y que una mujer es también un ser humano. Otro arco 
muestra que tiene un hijo Joy que es un niño y que va a la escuela.
Otros datos muestran otras características acerca de Sam. Por ejemplo, que es el 
vicepresidente de una compañía llamada ACME, una compañía que es una subsidiaria 
de AJAX, una gran corporación. Vemos también que Sam juega golf el cual es un 
deporte.
Posteriormente vemos que Sam es propietario de un carro Mercedes Benz de color 
plateado que fue hecho en Alemania.
Página 26 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
La Red Semántica en la Solución de Problemas
Por ejemplo, se pueden hacer preguntas acerca del dominio representado por la red. 
Comúnmente la propia red nos proveerá de las respuestas:
¿Con quién está casado Sam?
Por supuesto, el enlace “casado con” muestra que está casado con Kay.
¿Tiene Sam algún hijo?
Por supuesto el enlace “tiene hijo” al hijo Joe muestra que tiene uno.
¿Qué deporte juega?
El enlace “juega” a golf suministra la respuesta.
La computadora puede buscar hacia delante o hacia atrás a través de los arcos desde el 
nodo inicial para la búsqueda de las respuestas.
Jerarquía en la Red Semántica
Debido a que la red semántica es básicamente jerárquica, las características variadas de 
los nodos realmente heredan las características de los otros.
Por ejemplo: El hecho de que el enlace que muestra que Sam es un hombre y el hombre 
en final es un ser humano, De aquí que Sam herede las propiedades del ser humano. 
Podremos hacer la pregunta que si Sam es un ser humano y debido al enlace jerárquico, 
podremos decir que lo es.
Otro ejemplo de la herencia es la relación entre la compañía Acme para la cual trabaja 
Sam y que tiene una corporación padre, Ajax. Nuevamente podríamos realizar una 
pregunta:
¿Trabaja Sam para la corporación Ajax?
Página 27 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
La respuesta es sí, porque esta es propietaria de Acme. Esta característica de herencia 
de la red semántica la hacen capaz de realizar una variedad de deducciones a partir de la 
información suministrada.
Cantidad de Detalles en una Red Semántica
La cantidad de detalles que se pueden incluir en la red semántica dependen del tipo de 
problema que pueden resolverse. Si los problemas son generales, menos son losdetalles 
requeridos. Si el problema involucra un lote de adicionales, será necesario dar más 
explicaciones de la que tiene la red original. Por ejemplo: el enlace que muestra que 
Sam es propietario de un carro podría ser expandido para mostrar que es propietario de 
otras cosas.
Aquí Sam está enlazado a un nuevo nodo llamado propietario. Manteniendo en mente 
que los nodos pueden también representar condiciones, situaciones y acciones así como 
especificar los objetos y sus atributos.
Ejercicio: elabore la red semántica para el siguiente conocimiento expresado a través de 
los siguientes hechos:
1) Víctor es un pingüino.
2) Todos los pingüinos son pájaros.
3) Todos los pájaros son animales.
4) Todos los mamíferos son animales.
5) Todos los perros son mamíferos.
6) Sultán es un sato.
7) Todos los satos son perros.
8) Una raza de perro es el pastor.
9) A Víctor le agrada Sultán y a Sultán le agrada Víctor.
10) Un pájaro puede volar.
11) Un perro puede correr.
Página 28 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
2.2.1.4 Frames (Marcos o Armazones)
Un marco (frame) es una estructura de datos compleja que contiene un agregado 
de información usado para representar conceptos, clases de objetos o instancias 
individuales con características y experiencias bien conocidas. El marco describe ese 
objeto en gran detalle.
El detalle está dado en forma de ranuras las cuales describen los varios atributos y 
características del objeto y situación. La información almacenada en una armadura se 
distribuye en diferentes campos, llamados aspectos o ranuras (slots). Cada aspecto tiene 
la información sobre un atributo del objeto que se modela, los cuales representan las 
propiedades del marco.
 
 Ejemplos:
 1- Marco: Empleado
 Nombre
 Edad (entre 16 y 65)
 Piernas (2 por defecto)
 Ocupación
 2- Marco: Hombre de familia
 Nombre 
 Edad (entre 16 y 120) 
 Estado civil (genérico:casado)
 Cónyuge (Apuntador al marco Mujer de familia)
 Se denomina ejemplificación de un marco a uno con sus ranuras llenas. Podemos ver 
entonces al marco como una clase de entidades y a una ejemplificación de él como una 
entidad particular.
Ejemplos de ejemplificaciones de los marcos anteriores son:
 1- Marco: Empleado
 Nombre: Jesús López
 Edad: 32
 Piernas: 2
 Ocupación: Programador
 2- Marco: Hombre de familia
 Nombre: Jesús López
 Edad: 32 
 Estado civil: casado
 Cónyuge: (Apuntador a la ejemplificación para Mujer de familia de Mariela Pérez)
A cada aspecto se le pueden asociar varios tipos de información, llamados facetas 
del aspecto. Algunas se las propiedades que nos gustaría ser capaces de representar y 
utilizar en el razonamiento incluyen:
VALUE: Almacena el valor para el aspecto.
PROCEDURE: Contiene un procedimiento para calcular el valor que debe ser 
almacenado en la faceta VALUE.
Página 29 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
DEMONS: Contiene procedimientos que tienen que ser ejecutados cuando cambia el 
valor almacenado en VALUE.
DEFAULT: Contiene un valor inicial, por omisión o valores comúnmente usados para 
la faceta VALUE.
RESTRICTIONS: Contiene un conjunto de expresiones lógicas que tienen que ser 
verdaderas para el valor almacenado en VALUE.
EXPLANATION: Almacena documentación sobre el aspecto.
En general se puede plantear que la información almacenada usando como FRC las 
armaduras presenta cuatro niveles de detalle:
● La armadura (estructura compleja).
● Los aspectos o ranuras (información sobre atributos).
● Las facetas de cada aspecto (tipos de información asociada).
● Los valores almacenados en cada faceta (propiedades para representar y 
utilizar en el razonamiento).
No necesariamente un aspecto incluye todas las facetas.
Las armaduras pueden ser organizadas como una jerarquía, para lo cual es suficiente 
incluir en la armadura una o más aspectos que contengan un enlace a la armadura 
superior en la jerarquía, de la cual ella es una instancia, Cuando esta estructura 
jerárquica es usada, una armadura puede heredar las propiedades de otra armadura, o 
sea, compartir información a través de la herencia.
Esta FRC es útil para almacenar el conocimiento sobre los elementos de un dominio 
de aplicación que tiene una descripción estereotipada o conocimientos basados en 
características bien conocidas o experiencias; además es fuerte para permitir que la 
información común sea almacenada de modo compartido para múltiples armaduras. Sin 
Página 30 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
embargo, las armaduras no ofrecen directamente facilidades para describir cómo se usa 
el conocimiento almacenado.
Ejemplo de Ranura:
Pitcher:
es-un : Jugador de Base Ball
Dominio :
Rango : Persona
Restricción del Rango: experiencia en Base Ball como pitcher.
Right Field:
es-un : Jugador de Base Ball
Dominio: 
Rango: Persona
Restricción del rango: Experiencia en Base Ball
Jugador de Leon:
es-un: Jugador de Base Ball
Dominio: 
Rango: Persona
Por omisión: Jugador de.
Entrenador:
Es-un: Jugador de Base Ball
Dominio: 
Rango: Persona
Restricción del Rango: Experiencia en Base Ball como entrenador
Por omisión: Entrenador de.
Jugador de Matagalpa:
Es-un: Jugador de Base Ball
Dominio: 
Rango: Persona
Por omisión: Jugador de.
Jugador de Liga Nacional:
Es-un: Jugador de Base Ball
Dominio:
Rango: Persona
Por omisión: Jugador de.
Página 31 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
Ejercicio: Usando el formato sugerido represente el siguiente conocimiento:
1. Los mamíferos tienen cuatro patas
2. Los perros son mamíferos
3. Los gatos son mamíferos
4. Fido es un perro
5. Fido tiene tres patas
6. Mini es un gato
Nombre del Marco Ranura Valor de Ranura
Nota: utilice el concepto de clases
2.2.1.5 Guiones (SCRIPTS)
Un guión es una representación del conocimiento de secuencia que describe una 
secuencia de eventos en un contexto. Los guiones son estructuras de datos complejas, 
designadas para almacenar el conocimiento sobre una secuencia estereotipada de 
acciones. Este conocimiento informa a los sujetos que intervienen en la secuencia de 
eventos lo que puede suceder en una situación, cuál evento sigue y qué papel debe jugar 
cada quién en la actividad que se describe.
Los guiones resultan útiles porque en el mundo real aparecen patrones en la ocurrencia 
de eventos. Estos patrones surgen debido a las relaciones de causalidad entre los 
eventos. Los eventos que se describen en un guión forman una gigantesca cadena 
causal.
Para almacenar dicho conocimiento el guión usa un conjunto de ranuras que contiene 
información acerca de los sujetos que intervienen en al secuencia de eventos, lo que 
puede suceder en una situación, cuál evento sigue y qué papel debe jugar cada quien en 
la actividad que se describe.
Si se sabe que un guión es apropiado para una situación dada, entonces puede resultar 
muy útil para poder predecir las ocurrencias de eventos que no se han mencionado 
explícitamente. Los guiones pueden resultar también útiles para indicar la forma en que 
los eventos mencionados se relacionan con los demás.
La información en los guiones puede referirse a:
Página 32 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
-Entry Condition. Condiciones bajo las cuales el evento a que se refiere el script debe 
efectuarse (estas condiciones describen situaciones que necesitan ser satisfechas antes 
que el evento se realice).
-Roles. Sujetos que actúan en el evento descrito.
-Props. Objetos utilizados por los sujetos.
-Tracks. Lugar donde ocurre el evento.
-Results. Condiciones que existen después de ocurrir el evento.
Los guiones son útiles en la predicción de lo que va a suceder en cierta situación, aún 
sin observar algunos eventos. Entre las aplicaciones que usan scripts se encuentran:
-Procesamiento del lenguaje natural.
-Representación, procesamiento y generaciónde historietas.
-En un sistema de EAC, para dar explicaciones y realizar modelos de conocimiento del 
estudiante.
Pero en la práctica, esta estructura del conocimiento es inadecuada.
 Un ejemplo de un guión típico es la visita a un restaurante.
 GUION RESTAURANTE
 Sitio: Restaurante de autoservicio y su contorno.
 Sujetos: Cliente (C), Dependiente (D), Cajero (J).
 Objetos: Contadora, bandeja, comida, dinero. 
 Condición: C tiene hambre, C tiene dinero.
 Escena 1: “Entrada al restaurante”
 - C entra al restaurante.
 - C se pone en cola ante la contadora.
 - C lee el menú en la pared y decide qué pedir. 
 El episodio “C entra al restaurante” puede estar formado por los eventos “abrir la 
puerta” y “dirigirse a la línea de servicio”.
 Escena 2: “Tomar los alimentos”
 - C toma la bandeja vacía.
 - C le pide a D los alimentos.
 - D coloca los alimentos en la bandeja.
 - C le paga a J. 
 Escena 3: “Comer los alimentos”
 - C toma la bandeja con los alimentos.
 - C coloca la bandeja en una mesa vacía.
 - C ingiere los alimentos.
 Escena 4: “Salida del restaurante”
 - C se levanta de la mesa.
 - C abandona el restaurante.
 Resultados: C no tiene hambre, C tiene menos dinero, C está satisfecho o no, C está 
demasiado lleno.
Página 33 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
2.2.2 Procedurales
Como ventajas de las F.R.C. procedurales podemos señalar:
● Es fácil representar el conocimiento sobre cómo hacer cosas.
● Es fácil representar el conocimiento que no encaja bien en muchos esquemas 
declarativos simples, como por ejemplo razonamientos por defecto y 
probabilísticos.
● Es fácil representar conocimiento heurístico de cómo realizar las cosas 
eficientemente.
2.2.2.1 Strips (Sistemas de Planificación)
 La planificación es la generación de una secuencia de acciones o programa de acción 
para un agente, como por ejemplo el brazo de un robot. Estas acciones cambian de un 
estado del universo sobre el que se desarrolla la planificación a otro. Al igual que en las 
reglas de producción, los STRIPS transforman la descripción de un estado en otra.
 Un strip está compuesto por:
● Condiciones (Precondición): son los enunciados que deben cumplirse en un 
estado dado para poder ejecutar una acción expresada mediante una regla 
determinada.
● Lista de literales a ser eliminados (Suprimir): contiene los enunciados que dejan 
de ser válidos al aplicarse dicha regla.
● Lista de literales a ser añadidos (Añadir): contiene los enunciados que se hacen 
válidos en el nuevo estado una vez aplicada dicha regla.
 Cualquier enunciado que no esté incluido en las listas Suprimir o Añadir de un strip 
se supone que no queda afectado por él. Esto significa que, al especificar cada strip, 
no necesitamos considerar los aspectos del dominio que no se relacionan con él. 
Naturalmente, debe usarse algún otro mecanismo distinto de la simple demostración 
de teoremas para calcular las descripciones completas de los estados después de haber 
realizado las acciones.
 
 La esencia de esta F.R.C. es: Si la acción A transforma el estado S1 en el estado S2, 
entonces una proposición P es verdadera en el estado S2, si y sólo si P está en la lista 
Añadir de A o P es verdadera en S1 y no está en la lista Suprimir de A.
Analicemos el problema clásico: el mundo de bloques. Este problema puede plantearse 
de la siguiente manera:
 Hay una superficie plana sobre la cual pueden colocarse bloques. Existe cierto número 
de bloques cúbicos, todos del mismo tamaño. Pueden apilarse uno encima del otro. 
Hay un brazo de robot que puede manipular los bloques. El brazo del robot sólo puede 
sostener un bloque a la vez. Cada bloque puede tener como máximo un único bloque 
encima de él, no entendiendo por esto que no pueda tener 3 bloques: uno encima del 
segundo y el segundo encima del tercero.
Supongamos que se tiene sobre una mesa, una distribución inicial de tres bloques, como 
se muestra en la figura 2.14. Se desea elaborar un sistema que determine la secuencia 
de acciones a realizar por el brazo del robot para transformar dicha distribución en la 
mostrada en la figura 2.15.
Página 34 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
 A 
 
 A B C B 
 C 
 Fig. 2.14. Distribución inicial Fig. 2.15. Distribución deseada
Para transformar la distribución inicial (figura 2.14) en la deseada (figura 2.15) se 
necesitan definir una serie de acciones:
TOMAR(x): Tomar el bloque x que está encima de la mesa y sostenerlo. Para ello, el 
bloque x debe estar encima de la mesa, el brazo del robot debe estar vacío y el bloque x 
no debe tener ningún bloque encima.
DEJAR(x): Dejar el bloque x encima de la mesa. Para ello, el brazo del robot debe estar 
sosteniendo al bloque x.
APILAR(x,y): Colocar el bloque x encima del bloque y. Para ello, el brazo del robot 
debe estar sosteniendo al bloque x y encima de y no debe existir ningún bloque.
DESAPILAR(x,y): Quitar el bloque x de encima del bloque y. Para ello, el bloque x 
debe estar encima del bloque y, el brazo del robot debe estar vacío y el bloque x no debe 
tener bloques encima. 
 
Estas acciones se representan por medio de las siguientes reglas STRIPS:
TOMAR(x)
 Precondición: ENMESA(x) BRAZOVACIO DESPEJADO(x)
 Suprimir: ENMESA(x) BRAZOVACIO
 Añadir: SOSTENIDO(x)
DEJAR(x)
 Precondición: SOSTENIDO(x)
Suprimir: SOSTENIDO(x)
Añadir: ENMESA(x) BRAZOVACIO
APILAR(x,y)
Precondición: DESPEJADO(y) SOSTENIDO(x)
Suprimir: DESPEJADO(y) SOSTENIDO(x)
Añadir: ENCIMA(x,y) BRAZOVACIO
DESAPILAR(x,y)
Precondición: ENCIMA(x,y) DESPEJADO(x) BRAZOVACIO
Suprimir: ENCIMA(x,y) BRAZOVACIO
Añadir: SOSTENIDO(x) DESPEJADO(y)
Las tres componentes de cada regla STRIP se definen usando algunos predicados 
básicos. Para este universo los predicados básicos más frecuentes son:
DESPEJADO(x): el bloque x no tiene bloques encima.
Página 35 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
SOSTENIDO(x): el brazo del robot está sosteniendo al bloque x.
ENCIMA(x,y): el bloque x está encima del bloque y.
ENMESA(x): el bloque está colocado directamente sobre la mesa.
BRAZOVACIO: el brazo del robot está vacío.
2.2.2.2 Reglas de Producción
El conocimiento procedimental especifica qué hacer en una determinada situación. 
Este conocimiento se suele especificar en la máquina como un código que hace algo. 
La máquina utiliza el conocimiento cuando ejecuta el código para llevar a cabo una 
determinada tarea.
Es la técnica de representación del conocimiento procedimental más usada en la 
actualidad, para la cual se han desarrollado un mayor número de herramientas 
comerciales y constituyen un medio eficaz para la codificación del cómo conocer la 
resolución de problemas de los expertos humanos.
Ellas consisten en sentencias de dos partes que incorporan pequeñas partes de 
conocimiento. La primera parte es el antecedente, expresa una situación o premisa, 
mientras que la segunda parte, llamada consecuencia, establece la acción particular o 
conclusión que se aplica si la situación o premisa es cierta. Las reglas siempre expresan 
una condicional con un antecedente (situación o premisa) y un consecuente (acción 
o conclusión). Si el antecedente es satisfecho o verdadero, entonces se obtiene el 
consecuente.
La forma más común está dada por el formato:
ANTECEDENTE ==> CONSECUENTE
SITUACION ==> ACCION
PREMISA ==> CONCLUSION
Ellas representan una unidad relativamente independiente delconocimiento, las cuales 
pueden describir relaciones como las siguientes:
Si situación S, entonces acción A.
Si premisa P, entonces conclusión C.
La parte izquierda de la regla es una sentencia con el prefijo IF. La segunda es con el 
prefijo THEN. Ejemplo:
Si novena entrada, y
Menos de dos outs, y
Primera base vacía, y
El bateador golpea mejor que el siguiente
Entonces se embasa el bateador
Una de las ventajas de las reglas de producción es la modalidad de tal enfoque, otra 
ventaja es que pueden captar conocimiento probabilístico útil o conocimiento de juicio 
que los humanos utilizamos a menudo al razonar.
Página 36 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
Las reglas de producción son una de las más flexibles formas de representar el 
conocimiento. Debido a la similitud entre las reglas de producción y las fórmulas de 
la lógica proposicional, muchos de los métodos y teoremas bien definidos de la lógica 
formal pueden ser aplicados a los sistemas de producción. Por lo que son fáciles de 
crear y comprender.
Las RP pueden ser fácilmente comprendidas y tienen suficiente fuerza expresiva para:
● Representar reglas de inferencia dependientes del dominio.
● Almacenar el conocimiento que puede ser expresado como heurística 
experimental.
● Expresar conocimiento orientado a objeto.
● Expresar relaciones causales.
Al usar las RP como FRC se pueden desarrollar sistemas con las siguientes 
características:
● Cada regla define una pequeña unidad de conocimiento relativamente 
independiente (modularidad).
● Se pueden añadir nuevas reglas con una relativa independencia del resto 
(incrementalidad).
● Las reglas viejas pueden ser modificadas con relativa independencia 
(modificabilidad).
● La habilidad del sistema crece proporcionalmente a la cantidad de reglas.
● El conocimiento existente puede ser refinado.
Partes de un Sistema Basado en Reglas:
Un sistema basado en reglas de producción consta de:
a. Un conjunto de reglas denominadas reglas de producción.
b. Un sistema de gestión de base de datos.
c. Un intérprete de reglas.
a. Un conjunto de reglas denominadas reglas de producción.
Una “regla de producción” es un par condición/acción de la forma:
Si C entonces A
Donde C es alguna condición que tiene que ser satisfecha por los datos de la base de 
datos antes que la regla pueda ser aplicada y la acción A tomada.
C puede ser una expresión compuesta, tal como se ilustra en la regla:
Si [C1 y C2] o [C3 y NO C4], entonces A.
Con las reglas se utilizan las conjunciones AND, OR, que son añadidas como funciones 
lógicas combinadas con IF si la representación del conocimiento así lo requiere.
Un ejemplo de regla de producción es:
Si manchas rojas, fiebre, y edad escolar,
Página 37 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
Entonces el paciente tiene varicela.
Para definir algún dominio del conocimiento exactamente, muchas reglas de producción 
deben ser comúnmente utilizadas. Las reglas suministran detalles acerca de objetos, 
sus características y acciones a ser tomadas. Ellas toman un lote de detalles para cubrir 
precisamente un objeto. Las reglas son comúnmente interrelacionadas y referenciadas 
unas con otras. Estas reglas forman una base de conocimiento, la cual forma parte de un 
sistema de producción. Un sistema de producción consiste de una base de conocimiento 
más una base de datos y un mecanismo de inferencia.
b. Un sistema de gestión de base de datos.
El “sistema de gestión de base de datos” de un sistema de producción gestiona una base 
de datos que consta de un número de hechos relevantes en un problema en particular 
para el que está utilizándose el sistema de producción. En la base de datos están dadas 
las condiciones iniciales y el éxito a ser logrado.
c. Un intérprete de reglas.
El “intérprete de reglas” es un programa que identifica reglas aplicables, es decir, reglas 
en las que la parte condición está satisfecha; y determina el orden en el que las reglas 
aplicables deberían ser utilizadas. Los mecanismos de control e inferencia buscan sobre 
la base de conocimiento buscando las reglas que coinciden con las condiciones iniciales 
o con el éxito de la base de datos. Aquellas reglas que coincidieron con las condiciones 
o con el éxito buscado entonces nos proveen del conocimiento básico para resolver el 
problema.
Ejemplo de Aplicación de las Reglas de Producción:
Una característica muy importante es que la base de conocimientos es independiente del 
mecanismo de inferencia que se utiliza para resolver de inferencia que se utiliza para 
resolver los problemas. De esta forma, cuando los conocimientos almacenados se han 
quedado obsoletos, o cuando se dispone de nuevos conocimientos, es relativamente fácil 
añadir reglas nuevas, eliminar las antiguas o corregir errores en las existentes. No es 
necesario reprogramar todo el sistema experto.
Las reglas suelen almacenarse en alguna secuencia jerárquica lógica, pero esto no 
es explícitamente necesario. Se pueden tener en cualquier secuencia y el motor de 
inferencia las usará en el orden adecuado que necesite para resolver un problema.
Una base de conocimiento estructurada indica que hay hojas terminales en cada paso 
de un árbol de decisiones. En una base de conocimiento completamente estructurada es 
imposible para las reglas en la base de conocimiento estar fuera de orden según halla 
un paso y solo un paso para cada éxito en la base de conocimiento. Estos tipos de base 
de conocimiento, comúnmente toman un gran esfuerzo en construirse, pero son más 
satisfactorias en su comportamiento. Generalmente planificamos cómo la información 
deberá ser vista por el código. Por ejemplo:
Página 38 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
Nótese que hay una hoja Terminal para cada paso en el árbol. En este tipo de árbol de la 
base de conocimiento la respuesta del usuario está limitada a Si o No.
Una base de conocimientos muy ingenua, para identificar vehículo, podría ser la 
siguiente:
Regla 1: SI tiene 2 ruedas
 Y utiliza motor
 ENTONCES es una motocicleta
Regla 2: SI tiene 2 ruedas
 Y es movido por el hombre
 ENTONCES es una bicicleta
Regla 3: SI tiene 4 ruedas
 Y utiliza motor
 Y pesa menos de 3500 Kgrs.
 ENTONCES es un coche
2.3 Representación con Incertidumbre
Como veremos, una de las debilidades de la lógica tradicional es su inhabilidad para 
tratar con la incertidumbre. Las oraciones lógicas deben ser expresadas en términos 
de falso o verdadero –no es posible razonar, en lógica clásica, sobre posibilidades. 
Veremos diferentes versiones de lógica como lógica modal, abducción e inducción que 
proveen alguna habilidad para razonar sobre posibilidades, y hay también los métodos 
probabilísticos y la lógica difusa que proveen formas más rigurosas para razonar en 
Página 39 de 119
Inteligencia Artificial – Compilado por Ing. Irving Góngora
situaciones de incertidumbre, que son parte de un curso más avanzado.
Abducción y Razonamiento Inductivo
El tipo de razonamiento que hemos ha sido el razonamiento deductivo, el que en 
general está basado en el uso del Modus Ponens y las otras reglas de razonamiento 
deductivo. Este tipo de razonamiento asume que estamos tratando con incertidumbres y 
no nos permite razonar sobre cosas de las cuales no estamos seguros. Hay otro tipo de 
razonamiento, el razonamiento inductivo, que no tiene la misma base lógica pero que 
puede ser extremadamente poderosa para tratar con situaciones en las que carecemos de 
certidumbre.
Extrañamente, otra forma de razonamiento, abducción, esta basado en una mentira 
común que puede ser expresada como:
 
Note que la abducción es muy similar al Modus Ponens, pero no es lógicamente 
razonable un ejemplo típico de esta regla puede ser “Cuando Roberto esta enfermo, no 
viene a trabajar. Roberto no está en el trabajo hoy. Por lo tanto está enfermo.” De hecho, 
Roberto puede estar de fiesta, o atendiendo un funeral, o quizás

Continuar navegando

Materiales relacionados