SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Algoritmos Genéticos
La evolución del software
Mg. Ing. Gabriel Rojas
Datos de contacto
ProfesorGavit0@gmail.com
lgabrielrojas@ucundinamarca.edu.co
https://ProfesorGavit0.blogspot.com
Universidad de Cundinamarca
Facultad de ingeniería
Ingeniería de sistemas
Sede: Chía – 2017
www.unicundi.edu.co
This file is free to use under Creative Commons Attribution license.
El presente documento presenta una vista general al uso de los conceptos genéticos de la biología, como modelo de desarrollo de soluciones de
software.
Cualquier persona puede usar este documento de forma completamete libre aunque se agradece mencionar al autor.
Los Algoritmos Genéticos son un tipo de software que se basa en los principios que se conocen sobre
cómo la naturaleza transmite las cualidades de los individuos a su descendencia, para lograr que dichas
cualidades se preserven, pues ellas hacen que el individuo sea viable y apto para lograr el principal
objetivo de la vida: “Seguir viviendo”. En caso del software el objetivo será el que desee el
programador, y el Algoritmo Genético se encargará de ello, al igual que lo hace la naturaleza.
Resumen
¿Qué es la genética?
Es el área de estudio de la biología que
busca comprender y explicar cómo se
transmite la herencia biológica de
generación en generación.
¿Dónde empezó todo?
Gregor Mendel
1866
George Beadle
1945
Watson y Crick
1953
Propone “factores” (gen),
como responsable de la
transmisión de características
Postula el concepto
moderno del gen como
mínima unidad funcional
Presentan la estructura
de la molécula de ADN
¿Qué es un gen?
Es la mínima unidad de almacenamiento
de información genética, para describir
cómo deben funcionar la células.
Se encuentran en los cromosomas.
¿Qué relación tienen la genética y la computación?
Unir entidades simples (0 y 1) de forma
organizada para representar información ya lo
hacia la naturaleza antes de los computadores.
Byte
Gen
De la misma forma en que Turing concibió
una máquina de procesamiento, el núcleo de
la célula genera proteínas leyendo los datos
que tienen los Genes.
A G A T T 01000001 01000111 01000001 01010100 01010100
| | | | | | | | | |
T C T A A 01010100 01000011 01010100 01000001 01000001
Un ser vivo es lo que sus genes definan de él.
Cada gen tiene una posición dentro de una larga
cadena (cromosoma).
Un sistema de información es un conjunto de estructuras
ordenadas de forma lógica.
Cada estructura es por si misma una larga cadena de
ceros y unos.
¿Qué relación tienen los sistemas biológicos y los
informáticos?A G A T T 01000001 01000111 01000001 01010100 01010100
| | | | | | | | | |
T C T A A 01010100 01000011 01010100 01000001 01000001
¿Si los sistemas biológicos evolucionan y por qué los
informáticos no?A G A T T 01000001 01000111 01000001 01010100 01010100
| | | | | | | | | |
T C T A A 01010100 01000011 01010100 01000001 01000001
void main()
{
cout << “Hola mundo”;
}
Skynet ()
{
bool MundoDominado = false;
CrearInternet();
MundoDominado = LoDomino();
while(! MundoDominado )
{
CrearRedSocial(3);
CrearSmartPhone(10);
CrearRobots(1000);
CrearReality(10000);
CrearNetflix();
CrearPokemonGO();
MundoDominado = LoDomino();
}
cout << “Adiós mundo”;
}
Y solo hizo falta F^FFFFFFFF generaciones.
¿Qué es un algortimo genético?
Los Algoritmos Genéticos (AGs), son
métodos adaptativos que se basan en el
proceso genético de los organismos vivos.
¿Dónde empezó todo?
Charles Darwin
1859
Alan Turin
1936
John Hollan
1975
Postula los principios de
selección natural y
supervivencia del más apto
Pensó en una máquina
hipotética que podía simular
cualquier algoritmo
Presenta "Adaptation in
Natural and Artificial
Systems“
¿Para qué los algoritmos genéticos?
• Diseño automatizado de equipamiento industrial.
• Construcción de árboles filogenéticos.
• Optimización de carga de contenedores.
• Diseño de topologías de circuitos impresos.
• Aprendizaje de comportamiento de robots.
• Planificación de producción multi-criterio.
• Predicción de estructura de ARN.
• Construcción de horarios en grandes universidades, evitando
conflictos de clases.
• Problema del viajante.
Para resolver problemas de
búsqueda y optimización.
¿Cómo se programan?
BEGIN /* Algoritmo Genético Simple */
Generar una población inicial.
Computar la función de evaluación de cada individuo.
WHILE NOT Terminado DO
BEGIN /* Producir nueva generación */
FOR Tamaño población DO
BEGIN /*Ciclo Reproductivo */
Seleccionar dos individuos de la anterior generación, para el cruce
(probabilidad de selección proporcional a la función de evaluación del individuo).
Cruzar con cierta probabilidad los dos individuos obteniendo dos descendientes.
Mutar los dos descendientes con cierta probabilidad.
Computar la función de evaluación de los dos descendientes mutados.
Insertar los dos descendientes mutados en la nueva generación.
END
IF la población ha convergido THEN
Terminado:= TRUE
END
END
¿Algo de código?
¿Un poco más claro, como se programa?
0) Analizar objetivo y ente
que lo cumplirá
1) Definir las características
2) Crear función objetivo
3) Cruzar y repetir…
¿Para qué?
¿Qué cualidades
se requieren?
¿Cómo sé cuál
es mejor?
4) Mutar para crear héroes
¿Qué cualidades uso
de los mejores?
¿Cómo evito óptimos
que no son lo son
tanto?
Definiendo el cromosoma
A 5 G 0 T 0
B 7 G 0 T 1
H 3 I 2 Z 2
H 3 P 6 W 1
A 5 G 0 T 0
Forma
Material Tipo motor
Combustible Tamaño
Número ventanas
5000
4500
1200
300
5000
Altura alcanzada
Seleccionar los más aptos
A 5 G 0 T 0
B 7 G 0 T 1
5000
4500
A partir de la función objetivo se seleccionan
los individuos más aptos, es decir, que más se
acercan a un valor buscado.
Si el valor es aceptable se termina la
búsqueda.
Seleccionar los más aptos
A 5 G 0 T 0
B 7 G 0 T 1
5000
4500
A 5 G 0 T 1
B 7 G 0 T 0
Mutar para evitar optimos locales
Individuos muy aptos al inicio pueden
llevar a pobre soluciones y estancar el
desarrollo de una especie.B 7 G x T 0
No me rechacen por ser
diferente. 
Voy a hacer todo con algoritmos genéticos
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.
¿Que pasó con el dinosaurio?
https://github.com/ivanseidel/IAMDinosaur?files=1
• Los Algoritmos genéticos pueden ser usados en una amplia variedad de problemas para los cuales no
se tiene una mecanismo especifico o eficiente de resolver.
• Siempre es posible encontrar formas para resolver problemas de índole técnico, ingenieril o científico
viendo las soluciones ya probadas e implementadas por la naturaleza.
• El desarrollo de la computación nos llevará inexorablemente a la creación de "vida artificial“.
Conclusiones
• https://es.wikipedia.org/wiki/Algoritmo_genético
• J. Holland (1975). Adaptation in Natural and Articial Systems, University of Michigan Press, Ann
Arbor.
• http://www.sc.ehu.es/ccwbayes/docencia/mmcc/docs/temageneticos.pdf
Referencias
Preguntas?
ProfesoGavit0@gmail.com
A G A T T 01000001 01000111 01000001 01010100 01010100
| | | | | | | | | |
T C T A A 01010100 01000011 01010100 01000001 010000010
01000111 01100001 01110110 01101001 01110100 00110000

