Está en la página 1de 62

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

INDICE GENERAL
RESUMEN ABSTRACT

1. QU ES INTELIGENCIA ARTIFICIAL (IA)?....................................5


1.1. 1.2. 1.3. LOS FUNDAMENTOS DE LA IA.....................................................................6 HISTORIA DE LA IA......................................................................................6 EL ESTADO DEL ARTE DE LA IA (LOS ULTIMOS AVANCES)..........................8

2. REDES NEURONALES....................................................................11
2.2. 2.2. 2.3. 2.4. 2.5. 2.6. 2.7. 2.8. 2.9. 2.10. FUNDAMENTOS DE LAS REDES NEURONALES..........................................11 El modelo Biolgico.............................................................................11 APRENDIZAJE ADAPTATIVO................................................................13 APRENDIZAJE...........................................................................................13 AUTO-ORGANIZACIN...............................................................................14 TOLERANCIA A FALLOS............................................................................14 OPERACIN EN TIEMPO REAL...................................................................15 ESTRUCTURA DE UNA RED NEURONAL.....................................................15 UNIDADES DE PROCESO: LA NEURONA ARTIFICIAL...................................19 Estado de Activacin............................................................................20 FUNCIN DE SALIDA O TRANSFERENCIA...................................................21 NEURONA DE FUNCIN ESCALN.............................................................22 Funcin de Activacin Escaln.............................................................22 NEURONA DE FUNCIN LINEAL O MIXTA................................................23 Funcin de activacin lineal o identidad.............................................23 Funcin de activacin lineal-mixta.....................................................24 Funcin de activacin sigmoidal........................................................25 CONEXIONES ENTRE NEURONAS.....................................................26 FUNCIN O REGLA DE ACTIVACIN.................................................27 2.2.1. 2.2.1.

2.7.1.

2.9.1. 2.10.1. 2.10.2. 2.11. 2.12. 2.11.1. 2.12.1. 2.12.2. 2.13. 2.14. 2.15.

NEURONA DE FUNCIN CONTINUA (SIGMOIDAL)....................................24 FUNCIN DE TRANSFERENCIA GAUSSIANA............................................26

MODELO DE OPERACIN PERCEPTRON.................................................28 ARQUITECTURA.....................................................................................28 REDES NEURONALES (BACKPROPAGATION, RETROPROPAGATION)......29 1

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

2.15.1. 2.15.2. 2.15.3. 2.15.4.

Algoritmo backpropagation...............................................................29 Variantes del algoritmo backpropagation............................................29 Etapa de funcionamiento...................................................................30 Etapa de aprendizaje.........................................................................30

3. CONSTRUCCIN DE AGENTES INTELIGENTES Y SISTEMAS MULTIAGENTES....................................................................................31


3.1. 3.2. 3.3. 3.4. 3.5. 3.6. 3.7. 3.8. 3.9. 3.10. 3.11. AGENTES INTELIGENTES...........................................................................31 Conceptos Bsicos..............................................................................31 ARQUITECTURA DE UN AGENTE COGNITIVO..............................................32 SISTEMAS MULTIAGENTE..........................................................................35 PLANEACIN.............................................................................................35 PLANEACIN PARA MLTIPLES AGENTES.................................................36 REPARTICIN DE TAREAS.........................................................................36 COMPARTIR RESULTADOS........................................................................37 PLANEACIN DISTRIBUIDA........................................................................38 PLANEACIN CENTRALIZADA PARA PLANES DISTRIBUIDOS.....................38 PLANEACIN DISTRIBUIDA PARA PLANES CENTRALIZADOS..................39 PLANEACIN DISTRIBUIDA PARA PLANES DISTRIBUIDOS......................39 3.1.1.

4. SISTEMAS EXPERTOS (SE)............................................................40


4.1. 4.2. 4.3. 4.4. 4.5. COMPONENTES DE LOS SISTEMAS EXPERTOS..........................................41 INGENIERA DEL CONOCIMIENTO...............................................................44 HERRAMIENTAS, SHELL (CARCAZAS) Y SOPORTES...................................45 LENGUAJES DE PROGRAMACIN..............................................................46 APLICACIONES DE LOS SISTEMAS EXPERTOS...........................................47

4.5.1. Diagnstico y localizacin de averas de dispositivos y de sistemas de todas las clases................................................................................................47 4.5.2. 4.5.3. 4.5.4. 4.5.5. 4.5.6. 4.5.7. 4.6. Planeamiento y programacin...............................................................47 Configuracin de objetos manufacturados............................................47 Toma de Decisin Financiera................................................................48 Publicacin del Conocimiento...............................................................48 Vigilancia y control del proceso............................................................48 Diseo y fabricacin.............................................................................49

BENEFICIOS A LOS USUARIOS...................................................................49 2

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

4.7. 4.8.

TENDENCIAS.............................................................................................50 INVESTIGACIN EN SISTEMAS EXPERTOS.................................................50 Representacin del Conocimiento.........................................................50 Uso del Conocimiento..........................................................................51 Adquisicin del Conocimiento..............................................................51 Otras reas de la investigacin.............................................................51

4.8.1. 4.8.2. 4.8.3. 4.8.4.

5. LA INTELIGENCIA ARTIFICIAL APLICADA A LA ROBTICA......53


5.1. EVOLUCIN DE LA ROBTICA...................................................................54 Primera generacin..............................................................................54 Segunda generacin............................................................................54 Tercera generacin..............................................................................55 Cuarta generacin................................................................................55 5.1.1. 5.1.2. 5.1.3. 5.1.4. 5.2. 5.3. 5.4. 5.5. 5.6. 5.7. 5.8.

FUTURO DE LA ROBTICA.........................................................................56 ROBTICA SITUADA..................................................................................57 ROBTICA BASADA EN LA CONDUCTA O EL COMPORTAMIENTO..............57 ROBTICA COGNITIVA...............................................................................59 ROBTICA DE DESARROLLO O EPIGENTICA............................................59 ROBTICA EVOLUTIVA..............................................................................60 ROBTICA INSPIRADA EN LA BIOLOGA....................................................61

6. BIBLIOGRAFIA.................................................................................66

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

RESUMEN
Las necesidades y los nuevos retos que actualmente tiene el ser humano, ha hecho que la investigacin y las soluciones se oriente a la Inteligencia Artificial (IA). En este documento, trataremos de explicar en qu consiste la IA, recorreremos en el tiempo la evolucin y los xitos que ha tenido y tiene el estudio de esta disciplina. El estudio de esta disciplina es bastante amplio, por lo que hemos desarrollado el tema en 4 aspectos que consideramos importantes, y que son los que mayor logro se ha tenido: Redes Neuronales, Agentes Inteligentes, Sistemas Expertos y la Robtica Dado la cantidad de informacin que podemos encontrar y la complejidad de la misma, presentamos los conceptos bsicos para tener una idea de lo mucho que se ha avanzado hasta el momento, pero tambin de todo lo que an falta por descubrir y entender. Esto es solo la punta del iceberg del complejo mundo de la IA.

ABSTRACT
The needs and new challenges that currently has the human being, has made research and solutions guide the Artificial Intelligence (AI). In this paper, we try to explain what the IA, will travel in time evolution and the successes it has had and has the study of this discipline. The study of this subject is quite broad, so we have developed the theme in 4 aspects that are important and which are the greatest achievements has been taken: Neural Networks, Intelligent Agents. Expert Systems and Robotics. Given the amount of information we can find and the complexity of this, we present the basics to get an idea of how much progress has been made so far, but also of all that still remains to be discovered and understood. This is just the tip of the iceberg of the complex world of AI.

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

INTELIGENCIA ARTIFICIAL
1. QU ES INTELIGENCIA ARTIFICIAL (IA)?

Se denomina inteligencia artificial a la rama de la ciencia informtica dedicada al desarrollo de agentes racionales no vivos. Para explicar la definicin anterior, entindase a un agente como cualquier cosa capaz de percibir su entorno (recibir entradas), procesar tales percepciones y actuar en su entorno (proporcionar salidas), y entindase a la racionalidad como la caracterstica que posee una eleccin de ser correcta, ms especficamente, de tender a maximizar un resultado esperado (este concepto de racionalidad es ms general y por ello ms adecuado que inteligencia para definir la naturaleza del objetivo de esta disciplina). Por lo tanto, y de manera ms especfica la inteligencia artificial es la disciplina que se encarga de construir procesos que al ser ejecutados sobre una arquitectura fsica producen acciones o resultados que maximizan una medida de rendimiento determinada, basndose en la secuencia de entradas percibidas y en el conocimiento almacenado en tal arquitectura. La inteligencia artificial consiste en crear teoras y modelos que muestren la organizacin y funcionamiento de la inteligencia. Actualmente, el mayor esfuerzo en la bsqueda de la inteligencia artificial se centra en el desarrollo de sistemas de procesamientos de datos que sean capaces de imitar a la inteligencia humana, realizando tareas que requieran aprendizaje, solucin de problemas y decisiones. A veces llamada inteligencia de mquina, la inteligencia artificial o AI (Artificial Intelligence) cubre una vasta gama de teoras y prcticas.

1.1. LOS FUNDAMENTOS DE LA IA

La inteligencia artificial se basa en dos reas de estudio: el cuerpo


5

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

humano y el ordenador electrnico. Puesto que la meta es copiar la inteligencia humana, es necesario entenderla. Sin embargo, a pesar de todos los progresos en Neurologa y Psicologa, la inteligencia del hombre se conoce poco, exceptuando sus manifestaciones externas. Muchos estudiosos de la inteligencia artificial se han vuelto para obtener su modelo de inteligencia hacia el estudio de la Psicologa cognoscitiva, que aborda la forma de percibir y pensar de los seres humanos.. Despus simular los comprueban sus teoras programando los ordenadores para

procesos cognoscitivos en el modelo. Otros investigadores intentan obtener teoras generales de la inteligencia que sean aplicables a cualquier sistema de inteligencia y no solo al del ser humano.

1.2. HISTORIA DE LA IA

La Inteligencia Artificial "naci" en 1943 cuando Warren McCulloch y Walter Pitts propusieron un modelo de neurona del cerebro humano y animal. Estas neuronas nerviosas abstractas proporcionaron una representacin simblica de la actividad cerebral. Ms adelante, Norbert Wiener elabor estas ideas junto con otras, dentro del mismo campo, que se llam "ciberntica"; de aqu nacera, sobre los aos 50, la Inteligencia Artificial. Los primeros investigadores de esta innovadora ciencia, tomaron como base la neurona formalizada de McCulloch y postulaban que: "El cerebro es un solucionador inteligente de problemas, de modo que imitemos al cerebro". Pero si consideramos la enorme complejidad del mismo esto es ya prcticamente imposible, ni que mencionar que el hardware de la poca ni el software estaban a la altura para realizar semejantes proyectos. Se comenz a considerar el pensamiento humano como una

coordinacin de tareas simples relacionadas entre s mediante smbolos. Se llegara a la realizacin de lo que ellos consideraban como los fundamentos de la solucin inteligente de problemas, pero lo difcil estaba todava sin empezar,
6

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

unir entre s estas actividades simples. Es en los aos 50 cuando se logra realizar un sistema que tuvo cierto xito, se llam el Perceptrn de Rossenblatt. ste era un sistema visual de reconocimiento de patrones en el cual se asociaron diluyeron enseguida. Fue en los aos 60 cuando Alan Newell y Herbert Simon, que trabajando la demostracin de teoremas y el ajedrez por ordenador logran crear un programa llamado GPS (General Problem Solver, solucionador general de problemas). ste era un sistema en el que el usuario defina un entorno en funcin de una serie de objetos y los operadores que se podan aplicar sobre ellos. Este programa era capaz de trabajar con las torres de Hanoi, as como con criptoaritmtica y otros problemas similares, operando, claro est, con microcosmos formalizados que representaban los parmetros dentro de los cuales se podan resolver problemas. Lo que no poda hacer el GPS era resolver problemas ni del mundo real, ni mdicos ni tomar decisiones importantes. El GPS manejaba reglas heursticas (aprender a partir de sus propios descubrimientos) que la conducan hasta el destinodeseado mediante el mtodo del ensayo y el error. En los aos 70, un equipo de investigadores dirigido por Edward Feigenbaum comenz a elaborar un proyecto para resolver problemas de la vida cotidiana o que se centrara, al menos, en problemas ms concretos. As es como naci el sistema experto. El primer sistema experto fue el denominado Dendral, un intrprete de espectrograma de masa construido en 1967, pero el ms influyente resultara ser el Mycin de 1974. El Mycin era capaz de diagnosticar trastornos en la sangre y recetar la correspondiente medicacin, todo un logro en aquella poca que incluso fueron utilizados en hospitales (como el Puff, variante de Mycin de uso comn en el Pacific Medical Center de San Francisco, EEUU). Ya en los aos 80, se desarrollaron lenguajes especiales para utilizar con la Inteligencia Artificial, tales como el LISP o el PROLOG. Es en esta poca cuando se desarrollan sistemas expertos ms refinados, como por el ejemplo el EURISKO. Este programa perfecciona su propio cuerpo de reglas heursticas
7

