LEAP: Agentes Inteligentes en dispositivos móviles

LEAP: Agentes Inteligentes en dispositivos móviles

Agente smith

En el último artículo hablábamos sobre la problemática de introducir Inteligencia Artificial en dispositivos móviles. Esencialmente se puede utilizar cualquier aproximación válida para sistemas tradicionales, pero teniendo en cuenta la limitación de recursos que caracterizan estos dispositivos (potencia de cálculo, memoria, batería, etc). Una aproximación clásica de la IA que resulta válida en dispositivos móviles es el uso de agentes

Un agente inteligente no es más que un programa capaz de percibir su entorno y actuar sobre él de manera racional. Para ello se sirve de sensores, actuadores o de otros agentes, como es el caso de los sistemas multiagente. Aunque no queremos profundizar demasiado en este concepto, básicamente un agente inteligente debería ser capaz de aprender y de mejorar con su experiencia, de adaptarse al medio en tiempo real y de analizar condiciones en términos de comportamiento, error y éxito.

Agente Inteligente Simple

De hecho, se trata de una solución muy prometedora a la hora de superar las limitaciones tecnológicas de los dispositivos móviles, permitiendo introducir métodos de aprendizaje automáticos y 
dinámicos. Se utilizan con mucha frecuencia en la inteligencia artificial de videojuegos (jugando contra la máquina), en el pilotaje automático de vehículos o en el descubrimiento de patrones, por citar algunos pocos ejemplos.

Estándar IEEE FIPA

La FIPA (Foundation for Intelligent Physical Agents) es un organismo para el desarrollo de estándares de sistemas basados ​​en agentes. Fue fundada con el ambicioso objetivo de definir un conjunto completo de normas para la implementación de sistemas en los que se puedan ejecutar agentes. Se disolvió en 2005 siendo sustituido por una nueva comisión del IEEE, aunque se sigue utilizando FIPA para designar a las plataformas que utilizan especificaciones como ACL (Agent Communication Language), que definen cómo deben comunicarse entre sí los agentes.

Plataformas móviles multiagente: LEAP

Existe una gran cantidad de plataformas multiagente que implementan FIPA-ACL, aunque por su versatilidad destacaremos JADE-LEAP:

LEAP (Lightweight and Extensible Agent Platform) es una extensión de la plataforma JADE (Java Agent DEvelopment Framework) que se instala como un add-on y puede ser desplegada no sólo en ordenadores personales y servidores, sino también en dispositivos de recursos limitados como los dispositivos móviles que soporten Java. Cada agente y su comportamiento se implementa de forma muy sencilla a partir de una clase Java.

LEAP puede configurarse en diferentes modalidades:

  • Pjava: para dispositivos móviles que soporten J2ME CDC como PDAs.
  • Midp: para dispositivos móviles que soporten MIDP 1.0 o superior, como algunos teléfonos móviles.
  • Android: para dispositivos móviles que soporten Android 2.1 o superior, como algunos smartphones.
  • Dotnet: para PC y servidores que ejecuten el framework Microsoft .NET 1.1 o superior.

Estas versiones proveen una API común, permitiendo una capa homogénea sobre una gran variedad de dispositivos y tipos de red.

Capa LEAP

Además admite dos modos de ejecución:

  • Stand-alone:para las modalidades Pjava y Android. Se ejecuta el contenedor completo.
  • Split: para Midp y posiblemente Pjava. Éste modo es muy útil porque usa menos memoria al dividir el contenedor en un Front-End y en un Back-End (servidor remoto).

Existen otras plataformas móviles multiagente como MicroFIPA-OS, pero los desarrolladores prefieren jade-LEAP porque:

  1. Permite concurrencia de comportamientos en un solo hilo.
  2. Soporta una gran variedad de dispositivos.
  3. Utiliza comunicaciones socket independientes del propietario.
  4. Es de código abierto.
Previous Introduciendo IA en dispositivos móviles
Next Inteligencia Artificial en Videojuegos móviles

About author

Angel
Angel 164 posts

Creció viendo McGyver y ya de niño tenía muy claro en qué quería convertirse: inventor. Supuso que estudiar Ingeniería de Telecomunicación sería un buen camino para ello. Emprendedor y aventurero, bajo los circuitos y transistores le late un corazón de escritor.

You might also like

Desarrollo 1Comments

Cómo detectar un dispositivo móvil en Django con Mobi

Cuando estamos programando una aplicación web es probable que necesitemos distinguir si el usuario se conecta desde su dispositivo móvil (tablet, smartphone, iphone, etc) o desde un PC. En función

Desarrollo 7 Comments

Summernote, un potentísimo editor WYSIWYG en Bootstrap

Hoy traigo carne fresca y gratis. En muchos proyectos web surge la imperiosa necesidad de incluir un editor de texto enriquecido del tipo WYSIWYG, acrónimo de “What You See Is

Desarrollo 0 Comments

Los lenguajes de programación más utilizados en 2015

Si eres programador, tienes que estar atento siempre a las últimas tendencias y cuáles son los lenguajes de programación más utilizados. En un mundo tan cambiante como el tecnológico, los

Tecnologia & Ciencia 1Comments

Aplicaciones Antirrobo para Móviles

En artículos anteriores propusimos el “protocolo de emergencia” a seguir cuando uno tiene la mala fortuna de ser víctima de un robo o hurto de su terminal. Una de las

Generales 1Comments

Symfonycon o deSymfony Day

Hace años que estoy asistiendo a las jornadas que más o menos, coincidiendo con el final del curso lectivo, se vienen celebrando en distintos puntos de de la geografía española,

Desarrollo 1Comments

8 herramientas gratuitas para convertirte en un gurú de CSS3

Existen multitud de aplicaciones web que convierten a Internet en una especie de Photoshop descentralizado. Antiguamente, cuando había que implementar un diseño algo más extravagante de lo habitual, debíamos recurrir

Desarrollo 1Comments

Inteligencia Artificial en Videojuegos móviles

Para garantizar el éxito comercial de los videojuegos para móviles es necesario asegurar un algoritmo de Inteligencia Artificial que suponga al jugador un desafío ni demasiado elevado ni demasiado bajo. Pese

Inteligencia Artificial 1Comments

Inteligencia Artificial. ¿Mito o realidad?

¿Hasta dónde puede avanzar la Inteligencia Artificial (IA)?¿Cómo de inteligente puede ser una máquina?¿Pueden ser mejores que nosotros?¿Llegará el momento en el que lo hagan todo las máquinas?¿Pueden rebelarse…? Estas

Tecnologia & Ciencia 0 Comments

SciTE vs Notepad++. Y un truco bonus: cómo recargar archivo SciTE automáticamente

SciTE es un editor de textos muy ligero y veloz, diseñado para editar código fuente y resaltar sintaxis de diferentes lenguajes de programación. Antes de que alguien pregunte si SciTE

2 Comments

Leave a Reply