Algoritmos Generitos

31
Universidad Autónoma de Sinaloa Facultad de Ingeniería Mochis Materia: Inteligencia Artificial Maestra: Rocío Jacqueline Becerra Urquídez Equipo #2: Castro Haro Luis Fernando Carrazco Flores Israel Los Mochis, Sinaloa 6 de Mayo del 2015

description

Presentacion de algoritmos geneticos

Transcript of Algoritmos Generitos

Universidad Autnoma de Sinaloa Facultad de Ingeniera Mochis Materia: Inteligencia Artificial Maestra: Roco Jacqueline Becerra Urqudez Equipo #2: Castro Haro Luis Fernando Carrazco Flores Israel Los Mochis, Sinaloa 6 de Mayo del 2015

Universidad Autnoma de SinaloaFacultad de Ingeniera Mochis

Materia:Inteligencia Artificial

Maestra:Roco Jacqueline Becerra Urqudez

Equipo #2:Castro Haro Luis FernandoCarrazco Flores Israel

Los Mochis, Sinaloa 6 de Mayo del 2015Temas.-Algoritmos Genticos&IA & Educacin

Introduccin.-- Antecedentes.-El algoritmo genetico es una tecnica de busqueda basada en la teoria de la evolucion de Darwin, que ha cobrado tremenda popularidad en todo el mundo durante los ultimos anos. Se presentaran aqui los conceptos basicos que se requieren para abordarla, asi como unos sencillos ejemplos que permitan a los lectores comprender como aplicarla al problema de su eleccion.En los ultimos anos, la comunidad cientifica internacional ha mostrado un creciente interes en una nueva tecnica de busqueda basada en la teoria de la evolucion y que se conoce como el algoritmo genetico. Esta tecnica se basa en los mecanismos de seleccion que utiliza la naturaleza, de acuerdo a los cuales los individuos mas aptos de una poblacion son los que sobreviven, al adaptarse mas facilmente a los cambios que se producen en su entorno.

Hoy en dia se sabe que estos cambios se efectuan en los genes de un individuo (unidad basica de codificacion de cada uno de los atributos de un ser vivo), y que sus atributos mas deseables (i.e., los que le permiten adaptarse mejor a su entorno) se transmiten a sus descendientes cuando este se reproduce sexualmente.

Una definicion bastante completa de un algoritmo genetico es la propuesta por John Koza:

"Es un algoritmo matematico altamente paralelo que transforma un conjunto de objetos matematicos individuales con respecto al tiempo usando operaciones modeladas de acuerdo al principio Darwiniano de reproduccion y supervivencia del mas apto, y tras haberse presentado de forma natural una serie de operaciones geneticas de entre las que destaca la recombinacion sexual. Cada uno de estos objetos matematicos suele ser una cadena de caracteres (letras o numeros) de longitud fija que se ajusta al modelo de las cadenas de cromosomas, y se les asocia con una cierta funcion matematica que refleja su aptitud. "

Definicin.-Los Algoritmos Geneticos (AGs) son metodos adaptativos que pueden usarse para resolver problemas de busqueda y optimizacion. Estan basados en el proceso genetico de los organismos vivos. A lo largo de las generaciones, las poblaciones evolucionan en la naturaleza de acorde con los principios de la seleccion natural y la supervivencia de los mas fuertes, postulados por Darwin. Por imitacion de este proceso, los Algoritmos Geneticos son capaces de ir creando soluciones para problemas del mundo real. La evolucion de dichas soluciones hacia valores optimos del problema depende en buena medida de una adecuada codificacion de las mismas. Un algoritmo genetico consiste en una funcion matematica 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 generacion.

Problemtica.-Los principios basicos de los Algoritmos Geneticos fueron establecidos por Holland, y se encuentran bien descritos en varios textos . Goldberg, Davis, Michalewicz, Reeves. En la naturaleza los individuos de una poblacion compiten entre si en la busqueda de recursos tales como comida, agua y refugio. Incluso los miembros de una misma especie compiten a menudo en la busqueda de un companero. Aquellos individuos que tienen mas exito en sobrevivir y en atraer companeros tienen mayor probabilidad de generar un gran numero de descendientes.

Ventajas y Desventajas.-No necesitan conocimientos especificos sobre el problema que intentan resolver. Operan de forma simultanea con varias soluciones, en vez de trabajar de forma secuencial como las tecnicas tradicionales.Cuando se usan para problemas de optimizacion maximizar una funcion objetivo- resultan menos afectados por los maximos locales (falsas soluciones) que las tecnicas tradicionales. Resulta sumamente facil ejecutarlos en las modernas arquitecturas masivamente paralelas. Usan operadores probabilisticos, en vez de los tipicos operadores deterministicos de las otras tecnicas.Pueden tardar mucho en converger, o no converger en absoluto, dependiendo en cierta medida de los parametros que se utilicen tamano de la poblacion, numero de generaciones, etc.-. Pueden converger prematuramente debido a una serie de problemas de diversa indole.