esfuerzos para que se

pudieran resolver una gama amplia de problemas, pero estas energas se

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

automticamente, por induccin.

1.3. EL ESTADO DEL ARTE DE LA IA (LOS ULTIMOS AVANCES)

Con poco ms de diez aos de antigedad, la Vida Artificial se ha convertido en un punto de referencia slido de la ciencia actual. En septiembre de 1987, 160 cientficos en informtica, fsica, biologa y otras disciplinas se reunieron en el Laboratorio Nacional de Los lamos para la primera conferencia internacional sobre Vida Artificial. En aquella conferencia se definieron los principios bsicos que han marcado la pauta desde entonces en la investigacin de esta disciplina. Un concepto bsico dentro de este campo es el de comportamiento emergente. El comportamiento emergente aparece cuando se puede generar un sistema complejo a partir de reglas sencillas. Para que se d este comportamiento se requiere que el sistema en cuestin sea reiterativo, es decir, que el mismo proceso se repita de forma continua y adems que las ecuaciones matemticas que definen el comportamiento de cada paso sean no lineales. Por otra parte, un autmata celular consiste en un espacio n-dimensional dividido en un conjunto de celdas, de forma que cada celda puede encontrarse en dos o ms estados, dependiendo de un conjunto de reglas que especifican el estado futuro de cada celda en funcin del estado de las celdas que le rodean. Hay dos posturas dentro de la Vida Artificial: la fuerte y la dbil. Para los que apoyan la postura dbil, sus modelos son solamente representaciones simblicas de los sntomas biolgicos naturales, modelos ciertamente muy tiles para conocer dichos sistemas, pero sin mayores pretensiones. Para los que defienden la versin fuerte, dicen que se puede crear vida autntica a partir de un programa de ordenador que reproduzca las caractersticas bsicas de los seres vivos.
8

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

Desde este punto de vista, la vida se divide en vida hmeda, que es lo que todo el mundo conoce como vida, vida seca, formada por autmatas fsicamente tangibles, y vida virtual, formada por programas de computador. Las dos ltimas categoras son las que integran lo que genricamente se conoce como Vida Artificial. Para defender un punto de vista tan radical, los defensores de la postura fuerte, aluden a un conjunto de reglas que comparten las tres categoras anteriores:
La biologa de lo posible: La Vida Artificial no se restringe a la vida

hmeda tal como la conocemos, sino que "se ocupa de la vida tal como podra ser". La biologa ha de convertirse en la ciencia de todas las formas de vida posibles.
Mtodo sinttico: La actitud de la Vida Artificial es tpicamente sinttica, a

diferencia de la biologa clsica, que ha sido mayoritariamente analtica. Desde este punto de vista, se entiende la vida como un todo integrado, en lugar de desmenuzarlo en sus ms mnimas partes.
Vida real (artificial): La Vida Artificial es tal porque son artificiales sus

componentes y son artificiales porque estn construidos por el hombre. Sin embargo, el comportamiento de tales sistemas depende de sus propias reglas y en ese sentido es tan genuino como el comportamiento de cualquier sistema biolgico natural.
Toda la vida es forma: la vida es un proceso, y es la forma de este

proceso, no la materia, lo que constituye la esencia de la vida. Es absurdo pretender que slo es vida genuina aquella que est basada en la qumica del carbono, como es el caso de la vida hmeda.
Construccin de abajo hacia arriba: la sntesis de la Vida Artificial tiene

lugar mejor por medio de un

proceso de informacin por computador

llamado programacin de abajo hacia arriba. Consiste en partir de unos pocos elementos constitutivos y unas reglas bsicas, dejar que el sistema evolucione por s mismo y que el comportamiento emergente haga el resto. Poco a poco el sistema se organiza espontneamente y empieza a
9

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

surgir orden donde antes slo haba caos. Esta clase de programacin contrasta con el principio de

programacin en la Inteligencia Artificial. En ella se intenta construir mquinas inteligentes hechos desde arriba hacia abajo, es decir, desde el principio se intenta abarcar todas las posibilidades, sin dejar opcin a que el sistema improvise. El principio de procesamiento de informacin en la Vida Artificial se basa en el paralelismo masivo que ocurre en la vida real. A diferencia de los modelos de Inteligencia Artificial en los que el procesamiento es secuencial, en la Vida Artificial es de tipo paralelo, tal y como ocurre en la mayora de fenmenos biolgicos

10

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

1. REDES NEURONALES

1.1. INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES

Las redes de neuronas artificiales (denominadas habitualmente como RNA o en ingls como: "ANN") son un paradigma de aprendizaje y procesamiento automtico inspirado en la forma en que funciona el sistema

nervioso de los animales. Se trata de un sistema de interconexin de neuronas en una red que colabora para producir un estmulo de salida. En inteligencia artificial es frecuente referirse a ellas como redes de neuronas o redes neuronales.

1.2. FUNDAMENTOS DE LAS REDES NEURONALES


1.2.1.El modelo Biolgico

Se estima que el cerebro humano contiene ms de cien mil millones de neuronas estudios sobre la anatoma del cerebro humano concluyen que hay ms de 1000 sinapsis a la entrada y a la salida de cada neurona. Es importante notar que aunque el tiempo de conmutacin de la neurona (unos pocos milisegundos) es casi un milln de veces menor que en los actuales elementos de las computadoras, ellas tienen una conectividad miles de veces superior que las actuales supercomputadoras. Las neuronas y las conexiones entre ellas (sinapsis) constituyen la clave para el procesado de la informacin. Algunos elementos ha destacar de su estructura histolgica son: Las dendritas, que son la va de entrada de las seales que se combinan en el cuerpo de la neurona. De alguna manera la neurona elabora una seal de salida a partir de ellas. El axn, que es el camino de salida de la seal generada por la neurona. Las sinapsis, que son las unidades funcionales y estructurales
11

elementales que median entre las interacciones de las neuronas. En las

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

terminaciones de las sinapsis se encuentran unas vesculas que contienen unas sustancias qumicas llamadas neurotransmisores, que ayudan a la propagacin de las seales electroqumicas de una neurona a otra. Lo que bsicamente ocurre en una neurona biolgica es lo siguiente: la neurona es estimulada o excitada a travs de sus entradas (inputs) y cuando se alcanza un cierto umbral, la neurona se dispara o activa, pasando una seal hacia el axn. Posteriores investigaciones condujeron al descubrimiento de que estos procesos son el resultado de eventos electroqumicos. Como ya se sabe, el pensamiento tiene lugar en el cerebro, que consta de billones de neuronas interconectadas. As, el secreto de la "inteligencia" -sin importar como se defina- se sita dentro de estas neuronas interconectadas y de su interaccin. La forma que dos neuronas interactan no est totalmente conocida, dependiendo adems de cada neurona. En general, una neurona enva su salida a otras por su axn. El axn lleva la informacin por medio de diferencias de potencial, u ondas de corriente, que depende del potencial de la neurona. Este proceso es a menudo modelado como una regla de propagacin representada por la funcin de red u(.). La neurona recoge las seales por su sinapsis sumando todas las influencias excitadoras e inhibidoras. Si las influencias excitadoras positivas dominan, entonces la neurona da una seal positiva y manda este mensaje a otras neuronas por sus sinapsis de salida. En este sentido la neurona puede ser modelada como una simple funcin escaln. Como se muestra en la prxima figura, la neurona se activa si la fuerza combinada de la seal de entrada es superior a un cierto nivel, en el caso general el valor de activacin de la neurona viene dado por una funcin de activacin. 2.2. APRENDIZAJE

2.2.1.APRENDIZAJE ADAPTATIVO

La capacidad de aprendizaje adaptativo es una de las caractersticas ms atractivas de redes neuronales. Esto es, aprenden a llevar a cabo ciertas tareas mediante un entrenamiento con ejemplos ilustrativos. Como las redes
12

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

neuronales

pueden

aprender

diferenciar

patrones mediante ejemplos y

entrenamientos, no es necesario elaborar modelos a priori ni necesidad de especificar funciones de distribucin de probabilidad. Las redes neuronales son sistemas dinmicos auto-adaptativos. Son adaptables debido a la capacidad de autoajuste de los elementos procesales (neuronas) que componen el sistema. Son dinmicos, pues son capaces de estar constantemente cambiando para adaptarse a las nuevas condiciones. En el proceso de aprendizaje, los enlaces ponderados de las neuronas se ajustan de manera que se obtengan ciertos resultados especficos. Una red neuronal no necesita un algoritmo para resolver un problema, ya que ella puede generar su propia distribucin de pesos en los enlaces mediante el aprendizaje. Tambin existen redes que continan aprendiendo a lo largo de su vida, despus de completado su perodo de entrenamiento. La funcin del diseador es nicamente la obtencin de la arquitectura apropiada. No es problema del diseador el cmo la red aprender a discriminar. Sin embargo, s es necesario que desarrolle un buen algoritmo de aprendizaje que le proporcione a la red la capacidad de discriminar, mediante un entrenamiento con patrones.

2.3. AUTO-ORGANIZACIN Las redes neuronales emplean su capacidad de aprendizaje adaptativo para auto-organizar la informacin que reciben durante el aprendizaje y/o la operacin. Mientras que el aprendizaje es la modificacin de cada elemento procesal, la autoorganizacin consiste en la modificacin de la red neuronal completa para llevar a cabo un objetivo especfico. Cuando las redes neuronales se usan para reconocer ciertas clases de patrones, ellas auto- organizan la informacin usada. Por ejemplo, la red llamada back-propagation, crear su propia representacin caracterstica, mediante la cual puede reconocer ciertos patrones. Esta auto-organizacin provoca la generalizacin: facultad de las redes
13

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

neuronales

de responder apropiadamente cuando se les presentan datos o

situaciones a las que no haba sido expuesta anteriormente. El sistema puede generalizar la entrada para obtener una respuesta. Esta caracterstica es muy importante cuando se tiene que solucionar problemas en los cuales la informacin de entrada no es muy clara; adems permite que el sistema d una solucin, incluso cuando la informacin de entrada est especificada de forma incompleta.

2.4. TOLERANCIA A FALLOS

Las redes neuronales fueron los primeros mtodos computacionales con la capacidad inherente de tolerancia a fallos. Comparados con los sistemas pierden su funcionalidad cuando computacionales tradicionales, los cuales

sufren un pequeo error de memoria, en las redes neuronales, si se produce un fallo en un nmero no muy grande de neuronas y aunque el comportamiento del sistema se ve influenciado, no sufre una cada repentina. Hay dos aspectos distintos respecto a la tolerancia a fallos: a) Las redes pueden aprender a reconocer patrones con ruido, distorsionados o incompletos. Esta es una tolerancia a fallos respecto a los datos. b) Las redes pueden seguir realizando su funcin (con cierta degradacin) aunque se destruya parte de la red. La razn por la que las redes neuronales son tolerantes a los fallos es que tienen su informacin distribuida en las conexiones entre neuronas, existiendo cierto grado de redundancia en este tipo de almacenamiento. La mayora de los ordenadores algortmicos y sistemas de recuperacin de datos almacenan cada pieza de informacin en un espacio nico, localizado y direccionable. En cambio, las redes neuronales almacenan informacin no localizada. Por lo tanto, la mayora de las interconexiones entre los nodos de la red tendrn sus valores en funcin de los estmulos recibidos, y se generar un patrn de salida que represente la informacin almacenada.

2.5. OPERACIN EN TIEMPO REAL 14

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

Una de las mayores prioridades, casi en la totalidad de las reas de aplicacin, es la necesidad de realizar procesos con datos de forma muy rpida. Las redes neuronales se adaptan bien a esto debido a su implementacin paralela. Para que la mayora de las redes puedan operar en un entorno de tiempo real, la necesidad de cambio en los pesos de las conexiones o entrenamiento es mnimo.

