En general podemos decir que el desarrollo de una inteligencia artificial está compuesto por los siguientes pasos
Una teoría de la inteligencia (supuestos teóricos). La representación (modelos generales) del razonamiento inteligente en una computadora.
- Un modelo formal de la teoría (supuestos técnicos). Modelos computacionales
- Una implementación computacional del modelo (sistemas de IA especificas). Métodos técnicos para su realización.
Una teoría de la inteligencia: La mente se puede representar en una computadora ya que tanto la mente como la computadora son sistemas basados en el procesamiento de la información (paradigma computacional)
Un Modelo formal: Se parte de un sistema procesador de símbolos. Sistema capaz de manipular símbolos, generar nuevos símbolos, crear y modificar relaciones entre símbolos, almacenar símbolos, etc.
- Una implementación computacional: son los métodos o técnicas de la IA que se utilizan para la representación en la computadora
Ya habíamos visto los pasos 1 y 2. Nos queda el paso 3: la implementación computacional del modelo
La implementación del modelo no son otra cosa que sistemas computacionales (hasta la fecha IA especificas) que se aplican a la solución de problemas complejos (que requieren de cierta inteligencia)
Sistemas basados en conocimientos: Los sistemas expertos
Durante años la actividad de la Inteligencia Artificial estuvo dedicada a las investigaciones teóricas y al desarrollo de experimentos a través de programas que demostraran “actitudes inteligentes”, con estos programas se pretendía que la máquina jugara ajedrez, demostrara teoremas matemáticos, etc. No fue hasta los años 70 que surgió un nuevo enfoque en la Inteligencia Artificial “los Sistemas Expertos”, cuya función es desarrollar trabajos similares a los que desarrollaría un especialista en un área determinada (IA especifica).
IA específica:
El objetivo original del campo de IA ha sido la construcción de “máquinas inteligentes”, es decir, los sistemas informáticos con inteligencia similar a la humana. Desde hace décadas la mayoría de los investigadores de la IA se han centrado en lo que se ha llamado “la IA específica o estrecha”; la producción de sistemas de IA que muestran la inteligencia respecto a las tareas específicas, limitadas a un dominio de aplicación. Debido a las dificultades en la solución de problemas complejos, en los últimos años, cada vez más los investigadores han reconocido la necesidad -y la viabilidad- de volver a los objetivos originales de la IA mediante el tratamiento de la inteligencia en su conjunto y a la necesidad de hacer frente a los problemas más difíciles de la “inteligencia de nivel humano” y más ampliamente a la inteligencia artificial general.
Los sistemas expertos (SE), son en lo esencial sistemas de computación basados en conocimientos (de ahí que algunos prefieran llamarles sistemas basados en conocimientos) cuyos componentes representan un enfoque cualitativo de la programación, ya que lo que prima no es la cantidad si no la cualidad del mismo, esta cualidad está dada por la separación de las reglas que describen el problema (Base de Conocimientos), del programa de control que es quien selecciona las reglas adecuadas (Motor de inferencias).
Podemos decir que un SE está compuesto por una base de hechos (descripción del problema), una base de conocimiento (donde se almacenan los conocimientos del experto), una máquina de inferencias, algoritmo que procesa los conocimientos (normalmente en forma de reglas) y obtiene la solución del problema casi siempre con la explicación de los resultados y en muchos casos se incluyen en la bases de conocimientos (nuevas reglas) como una forma de aprendizaje.
La Base de Conocimientos (BC): es el conjunto de reglas que permiten representar los conocimientos del dominio de experto, donde cada regla aisladamente tiene significado propio. Normalmente los conocimientos son de tipo declarativo por lo cual la BC casi siempre es una descripción de los conocimientos del experto y requiere de algún mecanismo que obtenga las inferencias adecuadas para resolver el problema, alguien que seleccione las reglas y las vaya ejecutando, ese alguien es el motor de inferencias
El Motor de Inferencias (MI): es un programa de control cuya función es seleccionar las reglas posibles a satisfacer el problema, para ello se vale de ciertas estrategias de control sistemáticas o heurísticas. La estrategia de control consiste en un programa basado en algoritmos de búsqueda de propósito general cuya función es una exploración exhaustiva y metódica de la base de conocimientos.
La Base de Hechos (BH), también conocida como memoria de trabajo o base de datos global, es la que contiene los datos de partida y los criterios de parada, la misma se va actualizando durante la ejecución del sistema.
Además de los componentes anteriores los SE necesitan interactuar con el usuario y con el experto.
Interface con el usuario (módulo de interacción con el usuarios): es la que facilita el diálogo con el usuario, permite hacerle preguntas al sistema e incluso obtener conocimientos análogos a los del experto. Esta interface podría ser programas de entrada/salida de forma dialogada de las explicaciones pueden ser obtenidas de la base de hechos donde se almacenan los pasos para llegar a la solución.
Interface con el experto (módulo de ayuda para la adquisición de conocimientos): permite al experto consultar los conocimientos almacenados en la base de conocimientos y en muchos casos da la posibilidad de incluirle nuevos conocimientos. Su objetivo es que el experto pueda introducir directamente sus conocimientos en la máquina sin necesidad de ver al ingeniero que desarrolló el sistema.
Los SE fueron la aplicación dominante en los primeros años de la IA, algunas de las aplicaciones más importantes se remontan al sistema Mycin, el cual dio lugar a la mayoría de las aplicaciones en medicina y fue pionero en el tratamiento de la incertidumbre, que sirvió de patrón a los motores de inferencia de propósitos general (Shell); otro de los destacados fue Dendral cuya aplicación fue usada en la química, la prospección geológica entre otras muchas aplicaciones.
Los sistemas expertos que posteriormente fueron bautizados como sistemas basados en conocimientos y actualmente, bajo la influencia de IBM, se les llama sistemas cognitivos, siendo Watson su mayor representante, están teniendo un nuevo renacimiento y todo indica una nueva era para inteligencia artificial en general y en particular para los sistemas basados en conocimientos.