Más contenido relacionado

Similar a Algoritmos Genéticos: la evolución del software

Utp i_ay_se_s10_algoritmo genéticos_
 Utp i_ay_se_s10_algoritmo genéticos_ Utp i_ay_se_s10_algoritmo genéticos_
Utp i_ay_se_s10_algoritmo genéticos_jcbenitezp
 
5 herramienta aprendizaje algoritmos geneticos entorno matlab
5 herramienta aprendizaje algoritmos geneticos entorno matlab5 herramienta aprendizaje algoritmos geneticos entorno matlab
5 herramienta aprendizaje algoritmos geneticos entorno matlabMaje Gonzalez
 
USO DEL SOFTWARE MEGA
USO DEL SOFTWARE MEGAUSO DEL SOFTWARE MEGA
USO DEL SOFTWARE MEGAjudithnancy2
 
Algoritmos geneticos
Algoritmos geneticosAlgoritmos geneticos
Algoritmos geneticosYAn_dy
 
Trabajo algoritmo genetico uba
Trabajo algoritmo genetico uba Trabajo algoritmo genetico uba
Trabajo algoritmo genetico uba yucci2323
 
Algoritmo genetico
Algoritmo geneticoAlgoritmo genetico
Algoritmo geneticoVane Erraez
 
Inteligencia Artificial Clase 5
Inteligencia Artificial Clase 5Inteligencia Artificial Clase 5
Inteligencia Artificial Clase 5UNEFA
 
