Translate

sábado, 18 de julio de 2015

REDES DE NEURONAS DE BASE RADIAL

INTRODUCCIÓN

Las redes de nuronas de base radial son redes multicapa con conexiones hacia delante con una única capa oculta, las neuronas ocultas poseen carácter local Cada neurona oculta se activa en una región distinta del espacio de entrada, El carácter local se debe al uso de las funciones de base radial como funciones de activación. Generalmente la función gaussiana, las neuronas de salida realizan una combinación lineal de las activaciones de las neuronas ocultas, se deben fundamentalmente a: Moody y Darken (1989), Renals (1989), Poggio y Girossi (1990).

MARCO TEÓRICO


En el campo de la modelización matemática, una red de función de base radial es una red neuronal artificial que usa funciones de base radial como funciones de activación. La salida de la red es una combinación lineal de funciones de base radial de las entradas y los parámetros de las neuronas. Redes de funciones de base radial tienen muchos usos, incluida la aproximación función, la predicción de series temporales, clasificación y control del sistema. Ellos fueron formuladas por primera vez en un documento de 1988 por Broomhead y Lowe, ambos investigadores de la Royal Radar Establishment, aunque la arquitectura pueda recordar a la de un MLP, la diferencia fundamental está en que las neuronas de la capa oculta en vez de de calcular una suma ponderada de las entradas y aplicar una sigmoide, estas neuronas calculan la distancia euclídea entre el vector de pesos sinápticos (que recibe el nombre en este tipo de redes de centro o centroide) y la entrada (de manera casi analoga a como se hacía con los mapas SOM) y sobre esa distancia se aplica una función de tipo radial con forma gaussiana.

APLICACIÓN
Tanto en la Ingeniería, como en la Economía, se presentan problemas en los cuales se necesita encontrar una variación entre un conjunto de variables dependientes y otro independientes. La función que une estas variables es generalmente no lineal y la mayor parte del tiempo no se conoce ninguna información sobre la forma de esta variación. Los procedimientos estadísticos se pueden utilizar, pero sufren de esa desventaja. Una red neuronal RBF se puede utilizar para extraer la relación dependiente e independiente. Para el ejemplo únicamente se ha considerado el caso 1D, sin embargo todos los conceptos que se han analizado son perfectamente válidos en 2 o más dimensiones. Se parte de una función conocida, a la que se añade ruido en forma seudoaleatoria, obsérvese que esto se hace únicamente con el fin de ilustrar y verificar los resultados. En cualquier aplicación al área de Ingeniería o Financiera esta función es desconocida.

Mediante el intérprete Scilab, se genera una función, como la de la figura. El ruido mismo se ha representado a través de puntos a lo largo de la función original. Para la red de inicialización se puede considerar que todos los puntos de ruido aportan con nodo para la red. 
Obsérvese que para definir un nodo de la red RBF se necesita establecer los parámetros de las funciones radiales, para este caso se ha escogido 3 tamaños para el parámetro r (radio) de estas funciones radiales (r = 0.5 1.0 1.5). El parámetro c (centros) es igual a los parámetros de entrada x en la inicialización. 
El algoritmo forward select, permite encontrar la red más adecuada para extraer una relación determinística, la función que realiza el proceso de escoger los nodos de la red en virtud de los criterios de selección de modelos que se han mencionada es forward Select(F,y) y la función que construye la red neuronal de inicialización es rbf Design (x,c,r). Una vez que se encuentra la red óptima, se procede a calcular los parámetros de la misma. Estos parámetros w permiten generalizar a la red para valores de entrada diferentes de los que fue entrenada. Se ha añadido además otro llamado a la función forwardSelect en la que se considera una variación al proceso de selección de nodos de la red más elaborado utilizando otros criterios de selección de modelos.

 Se ha demostrado que estos procedimientos permiten mejorar la solución en base al criterio de mínimos cuadrados

CONCLUSIÓN

Una red artificial de función Radial utiliza la distribución de Normal de la estadística la fórmula de aprendizaje es algo compleja porque utiliza métodos de integración triple y necesita una función gama y tao para determinar en donde tiene el patrón aprendido.
Al igual que el perceptron multicapa, las redes de neuronas de base radial son aproximadores universales, en el sentido de que pueden aproximar cualquier  función continua sobre un compacto de R^n.
Las funciones de base radial (RBF) definen hiperesferas o hiperelipses  que dividen el espacio de entrada. Cada RBF (cada neurona) construye una aproximación local no lineal en una determinada región del espacio de entrada.
Se han aplicado a gran variedad de problemas:
Análisis de series temporales, procesamiento de imágenes, reconocimiento automático del habla, diagnósticos médicos, etc

BIBLIOGRAFÍA

Broomhead, S ; Lowe, . 1988. Radial basis functions, multi-variable functional interpolation and adaptive networks. Complex Systems Publications. Reino Unido. Pags  x
Broomhead, S ; Lowe, . 1988. “Multivariable functional interpolation and adaptive networks”. Complex Systems Publications. Reino Unido. Pags  x
Schwenker, F; Kestler, H; Palm, G. 2001. “Three learning phases for radial-basis-function networks”. Pergamon. Alemania . pag 440 – x

RED ADALINE


INTRODUCCIÓN

