sábado, 21 de octubre de 2017

Algoritmos genéticos artificiales

Algoritmos genéticos artificiales
Los Algoritmos Genéticos son algoritmos de optimización, búsqueda y aprendizaje inspirados en los procesos de Evolución Natural y Evolución Genética 

hacer clic aqui para ver el video: https://www.youtube.com/watch?v=E35W-ghz1aw

En la naturaleza, los procesos evolutivos ocurren cuando se satisfacen las siguientes condiciones: Una entidad o individuo tiene la habilidad de reproducirse
Hay una población de tales individuos que son capaces de reproducirse
Existe alguna variedad, diferencia, entre los individuos que se reproducen

Existen cuatro paradigmas básicos: Algoritmos Genéticos que utilizan operadores genéticos sobre cromosomas Estrategias de Evolución que enfatizan los cambios de comportamiento al nivel de los individuos Programación Evolutiva que enfatizan los cambios de comportamiento al nivel de las especies Programación Genética que evoluciona expresiones representadas como árboles Existen otros modelos de evolución de poblaciones

Los algoritmos genéticos son métodos que se usan para resolver problemas de búsqueda y optimización, se basan en el proceso genético de los organismos vivos como los animales y las plantas, teniendo en cuenta cómo evolucionan estos seres de acuerdo a procesos como la selección natural o la supervivencia del más fuerte, se crearon estos algoritmos que tratan de imitar estos procesos para solucionar problemas del mundo real, es decir que estos algoritmos al igual que los seres vivos buscan evolucionar para ofrecer soluciones cada vez más optimas aunque esto depende en gran medida de la estructura de la codificación que estas tengan.



Como se mencionó anteriormente el campo de acción de estos algoritmos esta en los problemas de optimización, rama en la cual han sido muy eficientes y confiables, aunque estos algoritmos no necesariamente siempre son la mejor solución para TODOS LOS PROBLEMAS DE ESTA CATEGORIA, por lo cual se debe tener en cuenta características como las siguientes:
·  Hay que tener un rango delimitado del tamaño del problema
·  Se debe definir un método para identificar la calidad de las soluciones en cuanto a buenas o malas
¿Cómo operan estos algoritmos?
Los algoritmos genéticos (AG) funcionan entre el conjunto de soluciones de un problema llamado fenotipo, y el conjunto de individuos de una población natural, codificando la información de cada solución en una cadena, generalmente binaria, llamada cromosoma. Los símbolos que forman la cadena son llamados genes. Cuando la representación de los cromosomas se hace con cadenas de dígitos binarios se le conoce como genotipo. Los cromosomas evolucionan a través de iteraciones, llamadas generaciones. En cada generación, los cromosomas son evaluados usando alguna medida de aptitud.

Las siguientes generaciones (nuevos cromosomas), son generadas aplicando los operadores genéticos repetidamente, siendo estos los operadores de selección, cruzamiento, mutación y reemplazo.


(Wikipedia, 2017)
Ejemplos de software
·  Evolver: optimiza mediante algoritmos genéticos, procesos de Microsoft Excel
Página oficial: http://www.palisade-lta.com/evolver/
·  Matlab
Página oficial: https://es.mathworks.com/discovery/genetic-algorithm.html

Referencias  
https://es.slideshare.net/mentelibre/10-diseo-con-algoritmos-genticos 
http://nando1-utb.blogspot.com.co/p/algoritmos-geneticos.html

Logica de predicados

Lógica proposicional 



 

·  Formaliza en lógica proposicional y estudia la validez lógica de la siguiente argumentación, esto es, si la conclusión es consecuencia lógica de la conjunción de las premisas:
Si Dios no existe y está todo permitido, entonces vamos inexorablemente hacia el caos. Dios no existe. No vamos hacia el caos. Luego, no todo está permitido”
P: Dios existe
Q: Todo está permitido
R: vamos hacia el caos
1.  Si Dios no existe y está todo permitido entonces vamos inexorablemente hacia el caos
¬P ∧ Q  à R
2.  Dios no existe
¬P
3.  No vamos hacia el caos
¬R
4.  No todo está permitido
¬Q
·  Formaliza los siguientes hechos:
Utilizaremos la siguiente simbología
F(x): Esta feliz
V(x): Es verde
P(x): x puede volar
H(x, y): x es hijo de y
A.  Todo dragón está feliz si todos sus hijos pueden volar
∀x (P(x) ∧ H (x, dragón) à F (dragón))
B.  Los dragones verdes pueden volar
 (V (dragón) à P (dragón))