2.6. ESTRUCTURA DE UNA RED NEURONAL

La mayora de los cientficos coinciden en que una RNA es muy diferente en trminos de estructura de un cerebro animal. Al igual que el cerebro, una RNA se compone de un conjunto masivamente paralelo de unidades de proceso muy simples y es en las conexiones entre estas unidades donde reside la inteligencia de la red. Sin embargo, en trminos de escala, un cerebro es muchsimo mayor que cualquier RNA creada hasta la actualidad, y las neuronas artificiales tambin son ms simples que su contrapartida animal. Biolgicamente, un cerebro aprende mediante la reorganizacin de las conexiones sinpticas entre las manera, las RNA tienen un neuronas que lo componen. De la misma gran nmero de procesadores virtuales

interconectados que de forma simplificada simulan la funcionalidad de las neuronas biolgicas. En esta simulacin, la reorganizacin de las conexiones sinpticas biolgicas se modela mediante un mecanismo de pesos, que son ajustados durante la fase de aprendizaje. En una RNA entrenada, el conjunto de los pesos determina el conocimiento de esa RNA y tiene la propiedad de resolver el problema para el que la RNA ha sido entrenada. 1. Por otra parte, en una RNA, adems de los pesos y las conexiones,

cada neurona tiene asociada una funcin matemtica denominada funcin de transferencia. Dicha funcin genera la seal de salida de la neurona a partir de las seales de entrada. La entrada de la funcin es la suma de todas las seales de entrada por el peso asociado a la conexin de entrada de la seal. Algunos ejemplos de entradas son la funcin escaln de Heaviside, la lineal o mixta, la sigmoide y la funcin gaussiana,
15

recordando que la funcin de transferencia es la relacin entre la seal de

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

salida y la entrada. Las redes neuronales son modelos que intentan reproducir el

comportamiento del cerebro. Los mismos constan de dispositivos elementales de proceso: las neuronas. A partir de ellas, se pueden generar representaciones especficas, de tal forma que un estado conjunto de ellas puede significar una letra, un nmero u otro objeto. Generalmente se pueden encontrar tres tipos de neuronas:

Aquellas que reciben estmulos externos relacionados con el aparato sensorial, que tomarn la informacin de entrada. Dicha informacin se transmite a ciertos elementos internos que se ocupan de su procesamiento. Es en las sinapsis y neuronas correspondientes a este segundo nivel donde se genera cualquier tipo de representacin interna de informacin. Como no tienen relacin directa con la informacin de entrada ni con la salida, estos elementos se denominan unidades ocultas. Una vez finalizado el perodo de procesado, la informacin llega a las unidades de salida, cuya misin es dar la respuesta al sistema. A continuacin se puede ver en la siguiente figura, un esquema de una red neuronal:

L misma constitu por neuron intercon das y

a est ida as ecta

arregladas en tres capas (esto ltimo puede variar). Los datos ingresan por medio
16

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

de la "capa de entrada", pasan a travs de la "capa oculta" y salen por la "capa de salida". Cabe mencionar que la capa oculta puede estar constituida por varias capas. En la siguiente figura se compara una neurona biolgica con una neurona artificial. En la misma se pueden observar las similitudes entre ambas (tienen entradas, utilizan pesos y generan salidas). La neurona artificial pretende mimetizar las caractersticas ms

importantes

de

las neuronas biolgicas. Cada neurona i-sima est

caracterizada en cualquier instante por un valor numrico denominado valor o

estado de activacin

; asociado a cada unidad, existe una funcin de

salida,

, que transforma el estado actual de activacin en una seal de salida.

Dicha seal es enviada a travs de los canales de comunicacin unidireccionales a otras unidades de la red; estos canales la seal se modifica de acuerdo con la

sinapsis (el peso,

) asociada a cada uno de ellos segn determinada regla.

Las seales moduladas que han llegado a la unidad j-sima se combinan entre

ellas, generando as la entrada total

17

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

Una funcin de activacin, F, determina el nuevo estado de activacin

de la neurona, teniendo en cuenta la entrada total calculada y el anterior

estado de activacin

La dinmica que rige la actualizacin de los estados de las unidades puede ser de dos tipos: asncrono y modo sncrono. En el primer caso, las neuronas evalan de su forma estado continuamente segn les va llegando caso, se la continua, pero los cambios realizan informacin, y lo hacen de forma independiente, En el segundo informacin llega

simultneamente, como si existiera un reloj interno que decidiera cuando cambiar su estado. Los sistemas biolgicos quedan probablemente entre ambas posibilidades.

2.7. UNIDADES DE PROCESO: LA NEURONA ARTIFICIAL

Si se tienen N unidades (neuronas), podemos ordenarlas arbitrariamente y

designar la j- sima unidad como

. Su trabajo es simple y nico, y consiste

en recibir las entradas de las clulas vecinas y calcular un valor de salida, el cual es enviado a todas las clulas restantes.
18

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

En cualquier sistema que se est modelando, es til caracterizar tres tipos de unidades: entradas, salidas y ocultas. Las unidades de entrada reciben seales del entorno, stas pueden ser provenientes de censores o de otros sectores del sistema. Las unidades de salida envan la seal fuera del sistema; stas pueden controlar directamente potencias u otros sistemas. Las unidades ocultas son aquellas cuyas entradas y salidas se encuentran dentro del sistema; es decir no tienen contacto con el exterior. Se conoce como nivel o capa a un conjunto de neuronas cuyas entradas provienen de la misma fuente, y cuyas salidas se dirigen a un mismo destino. 2.7.1.Estado de Activacin Junto al conjunto de unidades, la representacin necesita los estados del sistema en un tiempo t. Esto se especifica en un vector de N nmeros reales A(t), que representa el estado de activacin del conjunto de unidades de procesamiento. Cada elemento del vector representa la activacin de una unidad

en el tiempo t. La activacin de una unidad Ui en el tiempo t se designa por es decir:

El procesamiento que realiza la red se ve como la evolucin de un patrn de activacin en el conjunto de unidades que lo componen a travs del tiempo. Todas las neuronas que componen la red se hallan en cierto estado. Podemos decir que hay dos posibles estados, reposo y excitado, a los que denominaremos estados de activacin y a cada uno de los cuales se le asigna un valor. Los valores de activacin pueden ser continuos o discretos. Adems pueden ser limitados o ilimitados. Si son discretos, suelen tomar un conjunto pequeo de valores o bien valores binarios. En notacin binaria, un estado activo se indicara por un 1, y se caracteriza por la emisin de un impulso por parte de la neurona (potencial de accin), mientras que un estado pasivo se indicara por un 0. En otros modelos se considera un conjunto continuo de estados de activacin, en cuyo caso se asigna un valor entre [0,1] o en el intervalo [-1,1], generalmente
19

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

siguiendo una funcin sigmoidal. Los criterios o reglas que siguen las neuronas para alcanzar tales estados dependen de dos factores: Dado que las propiedades macroscpicas de las redes neuronales no son producto de actuacin de elementos individuales, es necesario tener idea del mecanismo de interaccin entre las neuronas. El estado de activacin estar fuertemente influenciado por tales interacciones ya que el efecto que producir una neurona sobre otra ser proporcional a la fuerza, peso de la conexin entre ambas. La seal que enva cada una de las neuronas a sus vecinas depender de su propio estado de activacin.

2.8. FUNCIN DE SALIDA O TRANSFERENCIA

Asociada a cada unidad Ui (neurona) hay una funcin de salida

que transforma el estado actual de activacin en una seal de salida:

En algunos modelos, esta salida es igual al nivel de activacin de la unidad, en

cuyo caso la funcin es la funcin identidad,

. A menudo,

es

de tipo sigmoidal, y suele ser la misma para todas las unidades. Existen cuatro funciones de transferencia tpicas que determinan distintos tipos de neuronas:
Funcin escaln Funcin lineal y mixta Sigmoidal Funcin gaussiana

20

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

La funcin escaln nicamente se utiliza cuando las salidas de la red son binarias. La salida de una neurona se activa slo cuando el estado de activacin es mayor o igual a cierto valor umbral. La funcin lineal o identidad equivale a no aplicar funcin de salida. Las funciones mixtas y sigmoidal son las ms apropiadas cuando queremos como salida informacin analgica.

2.3. NEURONA DE FUNCIN ESCALN

La funcin escaln se asocia a neuronas binarias en las cuales cuando la suma de las entradas es mayor o igual que el umbral de la neurona, la activacin es 1, si es menor, la activacin es 0 ( 1). Las redes formadas por este tipo de neuronas son fciles de implementar en hardware, pero sus capacidades estn limitadas. 2.3.1.Funcin de Activacin Escaln Si el conjunto de los estados de activacin es E ={0,1}, tenemos que:

21

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

Si el conjunto es E = {-1,1}, tendremos que:

2.4. NEURONA DE FUNCIN LINEAL O MIXTA

La funcin lineal o mixta corresponde a la funcin F(x) =x. En las neuronas con funcin mixta si la suma de las seales de entrada es menor que un lmite inferior, la activacin se define como 0 ( 1). Si dicha suma es mayor o igual que el lmite superior, entonces la activacin es 1. Si la suma de entrada est suma de las seales de entrada. 2.4.1.Funcin de activacin lineal o identidad El conjunto de estados E puede contener cualquier nmero real; el estado de activacin coincide con la entrada total que ha llegado a la unidad. comprendida entre ambos lmites, la activacin se define como una funcin lineal de

22

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

2.4.2.Funcin de activacin lineal-mixta

Con esta funcin, el estado de activacin de la unidad est obligado a permanecer dentro de un intervalo de valores reales prefijados.

2.5. NEURONA DE FUNCIN CONTINUA (SIGMOIDAL)

Cualquier funcin definida simplemente en un intervalo de posibles valores de entrada, con un incremento monotnico y que tengan ambos limites superiores e inferiores (por ejemplo las funciones sigmoidal y arco tangente), podr realizar la funcin de activacin o transferencia de forma satisfactoria. Con la funcin sigmoidal, para la mayora de los valores del estmulo de entrada, el valor dado por la funcin es cercano a uno de los valores
23

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

asintticos. Esto hace posible que en la mayora de los casos, el valor de salida est comprendido en la zona alta o baja del sigmoide. De hecho cuando la pendiente es elevada, esta funcin tiende a la funcin escaln. La importancia de sta funcin es que su derivada es siempre positiva y cercana a cero para los valores grandes positivos o negativos; adems toma su valor mximo cuando x es cero. Esto hace que se puedan utilizar las reglas de aprendizaje definidas para la funcin escaln, con la ventaja respecto a esta funcin, que la derivada est definida para todo el intervalo. La funcin escaln no poda definir la derivada en el punto de transicin y esto no ayuda a los mtodos de aprendizaje en los cuales se usan derivadas. 2.5.1.Funcin de activacin sigmoidal Es una funcin continua, por tanto el espacio de los estados de activacin es un intervalo del eje real.

Para simplificar la expresin de la salida de una neurona i, es habitual considerar la existencia de una neurona ficticia, con valor de salida unidad, asociada a la entrada de cada neurona i mediante una

conexin con peso de valor quedar:

.De esta forma la expresin de salida

24

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

2.6. FUNCIN DE TRANSFERENCIA GAUSSIANA

Los centros y anchura de estas funciones pueden ser adaptados, lo cual las hace ms adaptativas que las funciones sigmoidales.

2.6.1.CONEXIONES ENTRE NEURONAS

Las conexiones que unen las neuronas que forman una RNA tienen asociado un peso que es el que hace que la red adquiera conocimiento.

Consideremos

como el valor de salida de una neurona i en un instante

dado. Una neurona recibe un conjunto de seales que le dan informacin del estado de activacin de todas las neuronas con las que se encuentra conectada. Cada conexin (sinapsis) entre la neurona i y la j est ponderada por un peso. Normalmente, como simplificacin, se considera que el efecto de cada seal es aditivo, de tal forma que la entrada neta que recibe una neurona

, es la suma de cada seal individual por el valor de la sinapsis que conecta ambas neuronas:

Esta regla muestra el procedimiento a seguir para combinar los valores de entrada a una unidad con los pesos de las conexiones que llegan a esa unidad y es conocida como regla de propagacin.
2.6.2.FUNCIN O REGLA DE ACTIVACIN

As como es necesaria una regla que combine las entradas de una neurona con los pesos de las conexiones, tambin se requiere una regla que combine las entradas con el estado actual de la neurona para producir un
25

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