Desarrollado en 1960 por Widrow y Hoff, el nombre significa ADAptive LINear Element, y fué desarrollada como un circuito electrónico adaptivo para uso en telefonía mucho antes de que se concibiera el término “red neural.” estructura prácticamente idéntica al perceptron, pero es un mecanismo físico capaz de realizar aprendizaje. Elemento combinador adaptativo lineal, que recibe todas las entradas, las suma ponderadamente, y produce una salida.
El aprendizaje busca encontrar el mejor vector de pesos posibles en términos del criterio de error cuadrático medio.

MARCO TEÓRICO

El Adaline es un tipo de red neuronal artificial que utiliza un aprendizaje off-line con supervisión denominado LMS o regla del minimo error cuadrático medio, también denominado regla delta.
Tiene una gran diferencia con el perceptron, la manera de utilizar la salida en la regla de aprendizaje, el perceptron utiliza la salida de la función umbral (binaria) para el aprendizaje. Solo se tiene en cuenta si se ha equivocado o no.
En Adaline se utiliza directamente la salida de la red (real) teniendo en cuenta cuánto se ha equivocado.
Se utiliza la diferencia entre el valor real esperado d y la salida producida por la red y

Se puede aplicar a este tipo de problemas siempre que los patrones sean linealmente separables.

Posee un filtro de ruido en el campo de procesamiento de señales transmisoras de información.

También es capaz de predecir el valor de una señal en el instante t+1 si se conoce el valor de la misma en los p instantes anteriores. El error de la predicción será mayor o menor según que señal queramos predecir. Si la señal se corresponde a una serie temporal, el Adaline, pasando un tiempo, será capaz de dar predicciones exactas.

Se pueden combinar múltiples Adalines formando una red Madaline.

Una de las principales ventajas que presenta la Red Adaline frente al perceptrón es que esta su gráfica de error es un  hiperparaboloide la cual contiene un mínimo global o también puede tener una recta de infinitos valores.
De esta manera se evita los problemas que proporciona el perceptrón al momento del entrenamiento ya que su función de error tiene cuantiosos mínimos específicos.


CONCLUSIÓN

Podemos concluir señalando que la red Adaline es parecida al Perceptron y a la vez es muy diferente ya que este tipo de red artificial nos entrega un resultado mucho mas aproximado.

BILIOGRAFÍA

Medina, E; Cubides, H; Salazar, J y Sigüencia, J. 2010. Redes Adaline – Filtros Adaptativos. (En Línea). Consultado,  03 de Jun del 2015. Disponible en: http://es.scribd.com/doc/52002261/Adeline-1

Galván, I y Valls, J. 2010. Redes de Neuronas Artificiales. (En Línea). Consultado,  02 de Jun del 2015. Formato (PDF). Disponible en: http://ocw.uc3m.es/ingenieria-informatica/redes-de-neuronas-artificiales/transparencias/material-de-clase.-tema-2


PERCEPTRÓN MULTICAPA


INTRODUCCIÓN

Un perceptrón multicapa (MLP) es un modelo neuronal artificial feedforward red que asigna conjuntos de datos de entrada en un conjunto de salidas apropiadas. Un MLP consta de múltiples capas de nodos de un grafo dirigido, con cada capa totalmente conectado a la siguiente,excepto para los nodos de entrada, cada nodo es una neurona (o elemento de procesamiento) con una función de activación lineal.

A continuación profundizaremos en el tema.

MARCO TEÓRICO

MLP utiliza una técnica de aprendizaje supervisado denominado retropropagación para la formación de la red. MLP es una modificación del perceptrón lineal estándar y pueden distinguir los datos que no son linealmente separables.
Este es uno de los tipos de redes más comunes. Se basa en otra red más simple llamada perceptrón simple solo que el número de capas ocultas puede ser mayor o igual que una. Es una red unidireccional (feedforward). La arquitectura típica de esta red es la siguiente:


FUNCIÓN DE ACTIVACIÓN

Si un perceptrón multicapa tiene una función lineal en la activación de todas las neuronas, es decir, una función lineal que mapea las entradas ponderadas a la salida de cada neurona, entonces es fácilmente demostrado con el álgebra lineal que cualquier número de capas puede ser reducido a la norma modelo de de dos capas. Lo que hace que un perceptrón multicapa diferente es que cada neurona utiliza una función de activación no lineal que se desarrolló para modelar la frecuencia de potenciales de acción, o de cocción, de las neuronas biológicas en el cerebro. Esta función se modela de varias maneras.
Las dos funciones principales de activación utilizados en las aplicaciones actuales son ambos sigmoides, y se describen por:
y (vi) =  tang (vi) ;
y (vi) = 1 /  (1 + e ^(- vi)) )

En el que la primera función es la tangente hiperbólica que varía de -1 a 1, y el segundo, la función logística, es similar en forma pero oscila de 0 a 1 Aquí yi  es la salida del nodo i-ésimo (neurona) y vi  es la suma ponderada de las sinapsis de entrada.

