SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

La actualidad más candente

Metodología xp
Metodología xpMetodología xp
Metodología xpPiskamen
 
Desarrollo de aplicaciones moviles
Desarrollo de aplicaciones movilesDesarrollo de aplicaciones moviles
Desarrollo de aplicaciones movilesUPA
 
11. modelos según roger s
11.  modelos según roger s11.  modelos según roger s
11. modelos según roger sYvan Mayta
 
Modelo de desarrollo de software
Modelo de desarrollo de softwareModelo de desarrollo de software
Modelo de desarrollo de softwareYaskelly Yedra
 
Sistemas Operativos Distribuidos
Sistemas Operativos DistribuidosSistemas Operativos Distribuidos
Sistemas Operativos DistribuidosValentina
 
Fundamentos de la ingenieria del software
Fundamentos de la ingenieria del softwareFundamentos de la ingenieria del software
Fundamentos de la ingenieria del softwarealberto calatayu
 
Conceptos basicos de la programacion
Conceptos basicos de la programacionConceptos basicos de la programacion
Conceptos basicos de la programacionyamy matin
 
Metodologías de desarrollo de software
Metodologías de desarrollo de softwareMetodologías de desarrollo de software
Metodologías de desarrollo de softwareJesenia Escobar
 
Clasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareClasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareElvisAR
 
Interfaces en dispositivos móviles
Interfaces en dispositivos móvilesInterfaces en dispositivos móviles
Interfaces en dispositivos móvilesChayincitha MAciaz
 
Requerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónRequerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónYare LoZada
 
Multiprogramacion
MultiprogramacionMultiprogramacion
MultiprogramacionIrisMTF16
 
METRICA V3
METRICA V3METRICA V3
METRICA V3Liz321
 
Mecanismo de sincronización de procesos
Mecanismo de sincronización de procesosMecanismo de sincronización de procesos
Mecanismo de sincronización de procesosjulio izaguirre
 
Tipos de modelos de procesos
Tipos de modelos de procesosTipos de modelos de procesos
Tipos de modelos de procesosEIYSC
 
Aplicaciones de estándares de calidad en la construcción de algoritmo
Aplicaciones de estándares de calidad en la construcción de algoritmoAplicaciones de estándares de calidad en la construcción de algoritmo
Aplicaciones de estándares de calidad en la construcción de algoritmoFelix Rodríguez
 

La actualidad más candente (20)

Metodología xp
Metodología xpMetodología xp
Metodología xp
 
Desarrollo de aplicaciones moviles
Desarrollo de aplicaciones movilesDesarrollo de aplicaciones moviles
Desarrollo de aplicaciones moviles
 
Modelo evolutivo
Modelo evolutivoModelo evolutivo
Modelo evolutivo
 
11. modelos según roger s
11.  modelos según roger s11.  modelos según roger s
11. modelos según roger s
 
Modelo de desarrollo de software
Modelo de desarrollo de softwareModelo de desarrollo de software
Modelo de desarrollo de software
 
Sistemas Operativos Distribuidos
Sistemas Operativos DistribuidosSistemas Operativos Distribuidos
Sistemas Operativos Distribuidos
 
Fundamentos de la ingenieria del software
Fundamentos de la ingenieria del softwareFundamentos de la ingenieria del software
Fundamentos de la ingenieria del software
 
Conceptos basicos de la programacion
Conceptos basicos de la programacionConceptos basicos de la programacion
Conceptos basicos de la programacion
 
7. Mantenimiento de Software
7. Mantenimiento de Software7. Mantenimiento de Software
7. Mantenimiento de Software
 
Metodologías de desarrollo de software
Metodologías de desarrollo de softwareMetodologías de desarrollo de software
Metodologías de desarrollo de software
 
Clasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareClasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de software
 
Técnicas de representación del conocimiento
Técnicas de representación del conocimientoTécnicas de representación del conocimiento
Técnicas de representación del conocimiento
 
Interfaces en dispositivos móviles
Interfaces en dispositivos móvilesInterfaces en dispositivos móviles
Interfaces en dispositivos móviles
 
Requerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónRequerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicación
 
Multiprogramacion
MultiprogramacionMultiprogramacion
Multiprogramacion
 
METRICA V3
METRICA V3METRICA V3
METRICA V3
 
Metodología RUP
Metodología RUPMetodología RUP
Metodología RUP
 
Mecanismo de sincronización de procesos
Mecanismo de sincronización de procesosMecanismo de sincronización de procesos
Mecanismo de sincronización de procesos
 
Tipos de modelos de procesos
Tipos de modelos de procesosTipos de modelos de procesos
Tipos de modelos de procesos
 
Aplicaciones de estándares de calidad en la construcción de algoritmo
Aplicaciones de estándares de calidad en la construcción de algoritmoAplicaciones de estándares de calidad en la construcción de algoritmo
Aplicaciones de estándares de calidad en la construcción de algoritmo
 

Similar a Desarollo de sofware con algoritmos genéticos

Similar a 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
 

Más de 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
 

Más de 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
 

Último

Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 

Último (20)

Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 

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