nuevo estado de activacin. Esta funcin F produce un nuevo estado de

activacin en una neurona a partir del estado

que exista y la

combinacin de las entradas con los pesos de las conexiones ( Dado el estado de activacin

).

de la unidad Ui y la

entrada total que llega,

, el estado de activacin siguiente,

se obtiene aplicando una funcin F, llamada funcin de activacin.

En la mayora de los casos la funcin F es la funcin identidad, por lo que el estado de activacin de la neurona en t+1 coincidir con el Net de la misma t. En este caso, el parmetro que se le pasa a la funcin de salida , de la neurona ser directamente el Net. Es estado de

activacin anterior no se tiene en cuenta. Segn esto, la salida de una

neurona

quedar segn la expresin:

Por funcin ,

tanto,

en lo

sucesivo,

consideraremos

nicamente

la

que denominaremos de transferencia o de activacin. Adems,

la misma no est centrada en el origen del eje que representa el valor de entrada neta sino que existe cierto desplazamiento debido a las caractersticas internas de la neurona y que no es igual en todas ellas. Este valor se denota como y representa el umbral de activacin de la neurona i.

2.7. MODELO DE OPERACIN PERCEPTRON 26

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

Rumelhart, Hinton y Williams (1986) formalizaron un mtodo para que una red del tipo perceptrn multicapa aprendiera la asociacin que existe entre un conjunto de patrones de entrada y sus salidas correspondientes. Este mtodo, conocido como backpropagation error (propagacin del error hacia atrs) --tambin denominado mtodo de gradiente decreciente--, ya haba sido descrito anteriormente por Werbos (1974), Parker (1982) y Le Cun (1985), aunque fue el Parallel Distributed Processing Group (grupo PDP) --Rumelhart y colaboradores--, quien realmente lo populariz. La importancia de la red backpropagation consiste en su

capacidad de organizar una representacin interna del conocimiento en las capas ocultas de neuronas, a fin de aprender la relacin que existe entre un conjunto de entradas y salidas. Posteriormente, aplica esa misma relacin a nuevos vectores de entrada con ruido o incompletos, dando una salida activa si la nueva entrada es parecida a las presentadas durante el aprendizaje. Esta caracterstica importante es la capacidad de generalizacin, entendida como la facilidad de dar salidas satisfactorias a entradas que el sistema no ha visto nunca en su fase de entrenamiento.

2.8. ARQUITECTURA

Un perceptrn multicapa est compuesto por una capa de entrada, una capa de salida y una o ms capas ocultas; aunque se ha demostrado que para la mayora de problemas bastar con una sola capa oculta (Funahashi, 1989; Hornik, Stinchcombe y White, 1989). En la figura podemos observar un perceptrn tpico formado por una capa de entrada, una capa oculta y una de salida.

27

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

2.9. REDES

NEURONALES

(BACKPROPAGATION,

RETROPROPAGATION)

2.9.1.Algoritmo backpropagation En el algoritmo backpropagation podemos considerar, por un lado, una etapa de funcionamiento donde se presenta, ante la red entrenada, un patrn de entrada y ste se transmite a travs de las sucesivas capas de neuronas hasta obtener una salida y, por otro lado, una etapa de entrenamiento o aprendizaje donde se modifican los pesos de la red de manera que coincida la salida deseada por el usuario con la salida obtenida por la red ante la presentacin de un determinado patrn de entrada
2.9.2.Variantes del algoritmo backpropagation

Desde que en 1986 se presentara la regla backpropagation, se han desarrollado diferentes variantes del algoritmo original. Estas variantes tienen por objeto acelerar el proceso de aprendizaje. A continuacin, comentaremos brevemente los algoritmos ms relevantes. La regla delta-bar-delta (Jacobs, 1988) se basa en que cada peso tiene una tasa de aprendizaje propia, y sta se puede ir modificando a lo largo del entrenamiento. Por su parte, el algoritmo QUICKPROP (Fahlman,
28

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

1988) modifica los pesos en funcin del valor del gradiente actual y del gradiente pasado. El algoritmo de gradiente conjugado (Battiti, 1992) se basa en el clculo de la segunda derivada del error con respecto a cada peso, y en obtener el cambio a realizar a partir de este valor y el de la derivada primera. Por ltimo, el algoritmo RPROP (Resilient propagation) (Riedmiller y Braun, 1993) es un mtodo de aprendizaje adaptativo parecido a la regla delta-bar- delta, donde los pesos se modifican en funcin del signo del gradiente, no en funcin de su magnitud. 2.9.3.Etapa de funcionamiento Cuando se presenta un patrn p de entrada Xp: xp1,...,xpi,...,xpN, ste se transmite a travs de los pesos wji desde la capa de entrada hacia la capa oculta. Las neuronas de esta capa intermedia transforman las seales recibidas mediante la aplicacin de una funcin de activacin proporcionando, de este modo, un valor de salida. Este se transmite a travs de los pesos vkj hacia la capa de salida, donde aplicando la misma operacin que en el caso anterior, las neuronas de esta ltima capa proporcionan la salida de la red. 2.9.4.Etapa de aprendizaje En la etapa de aprendizaje, el objetivo que se persigue es hacer mnima la discrepancia o error entre la salida obtenida por la red y la salida deseada por el usuario ante la presentacin de un conjunto de aprendizaje en las redes patrones denominado grupo de entrenamiento. Por este motivo, se dice que el backpropagation es de tipo supervisado, debido a el usuario (o supervisor) determina la salida deseada ante la presentacin de un determinado patrn de entrada.

3. CONSTRUCCIN MULTIAGENTES

DE

AGENTES

INTELIGENTES

SISTEMAS

3.1. AGENTES INTELIGENTES 3.1.1.Conceptos Bsicos


29

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

Un agente es todo aquello que puede considerarse que percibe su ambiente mediante sensores y que responde o acta en tal ambiente por medio de efectores. Los agentes humanos tienen ojos, odos y otros rganos que le sirven de sensores, as como manos, piernas, boca y otras partes de su cuerpo que le sirven de efectores. En el caso de agentes robticos, los sensores son sustituidos por cmaras infrarrojas y los efectores son reemplazados mediante motores. En el caso de un agente de software, sus percepciones y acciones vienen a ser la cadena de bits codificados. Se clasifican en varios tipos de agentes:

Agente Racional es aquel que hace lo correcto, lo correcto se

afirmar que es que el agente tenga el mejor desempeo.

Agente Reactivo es un agente de bajo nivel, que no dispone de

un protocolo ni de un lenguaje de comunicacin y cuya nica capacidad es responder a estmulos. Los agentes reactivos no son individualmente inteligentes, sino globalmente inteligentes. Los sistemas reactivos por lo general estn compuestos por un gran nmero de agentes reactivos que realizan acciones entre todos, para esto es necesario tener en cuenta nuevas teoras de cooperacin y comunicacin que permitan el desempeo de estas acciones

Agente Cognitivo

es

aquel

que

es

capaz

de

efectuar

operaciones complejas, es individualmente inteligente (es un sistema ms o menos experto, con capacidad de razonamiento sobre su base de conocimiento), puede comunicarse con los dems agentes y llegar a un acuerdo con todos o algunos de ellos, sobre alguna decisin. Un sistema cognitivo est compuesto por un pequeo nmero de agentes cognitivos. Caractersticas de un Agente Cognitivo Los avances en los trabajos de IAD en SMA permitieron definir las siguientes caractersticas:

Intencionalidad: Un agente cognitivo es guiado por sus

metas, las cuales describen las situaciones que son deseables para el agente. Una intencin es la declaracin explcita de sus metas y medios para llegar a ellas, y los planes se pueden definir como secuencia de acciones que lleven a un agente a obtener su meta.

Racionalidad: Un agente cognitivo posee criterios de


30

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

evaluacin de acciones y de seleccin, de tal manera que lo que decida sea en beneficio de l (adquirir ms conocimiento, obtener respuestas, etc.). Adems, es capaz de justificar sus decisiones.

Compromiso: Un agente cognitivo cooperativo planifica

sus acciones por coordinacin y negociacin con los otros agentes. Los agentes que participan en la coordinacin de actividades obran bajo el supuesto de que en condiciones normales, cada uno de los participantes cumplir con el plan con el que se comprometi.

Adaptabilidad: Un agente cognitivo es capaz de controlar

sus aptitudes y comportamiento de acuerdo al rol que asuma en un sistema.

Inteligente: Un agente cognitivo es inteligente si es

racional, intencional y adaptable. Un agente inteligente debe ser capaz de operar exitosamente en varios ambientes, si se toma el suficiente tiempo para adaptarse

3.1. ARQUITECTURA DE UN AGENTE COGNITIVO La estructura interna de un agente cognitivo se puede clasificar de manera general as:

Funcionalidad es el conjunto de funciones o tareas que el agente que l hace

sabe hacer y que los dems agentes pueden conocer

[Lab93]. Dentro de estas funciones pueden estar las funciones de


31

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

comunicacin con otros agentes, de seleccin de agentes para una tarea especfica, de obtener informacin del sistema, de informacin del estado interno del agente, etc.

Creencias son el conocimiento subjetivo o conjunto de opiniones

que el agente tiene de l mismo y de los dems agentes. Puede comenzar como una opinin o conocimiento inicial y cambiar con las acciones y desempeo de cada uno de los agentes, incluido l mismo, cuando el sistema est en funcionamiento.

Conocimiento Es el conocimiento que cada agente tiene y para la resolucin de un problema, es decir, es la

que

usa

representacin de lo que sabe y del conocimiento que ha adquirido en experiencias pasadas y que le sirve para hallar soluciones o seleccionar acciones a seguir en cualquier momento. El conocimiento le permite al agente entender el mundo, lo que los dems agentes tratan de decirle y sus razonamientos internos y explicar sus ideas y decisiones a los dems agentes. Hay tres clases de conocimiento importantes a tener en cuenta:

Conocimiento Inicial: Es el conocimiento propio o bsico

del agente una vez ste existe, y no puede cambiar con el tiempo.

Conocimiento Know-That: Es el conocimiento de hechos

o saber qu hacer ante un problema o un conjunto de acciones. Este tipo de conocimiento puede cambiar con el tiempo y la experiencia adquirida por el agente.

Conocimiento Know-How: Es el conocimiento de cmo

actuar o cmo hacer las cosas. Es decir, es la habilidad para ejecutar acciones convenientes (dependiendo de la solucin del problema) en un mundo cambiante. Ms concretamente se puede definir como la habilidad o potencial de un agente para tomar una accin efectiva, y las destrezas que l demuestra cuando hace cosas que le atribuyen inteligencia. Al igual que el Know-That este tipo de conocimiento puede cambiar con el tiempo y la experiencia adquirida por el agente. Cmo se caracteriza un agente? Un agente va a venir caracterizado por una serie de calificativos, los
32

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

cuales vienen a denotar ciertas propiedades a cumplir por el agente. Esto nos lleva a plantear otra definicin bastante aceptada de agente donde se emplean tres calificativos que, segn, el autor se consideran bsicos. Esta definicin ve a un agente como un sistema de computacin. Un agente inteligente puede ser una entidad fsica o virtual. Si bien el trmino agente racional se refiere a agentes artificiales en el campo de la Inteligencia Artificial, tambin puede considerarse agentes racionales a los animales incluido el hombre. De dnde vienen los agentes inteligentes? Inteligencia a partir de agentes tontos Agentes tontos? Puede la inteligencia surgir de un grupo de mquinas tontos? Investigadores de la Universidad de Indiana (UI) forman parten de una comunidad creciente que cree que el enfoque basado en agentes tontos permitir a los investigadores en Inteligencia Artificial (IA) construir sistemas ms inteligentes y a los cientficos cognitivos estudiar la inteligencia con ms amplitud. Estos investigadores estn alejndose del enfoque tradicional de la Inteligencia Artificial que modela el comportamiento inteligente diseando un e nico implementando agente ha un tenido agente xito complejo. en La aproximacin con dominios tontas? Podemos estudiar la inteligencia utilizando agentes

racionales especializados como juegos, razonamiento y planificacin de trayectorias. Sin embargo, parece importante reconocer todos los xitos de la naturaliza, especialmente porque la naturaleza parece estar repleta de agentes inteligentes.

3.1. SISTEMAS MULTIAGENTE Los Sistemas Multi-Agente se preocupan por coordinar la conducta inteligente de agentes autnomos. Estos agentes hacen parte de una coleccin y pueden coordinar su conocimiento, objetivos, habilidades y planes juntamente para tomar una accin o resolver una meta global, al igual que los DPS estos pueden tener conocimiento parcial sobre el problema y las soluciones. En estos sistemas debe haber un proceso de racionalizacin para
33

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