APLICACIONES
Perceptrones multicapa utilizando un algoritmo de backpropagation son el algoritmo estándar para cualquier proceso de reconocimiento de patrones de aprendizaje supervisado y el tema de investigación en curso en la neurociencia computacional y procesamiento distribuido en paralelo. Son útiles en la investigación en términos de su capacidad para resolver problemas de forma estocástica, que a menudo permite a uno para obtener soluciones aproximadas para problemas muy complejos, como aproximación de la capacidad. MLP fueron una solución de aprendizaje de máquina popular en la década de 1980, la búsqueda de aplicaciones en diversos campos, tales como el reconocimiento de voz, reconocimiento de imágenes, y software de traducción automática, (Wasserman  ; Schwartz.  1988) pero desde la década de 1990 se enfrentaron la fuerte competencia de la mucho más simple  y relacionados apoyar las máquinas de vectores. Más recientemente, ha habido un cierto interés renovado en las redes de retro propagación debido a los éxitos de aprendizaje profundo

APRENDIZAJE EN EL PERCEPTRÓN MULTICAPA
1. Se inicializan los pesos y umbrales (valores aleatorios próximos a 0).
2. Se presenta un patrón “n” de entrenamiento y se propaga hacia la salida, obteniendo la salida de la red “y(n)”
3. Se evalúa el error cuadrático, “e(n)”, cometido por la red para cada patrón.
4. Se aplica la Regla Delta Generalizada para modificar pesos y umbrales:
Se calculan los valores “δ” para todas las neuronas de la capa de salida.
Se calcula “δ” para el resto de neuronas, empezando por la última capa oculta y terminando en la capa de entrada.
Se modifican los pesos y umbrales.
5. Se repiten los pasos 2, 3 y 4 para todo el patrón de entrenamiento.
6. Se evalúa el error total de la red.
7. Se repite hasta alcanzar el error mínimo de entrenamiento, realizando “m” ciclos. Se pueden establecer otros criterios de parada:
El error del entrenamiento se estabilice.
El error de validación se estabilice.
El error de validación aumente

CONCLUSIÓN
El  perceptrón multicapa pertenece a la familia de aprendizaje o entrenamiento supervisado su característica principal es la cantidad de nodos que contiene para obtener entradas de datos y dar una salida en base al modelo que tiene como función. Es uno de los modelos de redes neuronales más simples en la inteligencia artificial entonces como tal es la base fuerte para creación de nuevos modelos. 

BIBLIOGRAFÍA

Rosenblatt, F. 1961. Principles of Neurodynamics: Perceptrons and the Theory of Brain Mechanisms. Spartan Books, Washington DC
Rumelhart, D; Geoffrey E  and Williams, R. 1986. “Learning Internal Representations by Error Propagation”. David E. Rumelhart, James L. McClelland, and the PDP research
Cybenko, G. 1989. Approximation by superpositions of a sigmoidal function Mathematics of Control, Signals, and Systems, 1ra Edición, pag .303–314.


INTRODUCCION A LAS REDES NEURONALES

INTRODUCCIÓN

Desde el principio de los tiempos, los humanos siempre han pensado en cuál es su naturaleza, teniendo en cuenta cada uno de los conceptos conocidos por ellos, han ido determinando con el pasar de los años el funcionamiento de cada una de sus partes, pero para ello han tenido que esperar bastante, sin embargo esto no los detuvo en ningún momento, llegando a descubrir incluso el funcionamiento interno de las neuronas, como transportan la información recibida, como la codifican etc
Las Redes Neuronales biológicas son muy importantes dentro del desarrollo de la Inteligencia Artificial, ya que en la búsqueda del ser humano de crear maquinas inteligentes (mecanismos que simulen un comportamiento inteligente en un determinado entorno),  busca conocer cómo funciona su sistema en relación con la naturaleza, que lo diferencia de los animales y de los pequeños microorganismos. Para esto se analiza el comportamiento del cerebro humano (principalmente el referido a las neuronas y sus conexiones), para tratar de crear modelos artificiales que solucionen problemas difíciles de resolver mediante técnicas algorítmicas convencionales
En fin, en lo que se enfoca ahora es en tratar de emular o imitar, el gran funcionamiento del cerebro humano que como se menciona, lo hace por medio de impulsos, que luego son traducidos en información, y posteriormente transportado, a través de una gran red de conductores, conocidos como red de neuronas

MARCO TEORICO

REDES NEURONALES ARTIFICIALES
Las redes neuronales artificiales también denominadas RNA es una forma de aprendizaje de la función del sistema nervioso de los seres humanos y animales. Es en sí, una especie de red compuesta por neuronas, es decir muchas neuronas conectadas entre sí, que permiten la entrada, procesamiento y salida de información.

FUNDAMENTOS BIOLÓGICOS DE LAS REDES DE NEURONAS
El Sistema Nervioso está considerado como la estructura única más compleja del universo. Su principal función es, junto con el sistema endocrino, asegurar el control y la comunicación dentro del organismo.
De alguna forma, una neurona es un procesador de información muy simple:
Canal de entrada: dendritas (Reciben los estímulos).
Procesador: Núcleo.
Canal de salida: axón (Transmite la señal de activación).
Las dendritas: Elementos de unión entre Axón y dendritas, es el espacio líquido con determinadas concentraciones iónicas (K, Na) (Izurieta, F y Saavedra, C. 2000).

El sistema de comunicación neuronal se compone de tres partes:

Los receptores, que están en las células sensoriales, recogen la información en forma de estímulos, ya sea que estos provengan del ambiente o del interior del organismo.
El Sistema Nervioso, que recibe las informaciones, las elabora, en parte las almacena y las envía en forma elaborada a los órganos efectores y a otras zonas del sistema nervioso.
Órganos diana o Efectores (glándulas, músculos, etc.), que reciben la información y la interpretan en forma de acciones motoras, hormonales, etc. 

MODELO COMPUTACIONAL
 Existen modelos muy diversos de redes de neuronas en los cuales se siguen filosofías de sueño, reglas de aprendizaje y funciones de construcción de las respuestas muy distintas. Una primera clasificación se hace en función del recorrido que sigue la información dentro de la red, y así se distinguen redes alimentadas hacia adelante y redes con retro-alimentación
Una red viene determinada por:
Un conjunto de unidades de proceso, conexiones entre las unidades, regla de propagación, para emitir señales a través de las conexiones y una regla de aprendizaje para modificar los pesos sinápticos de las conexiones.

ESTRUCTURA BÁSICA DE LA RED
En general, las neuronas suelen agruparse en unidades estructurales llamadas capas. Dentro de una capa, las neuronas suelen ser del mismo tipo. Se pueden distinguir tres tipos de capas:
De entrada: reciben datos o señales procedentes del entorno.
De salida: proporcionan la respuesta de la red a los estímulos de la entrada.
Ocultas: no reciben ni suministran información al entorno (procesamiento interno de la red) 


Generalmente las conexiones se realizan entre neuronas de distintas capas, pero puede haber conexiones intracapa o laterales y conexiones de realimentación que siguen un sentido contrario al de entrada-salida.

VENTAJAS DE LAS REDES NEURONALES
Aprendizaje adaptativo. Es una de las características mas atractivas de las redes neuronales, es la capacidad de aprender a realizar tareas básicas en un entrenamiento o una experiencia inicial
Auto-organización. Una Red Neuronal Artificial puede crear su propia organización o representación de la información que recibe mediante una etapa de aprendizaje. Esta auto-organización provoca la facultad de las redes neuronales de responder apropiadamente cuando se les presentan datos o situaciones a los que no habían sido expuestas anteriormente.
Tolerancia a fallos. Comparados con los sistemas computacionales tradicionales, los cuales pierden su funcionalidad en cuanto sufren un pequeño error en memoria, en las redes neuronales, si se produce un fallo en un pequeño número de neuronas, aunque el comportamiento se ve influenciado, sin embargo no sufre una caída repentina
Operación en tiempo real. Los computadores neuronales pueden ser realizados en paralelo, se diseñan y se fabrican máquinas con hardware especial para obtener esta capacidad
APLICACIONES
En Biología, como aprender más acerca del cerebro y otros sistemas, obtención de retinas entre otros
En el Medio Ambiente, como analizar tendencias y patrones, identificación de falsificaciones, robots automatizados y sistemas de control
En la Medicina, analizadores del habla para la ayuda de audición; diagnóstico y tratamientos a partir de síntomas de datos analíticos y lecturas de RayosX.
En la empresa como identificación de candidatos para posiciones especificas exploración de bases de datos, entre otras.

CONCLUSIONES

Las redes neuronales artificiales buscan imitar el comportamiento del cerebro a través de un modelo, para esto se realiza una simplificación, averiguando cuáles son los elementos relevantes del sistema,  ya que la cantidad de información que existe es mucha y esta puede ser redundante. El desarrollo de estas redes se puede aplicar a diferentes campos como la biología, medicina, finanzas etc. Ya que son una tecnología computacional emergente.


Las redes neuronales artificiales son una abstracción de las redes neuronales reales , la IA trata de simularlas inspirándose en la biología. La clasificación  es muy metódica,  también está bien distribuida   y la que más me llama la atención son  las redes neuronales  artificiales  de aprendizaje híbrido.

BIBLIOGRAFIA

García. E. 2009. Vida e inteligencia artificial. Revista ACIMED. V 19 n. (En Línea). Consultado el 1  de Diciembre 2014. Disponible en: http://scielo.sld.cu/scielo.ph
Herrán, M. 1999. Inteligencia Artificial: Simbólico versus Subsimbólico. (En Línea). Consultado, 1 de Dic 2014. Formato PDF. Disponible en:http://www.redcientifica.com/doc/doc199903130005.html
Isasi, P y Galván,I. 2004. Redes neuronales artificiales: Un enfoque práctico. 1 ed. España.  Pearson Education.
Izurieta, F y Saavedra, C. 2000. Redes Neuronales artificiales. (En línea). ES. Consultado, 1 de Dic .2014. Formato PDF. Disponible en: www.uta.cl/charlas/volumen16/Indice/Ch-csaavedra.pdf
Salas, R. 2004. Redes Neuronales artificiales. (En línea). ES. Consultado, 12 de dic .2014. Formato PDF. Disponible en:http://www.inf.utfsm.cl.
Teahan, W. 2010. Artificial Intelligence – Agents and Environments. (En Línea).  EC. Consultado, 1 de Dic 2014. Formato PDF. Disponible en: http://www.bookboon.com.
Párraga, J; Anzules, M; Ramírez, C; Santander, L. 2013.        Implementación en C# de una Red Neuronal Artificial en el control locomotor de una hormiga robótica. Guayaquil, EC. Revista Tecnológica ESPOL – RTE. Vol. 26. Num. 2. p 16-27.

