Universidad
Autónoma de Nuevo León
Facultad de
Ingeniería Mecánica y Eléctrica
Sistemas Adaptativos
Jueves
M1-M3
Equipo Matrícula:
Óscar
Daniel Arreguín Puente 1019950
Carlos
Orlando Ramírez Rodríguez 1460809
Brenda
Yanira Gámez Carreño 1481594
Jorge
Alberto Sánchez Villanueva 1607211
Alfredo
Yovany Ángeles Domínguez 1612260
ü
Practical A.I Server: A.I. Solver Studio
Descripción: Programa único para el reconocimiento de
patrones, se ocupa de encontrar soluciones óptimas para resolver problemas de
clasificación, utilizando varias técnicas poderosas y probadas de inteligencia
artificial incluyendo redes neuronales, programación genética y algoritmos genéticos.
Plataforma: Windows.
ü
DNA: JOpt.SDK
Descripción: es una biblioteca en Java de optimización y
plantación de ruta espacial para la organización automática de recursos y la
plantación de transporte. Utiliza algoritmos genéticos especializados para calcular la ubicación
optimizada de pedidos y paradas para recursos móviles.
Plataforma: ----
Descripción:
es una biblioteca de funciones en C++ que proporciona al programador de
aplicaciones un conjunto de objetos para el desarrollo de algoritmos genéticos.
Usando Galib es posible resolver problemas de optimización mediante la
construcción de una algoritmo genético, usando estructuras de datos y
operadores estándar o específicos de selección, cruce y mutación, escalado y
criterios de finalización.
Plataforma: Unix,
Windows y MacOS.
Descarga: http://lancet.mit.edu/ga
Descripción: Java
Geographically Distributed System es un sitema Java que permite resolver de
manera geográficamente distribuido problemas de optimización mediante el uso de
algoritmos genéticos.
Plataforma: Cualquiera
con una JVM
ü Pythia
Descripción: es un editor de redes neuronales de propagación hacia atrás, un tipo de red donde los nodos corrigen su
activación a partir de la discrepancia entre los valores iniciales y los valores
deseados (que deben ser dados de antemano). Para ello, Pythia puede importar un
fichero con el patrón de datos iniciales y finales.
Plataforma: Windows.
Descarga: http://pythia.softonic.com
ü Sharky Neural Network
Descripción:
es un simulador de redes neuronales. Los puntos
amarillos y azules conforman el patrón a reconocer. Puedes dibujarlo tú mismo o
elegir unos ya diseñados desde el menú Shape. En la pestaña Network elige una
estructura de red, cambia los parámetros de aprendizaje en Learn y pulsa el
botón para que la red de Sharky Neural Network se aplique al patrón dibujado.
Plataforma: Windows.
Descarga:
http://sharky-neural-network.softonic.com
Reporte de librerías, plataformas o
herramientas de software libre para cada una de las técnicas que se representan
a continuación:
Algoritmos Genéticos
Pyevolve
fue creado para ser un marco de algoritmo genético completo escrito en Python
puro.
Pyevolve tiene API sencilla, que puede entenderse fácilmente por el usuario final. Asimismo, el usuario puede y debe ver e interactuar con las estadísticas de la evolución, gráficos y etc.
Además, Pyevolve es extensible, la API debe ser extensible, el usuario puede crear nuevas representaciones, operadores genéticos como crossover y mutación.
Pyevolve tiene API sencilla, que puede entenderse fácilmente por el usuario final. Asimismo, el usuario puede y debe ver e interactuar con las estadísticas de la evolución, gráficos y etc.
Además, Pyevolve es extensible, la API debe ser extensible, el usuario puede crear nuevas representaciones, operadores genéticos como crossover y mutación.
Es rápido,
el diseño debe ser optimizado para el rendimiento tiene características
comunes, el marco debe implementar las características más comunes: selectores
como ruleta, torneo, clasificación, uniforme. Escala esquemas como escala
lineal, tiene parámetros predeterminados, debe tener los operadores, ajustes,
etc. predeterminados en todas las opciones es de código abierto, la fuente
es para todos, no para uno solo.
Logo
Librerias
Pyevolve tiene varios adaptadores de base de datos y
visualización para guardar o cargar estadísticas y datos recopilados durante el
proceso evolutivo:
CSV Adaptador de formato de archivo
SQLite3 Adaptador de la base de datos
MySQL Adaptador de
base de datos
HTTP Get / adaptador Mensaje
Adaptador de XML RPC
Adaptador de visualización VPython
Requerimientos
Pyevolve
pueda ser ejecutado bajo Jython 2.5b1 +, pero con algunas restricciones:
No
es posible utilizar algunas funciones, como el adaptador de SQLite3 para volcar
estadísticas y gráficas ( a menos que instale Matplotlib en Jython,) .
Pyevolve
se puede ejecutar en IronPython 2.x, pero con algunas restricciones:
No
es posible utilizar algunas funciones, como el adaptador de SQLite3 para volcar
estadísticas y gráficas (a menos que instale Matplotlib en Jython)
Se
debe instalar un módulo zlib para IronPython.
Pyevolve
requiere los módulos siguientes:
Python
2.5 + , se recomienda v.2.6
Opcional
, para el gráfico de trazado : Matplotlib 0.98.4 +
El
matplotlib se requiere para representar los gráficos.
Opcional,
para las estadísticas de visualización en tiempo real : VPython
El
VPython es necesario para ver las estadísticas de visualización en tiempo real.
Opcional,
para dibujar GP Arboles: pydot 1.0.2 +
El
pydot se utiliza para representar los árboles programación genética .
Opcional,
para el adaptador de base de datos MySQL : MySQL para Python
El
MySQL es usado por el adaptador de DB MySQL.
Pyevolve se puede ejecutar
en plataformas Windows, Linux y Mac
Sitio
oficial de descarga
Algoritmo de Agrupamiento
R es un lenguaje y entorno de programación para análisis
estadístico y gráfico.
Logo
Descripción
Se trata de un proyecto de software libre, resultado de la
implementación GNU del premiado lenguaje S. R y S-Plus -versión comercial de S- son, probablemente, los dos
lenguajes más utilizados en investigación por la comunidad estadística, siendo
además muy populares en el campo de la investigación
biomédica, la bioinformática y las matemáticas
financieras. A esto contribuye la posibilidad de
cargar diferentes bibliotecas o paquetes con finalidades específicas de cálculo
o gráfico.
Librerías
AAgruparse es
una herramienta software que permite llevar a cabo el proceso de Descubrimiento
de Conocimiento en Bases de Datos de un modo sencillo y particular dentro del
área de la genómica funcional. Su objetivo es ofrecer un marco de trabajo
interactivo para usuarios que requieran analizar el comportamiento de muchos
genes simultáneamente agrupando aquellos que compartan características o
comportamientos similares. Decimos que implementa DCBD de un modo sencillo y
particular porque en cada una de sus etapas se eligen determinadas actividades,
concretamente aquellas que demanda el área de aplicación para la cual
AAgruparse fue creada. Debido a su alta versatilidad, AAgruparse permite
manipular datos que provengan de cualquier otra área de aplicación.
Está disponible para los sistemas operativos Windows, Macintosh, Unix y GNU/Linux.
Instalación en GNU/Linux
Para
la instalación, distribuciones derivadas de debian (Ubuntu, Guadalinex,. . . ),
en una consola se introduce en una sola línea:
sudo apt-get install r-base-html
r-cran-rcmdr r-cran-rodbc r-doc-html r-recommended
Otra
opción es utilizar el gestor de paquetes de la propia distribución e instalar
los paquetes r-base-html, r-cran-rcmdr, r-cran-rodbc, r-doc-html y
r-recommended.
Instalación en Windows
La
descarga de R en el equipo se efectua desde:
http://cran.es.r-project.org/bin/windows/base/release.htm3
Luego
se procede con la ejecución, siguiendo las instrucciones. Para la instalación de
Rcmdr, se arranca R desde Inicio→Todos los programas→ R. A continuación, Paquetes→Instalar
Paquete(s) y elegido el mirror desde el cual se quiere instalar el paquete, por
ejemplo Spain (Madrid), se selecciona Rcmdr.
Sitio
oficial de descarga
Redes neuronales
Actualmente existen herramientas de software libre que
permiten el modelado de redes neuronales, algunas de ellas se exponen a
continuación:
OpenNN es una librería de código abierto escrita o
codificada en C++ la cual implementa redes neuronales, un método
principal de la inteligencia artificial.
Librerías
FANN
es una libreria de código abierto libre de la red neuronal, que implementa múltiples
capas de redes neuronales artificiales en C con soporte para ambas redes
totalmente conectadas y escasamente conectadas. Ejecución de la Cruz-plataforma
en el punto fijos y flotantes son compatibles. Incluye un marco para un fácil
manejo de los conjuntos de datos de entrenamiento. Es fácil de usar, versátil,
bien documentada, y rápido. Vinculaciones a más de 20 lenguajes de programación
están disponibles. Un artículo introducción fácil de leer y un manual de
referencia acompaña a la biblioteca con ejemplos y recomendaciones sobre el uso
de la biblioteca. Varias interfaces gráficas de usuario también están
disponibles para la biblioteca.
Requerimientos de FANN
Red
de Bibliotecas de múltiples capas neuronales artificiales en C
Entrenamiento
backpropagation ( RProp , QuickProp , Batch , por pasos)
Formación
topología Evolucionando que construye dinámicamente y entrena la ANN ( Cascade2
)
Fácil
de usar ( crear, entrenar y correr una RNA con sólo tres llamadas a la función
)
Rápido
( hasta 150 veces más rápido de ejecución que otras bibliotecas )
Versátil
( posible ajustar muchos parámetros y funciones en la marcha )
Bien
documentado ( Un fácil de leer el artículo de introducción, un manual de
referencia completa, y un informe de la universidad 50 + página que describe
las consideraciones de implementación , etc )
Cruz-plataforma
( script de configuración para Linux y UNIX, dll para Windows, los archivos de
proyecto para MSVC + + y Borland compiladores también se presentó a trabajar )
Varios
diferentes funciones de activación implementados (incluyendo funciones lineales
paso a paso para que poco más de velocidad)
Fácil
de guardar y cargar las RNA enteras
Varios
fácil de usar ejemplos
Se
puede usar tanto en coma flotante y números de punto fijo (en realidad tanto
float, double y int están disponibles )
Caché
optimizado (para ese extra de velocidad)
El
código abierto , pero todavía se puede utilizar en aplicaciones comerciales (
con licencia LGPL )
Marco
para un fácil manejo de los conjuntos de datos de entrenamiento
Interfaces
Gráficas
Los
enlaces de lenguaje a un gran número de diferentes lenguajes de programación
Ampliamente
utilizado (aproximadamente 100 descargas al día)
Referencias
No hay comentarios:
Publicar un comentario