la coordinacin del conjunto de agentes. Por lo general en estos sistemas MA los agentes con sus creencias, deseos e intenciones construyen el problema y el plan o secuencia de acciones para solucionarlo.

3.2. PLANEACIN El proceso de generacin de un plan es llamado planeacin, como ya se vio los planes en la IA son vistos como una secuencia de acciones de un agente, de tal manera que es capaz de cambiar su entorno y lograr uno o ms objetivos.

Las entradas esenciales para un proceso de planeacin son: estado inicial del mundo y el conjunto de las posibles acciones, el agente pude cambiar el mundo o ambiente con sus acciones. Una buena planeacin solo seria efectiva en entornos altamente predecibles, mientras que en dominios caticos es poco efectiva, en este caso el agente solo podra reaccionar ante eventos y percepciones. Los mtodos de planeacin para DPS y sistemas MA son diferentes, la planeacin para mltiples agentes se utiliza en DPS, mientras que los mtodos para planeacin distribuida se aplican a los sistemas MA. Como se ver en las siguientes secciones, en los sistemas DPS un plan debe ser resulto por los agentes, mientras que en los sistemas multi-agente se debe generar y ejecutar un plan por los agentes

3.3. PLANEACIN PARA MLTIPLES AGENTES La planeacin para mltiples agentes puede ser considerada como un problema distribuido que los agentes tiene que resolver. Cuando se construye este problema distribuido se tienen que hacer algunas suposiciones de las principales propiedades de sus elementos. Existen dos mtodos de colaboracin entre agentes cuando se soluciona un problema distribuido, la colaboracin est basada en la reparticin de tareas y en compartir resultados.
34

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

3.4. REPARTICIN DE TAREAS Se basa en la descomposicin y reparticin de tareas y la habilidad de los agentes para trabajar en paralelo. El mtodo se basa en la descomposicin de subtareas a cargo de un agente cuando este se ve sobrecargado por una tarea, la asignacin de las subtareas resultantes se hace a los agentes del sistema que tengan las habilidades que se necesiten para resolverla. Una subtarea puede ser dividida y asignada recursivamente si es necesario. Cuando se termine la subtarea(s) el resultado es devuelto a un agente que crea la solucin final del problema, generalmente este agente es el que descompuso el problema, ya que es muy probable que este sepa sintetizar los resultados. La reparticin de tareas se puede hacer en diferentes tipos de sistemas segn las capacidades de los agentes: En sistemas homogneos la reparticin de tareas es sencilla ya que los agentes cuentan con las mismas capacidades. En este caso las subtareas pueden ser asignadas aleatoriamente a los agentes inactivos del sistema. En sistemas homogneos la reparticin de tareas exige mecanismos ms complejos ya que los agentes poseen diferentes habilidades. En este caso cada sub-tarea debe ser asignada a un gente que descompone el que tenga las capacidades adecuadas para resolverla, esto conlleva a que el agente problema debe guardar informacin sobre las habilidades de cada uno de los agentes del sistema.

3.5. COMPARTIR RESULTADOS Los agentes con capacidades, conocimiento y representaciones del entorno diferentes pueden llegar a diferentes resultados al ejecutar una misma tarea, de esta manera se busca que estos resultados se compartan de forma que los agentes cooperen para encontrar la solucin global del problema. Al basarse en las diferentes soluciones de los agentes, se pueden obtener los siguientes beneficios:

35

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

Mayor confianza, debido a que si muchos agentes producen la

misma solucin para un problema determinado, incrementa la probabilidad de que el resultado sea correcto.

Mayor integracin, ya que cada agente comparte con otros los

resultados de todas las tareas que se han completado, de esta manera el grupo de agentes puede completar la solucin global de la tarea.

Mayor Precisin, teniendo una mayor visin sobre el conjunto de

tareas, se permite a los agentes refinar cada uno de los resultados.

Mayor Puntualidad, el intercambio de resultados permite a los

agentes trabajar en paralelo, minimizando el tiempo gastado en la solucin de un mismo problema por muchos agentes.

3.1. PLANEACIN DISTRIBUIDA En la planeacin distribuida, las tareas y resultados de esta, pueden ser fuente de distribucin en un sistema MA, es decir el proceso de planeacin es distribuido entre muchos agentes. El resultado de este proceso de planeacin (el cual es un plan) se distribuye y es ejecutado por varios agentes, a esto se le conoce con el nombre de plan distribuido. Los agentes pueden participan en la creacin de un plan distribuido, actuar tras un plan distribuido o participar de las dos maneras. A continuacin se presentaran tcnicas para planeacin distribuida.

3.2. PLANEACIN CENTRALIZADA PARA PLANES DISTRIBUIDOS En la planeacin centralizada un solo agente debe crear un plan. Este plan tiene que ser distribuido entre los agentes del sistema. El agente que genero el plan o un agente coordinador divide el plan en hilos que pueden ser ejecutados en paralelo. Los hilos son distribuidos entre los agentes utilizando tcnicas de asignacin de tareas y cada agente acta sobre el sub-plan que recibe.

36

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

3.3. PLANEACIN DISTRIBUIDA PARA PLANES CENTRALIZADOS La planificacin distribuida puede existir incluso cuando el plan resultante es ejecutado por un solo agente, la distribucin se hace necesaria cuando no hay la suficiente capacidad o conocimiento del agente para hacer el plan y por lo tanto debe buscar cooperacin con otros agentes especialistas en planeacin. En este tipo de planeacin el problema es descompuesto y distribuido entre los agentes especialistas de planeacin usando alguna tcnica de reparticin de tareas. La coordinacin se puede lograr mediante los siguientes mtodos:

Intercambio de un plan parcial especializado en el cual un

planificador modifica y expande un plan parcial de acuerdo con sus objetivos.

Combinacin de resultados en el cual los planificadores generan

planes parciales en paralelo e intentan integrarlos para formar un plan general.

3.1. PLANEACIN DISTRIBUIDA PARA PLANES DISTRIBUIDOS Es la forma ms compleja de planeacin distribuida, en este mtodo tanto la planeacin como la ejecucin de los planes son distribuidos. En los sistemas MA este es el caso ms general de planeacin, como cada agente est generando su plan, puede suceder que los agentes no sean consientes de la conducta de los otros agentes, debido a esto es imposible e innecesario probar un plan multi-agente completo que comprenda todas las acciones que tomen los agentes del sistema. La mejor forma para que cada uno de los agentes respete los planes de los otros, es tener una buena cooperacin entre ellos.

37

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

4. SISTEMAS EXPERTOS (SE) Los SE son programas de computacin que se derivan de una rama de la investigacin informtica llamada Inteligencia Artificial (IA). El objetivo cientfico de la IA es entender la inteligencia. Est referida a los conceptos y a los mtodos de inferencia simblica, o de razonamiento por computadora, y cmo el conocimiento usado para hacer esas inferencias ser representado dentro de la mquina. El trmino inteligencia cubre muchas habilidades conocidas, incluyendo la capacidad de solucionar problemas, de aprender y de entender lenguajes; la IA dirige todas estas habilidades. La mayora de los esfuerzos en IA se han hecho en el rea de solucionar los problemas, los conceptos y los mtodos para construir los programas que razonan acerca de los problemas y que luego calculan una solucin. Los programas de IA que logran la capacidad experta de solucionar problemas aplicando las tareas especficas del conocimiento se llaman Sistemas Basado en Conocimiento o Sistemas Expertos. A menudo, el trmino sistemas expertos se reserva para los programas que contienen el conocimiento usado por los humanos expertos, en contraste al conocimiento recolectado por los libros de textos. Los trminos, sistemas expertos (ES) y sistemas basado en conocimiento (KBS), se utilizan como sinnimos. Tomados juntos representan el tipo ms extenso de aplicacin de IA. El rea del conocimiento intelectual humano para ser capturado en un sistema experto se llama el dominio de la tarea. La tarea se refiere a una cierta meta orientada, actividad de solucionar el problema. El dominio se refiere al rea dentro de la cual se est realizando la tarea. Las tareas tpicas son el diagnstico, hojas de operacin (planning), la programacin, configuracin y diseo. Un ejemplo de dominio de una tarea es la programacin del equipo de un avin.

La construccin de un sistema experto se llama ingeniera del conocimiento y sus mdicos son los ingenieros del conocimiento. El ingeniero del conocimiento debe cerciorarse de que el ordenador tenga todo el conocimiento necesario para solucionar un problema. Tambin debe elegir una
38

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

o ms formas en las cuales representar el conocimiento requerido en la memoria del ordenador, es decir, l debe elegir una representacin del conocimiento. l debe tambin asegurarse de que la computadora pueda utilizar eficientemente el conocimiento, seleccionando de un conjunto de mtodos de razonamiento.

4.1. COMPONENTES DE LOS SISTEMAS EXPERTOS Cada sistema experto consiste de dos partes principales: la base del conocimiento; y el razonamiento, o motor de inferencia. La base del conocimiento de los sistemas expertos contiene el conocimiento efectivo y heurstico. El conocimiento efectivo es el conocimiento del dominio de la tarea que se comparte ampliamente, encontrado tpicamente en libros de textos. El conocimiento heurstico es el conocimiento menos riguroso, ms experimental, ms crtico del funcionamiento. En contraste con el conocimiento efectivo, el conocimiento heurstico raramente se discute y es en gran parte individualista. Es el conocimiento de la buena prctica, del buen juicio y del razonamiento admisible en el campo. Es el conocimiento que es la base del " arte de buen inferir". La representacin del conocimiento formaliza y ordena el conocimiento. Una representacin ampliamente usada es la regla de produccin, o simplemente regla. Una regla consiste en: una parte SI, y otra parte ENTONCES (tambin llamada como una condicin y una accin). Las listas de partes SI son un conjunto de condiciones en una cierta combinacin lgica. La porcin del conocimiento representado por la regla es relevante a la lnea del razonamiento que es convertido si la parte SI de la regla est satisfecha; por lo tanto, la parte ENTONCES puede ser concluida, o su accin de solucionar el problema ser tomada. En los sistemas expertos en que el conocimiento se representa en forma de regla se llaman: sistemas basados en reglas. Otra representacin ampliamente usada, llamada la unidad (tambin conocida como marco, esquema, o estructura de la lista) se basa sobre una vista ms pasiva del conocimiento. La unidad es un enlace del conocimiento simblico asociado acerca de una entidad que se representar. Tpicamente,
39

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

una unidad consiste en una lista de las caractersticas de la entidad y de los valores asociados para esas caractersticas. Puesto que cada dominio de la tarea consiste en muchas entidades que estn sujetas en varias relaciones, las caractersticas tambin se pueden utilizar para especificar relaciones y los valores de estas caractersticas son los nombres de otras unidades que se conectan segn las relaciones. Una unidad puede tambin representar el conocimiento de un " caso especial " de otra unidad, o algunas unidades pueden ser " partes " de otra unidad. El modelo para solucionar el problema, o el paradigma, ordena y controla los pasos de progresin tomados para solucionar el problema. El paradigma implica el encadenamiento de las reglas de SI - ENTONCES (IFTHEN) para formar una lnea de razonamiento. Si el encadenamiento empieza con un conjunto de condiciones y se mueve hacia una cierta conclusin, se llama el mtodo de encadenamiento delantero o hacia adelante. Si la conclusin se sabe (por ejemplo, una meta que se lograr) pero el camino a esa conclusin no se sabe, entonces se debe razonar al revs, y el mtodo se llama de encadenamiento posterior o hacia atrs. Estos mtodos para solucionar el problema se construyen en mdulos de programas llamados motores de la inferencia o los procedimientos de la inferencia, que manipulan y utilizan el conocimiento de la base de conocimiento para formar una lnea del razonamiento. La base de conocimiento que una persona experta utiliza es lo que l aprendi en la escuela, de colegas y a partir de aos de la experiencia. Probablemente cuanto ms experiencia tiene, ms grande es su conocimiento almacenado. El conocimiento le permite interpretar la informacin en su base de datos ayudndolo en diagnsticos, diseo y anlisis. Aunque un sistema experto consiste fundamentalmente en una base de conocimiento y un motor de inferencia, un par de otras caractersticas vale la pena mencionar: razonamiento con incertidumbre, y la explicacin de la lnea del razonamiento. El conocimiento es casi siempre incompleto e incierto. Para tratar el conocimiento incierto, una regla puede tener asociado a ella un factor de confianza o un peso. El conjunto de mtodos para usar el conocimiento incierto
40

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