Universidad Carlos III de Madrid. S/f.  Introducción a las Redes de Neuronas. Departamento de Informática. (En línea). ES. Consultado, 1 de Dic .2014. Formato PDF. Disponible en:http://eva.evannai.inf.uc3m.es/et/docencia/rn-inf/documentacion/Tema1-ntroduccion.pdf.

jueves, 28 de mayo de 2015

EVITAR ESTADOS REPETITIVOS

INTRODUCCIÓN

Los arboles de la búsqueda para evitar estados repetidos indican que estos problemas son infinitos, pero si ponemos parte de los estados repetidos, podemos cortar el árbol de búsqueda en un tamaño finito, generando solo la parte del árbol que atraviesa el grafo del espacio de estados. 

EVITANDO ESTADOS REPETIDOS
Se ha ignorado la posibilidad de expandir nodos que ya visitamos en algún camino. En muchos problemas, no podemos evitar el tener estados repetidos, en particular, todos los problemas con operadores reversibles.
Los árboles de búsqueda en este caso pueden ser infinitos, pero si eliminamos los repetidos los podemos volver finitos.

Opciones:
  • No regresar al estado anterior.
  • No crear caminos con ciclos
  • No generar algún estado que fue generado antes. Esto requiere guardar en memoria todos los estados generados.
Los algoritmos de búsqueda normalmente usan una tabla hash, y el qué tanto guardamos depende muchas veces del problema. Entre más ciclos tenga es más probable que el evitar generar estados ya generados sirva más.
Hasta este punto, casi hemos ignorado una de las complicaciones más importantes al proceso de búsqueda: la posibilidad de perder tiempo expandiendo estados que ya han sido visitados y expandidos. Para algunos problemas, esta posibilidad nunca aparece; el espacio de estados es un árbol y hay solo un camino a cada estado. La formulación eficiente del problema de las ocho reinas (donde cada nueva reina se coloca en la columna vacía de más a la izquierda) es eficiente en gran parte a causa de esto (cada estado se puede alcanzar solo por un camino). Si formulamos el problema de las ocho reinas para poder colocar una reina en cualquier columna, entonces cada estado con n reinas se puede alcanzar por n\ caminos diferentes.
Para algunos problemas, la repetición de estados es inevitable. Esto incluye todos los problemas donde las acciones son reversibles, como son los problemas de búsqueda de rutas y los puzles que deslizan sus piezas. Los arboles de la búsqueda para estos problemas son infinitos, pero si podamos parte de los estados repetidos, podemos cortar el árbol de búsqueda en un tamaño finito, generando solo la parte del árbol que atraviesa el grafo del espacio de estados. Considerando solamente el árbol de búsqueda hasta una profundidad fija, es fácil encontrar casos donde la eliminación de estados repetidos produce una reducción exponencial del coste de la búsqueda. En el caso extremo, un espacio de estados de tamaño d + 1.


Se convierte en un árbol con 2rf hojas.

Un ejemplo más realista es la rg 31a rectangular como se ilustra

Sobre una rejilla, cada estado tiene cuatro sucesores, entonces el árbol de búsqueda, incluyendo estados repetidos, tiene 4rf hojas; pero hay solo 2a* estados distintos en c/pasos desde cualquier estado. Para d = 20, significa aproximadamente un billón de nodos, pero aproximadamente 800 estados distintos.
Entonces, si el algoritmo no detecta los estados repetidos, estos pueden provocar que un problema resoluble llegue a ser irresoluble. La detección por lo general significa la comparación del nodo a expandir con aquellos que han sido ya expandidos; si se encuentra un emparejamiento, entonces el algoritmo ha descubierto dos caminos al mismo estado y puede desechar uno de ellos.
Para la búsqueda primero en profundidad, los únicos nodos en memoria son aquellos del camino desde la raíz hasta el nodo actual. La comparación de estos nodos permite al algoritmo descubrir los caminos que forman ciclos y que pueden eliminarse inmediatamente.

CONCLUSIONES

Uno de los problemas en encontrar una solución válida, es que en el algoritmo repite los mismos estados que se podían eliminar; así que el algoritmo pierde el tiempo y se vuelve más tedioso llegar a la mencionada solución.
Entre los errores sin sensores, de contingencia y de exploración se debería tomar medidas para evitar que no sucedan y que nuestro agente se desenvuelva de la mejor manera.



BIBLIOGRAFÍA

Russell S. y P. Norvig, Inteligencia Artificial: Un enfoque moderno. 2 ed. España. Pearson. p 51-62.


Díaz, F.2008.Resolucion de problemas mediante Búsqueda.(En línea).EC.Consultado , 30 de Mayo del 2015

ESTRUCTURA DE LOS AGENTES


INTRODUCCIÓN

Anteriormente hemos referido los conceptos sobre los agentes, en este capitulo intentaremos profundizar sobre las utilidades de los agentes y así referirnos a como trabajan y que función cumplen de acuerdo a sus características propias.

