lunes, 29 de septiembre de 2014

Agentes virtuales autonomos

Los investigadores Brenner, Zarnekow y Witting, en el libro publicado el año 1998 con el título “Agentes de software inteligentes”, exponen que un agente de software inteligente es un programa que puede realizar tareas específicas para un usuario y posee un grado de inteligencia suficiente para ejecutar parte de sus tareas de forma autónoma y para interactuar con su entorno de forma útil. En este mismo contexto los expertos Russell y Norvig, en el libro publicado el año 1996 titulado “Inteligencia Artificial: un enfoque moderno”, mencionan que un agente es cualquier entidad que percibe su entorno a través de sensores y actúa sobre ese entorno mediante efectores. Asimismo definen que un agente es racional cuando realiza la mejor acción posible a partir de los datos percibidos.

Por su parte Wooldridge y Jennings, en el artículo publicado el año 1995 titulado “Agentes inteligentes: Teoría y práctica”, mencionan que un agente viene caracterizado por una serie de calificativos, los cuales denotan ciertas propiedades a cumplir por el agente. Esto lleva a plantear otra definición bastante aceptada de agente donde se emplean calificativos que, según, los autores se consideran básicos. Esta definición considera a un agente como un sistema de computación capaz de actuar de forma autónoma y flexible en un determinado entorno, entendiendo por flexible que sea social, reactivo o pro-activo. Estos calificativos son definidos de la siguiente manera: (1) Autonomía. Entendida como la capacidad de actuar sin la intervención directa de una persona o de otro agente. Un agente debe controlar sus propias acciones y estado interno. Una vez que el usuario activa el agente indicando algún objetivo de alto nivel, éste actúa independientemente, seleccionando estrategias y monitoreando el progreso en busca de la meta. Si falla con una estrategia, usará otra, pero sin intervención humana o con la mínima indispensable. (2) Habilidad Social. Un agente debe ser comunicativo. Debe tener habilidad para interactuar con otros agentes o incluso con alguna persona, para solicitar información o bien para exponer los resultados obtenidos de la ejecución de las tareas agendadas. La naturaleza de la comunicación dependerá del tipo de agente con quien se comunique, en ambos casos se deberá establecer un protocolo común de intercambio de información entre ambas partes. Los agentes deben poseer algún tipo de interface para comunicarse con sus usuarios. Dicha interface puede establecerse simplemente mediante el envío de mensajes. (3) Reactividad. Se refiere al hecho de que un agente debe actuar a manera de sensor para observar el estado del ambiente dentro del cual se encuentra inmerso y actuar, respondiendo de manera adecuada a cambios producidos en el mismo. Los efectos producidos pueden modificar el estado de su entorno. (4) Pro-actividad. Un agente no solo debe actuar por cambios detectados en el medioambiente, sino que, además, debe trabajar en función de los objetivos para los cual fue diseñado y las tareas que le fueron delegadas en cada momento. Un agente busca permanentemente satisfacer su agenda interna.

En palabras de Lozano y Calderón, en el artículo escrito el año 2006 titulado “Entornos virtuales 3D clásicos e inteligentes: hacia un marco de simulación para aplicaciones gráficas interactivas”, se menciona que los entornos virtuales inteligentes, en tres dimensiones, son aquellos en los cuales se pone énfasis en incrementar las capacidades de comportamiento e interactivas de los entornos virtuales en tres dimensiones, lo cual se consigue mediante la incorporación de sistemas de inteligencia artificial, tales como los agentes, que interactúan con el sistema gráfico. Sin embargo existe una gran dificultad en la implementación de comportamientos complejos al interior de un entorno, debido en particular a la poca disponibilidad de herramientas que permitan controlar de forma sencilla la interacción asíncrona que pudiera ocurrir entre los objetos y los elementos del entorno. Existen diferentes maneras de incrementar las capacidades interactivas de un entorno virtual en tres dimensione: Representar de forma explícita el conocimiento, mejorar la interactividad del entorno virtual y, brindar alternativas de simulación de los fenómenos físicos.