computacion evolutiva y computacion neuronal
computacion evolutiva y computacion neuronalcomputacion evolutiva y computacion neuronal
computacion evolutiva y computacion neuronalRenzo Marrufo Cabanillas
 
Computación evolutiva
Computación evolutivaComputación evolutiva
Computación evolutivaHugo Banda
 
Algoritmos Genéticos
Algoritmos GenéticosAlgoritmos Genéticos
Algoritmos GenéticosJohnDoe25248
 
Python en biología molecular (UNLUX 2008)
Python en biología molecular (UNLUX 2008)Python en biología molecular (UNLUX 2008)
Python en biología molecular (UNLUX 2008)guestadf0d8
 
Anatomía de un algoritmo genético en jenes
Anatomía de un algoritmo genético en jenesAnatomía de un algoritmo genético en jenes
Anatomía de un algoritmo genético en jenesLuis Dimas Azocar
 
Algoritmos genéticos
Algoritmos genéticosAlgoritmos genéticos
Algoritmos genéticosEducagratis
 

Similar a Algoritmos Genéticos: la evolución del software (20)

Ag (2005 verano)
Ag (2005 verano)Ag (2005 verano)
Ag (2005 verano)
 
Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificial
 
Utp i_ay_se_s10_algoritmo genéticos_
 Utp i_ay_se_s10_algoritmo genéticos_ Utp i_ay_se_s10_algoritmo genéticos_
Utp i_ay_se_s10_algoritmo genéticos_
 
5 herramienta aprendizaje algoritmos geneticos entorno matlab
5 herramienta aprendizaje algoritmos geneticos entorno matlab5 herramienta aprendizaje algoritmos geneticos entorno matlab
5 herramienta aprendizaje algoritmos geneticos entorno matlab
 
Algoritmo Genetico
Algoritmo GeneticoAlgoritmo Genetico
Algoritmo Genetico
 
USO DEL SOFTWARE MEGA
USO DEL SOFTWARE MEGAUSO DEL SOFTWARE MEGA
USO DEL SOFTWARE MEGA
 
Algoritmos geneticos
Algoritmos geneticosAlgoritmos geneticos
Algoritmos geneticos
 
Trabajo algoritmo genetico uba
Trabajo algoritmo genetico uba Trabajo algoritmo genetico uba
Trabajo algoritmo genetico uba
 
Algoritmo genetico
Algoritmo geneticoAlgoritmo genetico
Algoritmo genetico
 
Agente inteligente
Agente inteligenteAgente inteligente
Agente inteligente
 
Inteligencia Artificial Clase 5
Inteligencia Artificial Clase 5Inteligencia Artificial Clase 5
Inteligencia Artificial Clase 5
 
computacion evolutiva y computacion neuronal
computacion evolutiva y computacion neuronalcomputacion evolutiva y computacion neuronal
computacion evolutiva y computacion neuronal
 
020 algoritmos2
020 algoritmos2020 algoritmos2
020 algoritmos2
 
Computación evolutiva
Computación evolutivaComputación evolutiva
Computación evolutiva
 
ALGORITMOS GENÉTICOS.pdf
ALGORITMOS GENÉTICOS.pdfALGORITMOS GENÉTICOS.pdf
ALGORITMOS GENÉTICOS.pdf
 
Algoritmos Genéticos
Algoritmos GenéticosAlgoritmos Genéticos
Algoritmos Genéticos
 