Teniendo claro cómo actúa un agente, nos centraremos ya en revisar cómo deben estar compuestos en su arquitectura, es decir hardware y software; además de analizar los tipos de agentes que existen, estos se clasifican según la forma en que se desenvuelven o realizan las acciones para lograr su objetivo.

MARCO TEÓRICO

Todos los agentes tienen una estructura básica o mínima o esquelética igual, y esta debe estar acorde con la función que realiza el agente.
En general, la arquitectura hace que las percepciones de los sensores estén disponibles para el programa, ejecuta los programas, y se encarga de que los actuadores pongan en marcha las acciones generadas.

PROGRAMAS DE LOS AGENTES
Hay que tener en cuenta la diferencia entre los programas de los agentes, que toman la percepción actual como entrada, y la función del agente, que recibe la percepción histórica completa. Los programas de los agentes reciben sólo la percepción actual como entrada porque no hay nada más disponible en el entorno; si las acciones del agente dependen de la secuencia completa de percepciones, el agente tendría que recordar las percepciones.
El programa del agente se realiza en pseudocodigo, para poder representarlo de manera más sencilla, a continuación se muestra el programa del agente basado en una tabla de percepciones

AGENTES REACTIVOS SIMPLES
Este es el tipo de agente más sencillo, ya que este actúa en función de las percepciones que está tomando en ese momento ignorando las anteriores. Actuar de esta forma puede sonar no muy útil ya que existen acciones que requieren llevar un historial de las anteriores, por ejemplo un juego de ajedrez, las acciones que se realizan en un determinado momento están presente durante todo el juego porque de estas dependen las nuevas acciones 


 AGENTE BASADO EN MODELO
Este agente actúa según sus percepciones pero las relaciona con un modelo  obtenidos anteriormente del mundo real, es decir cuándo va a realizar determinada acción este la relaciona con el estado del modelo, por ejemplo ¿cómo está el mundo ahora?, luego determina si su acción tuvo efecto en el medio


AGENTE BASADO EN OBJETIVO
Este agente también se basa en un modelo del mundo real, la diferencia es que este busca cumplir un objetivo, es decir el agente tiene como propósito llegar a una meta y realiza todas las acciones que sean necesarias para cumplirla, en este punto el agente debe estar preparado por si en determinado momento ocurre un problema que le impida realizar una acción, es decir este debe detenerse y buscar la forma de realizar la acción para llegar a cumplir su objetivo



AGENTE BASADO EN UTILIDAD
Este tipo de agente evalúa si las acciones que está realizando son útiles, es decir tienen un efecto positivo en el medio, para esto determina si la crítica que va a tener luego de realizar una acción es buena o mala


AGENTE QUE APRENDE
Este tipo de agente es el que la IA busca desarrollar, agentes que aprendan de las acciones que están realizando, este es un tipo de agente que tiene un modelo del mundo real y un objetivo a alcanzar, si en el proceso de alcanzar su objetivo este tiene un problema y realiza una acción la cual obtiene una crítica mala, el agente aprende que no debe realizar esta acción otra vez, es decir la gurda en la tabla de reglas que debe cumplir, así de esta forma se podría decir que el agente está aprendiendo 


CONCLUSIONES

El objetivo de la inteligencia artificial es desarrollar agentes que aprendan, es decir que no se queden con el conocimiento que les brindo su desarrollador si no que este pueda adquirir nuevo conocimiento en base a las acciones que esté realizando, es decir que pueda aprender la experiencia.

BIBLIOGRAFIA

Hermoso, R y Centeno, R. 2010. I.T en Informática de Sistemas 3 “INTELIGENCIA ARTIFICIAL”. Universidad Rey Juan Carlos. P 53
Juan Pavón Mestras. 2001. Estandarización de Sistemas de Agentes. Universidad Complutense de Madrid.
Llata JR, Sarabia EG, Fernández D, Arce J, Oria J. 2008? Aplicaciones de la inteligencia artificial en sistemas automatizados de producción. Revista Iberoamericana de Inteligencia Artificial 2000. Disponible en: http://redalyc.uaemex.mx
Russell, S., Norvig, P. 2008. Inteligencia Artificial Un Enfoque Moderno. Segunda Edición. Pearson Education. España
Rodríguez, W. s/f. INTELIGENCIA ARTIFICIAL Agentes Inteligentes. Postgrado en Computación ULA. (En Línea).   Consultado, 10 de Nov. 2014. Formato PDF. Disponible en:http://poiritem.wordpress.com/2009/11/16/6-4-2-agentes-inteligentes-y-la-naturaleza-de-su-entorno/


sábado, 18 de abril de 2015

AGENTES INTELIGENTES


INTRODUCCION

Un agente es un ente que actúa en un medio determinado. Para que un agente pueda realizar una acción este tiene que obtener previamente percepciones de cómo se encuentra el medio en el que se desenvuelve, esto lo logra mediante sensores los cuales varían según la función del agente.
El agente realiza las acciones mediante actuadores, los cuales también varían según su función es decir, un agente que juega futbol obtiene la percepción de que el balón está cerca utilizando el sensor de distancia o la vista, al obtener esta secuencia de percepciones este determina que la acción que debe realizar es correr hacia el balón y esto lo lograra mediante el actuador “piernas”, de otra forma no lo podría hacer.

