Software de Inteligencia Artificial
SOFTWARE LIBRE PARA LA IMPLEMENTACION DE
REDES NEURONALES
JOONE
Java
orientado a objetos Engine Neural
|
|
Captura
de pantalla
|
|
Desarrolladora (s)
|
El Equipo Joone
|
Última versión
estable
|
8 1.2.1 /
septiembre de 2005
|
2.0 RC1 / 19 de
enero 2007
|
|
Estado de
desarrollo
|
Inactivo
|
Escrito en
|
Java
|
Sistema operativo
|
Multiplataforma
|
Tipo
|
Software de red
neuronal
|
Licencia
|
GPL o LGPL
|
Características
·
Es un framework de Java para crear y ejecutar
aplicaciones de IA basadas en redes neuronales
·
Las aplicaciones de Joone se pueden construir en una
máquina local, estar entrenado en un entorno distribuido y ejecutado en
cualquier dispositivo
·
Joone consiste en una arquitectura
basada en componentes combinables que se pueden extender para construir nuevos
algoritmos de aprendizaje y redes neuronales arquitecturas.
·
Los componentes son módulos de código
de plug-in que se ligan para producir un flujo de información. Los nuevos componentes se pueden añadir y volver a utilizar.
Más allá de la simulación, Joone también tiene en
cierta medida las capacidades de despliegue multi-plataforma.
·
Joone tiene un editor de interfaz
gráfica de usuario para crear de forma gráfica y probar cualquier red neuronal,
y un entorno de formación distribuida que permite a las redes neurales para ser
capacitados en múltiples máquinas remotas.
Comparación
A partir de 2010,
Joone, Encog y Neuroph son el principal
entorno de desarrollo basado en redes neuronales componente libre disponible
para la plataforma Java. A diferencia de los otros dos
sistemas (comerciales) que están en existencia, de la sinapsis y NeuroSolutions,
está escrito en Java y tiene directa multi-plataforma de apoyo. Un número limitado de componentes existen y el entorno de
desarrollo gráfico es rudimentario por lo que tiene significativamente menos
funciones que sus contrapartes comerciales.
Joone puede ser
considerado más de un marco de redes neuronales de un entorno completo de
desarrollo integrado. A diferencia de sus contrapartes
comerciales, tiene un fuerte enfoque en el desarrollo basado en el código de
las redes neuronales en lugar de la construcción visual.
Aunque en teoría
Joone se puede utilizar para construir una gama más amplia de sistemas
adaptativos (incluyendo aquellos con elementos no-adaptativas), su atención se
centra en las redes neuronales backpropagation basado.
Motor
del núcleo de Joone
·
Sistema de personalización: Sus características son
óptimas para crear aplicaciones personalizadas según las necesidades del
usuario, donde es importante contar con la flexibilidad, la escalabilidad y
portabilidad
·
Sistema embebido: En el núcleo del motor, los
componentes son los ladrillos para construir cualquier cosa de la arquitectura
de la red neuronal. Su propósito es crear aplicaciones de IA escritas en código
java que utiliza las API de Joone
·
Dispositivos móviles: Un objetivo a largo plazo de
Joone era llegar a ser un framework básico para proporcionar un motor computacional de aplicaciones de IA adecuadas
para los dispositivos móviles
NEURALBOT -
QUAKE II
Un bot es un
programa que simula a un jugador humano. El Neuralbot es un bot para el juego
Quake II que utiliza una red neuronal para decidir su comportamiento y un
algoritmo genético para el aprendizaje. Es muy fácil probarlo y ver su evolución.
Un bot (diminutivo
de robot) es un programa informático que realiza funciones muy diversas,
imitando el comportamiento de un humano. En sitios wiki, como Wikipedia, un bot
puede realizar funciones rutinarias de edición. En otros sitios, como Encarta,
el bot puede responder a cuestiones sobre el propio contenido del sitio (tcc
bots conversacionales
·
Diminutivo de robot. Es un programa informático que
realiza diversas funciones imitando a humanos.
·
En videojuegos: Es un programa capaz de jugar por
sí mismo el juego en cuestión.
Importante: Es una
definición funcional Quake II es un motor y juego de acción en primera persona
desarrollado por id Software y distribuido por Activision en 1997. Aunque usa
el nombre de Quake, también de id Software y es considerado, de hecho como su
secuela, su historia se aparta totalmente del ambiente mítico-medieval visto en
Quake para adentrarse en la ciencia ficción.
Quake II utiliza
un sistema de red cliente/servidor similar al de Quake y posee todas las demás
características del motor de Quake y varias adicionales. A diferencia de Quake,
donde no se obtuvo aceleración por hardware sino por parches posteriores,
Quake II fue
lanzado con soporte nativo de OpenGL
SNNS
Stuttgart Neural Network Simulator
|
|
Captura de pantalla
Demostración de la Neural Network Simulator
Stuttgart
|
|
Desarrolladora (s)
|
Eberhard Karls University of Tübingen
|
Última versión estable
|
4,3 / 06 de julio
2008
|
Escrito en
|
C
|
Sistema operativo
|
Multiplataforma
|
Tipo
|
Software de red
neuronal
|
Licencia
|
GNU LGPL
|
Sitio web
|
http://www.ra.cs.uni-tuebingen.de/SNNS/
|
SNNS
(Stuttgart Neural Network Simulator) es un simulador de redes neuronales
desarrollado originalmente en la Universidad de Stuttgart. A pesar de que fue construido originalmente para X11 bajo
Unix, existen de Windows puertos. Su sucesor
JavaNNS nunca alcanzó la misma popularidad.
Características
SNNS está escrito en
torno a un núcleo de simulación en que las funciones de activación por escrito
de los usuarios, los procedimientos de aprendizaje y las funciones de salida se
pueden añadir.
Tiene soporte para topologías de red arbitrarias y la versión
estándar incluye soporte para varios estándares de redes neuronales
arquitecturas y algoritmos de entrenamiento.
Estado
Actualmente no existe
un desarrollo activo permanente de SNNS. En julio de
2008 la licencia se cambió a la LGPL de GNU.
SOFTWARE LIBRE PARA LA IMPLEMENTACION DE AGENTES INTELIGENTES Y
SISTEMAS EXPERTOS
JADE
JADE
|
|
Última
versión estable
|
4.3.0 / 29
de marzo 2013
|
Estado de
desarrollo
|
Activo
|
Escrito
en
|
Java
|
Sistema
operativo
|
Multiplataforma
|
Tipo
|
Sistema
multi-agente marco
|
Licencia
|
GNU
Lesser General Public License
|
Sitio
web
|
jade.tilab.com
|
Agente de Desarrollo Java Framework o JADE,
es un software para el desarrollo de agentes, implementado en Java. Sistema de
JADE apoya la coordinación entre varios agentes FIPA y proporciona una
implementación estándar de la lengua de comunicación FIPA-ACL, lo que facilita
la comunicación entre agentes y permite la detección de los servicios del
sistema. JADE fue desarrollado originalmente por Telecom Italia y se distribuye
como software libre.
Características
JADE es un middleware
que facilita el desarrollo de sistemas multi-agente bajo el estándar FIPA para
lo cual crea múltiples contenedores de agentes, cada uno de ellos se puede
ejecutar en uno o más sistemas. Se entiende que un
conjunto de contenedores constituye una plataforma.
JADE ofrece:
·
Un entorno en el que se ejecutan los
agentes JADE.
·
Bibliotecas de clases para crear
agentes de utilización del patrimonio y la redefinición de las conductas.
·
Un conjunto de herramientas gráficas
para la supervisión y la gestión de la plataforma de agentes inteligentes
agentes.
Historia
JADE fue desarrollado
inicialmente por Telecom Italia Lab. Este sector es la
rama de investigación y desarrollo del Grupo Telecom Italia, que es responsable
de la promoción de la innovación tecnológica. Telecom Italia concibió y
promovió JADE basándola en 2000. Las últimas
fechas disponibles desde el mes de marzo de 2013 (versión 4.3) La primera
versión de JADE distribuidos como software libre está disponible desde el mes
de febrero de 2000 (versión 1.3).
En marzo de 2003
Motorola y Telecom Italia crean la Junta de Gobierno JADE con el
objetivo de promover el desarrollo y la adopción de JADE en la industria de las
telecomunicaciones móviles como middleware basado. Esa organización (Junta de Gobierno JADE) acepta a
ninguna empresa y / u organización interesada en el uso comercial y la
explotación de JADE de comprometerse con su desarrollo y promoción.
Plataforma
Se trata de una
plataforma de agentes distribuidos, que tiene un contenedor para cada host donde
se está ejecutando los agentes. Además la plataforma
tiene varias herramientas de depuración, la movilidad de los agentes de código
y contenido, la posibilidad de ejecución en paralelo del comportamiento de los
agentes, así como el apoyo a la definición de las lenguas y las ontologías.
Cada plataforma tiene que tener un contenedor principal
que tiene dos agentes especiales llamados AMS y DF.
·
El DF (Directorio Facilitador)
ofrece un directorio que anuncia que los agentes están disponibles en la plataforma.
·
El AMS (Sistema de Gestión de
Agente) controla la plataforma. Es el único que
puede crear y destruir a otros agentes, destruir contenedores y detener la
plataforma.
Agente DF
Para acceder al
agente DF el "jade.domain.DFService" clase y se utilizan sus
métodos estáticos: Registrarse, deregistrer, modificar y buscar.
Agente AMS
Para acceder al servicio
de AMS se crea un agente que se ejecuta automáticamente el método de registro
de la MGA por defecto antes de ejecutar la configuración de métodos
del nuevo agente.
Cuando se destruye un agente ejecuta su método ()
derribo de forma predeterminada y automáticamente llama al método Deregister
del AMS.
Clase Agente
La clase de agente es
una super clase que permite a los usuarios crear agentes JADE. Para crear un agente que uno tiene que heredar directamente
de Agente. Normalmente, cada agente
grabador de varios servicios que serán ejecutadas por uno o más
comportamientos.
Esta clase
proporciona métodos para llevar a cabo las tareas básicas de los agentes como:
Pasar mensajes por objetos ACLMessage,
con la coincidencia de patrones.
Apoyar el ciclo de vida de un agente.
Planificar y ejecutar varias
actividades al mismo tiempo.
Agente JADE
El ciclo de vida de
un agente JADE sigue el ciclo propuesto por FIPA. Estos agentes pasan por diferentes estados definidos como:
·
Iniciado: El agente se ha
creado pero no se ha registrado todavía la AMS.
·
Activo: El agente ha sido
registrado y tiene un nombre. En este estado se
puede comunicar con otros agentes.
·
Sancionados: El agente se detuvo
porque su hilo se suspende.
·
De espera: El agente está
bloqueado en espera de un evento.
·
Eliminado: El agente ha
terminado y su hilo terminado su ejecutan y no hay nada más en el AMS.
·
Tránsito: El agente se está
moviendo a una nueva ubicación.
Agentes Comportamiento
El comportamiento
define las acciones en virtud de un evento dado. Este comportamiento del agente se define en la configuración
del método que utiliza el método addBehaviour. Los diferentes comportamientos que el agente adoptará se
definen desde el Comportamiento clase abstracta. El Comportamiento clase contiene los métodos abstractos:
·
action ():
se ejecuta cuando la acción tiene lugar.
·
done ():
se ejecuta al final de la actuación.
Un usuario puede
reemplazar los métodos onStart ()
y OnEnd () propiedad. Adicionalmente, existen otros métodos como el bloque () y restart () es usada para modificar el comportamiento del agente.
Cuando un agente está bloqueado se puede desbloquear de
diferentes maneras. De lo contrario, el usuario
puede reemplazar los métodos onStart
() y OnEnd () el agente
posee.
Desbloquear un Agente
·
Recepción de un mensaje.
·
Cuando el tiempo de espera sucede
asocia bloqueo ().
·
Llamando reinicio.
ACL mensajes
Paso de mensajes ACL
(Agente de Comunicación Language) es la base de la comunicación entre agentes. Envío de mensajes se realiza por el método de envío de
la Agente de clase. En este método, usted tiene
que pasar un objeto de tipo 'ACLMessage' que contiene la información del
destinatario, el lenguaje, la codificación y el contenido del mensaje. Estos mensajes se envían de forma asíncrona, mientras que se
reciben los mensajes que se almacenan en una cola de mensajes. Hay dos tipos de recepción de mensajes de ACL, el bloqueo o
sin bloqueo. Para este proporcionar métodos
blockingReceive () y recibir (), respectivamente. En ambos métodos se puede hacer que los mensajes de filtrado
para recuperar de la cola mediante el establecimiento de diferentes plantillas.
Extensiones
JADE tiene una
extensión denominada WADE (flujos de trabajo y los Agentes de Medio
Ambiente para el Desarrollo), que es un sistema de flujo de trabajo que permite
crear proceso mediante un editor gráfico llamado WOLF.
EXPERT SYSTEM CREATOR
Ayuda a construir sistemas expetos de las formas siguientes: marcos de decisión, árbol de decisión y la tabla de decisión.
Se
compone de: Diseñador de la decisión, marco diseñador de la decisión de mesa,
diseñador de árbol de decisión, módulo generador de código y diccionario
manager administrator de versiones y explorador
Posee
una licencia comercial y trabaja en plataforma Windows ME, Linux y Unix.
EXSYS DE MULTILOGIC
EXSYS
|
|
Productos / Servicios
|
|
Propietario
|
MULTILOGIC, INC
MULTILOGIC, INC
000 MINNESOTA WORLD
TRADE CENTER 30 East 7th
CALLE Saint Paul, MN 55101
Estados Unidos
|
Permite resolver
problemas administrativos que ayudan a mejorar la productividad de las empresas
asesorando para la toma de decisiones en línea.
Al aplicar la
asesoría en lugar de solo los datos, los sistemas interactivos Exsys trae
beneficios a los sitios web y a las computadoras independientes proporcionando
respuestas lógicas que se aplican específicamente a cada visitante.
OTROS EJEMPLOS DE SOFTWARE LIBRE
Nombre: OpenAI IDE V0.2
Licencia: BSD Original
Plataforma: Windows, Windows OS Independent, POSIX, Linux, Solaris
Características: El proyecto se basa en Java y C++ como lenguajes de programación para su desarrollo, y utiliza XML y CORBA para la configuración, comunicación entre procesos y persistencia de objetos. Se ha añadido un editor de datos de entrenamiento, más funciones en la topología de la red, una función de auto-diseño de la topología y un motor de scripting usando BeanShell que le permite modificar la red en funcionamiento en el momento.
Alice bot: Es un chatbot hembra, Ganador del premio Loebner en los años 2000, 2001 y 2004. A.L.I.C.E. es el proyecto liderado por el Dr. Richard Wallace, basado en programación AIML y es considerada una chat bot. Está programada para responder a millones de preguntas de manera que el interlocutor sienta que está hablando con un humano. Además cuenta con la posibilidad de retener algunos conocimientos para luego utilizarlos en la conversación. Es un rudimento que podríamos considerar "capacidad de aprender". A.L.I.C.E. no es única, muchos han sido desarrollados por científicos y estudiantes de diversos institutos y universidades del mundo, como ARIES, BILLY, CYBERBUDY, ELBOT, entre otros.
Cyberbuddy: Es un chatbot opensource, Se instala en tu computadora, viene en inglés. Puede usar varios agentes, al instalarlo por defecto merlin.acs. Como es open Sourse tiene su código fuente disponible. su página es: http://thecyberbuddy.com/
Luego de instalar, el instala agentes para comunicarse por voz: Text to speech, speech control panel, para comunicarse por los parlantes. Luego se accede a el desde donde se instaló.
Dr. Abuse: es un programa de Inteligencia Artificial que demuestra comportamiento humano. Se trata de un robot de charla con el que puede mantener una conversación divertida y más o menos inteligente. Incluye síntesis de voz, por lo que puedes escuchar todo que dice. Es posible también realizar terapia con él, por lo nos puede ser de gran ayuda si necesitamos a alguien que escuche nuestros problemas. Hay que tener en cuenta que Dr. Abuse no puede sustituir a un terapeuta, por lo que ante problemas serios, deberemos acudir a un especialista. Consulta la sección modo autoayuda para obtener más información.
Dr. Abuse ha sido desarrollado por Barres & Boronat aunque actualmente se distribuye en la página de JaRamiz en donde se puede descargar la versión shareware sin limitaciones.
Características:
• Es un robot de charla que piensa que es realmente humano, con una personalidad propia muy bien definida.
• Utiliza técnicas comunes de Inteligencia Artificial: análisis del léxico, análisis de palabras clave y análisis sintáctico.
• Tiene la más potente base de conocimientos con más de 21.000 claves y más de 41.000 frases de respuesta.
• Recuerda datos sobre el usuario y otros temas tratados anteriormente.
• Es totalmente configurable, para poder experimentar con la Inteligencia Artificial del programa.
• Tiene capacidad para abrir, guardar e imprimir las consultas.
Sistema Operativo Robótico (Robot Operating System, ROS) es un framework para el desarrollo de software para robots que provee la funcionalidad de un sistema operativo en un clúster heterogéneo. ROS se desarrolló 2007 bajo el nombre de switchyard por el Laboratorio de Inteligencia Artificial de Stanford para dar soporte al proyecto del Robot con Inteligencia Artificial de Stanford (STAIR2 ). ROS provee los servicios estándar de un sistema operativo tales como abstracción del hardware, control de dispositivos de bajo nivel, implementación de funcionalidad de uso común, paso de mensajes entre procesos y mantenimiento de paquetes. Está basado en una arquitectura de grafos donde el procesamiento toma lugar en los nodos que pueden recibir, mandar y multiplexar mensajes de sensores, control, estados, planificaciones y actuadores, entre otros. La librería está orientada para un sistema UNIX (Ubuntu (Linux) es el sistema soportado aunque también se está adaptando a otros sistemas operativos como Fedora, Mac OS X, Arch, Gentoo, OpenSUSE, Slackware, Debian o Microsoft Windows considerados como 'experimentales'). ROS es software libre bajo términos de licencia BSD.
OpenCV es una biblioteca libre de visión artificial originalmente desarrollada por Intel. A sido utilizada en sistemas de seguridad con detección de movimiento, hasta aplicativos de control de procesos donde se requiere reconocimiento de objetos. Esto se debe a que su publicación se da bajo licencia BSD, que permite que sea usada libremente para propósitos comerciales y de investigación con las condiciones en ella expresadas.
Open CV es multiplataforma, existiendo versiones para GNU/Linux, Mac OS X y Windows. Contiene más de 500 funciones que abarcan una gran gama de áreas en el proceso de visión, como reconocimiento de objetos (reconocimiento facial), calibración de cámaras, visión estérea y visión robótica.
El proyecto pretende proporcionar un entorno de desarrollo fácil de utilizar y altamente eficiente. Esto se ha logrado, realizando su programación en código C y C++.
SNNS (Stuttgart Neural
Network Simulator) es un simulador que provee un entorno flexible para el desarrollo e
investigación de aplicaciones de redes neuronales, diseñado en la Universidad
de Stuttgart (Alemania).
AIPI es un software en desarrollo basado en Inteligencia Artificial, el cual contiene una interface gráfica de usuario creada con el objeto de ejecutar código de programasen una base de conocimientos que se apoyan en los conceptos de Sistemas Expertos con el fin de dar interpretación a esta base de conocimientos para obtener un resultado. Este software utiliza un programa basado en la experiencia y el conocimiento del experto con el fin de llegar a un resultado apegado a la realidad. El software se ha diseñado para facilitar la creación de sistemas expertos y para poder ejecutar dichos sistemas en el software.
El lenguaje que se utiliza en la programación es semejante al lenguaje natural con el fin de facilitar al usuario en la creación de las bases de conocimientos y la creación de programas para dar solución a la problemática. AIPI está diseñado para ser un software de fácil compresión y programación para los usuarios. Es basado en REGLAS, las que se encuentran relacionadas, así dependiendo de las condiciones que están contenidas es cada regla se pasa de una regla a otra o, se obtiene una conclusión. En su primera versión se ha programado en Microsoft Visual C++ (Las interfaces de usuario) y en C++ (los interpretes y técnicas de Inteligencia Artificial), en este momento sólo corre en el sistema operativo Microsoft Windows. En el futuro se planean realizar versiones para el sistema operativo Linux y Mac.