UNIVERSIDAD POLITE´CNICA DE MADRID ESCUELA TE´CNICA SUPERIOR DE INGENIER´IA DE SISTEMAS INFORMA´TICOS Ma´ster Universitario en Ciencias y Tecnolog´ıas de la Computacio´n Proyecto Fin de Ma´ster Inteligencia Artificial y Soft Computing Teor´ıa y Aplicaciones Autor: Tutor: Alberto D´ıaz A´lvarez Fracisco Serradilla Garc´ıa Marzo de 2014 Resumen El Soft Computing es la rama incluida dentro del campo de la Inteligencia Artificial que estudia la aproximacio´n subsimbo´lica del conocimiento. En ´esta, los esfuerzos se centran en la simulacio´n de los elementos de bajo nivel de los comportamientos inteligentes, esperando que ´estos surjan de forma esponta´nea. En ella se hace uso de un conjunto en constante evolucio´n de t´ecnicas que modelan las soluciones partiendo de la base de que la ambigu¨edad, la in- certidumbre y/o la complejidad son parte inherente al problema y se ha de trabajar con ella, a diferencia de otros procesos resolutivos donde se mode- lan las soluciones abstrayendo del problema el nu´cleo informativo esencial y obviando toda imperfeccio´n. Labibliograf´ıaexistentesobreelSoftComputingesamplia,inclusoabruma- doraparalosnovelesenlarama,comoporejemploestudiantesinteresados eneltema.Adema´s,elconjuntodeherramientasexistentes,tantoacad´emi- cas como profesionales no esta´n demasiado extendidas, o si lo esta´n, son demasiado gen´ericas y requieren un alto grado de conocimiento acerca del tema para su funcionamiento. El presente trabajo pretende dar una introduccio´n al Soft Computing que sirva de plataforma para aquellos que pretendan conocer ma´s acerca de sus t´ecnicas y ofrecer una implementacio´n base de ´estas tanto para el uso dentro del mundo acad´emico como en el mundo profesional. Abstract Soft Computing is a branch of Artificial Intelligence field. It studies the sub symbolic representation of knowledge, namely, the simulation of known low level elements of intelligent behaviors. These behaviors are hoping to arise spontaneously. Besides, Soft Computing uses a set of ever evolving techniques for problem solving. The assumption that ambiguity, uncertainty and/or complexity are an inherent part of the problem and they must be taken into account. Unli- ke otherprocesses, they are modelledreducing the problemto a minimum, discarding any imperfections. The existing literature about Soft Computing is vast, even overwhelming for the novice in the field, such as students interested in the subject. Mo- reover, the set of existing tools, both academic and professional are not widespread. In addition, they are too generic and require a high knowled- ge about the subject for operation. The present work aims to provide an introduction to Soft Computing. It fos- ters a platform for those who intend to learn more about its techniques. Furthermore, it provides an implementation base for using both, the aca- demic and the professional world. Agradecimientos Me gustar´ıa agradecer a mi tutor, Francisco Serradilla su ayuda dedicada paracompletarelproyectoyaabrirmimente.Milgraciasportuapoyo,por tuscontinuos“¡C´entrateAlberto!”ysobretodoportusrecomendacionesde libros de ciencia ficcio´n. Tambi´en quiero agradec´ertelo a ti, Davi. Sabes que sin ti este trabajo no existir´ıa. No s´e qu´e ma´s an˜adir ma´s que gracias por tu ayuda y por estar conmigo para lo bueno y para lo malo. Te quiero. Mama´, Beatriz, si esta´is leyendo esto quiere decir que ahora me ver´eis ma´s a menudo :). Os quiero un monto´n chicas, gracias por aguantarme lo in- aguantable y quererme tanto. A mis abuelos les quiero agradecer que me hayan malcriado tan bien y que me hayan querido de forma incondicional a lo largo de los an˜os. Es imposible devolverles tanto carin˜o, pero hago lo que puedo. ¡Os quiero mucho abuelitos! Hay una persona que siempre tengo en mente cuando hago algo relacio- nado con los estudios. Francisco Bouzas fue una persona que no so´lo me aguanto´ en mi ´epoca preuniversitaria, sino que, entre otras muchas cosas, meinsto´aestudiar“loquemedieselagana”mientrasfuesebuenapersona. Bueno, no s´e si lo soy pero procuro acordarme siempre de esa frase. Tambi´en quiero agradecer a mis compan˜eros de Dojo el buen tiempo que pasamos juntos: Miguel, Fer, Ismael y Buena, David y Sara, Esteban, Luis, Petro, Pablo, Rau´l, Aurelio, Abril, Adri y Camilo. Domo Arigato! Yporsupuestotengoquenombrartambi´enaV´ıctordelRey,yaquemedijo una vez: “con lo que cuesta quedar contigo, encima me haces le´ermelo. Como luego no me pongas en el libro ´este de cosas que esta´s escribiendo, vera´s”. V´ıctor, ya he terminado el libro este de cosas, ya podemos quedar. Gracias por hacerme el favor de le´ertelo y ya que estamos, por ser tan buen amigo. Por u´ltimo, en estos u´ltimos dos an˜os he conocido a mucha gente nueva y en su inmensa mayor´ıa para bien. A mis compan˜eros y amigos tanto de dentro como de fuera de la universidad: Octavio, Txelu, Alber, Marian y Ovi (the Moldovan Brothers), Dani (fana´tico de las revisiones al detalle :D, gracias!), Adria´n, V´ıctor, Jorge, Sergio, Denis, Aurora, Antonio, Garri, me alegro mucho de haberos conocido. ¡Gracias chicos! Y a todos los que no he puesto, por despiste o por despiste, ¡gracias *! ´ Indice general 1. Introduccio´n 23 1.1. ¿Qu´e es el Soft Computing? . . . . . . . . . . . . . . . . . . 23 1.1.1. T´erminos relacionados . . . . . . . . . . . . . . . . . 25 1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 1.3. Estructura de la memoria . . . . . . . . . . . . . . . . . . . 27 1.4. Sobre el co´digo fuente . . . . . . . . . . . . . . . . . . . . . 28 2. Redes Neuronales Artificiales 29 2.1. Neurona artificial . . . . . . . . . . . . . . . . . . . . . . . . 30 2.2. Aprendizaje . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.3. Arquitecturas . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.3.1. Feed-Forward . . . . . . . . . . . . . . . . . . . . . . 37 2.3.2. Recurrentes . . . . . . . . . . . . . . . . . . . . . . . 52 3. Computacio´n Evolutiva 57 3.1. Algoritmos gen´eticos . . . . . . . . . . . . . . . . . . . . . . 58 3.1.1. Terminolog´ıa . . . . . . . . . . . . . . . . . . . . . . 59 3.1.2. Representacio´n de los individuos . . . . . . . . . . . 61 3.1.3. Arquitectura de un algoritmo gen´etico . . . . . . . . 62 3.1.4. Programacio´n Gen´etica . . . . . . . . . . . . . . . . 69 3.1.5. Swarm Intelligence . . . . . . . . . . . . . . . . . . . 77 4. Lo´gica Difusa 85 4.1. Variables lingu¨´ısticas y universo de discurso . . . . . . . . . 86 4.2. Conjuntos cla´sicos y conjuntos difusos . . . . . . . . . . . . 87 4.2.1. Notacio´n . . . . . . . . . . . . . . . . . . . . . . . . 89 4.3. Funciones de pertenencia . . . . . . . . . . . . . . . . . . . 90 4.3.1. Definiciones y caracter´ısticas . . . . . . . . . . . . . 91 4.3.2. Tipos de funciones de pertenencia . . . . . . . . . . 92 4.3.3. Operadores Difusos . . . . . . . . . . . . . . . . . . . 96 4.3.4. Razonamiento difuso . . . . . . . . . . . . . . . . . . 101 4.3.5. Proceso de Inferencia (Modus Ponens Generalizado) 102 4.4. Sistemas de Control Difuso . . . . . . . . . . . . . . . . . . 104 4.4.1. Arquitectura . . . . . . . . . . . . . . . . . . . . . . 105 4.4.2. Tipos de Sistemas de Control Difuso . . . . . . . . . 109 5. Razonamiento probabil´ıstico 113 5.1. Clasificador Na¨ıve-Bayes . . . . . . . . . . . . . . . . . . . . 114 5.1.1. Teorema de Bayes . . . . . . . . . . . . . . . . . . . 114 5.1.2. Clasificador Na¨ıve-Bayes . . . . . . . . . . . . . . . . 115 5.2. Modelos Ocultos de Markov . . . . . . . . . . . . . . . . . . 118 6. Sinergias Entre Te´cnicas 121
Description: