SlideShare ist ein Scribd-Unternehmen logo
1 von 14
UNIVERSIDAD NACIONAL DE INGENIERIA
     FACULTAD DE CIENCIAS Y SISTEMAS




            INTELIGENCIA ARTIFICIAL

INTEGRANTES:

• Vilma Hernández Salgado.
• Jennifer Chavarría Galeano
•Luis Freddy Marenco.
TEMA DE EXPOCISION

Desarrollo de software basados en A.G.
Definición

Los Algoritmos Genéticos son métodos adaptativos que pueden usarse para resolver
problemas de búsqueda y optimización. Están basados en el proceso genético de
los organismos vivos.

Por imitación de este proceso, los Algoritmos Genéticos son capaces de ir creando
soluciones para problemas del mundo real. La evolución de dichas soluciones hacia
valores óptimos del problema depende en buena medida de una adecuada
codificación de las mismas.

Un algoritmo genético consiste en una función matemática o una rutina de software
que toma como entradas a los ejemplares y retorna como salidas cuales de ellos
deben generar descendencia para la nueva generación.
Limitaciones

El poder de los Algoritmos Genéticos proviene del hecho de que se trata de una
técnica robusta, y pueden tratar con éxito una gran variedad de problemas
provenientes de diferentes áreas, incluyendo aquellos en los que otros métodos
encuentran dificultades. Si bien no se garantiza que el Algoritmo Genético encuentre
la solución óptima, del problema, existe evidencia empírica de que se encuentran
soluciones de un nivel aceptable.

En el caso de que existan técnicas especializadas para resolver un determinado
problema, lo más probable es que superen al Algoritmo Genético, tanto en rapidez
como en eficacia.

El gran campo de aplicación de los Algoritmos Genéticos se relaciona con aquellos
problemas para los cuales no existen técnicas especializadas. Incluso en el caso en
que dichas técnicas existan, y funcionen bien, pueden efectuarse mejoras de las
mismas hibridándolas con los Algoritmos Genéticos.
Como Saber si es Posible usar un Algoritmo Genético

La aplicación más común de los algoritmos genéticos ha sido la solución de
problemas de optimización, en donde han mostrado ser muy eficientes y confiables
pero se recomienda en general tomar en cuenta las siguientes características del
mismo antes de intentar usarla:

•Su espacio de búsqueda y sus posibles soluciones debe estar delimitado dentro de
un cierto rango.

•Debe poderse definir una función de aptitud que nos indique qué tan buena o mala es
una cierta respuesta.

•Las soluciones deben codificarse de una forma que resulte relativamente fácil de
implementar en la computadora.
Función de aptitud
Es la función objetivo de nuestro problema de optimización o de búsqueda El
algoritmo genético no solo maximiza o minimización ( la minimización puede realizarse
fácilmente utilizando el recíproco de la función maximizante) también es capas de
realizar búsquedas.

Una característica que debe tener esta función es que debe ser capaz de "castigar" a
las malas soluciones, y de "premiar" a las buenas, de forma que sean estas últimas
las que se propaguen con mayor rapidez. Es decir debe tener la capacidad de separar
las buenas y malas respuestas.

La codificación más común de las respuestas es a través de cadenas binarias,
aunque se han utilizado también números reales y letras. El primero de estos
esquemas ha gozado de mucha popularidad debido a que es el que propuso
originalmente Holland(pionero en la investigación y desarrollo de los AG), y además
porque resulta muy sencillo de implementar.
Funcionamiento de un algoritmo genético básico

Inicialización: Se genera aleatoriamente la población inicial, que está constituida por
un conjunto de variables las cuales representan las posibles soluciones del
problema. En caso de no hacerlo aleatoriamente, es importante garantizar que
dentro de la población inicial, se tenga la diversidad estructural de estas soluciones
para tener una representación de la mayor parte de la población posible o al menos
evitar la convergencia prematura.

Evaluación: A cada uno de las variables de esta población se aplicará la función de
aptitud para saber qué tan "buena" es la solución que se está codificando.