Limitaciones.-El poder de los Algoritmos Geneticos proviene del hecho de que se trata de una tecnica robusta, y pueden tratar con exito una gran variedad de problemas provenientes de diferentes areas, incluyendo aquellos en los que otros metodos encuentran dificultades. Si bien no se garantiza que el Algoritmo Genetico encuentre la solucion optima, del problema, existe evidencia empirica de que se encuentran soluciones de un nivel aceptable, en un tiempo competitivo con el resto de algoritmos de optimizacion combinatoria. En el caso de que existan tecnicas especializadas para resolver un determinado problema, lo mas probable es que superen al Algoritmo Genetico, tanto en rapidez como en eficacia. Como saber si es posible usar un Algoritmo Gentico.-La aplicacion mas comun de los algoritmos geneticos ha sido la solucion de problemas de optimizacion, en donde han mostrado ser muy eficientes y confiables. Sin embargo, no todos los problemas pudieran ser apropiados para la tecnica, y se recomienda en general tomar en cuenta las siguientes caracteristicas del mismo antes de intentar usarla: Su espacio de busqueda (i.e., sus posibles soluciones) debe estar delimitado dentro de un cierto rango.Debe poderse definir una funcion de aptitud que nos indique que tan buena o mala es una cierta respuesta.Las soluciones deben codificarse de una forma que resulte relativamente facil de implementar en la computadora.

Marco de desarrollo.-El termino Computacion Evolutiva se refiere al estudio de los fundamentos y aplicaciones de ciertas tecnicas heuristicas de busqueda basadas en los principios naturales de la evolucion. Una gran variedad de algoritmos evolutivos han sido propuestos pero principalmente pueden clasificarse en: Algoritmos Geneticos, Programacion Evolutiva, Estrategias Evolutivas, Sistemas Clasificadores y Programacion Genetica. Esta clasificacion se basa sobre todo en detalles de desarrollo historico mas que en el hecho de un funcionamiento realmente diferente, de hecho las bases biologicas en las que se apoyan son esencialmente las mismas. Las diferencias entre ellos se centra en los operadores que se usan en cada caso y en general en la forma de implementar la seleccion, reproduccion y sustitucion de individuos en una poblacion.

Algoritmos Geneticos y Redes Neuronales Una red neuronal es el intento de poder realizar una simulacion computacional del comportamiento de partes del cerebro humano mediante la replica en pequena escala de los patrones que este desempena para la formacion de resultados a partir de los sucesos percibidos. El cerebro consta de unidades llamadas neuronas, las cuales estan conectadas entre si formando una red (de ahi la denominacion " red neuronal ") Concretamente, se trata de poder analizar y reproducir el mecanismo de aprendizaje de sucesos que poseen los animales mas evolucionados. La red simula grupos de neuronas , llamados " capas " las cuales estan relacionadas unas con otras. Los datos se introducen en la primera capa , llamada "capa de entradas" Cada capa transfiere la informacion a sus vecinas., teniendo un peso o ponderacion para los valores , lo que va modificando los mismos en su paso a traves de la red.

Teora de DarwinSeleccin naturalComputadoras que aprendan por si mismas desarrollado por Holland en los 60s se le llamo Planes reproductivosMtodos adaptivosSupervivencia del ms fuerteUn algoritmo genetico consiste en una funcion matematica En la naturaleza los individuos de una poblacion compiten entre si en la busqueda de recursos tales como comida, agua y refugio. Si el Algoritmo Genetico ha sido bien disenado, la, poblacion convergera hacia una solucion optima del problema. Si bien no se garantiza que el Algoritmo Genetico encuentre la solucion optima Computacion Evolutiva.

El termino Computacion Evolutiva se refiere al estudio de los fundamentos y aplicaciones de ciertas tecnicas heuristicas de busqueda basadas en los principios naturales de la evolucion. Una gran variedad de algoritmos evolutivos han sido propuestos pero principalmente pueden clasificarse en: Algoritmos Geneticos, Programacion Evolutiva, Estrategias Evolutivas, Sistemas Clasificadores y Programacion Genetica.

Segundo Tema.-Ao 6 Vol I