lunes, 22 de septiembre de 2014

Heurísiticas para la solución de problemas


Los factores que pueden hacer interesante la utilización de algoritmos heurísticos para la resolución de un problema responden a diversas circunstancias, algunas de estas circunstancias son anotadas por Díaz y sus colegas, en el libro publicado el año 1996 titulado “Optimización heurística y redes neuronales en dirección de operaciones e ingeniería”, como las siguientes: (1) Cuando no existe un método exacto de resolución. Ofrecer entonces una solución aceptablemente buena resulta de interés, frente a no presentar ninguna alternativa. (2) En el momento que es innecesaria la solución más favorable. Existen casos en que no se justifica el costo en tiempo y dinero para hallar una solución óptima que, por otra parte, no representará un beneficio importante con respecto a otra que sea simplemente satisfactoria. (3) Cuando los datos son poco fiables, o bien si el modelo ha simplificado fuertemente la realidad. En estas situaciones carece de interés la búsqueda de una solución exacta, dado que de por sí ésta no será más que una aproximación. (4) Cuando limitaciones de tiempo, memoria, espacio para almacenamiento de datos, etc., obligan al empleo de procedimientos de respuesta rápida, aún a costa de la precisión. (5) Como paso intermedio en la aplicación de otro método. A veces se usan soluciones heurísticas como punto de partida de algoritmos exactos.

Yepes Piqueras, en la tesis doctoral anotada, menciona que una ventaja importante que presentan las heurísticas, respecto a las técnicas que buscan soluciones exactas, es que, por lo general, brindan una mayor flexibilidad en el manejo de las características del problema. Además, pueden ofrecer más de una solución, lo cual amplía las posibilidades de elección, sobre todo cuando existen factores que no han sido incorporados al esquema teórico, pero que también deben considerarse. El investigador Ho, en el artículo publicado el año 1994 titulado “Heurísticas: Reglas del sentido común y la proposición 80/20”, atribuye el éxito de las heurísticas a la aplicación de la regla ochenta-veinte, el ochenta por ciento de la riqueza la posee el veinte por ciento de la población, unos pocos proveedores son responsables de la mayoría de los problemas de la calidad y de los retrasos en las entregas, etc. La distribución desigual ha sido propuesta como un Principio Universal: “Pocos vitales y muchos triviales”, propuesta descrita en el libro de Juran, publicada el año 1951 con el título “Manual de control de calidad”. De este modo, las heurísticas evalúan normalmente un número reducido de opciones que permiten la exploración de las soluciones más interesantes.

Díaz y sus colegas, en el libro citado anteriormente, mencionan que las técnicas heurísticas se pueden agrupar de diversas formas: Métodos constructivos, de descomposición, de reducción, de manipulación del modelo y de búsqueda local. (1) Heurísticas de construcción de soluciones factibles. Los métodos constructivos se basan en añadir paulatinamente componentes individuales a la solución, hasta que se obtiene una opción viable. Uno de los más populares lo constituyen los algoritmos voraces “greedy”, que construyen paso a paso la solución buscando el máximo beneficio en cada etapa. (2) Heurísticas de descomposición. Basándose en el principio de “divide y vencerás”, fragmenta el problema en otros más pequeños de forma que al resolverlos todos se obtenga una solución para el problema global. En algunos casos los problemas se resuelven en cascada, es decir, el resultado de unos son datos de los siguientes, mientras que en otras situaciones los subproblemas se consideran independientes entre sí. (3) Heurísticas de reducción. Estos métodos simplifican el problema tratando distinguir alguna característica que presumiblemente deba poseer la solución óptima. (4) Heurísticas de manipulación del modelo. Se trata de simplificar el esquema teórico para encontrar los valores de las variables de decisión con mayor facilidad, deduciendo, a partir de ella, la solución del problema original. Como posibles estrategias se puede ampliar o reducir el espacio de las opciones. (5) Heurísticas de búsqueda local. Los métodos clásicos de mejora iterativa o de búsqueda local constituyen una clase de heurísticas que se basan en la exploración del entorno asociado al “vecindario” de una solución. Este ámbito está formado por las opciones generadas por una alteración de la solución actual. Mediante estos movimientos se pasa iterativamente de una solución a otra mientras no se cumpla un determinado criterio de terminación. Un procedimiento de búsqueda local queda completamente determinado al especificar un movimiento y el criterio de selección de una solución dentro del entorno.