conjuntamente con datos inciertos en el proceso del razonamiento se llama razonamiento con incertidumbre. Una subclase importante de los mtodos por razonar con incertidumbre se llama "lgica difusa (fuzzy logic)," y los sistemas que los utilizan se conocen como " sistemas difusos. " En las aplicaciones expertas de un sistema incierto o el conocimiento heurstico (como los seres humanos lo hacemos) su credibilidad est a menudo en duda (al igual que en el caso con seres humanos). Cuando una respuesta a un problema es cuestionable, queremos saber el anlisis razonado. Si el anlisis razonado parece probable, tendremos que creer la respuesta. La mayora de los sistemas expertos tienen la capacidad de contestar a las preguntas de la forma: " porqu es la respuesta X? " Las explicaciones pueden ser generadas rastreando la lnea del razonamiento usada por el motor. El componente ms importante de cualquier sistema experto es el conocimiento. El poder de los sistemas expertos reside en la alta calidad especfica del conocimiento que contienen acerca del dominio de la tarea. Los investigadores de IA continuarn explorando y agregando al repertorio actual de mtodos de representacin y de razonamiento del conocimiento. Pero en el conocimiento reside el poder. Debido a la importancia del conocimiento en los sistemas expertos los mtodos de adquisicin de conocimiento son de vital importancia para romper el embotellamiento de la adquisicin del conocimiento, en la codificacin y la representacin de una gran infraestructura del conocimiento. 4.2. INGENIERA DEL CONOCIMIENTO Es el arte de disear y construir los sistemas expertos donde los ingenieros del conocimiento son sus mdicos. Afirmamos anteriormente que la ingeniera del conocimiento es una parte aplicada de la ciencia de la inteligencia artificial (IA) que, a su vez, es parte de la informtica. Tericamente, entonces, un ingeniero del conocimiento es un informtico que sabe disear y poner programas en ejecucin que incorporan tcnicas de inteligencia artificial. Hay hoy dos maneras de construir un sistema experto. Pueden ser construidas todo de una vez, o ser construidas usando partes de software de desarrollo conocido como una " herramienta " o " Shell (carcaza)". Antes de
41

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

hablar sobre estas herramientas, hablaremos concisamente lo que hacen los ingenieros del conocimiento. Aunque existen diferentes estilos y mtodos de ingeniera del conocimiento, el acercamiento bsico es igual: un ingeniero del conocimiento se entrevista y observa a una persona experta o a un grupo de expertos y aprende lo que ellos saben y cmo razonan con su conocimiento. El ingeniero entonces traduce el conocimiento a un lenguaje til para la computadora y disea un motor de inferencia, una estructura del razonamiento que utilice apropiadamente el conocimiento. l tambin determina cmo integrar el uso del conocimiento incierto en el proceso del razonamiento y qu clase de explicacin seran tiles para el usuario final .Despus, se programan el motor de la deduccin y los recursos para representar y para explicar el conocimiento; el conocimiento del dominio es cargado por partes en el programa. Puede ser que el motor de la inferencia no sea exacto; la forma de representacin del conocimiento es torpe para la clase de conocimiento necesitada para la tarea; y el experto pudo detectar qu partes de conocimiento son incorrectos. Todo esto se descubre y se modifica mientras que el sistema experto gana gradualmente capacidad. El descubrimiento y la acumulacin de tcnicas de razonamiento, y la representacin del conocimiento es generalmente trabajo de investigacin de la inteligencia artificial. El descubrimiento y la acumulacin de conocimiento del dominio de la tarea es jurisdiccin de los expertos del dominio. El conocimiento del dominio consiste en conocimiento formal, los libros de textos, y el conocimiento experimental, el talento de los expertos.

4.3. HERRAMIENTAS, SHELL (CARCAZAS) Y SOPORTES Solamente un pequeo nmero de mtodos de IA se sabe que son tiles en los sistemas expertos. Es decir, hay actualmente solo un puado de maneras para representar el conocimiento, o hacer deducciones, o generar explicaciones. As, los sistemas que contienen estos mtodos tiles pueden ser construidos sin ningn conocimiento especfico del dominio. Tales sistemas se conocen como sistemas Shell (carcaza), o simplemente herramientas soporte de la IA.

42

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

La construccin de los sistemas expertos usando shell ofrece ventajas significativas donde el sistema de IA se puede construir para realizar una tarea nica entrando todo el conocimiento necesario acerca del dominio de la tarea en un shell. El motor de la inferencia que aplica el conocimiento a la tarea actual se construye en el shell. Si el programa no es muy complicado y si un experto ha tenido cierto entrenamiento en el uso de un shell, el experto puede entrar en el conocimiento mismo de la tarea. Muchos shell comerciales estn disponibles hoy, extendindose desde shell de tamao para PC y shell para sitios de trabajo, a los Shell para los grandes ordenadores centrales. Se extienden en precio de centenares a millares de dlares, y de rango en complejidad simple, encadenado adelante, sistemas basados en reglas que requieren dos das de entrenamiento a esos tan complejos que solamente los ingenieros del conocimiento altamente entrenados pueden utilizarlos. Se extienden desde shell de uso general a los shell adaptados a una clase de tarea, tales como hojas de operacin (planning) financieras o control de proceso en tiempo real. Aunque los shell simplifican la programacin, en general no ayudan con la adquisicin del conocimiento. La adquisicin del conocimiento refiere a la tarea de dotar los sistemas expertos con el conocimiento, una tarea realizada actualmente por los ingenieros del conocimiento. La opcin del mtodo del razonamiento, o un shell, es importante, pero no es tan importante como la acumulacin del conocimiento de la alta calidad. El poder de un sistema experto radica en la acumulacin del conocimiento acerca del dominio de la tarea; a mayor conocimiento en un sistema ms competente llega a ser.

4.4. LENGUAJES DE PROGRAMACIN La hiptesis fundamental del funcionamiento de IA es que el comportamiento inteligente se puede describir exactamente como la manipulacin del smbolo y se puede modelar el proceso de smbolo con las capacidades de la computadora. En los aos 50 los lenguajes de programacin especiales fueron inventados para facilitar la manipulacin del smbolo. El ms destacado se llama LISP (LISt Processing). Debido a su elegancia y simple flexibilidad, la
43

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

mayora de los programas de investigacin de IA se escriben en LISP, pero las aplicaciones comerciales se han alejado del LISP. A principios de los aos 70 otro lenguaje de programacin de IA fue inventado en Francia. Se llama PROLOG (PROgramming in LOGic). El LISP tiene sus races en un rea de las matemticas, PROLOG en otra. PROLOG consiste en las declaraciones que son hechos (afirmaciones), reglas (de la inferencia) y preguntas. Los programas escritos en PROLOG tienen comportamiento de gobernar los sistemas bases similar a los escritos en el LISP. PROLOG, sin embargo, no se convirti inmediatamente en un lenguaje opcional para los programadores de IA. A principios de los aos 80 fue impulsado por el aviso de Japn que utilizara este lenguaje de programacin para el proyecto de la Quinta Generacin de Sistemas Informticos; Fifth Generation Computing Systems (FGCS). 4.5. APLICACIONES DE LOS SISTEMAS EXPERTOS El espectro de aplicaciones de la tecnologa de los sistemas expertos a los problemas industriales y comerciales es tan amplio debido a la fcil caracterizacin del desafi. Las aplicaciones encuentran su perfil en la mayora de las reas del trabajo del conocimiento. Las aplicaciones se agrupan en siete clases importantes. 4.5.1.Diagnstico y localizacin de averas de dispositivos y de sistemas de todas las clases Esta clase abarca los sistemas que deducen incidentes y sugieren las acciones correctivas para un dispositivo o un proceso que funciona incorrectamente. El diagnstico mdico era una de las primeras reas del conocimiento a las cuales la tecnologa de los Sistemas Expertos (SE) fue aplicada, pero el diagnstico de sistemas dirigidos sobrepas rpidamente el diagnstico mdico. Probablemente, hay ms aplicaciones de diagnstico de Sistemas Expertos que de cualquier otro tipo. El problema de diagnstico se puede manifestar, en resumen, como: dado la evidencia que se presenta, cul es el problema / razn / causa subyacente?. 4.5.2.Planeamiento y programacin

44

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

Los sistemas que caen en esta clase analizan un conjunto de una o ms metas potencialmente complejas y obran recprocamente para determinar un conjunto de acciones para lograr esas metas, y/o proveen el orden temporal detallado de esas acciones considerando el personal, el material y otros apremios. Esta clase tiene gran potencial comercial. Los ejemplos implican la programacin de vuelos, el personal y las puertas de una lnea area; la programacin del departamento de empleo de la fbrica; y las hojas de operacin (planning) de proceso de la fabricacin. 4.5.3.Configuracin de objetos manufacturados La configuracin, por el cual una solucin a un problema se sintetice de un conjunto dado de elementos relacionados por un conjunto de apremios, es histricamente una de las aplicaciones de los sistemas expertos ms importante. Las aplicaciones de la configuracin fueron iniciadas por las compaas de computadoras como medio para facilitar la fabricacin de las minicomputadoras. La tcnica ha encontrado su forma de uso en muchas industrias diferentes, por ejemplo, construccin modular, fabricacin, y otros problemas que implicaban diseo y la fabricacin compleja de la ingeniera. 4.5.4.Toma de Decisin Financiera La industria de los servicios financieros ha sido un usuario vigoroso de las tcnicas de los Sistemas Expertos. Los programas consultivos se han creado para asistir a banqueros en la determinacin de si hacer prstamos a los negocios y a los individuos. Las compaas de seguro han utilizado los sistemas expertos para evaluar el riesgo presentado por el cliente y determinar un precio para la aplicacin tpica del seguro; en los mercados financieros est en la negociacin de la moneda extranjera. 4.5.5.Publicacin del Conocimiento sta es una aplicacin relativamente nueva, pero tambin es un rea potencialmente delicada. La funcin primaria del sistema experto es entregar el conocimiento que es relevante al problema del usuario, en el contexto del problema del usuario. Los dos sistemas expertos ms extensamente distribuidos en el mundo estn en esta categora. El primero es un consejero que aconseja al usuario con el uso gramatical apropiado en un texto. El segundo es un consejero de impuesto, que acompaa un programa de
45

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

preparacin de impuesto y aconseja al usuario en la estrategia y tctica de impuesto, y la poltica de impuesto individual. 4.5.6.Vigilancia y control del proceso Los sistemas que caen en esta clase analizan datos en tiempo real de los dispositivos fsicos con la meta de advertir las anomalas, predecir las tendencias, y controlar la correccin del optimizador y del incidente. Los ejemplos de sistemas en tiempo real que vigilan activamente los procesos se pueden encontrar en las industrias de la siderurgia y de la refinacin del petrleo. 4.5.7.Diseo y fabricacin Estos sistemas asisten al diseo de dispositivos y de procesos fsicos, extendindose del diseo conceptual del alto nivel de entidades abstractas a la configuracin de los procesos de la fabricacin.

4.6. BENEFICIOS A LOS USUARIOS Sobre todo, los beneficios de los Sistemas Expertos (ES) a los usuarios finales incluyen: Una aceleracin del profesional humano o del trabajo semiprofesional, tpicamente por un factor de diez y a veces por un factor de cien o ms. Dentro de las compaas, ahorros de costo internos importantes. Para los sistemas pequeos, los ahorros estn a veces en los diez o los centenares de miles de dlares; pero para los sistemas grandes, a menudo en los diez millones de dlares y tan arriba como centenares de millones de dlares. Estos ahorros de costo son como resultado de la mejora de calidad, una motivacin importante para emplear la tecnologa de los Sistemas Expertos. Calidad mejorada de la toma de decisin. En algunos casos, la calidad o la correccin de las decisiones evaluadas despus de la comprobacin del hecho mejora alrededor de diez veces. Preservacin de la experiencia. Los sistemas expertos se utilizan para preservar conocimientos tcnicos en organizaciones, para capturar el experiencia de los individuos que se estn retirando y para preservar

46

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

conocimientos tcnicos corporativos para poderlos distribuir extensamente a otras fbricas, oficinas o plantas de la compaa.