Condición de término: El AG se deberá detener cuando se alcance la solución
óptima, pero ésta generalmente se desconoce, por lo que se deben utilizar otros
criterios de detención. Normalmente se usan dos criterios: correr el AG un número
máximo de iteraciones (generaciones) o detenerlo cuando no haya cambios en la
población.
Mientras no se cumpla la condición de término se hace lo siguiente:

Selección Después de saber la aptitud de cada variable se procede a elegir la
variable que serán cruzados en la siguiente generación. Las variables con mejor
aptitud tienen mayor probabilidad de ser seleccionados.

Recombinación La recombinación es el principal operador genético, representa la
reproducción sexual, opera sobre dos variables a la vez para generar dos
descendientes donde se combinan las características de ambas variables padres.

Mutación modifica al azar parte de las variables de los individuos, y permite alcanzar
zonas del espacio de búsqueda que no estaban cubiertas por los individuos de la
población actual.

Reemplazo una vez aplicados los operadores genéticos, se seleccionan los mejores
individuos para conformar la población de la generación siguiente.
Ambientes de Programación de los A.G.

En la actualidad existe un gran número de ambientes de programación disponibles en
el mercado para experimentar con los algoritmos genéticos. Se pueden distinguir tres
ambientes los cuales son:

Sistemas Orientados a las aplicaciones: Son esencialmente "cajas negras" para el
usuario, pues ocultan todos los detalles de implementación. Sus usuarios
normalmente neófitos en el área los utilizan para un cierto rango de aplicaciones
diversas, pero no se interesan en conocer la forma en qué éstos operan. Ejemplos de
este tipo de sistemas son: Evolver (Axcelis, Inc.) y XpertRule GenAsys (Attar
Software).

Sistemas Orientados a los algoritmos: Soportan algoritmos genéticos específicos, y
suelen subdividirse en:

•Sistemas de uso específico : Contienen un solo algoritmo genético, y se dirigen a
una aplicación en particular. Algunos ejemplos son: Escapade (Frank
Hoffmeister), GAGA (Jon Crowcroft) y Genesis(John Grefenstette).
Cajas de Herramientas : Proporcionan muchas herramientas de programación,
algoritmos y operadores genéticos que pueden aplicarse en una enorme gama de
problemas.

Normalmente se subdividen en:

•Sistemas Educativos : Ayudan a los usuarios novatos a introducirse de forma
amigable a los conceptos de los algoritmos genéticos. GA Workbench (Mark Hughes)
es un buen ejemplo de este tipo de ambiente.

•Sistemas de Propósito General : Proporcionan un conjunto de herramientas para
programar cualquier algoritmo genético y desarrollar cualquier aplicación. Tal vez el
sistema más conocido de este tipo es Splicer (NASA).
Lenguajes para desarrollar un AG

Los algoritmos genéticos pueden ser desarrollados en cualquier lenguaje de
programación ya que los AG son métodos sistematicos para la resolución (búsqueda,
maximización o minimización) de un problema, a continuación mencionaremos
algunos lenguaje que son usados para hacer aplicaciones AG:

PERL
Java
Pascal
C
C++
Tcl / Tk
PHP
Lisp
C#
COBOL
Fortran
IDES para desarrollar un AG

Entre los IDES para desarrollar un AG podemos elegir cualquiera que sea de nuestra
comodidad entre los mas populares en la actualidad tenemos:

Visual basic
Netbeans
Eclipse
Vim
Emac
Xcode
Turbo Pascal
THINK Pascal
THINK C
Gestores de bases de datos para AG
Es el mismo caso que el de los IDES se puede utilizar cualquier gestor siempre y
cuando este sea compatible con el lenguaje en que esta programado el algoritmo
genético den los mas actuales tenemos:

PostgreSQL
Firebird
SQLite
DB2 E  xpress-C
Apache Derby
MariaDB
Mysql
Drizzle
Microsoft Access
Microsoft SQL Server
Open Access
Oracle
Paradox
PervasiveSQL
GRACIAS POR SU ATENCION




    12/16/2011