IA & EducacinJuegos educativos Los juegos educativos, o tambien llamados juegos serios, estan disenados con el objeto de ayudar a los jugadores a aprender sobre cierta materia, estrategias para resolucion de problemas o habilidades cognitivas y sociales. Esto es, en lu- gar de aprender mediante libros, clases o programas basados en computadora, el estudiante interactua con un videojuego que integra los temas de la materia del juego con el juego mismo (Graesser, 2009). Uno de los beneficios de los juegos serios es que permiten a los estudiantes observar, explorar, recrear, manipular variables y recibir retroalimentacion in- mediata acerca de los objetos y eventos; ya que en una inter- accion real estas actividades tomarian mucho tiempo, serian costosas o peligrosas.

El diseno y desarrollo, asi como las pruebas de los jue- gos serios estan en evolucion por lo que existen pocas fuentes empiricas que hablen sobre su impacto en las reacciones y en el aprendizaje del jugador. De manera ideal, la reaccion del estudiante hacia el juego aumentaria el deleite, el interes en el tema, y la experiencia de flujo (Csikszentmihaly, 1960). El flujo es un estado mental que se experimenta cuando el estu- diante esta concentrado profundamente, de tal manera que el tiempo y la fatiga desaparecen. El compromiso y la concen- tracion en el juego facilitan el aprendizaje, siempre y cuando la atencion se centre en los temas de la materia y no en los componentes externos del juego (Graesser, 2009).

A pesar de que aun existe poco consenso en la investiga- cion y desarrollo de los juegos serios, hay un avance sustancial en terminos de sintesis de los diferentes tipos de juegos y en la investigacion de sus resultados de aprendizaje. En (Connolly et al., 2012) se presenta una investigacion sobre el efecto de los juegos educativos en el aprendizaje en donde se encontro un impacto positivo en la adquisicion de conocimientos, en la comprension del contenido y la motivacion.

Muchos juegos estan incrustados en una historia narra- tiva con personajes, un escenario, un conflicto, episodios de accion de los jugadores y resultados. En un juego basado en narrativa, la historia se construye de forma interactiva entre el jugador y el juego, y el jugador puede experimentar cien- tos de historias de juego y no solo una secuencia de episodios. La narrativa tiene un papel importante en el sistema cogni- tivo, ya que se comprende mas rapido y se recuerda mejor en comparacion con otros generos (Graesser y Ottati, 1995).

Crystal island: uncharted discovery es un ambiente de aprendizaje basado en juegos para la ensenanza de las cien- cias. Se trata de un ambiente de aprendizaje de accion y aventura que integra elementos de juegos de aventura (una historia interesante, un gran elenco de personajes, exploracion y la resolucion de problemas situacionales) con elementos de juegos de accion (presion de tiempo, obtencion de energia y recoleccion de objetos).

La medicina es un area evidente para disenar y probar los juegos serios, ya que se pueden construir entornos de aprendi- zaje que no se podrian lograr en el mundo real. Triage Trainer es un ambiente educativo que permite a los estudiantes ju- gar en un escenario de un incidente mayor. Los estudiantes practican y experimentan el proceso triage en un escenario de entrenamiento donde una bomba acaba de estallar en una

calle concurrida; la escena muestra la destruccion y las victi- mas. Se informa al estudiante, quien es la primera persona en llegar al lugar, que es seguro entrar en el escenario, y se le so- licita etiquetar a cada victima con la prioridad adecuada. El jugador puede evaluar el estado de la victima haciendo clic en los iconos y asi llevar a cabo los controles medicos adecuados, ver Figura 2 (Knight et al., 2010).

Los juegos educativos tienen la posibilidad de apoyar a los estudiantes y a los educadores para ver e interactuar con las representaciones de los fenomenos y eventos y asi facilitar el desarrollo de sus explicaciones sobre estos fenomenos. De acuerdo con Graesser (2009), el principal reto de los juegos educativos es encontrar la manera de facilitar el aprendizaje profundo. Los juegos serios es un area de investigacion que promete un impacto positivo en el aprendizaje de temas di- ficiles, ya que este se convierte en una experiencia agradable para el jugador.

Bibliografia.-"Aplicaciones de la Computacion Evolutiva" http://www.geocities.com/SiliconValley/7491/aplce_c.htm "Evaluacion del comportamiento de los Algoritmos Geneticos" http://eddyalfaro.galeon.com/geneticos.html 35/37 6/5/2015 Algoritmos Geneticos http://www.geocities.com/SiliconValley/9802/3d5ca400.htm "Introduccion a la vida artificial" http://icgeocities.com/CapeCanaveral/8104/ivan.htm "Construccion de bases de conocimiento con Computacion Evolutiva" http://www.fciencias.unam.mx/revista/soluciones/N17/Vlad1.html "Introduccion a los algoritmos geneticos" http://www.fciencias.unam.mx/revista/soluciones/Coello2.html