MARCO TEÓRICO

AGENTE. Al igual que ocurre con la definición de la IA, se puede encontrar un gran número de conceptos de agente, siendo la de Russell y Norvig 2008 la más sencilla, que considera un agente cono una entidad que percibe y actúa sobre un entorno. Basándose en esta definición, se puede caracterizar distintos agentes de acuerdo con los atributos que posean y que definen su comportamiento para resolver un determinado problema.

CARÁCTERÍSTICAS DE UN AGENTE. Un agente está caracterizado por una serie de calificativos, los cuales vienen a denotar ciertas propiedades a cumplir por los agentes. Esto nos lleva a plantear otra definición bastante aceptada de agente donde se emplean tres calificativos que, según, el autor se consideran básicos. Esta definición ve a un agente como un sistema de computación capaz de actuar de forma autónoma y flexible en un entorno (Wooldridge 2005), entendiendo por flexible que sea:

§   Reactivo, el agente es capaz de responder a cambios en el entorno en que se encuentra situado.
§   Pro-activo, a su vez el agente debe ser capaz de intentar cumplir sus propios planes u objetivos.
§   Social, debe de poder comunicarse con otros agentes mediante algún tipo de lenguaje de comunicación del agente

En este caso , hemos identificado una serie de características que deberían tener los agentes, es decir que para poder asociar a una maquina el término de “agente ” esta debe cumplir con los requerimientos antes mencionados. A continuación revisaremos algunas de las características que también se suelen atribuir a los agentes para resolver problemas particulares según Franklin y Nwana1

AGENTES Y SU ENTORNO

Como se ha mencionado anteriormente un agente  es cualquier cosa capaz de percibir su medio ambiente y esto lo logra con la ayuda de sensores y actuar en ese medio utilizando actuadores.
El término percepción se utiliza para indicar que el agente puede recibir entradas en cualquier instante. La secuencia de percepciones de un agente refleja el historial completo de lo que el agente ha recibido. En general, un agente tomará una decisión en un momento dado dependiendo de la secuencia completa de percepciones hasta ese instante. Si se puede especificar qué decisión tomará un agente para cada una de las posibles secuencias de percepciones, entonces se habrá explicado más o menos todo lo que se puede decir de un agente. En términos matemáticos se puede decir que el comportamiento del agente viene dado por la función del agente que proyecta una percepción dada en una acción ( Russell y Norvig 2008).
Esta idea se puede comprender mejor si lo relacionamos con el mundo de la aspiradora, este mundo es tan simple que se puede describir todo lo que en el sucede. Este mundo en particular tiene solamente dos localizaciones:
 Cuadricula A y B.

La aspiradora puede percibir en que cuadrante se encuentra y si hay suciedad en él. Puede elegir si se mueve hacia la izquierda, derecha, aspirar la suciedad o no hacer nada. Una función  muy simple para el agente vendría dada por: si la cuadricula en la que se encuentra está sucia, entonces aspirar, de otra forma cambiar de cuadricula. La función del agente siempre se representa en una tabla, a continuación la función del agente aspiradora ( Russell y Norvig 2008).

 BUEN COMPORTAMIENTO: EL CONCEPTO DE RACIONALIDAD

Un agente racional es aquel que hace lo correcto; es decir en términos conceptuales que cada elemento de la tabla que define la función del agente se tendría que rellenar correctamente. Por tanto, se necesita determinar una forma de medir el éxito para saber si el agente está realizando su tarea correctamente. Esto  junto a la descripción del entorno y de los sensores y actuadores del agente, proporcionará una especificación completa de la tarea que desempeña el agente. Dicho esto, ahora es posible definir de forma más precisa qué significa la racionalidad (Russell, S., Norvig, P. 2008).
MEDIDAS DE RENDIMIENTO

Las medidas de rendimiento incluyen los criterios que determinan el éxito en el comportamiento del agente. A continuación se muestra un diagrama de cómo actúa un agente para determinar el nivel de éxito de sus acciones.

Como se puede observar cuando se sitúa un agente en un medio, éste genera una secuencia de acciones de acuerdo con las percepciones que recibe. Esta secuencia de acciones hace que su hábitat pase por una secuencia de estados. Si la secuencia es la deseada, entonces el agente habrá actuado correctamente. Obviamente, no hay una única medida adecuada para todos los agentes. Para que un agente pueda saber si está actuando de forma correcta este debe tener medidas de rendimiento aunque también se podría preguntar la opinión del agente acerca de su actuación, pero este podría ser incapaz de responder o podría engañarse a sí mismos, es decir mostrar un comportamiento que es común en los humanos cuando hacen creer que no quieren algo después de no haberlo podido conseguir, por ejemplo, “Ah bueno, de todas formas no quería pasar el semestre”. Por tanto se deben utilizar medidas de rendimiento objetivas, que normalmente estas serán determinadas por el diseñador encargado de la construcción del agente (Rodríguez, W. s/f.).

RACIONALIDAD
 La racionalidad en un momento determinado depende de cuatro factores:

Esto nos lleva a la definición de agente racional:
En cada posible secuencia de percepciones, un agente racional deberá emprender aquella acción que supuestamente maximice su medida de rendimiento, basándose en las evidencias aportadas por la secuencia de percepciones y en el conocimiento que el agente mantiene almacenado. (Russell, S., Norvig, P. 2008)
 OMNISCIENCIA, APRENDIZAJE Y AUTONOMIA
