Sistemas Expertos
Los sistemas basados en el conocimiento son el resultado de un largo proceso de investigación realizado por los científicos en el área de la Inteligencia Artificial, cuando, en los años setenta, comenzaron a comprender que la capacidad de un programa de ordenador para resolver problemas no reside en la expresión formal ni en los esquemas lógicos deinferencia que emplea sino en el conocimiento que posee.
Un experto es alguien que posee unos determinados conocimientos y experiencia en un campo de la actividad humana y es capaz de aplicarlos con rapidez y eficiencia en la resolución de tareas diferentes aunque no le hayan sido encomendadas con anterioridad, pero que caen dentro de su dominio.
Así, un sistema basado en el conocimiento es uncuerpo de programas de ordenador que intenta imitar e incluso superar en algunas situaciones a un experto humano en un ámbito concreto de su actividad. No pretende, en absoluto, reproducir el pensamiento humano, sino simplemente la pericia de un profesional competente (téngase en cuenta que para construir un SBC se suele contar con grandes expertos en la materia que incorporan su conocimiento alsistema). Esta pretensión es más sencilla ya que en algunos campos reducidos los expertos trabajan siguiendo reglas, aunque, generalmente, no sean conscientes de ello. En aquellos campos en los que no sea necesario aplicar la intuición ni el sentido común, los sistemas basados en el conocimiento han conseguido notables éxitos, consiguiendo en ocasiones ser más regulares y rápidos que los propiosexpertos.
Los sistemas basados en el conocimiento desarrollados hasta hace poco constituyen la primera generación cuya característica común reside en la superficialidad del conocimiento que se incluye en el mismo. Los ingenieros de conocimiento (desarrolladores de los sistemas basados en el conocimiento) se limitan a incorporar en los sistemas la experiencia y criterios de los especialistas sinbuscar las razones últimas en las que se basan.
Actualmente existen sistemas más avanzados, Sistemas de Segunda Generación, en la que el conocimiento se estructura en dos niveles. El primer nivel, de control (se suele aludir a él como metaconocimiento y las reglas que lo constituyen reciben el nombre de metarreglas), sirve para determinar la forma de utilizar el segundo nivel que es el que contiene elconocimiento de los expertos.
Lenguajes y generadores de sistemas basados en el conocimiento
Para el desarrollo de sistemas basados en el conocimiento se han venido utilizando tanto lenguajes de programación específicos de la inteligencia artificial (LISP y PROLOG) como de propósito general (C, PASCAL, etc.).
El lenguaje LISP es uno de los más utilizados desde los comienzos de la I.A. Setrata de uno de los lenguajes de alto nivel más antiguos. Se creó en 1950 en el MIT por John McCarthy. Es un lenguaje cuyo principal estructura de datos son las listas, aún cuando se han ido incorporando otras estructuras más sofisticadas como pueden ser los objetos.
Tiene como ventaja el manejo de sus estructuras a muy alto nivel lo que facilita la implementación rápida de los modelos y sufacilidad de modificación. Como desventaja está su relativa lentitud frente a lenguajes de propósito general como C. La mayoría de las primeras herramientas de desarrollo de sistemas basados en el conocimiento fueron escritas en LISP y, en la actualidad, conviven con otras que se han desarrollado en C++.
El lenguaje PROLOG fue creado por Alain Colmenauer en la Universidad de Marsella en 1972. Se trata deun lenguaje declarativo frente a los lenguajes de programación más usuales que son procedurales.
Los lenguajes declarativos, a diferencia de los procedurales, no describen secuencialmente el algoritmo de resolución del problema, sino que se limitan a describir los hechos conocidos y las relaciones existentes entre ellos. Los lenguajes procedurales están orientados al "cómo" mientras que los...
Regístrate para leer el documento completo.