Python en biología molecular (UNLUX 2008)
Python en biología molecular (UNLUX 2008)Python en biología molecular (UNLUX 2008)
Python en biología molecular (UNLUX 2008)
 
Anatomía de un algoritmo genético en jenes
Anatomía de un algoritmo genético en jenesAnatomía de un algoritmo genético en jenes
Anatomía de un algoritmo genético en jenes
 
Algoritmos genéticos
Algoritmos genéticosAlgoritmos genéticos
Algoritmos genéticos
 
Algoritmo Genético
Algoritmo GenéticoAlgoritmo Genético
Algoritmo Genético
 

Último

El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 

Último (20)

El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 

Algoritmos Genéticos: la evolución del software

  • 1. Algoritmos Genéticos La evolución del software Mg. Ing. Gabriel Rojas Datos de contacto ProfesorGavit0@gmail.com lgabrielrojas@ucundinamarca.edu.co https://ProfesorGavit0.blogspot.com Universidad de Cundinamarca Facultad de ingeniería Ingeniería de sistemas Sede: Chía – 2017 www.unicundi.edu.co This file is free to use under Creative Commons Attribution license. El presente documento presenta una vista general al uso de los conceptos genéticos de la biología, como modelo de desarrollo de soluciones de software. Cualquier persona puede usar este documento de forma completamete libre aunque se agradece mencionar al autor.
  • 2. Los Algoritmos Genéticos son un tipo de software que se basa en los principios que se conocen sobre cómo la naturaleza transmite las cualidades de los individuos a su descendencia, para lograr que dichas cualidades se preserven, pues ellas hacen que el individuo sea viable y apto para lograr el principal objetivo de la vida: “Seguir viviendo”. En caso del software el objetivo será el que desee el programador, y el Algoritmo Genético se encargará de ello, al igual que lo hace la naturaleza. Resumen
  • 3. ¿Qué es la genética? Es el área de estudio de la biología que busca comprender y explicar cómo se transmite la herencia biológica de generación en generación.
  • 4. ¿Dónde empezó todo? Gregor Mendel 1866 George Beadle 1945 Watson y Crick 1953 Propone “factores” (gen), como responsable de la transmisión de características Postula el concepto moderno del gen como mínima unidad funcional Presentan la estructura de la molécula de ADN
  • 5. ¿Qué es un gen? Es la mínima unidad de almacenamiento de información genética, para describir cómo deben funcionar la células. Se encuentran en los cromosomas.
  • 6. ¿Qué relación tienen la genética y la computación? Unir entidades simples (0 y 1) de forma organizada para representar información ya lo hacia la naturaleza antes de los computadores. Byte Gen De la misma forma en que Turing concibió una máquina de procesamiento, el núcleo de la célula genera proteínas leyendo los datos que tienen los Genes. A G A T T 01000001 01000111 01000001 01010100 01010100 | | | | | | | | | | T C T A A 01010100 01000011 01010100 01000001 01000001
  • 7. Un ser vivo es lo que sus genes definan de él. Cada gen tiene una posición dentro de una larga cadena (cromosoma). Un sistema de información es un conjunto de estructuras ordenadas de forma lógica. Cada estructura es por si misma una larga cadena de ceros y unos. ¿Qué relación tienen los sistemas biológicos y los informáticos?A G A T T 01000001 01000111 01000001 01010100 01010100 | | | | | | | | | | T C T A A 01010100 01000011 01010100 01000001 01000001
  • 8. ¿Si los sistemas biológicos evolucionan y por qué los informáticos no?A G A T T 01000001 01000111 01000001 01010100 01010100 | | | | | | | | | | T C T A A 01010100 01000011 01010100 01000001 01000001 void main() { cout << “Hola mundo”; } Skynet () { bool MundoDominado = false; CrearInternet(); MundoDominado = LoDomino(); while(! MundoDominado ) { CrearRedSocial(3); CrearSmartPhone(10); CrearRobots(1000); CrearReality(10000); CrearNetflix(); CrearPokemonGO(); MundoDominado = LoDomino(); } cout << “Adiós mundo”; } Y solo hizo falta F^FFFFFFFF generaciones.
  • 9. ¿Qué es un algortimo genético? Los Algoritmos Genéticos (AGs), son métodos adaptativos que se basan en el proceso genético de los organismos vivos.
  • 10. ¿Dónde empezó todo? Charles Darwin 1859 Alan Turin 1936 John Hollan 1975 Postula los principios de selección natural y supervivencia del más apto Pensó en una máquina hipotética que podía simular cualquier algoritmo Presenta "Adaptation in Natural and Artificial Systems“
  • 11. ¿Para qué los algoritmos genéticos? • Diseño automatizado de equipamiento industrial. • Construcción de árboles filogenéticos. • Optimización de carga de contenedores. • Diseño de topologías de circuitos impresos. • Aprendizaje de comportamiento de robots. • Planificación de producción multi-criterio. • Predicción de estructura de ARN. • Construcción de horarios en grandes universidades, evitando conflictos de clases. • Problema del viajante. Para resolver problemas de búsqueda y optimización.
  • 12. ¿Cómo se programan? BEGIN /* Algoritmo Genético Simple */ Generar una población inicial. Computar la función de evaluación de cada individuo. WHILE NOT Terminado DO BEGIN /* Producir nueva generación */ FOR Tamaño población DO BEGIN /*Ciclo Reproductivo */ Seleccionar dos individuos de la anterior generación, para el cruce (probabilidad de selección proporcional a la función de evaluación del individuo). Cruzar con cierta probabilidad los dos individuos obteniendo dos descendientes. Mutar los dos descendientes con cierta probabilidad. Computar la función de evaluación de los dos descendientes mutados. Insertar los dos descendientes mutados en la nueva generación. END IF la población ha convergido THEN Terminado:= TRUE END END
  • 14. ¿Un poco más claro, como se programa? 0) Analizar objetivo y ente que lo cumplirá 1) Definir las características 2) Crear función objetivo 3) Cruzar y repetir… ¿Para qué? ¿Qué cualidades se requieren? ¿Cómo sé cuál es mejor? 4) Mutar para crear héroes ¿Qué cualidades uso de los mejores? ¿Cómo evito óptimos que no son lo son tanto?
  • 15. Definiendo el cromosoma A 5 G 0 T 0 B 7 G 0 T 1 H 3 I 2 Z 2 H 3 P 6 W 1 A 5 G 0 T 0 Forma Material Tipo motor Combustible Tamaño Número ventanas 5000 4500 1200 300 5000 Altura alcanzada
  • 16. Seleccionar los más aptos A 5 G 0 T 0 B 7 G 0 T 1 5000 4500 A partir de la función objetivo se seleccionan los individuos más aptos, es decir, que más se acercan a un valor buscado. Si el valor es aceptable se termina la búsqueda.
  • 17. Seleccionar los más aptos A 5 G 0 T 0 B 7 G 0 T 1 5000 4500 A 5 G 0 T 1 B 7 G 0 T 0
  • 18. Mutar para evitar optimos locales Individuos muy aptos al inicio pueden llevar a pobre soluciones y estancar el desarrollo de una especie.B 7 G x T 0 No me rechacen por ser diferente. 
  • 19. Voy a hacer todo con algoritmos genéticos 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.
  • 20. ¿Que pasó con el dinosaurio? https://github.com/ivanseidel/IAMDinosaur?files=1
  • 21. • Los Algoritmos genéticos pueden ser usados en una amplia variedad de problemas para los cuales no se tiene una mecanismo especifico o eficiente de resolver. • Siempre es posible encontrar formas para resolver problemas de índole técnico, ingenieril o científico viendo las soluciones ya probadas e implementadas por la naturaleza. • El desarrollo de la computación nos llevará inexorablemente a la creación de "vida artificial“. Conclusiones
  • 22. • https://es.wikipedia.org/wiki/Algoritmo_genético • J. Holland (1975). Adaptation in Natural and Articial Systems, University of Michigan Press, Ann Arbor. • http://www.sc.ehu.es/ccwbayes/docencia/mmcc/docs/temageneticos.pdf Referencias
  • 23. Preguntas? ProfesoGavit0@gmail.com A G A T T 01000001 01000111 01000001 01010100 01010100 | | | | | | | | | | T C T A A 01010100 01000011 01010100 01000001 010000010 01000111 01100001 01110110 01101001 01110100 00110000