ARQUITECTURA LINGUISTICO-INTERACTIVA PARA SISTEMAS EVOLUTIVOS
FERNANDO GALINDO SORIA
U P I I C S A - I P
N
LIC. EN C.
SECCION DE
DE LA
POSGRADO E
INFORMATICA INVESTIGACION
DICIEMBRE DE 1991.
Los
Sistemas Evolutivos (s.ev.) surgieron como una respuesta a la necesidad de
desarrollar sistemas de información (Por ejemplo: nóminas, sistemas expertos,
compiladores o sistemas de reconocimiento de imágenes) que reflejaran lo más
fielmente posible la realidad que están modelando y capaces de soportar y
absorver en tiempo real los cambios que ocurren en ésta, ya sea en sus
elementos, en las relaciones entre éstos o en su significado.
Para
lograr lo anterior un sistema evolutivo (s.ev.) se comporta como un niño que
está aprendiendo y aplicando este aprendizaje a su entorno, ya que de entrada, el s.ev. no cuenta con reglas o programas
que le digan cómo resolver un problema dado, sino que cuenta con la capacidad
de construir su propia imagen de la realidad y con los mecanismos que le
permiten percibir esa realidad y actuar dentro de ella.
El
área de los sistemas evolutivos es relativamente nueva, ya que, los primeros
trabajos orientados en esta dirección se empezaron a desarrollar en 1983, las
primeras conferencias sobre el tema se presentaron en 1984 y los primeros
productos funcionando a nivel de prototipo se presentaron en 1985; a partir de
ese inicio su crecimiento ha sido explosivo y cada día aumenta la cantidad de
productos desarrollados bajo este enfoque al mismo tiempo que se integran nuevos
métodos y herramientas para construir sistemas evolutivos.
La
variedad de aplicaciones resueltas mediante este enfoque es completamente
disímbola y cada vez se amplía más su campo de aplicación haciéndonos pensar
que este enfoque marca una nueva forma general o Paradigma de la Informática.
Entre
otras se han desarrollado aplicaciones para:
.Generar
Esquemas Lógicos de Base de Datos a partir de
Lenguaje Natural.
.Reconocimiento
de Imágenes.
.Generación
de Sistemas Expertos.
.Construcción
y explotación de Bases de Conocimiento.
.Control
de robots usando lenguaje natural y de trayectoria.
.Reconocimiento
y corrección de errores ortográficos.
.Generación
automática de sistemas de Información.
.Construcción
de paisajes en dos dimensiones.
A
pesar de no ser exhaustiva, la lista anterior nos permite darnos cuenta de la
diversidad de aplicaciones atacadas y por otro lado conviene mencionar que en
la mayoría de estas aplicaciones se encuentran presentes herramientas para
tratamiento de lenguaje natural, reconocimiento de patrones y representación de
conocimiento.
ARQUITECTURA GENERAL DE UN S.Ev.
Cuando
se construye un sistema evolutivo se debe tener en cuenta que se está
desarrollando un sistema que debe ser capaz de construir su propia imagen de la
realidad, con lo cual, se da un giro radical a la forma de desarrollar
sistemas, ya que en los métodos tradicionales una persona o grupo de
personas analizan un problema y proponen un conjunto de reglas para resolverlo,
o sea que, el desarrollador estudia la realidad, construye una imagen de ésta y
la representa mediante un programa, con lo cual, si por algún motivo el
problema atacado cambia, es necesario que el desarrollador vuelva a estudiarlo
e introduzca los cambios al sistema teniendo siempre una estructura monolítica
y de mutua esclavitud entre desarrollador y sistema ya que cualquier cambio en
la realidad obliga al desarrollador a introducirlo al sistema, so pena de
quedar obsoleto.
Por
el otro lado mediante los sistemas evolutivos se busca que sea el propio
sistema el que lleve a cabo acciones que le permitan construir su imagen de
la realidad, mantenerla actualizada y usarla para interactuar con el medio.
Por
lo que, cuando se desarrolla un s.ev. más que darle un conjunto de reglas
prefijadas para resolver un problema, lo que se busca es darle la capacidad
para que pueda construir y mantener su propia imagen de la realidad.
Para
llevar a cabo lo anterior se han desarrollado muchas propuestas y se han
construido gran cantidad de sistemas y herramientas. En la actualidad se cuenta con varios enfoques de cómo construir
este tipo de sistemas, por lo que, en particular presentaremos uno de estos
enfoques basados en los conceptos de la Linguística Matemática y del desarrollo
de sistemas interactivos.
En
general la arquitectura de un S.Ev. se puede ver constituida por tres grandes
módulos interrelacionados.
.La
Representación de la Realidad.
.El
Manejador del S.Ev.
.Los
Mecanismos de Interacción con el Ambiente.
![]()
Realidad