lunes, 15 de septiembre de 2014

Heurísiticas para la solución de problemas


La inteligencia, en el criterio de Sánchez descrito en el artículo publicado el año 2002 titulado “Los sistemas inteligentes de transporte”, entendida como algo privativo de los seres humanos y que comprende aspectos tales como razonar, descubrir significados, generalizar o aprender de experiencias pasadas, da paso a un sentido anglosajón, más mecanicista, cuando con dicho calificativo se designa la incorporación a un sistema o a un elemento de componentes informáticos, de equipos de control y de comunicaciones, que proporcionan un cierto nivel de conocimiento a objetos inanimados, a través de medios de captación, de transmisión y de procesamiento de datos que pueden conducir a sistemas expertos e inteligencia artificial. Fayyard y sus colegas, en el libro publicado el año 1996 titulado “Avances en descubrimiento del conocimiento y minería de datos”, complementan mencionando que los sistemas inteligentes constituyen procedimientos capaces de encontrar patrones y descubrir relaciones entre grandes conjuntos de datos. Las redes neuronales, la lógica difusa, los algoritmos evolutivos, la búsqueda tabú, la cristalización simulada son algunas técnicas que han probado ya su eficacia en la explotación de datos, en el descubrimiento de conocimiento y en la solución de problemas combinatorios difíciles en diferentes campos técnicos y científicos.

En palabras de Marino y Rodríguez, en el artículo publicado el año 2009 con el título “Un estudio exploratorio sobre heurísticas en estudiantes de un curso de matemática de nivel pre-universitario”, en general hay acuerdo en considerar que la formación del sujeto debería ser flexible como para que éste sea capaz de enfrentarse a tareas nuevas, que sean desafiantes y más cercanas al tipo de actividad profesional que eventualmente tendrá que desarrollar. Uno de los referentes en la línea de resolución de problemas, que se menciona en muchas obras como el principal referente, ha sido George Polya, con el libro escrito el año 1945 titulado “Como plantear y resolver problemas”, en el que propone un modelo para el proceso de resolución de problemas y una sistematización interesante de las fases y las heurísticas útiles en dicho proceso; constituyó el primer trabajo en establecer una relación entre la resolución de problemas y la heurística con la enseñanza. El modelo planteado por Polya establece que las fases en el proceso de resolución de problemas son: Comprender el problema, concebir un plan, ejecutar el plan y examinar la respuesta obtenida. En esta corriente la noción de problema es de central importancia. Por ello la mayoría de los investigadores que trabajan en esta línea han dedicado esfuerzo a precisar cómo la conciben. Entre las diversas definiciones algunas tienden a caracterizar a los problemas por oposición a los ejercicios rutinarios.