C.  Un dragón es verde si es hijo de al menos un dragón verde
∀x (H(x, dragón) ∧ V (dragón) à V(x))
D.  Todos los dragones verdes son felices
∀x (V (dragón) à F (dragón))
·  Formaliza lo siguiente
Los lobos, zorros, pájaros, orugas y caracoles son animales y existen algunos ejemplares de estos animales. También hay algunas semillas y las semillas son plantas. A todo animal le gusta o bien comer todo tipo de plantas o bien le gusta comerse a todos los animales más pequeños que él mismo que gustan de comer algunas plantas. Las orugas y los caracoles son mucho más pequeños que los pájaros, que son mucho más pequeños que los zorros que a su vez son mucho más pequeños que los lobos. A los lobos no les gusta comer ni zorros ni semillas, mientras que a los pájaros les gusta comer orugas pero no caracoles. Las orugas y los caracoles gustan de comer algunas plantas. Luego, existe un animal al que le gusta comerse un animal al que le gusta comer semillas.
Definimos lo siguiente:
A(x)  para x es un animal
  Ca(x)  para x es un caracol
  Co(x,y) para x le gusta comerse a y
  L(x)  para x es un lobo
  M(x,y)  para x es más pequeño que y
  Or(x)  para x es una oruga
  Pa(x)  para x es un pájaro
  Pl(x)  para x es una planta
  S(x)  para x es una semilla
  Z(x)  para x es un zorro
1.  Los lobos, zorros, pájaros, orugas y caracoles son animales y existen algunos ejemplares de estos animales.
A (lobos) ∧ A (zorros) ∧ A (pájaros) ∧ A (orugas) ∧ A (caracoles)
2.  También hay algunas semillas y las semillas son plantas
∃x (S(x) à Pl(x))
3.  A todo animal le gusta o bien comer todo tipo de plantas o bien le gusta comerse a todos los animales más pequeños que el mismo que gustan de comer algunas plantas.
∀x (A(x) à Co(x, planta) V M (animal, x) ∧ Co (animal, planta) à Co(x, animal))
4.  Las orugas y los caracoles son mucho más pequeños que los pájaros, que son mucho más pequeños que los zorros que a su vez son mucho más pequeños que los lobos.
A (oruga) V A (caracol) à M(A, pájaro)
A (pájaro) à M(A, zorro)
A (zorro) à M(A, lobos)
5.  A los lobos no les gusta comer ni zorros ni semillas, mientras que a los pájaros les gusta comer orugas pero no caracoles
A (lobo)à  ¬Co (lobo, zorros) ∧ ¬Co (lobo, semillas)
A (pájaro) à Co (pájaro, orugas) ∧¬Co (pájaro, caracoles)
6.  Las orugas y los caracoles gustas de comer algunas plantas
A (oruga) V A (caracol) à Co(A, platas)

Referencias
http://www.matetam.com/glosario/definicion/logica-predicados
https://es.slideshare.net/rober_09/logica-de-predicado

Frames

Frames
Un marco (frame, en inglés) es una estructura de datos que posibilita “hablarle” al computador e incluye conocimiento sobre un objeto en particular. Tal conocimiento se organiza y con unos métodos para almacenamiento y recuperación de conocimiento permite un diagnóstico independiente del conocimiento, e incluso permite la combinación con la lógica de predicados para generar un razonamiento; llega así a crear un motor de inferencia sobre el conocimiento y además permite realizar construcciones jerárquicas basadas en la herencia.



1.  Ventaja de usar frames para representar el conocimiento
Existen varias ventajas para usar frames para representar el conocimiento, por ejemplo al usar frames podemos describir con mucho más detalle cada concepto y atributo de la red semántica, creando relaciones jerárquicas basadas en la herencia. Esto es algo muy parecido a la programación orientada a objetos que es un concepto casi universal que manejan absolutamente todos los programadores que existen actualmente, por lo cual la representación por medio de frames se asume que es muy fácil de entender.
2.  Si usted fuera productor de desarrollos en IA, cual(es) formas de representación del conocimiento implementaría. Razone su respuesta. Tenga en cuenta que casi ninguna forma de representación del conocimiento viene implementada, sola en las herramientas comerciales.
Yo implementaría personalmente las redes semánticas, ya que estos son fáciles de construir y de leer, para mi algo que debe ser primordial al representar el conocimiento es la representación de forma asequible para cualquier persona, y esto es algo que las redes semánticas proporcionan ya que de manera sencilla nos muestran entidades y su relación de forma fácil y clara.
3.  Represente el siguiente conocimiento mediante el uso de frames
El computador es una máquina que realiza proceso simbólico y numérico y cuya característica principal es su gran velocidad de operación y exactitud. Sus componentes principales son: CPU y dispositivos de E/S. El computador Texas instrument soporta un ambiente multiusuario baso so Unix. Las estaciones de trabajo SUN son computadores que permiten desarrollos multiusuario y con un coste bajo ambiente UNIX y con herramientas de cuarta generación.


FRAME COMPUTADOR


Es
Una maquina
Función
Procesar símbolos a gran velocidad y con exactitud.
Apuntador
tiene->  MEMORIA,CPU, DISPOSITIVOS DE E/S


FRAME MEMORIA


Es                                                                                     
un circuito                                                        
Material
silicio
Función
almacenar datos
Apuntador
está en COMPUTADOR, usado por CPU

 FRAME CPU