Weitere ähnliche Inhalte

Was ist angesagt?

Metodologias para el desarrollo del software
Metodologias para el desarrollo del softwareMetodologias para el desarrollo del software
Metodologias para el desarrollo del softwareyeltsintorres18
 
Documentación de Software
Documentación de Software Documentación de Software
Documentación de Software waqoak
 
Manual tecnico y manual de usuario
Manual tecnico y manual de usuarioManual tecnico y manual de usuario
Manual tecnico y manual de usuarioD MT
 
Segmetación de instrucciones
Segmetación de instruccionesSegmetación de instrucciones
Segmetación de instruccionesLely
 
Proyecto de software
Proyecto de softwareProyecto de software
Proyecto de softwaremonik1002
 
Normas y Estándares de calidad para el desarrollo de Software
Normas y Estándares de calidad para el desarrollo de SoftwareNormas y Estándares de calidad para el desarrollo de Software
Normas y Estándares de calidad para el desarrollo de SoftwareEvelinBermeo
 
Ciclo de instrucciones CPU
Ciclo de instrucciones CPUCiclo de instrucciones CPU
Ciclo de instrucciones CPUEduardo Suarez
 

Was ist angesagt? (20)

Metodologias para el desarrollo del software
Metodologias para el desarrollo del softwareMetodologias para el desarrollo del software
Metodologias para el desarrollo del software
 
Exposicion cocomo
Exposicion cocomoExposicion cocomo
Exposicion cocomo
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Prueba de aplicaciones
Prueba de aplicacionesPrueba de aplicaciones
Prueba de aplicaciones
 
Documentación de Software
Documentación de Software Documentación de Software
Documentación de Software
 
Estimación de Proyectos de Software
Estimación de Proyectos de SoftwareEstimación de Proyectos de Software
Estimación de Proyectos de Software
 
Manual tecnico y manual de usuario
Manual tecnico y manual de usuarioManual tecnico y manual de usuario
Manual tecnico y manual de usuario
 
Lenguajes de simulación
Lenguajes de simulaciónLenguajes de simulación
Lenguajes de simulación
 
Segmetación de instrucciones
Segmetación de instruccionesSegmetación de instrucciones
Segmetación de instrucciones
 
Requerimientos del software
Requerimientos del software Requerimientos del software
Requerimientos del software
 
Analizador lexico
Analizador lexicoAnalizador lexico
Analizador lexico
 
Proyecto de software
Proyecto de softwareProyecto de software
Proyecto de software
 
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADORUNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
 
Normas y Estándares de calidad para el desarrollo de Software
Normas y Estándares de calidad para el desarrollo de SoftwareNormas y Estándares de calidad para el desarrollo de Software
Normas y Estándares de calidad para el desarrollo de Software
 
Metodologia orientada a objeto
Metodologia orientada a objetoMetodologia orientada a objeto
Metodologia orientada a objeto
 
Herramientas case
Herramientas caseHerramientas case
Herramientas case
 
Estándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de NegociosEstándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de Negocios
 
Modelo evolutivo
Modelo evolutivoModelo evolutivo
Modelo evolutivo
 
Metricas tecnicas del software
Metricas tecnicas del softwareMetricas tecnicas del software
Metricas tecnicas del software
 
Ciclo de instrucciones CPU
Ciclo de instrucciones CPUCiclo de instrucciones CPU
Ciclo de instrucciones CPU
 

Ähnlich wie Desarollo de sofware con algoritmos genéticos

Ähnlich wie Desarollo de sofware con algoritmos genéticos (20)

Ag (2005 verano)
Ag (2005 verano)Ag (2005 verano)
Ag (2005 verano)
 
Trabajo algoritmo genetico uba
Trabajo algoritmo genetico uba Trabajo algoritmo genetico uba
Trabajo algoritmo genetico uba
 
