El tema de las redes semánticas como tal se origina a principios de la década de 1960, pero su origen se puede rastrear a las gráficas existenciales en 1896 propuestas por Charles Pierce. Es importante destacar que aquellas cosas que pueden ser representadas por redes semánticas también pueden serlo mediante lógica de primer orden, por lo cual la elección del lenguaje se basa en otros parámetros que el poder expresivo del mismo, como ser la claridad de lo expresado para un lector humano. Hay que hacer la salvedad de que las redes semánticas tiene un poder expresivo limitado, pero se puede ampliar la notación para aumentar dicho poder expresivo. Por lo tanto es perfectamente posible (y de hecho hay ejemplos) que un sistema pueda mostrar su conocimiento en lógica y en frames dependiendo de las necesidades particulares del caso. Las diferencias entre redes semánticas y frames es pequeña por lo cual podemos estudiar lo esencial de ambas como una unidad. 
Los sistemas de frames y redes semánticas se basan en la representación de categorías (clases) de objetos y sus relaciones. Dicha representación se realiza en forma de grafo donde los nodos son clases (o instancia de dichas clases) y los ejes relaciones.
La definición de clase e instancia es similar a la dada en la orientación a objetos, una clase representa una categoría de objetos, como ser mamíferos, gatos, animales, casas, carteros, nubes, etc. Las clases contienen entonces las características comunes a un grupo de objetos sin designar ninguno en particular. Los elementos que comparten las características comunes de una clase se dicen instancias de la misma. De esta manera Tom es una instancia de Gatos.  La representación de esta afirmación mediante redes semánticas se ve en el siguiente diagrama:
Figura 2
La relación instancia de es representada mediante un  arco y los nodos representan por un lado categorías de objetos (Gatos)  y por otro los objetos específicos (Tom). Es importante notar que es fundamental definir claramente la semántica del lenguaje. Definir qué significa un nodo y qué significa un eje. Del ejemplo anterior, del gato Tom, podemos deducir que la teoría de conjuntos es una herramienta útil para comenzar a definir la semántica de los sistemas de frames y redes semánticas. La relación de instancia es equivalente a la relación miembro de la teoría de conjuntos. También podemos decir que los gatos son subconjuntos  de los mamíferos.
Las  relaciones de la teoría de conjuntos  subconjunto y miembro no bastan y son necesarias por lo menos tres relaciones más formando entonces un total de cinco relaciones o vínculos para las redes semánticas. Una nos debe permitir establecer cierta relación R entre nodos A y B (ejemplo Tom tiene 4 años, donde Tom es A, R es la edad y 4 sería B). Otra nos debe permitir establecer que para todos los elementos de un conjunto A se cumple R con B (por ejemplo: A los elefantes, R la cantidad de trompas y B el número 1). Finalmente que una relación R se cumple para todos los elementos de A con al menos un elemento de B. 
Veamos un cuadro con las cinco relaciones (notamos diferente a R para representar distintas semánticas):
La forma de inferir en una red semántica es mediante el seguimiento de los vínculos que forma la herencia.  En la red semántica de la figura se puede inferir la cantidad de patas de Tom mediante el seguimiento de los vínculos, miembro, cant_patas, de lo que se deduce que Tom tiene cuatro patas. Este mecanismo es llamado herencia. Es posible expresar la red semántica en lógica, y utilizar la inferencia lógica para deducir lo mismo: que Tom tiene cuatro patas. Pero existe una diferencia de implementación en lo que hace a los algoritmos para realizar inferencia en redes semánticas, ya que éstas utilizan en general algoritmos específicos de grafos.
Las redes semánticas  así definidas tiene un muy limitado poder de inferencia, sólo la herencia de propiedades. Los frames nos permiten ampliar la red semántica creando una red de frames, que puede gráficamente visualizarse como una red semántica. Un frame o marco es una entidad que almacena toda la información relativa a un concepto particular. Por ejemplo, veamos un sistema de frames para representar a la red semántica anterior:
Mamíferos:
subclase:  Animal
tiene: cabeza
 
Gatos
   subclase: Mamíferos
cant_patas: 4
Perros
  subclase: Mamíferos
Tom
Instancia: Gatos
 
Utilizamos indistintamente la relación subclase y subconjunto y la relación miembro e instancia. El sistema de frames cuenta con cuatro frames: Mamíferos, Gatos, Perros y Tom, cada simple frame representa un objeto. En los frames se ubican las propiedades de dichos objetos (ej. cant_patas en Gatos) que son llamadas slots. Los slots que representan la relación de subclase o instancia permiten establecer la herencia.  La transformación de una red semántica en un sistema de frames es sencilla, los nodos se transforman en frames y los ejes en slots mientras que el nodo del otro lado del eje es el valor del slot.
Las clasificaciones y taxonomías contienen muchas excepciones. ¿Qué pasaría si a Tom le faltara una pata? Evidentemente, la inferencia de que Tom tiene cuatro patas es falsa. Se necesita de un mecanismo que permita manejar la excepción. Se debe entonces modificar el significado de las relaciones. Una relación R  de A y B indica R(A, B) a menos que exista una A’ tal que se cumpla R(A’,B’) . Es decir, que las relaciones toman el significado de valores por defecto u omisión. En el caso de Tom con tres patas habría que agregar un slot en Tom indicando cant_patas igual a tres. El frame de Tom quedaría:
Gatos
subclase: Mamíferos
*cant_patas: 4
Tom:
Instancia: Gato
cant_patas: 3
 
