Software de Inteligencia Artificial

Software de Inteligencia Artificial



SOFTWARE LIBRE PARA LA IMPLEMENTACION DE REDES NEURONALES

JOONE

Java orientado a objetos Engine Neural
Captura de pantalla
File:JoonEdit.png
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

File:Snns screen.jpg
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
Expert System Creator 2.8 screenshot.

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

Software informático para su uso en la creación de sistemas expertos programas, y manuales del programa vendido junto con ellos como unidad
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.

Posee una licencia comercial y trabaja bajo la plataforma Java.


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.