Algoritmos genéticos 2 s lun 30 sep-13
Algoritmos genéticos 2 s lun 30 sep-13Algoritmos genéticos 2 s lun 30 sep-13
Algoritmos genéticos 2 s lun 30 sep-13
 
Algoritmo Genético
Algoritmo GenéticoAlgoritmo Genético
Algoritmo Genético
 
Algoritmo Genético
Algoritmo GenéticoAlgoritmo Genético
Algoritmo Genético
 
ALGORITMO GENETICO - II.pptx
ALGORITMO GENETICO - II.pptxALGORITMO GENETICO - II.pptx
ALGORITMO GENETICO - II.pptx
 
Alejandra Quintana
Alejandra Quintana Alejandra Quintana
Alejandra Quintana
 
Jgap algritmos geneticosss
Jgap  algritmos geneticosssJgap  algritmos geneticosss
Jgap algritmos geneticosss
 
Xpin algoritmos genéticos
Xpin   algoritmos genéticosXpin   algoritmos genéticos
Xpin algoritmos genéticos
 
ALGORITMO GENETICO - I.pptx
ALGORITMO GENETICO - I.pptxALGORITMO GENETICO - I.pptx
ALGORITMO GENETICO - I.pptx
 
Agente inteligente
Agente inteligenteAgente inteligente
Agente inteligente
 
Algoritmos Genéticos
Algoritmos GenéticosAlgoritmos Genéticos
Algoritmos Genéticos
 
Analisis y diseño de algoritmo
Analisis y diseño de algoritmoAnalisis y diseño de algoritmo
Analisis y diseño de algoritmo
 
ALGORITMOS GENETICOS - BUSQUEDA TABÚ
ALGORITMOS GENETICOS - BUSQUEDA TABÚALGORITMOS GENETICOS - BUSQUEDA TABÚ
ALGORITMOS GENETICOS - BUSQUEDA TABÚ
 
Algoritmos geneticos
Algoritmos geneticosAlgoritmos geneticos
Algoritmos geneticos
 
Tutorial jgap
Tutorial jgapTutorial jgap
Tutorial jgap
 
Inteligencia Artificial (Sistemas Expertos y Redes Neuronales)
Inteligencia Artificial (Sistemas Expertos y Redes Neuronales)Inteligencia Artificial (Sistemas Expertos y Redes Neuronales)
Inteligencia Artificial (Sistemas Expertos y Redes Neuronales)
 
Algoritmos geneticos
Algoritmos geneticosAlgoritmos geneticos
Algoritmos geneticos
 
Algoritmos Genéticos (1).pptx
Algoritmos Genéticos (1).pptxAlgoritmos Genéticos (1).pptx
Algoritmos Genéticos (1).pptx
 
020 algoritmos2
020 algoritmos2020 algoritmos2
020 algoritmos2
 

Mehr von Facultad de Ciencias y Sistemas

Introducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaIntroducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaFacultad de Ciencias y Sistemas
 

Mehr von Facultad de Ciencias y Sistemas (20)

Ejercicios HTML 5
Ejercicios HTML 5Ejercicios HTML 5
Ejercicios HTML 5
 
CSS3
CSS3CSS3
CSS3
 
09 ordenamiento-en-vectores-en-c
09 ordenamiento-en-vectores-en-c09 ordenamiento-en-vectores-en-c
09 ordenamiento-en-vectores-en-c
 
08 mas-de-vectores-en-c
08 mas-de-vectores-en-c08 mas-de-vectores-en-c
08 mas-de-vectores-en-c
 
07 vectores-en-c final
07 vectores-en-c final07 vectores-en-c final
07 vectores-en-c final
 
06 clases-en-c
06 clases-en-c06 clases-en-c
06 clases-en-c
 
05 cadenas-de-caracteres-en-c
05 cadenas-de-caracteres-en-c05 cadenas-de-caracteres-en-c
05 cadenas-de-caracteres-en-c
 
04 mas-estructuras-iterativas-en-c
04 mas-estructuras-iterativas-en-c04 mas-estructuras-iterativas-en-c
04 mas-estructuras-iterativas-en-c
 