Mecanismo Representación
de de
la
Interacción Realidad
![]()

Manejador
del
S. Ev.
Fig
1: Arquitectura General de un S. Ev.
El
módulo de Representación de la Realidad nos permite almacenar una imagen
de una realidad dada en término de sus elementos, las relaciones entre éstos o
estructura y su significado.

Elementos
Estructura Significado
Fig. 2: Representación de la Realidad de un S.Ev.
Por
su parte el Manejador del S.Ev. es el mecanismo responsable de
construir, mantener actualizada y aprovechar la Imagen de la Realidad a partir
de los conocimientos y requerimientos detectados por el Mecanismo Interactivo.
Para
lograr su propósito el manejador consta generalmente de tres módulos:
.Un
Manejador Léxico/Semántico responsable de encontrar los elementos que
forman parte de una realidad dada y su significado.
.Un
Manejador Sintáctico/Semántico, el cual tiene como función principal encontrar
la Estructura general o reglas inmersas en esa realidad.
.Un
manejador Semántico/Hermenéutico responsable de que el sistema encuentre una interpretación
propia de lo que lo rodea y asocie esa interpretación tanto a los elementos
como a la estructura.
Por
su parte el Mecanismo de Interacción es el que permite que el sistema
evolutivo se comunique con su ambiente ya sea para modificar su imagen de la
realidad o llevar a cabo alguna acción sobre su exterior.
UNIVERSO LINGUISTICO BASICO
Cualquier
persona que haya desarrollado o conozca cómo funciona un Compilador o
interprete de algún lenguaje podrá observar que la arquitectura del Manejador
del S.Ev. 'se parece' a la del compilador, sin embargo, existe una diferencia
fundamental, ya que en el caso de un compilador éste ya cuenta con un lenguaje
de programación inamovible definido por la persona que diseñó el compilador y
formado por tipos de elementos, reglas sintácticas y significados específicos,
por lo que, si el sistema no reconoce alguna instrucción simplemente manda un
mensaje de error y normalmente termina el proceso; por su parte el S.Ev. cuenta
con la capacidad para encontrar elementos, reglas y significados mediante un
mecanismo de tipo interactivo, por lo que, si no reconoce algo entra en un
proceso de diálogo tanto con su exterior como con su interior hasta que logra
aprenderlo e integrarlo en su universo o hasta que se le indica que lo ignore.
Sin
embargo, la semejanza no es fortuita ya que según el Enfoque Linguístico de la
Informática tanto el compilador como el S.Ev. perciben la realidad en términos
linguísticos y así mientras el compilador se comunica con su entorno mediante
un lenguaje que le fue predefinido por su constructor, en el caso del S.Ev.,
éste se comunica mediante un lenguaje que va adquiriendo a partir de la
interacción con su entorno.
Uno
de los enfoques 'operativos' para la construcción de Sistemas Evolutivos parte
de la capacidad de construir y mantener una imagen de la realidad de los S.Ev.
pero permite que el sistema tenga un conocimiento mínimo inicial(una
especie de código genético) sobre su realidad.
A
este conocimiento mínimo se le conoce como Universo Linguístico Básico y
está formado generalmente por un conjunto muy pequeño de reglas predefinidas
que permiten al sistema controlar su ambiente, estas reglas son el equivalente
del lenguaje de máquina o de las funciones básicas de un lenguaje funcional
como LISP.
Al
integrar un Universo Linguístico Básico a los sistemas evolutivos se rompe la
posibilidad de que éstos entren en un ciclo de aprendizaje infinito, ya que,
normalmente una regla está sustentada en otras reglas y en la búsqueda de la
regla última el sistema podría llegar a nivel de partículas elementales y no
terminar, sin embargo, con el universo linguístico básico el S. Ev. cuenta con
un conjunto mínimo del cual partir y al cual llegar.