Es
un circuito                                      
Material
silicio
Función
procesar instrucciones a alta velocidad.
Apuntador
está en COMPUTADOR, intercambia datos con MEMORIA

FRAME  DISPOSITIVOS E/S


Es
hardware
Material
metal, plástico, cobre
Función
recibir información, mostrar información
Apuntador
está en COMPUTADOR, intercambia datos con MEMORIA, controlado por SO



FRAME SO



Es
software
Material
instrucciones, variables, datos.
Función
controlar ejecución de programas
Apuntador
usado por COMPUTADOR, intercambia datos con MEMORIA, envía procesos a CPU, controla DISPOSITIVOS DE E/S, controla uso de MEMORIA



FRAME SO UNIX

Subclase deSO
FRAME MAINFRAME


Subclase de
Computador, SO UNIX
Servicio:
ambiente multiusuario
Tipo de herramienta
cuarta generación




FRAME MAINFRAME ECONOMICO



 
Subclase de
FRAME MAINFRAME
Costo:
bajo

FRAME MAINFRAME COSTOSO


Subclase de
FRAME MAINFRAME
Costo:
Alto



FRAME COMPUTADOR TEXAS INSTRUMENTS SP1300
 
Subclase de
Comutador, SO UNIX, MAINFRAME ECONOMICO


FRAME ESTACION DE TRABAJO SUN

Subclase deComutador, MAINFRAME COSTOSO
4.  Represente el siguiente conocimiento
4.  Los vegetales son seres vivos que carecen de movimiento y tienen ciclo de vida completo (nacen, crecen, se reproducen y mueren.
·  El grupo de las fanerógamas son vegetales con órganos reproductores visibles.
·  El grupo de los criptogramas son vegetales con órganos reproductores ocultos.
·  Las divisiones de las gimnospermas son fanerógamas con semillas sin envoltura.
·  La clase de las coníferas agrupan a las que producen conos y están entre las gimnospermas.
·  La familia de las taxáceas reúne a aquellas en las cuales el tronco no produce resina y el fruto es carnoso. Son de la clase de las coníferas.
·  La familia de las pináceas reúne aquellas en las cuales el tronco produce resina y el fruto es un cono. Es de la clase de las coníferas.
·  La división de las angiospermas reúne a las plantas que poseen semilla con envoltura.
·  La clase de las monocotiledóneas son aquellas cuya semilla tienen 1 cotiledón y la clase de las dicotiledóneas son aquellas con 2 cotiledones. y pertenecen a las angiospermas.
·  La familia de las amarilidáceas reúne a las de hojas carnosas, las liliáceas a las de hojas planas y las gramíneas a las de hojas alargadas. todas son monocotiledóneas.

FRAME VEGETAL



Tipo de ser
Vivo
Movimiento
No
Ciclo de vida
Completo



 FRAME FANEROGAMAS


Subclase de
Vegetal
Órganos
Si



FRAME FANEROAMAS ORGANOS OCULTOS



Subclase de
Fanerogamas
Tipos de órganos
Reproductores ocultos



FRAME FANEROAMAS ORGANOS VISIBLES

Subclase de
Fanerogamas
Tipos de órganos
Reproductores visibles



 FRAME CRIPTOGAMAS

Subclase deFanerogamas órganos ocultos


FRAME GIMNOSPERMAS



Subclase de
Fanerogamas
Semilla
Si
Tipo de semilla
Sin envoltura


FRAME CONIFERAS

Suclase de
Gimnospermas
Tipo de fruto
Carnoso


FRAME CONIFERAS PRODUCTOR

Subclase de
Coniferas
Tipo de tronco
Productor de resina



FRAME TAXACEAS
Subclase deConiferas no productor



FRAME PINACEAS
Subclase deConiferas



FRAME ANGIOSPERMA

Subclase de
Fanerogamas
Semilla
Si
Tipo de semilla
Con envoltura


FRAME DICOTILEDONEAS

Subclase de
Angiosperma
Cantidad semillas
2 cotiledón



FRAME MONOCOTILEDONEAS

Subclase de
Angiosperma
Cantidad semillas
1 cotiledón


FRAME DICOTILEDONEAS

 
Subclase de
Angiosperma
Cantidad semillas
2 cotiledón



FRAME AMARILIDACEAS


Subclase de
Monocotiledoneas
Hojas
Si
Tipo de hoja
Carnosa



FRAME LILIACEAS


Subclase de
Monocotiledoneas
Hojas
Si
Tipo de hoja
Plana


FRAME GRAMINEAS




Subclase de
Monocotiledoneas
Hojas
Si
Tipo de hoja
Alargada

Referencias


http://personales.upv.es/ccarrasc/extdoc/tema_redes_frames.pdf

https://freedoomforlife.wordpress.com/marcos-frames/









































Algoritmo MiniMax

MINIMAX Este algoritmo de decisión se utiliza para minimizar la pérdida máxima aplicada en juegos entre adversarios. La Información es com...