03 estructuras-iterativas-en-c
03 estructuras-iterativas-en-c03 estructuras-iterativas-en-c
03 estructuras-iterativas-en-c
 
02 mas-de-las-estructuras-de-programacion-en-c
02 mas-de-las-estructuras-de-programacion-en-c02 mas-de-las-estructuras-de-programacion-en-c
02 mas-de-las-estructuras-de-programacion-en-c
 
01 estructuras-de-programacion-en-c
01 estructuras-de-programacion-en-c01 estructuras-de-programacion-en-c
01 estructuras-de-programacion-en-c
 
Procesamiento del lenguaje natural con python
Procesamiento del lenguaje natural con pythonProcesamiento del lenguaje natural con python
Procesamiento del lenguaje natural con python
 
Actividades de aprendizaje en Moodle
Actividades de aprendizaje en MoodleActividades de aprendizaje en Moodle
Actividades de aprendizaje en Moodle
 
Creación de grupos en Moodle
Creación de grupos en MoodleCreación de grupos en Moodle
Creación de grupos en Moodle
 
Introducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaIntroducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con Java
 
Como crear un diagrama de clases
Como crear un diagrama de clasesComo crear un diagrama de clases
Como crear un diagrama de clases
 
Diagrama de clases - Ejemplo monográfico 02
Diagrama de clases - Ejemplo monográfico 02Diagrama de clases - Ejemplo monográfico 02
Diagrama de clases - Ejemplo monográfico 02
 
Diagrama de clases - Ejemplo monográfico 01
Diagrama de clases - Ejemplo monográfico 01Diagrama de clases - Ejemplo monográfico 01
Diagrama de clases - Ejemplo monográfico 01
 
Otro ejemplo de diagrama de clases UML
Otro ejemplo de diagrama de clases UMLOtro ejemplo de diagrama de clases UML
Otro ejemplo de diagrama de clases UML
 
Un ejemplo de diagrama de clases
Un ejemplo de diagrama de clasesUn ejemplo de diagrama de clases
Un ejemplo de diagrama de clases
 

Kürzlich hochgeladen

libro grafismo fonético guía de uso para el lenguaje
libro grafismo fonético guía de uso para el lenguajelibro grafismo fonético guía de uso para el lenguaje
libro grafismo fonético guía de uso para el lenguajeKattyMoran3
 
Amor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdfAmor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdfAlejandrino Halire Ccahuana
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.monthuerta17
 
LOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejorLOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejormrcrmnrojasgarcia
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxNataliaGonzalez619348
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxRosabel UA
 
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...MagalyDacostaPea
 
historieta materia de ecologías producto
historieta materia de ecologías productohistorieta materia de ecologías producto
historieta materia de ecologías productommartinezmarquez30
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfssuser50d1252
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...Carol Andrea Eraso Guerrero
 
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJODIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJOLeninCariMogrovejo
 
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2Eliseo Delgado
 
Actividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 EducacionActividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 Educacionviviantorres91
 
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfFichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfssuser50d1252
 
HISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAHISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAJesus Gonzalez Losada
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfssuser50d1252
 
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)jlorentemartos
 

Kürzlich hochgeladen (20)

libro grafismo fonético guía de uso para el lenguaje
libro grafismo fonético guía de uso para el lenguajelibro grafismo fonético guía de uso para el lenguaje
libro grafismo fonético guía de uso para el lenguaje
 
Amor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdfAmor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdf
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
LOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejorLOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejor
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptx
 
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
 
historieta materia de ecologías producto
historieta materia de ecologías productohistorieta materia de ecologías producto
historieta materia de ecologías producto
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
 
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJODIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
 
Acuerdo segundo periodo - Grado Noveno.pptx
Acuerdo segundo periodo - Grado Noveno.pptxAcuerdo segundo periodo - Grado Noveno.pptx
Acuerdo segundo periodo - Grado Noveno.pptx
 
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
 
Actividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 EducacionActividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 Educacion
 
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfFichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
 
HISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAHISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICA
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
 
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
 

Desarollo de sofware con algoritmos genéticos

  • 1. UNIVERSIDAD NACIONAL DE INGENIERIA FACULTAD DE CIENCIAS Y SISTEMAS INTELIGENCIA ARTIFICIAL INTEGRANTES: • Vilma Hernández Salgado. • Jennifer Chavarría Galeano •Luis Freddy Marenco.
  • 2. TEMA DE EXPOCISION Desarrollo de software basados en A.G.
  • 3. Definición Los Algoritmos Genéticos son métodos adaptativos que pueden usarse para resolver problemas de búsqueda y optimización. Están basados en el proceso genético de los organismos vivos. Por imitación de este proceso, los Algoritmos Genéticos son capaces de ir creando soluciones para problemas del mundo real. La evolución de dichas soluciones hacia valores óptimos del problema depende en buena medida de una adecuada codificación de las mismas. Un algoritmo genético consiste en una función matemática o una rutina de software que toma como entradas a los ejemplares y retorna como salidas cuales de ellos deben generar descendencia para la nueva generación.
  • 4. Limitaciones El poder de los Algoritmos Genéticos proviene del hecho de que se trata de una técnica robusta, y pueden tratar con éxito una gran variedad de problemas provenientes de diferentes áreas, incluyendo aquellos en los que otros métodos encuentran dificultades. Si bien no se garantiza que el Algoritmo Genético encuentre la solución óptima, del problema, existe evidencia empírica de que se encuentran soluciones de un nivel aceptable. En el caso de que existan técnicas especializadas para resolver un determinado problema, lo más probable es que superen al Algoritmo Genético, tanto en rapidez como en eficacia. El gran campo de aplicación de los Algoritmos Genéticos se relaciona con aquellos problemas para los cuales no existen técnicas especializadas. Incluso en el caso en que dichas técnicas existan, y funcionen bien, pueden efectuarse mejoras de las mismas hibridándolas con los Algoritmos Genéticos.
  • 5. Como Saber si es Posible usar un Algoritmo Genético La aplicación más común de los algoritmos genéticos ha sido la solución de problemas de optimización, en donde han mostrado ser muy eficientes y confiables pero se recomienda en general tomar en cuenta las siguientes características del mismo antes de intentar usarla: •Su espacio de búsqueda y sus posibles soluciones debe estar delimitado dentro de un cierto rango. •Debe poderse definir una función de aptitud que nos indique qué tan buena o mala es una cierta respuesta. •Las soluciones deben codificarse de una forma que resulte relativamente fácil de implementar en la computadora.
  • 6. Función de aptitud Es la función objetivo de nuestro problema de optimización o de búsqueda El algoritmo genético no solo maximiza o minimización ( la minimización puede realizarse fácilmente utilizando el recíproco de la función maximizante) también es capas de realizar búsquedas. Una característica que debe tener esta función es que debe ser capaz de "castigar" a las malas soluciones, y de "premiar" a las buenas, de forma que sean estas últimas las que se propaguen con mayor rapidez. Es decir debe tener la capacidad de separar las buenas y malas respuestas. La codificación más común de las respuestas es a través de cadenas binarias, aunque se han utilizado también números reales y letras. El primero de estos esquemas ha gozado de mucha popularidad debido a que es el que propuso originalmente Holland(pionero en la investigación y desarrollo de los AG), y además porque resulta muy sencillo de implementar.
  • 7. Funcionamiento de un algoritmo genético básico Inicialización: Se genera aleatoriamente la población inicial, que está constituida por un conjunto de variables las cuales representan las posibles soluciones del problema. En caso de no hacerlo aleatoriamente, es importante garantizar que dentro de la población inicial, se tenga la diversidad estructural de estas soluciones para tener una representación de la mayor parte de la población posible o al menos evitar la convergencia prematura. Evaluación: A cada uno de las variables de esta población se aplicará la función de aptitud para saber qué tan "buena" es la solución que se está codificando. Condición de término: El AG se deberá detener cuando se alcance la solución óptima, pero ésta generalmente se desconoce, por lo que se deben utilizar otros criterios de detención. Normalmente se usan dos criterios: correr el AG un número máximo de iteraciones (generaciones) o detenerlo cuando no haya cambios en la población.
  • 8. Mientras no se cumpla la condición de término se hace lo siguiente: Selección Después de saber la aptitud de cada variable se procede a elegir la variable que serán cruzados en la siguiente generación. Las variables con mejor aptitud tienen mayor probabilidad de ser seleccionados. Recombinación La recombinación es el principal operador genético, representa la reproducción sexual, opera sobre dos variables a la vez para generar dos descendientes donde se combinan las características de ambas variables padres. Mutación modifica al azar parte de las variables de los individuos, y permite alcanzar zonas del espacio de búsqueda que no estaban cubiertas por los individuos de la población actual. Reemplazo una vez aplicados los operadores genéticos, se seleccionan los mejores individuos para conformar la población de la generación siguiente.
  • 9. Ambientes de Programación de los A.G. En la actualidad existe un gran número de ambientes de programación disponibles en el mercado para experimentar con los algoritmos genéticos. Se pueden distinguir tres ambientes los cuales son: Sistemas Orientados a las aplicaciones: Son esencialmente "cajas negras" para el usuario, pues ocultan todos los detalles de implementación. Sus usuarios normalmente neófitos en el área los utilizan para un cierto rango de aplicaciones diversas, pero no se interesan en conocer la forma en qué éstos operan. Ejemplos de este tipo de sistemas son: Evolver (Axcelis, Inc.) y XpertRule GenAsys (Attar Software). Sistemas Orientados a los algoritmos: Soportan algoritmos genéticos específicos, y suelen subdividirse en: •Sistemas de uso específico : Contienen un solo algoritmo genético, y se dirigen a una aplicación en particular. Algunos ejemplos son: Escapade (Frank Hoffmeister), GAGA (Jon Crowcroft) y Genesis(John Grefenstette).
  • 10. Cajas de Herramientas : Proporcionan muchas herramientas de programación, algoritmos y operadores genéticos que pueden aplicarse en una enorme gama de problemas. Normalmente se subdividen en: •Sistemas Educativos : Ayudan a los usuarios novatos a introducirse de forma amigable a los conceptos de los algoritmos genéticos. GA Workbench (Mark Hughes) es un buen ejemplo de este tipo de ambiente. •Sistemas de Propósito General : Proporcionan un conjunto de herramientas para programar cualquier algoritmo genético y desarrollar cualquier aplicación. Tal vez el sistema más conocido de este tipo es Splicer (NASA).
  • 11. Lenguajes para desarrollar un AG Los algoritmos genéticos pueden ser desarrollados en cualquier lenguaje de programación ya que los AG son métodos sistematicos para la resolución (búsqueda, maximización o minimización) de un problema, a continuación mencionaremos algunos lenguaje que son usados para hacer aplicaciones AG: PERL Java Pascal C C++ Tcl / Tk PHP Lisp C# COBOL Fortran
  • 12. IDES para desarrollar un AG Entre los IDES para desarrollar un AG podemos elegir cualquiera que sea de nuestra comodidad entre los mas populares en la actualidad tenemos: Visual basic Netbeans Eclipse Vim Emac Xcode Turbo Pascal THINK Pascal THINK C
  • 13. Gestores de bases de datos para AG Es el mismo caso que el de los IDES se puede utilizar cualquier gestor siempre y cuando este sea compatible con el lenguaje en que esta programado el algoritmo genético den los mas actuales tenemos: PostgreSQL Firebird SQLite DB2 E xpress-C Apache Derby MariaDB Mysql Drizzle Microsoft Access Microsoft SQL Server Open Access Oracle Paradox PervasiveSQL
  • 14. GRACIAS POR SU ATENCION 12/16/2011