§  OMNISCIENCIA
Es necesario tener cuidado al distinguir entre racionalidad y omnisciencia ya que un agente omnisciente conoce el resultado de su acción y actúa de acuerdo con él; sin embargo, en realidad la omnisciencia no es posible.
Esta es una cualidad otorgada a Dios que se podría decir que es el único ser omnisciente. Los seres humanos no son capaces de conocer todas las cosas ya que dicha facultad excede a la propia condición humana. Por eso, cuando se dice que una persona es omnisciente, se hace referencia a que dispone de saberes de muchas disciplinas o ciencias (Pino, et all . 2010) 
§  APRENDIZAJE
La definición propuesta implica que el agente racional no sólo recopile información, sino que aprenda lo máximo posible de lo que está percibiendo. La configuración inicial del agente puede reflejar un conocimiento preliminar del entorno, pero a medida que el agente adquiere experiencia éste puede modificarse y aumentar. Hay casos excepcionales en los que se conoce totalmente el entorno a priori. En estos casos, el agente no necesita percibir y aprender; simplemente actúa de forma correcta. Por supuesto, estos agentes son muy frágiles (Russell, S., Norvig, P. 2008).
§  AUTONOMÍA
Un agente carece de autonomía cuando se apoya más en el conocimiento inicial que le proporciona su diseñador que en sus propias percepciones. Un agente racional debe ser autónomo, debe saber aprender a determinar cómo tiene que compensar el conocimiento incompleto o parcial inicial (García. E. 2009).

COMPORTAMIENTO FLEXIBLE Y AUTÓNOMO
Como comportamiento flexible y autónomo. Este tipo comportamiento se caracteriza por su:
• Reactividad. Los agentes inteligentes deben ser capaces de percibir su medio ambiente y responder a tiempo a los cambios en él, a través de sus acciones.
• Iniciativa. Los agentes inteligentes deben exhibir un comportamiento orientado por sus metas, tomando la iniciativa para satisfacer sus objetivos de diseño (proactiveness).
• Sociabilidad. Los agentes inteligentes deben ser capaces de interaccionar con otros agentes, posiblemente tan complejos como los seres humanos, con miras a la satisfacción de sus objetivos.
LA CONDUCTA DEL AGENTE NO SUELE SER LA OPTIMA: Paradójicamente la conducta de un agente rara vez es la óptima. La razón es sencilla: calcular el óptimo de un criterio de un modo suficientemente bueno como para ser considerado razonable es muy difícil cuando en el problema planteado concurren múltiples restricciones. Un ejemplo sería el cálculo de la mejor ala para un avión, donde el agente tendría que ser capaz de tener en cuenta criterios tan dispares como la aerodinámica, la compatibilidad con el resto de componentes de la aeronave, o criterios económicos, y restricciones tales como limitaciones en peso de la propia ala, el peso total de la aeronave, las normativas aplicables, etc. En el otro extremo se encuentran problemas como el cálculo del máximo de un polinomio de segundo grado, en los que el criterio es muy sencillo -es un polinomio de segundo grado- y no concurre ninguna restricción. Cuando el criterio es una función real de muchas variables y las restricciones también, los cálculos son mucho más complicados. Algunas veces se puede lograr una buena aproximación, pero si el agente ha de tomar la decisión en muy poco tiempo, deberá conformarse con la mejor aproximación que pueda calcular en el escaso tiempo de que dispone (Deboeck,  1994).
EL AMBIENTE: La relación entre el agente y el ambiente es siempre la misma: el agente ejerce acciones sobre el ambiente, que, a su vez, aporta percepciones al primero. Este influye mucho en la conducta del agente es por esto que a continuación se muestra la clasificación del los ambientes en los que se podría desenvolver un agente. 
MEDIO AMBIENTE:
Accesible y no accesible:
–Accesible, si los sensores detectan los aspectos que requiere el agente para elegir una acción.
Deterministas y no deterministas:
–Determinista, si el estado siguiente de un ambiente se puede determinar completamente con el estado actual y las acciones escogidas por el agente.
Episódicos y no episódicos:
–Episódico, cuando la experiencia del agente se divide en episodios, si es episódico, es más simple.
Estáticos y dinámicos:
–Estático, si el medio ambiente no cambia mientras el agente se encuentra deliberando.
Discreto y continuo:
–Discreto, si existe una cantidad limitada de percepciones y acciones distintas y distinguibles
CONCLUSIONES

Se puede concluir en que los agentes deben de contar con sus sensores de forma adecuada, para que puedan tener una clara idea de lo que ocurre en su medio ambiente.
La racionalidad es diferente de la omnisciencia, ya que la racionalidad maximiza el rendimiento esperado porque actúa e función de lo correcto, mientras que la omnisciencia maximiza el resultado real, porque un ser omnisciente conoce que va a suceder exactamente en el mundo real, sin embargo en la realidad la omnisciencia no es posible.
El agente debe aprender lo máximo posible de lo que está percibiendo, y para que este pueda ser considerado autónomo su comportamiento debe estar determinado por su propia experiencia.