Los sistemas de frames  permiten especificar tanto los valores por defecto como sobrescribir dichos valores. El asterisco indicaría slots cuyos valores pueden ser sobrescritos. Los frames heredan las propiedades de sus padres salvo el caso en que exista una propiedad en conflicto con una heredada. En este caso la propiedad del frame es la que se toma como válida.
En los ejemplos vistos hasta aquí cada frame tenía un solo padre. En este caso se dice que existe herencia simple pero cabe la posibilidad de que un frame herede de más de un padre en cuyo caso se dice que hay herencia múltiple. Los objetos heredan de todos sus padres. Siguiendo con el ejemplo de Tom supongamos un frame que represente a los animales domésticos en ese caso Tom es un Gato y también un animal doméstico. Veamos entonces como serían la red semántica y los frames.
Gatos
subclase: Mamíferos
*cant_patas: 4
 
Animal Domestico:
subclase: Animal
Tom:
Instancia: Gato
Instancia: Animal Domestico
cant_patas: 3
 
Es importante notar que la herencia múltiple puede en algunos casos provocar un conflicto cuando dos propiedades del mismo tipo son heredadas desde distintos padres. Supongamos que decimos que los animales domésticos se alimentan de comida balanceada y los gatos de ratones, claramente en Tom el slot  alimento  debe elegir alguno de los dos valores, una alternativa es sobrescribirlo en Tom, otra es crear un frame (o nodo) intermedio que resuelva el conflicto.
No todo puede ser fácilmente representado por un sistema de frames, es muy complicado especificar la negación y la disyunción.  Pero aún así, es la representación mediante redes semánticas y frames son claras, simples y de fácil lectura.
 
 

 

Otro de los mecanismos de representación de conocimiento que estudiaremos son los sistemas basados en reglas y los sistemas de producción, como un formalismo computacional que permite la resolución de problemas utilizando reglas e infiriendo sobre ellas.
La importancia en la IA de los sistemas basados en reglas es grande, la mayoría de los sistemas expertos deterministas (que veremos más adelante) están basados en este tipo de representación. Los sistemas basados en reglas consisten de un conjunto de reglas de la forma SI –ENTOCES (IF THEN), es decir se utiliza la implicación como principal forma de representación.
Las reglas representan bloques de conocimiento que serán invocadas por un intérprete cuando sea necesario. Si consideramos un problema a ser resuelto compuesto por 
  • Un objetivo 
  • Acciones posibles (implican cursos de acción y producen resultados inidentificables, cambian el estado)
  • Estado Inicial
Partiendo de un estado inicial (por ejemplo la disposición de las fichas del ajedrez al iniciar la partida) mediante las acciones u operaciones posibles (los movimientos permitidos) se llega a un estado final (tablas o jaque mate).
Las reglas expresan las transformaciones  que pueden efectuarse sobre el estado actual de resolución. Inicialmente sobre el estado inicial y a medida que realizamos acciones sobre los nuevos estados. Las reglas entonces son:
SI condición ENTONCES acción 
A diferencia de la programación clásica, donde implementamos un algoritmo, en un sistema basado en reglas la ejecución puede ser vista como la búsqueda en un espacio de estados.
Las reglas deben ser manejadas por un intérprete. El mismo puede tener diversas estrategias de control. Las principales son forward chaining (encadenamiento hacia delante) y backward chaining (encadenamiento hacia atrás). En las figuras vemos la relación entre reglas y control. Debería existir una base de datos global que contenga toda la información relevante al problema.
Forward chaining: Es denominado también data-driven y bottom-up (manejado por datos y de abajo hacia arriba). Parte de los datos iniciales, aplica las reglas  al estado inicial y a los sucesores de éste hasta llegar al estado final. 
Backward chaining: Es denominado también goal-driven y top-down (manejado por el objetivo y de arriba hacia abajo). Se parte del objetivo (una hipótesis que se quiere probar) y se busca que reglas permiten esta hipótesis. Ahora se trata de probar las condiciones que disparan esas reglas, las cuales se transforman en subobjetivos, y éstos a su vez se transforman en otros subobjetivos, así hasta llegar al estado inicial.
En otro capítulo analizaremos diversas estrategias de búsqueda que permiten la resolución de problemas y que se utilizan en los sistemas basados en reglas, incluso existen estrategias híbridas.
Todo sistema de producción tiene un algoritmo de control que ejecuta el intérprete de reglas y aplica las estrategias correspondientes. El algoritmo de control cuenta en general con cuatro pasos que se aplican iterativamente:
Extracción: obtener el conjunto de reglas plausibles de ser utilizadas, esto dependerá de la estrategia utilizada. En forward chaining se elegirán aquellas que tengan su condición satisfecha en la base de datos global, mientras que en backward chaining se elegirán aquellas cuya conclusión esté en el objetivo o subobjetivos actuales.
Refinamiento: Se refinan las reglas obtenidas (y las pendientes de pasos anteriores si las hubiera) eliminado algunas.
Selección: Se elige una regla del conjunto refinado (es posible elegir más de una incluso alguna estrategia plantea elegir todas y no refinar). La selección aplica lo que se conoce como resolución de conflictos. Se considera que hay un conflicto en el sentido de que varias reglas pueden ser aplicadas en ese momento.
Aplicación: La aplicación de la regla/s seleccionada para producir modificaciones en la base de datos global.
Se dice que los sistemas que utilizan forward chaining  son sistemas que utilizan una representación en espacio de estados. Pueden verse como un problema de moverse por distintos estados, donde cada estado corresponde con determinada configuración de la base de datos global. Por otro lado, los sistemas que razonan en forma backward chaining se dice que utilizan representación por reducción de problemas, se pueden pensar como partiendo de un problema a ser resuelto y reduciendo la complejidad del problema inicial a subproblemas, en forma iterativa