Según Telfar, en el libro publicado el año 1994 titulado “Heurísticas generales aplicables para la optimización global”, las heurísticas constituyen métodos sencillos que proporcionan soluciones satisfactorias a un problema dado mediante algoritmos específicos con procedimientos tales como los métodos constructivos, de mejora local o combinación de ambos. Estas técnicas explotan las características propias de un problema para buscar soluciones satisfactorias. Telfar denomina a las heurísticas como “algoritmos a medida”, no siendo aprovechables para un problema diferente al que fue diseñado. En palabras de Yepes Piqueras, en la tesis doctoral escrita el año 2002 titulada “Optimización heurística económica aplicada a las redes de transporte del tipo VRPTW”, dada la dificultad práctica para resolver importantes problemas combinatorios, comenzaron a proliferar algoritmos que proporcionaban soluciones factibles que, aunque no optimizaban la función objetivo, se acercaban al valor óptimo en un tiempo de cálculo razonable, ofreciendo soluciones de gran interés práctico. Estos métodos, diseñados específicamente en cada caso, y que ofrecen opciones satisfactorias, resolviendo los problemas complejos con una rapidez adecuada, han abundado en la literatura científica en las últimas cuatro décadas. Este tipo de algoritmos de aproximación se denominan heurísticas. Consisten en un conjunto bien definido de pasos que identifican con un esfuerzo de cálculo razonable una solución satisfactoria para un problema determinado. Zanakis y Evans, en el artículo escrito el año 1981 titulado “Optimización heurística: Por qué, cómo y cuándo usarla”, definen la heurística como “procedimientos simples, a menudo basados en el sentido común, que se supone ofrecerán una buena solución, aunque no necesariamente la óptima, a problemas difíciles, de una manera bastante fácil y rápida”.

Biocomputación extracelular para nanorrobots médicos


La realización de cálculos utilizando biomoléculas dentro de células es una rama de la ciencia muy prometedora que se está desarrollando rápidamente. En ese escenario, la biocomputación suele valerse de mecanismos celulares naturales. Es mucho más difícil, sin embargo, realizar cálculos fuera de las células, donde no existen estructuras naturales que puedan ayudar a llevarlos a cabo de manera viable. Un nuevo estudio se centra específicamente en la biocomputación extracelular.



Maxim Nikitin, del Instituto de Física y Tecnología de Moscú en Rusia, y otros científicos de instituciones rusas, han dado un importante paso hacia la creación de nanorrobots médicos. Descubrieron una forma de permitir que partículas nanométricas y micrométricas produzcan cálculos lógicos usando una serie de reacciones bioquímicas.



En los circuitos electrónicos, los operadores lógicos utilizan corriente eléctrica. Si hay corriente (o voltaje), el resultado es 1, sino es 0. En la computación que utiliza biomoléculas, el resultado puede ser una sustancia dada. Por ejemplo, las técnicas de bioingeniería modernas permiten hacer que una célula se ilumine con diferentes colores (fruto de sustancias químicas distintas), o incluso programarla para que muera, enlazando el inicio de la apoptosis al resultado de operaciones binarias.



Muchos científicos creen que las operaciones lógicas en el interior de células o en sistemas biomoleculares artificiales son una forma de controlar procesos biológicos y de crear micro y nanorrobots completos que puedan, por ejemplo, suministrar fármacos de forma programada a aquellos tejidos donde se les necesite.



La línea de investigación y desarrollo del equipo de Nikitin abre el camino hacia una serie de tecnologías biomédicas y difiere de forma notable de trabajos anteriores sobre biocomputación, que se centran tanto en el exterior como en el interior de las células.

Para los enlaces con las nanopartículas, los investigadores seleccionaron anticuerpos. Esto también distingue su proyecto de una serie de desarrollos experimentales anteriores en biocomputación, que utilizan ADN o ARN para operaciones lógicas. Estas proteínas naturales del sistema inmunitario tienen una región activa pequeña, que responde solo a ciertas moléculas; el cuerpo se vale de la elevada selectividad de los anticuerpos para reconocer y neutralizar bacterias y otros patógenos.



Asegurándose de que la combinación de diferentes tipos de nanopartículas y anticuerpos hace posible implementar varios tipos de operaciones lógicas, los investigadores han mostrado que las células cancerosas pueden ser también usadas específicamente como blanco.

Aunque este es solo un pequeño paso hacia la creación de nanobiorrobots eficientes, esta área de la ciencia abre perspectivas muy prometedoras, en lo que algunos comparan con la creación de los primeros diodos y transistores, que resultaron en el rápido desarrollo de los ordenadores electrónicos.