4.7. TENDENCIAS Mientras que las tcnicas de los sistemas expertos maduraron a la tecnologa de la informacin estndar en los aos 80, el aumento de la integracin de la tecnologa de los sistemas expertos con la tecnologa de la informacin convencional creci en importancia. Temprano en su historia, las herramientas de los sistemas expertos comerciales fueron escritas sobre todo en lisp y PROLOG, pero la tendencia ha estado actualmente ms a los lenguajes convencionales tales como C. Finalmente, la conexin de los sistemas expertos a las bases de datos que son manejadas por mtodos y grupos convencionales de la tecnologa de la informacin es esencial y ahora es una caracterstica estndar de todos los sistemas expertos.

4.8. INVESTIGACIN EN SISTEMAS EXPERTOS Las categoras bsicas de la investigacin en sistemas basados en el conocimiento incluyen: representacin del conocimiento, uso del conocimiento (o solucin de problemas), y adquisicin del conocimiento (es decir, el aprendizaje y descubrimiento del mecanismo). 4.8.1.Representacin del Conocimiento En la representacin del conocimiento, los asuntos claves son los conceptos, lenguajes y estndares para la representacin del conocimiento. Hay muchas partes implicadas en el progreso de los sistemas expertos: definir los problemas encontrados en la bsqueda del conocimiento; desarrollo de la infraestructura para construir y compartir grandes bases de conocimiento; y acumulado de un gran cuerpo del conocimiento, por ejemplo, conocimiento del sentido comn o ingeniera y conocimiento tcnico.

4.8.2.Uso del Conocimiento

47

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

El uso del conocimiento, o el solucionar problemas, implica esfuerzos de la investigacin para el desarrollo de nuevos mtodos para las diferentes clases de razonamiento, tales como razonamiento analgico, razonamiento basado en la teora de las probabilidades y la teora de la decisin, y razonamiento de ejemplos del caso. La primera generacin de los sistemas expertos fue caracterizada porque las bases del conocimiento eran estrechas y, por lo tanto, el funcionamiento era frgil. Cuando el lmite del conocimiento de un sistema fue atravesado, el comportamiento del sistema pasa muy rpido de extremadamente competente a incompetente. Para superar tal fragilidad, los investigadores ahora estn concentrados en razonar modelos, principios y causas. As, el sistema basado en el conocimiento no tendr que saber todo acerca de un tema, como era, pero puede razonar con una base ms amplia de conocimiento usando los modelos, los principios y la causalidad. 4.8.3.Adquisicin del Conocimiento La bsqueda para una gran base de conocimiento afronta el problema del acceso a las bases de conocimiento distribuidas que implican sistemas expertos mltiples. El esfuerzo de desarrollar la infraestructura necesit obtener el acceso a un rea de la investigacin llamada compartir el conocimiento. La meta de esta rea de la investigacin es superar el aislamiento de los sistemas expertos de la primera generacin, que raramente intercambiaron cualquier conocimiento. Por lo tanto, las bases de conocimiento que fueron construidas para los sistemas expertos en los aos 80 no acumularon. 4.8.4.Otras reas de la investigacin Una aplicacin importante de la investigacin de los sistemas expertos implica los mtodos para razonar con datos inciertos y conocimiento incierto. Uno de los mtodos ms adoptados se llama "lgica difusa (fuzzy logic)" o "razonamiento borroso", especialmente en Japn. Recientemente, ha venido en escena el asunto de la investigacin de las redes neuronales, redes de componentes distribuidos que funcionaban en paralelo para tomar decisiones. Los enlaces entre la tecnologa de las redes neuronales y la tecnologa de los sistemas expertos se estn aplicando.

48

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

Finalmente, la investigacin explora el uso de los nuevos mtodos paralelos de computacin para la puesta en prctica de los sistemas expertos y de los sistemas avanzados basados en conocimiento. La pregunta es, cul ser el impacto de tales actividades de la computacin en paralelo del alto rendimiento en las tcnicas de los sistemas expertos?

49

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

5. LA INTELIGENCIA ARTIFICIAL APLICADA A LA ROBTICA Inteligencia artificial, robtica, aprendizaje, reconocimiento, conducta,

procesamiento del lenguaje. La robtica siempre ha estado unida a la construccin de artefactos con la idea de asemejarse al ser humano y de ahorrarle trabajo. La palabra robot proviene del escritor checo Karel Capek, el cual acu en 1921 dicho trmino en una de sus obras a partir de la palabra checa robota, que significaba servidumbre o definiendo a la ciencia que estudia los robots. Actualmente, la robtica se define como la ciencia y tecnologa de los robots. Se ocupa del diseo, manufactura y aplicaciones de stos y combina diversas disciplinas como la mecnica, electrnica, informacin, inteligencia artificial e ingeniera de control. Aqu es donde aparece el trmino de Inteligencia Artificial cual (IA), el trabajo forzado. Posteriormente, sera Isaac Asimov quien utilizara el trmino robtica

est adquiriendo mayor protagonismo con el tiempo en la robtica. Se

trata de una ciencia perteneciente a la rama de la Ciberntica, que estudia el mecanismo de la inteligencia humana con el fin de crear mquinas inteligentes, capaces de realizar clculos y de "pensar", elaborar juicios y tomar decisiones. Mientras que la robtica, en principio, evoluciona la mecnica se encarga de la parte analtica,

de los robots, la inteligencia artificial

consiguiendo comportamientos cada vez ms humanos. Quizs estos comportamientos humanos sean los que ms nos llamen la atencin, probablemente relacionndolos con el cine, en pelculas donde los robots, capaces de imitar a las personas acaban por relevarse. Nada ms lejos de la realidad, pues aunque el aprendizaje de los robots es una realidad, carecen de capacidad creativa, sentido comn y otros aspectos de vital importancia en el desarrollo.
5.1. EVOLUCIN DE LA ROBTICA

La forma ms intuitiva de entender la evolucin de la robtica es analizando punto a punto las distintas generaciones de robots a lo largo de la historia y a su vez mencionando algunos de sus ejemplos, viendo claramente
50

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

su desarrollo.

5.1.1.Primera generacin Tambin denominada Manipuladores, son sistemas mecnicos multifuncionales con un sencillo sistema de control, bien manual, de secuencia fija o variable. El sistema de control utilizado se basa en las paradas fijas mecnicamente. Podemos considerar como ejemplo de esta primera etapa los mecanismos de relojera que permiten mover las cajas musicales o a los juguetes de cuerda. Este tipo de control es semejante al ciclo de control que tienen algunos lavadores de ciclo fijo. Adems son tiles para las aplicaciones industriales de tomar y colocar, pero estn limitados a un nmero pequeo de movimientos.

5.1.2.Segunda generacin Segunda generacin o robots de aprendizaje, repiten una secuencia de movimientos que ha sido ejecutada previamente por un operador humano. El modo de hacerlo es a travs de un dispositivo mecnico. El operador realiza los movimientos requeridos mientras el robot le sigue y los memoriza. Utiliza una estructura de control de ciclo abierto, pero en lugar de utilizar interruptores y botones mecnicos utiliza una secuencia numrica de control de movimientos almacenados en un disco o cinta magntica. El programa de control entra mediante la eleccin de secuencias de movimiento en una caja de botones o a travs de palancas de control, desarrollando as, la secuencia deseada de movimientos. El mayor nmero de aplicaciones en los que se utilizan los robots de esta generacin son de la industria automotriz, en soldadura, pintado con spray. Este tipo de robots constituyen la clase ms grande de robots industriales de EEUU, pudiendo llegar a formar el 90%.

51

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

5.1.3.Tercera generacin Robots con control sensorizado. El controlador es una computadora que ejecuta las rdenes de un programa y las enva al manipulador para que realice los movimientos necesarios. De esta manera utiliza las computadoras para su estrategia de control y tiene algn conocimiento del ambiente local a travs del uso de sensores, los cuales miden el ambiente y modifican su estrategia de control. Al analizar factores externos y comportarse en funcin de ellos, nos encontramos ante la generacin que posteriormente se llamar de robots inteligentes. Aparecen los lenguajes de programacin para escribir los programas de control. La estrategia de control utilizada se denomina de ciclo cerrado.

5.1.4.Cuarta generacin La denominada generacin de Robots inteligentes, similar a la

anterior, pero que adems poseen sensores que envan informacin a la computadora de control sobre el estado del proceso. Esto permite una toma inteligente de decisiones y el control del proceso en tiempo real.

Sus extensiones sensoriales son ms y mejores, para comprender sus acciones y el mundo que los rodea. Utilizan conocimiento difuso y procesamiento dirigido por expectativas que mejoran el desempeo del sistema de manera que la tarea de los sensores se extiende a la supervisin del ambiente global, registrando los efectos de sus acciones en un modelo del mundo y auxiliar en la determinacin de tareas y metas.

52

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

5.2. FUTURO DE LA ROBTICA

La campos sta.

robtica ha ido desarrollndose y evolucionando en gran medida que componen la robtica avanzada y que afrontan el futuro de

a lo largo de los ltimos aos, de tal manera que actualmente existen varios

Cul es el objetivo? Crear robots inteligentes y autnomos, la nueva generacin, capaces de estar situados en su entorno, adoptar comportamientos,razonar, evolucionar y actuar como seres vivos. Como ya hemos dicho, al menos seis campos de investigacin estructuran hoy la robtica avanzada: la que relaciona al robot con su entorno, la conductual, la cognitiva, la epigentica o de desarrollo, la evolutiva y la biorrobtica. Es un gran campo de estudio interdisciplinar que se apoya en la ingeniera mecnica, elctrica, electrnica e informtica, as como en la ciencia fsica, anatoma, psicologa, biologa, zoologa y etologa, entre otras. El fundamento de estas investigaciones es la Ciencia Cognitiva Corporizada y la Nueva Inteligencia Artificial.

5.3. ROBTICA SITUADA Este enfoque se ocupa de los robots que estn insertos en entornos complejos y, a menudo, dinmicamente cambiantes. Se basa sobre dos ideas centrales: los robots Losrobots estn corporizados (embodiment), es decir, tienen un cuerpo fsico apto para experimentar su entorno de manera directa, en donde sus acciones tienen una realimentacin inmediata sobre sus propias percepciones. Los robots estn situados (situatedness), o sea, estn inmersos forma

dentro de un entorno; interaccionan con el mundo, el cual influye de directa sobre su comportamiento.

Obviamente, la complejidad del entorno tiene una relacin estrecha con la complejidad del sistema de control. En efecto, si el robot tiene que reaccionar rpida e inteligentemente en un ambiente dinmico y desafiante, el problema del control se torna muy difcil. Si el robot, en cambio, no necesita
53

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

responder de manera rpida, se reduce la complejidad requerida para elaborar el control. Dentro de este paradigma, se encuentran varios subparadigmas: la robtica basada en el comportamiento, la robtica cognitiva, la robtica epigentica, la robtica evolutiva y la robtica biomimtica.

5.4. ROBTICA BASADA EN LA CONDUCTA O EL COMPORTAMIENTO

Este acercamiento emplea el principio conductista: los robots generan un comportamiento slo cuando se los estimula; es decir, reaccionan ante los cambios de su entorno local (como cuando alguien toca accidentalmente un objeto caliente). Aqu, el diseador divide las tareas en numerosas y diferentes comportamientos bsicos, cada una de los cuales se ejecuta en una capa separada del sistema de control del robot. Tpicamente, estos mdulos (conductas) pueden ser la de evitar obstculos, caminar, levantarse, etc. Las funciones inteligentes del sistema, tales como percepcin, planificacin, modelado, aprendizaje, etc. emergen de la interaccin entre los distintos mdulos y el entorno fsico en donde est inmerso el robot. El sistema de control totalmente distribuido se construye de manera incremental, capa por capa, a travs de un proceso de ensayo y error, y cada capa es responsable nicamente de una conducta bsica. Los sistemas basados en la conducta son capaces de reaccionar en tiempo real, ya que calculan las acciones directamente a partir de las percepciones (a travs de un conjunto de reglas de correspondencia situacinaccin). Es importante observar que el nmero de capas aumenta con la complejidad del problema. De este modo, una tarea muy compleja puede estar ms all de la capacidad del diseador (es muy complicado definir todas las capas, sus interrelaciones y dependencias. Otro inconveniente es que, debido a la presencia de varias conductas y a su dinmica individual de interaccin con el mundo, muchas veces es difcil decir que una serie de acciones en particular ha sido producto de una conducta particular. Algunas veces varias conductas trabajan simultneamente, o estn intercambindose rpidamente. Aunque tal vez alcancen la inteligencia del insecto, probablemente los
54

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

sistemas construidos a partir de este enfoque tengan habilidades limitadas, ya que no tienen representaciones internas. En efecto, este tipo de robots presentan una gran dificultad para ejecutar tareas complejas y, en las ms sencillas, no se garantiza la mejor solucin, la ptima.

55

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

5.5. ROBTICA COGNITIVA Esta aproximacin utiliza tcnicas provenientes del campo de las Ciencias Cognitivas. Se ocupa de implementar robots que perciben, razonan y actan en entornos dinmicos, desconocidos e imprevisibles. Tales robots deben tener funciones cognitivas de muy alto nivel que impliquen razonar, por ejemplo, acerca de las metas, las acciones, el tiempo, los estados cognitivos de otros robots, cundo y qu percibir, aprender de la experiencia, etc. Para eso, deben poseer un modelo simblico e interno de su entorno local, y la suficiente capacidad de razonamiento lgico para tomar decisiones y para ejecutar las tareas necesarias a fin de alcanzar sus objetivos. En pocas palabras, esta lnea de trabajo se ocupa de implementar cognitivas en atencin, aprendizaje, memoria a corto y largo plazo, etc. Si se consigue que los robots desarrollen por s mismos sus capacidades cognitivas, se evitara el programarlos a mano para cada tarea o contingencia concebible. Asimismo, si se logra que los robots utilicen representaciones y mecanismos de razonamiento similares a la de los humanos, se podra mejorar la interaccin hombremquina, as como las tareas de colaboracin. Sin embargo, se necesita un elevado poder de procesamiento (en especial si el robot cuenta con numerosos sensores y actuadores) y mucha memoria (para representar el espacio de estados). caractersticas los robots, tales como percepcin, formacin de conceptos,

5.6. ROBTICA DE DESARROLLO O EPIGENTICA Este enfoque se caracteriza porque trata de implementar sistemas de control de propsito general, a travs de un prolongado proceso de desarrollo u autoorganizacin autnoma. Como resultado de la interaccin con su entorno, el robot es capaz de desarrollar diferentes y cada vez ms complejas capacidades perceptuales, cognitivas y de comportamiento.

Se trata de un rea de investigacin que integra la neurociencia del desarrollo, la psicologa del desarrollo y la robtica situada. Inicialmente el
56

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

sistema puede estar dotado de un pequeo conjunto de conductas o conocimientos innatos, pero gracias a la experiencia adquirida es capaz de crear representaciones y acciones ms complejas. En sntesis, se trata de que la mquina desarrolle autnomamente las habilidades adecuadas para un determinado entorno particular desarrollo mental autnomo. La diferencia entre la robtica de desarrollo y la robtica epigentica a veces agrupadas bajo la denominacin de robtica ontogentica (ontogenetic robotics) es algo sutil, ya que se refiere al tipo de entorno. En efecto, mientras la primera hace referencia nicamente al entorno fsico, la segunda toma en cuenta tambin al entorno social. El trmino epigentico (ms all de lo gentico) fue introducido en la psicologa por el psiclogo suizo Jean Piaget para designar su nuevo campo de estudio que enfatiza la interaccin sensomotriz de la persona con el entorno fsico, en lugar de tener en cuenta solamente a los genes. Por otra parte, el psiclogo ruso Lev Vygotsky complement esta idea con la importancia de la interaccin social. transitando por las diferentes fases de su

5.7. ROBTICA EVOLUTIVA Este acercamiento aplica los conocimientos obtenidos de las Ciencias Naturales (biologa y etologa) y de la Vida Artificial (redes neuronales, tcnicas evolutivas y sistemas dinmicos) sobre robots reales, a fin de que desarrollen sus propias habilidades en interaccin ntima con el entorno y sin la intervencin humana. Mediante un diseo fijo, es difcil lograr que un robot se adapte (se autoorganice) a un entorno dinmico que evoluciona a menudo mediante cambios caticos. De all que la robtica evolutiva puede proporcionar una adecuada solucin a este problema, ya que la mquina puede adquirir automticamente nuevos comportamientos dependiendo de las situaciones dinmicas que se presentan en el entorno en donde est situada. A travs de la utilizacin de tcnicas evolutivas (algoritmos genticos, programacin gentica y estrategia evolutiva), se puede decidir evolucionar el sistema de control o algunas caractersticas del cuerpo del robot (morfologa,
57

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

sensores, actuadores, etc.) o coevolucionar ambas. De igual manera, se puede decidir evolucionar fsicamente el hardware (los circuitos electrnicos) o el software (los programas o las reglas de control). No obstante, poco hay hecho sobre hardware evolutivo y, normalmente, lo que se hace es evolucionar primero el controlador en una simulacin por computadora y, slo despus, se lo transfiere a los robots reales. El controlador del robot consiste tpicamente en redes neuronales artificiales, y la evolucin consiste en modificar los pesos de las conexiones de dicha red. En la actualidad, el principal inconveniente del control evolutivo es su lenta velocidad de convergencia y la considerable cantidad de tiempo que tiene que pasar para llevar a cabo el proceso evolutivo sobre un robot real. Asimismo, no es apropiado para resolver problemas de creciente complejidad.

5.8. ROBTICA INSPIRADA EN LA BIOLOGA

Esta aproximacin se ocupa de disear robots que funcionan como los sistemas biolgicos, de all que se basan sobre las Ciencias Naturales (biologa, zoologa y etologa) y la robtica. Dado que los sistemas para implementar sistemas biolgicos realizan muchas tareas de procesamiento complejas con mxima eficiencia, constituyen una buena referencia artificiales que ejecuten tareas que los seres vivos realizan de forma natural (interpretacin de la informacin sensorial, aprendizaje de movimientos, coordinacin motora, etc.). Aunque es posible obtener diferentes grados de inspiracin biolgica (desde una vaga semejanza hasta una aceptable rplica), el objetivo ltimo es realizar mquinas y sistemas cada vez ms similares al original. La ventaja de construir biorobots es que, como es posible estudiar todos sus procesos internos, se los puede contrastar con los diferentes rganos del animal del cual se inspira. En la actualidad, los cientficos desarrollan langostas, moscas, perros, peces, serpientes y cucarachas robticas, con el fin de emular en mayor o mayor medida la conducta robusta, flexible y adaptable de los animales. No obstante, pocas mquinas se parecen a sus homlogos naturales.
58

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

Replicar la biologa no es fcil y podra pasar bastante tiempo antes de que se puedan fabricar robots biomimticos que resulten verdaderamente tiles. Otro problema quizs el principal es que, aunque se conoce muy bien los diferentes procesos de muchos de estos seres vivos, hay una diferencia abismal con sus equivalentes humanos. En efecto, el modo en el que percibe y acta el hombre es extremadamente ms complejo que como lo hace una langosta, por dar un ejemplo.

EJEMPLOS ACTUALES A lo largo de los ltimos aos se han desarrollado proyectos increbles, haciendo palpables la evolucin de los campos mencionados en el anterior apartado. Veamos algunas muestras, como los nuevos robots andantes PetMan y BigDog, un helicptero, un auto de rallyes autnomos o una profesora robot. PetMan y BigDog La firma Boston Dynamics ha presentado a Petman, un robot prototipo que aunque no dibuja, ni cocina, ni blogea es capaz de de realizar una serie de funciones como caminar, trotar y gatear, alcanzando una velocidad de unos 5 kilmetros por hora.

Por otra parte, Petman es capaz de mantener el equilibrio cuando es empujado. Su desarrollo no apunta ni a futuros exoesqueletos, ni a robots; sino al diseo de trajes para hacer frente a una eventual guerra qumica, por lo que este robot tambin es capaz de manejar una serie de variables para control de la temperatura, humedad y la transpiracin. En cuanto a BigDog, tambin firma de Boston Dynamics, se trata de un robot de cuatro patas capaz de caminar por cualquier superficie, incluyendo pendientes de hasta 35 grados, suelos helados, caminos de piedras, todo es
59

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

poco para l. Es capaz de cargar con 150 kilos de peso. Dirase vindole superar algunos de los retos que muchos movimientos son genuinamente animales, acaso instintivos, pero nada ms lejos de la realidad: un ordenador bien programado y sensores diversos, incluyendo visin estreo controlan todos sus movimientos.

Helicptero autnomo El MIT (Instituto Tecnolgico de Massachusetts present en el concurso de robtica area (AUVSI), un helicptero totalmente autnomo, con la capacidad de desplazarse en forma inteligente por distintos lugares, esquivando obstculos y calculando en tiempo real la ruta que debe seguir para llegar a un determinado lugar.

Para ello el helicptero cuenta con un sistema de cmaras y un escner lser, los que se encargan de analizar el entorno en el que se encuentra para determinar los lugares por donde se puede desplazar. Coche autnomo Hace tiempo que las personas suean con un coche que se conduzca solo, que no choque y que no cometa los errores que cometen los conductores humanos. Pues modelos que se conducen solos ya existen, gracias a la de la Defensa de

Agencia de Proyectos de Investigacin Estados Unidos (DARPA).

Avanzada

Este proyecto lo plantearon, entre otras cosas, como un sistema experto. Poseen una aplicacin que captura informacin, para luego utilizarla tal y como hara un humano experto.
60

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

Para ello se automatiza el procedimiento de toma de decisiones, es decir, se analiza tanto lo que el experto sabra como la manera en que resolvera el problema. Saya, la profesora robot En muchos pases, dedicarse a la enseanza es una profesin noble en otras puede ser un autntico martirio donde el profesor no es respetado lo ms mnimo. En Japn dan un paso ms all y estn realizando una prueba piloto en un colegio de Tokyo en el que el maestro ha sido sustituido por un robot.

Se le conoce como Saya y es capaz de conversar en asignar segn tareas est a los estudiantes o alegre y mostrar la enfadado con

varios

idiomas, faciales

expresiones

clase gracias a 18 motores

escondidos en su cabeza. Por otra parte, Saya posee un sistema de respuesta automtica, perteneciente a la disciplina que forma parte de la Ingeniera Lingstica, capaz de interpretar preguntas realizadas por los alumnos, relacionada, para buscar y informacin devolver una extraerla

respuesta completa.

Un sistema de respuesta automtica presenta una tpica arquitectura que se divide en: Anlisis de la pregunta

Transforma la pregunta de tal manera que sea entendible por la mquina. Es necesario utilizar herramientas de procesamiento del lenguaje natural para obtener la suficiente cantidad de informacin para que el sistema sea ms eficiente. Bsqueda de informacin

Saya dispone de un sistema de recuperacin de la informacin relacionada con la pregunta que se le ha realizado.
61

CURSO: TEORA DE LENGUAJE DE PROGRAMACIN

Extraccin de la respuesta

Finalmente, una vez ha recopilado toda la informacin, procede a escoger la mejor respuesta.

6. BIBLIOGRAFIA
1. http://es.wikipedia.org/wiki/Algoritmo_gen%C3%A9tico#Funcionamiento 2. http://ccc.inaoep.mx/~emorales/Cursos/NvoAprend/node101.html 3. http://es.wikipedia.org/wiki/Algoritmo_gen%C3%A9tico#Funcionamiento 4. http://es.wikipedia.org/wiki/Redes_neuronales#Estructura 5. http://gc.ssr.upm.es/inves/neural/ann2/concepts/basis.htm#net 6. http://www.psiquiatria.com/psicologia/revista/61/2833 7. http://es.wikipedia.org/wiki/L%C3%B3gica_difusa#Tipos_de_l.C3.B3gica 8. http://www.itnuevolaredo.edu.mx/takeyas 9. http://agamenon.uniandes.edu.co/yubarta/agentes/agentes2.htm 10. http://www.fayerwayer.com/2009/10/unaudittsseconducirasoloporunapista

derallyen2010/
11. http://www.fayerwayer.com/2009/10/petman-un-robot-andante-creado-

para-la-guerra-quimica/
12. http://www.fayerwayer.com/2009/10/el-mit-desarrolla-helicoptero-que-

esquiva-obstaculos/
13. http://www.microsiervos.com/archivo/tecnologia/bigdog-robot.html 14. http://es.wikipedia.org/wiki/Robtica 15. http://www.gensym.com 16. http://www.matrikon.com 17. http://www.frro.utn.edu.ar/repositorio/catedras/quimica/5_anio/orientadora1

/monograias/pignani-sistemasexpertos.pdf
18. http://www.monografias.com/trabajos16/sistemas-expertos/sistemas-

expertos.shtml

62

También podría gustarte