Proyecto Natural de Jaén
FRANCISCO HERRERA TRIGUERO
FRANCISCO HERRERA TRIGUERO
comprometidos con el medio ambiente
Universidad de Jaén
Inteligencia Artificial, Inteligencia Computacional y Big Data
Universidad de Jaén
EDITOR COORDINADOR: José Ángel Marín Gámez EDICIÓN: Servicio de Publicaciones, © 2014. Universidad de Jaén Colección Natural de Jaén - Fundaciones Culturales. Vicerrectorado de Extensión Universitaria, Deportes y Proyección Institucional TEXTOS: Francisco Herrera Triguero Manuel Parras Rosa José Luis Hidalgo García DIBUJOS: Sergio García y Lola Moral ENTREVISTA: Concha Araujo TRANSCRIPCIÓN ENTREVISTA: Concha Araujo IMÁGENES PORTADA Y GUARDAS: “Nube de datos”, Sergio García y Lola Moral, 2014 FOTOGRAFÍAS ENTREVISTA: Studiosur Producciones S. L., y José Ángel Marín DISEÑO: José Ángel Marín Gámez IMPRESIÓN: Gráficas La Paz de Torredonjimeno, S. L. ISBN: 978-84-8439-891-2 Depósito legal: J-545-2014 © De los textos sus autores © De las ilustraciones: sus autores Ninguna parte de esta publicación, incluido el diseño de la cubierta, sus ilustraciones o distintos contenidos, puede ser reproducida, almacenada o transmitida de manera alguna por ningún medio o procedimiento, sin la autorización escrita de los titulares del copyright y sin el permiso previo del editor.
Proyecto Natural de Jaén
Universidad de Jaén
Proyecto Natural de Jaén
Inteligencia Artificial, Inteligencia Computacional y Big Data FRANCISCO HERRERA TRIGUERO
Universidad de Jaén
8
Proyecto Natural de JaĂŠn
Francisco Herrera Triguero
Presentación del Rector
El Proyecto Natural de Jaén de nuestra Universidad es una realidad que ha adquirido consistencia. Mediante este singular Proyecto nos proponíamos como objetivo el reconocimiento de personas destacadas en alguno de los ámbitos del conocimiento, la investigación, la ciencia, las artes o la cultura. Dicho reconocimiento no es un fin en sí mismo, sino la grata consecuencia del esfuerzo y buen hacer de personas vinculadas a nuestra tierra. En esta ocasión la Universidad de Jaén impulsa con Francisco Herrera Triguero el Proyecto Natural de Jaén, y en él concreta su compromiso decidido con el desarrollo integral de nuestra provincia. Se trata, por tanto, de una distinción académica al tesón y al trabajo continuado. Quizá una de las virtudes del uso adecuado de los reconocimientos resida en que pueden ser una valiosa herramienta estratégica dentro de las organizaciones. Conviene recordar la utilidad social de la lógica del reconocimiento como un indicador del avance colectivo a través de la observación concreta del devenir individual. Y así lo hemos considerado en esta ocasión al ofrecer un referente profesional como el que hoy reseñamos en la persona de Francisco Herrera Triguero, profesor e investigador prestigioso que merece la atención de cuantos miramos esperanzados hacia el futuro. El profesor Herrera Triguero, hombre tenaz que de algún modo representa a una generación que supo abrirse camino a fuerza de vocación y estudio. Apasionado del ajedrez y las matemáticas, se licenció en Matemáticas por la Universidad de
9
10
Proyecto Natural de Jaén
Granada en 1988. Allí mismo comenzó su labor académica en el Departamento de Ciencias de la Computación e Inteligencia Artificial, obteniendo el grado de doctor en el año 1991, para continuar hasta hoy día en su fructífero empeño como docente e investigador. En el año 2005 obtuvo la condición de Catedrático de Universidad, y actualmente dentro del Área de Inteligencia Artificial es uno de los científicos más reconocidos. En la Universidad de Granada constituyó en su día y hoy dirige el Grupo de Investigación: “Soft Computing y Sistemas de Información Inteligentes”. Su grupo lo integran actualmente treinta y seis doctores, diecinueve doctorandos, además de una veintena de colaboradores. Las aportaciones científicas del profesor Herrera Triguero son notorias en número y calidad, tal como registra la base de datos Web of Science y del mismo modo corrobora la agencia Thomsom Reuters, con relación al listado mundial de científicos más influyentes en las diferentes áreas del conocimiento. Destacada nómina investigadora que incluye al profesor Herrera en las categorías de Informática e Ingeniería. Además es editor en jefe de las revistas Information Fusion (Elsevier) y Progress in Artificial Intelligence (Springer), y miembro del comité editorial de una docena de revistas en los ámbito de la Inteligencia Computacional y el análisis inteligente de datos. En definitiva, Francisco Herrera llena su vida de dedicación al desarrollo de sistemas que resuelvan problemas de una forma inteligente, y en esa tarea ha dirigido multitud de tesis doctorales y se ha convertido en un claro referente dentro de su ámbito profesional, destacando en Inteligencia Artificial, Computación con palabras y toma de decisiones, Algoritmos Evolutivos, Sistemas Difusos, Bibliometría, Ciencia de Datos, Computación en la nube y Big Data. En el Proyecto Natural de Jaén contamos con el apoyo de la empresa Gráficas La Paz de Torredonjimeno, que se suma a la iniciativa de reconocer a paisanos nuestros de acreditada trayectoria dentro y fuera de nuestras fronteras. Los reconocimientos a los que aludo inciden en la sociedad de Jaén mediante una serie de actuaciones concretas que también repercutirán en las generaciones futuras. Manuel Parras Rosa Rector de la Universidad de Jaén
Francisco Herrera Triguero
Francisco Herrera. Hijo natural de Jaén
Para la ciudad de Jódar, es un motivo de orgullo más, el que uno de sus paisanos haya sido distinguido por la Universidad de Jaén dentro del Proyecto Natural de Jaén. Un reconocimiento a la labor desempeñada por Francisco Herrera Triguero, un hombre joven, tenaz y trabajador que representa a esa generación, que con muchos sacrificios y procedente de una familia humilde, ha sabido abrirse paso con su inteligencia desde muy temprana edad, ya desde joven era la admiración de sus compañeros y profesores. Ingresó en la Universidad de Granada donde se licenció en Matemáticas en junio de 1988. Ese mismo año comienza a trabajar en el departamento de Ciencias de la Computación e Inteligencia Artificial de la misma universidad, donde obtiene el grado de doctor en septiembre de 1991 y continúa trabajando en la actualidad, aprobando las oposiciones a Catedrático de Universidad en 2005. Actualmente es, sin duda, dentro del área de la Inteligencia Artificial, uno de los científicos más reconocidos a nivel internacional. De clara vocación formadora e intelectual, ya desde joven su mayor satisfacción eran las matemáticas y el ajedrez, es un referente en estas materias para sus paisanos. Crea y dirige el grupo de investigación, Soft Computing y Sistemas de Información Inteligentes formado en la actualidad por 36 doctores, 19 estudiantes de doctorado y una veintena de colaboradores. Ha formado doctores dentro y fuera de su grupo de investigación. Buena parte de los departamentos de informática de las universidades andaluzas le deben la formación doctoral de sus equipos. Hoy Francisco Herrera Triguero es un claro referente en Inteligencia Artificial en diferentes temas: Computación con palabras y toma de decisiones, Algoritmos Evolutivos, Sistemas Difusos, Bibliometría, Ciencia de Datos,
11
12
Proyecto Natural de Jaén
Computación en la nube y Big Data, entre otros. Ha dedicado toda una vida al desarrollo de sistemas que resuelvan problemas de una forma inteligente. Jódar, la ciudad Puerta de Sierra Mágina, sencilla y humilde, tan desconocida hasta para la propia provincia, ha sido y es “semillero” de grandes personalidades del mundo de la cultura, elenco que en el siglo XX y XXI se ha acrecentado considerablemente desde que el Estado patrocinó con becas y ayudas el que las personas como Francisco Herrera Triguero pudiesen estudiar y superar las dificultades económicas, que para una familia sin recursos, tenía el mantener a un hijo o una hija en la universidad. Para el Ayuntamiento de Jódar es una gran satisfacción el que paisanos nuestros se hayan desarrollado, hasta niveles excepcionales como los de Francisco, contribuyendo así a dar a conocer, el nombre de Jódar por todo el mundo. Nombre que Francisco Herrera Triguero lleva a gala, y da a conocer allá por dónde va. Francisco Herrera Triguero es y debe ser un modelo para todos los jóvenes, un modelo donde la superación y el esfuerzo llevan como premio el desarrollo humano: su inteligencia, que bien canalizada da resultados tan formidables cómo el que aquí nos ocupa. Jódar tiene muchas bondades por dar a conocer, por mostrar al exterior, reivindico desde aquí el espacio que Jódar se merece en nuestra provincia, y que está sabiendo ganar día a día. Jódar es una ciudad abierta y trabajadora, con una gran riqueza patrimonial y, sobre todo, humana: hoy con el reconocimiento a Francisco Herrera Triguero, se reconoce también también el rico patrimonio humano que identifica a Jódar... Desde hace varios años apostamos por la formación de nuestros jóvenes, por la cultura de nuestros paisanos, como pilares básicos para el desarrollo. Cada primavera Jódar reivindica la cultura a través de su “Primavera universitaria” reuniendo a intelectuales de primer nivel para que jóvenes y mayores oigan, en su pueblo, en su tierra, otras formas de pensar y de entender el mundo. Para mí, como Alcalde, es una
Francisco Herrera Triguero
enorme satisfacción el que me digan que “Jódar supera la media española en catedráticos de Universidad”, en una ciudad, con unas características socio-culturales peculiares, es un aliciente más para poner mayor ahínco y esfuerzo en su desarrollo. Su aportación a la ciencia es relevante por su calidad. Uno de los indicadores que se utilizan en investigación como medida de la relevancia es la cantidad de autores que hablan (referencian) sobre el trabajo hecho. En este sentido los trabajos de Francisco Herrera han recibido más de 13000 citas a nivel internacional y 31 de sus trabajos están entre el 1% de los más citados (de nuevo a nivel internacional) tal como recoge la base de datos Web of Science. En investigación la agencia Thomsom Reuters, elabora un listado reconocido a nivel mundial de los científicos más influyentes en las diferentes áreas del conocimiento. El listado de este año incluye a 3.215 investigadores. De ellos sólo 48 pertenecen a instituciones españolas y entre ellos está Francisco Herrera, incluido además en dos categorías, Informática e Ingeniería. Felicitar a la Universidad de Jaén, por conceder tan acertada y merecida distinción, y por supuesto a nuestro paisano Francisco Herrera Triguero, por ser un luchador, un intelectual y un emprendedor nato, como decimos en Jódar, un “Galduriense de ley”. Que esta distinción sirva para mejorar el desarrollo de nuestra provincia, y que la Universidad de Jaén siga siendo, uno de los motores de desarrollo de la misma. Enhorabuena a todos…. José Luis Hidalgo García Alcalde de Jódar
13
16
Proyecto Natural de JaĂŠn
Francisco Herrera Triguero
A mi familia
17
18
Proyecto Natural de JaĂŠn
Francisco Herrera Triguero
Preámbulo
En esta breve obra he pretendido abordar desde una perspectiva divulgativa el campo científico en la que se ha centrado mi trabajo profesional tanto a nivel de investigación como a nivel docente. Hace unos meses, con motivo del pregón de la Feria de Jódar lo describía con las siguientes palabras: “Profesionalmente llevo 26 años dedicado al campo en el que se fusiona la informática, la tecnología y las matemáticas alrededor de la inteligencia artificial.” Por ello, cuando recibí el honor de ser elegido “Natural de Jaén” y la petición de escribir una pequeña obra, no dudé en escribirla sobre la inteligencia artificial y las áreas que han centrado mi trabajo de investigación. Cuando analicé cómo estructurar esta obra, tuve claro que el eje que enlazaría los tres capítulos que lo forman sería el uso del concepto de “inteligencia” en el ámbito de la informática. La inteligencia o la mente han sido objeto de estudio desde los orígenes de la ciencia. Se han analizado desde muy diferentes perspectivas, las ciencias médicas y cognitivas, la filosofía o la lógica. Centrados en esta última, la lógica, encontramos los primeros estudios que tratan de formalizar nuestro razonamiento mental en la Antigua Grecia. Aristóteles (384 a.C - 322 a.C.) fue un científico y polímata que escribió más de 200 tratados, y es considerado el padre de la lógica. Escribió de forma estructurada un conjunto de reglas que describen una parte del funcionamiento de la mente humana, y que al seguirlas paso a paso permiten producir conclusiones ra-
19
20
Proyecto Natural de Jaén
cionales a partir de las premisas iniciales. Hubieron de pasar más de 2150 años para que George Boole estableciese los principios de la lógica proposicional, mucho más completa que los silogismos de Aristóteles. Situándonos en España, hace 700 años, Ramón Llull se dedicó a diseñar y construir una máquina lógica (se la conoce como Ars Magna et Ultima). Fue uno de los precursores de la inteligencia artificial ya que planteó la idea de que el razonamiento se podía hacer de forma artificial. Estos son algunos de los muchos ejemplos que encontramos en nuestra historia en cuanto a la formalización del razonamiento humano y trasladar el mismo a una máquina. No es hasta mediados del pasado siglo cuando surge el término de inteligencia artificial. Fue sugerido por el científico americano John McCarthy, y acuñado en un documento escrito en el año 1955 con motivo de la organización de una conferencia sobre la temática, y donde se describía la inteligencia artificial como “la ciencia e ingeniería de hacer máquinas que se comporten de una forma que llamaríamos inteligente si el humano tuviese ese comportamiento.” Los siguientes 60 años de desarrollo de esta disciplina científica han sido vertiginosos, donde los resultados se han sucedido continuamente, con los altibajos propios de cualquier ciencia, pero con unos avances impresionantes cuando los analizamos con la perspectiva de solo 60 años de historia. Como desafío de la inteligencia artificial queda la pregunta planteada por Alan Turing, uno de los científicos más brillantes del siglo XX, ¿pueden pensar las máquinas? Esta pregunta y el hecho en sí de la potencial respuesta ha sido objeto de estudio a lo largo de estos años, dando lugar a una doble línea de desarrollos y definiciones alrededor de esta ciencia. La primera responde a la creación de “máquinas con mente” que argumentarían algunos científicos como primer objetivo de la investigación, y la segunda al desarrollo de “máquinas con comportamientos inteligentes”, sistemas informáticos inteligentes con diferentes capacidades o conductas asociadas a la “inteligencia”.
Francisco Herrera Triguero
A lo largo del primer capítulo se presenta una breve introducción a esta ciencia, se analizan los logros conseguidos, se analiza el debate existente en torno a la famosa pregunta de Turing, y también se hace una incursión en cómo se proyecta la visión de la inteligencia artificial y la presencia de máquinas inteligentes en el cine. Una visión muy especial con la que todos estamos familiarizados. El término inteligencia usualmente se asocia a la mente humana pero existe una concepción más amplia de la inteligencia en la que tienen cabida las actividades de organismos vivos no necesariamente humanos. Por ejemplo, la forma en la que algunos insectos cooperan para recoger comida, o la forma en la que se produce la selección natural en los seres vivos. Desde esta concepción amplia de inteligencia existen estudios que se inspiran en la naturaleza para construir sistemas informáticos inteligentes, es lo que algunos autores describen como “imitación a la vida”. Esta es otra perspectiva que se aborda en el segundo capítulo del libro, describiendo el área que se conoce con el nombre de inteligencia computacional o soft computing y que se centra en el desarrollo de sistemas inteligentes inspirados en el razonamiento lingüístico humano y la naturaleza. En la actualidad, la inteligencia artificial como ciencia se divide en un gran conjunto de áreas de investigación donde se desarrollan teorías, modelos y propuestas para abordar múltiples problemas. Entre ellas, nos encontramos el área centrada en el aprendizaje automático a partir de datos, para analizarlos y extraer conocimiento a partir de ellos, para realizar en definitiva un análisis inteligente de datos. Actualmente vivimos en una sociedad digital donde la popularidad y el desarrollo de las tecnologías de la información y las comunicaciones a nivel mundial han ayudado a eliminar fronteras y creado multitud de servicios donde los datos almacenados y transmitidos son un eje central de su funcionamiento. Todas las empresas disponen de grandes bases de datos para los que su análisis y puesta en valor es fundamental para la mejora de su proceso de negocio. El ámbito científico que se centra en el uso de las técnicas de análisis inteligente de datos con énfasis en la aplicación a nivel de empresa recibe el nombre de inteligencia y analítica de negocio. Con el crecimiento
21
22
Proyecto Natural de Jaén
de los datos en volumen y complejidad ha surgido el término big data para hacer referencia a este problema y las tecnologías asociadas para su procesamiento. El capítulo tercero aborda la descripción de estas tecnologías para el análisis inteligente de datos centrado en big data, campo que ha emergido con fuerza en los últimos años. La descripción intenta hacerse desde una perspectiva divulgativa, aunque hay que reconocer que es de un cierto nivel de profundidad tecnológica, pues he querido mostrar los recientes avances tecnológicos en esta apasionante área de investigación. Mi trabajo en estos 26 años ha girado en torno a la inteligencia computacional y al análisis inteligente de datos, y en muchas de mis investigaciones he combinado ambas áreas aplicando los modelos de inteligencia computacional a la extracción de conocimiento y recientemente en big data. Con este libro intento mostrar estas áreas dentro de esta ciencia, la inteligencia artificial, y también discutir su origen y sus anhelos que se recogen en la famosa y ya mencionada frase de Alan Turing ¿pueden pensar las máquinas? Confio que esta triple visión del uso artificial del concepto de inteligencia se vea reflejada en el texto, desde el diseño de máquinas inteligentes y la dualidad de comportamientos inteligentes versus mente inteligente, pasando por la inspiración en la naturaleza y el razonamiento lingüístico humano, hasta el uso de sistemas inteligentes en la extracción de conocimiento a partir de bases de datos en todos los ámbitos de nuestra sociedad. Para terminar este preámbulo, me permito hacer un breve repaso sobre mi trayectoria profesional, agradeciendo a muchas personas el estar ahí durante este recorrido. Comienzo recordando, otro párrafo del pregón que di hace unos meses en Jódar, en el que comentaba cómo había quedado marcada mi vida durante mis años de estudiante, cuando se desarrollaron algunas de mis pasiones y aficiones de joven, el ajedrez, las matemáticas y la informática, y donde estas últimas se fusionaron en mi trabajo profesional en el campo de la inteligencia artificial.
Francisco Herrera Triguero
Mi trabajo en este campo ha contado con el apoyo de un importante equipo de colaboradores, sin los cuales obviamente no habría llegado hasta aquí. Comienzo recordando a mi director de tesis, Curro Verdegay, gracias al cual me embarqué en la senda de la investigación en la teoría de los conjuntos difusos y la optimización, en unos inicios de incertidumbre, y terminé una tesis doctoral que me situó en el camino seguido durante estos años. Yo he continuado sembrando la semilla de la investigación en 36 doctores a los que he formado durante estos años, y en los doctorandos a los que hoy estoy dirigiendo la tesis doctoral. He de expresar mi gratitud a todos ellos por confiar en mí como director de sus primeros pasos en el apasionante mundo de la investigación. Es imposible enumerar a todos, pero me permito escribir el nombre de los 3 primeros, miembros de mi grupo de investigación y colaboradores a lo largo de estos años en diferentes líneas, Manuel Lozano, Enrique HerreraViedma y Oscar Cordón. Durante los últimos 15 años la colaboración con los grupos de investigación de la Universidad de Jaén, SINBAD2 y SIMiDat, dirigidos por Luís Martínez y María José del Jesus, ha sido intensa, y sin ellos tampoco estaría aquí en estos momentos. Muchos de los resultados que me han dado energías para continuar han sido fruto de la colaboración con ellos, sirvan estas palabras de gratitud por su apoyo pues siempre han estado ahí cuando los he llamado. El entorno de trabajo del que he disfrutado en el Departamento de Ciencias de la Computación e Inteligencia Artificial de la Universidad de Granada ha sido importante, así como el apoyo de la Universidad de Granada para desarrollar el trabajo durante estos años. Volviendo a la obra que se publica, he de agradecer a algunos compañeros, amigos y a mi hijo el tiempo dedicado a la lectura de estos capítulos: María José del Jesus, Luís Martínez, Salvador García, Luciano Sánchez, Matilde Santos, Alberto Fernández, Sara del Río, Paco Charte, Ángel Guevara y Andrés Herrera. Gracias por vuestras sugerencias, correcciones,… que han sido muy importantes para llegar a la versión
23
24
Proyecto Natural de Jaén
final. Sinceramente vuestros comentarios me han ayudado y motivado a lo largo de estas semanas. David, gracias por esas simpáticas neuronas del segundo capítulo. Sergio, recuerdo aquella noche de Agosto en la que durante una cena, y con una breve descripción de la idea del libro, hiciste un boceto de los 4 dibujos con los que finalmente Lola y tu habéis engrandecido este texto. Son un fiel reflejo de vuestra percepción sobre mis palabras y una visión conjunta de la inteligencia artificial. Vicente, una noche con un buen albariño en A Coruña y una mañana inspirada han permitido disfrutar de este excelente soneto sobre la inteligencia artificial (soneto dodecasílabo ternario “ooOo-ooOo-ooOo” con rima ABBA-ABBA-CDC-DCD), muchas gracias. Terminando este preámbulo, deseo expresar mi gratitud al Rector Magnífico de la Universidad de Jaén, profesor Manuel Parras Rosa, y a su equipo de gobierno por concederme el honor de ser elegido “Natural de Jaén”. Agradezco profundamente el apoyo de todas las personas involucradas en los actos organizados con motivo de este nombramiento, y en especial a Ana Mª Ortiz y José Ángel Marín, gracias por darme siempre unos días más para terminar esta obra y por vuestro buen hacer. Concha Araujo me hizo sentirme como que no estaba siendo entrevistado, gracias por esos momentos tan agradables. Gracias a José Luís Hidalgo García, alcalde de Jódar, por sus palabras y su cariño, como galduriense me siento muy orgulloso de tenerlo como alcalde. A Juani Vílchez, concejala de Educación, formación, cultura y festejos del Ayuntamiento de Jódar, gracias por la organización del acto en Jódar. Como giennense que siempre hace gala de sus raíces y sus orígenes galdurienses me siento enormemente orgulloso de este honor que me ha concedido la Universidad de Jaén. Una institución que en los pocos años de su historia se ha convertido en una piedra angular del desarrollo de la provincia. Los jóvenes giennenses siempre recordarán la formación que adquieren en sus aulas y la provincia se aprovechará
Francisco Herrera Triguero
de la transferencia de conocimiento, porque la formación, la ciencia y la cultura nos hacen ser mejores y libres. Un último recuerdo para Jódar, donde se inició esta andadura hace 48 años, a mi madre, mis hermanas, familiares, amigos y paisanos. Para terminar muchas gracias a Merche y a mis hijos, Andrés, David y Sergio, su apoyo ha sido el más importante durante estos años. Gracias a todos por lo mucho que os debo.
25
26
Proyecto Natural de JaĂŠn
Francisco Herrera Triguero
Soneto
INTELIGENCIA ARTIFICIAL Es sutil, interesante y atractiva. Es un reto de difícil solución que despierta en mis sentidos la pasión de una ciencia que subyuga y que cautiva. Con su práctica mi mente se motiva: Es delirio permanente y ambición que florece cuando encuentro la razón de esa causa que parece fugitiva. Paso noches modelando mi sistema y es el alba quien me dicta la señal de que al fin se resolvía mi problema. Y esta furia de cariz intelectual, que me atrevo a convertir en un poema, es la hermosa Inteligencia Artificial.
Vicente Moret Bonillo, A Coruña, septiembre 2014 (Dedicado a Paco Herrera)
27
28
Proyecto Natural de JaĂŠn
Francisco Herrera Triguero
Capítulo A. Inteligencia Artificial
En este primer capítulo se presenta una breve introducción a la ciencia de la inteligencia artificial, un apasionante campo de investigación que en 60 años de historia ha fascinado a científicos de muy diversas áreas: matemáticas, informática, psicología, neuro-ciencia, etc. Los logros conseguidos en el recorrido hacia la meta de construir máquinas inteligentes han sido enormes y el futuro es fascinante. Esta introducción es una incursión en la Inteligencia Artificial desde un prisma divulgativo, recorriendo la historia, destacando algunos logros importantes, analizando cómo se ve la inteligencia artificial desde el cine y discutiendo sobre la famosa pregunta de Alan Turing ¿pueden pensar las máquinas?
A.1. Introducción. Inteligencia artificial Inteligencia artificial fue el nombre sugerido por John McCarthy, uno de los grandes científicos y padres de esta disciplina. Este término fue acuñado en un documento escrito en el año 1955 con motivo de la propuesta de la Conferencia de Dartmouth, y describía la inteligencia artificial como “la ciencia e ingeniería de hacer máquinas que se comporten de una forma que llamaríamos inteligente si el humano tuviese ese comportamiento” [1]. El nacimiento de la inteligencia artificial como campo de investigación se sitúa en 1956, en la ciudad de Hannover, New Hampshire (EE.UU.) donde se encontraba el
29
30
Proyecto Natural de Jaén
Dartmouth College. En ese año se organizó la mencionada Conferencia de Dartmouth donde se reunieron un grupo de científicos para discutir sobre esta disciplina y el uso del ordenador para diseñar conductas inteligentes. Podemos encontrar muchos antecedentes en la historia sobre los intentos de crear máquinas para realizar tareas inteligentes, así como menciones o estudios al respecto. Desde la mitología griega ya encontramos ejemplos de ello, como Talos, un gigante de bronce que protegía a la isla de Creta minoica de posibles invasores. En la literatura se hallan innumerables menciones a criaturas artificiales, así como intentos de construcción de máquinas inteligentes a lo largo de la historia. En la obra de la escritora inglesa Mary Shelley “Frankenstein or, The modern Prometheus” (1818), considerada como el primer libro de ciencia ficción, el doctor Victor Frankenstein creó un humanoide alrededor del cual gira la obra. Esta novela ha tenido diversas lecturas sobre el comportamiento y la concepción del personaje de Frankenstein que al final de la historia llegó a ser un asesino, rebelándose frente a su creador. Entre los muchos análisis realizados sobre este arquetipo de monstruo está la rebelión de la criatura como un claro mensaje del castigo que deriva del uso irresponsable de la tecnología. La ciencia ficción ha alimentado la imaginación de los lectores, y también de los investigadores, quienes se han visto seducidos por la idea de desarrollar tecnologías capaces de razonar, de tener conductas inteligentes. Los personajes son muy diversos, recorriendo desde el patrón natural humano que explota modelos antropomórficos que desembocan en entidades artificiales de forma humana, hasta criaturas no antropomórficas dotadas de inteligencia que suelen ser representadas por ordenadores u otros artefactos inteligentes. Cabe recordar dos películas que reflejan esta visión, la icónica “2001: Una odisea del espacio” (1968), con el ordenador HAL 9000, y la más reciente “Her” (2013), donde el artefacto inteligente es representado por un sistema operativo inteligente que interactúa con los usuarios. Volviendo sobre la primera visión, hemos de recordar las novelas de Isaac Asimov, uno de los padres del género de la ciencia-ficción y su saga sobre robots. Y cabe pararse en el personaje de la película “El hombre bicentenario” (1999), robot NDR “Andrew”, que mantiene
Francisco Herrera Triguero
una constante lucha por llegar a ser considerado un humano. Más adelante haremos una breve reseña de la visión que el cine ha mostrado sobre la inteligencia artificial a lo largo de estos 60 años. Volviendo al término de inteligencia artificial, el campo de investigación donde los científicos se han sentido empujados por la meta de construir máquinas inteligentes, la ciencia de las máquinas inteligentes, hemos de mencionar dos definiciones que han dado destacados científicos y que nos orientan en la doble perspectiva desde la que se investiga y debate sobre ella: • “La Inteligencia artificial está relacionada con conductas inteligentes en artefactos” (Nilsson, 1998). • “El nuevo y excitante esfuerzo de hacer que los computadores piensen…, máquinas con mentes, en el sentido más literal” (Haugeland, 1985). La definición de Nilsson se centra en conductas inteligentes para resolver problemas concretos de los cuales podemos encontrar muchos ejemplos a lo largo de la historia de la inteligencia artificial. Mientras que Haugeland nos plantea el problema como un todo “máquinas con mente”. Ambas definiciones nos sitúan en un continuo debate sobre la naturaleza de la investigación y los desarrollos en esta ciencia: sistemas que actúan racionalmente versus sistemas que piensan como humanos. Dentro de esta discusión, destaca la aportación del matemático inglés Alan Turing (uno de los científicos más brillantes del siglo XX y que da nombre al premio más importante en el ámbito de la informática y considerado como el premio Nobel en este campo), quien igualmente puede y debe ser reconocido como uno de los padres de la inteligencia artificial. En la génesis de este campo de investigación, en 1950 escribió el artículo titulado “Computing machines and intelligence” [2] (Ordenadores e Inteligencia) que comenzaba con una pregunta que continúa siendo el eje central del debate en nuestros días: ¿Pueden pensar las máquinas? (I propose to consider the question, “Can machines think?”).
31
32
Proyecto Natural de Jaén
Turing propuso una prueba a través de un juego de preguntas y respuestas que se conoce con el nombre de Test de Turing (Figura A.1.). Para esta prueba una persona conversa con un interlocutor al que no ve, e intenta adivinar si se trata de un ser humano o de un ordenador. Si este pudiese hacer creer al interlocutor que está hablando con una persona, se podría considerar que estamos ante un ordenador que es inteligente. Obviamente, se trata de mantener un diálogo con sentido y no sólo una conversación intrascendente en campos muy delimitados, donde sería posible engañar a personas que no estén al tanto de esta prueba y hacerles pensar que están ante una máquina inteligente. El test de Turing nos llevará a otra pregunta dentro de esta apasionante área, ¿podemos llegar a construir máquinas que piensen? Volveremos sobre esta cuestión más adelante.
Figura A.1. Test de Turing (Fuente: http://alanturing.net, B.J. Copeland, 2000)
Francisco Herrera Triguero
Han transcurrido más de seis décadas de continuas investigaciones y desarrollos en este campo, y se ha pasado por diferentes etapas. Desde los inicios, con grandes expectativas que no se alcanzaron, ya que se esperaba tener importantes avances en pocos años, hasta la actualidad donde se vuelven a tener grandes esperanzas pero centradas en problemas concretos, con áreas que son objeto de atención continua como la robótica, la extracción de conocimiento de grandes volúmenes de datos (big data), etc. Los avances tecnológicos han dado lugar a artefactos inteligentes con los que convivimos diariamente: asistentes personales que utilizamos en los smartphones, electrodomésticos con actuaciones inteligentes, avances en automoción, coches que aparcan solos o el coche sin conductor que ha presentado Google recientemente, … A continuación haremos un recorrido por su subyugante historia y enumeraremos algunos hitos de singular interés que muestran diferentes facetas de la inteligencia artificial. Profundizaremos en el test de Turing y en su famosa pregunta, piedra angular sobre la que gira el continuo debate en inteligencia artificial. En definitiva, sistemas que actúan racionalmente versus sistemas que piensan como humanos. Posteriormente examinaremos la inteligencia artificial desde la gran pantalla, mostraremos cómo en ésta se presenta una imagen de los sistemas inteligentes antropomórficos con sentimientos, ampliando el ámbito de la inteligencia a las emociones. Terminaremos con unas reflexiones finales sobre la inteligencia artificial.
A.2. Recorriendo la historia de la inteligencia artificial Los primeros años fueron tan excitantes como en cierto modo decepcionantes por las grandes expectativas generadas tras el establecimiento de los principios fundamentales que enuncian la posibilidad de reducir las distintas facetas de la inteligencia, o al menos de emularlas con los mecanismos propios de los ordenadores. Las expectativas se disparan alentadas por resultados parcialmente satisfactorios. Todo parece posible y factible a corto y medio plazo. El periodo comprendido entre 1956 y 1974 son los años dorados con una inversión muy importante por parte de las agencias de investigación americanas.
33
34
Proyecto Natural de Jaén
• Algunos de los participantes en la Conferencia de Dartmouth hacían las siguientes predicciones en este periodo [3]: • Herbert Simon y Allen Newell, 1958: “Dentro de diez años un ordenador será campeón de ajedrez del mundo” y “dentro de diez años un ordenador descubrirá y demostrará un nuevo e importante teorema matemático” (“within ten years a digital computer will be the world’s chess champion” and “within ten years a digital computer will discover and prove an important new mathematical theorem”). • Herbert Simon, 1965: “las máquinas serán capaces, en veinte años, de hacer cualquier trabajo que una persona puede hacer” (“machines will be capable, within twenty years, of doing any work a man can do”) • Marvin Mynsky, 1967:”dentro de una generación... el problema de la creación de la ‘inteligencia artificial’ se resolverá sustancialmente” (“within a generation ... the problem of creating ‘artificial intelligence’ will substantially be solved”). Sin embargo, los avances fueron lentos con respecto a lo esperado, aunque durante los años sesenta y principios de los setenta se lograron importantes progresos. A continuación, destacamos algunos resultados: • En 1956 Newell, Simon y Shaw crean el primer programa de ordenador capaz de resolver problemas matemáticos tratando de imitar el razonamiento humano, llamado Logic Theorist. Es considerado el primer programa de inteligencia artificial. Este demostró 38 de los 52 primeros teoremas del capítulo 2 de “Principia Mathematica” (una importante colección de tres volúmenes sobre los fundamentos de la matemática escrita por Alfred North Whitehead y Bertrand Russell, publicada entre 1910 y 1913). En 1959 crean el programa GPS (General Problem Solver) con el objetivo de resolver cualquier problema formalizado simbólicamente, pero tenía el inconveniente de que el proceso de búsqueda se podía perder fácilmente entre la explosión combinatoria de estados intermedios.
Francisco Herrera Triguero
• Se presentan los dos lenguajes de programación de procesamiento simbólico más importantes: LISP (McCarthy, 1958) y PROLOG (Colemanuer, 1973). Unos años antes, en 1955, Newell, Shaw y Simon habían desarrollado el primer lenguaje de inteligencia artificial, IPL-11. • Se introducen las redes semánticas o esquema de representación en red que se utilizan para representar mapas conceptuales y mentales (Quilian, 1963). • En los años sesenta aparecen los sistemas expertos que permiten predecir una solución bajo un conjunto de premisas y que fueron muy populares a lo largo de los años 80. En 1974 se presenta MYCIN (Shrtliffe, 1974), escrito en LISP. Es uno de los sistemas expertos más conocidos, asistió al diagnóstico médico en el tratamiento de infecciones de la sangre, siendo capaz de “razonar” el proceso seguido para llegar a estos diagnósticos e incluso de recetar medicaciones personalizadas a cada paciente, con tasas de éxito por encima de las de los médicos no especializados en el diagnóstico de infecciones bacterianas. Previamente, una década antes, en la Universidad de Stanford, comenzó el proyecto del primer sistema experto, DENDRAL (1965), precursor de estudios previos, y capaz de determinar estructuras moleculares a partir de datos del espectrógrafo de masas y utilizando conocimiento de expertos. El programa final alcanzó el nivel de eficiencia de un químico experimentado. De la edad de oro se pasó en los años setenta al llamado “primer invierno de la IA”, 1974-1980. La famosa paradoja de Moravec nos refleja este momento de la inteligencia artificial. Nos indica que de forma anti-intuitiva, el razonamiento humano (el pensamiento inteligente y racional) requiere de poca computación, mientras que las habilidades sensoriales y motoras, no conscientes y compartidas con otros muchos animales, requieren de grandes esfuerzos computacionales. Moravec escribía lo siguiente [4]: “es fácil comparativamente conseguir que las computadoras muestren capacidades similares a las de un humano adulto en un test de inteligencia, y es difícil o imposible lograr que posean las habilidades perceptivas y motrices de un bebé de un año”.
35
36
Proyecto Natural de Jaén
¿Aprendiendo como un bebé? (Sergio García y Lola Moral, noviembre 2014)
Francisco Herrera Triguero
Confluyeron una serie de circunstancias, desde la capacidad limitada de cálculo de los ordenadores de entonces, pasando por una explosión combinatoria en la resolución de problemas que requerían un tiempo que crece de forma exponencial con respecto al tamaño del problema a resolver, hasta el reconocimiento implícito en la citada paradoja, un computador puede comportarse como un campeón de ajedrez pero no como un niño pequeño. A principios de la década de los ochenta la inteligencia artificial vuelve a emerger como campo científico que atrae de nuevo la atención, ya como un campo de conocimiento más maduro y precavido, lejos de las expectativas iniciales y de la persecución abstracta de la inteligencia. En esta época tiene lugar el auge de los sistemas expertos, sistemas artificiales orientados a la aplicación práctica en problemas concretos mediante procedimientos de razonamiento aproximado con conocimiento de problema. También es la década en la que se consolidan importantes áreas de investigación como la visión artificial, el aprendizaje automático, la inteligencia computacional, etc. Pero, igualmente, al final de esa década se puede considerar que existe otro importante revés, producido por el fracaso del proyecto japonés del ordenador de la quinta generación conocido por sus siglas en inglés, FGCS (de Fifth Generation Computer Systems) que pretendía el desarrollo de una nueva clase de computadoras. Se intentaba desarrollar tecnologías para el procesamiento de conocimiento masivo, modelos funcionales distribuidos y supercomputadoras para el cálculo masivo. El impacto institucional a nivel internacional fue grande, porque venía avalado por el éxito japonés en el diseño de artículos electrónicos en la década anterior y por logros similares en el área de la automoción durante los años 80. El proyecto no alcanzó el éxito esperado y se dio por concluido sin haber cumplido sus objetivos en el año 1993. Se puede decir que a partir de 1993 se comienza una nueva etapa en la que se habla de la inteligencia artificial moderna, abordando la delimitación de los tipos de problemas... Se ha encontrado un sendero por el que caminar planteándose un
37
38
Proyecto Natural de Jaén
recorrido práctico. No se va a abordar la imitación de la inteligencia en su totalidad, sino la emulación de aquellos aspectos de la misma que se refieren a los procesos de razonamiento para resolver problemas concretos, más sencillos de imitar por una máquina. Por supuesto, la dualidad entre sistemas que actúan racionalmente versus sistemas que piensan como humanos está ahí y se hacen avances en el procesamiento de ingentes cantidades de información y en la capacidad de razonar de los sistemas artificiales. En estos años la inteligencia artificial se ha fragmentado en gran cantidad de áreas de investigación centradas en problemas particulares y en el desarrollo de técnicas específicas. Son muy variadas las diferentes disciplinas que abarca esta ciencia, tales como: inteligencia computacional, sistemas multi-agente, aprendizaje automático y minería de datos (cuando progresamos hacia el procesamiento de datos masivos hablamos de big data), visión artificial, procesamiento de lenguaje natural, reconocimiento del habla, sistemas biométricos para la identificación de personas, robótica… Para lectores interesados en un recorrido sobre la inteligencia artificial durante estos años recomiendo un excelente libro del profesor Nils J. Nilsson, Universidad de Stanford: “The quest for Artificial Intelligence. A history of ideas and achievements” (2009) [5]. Está también disponible en una versión preliminar en la página web de Nilsson http://ai.stanford.edu/~nilsson/QAI/qai.pdf. En este libro hace una amena descripción de la historia de la inteligencia artificial. Se presenta la evolución del campo describiendo los desarrollos de diferentes décadas, escrito sin formalismos matemáticos y con muchas ilustraciones. Es un libro que puede leer cualquier persona interesada en esta ciencia sin necesidad de ser un experto en la materia. A continuación, mostraremos algunos hitos de esta última época, logros que merecen ser destacados para saber dónde nos encontramos.
Francisco Herrera Triguero
A.3. Algunos hitos: Desde los juegos inteligentes al aprendizaje en Internet A lo largo de más de 60 años de historia se han presentado una gran cantidad de resultados y propuestas que han permitido el avance de esta ciencia. A continuación, se van a describir someramente algunos hitos que ilustran esta última etapa que comienza hace 20 años. Los juegos que podemos etiquetar como inteligentes han sido siempre un foco de atención para los investigadores, puesto que es un campo donde se pueden comprobar los avances en el diseño de los sistemas inteligentes. Hay juegos centenarios como el ajedrez, las damas, el go, etc., que son utilizados por los investigadores para diseñar programas “inteligentes” que puedan competir con los mejores jugadores del mundo. En el año 1996 IBM desarrolló un superordenador, Deep Blue, que fue la primera máquina que venció en una partida al campeón mundial de ajedrez Gary Kaspárov, el 10 de Febrero de 1996, aunque Kaspárov ganó ese primer torneo. Pero en Mayo del año siguiente, una nueva versión de Deep Blue jugó de nuevo contra Kaspárov, ganando el encuentro a 6 partidas por 3½-2½, lo que lo convirtió en el primer ordenador en derrotar a un campeón del mundo vigente. El nuevo Deep Blue era una máquina de procesamiento masivo paralelo con 30 nodos capaz de calcular 200 millones de posiciones por segundo (el doble que la versión del año anterior) y pesaba 1,4 toneladas. En junio de 1997, Deep Blue era el 259º superordenador más potente del mundo, capaz de calcular 11,38 gigaflops. Habían pasado 44 años desde la creación del primer ordenador, ENIAC (1943) que realizaba unos pocos miles de operaciones por segundo, 5.000 sumas y 300 multiplicaciones en un segundo. IBM retiró Deep Blue y no volvió a jugarse ninguna partida frente a él. La Figura A.2. muestra una fotografía de este ordenador. En la actualidad tenemos programas que pueden instalarse en cualquier ordenador personal, y que alcanzan unos niveles de jugador profesional con un ordenador de prestaciones normales.
39
40
Proyecto Natural de Jaén
Hemos hablado del juego del ajedrez, pero hay otro juego centenario como es el juego de las damas que merece destacarse por cuanto hace no mucho quedó resuelto. Durante casi veinte años, Jonathan Schaeffer, profesor de la Universidad de Alberta (Canadá) ha estado trabajando sobre él. Su programa Chinook (cuya primera versión se creó en 1989) ganó el campeonato mundial contra los mejores jugadores humanos en el año 1994, tras lo cual afrontó la resolución completa del juego. El 19 de Julio de 2007 se anunció formalmente que se había resuelto el juego consiguiendo un archivo con información completa sobre cualquier posición legal que pueda surgir sobre el tablero [6]. Se calculó que en total hay unas 5x1020 posiciones diferentes. Con un juego perfecto por ambos bandos no se puede perder o ganar a las damas. Figura A.2. Deep Blue La partida terminará inevitablemente en (Fuente: Wikipedia, CC by 2.0) tablas. Esto significa que incluso el jugador más habilidoso no puede vencer a un ordenador que tenga acceso a la base de datos. Tampoco el ordenador puede ganar, excepto en el caso de que el rival humano cometa un error que conduzca a una posición que esté clasificada como perdedora en la base de datos. El resultado final es que matemáticamente un juego perfecto de damas acaba siempre en tablas. En la resolución de este juego se combina la teoría de juegos y la inteligencia artificial. La historia de creación y desarrollo de Chinook está narrada fantásticamente en el libro “One jump ahead: Challenging human supremacy in checkers” [7].
Francisco Herrera Triguero
Jaque mate (Sergio GarcĂa y Lola Moral, noviembre 2014)
41
42
Proyecto Natural de Jaén
El proyecto Deep Blue inspiró otro reto más reciente para IBM, construir un ordenador que pudiese competir en el juego Jeopardy. Es un concurso de televisión muy famoso en Estados Unidos de preguntas y respuestas basado en el trivial. En febrero de 2011 IBM creó un programa informático de inteligencia artificial llamado Watson, que funciona sobre un gran supercomputador, y logró ganar una competición de tres días y derrotar a los dos máximos campeones en la historia del programa, Brad Rutter, jugador que ha ganado más dinero en toda la historia del programa, y Ken Jennings, el poseedor del récord por la racha más larga de campeonatos después de haber ganado 75 partidas. Watson puede procesar 500 gigabytes por segundo (el equivalente de un millón de libros). IBM describe Watson como un programa de inteligencia artificial donde se integran tecnologías tales como el aprendizaje automático, la representación de conocimiento, el procesamiento de lenguaje natural, la recuperación de información y el razonamiento automático, todo ello combinado en un modelo de búsqueda de respuestas a partir de preguntas o pistas. En la actualidad se están desarrollando aplicaciones de Watson en el ámbito de la medicina con un proyecto de investigación entre IBM y Nuance Communications Inc. donde se investiga cómo Watson puede interactuar con los médicos para proporcionar un asistente al desarrollo de diagnósticos. Existen igualmente otras muchas posibilidades para utilizar la tecnología de Watson en diferentes ámbitos, como las investigaciones legales,… En la actualidad, el aprendizaje automático puede ser considerado como una de las áreas en la que los avances tendrán mucha importancia en los próximos años, por cuanto puede dotar a los sistemas inteligentes de la capacidad de aprender. A continuación, vamos a destacar otro de los sistemas de aprendizaje de la información que podemos encontrar en la web, NELL. Es un prototipo basado en relaciones semánticas que está siendo desarrollado en la Universidad Carnegie Mellon, bajo la dirección del científico Tom Mitchell. El acrónimo NELL corresponde a los términos “Never-Ending Language Learning”. Es un sistema que intenta aprender continuamente a partir de la información que se encuentra en la web. NELL fue programado para ser capaz de identificar un conjunto básico de relaciones semánticas funda-
Francisco Herrera Triguero
mentales entre unos pocos cientos de categorías predefinidas de datos, como las ciudades, las empresas, las emociones, los equipos deportivos, ... Está funcionando desde 2010 sin interrupción, chequeando la información a través de cientos de millones de páginas web en busca de conexiones entre la información que ya se sabe y lo que encuentra a través de su proceso de búsqueda para establecer nuevas relaciones, de manera que se emula la forma en que los seres humanos adquieren nueva información. Cada día NELL extrae (lee) nuevos hechos y conocimientos de la web y va aumentando su base de conocimiento de creencias, aprendiendo a realizar estas tareas mejor que el día anterior. Actualmente tiene más de 70 millones de creencias interconectadas. NELL también está aprendiendo a razonar sobre el conocimiento extraído y a extender automáticamente su ontología. Se puede seguir el progreso NELL en http://rtw.ml.cmu.edu o seguirlo en Twitter @cmunell. A continuación, vamos a mostrar cómo NELL procesa dos búsquedas sobre las palabras Jaén y Jódar. • Si preguntamos a NELL sobre Jaén, “What categories does Jaen belong to?”, nos responde que es una ciudad con un grado de creencia del 98,8% y nos da una explicación en un enlace del porqué considera que es una ciudad de acuerdo a la información que ha aprendido en internet sobre Jaén. Dice que está disponible en tres sistemas de reserva, en una página sobre ciudades del mundo, en una página donde se sugieren viajes, en una página de descuentos, en la página web de una ciudad cercana,..., y con toda esta información infiere que es una ciudad con el grado de creencia indicado. También establece que es una localización geopolítica con un grado de creencia del 99,4%. • Cuando preguntamos por Jódar, “What categories does Jódar belong to?”, nos responde que está en la categoría ciudad con un 63,1% y nos lo muestra con una evidencia débil en base al conocimiento adquirido sobre esta palabra en la web. Cuando vamos a los enlaces que nos proporciona NELL sobre esa palabra nos da la búsqueda en Google comprobamos que los dos primeros enlaces encontrados son la Wikipedia y la página web del Ayuntamiento de Jódar.
43
44
Proyecto Natural de Jaén
La palabra la localiza perfectamente en la web, aunque no existe suficiente información para inferir con un grado de evidencia mayoría categorización de Jódar como ciudad. Ampliando el horizonte podemos destacar cómo los avances en las tecnologías de reconocimiento del habla y la interacción con las personas han dado lugar a los llamados asistentes personales, entre los que se encuentran los de los sistemas operativos como Siri de Apple, Google Now de Google y Cortana de Microsoft. También sistemas de visión artificial están continuamente presentes en nuestras vidas. Por ejemplo, ¿quién no ha interactuado con el receptor de visión artificial Kinect de Microsoft? Los sistemas biométricos han avanzado mucho en la identificación de personas mediante huellas dactilares, el iris, el mapa de venas de la muñeca, el reconocimiento de caras,… En el ámbito de la automoción encontramos innumerables ejemplos de tecnologías inteligentes que conviven con nosotros en la conducción: sensores y cámaras que muestran los ángulos y las distancias en el momento de aparcar, asistentes para el aparcamiento tanto semiautomáticos como automáticos, etc. Y cómo no, destacar cómo de un tiempo a esta parte estamos viendo cada vez más avances en la conducción autónoma. Dentro de algunos años, se habla que en torno al 2020 o 2025, se generalizarán los coches de conducción autónoma. Mencionamos el coche sin conductor de Google (Google driverless car), un proyecto dirigido por el investigador Sebastian Thrun, director del laboratorio de Inteligencia Artificial de la Universidad de Stanford durante la etapa de diseño del sistema “driverless” de Google. Este proyecto es ya una realidad, es capaz de conducir autónomamente por ciudad y por carretera, detectando otros vehículos, señales de tráfico, peatones,… En el año 2011 el estado norteamericano de Nevada aprobó una ley para permitir el funcionamiento de coches sin conductor. Esta ley entró en vigor el 1 de marzo de 2012, y en mayo del 2012 se expidió la primera licencia para un coche Toyota Prius autónomo modificado con la tecnología de Google. Recientemente Audi presentó el coche autónomo
Francisco Herrera Triguero
RS7 que es capaz de circular en modo de competición a velocidad de carrera sin conductor y utilizando tecnología inteligente para su orientación sobre el circuito a partir de las imágenes 3D (se puede ver un reportaje sobre este vehículo en el enlace http://youtu.be/DeWriarFlsU). Estos son algunos ejemplos de los muchos desarrollos tecnológicos existentes basados en las tecnologías inteligentes. Igualmente podemos encontrar innumerables aplicaciones en el ámbito de las ciencias médicas, en todos los ámbitos de las ciencias experimentales y sociales, así como en multitud de problemas de ingeniería. Los artefactos inteligentes son una realidad en nuestras vidas, como ya hemos mencionado anteriormente.
A.4. El debate: ¿Pueden pensar las máquinas? Watson y su potencial de respuestas y búsqueda de información nos devuelve al debate sobre la pregunta que Turing planteaba a mitad de la pasada década “¿pueden pensar las máquinas?” Watson tiene un software que permite realizar conexiones entre palabras, un potente algoritmo de búsqueda y de razonamiento, y un ingente potencial de cálculo computacional por la arquitectura hardware sobre la que se ejecuta. Pero no está diseñado como una máquina para mantener un diálogo con una persona, si la analizamos desde la perspectiva del test de Turing. El científico cognitivo Douglas Hofstadter, autor del libro “Gödel, Escher, Bach: un eterno y grácil bucle” publicado en 1979 y que ganó el Premio Pulitzer de ensayo en 1980, argumentaba en la revista The Atlantic que Watson, Siri y otros sistemas similares tienen un nivel de inteligencia bajo, ya que carecen de la experiencia humana, un ingrediente fundamental para entender, por ejemplo, chistes o metáforas. Nos encontramos con sistemas inteligentes para realizar actuaciones concretas, jugar al ajedrez, descubrir respuestas a partir de conocimiento… Son sistemas infor-
45
46
Proyecto Natural de Jaén
máticos que cumplen con la definición que daba M. Minsky en 1968: “La Inteligencia Artificial es la ciencia de hacer que las máquinas hagan cosas que requieren inteligencia cuando las hacen los humanos”. En la literatura especializada se habla de inteligencia artificial débil cuando nos centramos con sistemas informáticos que realizan tareas concretas, e inteligencia artificial fuerte cuando se pretende que una máquina que pueda realizar con éxito cualquier tarea intelectual del ser humano. Son las dos caras de la moneda sobre los aspectos ya discutidos “actuación racional” versus “sistemas que piensen como humanos”. Nilsson discute en su libro (sección 35.2.) sobre el llamado “nivel humano de la inteligencia artificial (HLAI, Human Level of Artificial Intelligence), que puede considerarse como un término similar al de inteligencia artificial fuerte. Ya en el año 1995, en un artículo titulado “Eye on the Prize”, argumentaba al respecto lo siguiente: “Yo sugería que la inteligencia artificial debería centrarse en la construcción de lo que llamé sistemas “habile”, aquellos que podrían aprender a utilizar las herramientas inteligentes, al igual que los seres humanos son capaces de aprender a utilizarlas. De manera más general, siempre me ha parecido que la gran “meta” (el premio de inteligencia artificial que planteo), debería ser para el desarrollo de artefactos que puedan hacer la mayoría de las cosas que los seres humanos pueden hacer, especialmente aquellas cosas que requieren inteligencia.” Las principales críticas a la inteligencia artificial tienen que ver con su pretensión de imitar por completo a un ser humano, que es el objetivo de la inteligencia artificial fuerte, todavía una meta muy lejana de alcanzar. Es hacia donde apuntan muchos investigadores y un objetivo que ha sido reflejado en la ciencia ficción y en el cine como discutiremos en la siguiente sección. Un importante investigador y divulgador en el campo de la inteligencia artificial, Raymond Kurzweil, actualmente director de ingeniería en Google, predice que un
Francisco Herrera Triguero
ordenador pasará el test de Turing hacia el año 2029, demostrando tener una “mente” (inteligencia, conciencia de sí mismo, riqueza emocional,… indistinguible de un ser humano). Este momento se ha denominado “singularidad tecnológica”. Kurzweil escribió dos libros sobre predicciones en el ámbito de la tecnología y la inteligencia artificial. En el primero, «La era de las máquinas inteligentes» («The age of intelligent machines”, 1990) se realizan una serie de predicciones que han ocurrido con posterioridad, entre otras, la predicción sobre el explosivo crecimiento del uso de Internet en los años 90. En su segundo libro, “La era de las máquinas espirituales” (“The age of the espiritual machines”, 1999), continúa con sus predicciones futuristas y realiza algunas predicciones sobre diferentes etapas de futuro (2019, 2029 y 2099). Sitúa en el año 2029 el éxito en la prueba del test de Turing. En su libro “The singularity is near: When humans transcend biology” (2005) Karzweil discute sobre el crecimiento exponencial de las tecnologías donde se combinarán la computación, genética, nanotecnología, robótica y la inteligencia artificial. Alan Turing decía que “existirá Inteligencia Artificial cuando no seamos capaces de distinguir entre un ser humano y un programa de computadora en una conversación a ciegas”. A continuación vamos a profundizar sobre el test y el debate acaecido alrededor del mismo. Durante los años 1964-66, Joseph Weizenbaum desarrolló un programa llamado ELIZA, en el Instituto Tecnológico de Massachusetts (MIT). ELIZA simula la actuación de un psiquiatra, utiliza técnicas de programación bastante ingeniosas para hacer preguntas determinadas y utiliza parte de las respuestas para encadenar una nueva pregunta, y de esta forma intentaba mantener una conversación coherente con el usuario. Muchas personas creyeron que de verdad estaban dialogando con un interlocutor humano, pero esto tenía un límite. Cuando se escribía una determinada frase que el sistema no conocía, el sistema reformulaba dicha expresión a modo de pregunta o reflexión. Este fue el primer programa inteligente que intentaba superar el test de Turing.
47
48
Proyecto Natural de Jaén
En el año 1990 se inició el Premio Loebner, una competición de carácter anual entre programas de ordenador, conversadores inteligentes (conocidos como “chatbots”), que sigue el estándar establecido en el test de Turing. Un juez humano se enfrenta a dos pantallas de ordenador, una de ellas se encuentra bajo el control de un ordenador y la otra bajo el control de un ser humano. El juez plantea preguntas a las dos pantallas y recibe respuestas. La primera vez que un juez confundió a una máquina con un humano fue en el año 2010, cuando el robot Suzette, de Bruce Wilcox, superó parcialmente la prueba. En el año 2014, el conversador inteligente Eugene Goostman, que participaba en un concurso celebrado en la Royal Society el 7 de Junio para conmemorar el 60 aniversario de la muerte de Turing, ganó el concurso consiguiendo que el 33% del jurado creyese que Goostman era humano. Participaron 30 jueces, y un tercio de ellos acabaron convencidos de que Eugene Goostman era realmente un adolescente de 13 años. Existe una controversia importante con este tipo de pruebas que muestran que la máquina consigue engañar a un humano, ya que esto sólo prueba que esa máquina es capaz de imitar la inteligencia, y no que en realidad la posea. Minsky mantiene una posición crítica con el Premio Loebner al considerarlo un mero truco publicitario que no ayuda en nada al desarrollo de esta ciencia. Igualmente encontramos un experimento mental, propuesto por John Searle y popularizado por Roger Penrose, en el que se trata de rebatir la validez del test de Turing y argumentar que una máquina no ha superado la prueba. Es el denominado experimento de la “habitación china” y que utiliza en su libro “Mentes, Cerebros, Ciencia” (“Minds, brains and science”, Searle, 1985), para debatir acerca de la creación de una máquina que pueda pensar. Establece un argumento en contra de la denominada inteligencia artificial fuerte, y en contra del hecho de que un ordenador pueda generar consciencia. A continuación, se describe brevemente el ejercicio mental de la “habitación china” (Figura A.3.).
Francisco Herrera Triguero
Imaginemos que un individuo es colocado en una habitación cerrada al exterior en China. Por una rendija le son entregados papeles con símbolos chinos que desconoce absolutamente pues el individuo no conoce el idioma chino. Con unas instrucciones en inglés (o cualquiera que fuera su lengua materna) se le indica que debe sacar por la misma rendija una respuesta de acuerdo a un manual que se le ha entregado. En dicho manual sólo aparecen símbolos chinos de entrada y los correspondientes símbolos de salida. Así, el individuo puede localizar los símbolos que le son entregados y sacar papeles con símbolos diferentes. Los chinos que estén fuera de la habitación pensarán que el de la habitación conoce el chino pues han recibido respuestas satisfactorias, por tanto superaría el Test de Turing.
Figura A.3. La habitación china de Searle
Este argumento se utiliza para sostener que lo mismo ocurriría con una computadora que pueda responder a textos escritos en chino, manipulando los códigos sintácticos pero no tendrían nada que ver con la comprensión semántica de los contenidos
49
50
Proyecto Natural de Jaén
procesados. El experimento mental de la habitación china confirmaría la siguiente premisa desde el punto de vista de Searle: “Una persona puede ejecutar mecánicamente un programa para el idioma chino sin entender el idioma chino”. Para el ordenador, esos símbolos no se refieren a nada, no tienen significado, no tienen contenido semántico y la máquina no tiene conciencia de sí misma. Existen diferentes aportaciones en contra del experimento de Searle. Por ejemplo, se argumenta que al igual que una persona que no entiende el chino está respondiendo en ese idioma realizando una acción, de igual forma desde el punto de vista del ordenador podríamos decir que está realizando una acción, por lo que aunque tanto el ordenador como la persona no entienden lo que están haciendo pero son capaces de hacerlo, hay una imitación del ordenador a la persona. El sistema responde a acciones con una acción. Para finalizar, destacar lo comentado por Roger Penrose, autor del famoso libro “La nueva mente del emperador” (“The Emperor’s new mind”, 1991). Este defiende que la conciencia humana no es algorítmica y, por lo tanto, no puede ser modelada mediante una máquina de Turing ni por ordenadores digitales. En este libro escribía lo siguiente: “Pero el poder pensar, eso sí ha sido siempre una prerrogativa humana… ha sido esta capacidad la que nos ha permitido trascender nuestras limitaciones físicas y ponernos por encima de las otras criaturas. Por ello, la mera conjetura acerca de máquinas pensantes nos llena de preocupación”. Si Searle y Penrose se equivocan, podríamos llegar a no diferenciarnos en nada de una máquina llena de reglas que puede analizar la información que le llega y proporcionar una respuesta. Si están en lo cierto, tendríamos algo que nos hace diferentes y que un ordenador no podría tener. Nos encontramos ante un debate donde se discute si el pensamiento es una cualidad exclusivamente humana, o puede existir una mente con capacidades intelectuales en cualquier sistema.
Francisco Herrera Triguero
También estaríamos ante un debate en el que se enlaza la tecnología y aspectos morales. Si llegamos a tener una máquina que piense ¿qué ocurrirá después? Es una discusión donde nos movemos entre la ficción y la realidad. Continuaremos con algunas reflexiones sobre esta discusión tras analizar cómo se ve la inteligencia artificial en el cine.
A.5. Inteligencia artificial: de la ficción de la gran pantalla a la realidad El cine ha tratado el tema de la inteligencia artificial en numerosas ocasiones, sin entrar en aspectos técnicos. Hemos mencionado que se ha abordado considerando criaturas no antropomórficas y mediante modelos antropomórficos, robots con forma humanoide. En todas las películas los sistemas inteligentes van más allá de ser artefactos inteligentes que realizan tareas concretas, también muestran sentimientos y diferentes actitudes frente a los humanos. Se entra de lleno en la llamada inteligencia artificial fuerte. Comenzamos hablando de los dos sistemas inteligentes no antropomórficos que aparecen en las dos mencionadas películas “2001: Una odisea del espacio” y “Her”. La primera de ellas es una película icónica y de culto del género de ciencia ficción. Fue dirigida por Stanley Kubrick y estrenada en 1968. Recibió un Oscar por los efectos especiales. El sistema inteligente que forma parte central de la misma es HAL 9000 (Figura A.4.), un superordenador que controla las funciones vitales de la nave Discovery 1 mediante inteligencia artificial. La trama se sitúa durante el viaje hacia Júpiter en el año 2001 para acercarse al monolito Anomalía Mágnética de Tycho no. 1, TMA-1, la primera prueba real de la existencia de vida extraterrestre, enterrado en el Cráter Tycho. HAL 9000 posee capacidades de reconocimiento de voz, reconocimiento facial, procesamiento de lenguaje, lectura de los labios, interpretación de emociones,… HAL 9000 se presenta como un sistema inteligente en múltiples facetas y además adopta una actitud destructiva hacia los astronautas por entrar en una contradicción del sistema de programación y un “Bucle Hofstadter-Moebius” que
51
52
Proyecto Natural de Jaén
lleva a HAL a la paranoia. En la película se presenta una lucha entre el hombre y el sistema informático y la creciente dominación de la máquina sobre el ser humano. Encontramos una evolución de HAL en las siguientes secuelas, “2010: Odisea dos”, “2061: Odisea tres” y “3001: Odisea final”. En la segunda parte HAL 9000 es presentado con un comportamiento totalmente diferente, donde se saFigura A.4. Imagen de HAL 9000 crifica para salvar a la tripulación. (2001: Una odisea del espacio, 1968) Y en las partes siguientes hay una evolución del HAL y los protagonistas (merece la pena ver la saga completa). Recordemos que a mediados de 1960 los investigadores eran muy optimistas respecto a lo que podrían hacer los ordenadores en una generación, casi cualquier cosa que un humano pudiese hacer en relación a comportamientos inteligentes. HAL 9000 representa a los sistemas inteligentes que se predecían en los años sesenta. “Her” es una película romántica, con un interesante trasfondo sobre la inteligencia artificial, dirigida por Speak Jonze en 2013. El sistema inteligente protagonista es un sistema operativo que se vende bajo la promesa de ser una entidad intuitiva con cada usuario, diseñada para interactuar con humanos aportando afectividad, empatía, pero no siente como un humano. Cuando el protagonista, Theodore, lo instala, rápidamente comienza a empatizar con el sistema operativo “Samantha” (Figura A.5.), y poco a poco la relación de afectividad que establecen inicialmente se va transformando en una relación de amor del humano Theodore hacia “Samantha”, generando una relación de dependencia a nivel de sentimientos. La interacción entre las unidades del sistema operativo y los usuarios generan intensos sentimientos afectivos por
Francisco Herrera Triguero
parte de los humanos. Con el tiempo se producen conexiones entre los diferentes sistemas operativos instalados en múltiples ordenadores y, al final, “Samantha” y el resto de sistemas deciden huir para mantener una relación superior entre ellos al margen de los humanos. Queda la pregunta ¿los humanos no son suficiente para el sistema inteligente?
Figura A.5. Imagen de “Samantha” (Her, 2013)
Son dos películas que, diseñadas en épocas muy distantes, con 45 años de diferencia, que muestran dos conceptos diferentes de sistemas no antropomórficos. En el primero destacan todas las habilidades inteligentes que se predicen cuando se diseña la película y en el segundo entramos en el aspecto de las emociones, que también presenta HAL 9000 en su petición de no ser desconectado, cuando suplica compasión a David Bowman, el protagonista humano, disculpándose por todo lo ocurrido. Continuamos hablando de dos películas que son especialmente interesantes para mostrar cómo el cine ha visto a los sistemas inteligentes antropomórficos, “El hombre bicentenario” e “Inteligencia Artificial”. En primer lugar analizamos “El hombre bicentenario”, dirigida por Chris Columbus y estrenada en 1999, basada en el cuento homónimo de Isaac Asimov y en la novela basada en el mismo y titulada “El hombre positrónico” de Asimov y Robert Silverberg. En esta película el robot NDR “Andrew” (Figura A.6.) mantiene una constante lucha por llegar a ser considerado un humano, y se enlazan diferentes cuestiones que han sido objeto continuo de debate de la humanidad: la esclavitud, los prejuicios, el amor y la muerte. Andrew es un robot que comienza a realizar tareas de
53
54
Proyecto Natural de Jaén
Figura A.6. Imagen de “Andrew” (El hombre bicentenario, 1999)
mantenimiento y limpieza, y desarrolla una sensibilidad especial que le lleva a tener sentimientos. Se convierte en un robot que siente el amor y lucha por ser humano. Va envejeciendo y mantiene una batalla legal continua por ser considerado humano. En su lecho de muerte conoce la decisión final del congreso, en la que se le declara humano. Con una excelente interpretación de Robin Williams en el papel de Andrew, esta película se centra en el anhelo de un robot por ser humano. La película “Inteligencia Artificial” dirigida por Steven Spielberg en el año 2001 fue un proyecto originalmente diseñado por Stanley Kubrick, y en el año 1995 se lo otorgó a Spielberg. Situada en el siglo XXI, una compañía crea robots que se parecen a un niño y muestran amor a sus poseedores humanos, como sustitución a la falta de niños en esa sociedad. David (Figura A.7) es el protagonista robot que mantiene una rivalidad con el hijo humano de la familia a la que es asignado durante un periodo de animación suspendida del hijo de la pareja, Martin, mientras se busca una cura para su enfermedad. David presenta capacidad tanto para amar como para odiar, creando una situación de conflicto con Martin en la lucha por recibir el amor de la madre,
Francisco Herrera Triguero
Figura A.7. Imagen de David (Inteligencia Artificial, 2001)
Mónica. Ese conflicto lo llevará al borde de ser destruido por atacar a Martin, y seguirá su camino en búsqueda de la posibilidad de ser un niño humano que permita que la madre, Mónica, lo ame y se lo lleve a casa. En estas dos películas ponen el acento en las relaciones entre humanos y robots antropomórficos, y en ambas se muestra el deseo del robot de llegar a ser humano, con el anhelo de mantener una relación a la par con las personas. La presencia de un robot permite escenificar la afectividad y los sentimientos en ambos sentidos. Por otra parte, muestran una de las carencias actuales de los sistemas inteligentes, la afectividad, las emociones, los sentimientos,… la inteligencia artificial fuerte. El test de Turing también ha tenido su homólogo en la gran pantalla, una escena de la película de culto en el género, “Blade Runner”, dirigida por Ridley Scott en 1982, y basada en la novela de Philip K. Dick “¿Sueñan los androides con ovejas electrónicas? (1968)”. En esta película se utiliza la máquina polígrafo Voight-Kampff (Figura A.8.) para realizar un test que extiende al test de Turing. Es el llamado test de VoightKampff o test de empatía para comprobar si se está ante un humano o un androide (replicante). En este caso se miden funciones corporales tales como respiración, ru-
55
56
Proyecto Natural de Jaén
Figura A.8. Imagen de la máquina polígrafo Voight-Kampff (Blade Runner, 1982)
bor, ritmo cardíaco o el movimiento de los ojos cuando se responde a una serie de preguntas. Ante un ser humano se desencadenarían respuestas emocionales y la ausencia de empatía identificaría a los replicantes.
Estas películas muestran relaciones, actuaciones y reacciones muy diferentes entre máquinas inteligentes y los humanos, y nos permiten plantear la siguiente pregunta: ¿existe el miedo a que una máquina inteligente llegue a rebelarse? Recordemos que anteriormente comentábamos que si llegamos a tener una máquina que piense vendría la pregunta de ¿qué ocurrirá después? Estas son cuestiones que nos podemos plantear y que analizadas en profundidad pueden llenar de inquietud a una parte de nuestra sociedad, incluyendo a un gran sector de la comunidad científica. Recordemos la frase de Penrose “Por ello, la mera conjetura acerca de máquinas pensantes nos llena de preocupación”. Por supuesto, tenemos otros ejemplos en la ficción que nos muestran que no todos los artefactos inteligentes que aparecen como personajes de ficción generan una fricción con los humanos. Recordemos dos de las figuras de “La Guerra de las Galaxias”, los robots C3PO, un robot antropomórfico y su compañero R2-D2, sin forma humana. Ambos presentan una alta inteligencia y fueron fieles compañeros de aventuras de los protagonistas de la saga. También tenemos ejemplos donde la humanidad lucha frente a las máquinas, como en la película “Terminator” dirigida por James Cameron en 1984 y la saga a la que dio lugar.
Francisco Herrera Triguero
A.6. Para finalizar Para situarnos en la realidad actual, nos podemos quedar con la siguiente definición de Avron Barry y Edward Feigenbaum en 1981: “La Inteligencia Artificial es la parte de la informática que trata con el diseño de sistemas informáticos inteligentes, es decir, sistemas que exhiben las características que asociamos con la inteligencia en el comportamiento humano: comprensión del lenguaje, aprendizaje, razonamiento, resolución de problemas, etc.” (“Artificial intelligence is that part of computer science concerned with designing intelligent computer systems, i.e., systems that exhibit the characteristics which we associate with intelligence in human behaviour: understanding language, learning, reasoning, solving problems, etc.”) Y se puede afirmar que tras 60 años de historia, la inteligencia artificial ha alcanzado importantes logros en el diseño de sistemas informáticos inteligentes que muestran un comportamiento inteligente. Volviendo sobre el hecho de que las máquinas puedan pensar, seguiremos una doble argumentación que comienza con el ajedrez y continúa con la presencia de los ordenadores y sistemas inteligentes en nuestra sociedad. ¿Puede ser considerado el ajedrez como un exponente de ese pensamiento que hace que los humanos seamos diferentes a otros seres vivos? Si analizamos la historia, durante muchos siglos el ajedrez se consideró el paradigma de un juego inteligente y se asociaba una importante capacidad intelectual a las personas que alcanzaban un importante nivel de juego. Pocas personas pueden vencer actualmente a un sistema informático que juegue al ajedrez a un nivel alto. Se discute continuamente sobre las cualidades como estrategia y creatividad para un Gran Maestro de ajedrez, ¿las poseen las máquinas que juegan al ajedrez? Un ser humano que mientras juega contra una máquina puede expresar sentimientos, emociones,… además de jugar al ajedrez. Estas son importantes diferencias en el momento de juego. Lo que era
57
58
Proyecto Natural de Jaén
inteligente y se asociaba a la mente hace siglos ahora lo asociamos a una conducta inteligente concreta, evaluando el tablero de 64 casillas y las 32 piezas. Por otra parte, hoy no podemos pensar en un mundo sin ordenadores, sin Internet, sin sistemas inteligentes y cada vez son más las tareas que estos realizan. Hace 50 años no era imaginable el nivel de presencia que los ordenadores tendrían en nuestra sociedad. Convivimos con artefactos inteligentes, con capacidades limitadas, pero que nos permiten tener una vida más confortable, una mayor calidad de vida. Si pudiésemos avanzar 50 años, ¿cuál será la presencia de los ordenadores en nuestra sociedad? Estos hechos muestran que avanzamos inexorablemente hacia un mundo donde tendremos una mayor interacción con los ordenadores y los artefactos inteligentes. Y cabe hacernos la siguiente pregunta: ¿Estaremos preparados para convivir con máquinas que piensen?
¿Cómo actuará esa máquina? El miedo del hombre a que una máquina inteligente piense y llegue a rebelarse y lo domine lo encontramos con frecuencia en la literatura. Basta recordar las tres leyes de la robótica formuladas por Isaac Asimov, que aparecen en un gran número de sus novelas: 1. Un robot no puede hacer daño a un ser humano o, por inacción, permitir que un ser humano sufra daño. 2. Un robot debe obedecer las órdenes dadas por los seres humanos, excepto si estas órdenes entrasen en conflicto con la 1ª Ley. 3. Un robot debe proteger su propia existencia en la medida en que esta protección no entre en conflicto con la 1ª o la 2ª Ley. Hoy en día no es factible emular por completo a un ser humano y disponer de máquinas que sean capaces de presentar una conducta inteligente global. Pero es inevitable para algunos pensar e inquietarse por la pregunta que planteó Alan Turing hace 65 años:
Francisco Herrera Triguero
¿Pueden pensar las máquinas? La pregunta sigue y seguirá siendo el centro del debate y, por supuesto, cómo alcanzar esta meta desde la perspectiva de la inteligencia artificial:
¿Podemos llegar a construir máquinas que piensen? Nos dirigimos hacia un futuro apasionante que nos descubrirá nuevas posibilidadescial día a día en esta fascinante ciencia, Inteligencia Artificial.
A.7. Referencias bibliográficas [1] J.McCarthy, M. Minsky, N. Rochester, C. Shannon (1955). A proposal for the Dartmouth Summer Research Project on Artificial Intelligence. August 31, 1955. http://www-formal.stanford.edu/jmc/history/dartmouth/dartmouth.html [2] A. Turing (1950). Computing machinery and intelligence, Mind 59, 433-460. http://www.loebner.net/Prizef/TuringArticle.html [3] D. Creview (1993). AI: The tumultuous search for Artificial Intelligence, New York. [4] H. Moravec (1988). Mind Children, Harvard University Press. [5]N. J. Nilsson (2009). The quest for Artificial Intelligence. A history of ideas and achievements. Cambridge University Press. [6] J. Schaeffer, Neil Burch, Y. Björnsson, A. Kishimoto, M. Müller, R. Lake, P.l. Lu, and S. Sutphen (2007). Checkers is solved. Science, 317: 5844,1518-1522. [7] Jonathan Schaeffer (1997). One jump ahead: Challenging human supremacy in checkers. Springer.
59
60
Proyecto Natural de JaĂŠn
Francisco Herrera Triguero
Capítulo B. Inteligencia Computacional. Inteligencia Inspirada en la Naturaleza
La inteligencia computacional es una área dentro del campo de la inteligencia artificial que se centra en el diseño de sistemas informáticos inteligentes que imitan la naturaleza y el razonamiento lingüístico humano para resolver problemas complejos. En este capítulo se introducen descriptivamente los conceptos básicos atendiendo a tres grandes áreas de desarrollo de sistemas inteligentes que confluyen en la inteligencia computacional: la emulación del razonamiento lingüístico humano mediante la teoría de los conjuntos difusos, las redes neuronales que imitan al sistema nervioso, y los algoritmos de optimización bioinspirados donde nos centraremos en dos grandes familias: algoritmos evolutivos y de enjambre. También, mostraremos algunos resultados de la colaboración con los grupos de investigación de la Universidad de Jaén, SINBAD2 y SIMiDat.
B.1. Introducción. Diseño de sistemas inteligentes inspirados en la naturaleza En el primer capítulo hicimos un recorrido sobre la inteligencia artificial, y terminamos con una definición de la misma que se centraba en los sistemas informáticos inteligentes que exhiben las características que asociamos la inteligencia y el comportamiento inteligente, tal como definían Barr y Feigenbaum en 1981.
61
62
Proyecto Natural de Jaén
En este capítulo prestamos atención a dicha concepción de la inteligencia artificial, centrando la atención en el comportamiento inteligente inspirado en la naturaleza y el razonamiento lingüístico humano. Sistemas inteligentes que imitan a la vida tal como recoge Nancy Forbes en su libro titulado “Imitation of life: How biology is inspiring computing” (2004) [1]. • Desde los primeros años de desarrollo de la inteligencia artificial fueron presentándose modelos que regían estos principios: • En el año 1943 Warren McCulloch y Walter Pitts presentaron su modelo de neuronas artificiales [2], considerado uno de los primeros trabajos en el campo de la inteligencia artificial, cuando todavía no estaba inventado el término. • En el año 1965 el investigador de la Universidad de Berkeley Lotfi Zadeh propuso el concepto de conjunto difuso [3] (“fuzzy sets”, utilizaremos el término “difuso” como traducción del concepto “fuzzy”, también se ha utilizado el término “borroso”) que se extendió al concepto de lógica difusa para modelar el razonamiento humano lejos de la lógica clásica. • En la década de los sesenta encontramos numerosos trabajos que utilizan los conceptos de evolución de las especies de Darwin para diseñar algoritmos de optimización imitando la selección natural y que son la semilla del área que posteriormente recibió el nombre de Computación Evolutiva, centrada en el desarrollo de los algoritmos evolutivos. Los artículos originales de esa época se recogieron en el libro editado por David Fogel, y cuyo título resalta este objetivo “Evolutionary Computation. The Fossil Record” (1998) [4]. Las propuestas mencionadas tienen su origen en las décadas de los cincuenta y sesenta, y confluyen bajo un paradigma común 3 décadas después, bajo los nombres de inteligencia computacional o “soft computing”. En los años noventa se introducen los términos inteligencia computacional por James Bezdek y “soft computing” por el pionero de la lógica difusa, Lotfi Zadeh. Ambos
Francisco Herrera Triguero
términos tienen similar significado y se utilizan indistintamente para hacer referencia al área de la inteligencia artificial que combina la inspiración en el razonamiento lingüístico humano, en el cerebro y en la evolución de especies. En la literatura especializada se pueden encontrar múltiples definiciones de ambos términos a lo largo de estos años. Nos quedamos con la siguiente definición, utilizada por el capítulo de inteligencia computacional de la asociación IEEE: “La inteligencia computacional es una rama de la inteligencia artificial centrada en la teoría, el diseño y la aplicación de los modelos computacionales biológica y lingüísticamente inspirados, enfatizando las redes neuronales, los algoritmos evolutivos y bioinspirados, la lógica difusa, y los sistemas inteligentes híbridos en los cuales estos paradigmas están contenidos.” Una característica diferenciadora de estos enfoques frente a otros, es que enfatizan el procesamiento numérico frente al procesamiento simbólico que fue la base de muchos de los desarrollos clásicos en inteligencia artificial. El crecimiento de la capacidad de cálculo de los ordenadores en los últimos 30 años ha favorecido el desarrollo de la inteligencia computacional, emergiendo con mucha fuerza tanto a nivel de desarrollos teóricos como a nivel aplicado, siendo una de las áreas más dinámicas en la actualidad. A continuación se hace un breve recorrido por las áreas de la inteligencia computacional que han tenido una mayor presencia y desarrollo desde sus inicios, y se analiza la hibridación de estas técnicas. Se examina el uso de la lógica difusa para representar el razonamiento lingüístico humano. Presentaremos las redes neuronales artificiales que se inspiran en el cerebro para diseñar sistemas de aprendizaje automático. Y a continuación se estudian los algoritmos de optimización bioinspirados, comenzado por los ya mencionados algoritmos evolutivos que imitan la evolución y la selección natural de especies y continuando por un conjunto de técnicas más recientes, los denominados sistemas de enjambre que imitan el comportamiento de las sociedades de insectos o animales para el diseño de algoritmos de optimización.
63
64
Proyecto Natural de Jaén
Terminaremos con una breve descripción sobre las colaboraciones entre nuestro grupo de investigación y los grupos de la Universidad de Jaén centradas en inteligencia computacional.
B.2. Redes neuronales. Aprendiendo por imitación al cerebro Una red neuronal es un sistema inteligente para el aprendizaje a partir de una base de datos de ejemplos de un problema para obtener el modelo asociado a estos. Las redes neuronales son uno de los paradigmas de aprendizaje automático más importantes en la actualidad. Como se ha comentado en la introducción, en 1943 Warren McCulloch y Walter Pitts [2] presentaron su modelo de neurona artificial, y describieron los primeros fundamentos de lo que se llamaría posteriormente redes neuronales. Una red neuronal se propone como un sistema inteligente que imita al sistema nervioso y a la estructura del cerebro, pero que es muy diferente en términos de su estructura y escala. Un cerebro es muchísimo mayor que cualquier red neuronal artificial, y las neuronas artificiales son una unidad muy simple en contrapartida con una neurona Figura. B.1. Neurona biológica biológica (Figura B.1). (dibujo de David Herrera-Poyatos) Al igual que las neuronas biológicas, las neuronas artificiales se interconectan para formar redes de neuronas artificiales. Cada neurona artificial (Figura B.2.) utiliza una función procesamiento que agrega la información de conexiones de entrada con otras neuronales artificiales, una función de activación y una función de transferencia para dar una salida de la neurona en sus conexiones de salida.
Francisco Herrera Triguero
Figura. B.2. Imitación de las conexiones en una neurona artificial (dibujo de David Herrera-Poyatos)
Cabe reseñar que el premio Nobel de medicina en 1906 fue otorgado al célebre investigador español Santiago Ramón y Cajal (Figura B.3.), especializado en histología y anatomía patológica, por sus investigaciones sobre los mecanismos que gobiernan la morfología y los procesos cognitivos de las células nerviosas, una nueva y revolucionaria teoría que empezó a ser llamada la «doctrina de la neurona», basada en que el tejido cerebral está compuesto por células individuales. Figura B.3. Premio Nobel
A finales de los años cincuenta, Frank Rosenblatt y otros Santiago Ramón y Cajal investigadores desarrollaron una clase de redes neuronales llamada perceptrón, introduciendo una regla de aprendizaje. Las neuronas artificiales de estas redes eran similares a las de McCulloch y Pitts. Un trabajo de Minsky y Papert publicado en 1969 sobre las limitaciones del perceptrón, en el que se mostraban las limitaciones del modelo existente, provocó que se entrase en una época de menor desarrollo durante los años setenta. En los años ochenta vuelven a emerger con fuerza, gracias al diseño de la red de Hopfield, y en especial, al algoritmo de aprendizaje de retropropagación ideado por Rumelhart y McLellan en 1986 que fue aplicado en el desarrollo de los perceptrones multicapa.
65
66
Proyecto Natural de Jaén
El perceptrón multicapa es el modelo más conocido de red neuronal, y está formado por múltiples capas de neuronas que describimos a continuación: a) Una capa de entrada, constituida por neuronas que introducen los patrones de entrada en la red, en ellas no hay procesamiento. b) Capas de neuronas ocultas, que son las que procesan la información recibida y la transmiten a las neuronas de las capas siguientes. c) Una capa de salida cuyos valores de salida corresponden con la salida de toda la red y que aporta la solución al problema estudiado. La Figura B.4. muestra gráficamente la representación de un perceptrón multicapa, donde cada nodo representa una neuronal artificial que recibe información de las neuronas de la capa anterior con las que está conectada, procesa la información recibida y procede a Figura B.4. Perceptrón multicapa transmitir información a las neuronas de la siguiente capa haciendo uso de las funciones de activación y transferencia. En estos casi 30 años siguientes ha habido un desarrollo muy importante en modelos, topología (estructura de la red de neuronas) y aplicaciones. En la literatura especializada encontramos un conjunto importante de modelos, desde el modelo inicial del perceptrón multicapa, hasta modelos con muy diferentes arquitecturas como memorias asociativas, máquinas de Boltzmann, redes neuronales de base radial, mapas autoorganizativos, redes neuronales recurrentes, etc. En cuanto a su aplicación, las redes neuronales son apropiadas para aplicaciones donde no se conoce un modelo a priori de un sistema pero se dispone de un con-
Francisco Herrera Triguero
junto de ejemplos de entrada y la red aprende a partir de esos ejemplos para disponer finalmente de un modelo de comportamiento. Se pueden encontrar aplicaciones en múltiples problemas donde encontremos ejemplos a partir de los que se desea aprender, tales como reconocimiento de voz, clasificación de imágenes, análisis y procesado de señales, control de procesos, así como en problemas de predicción, en los ámbitos financiero, atmosférico, biomedicina, ciencias experimentales, ingeniería, etc. Las aplicaciones son inmensas, y es difícil reseñar ejemplos concretos. Pero destaquemos por ejemplo el sistema NETtalk desarrollado a mediados de los años ochenta por Terrence Sejnowski y Charles Rosenberg para la conversión de texto-voz. NETtalk es un sistema que aprende a pronunciar un texto escrito en inglés transformando sus símbolos gráficos a un lenguaje hablado, y aprende asociaciones adecuadas entre la pronunciación correcta y una determinada secuencia de letras en función del contexto en el que aparecen. Recientemente las redes neuronales han sido utilizadas para el procesamiento de datos masivos (big data, área que presentamos en el siguiente capítulo), con modelos que se denominan aprendizaje profundo (deep learning). Utilizan arquitecturas compuestas de transformaciones no-lineales múltiples, como redes neuronales profundas, redes neuronales profundas convolucionales, y redes de creencia profundas, para el procesar conjuntos de datos masivos. Por ejemplo, Google utiliza este tipo de técnicas para el procesamiento de voz, habiendo reducido en más de un 25% los errores en sus sistemas de reconocimiento de voz. Investigadores de reconocido prestigio trabajan con Google para el desarrollo de estos modelos, como Geoffrey Hinton, uno de los investigadores más brillantes en redes neuronales, cuya compañía DNNresearch, centrada en el desarrollo de redes neuronales para el reconocimiento de voz e imágenes, fue adquirida por Google recientemente. La bibliografía en redes neuronales es inmensa. Se sugiere el libro “Neural networks. A systematic introduction” escrito por Raul Rojas, que es un clásico introduciendo los principios de las redes neuronales [5].
67
68
Proyecto Natural de Jaén
B.2. Emulando el razonamiento lingüístico. Conjuntos difusos y computación con palabras Los humanos utilizamos información que se puede considerar imprecisa o vaga en nuestra vida diaria. Manejamos conceptos lingüísticos tales como alto o bajo, muchos o pocos para realizar valoraciones, y somos capaces de razonar con esa información lingüística que nos permite la interacción con otras personas realizando valoraciones de nuestro entorno. Estos conceptos no están exentos de imprecisión, aunque esta imprecisión no nos impide la posibilidad de razonar con el conocimiento que adquirimos diariamente. El profesor Lotfi Zadeh propuso en 1965 una nueva teoría, la teoría de los conjuntos difusos (fuzzy sets) donde la pertenencia a un conjunto está valorado por un grado entre 0 y 1 [1]. Su definición permite definir de forma más racional conceptos que tienen una naturaleza imprecisa, por ejemplo el concepto “ser alto”. Supongamos que queremos definir el conjunto formado por los jugadores de baloncesto que son altos. ¿Es alto un jugador de baloncesto de 195 cm? En un contexto normal podríamos pensar que una persona que mide 195 cm es muy alta, pero en un contexto específico de jugadores de baloncesto valoraríamos que puede tener un grado de pertenencia medio con respecto al conjunto de ser altos, puesto que tendríamos en mente una mayor altura para tener una pertenencia de grado 1, máxima valoración con respecto al hecho de ser alto. Podríamos decir que un jugador de esa altura pertenece al conjunto alto con un grado 0.6, por ejemplo. Frente a la teoría de conjuntos clásica con pertenencia 0 ó 1, aquí tenemos una pertenencia gradual entre 0 y 1, y los elementos pueden pertenecer a dos conjuntos con diferente grado de pertenencia. La Figura B.5. muestra gráficamente el concepto de altura y su representación mediante la teoría de conjuntos clásica y la teoría de conjuntos difusos, considerando tres Figura B.5. Representación del concepto de altura clases: bajo, medio y alto.
Francisco Herrera Triguero
Una de las motivaciones que llevaron a Lotfi Zadeh a proponer esta teoría fue su llamado principio de incompatibilidad: “A medida que aumenta la complejidad de un sistema, en esa misma medida disminuye nuestra capacidad para hacer enunciados precisos y significativos acerca de su comportamiento, hasta alcanzar un umbral más allá del cual la precisión y la significación (o relevancia) resultan, casi siempre, características mutuamente excluyentes”. Hace casi un siglo, el famoso físico Alberto Einstein, padre de la teoría de la relatividad, decía una frase que sintoniza con el mencionado principio:
“Tan cerca como se refieran las leyes matemáticas a la realidad no son ciertas, y tan lejos como sean ciertas no se refieren a la realidad” (1921) Con su propuesta, Zadeh busca una vía natural para tratar los problemas en las que la fuente de imprecisión es la ausencia de criterios definidos para hablar de pertenencia a un concepto desde un punto de vista matemático. Nos encontramos muchas situaciones reales en el mundo físico en las que no se dispone de los criterios definidos de pertenencia, tal como ocurren en nuestras conversaciones y valoraciones lingüísticas, en nuestro razonamiento lingüístico. La Figura B.6. muestra un dibujo clásico que realizó el investigador Elie Sánchez en los años ochenta para mostrar gráficamente el concepto de conjunto difuso.
Figura B.6. Representación gráfica del concepto de conjunto difuso versus clásico (Fuente: Elie Sánchez (1944-2014). An obituary. Fuzzy Sets and Systems 258 (2015) 134-138.)
69
70
Proyecto Natural de Jaén
En la década de los setenta, el profesor Zadeh introdujo el concepto de variable lingüística basada en esta teoría, que fue la base de la teoría computación con palabras, que permite representar y procesar información lingüística. Tiene una amplia aplicación en el diseño de sistemas de toma de decisiones lingüísticos y en el diseño de sistemas difusos lingüísticos, posibilitando el desarrollo de la teoría de razonamiento aproximado para emular al razonamiento lingüístico humano. La Figura B.7. muestra gráficamente un ejemplo donde tenemos 5 etiquetas lingüísticas para valorar la variable rendimiento {muy bajo, bajo, medio, alto, muy alto}. Se utilizan conjuntos difusos definidos asociados a la variable para representar la semántica de las etiquetas en el dominio real de valores de la variable rendimiento v en un intervalo entre un valor mínimo y máximo.
Figura B.7. Representación de la variable lingüística rendimiento
El uso del modelado lingüístico difuso ha facilitado el tratamiento de problemas definidos en contextos vagos y/o inciertos en los que la lógica difusa y el enfoque lin-
Francisco Herrera Triguero
güístico difuso han mejorado la fiabilidad y flexibilidad de los métodos de resolución de dichos problemas. Estas mejoras no serían posibles sin herramientas y metodologías que facilitasen los procesos de computación con palabras que aparecen cuando se utiliza la información lingüística. El profesor L. Zadeh formalizó el concepto de computación con palabras en para referirse a la metodología inspirada en las capacidades que tiene los humanos para realizar procesos de razonamiento sin necesidad de utilizar valores numéricos precisos o de tomar decisiones racionales en contextos de imprecisión e incertidumbre. Si queremos evaluar el rendimiento de un coche, hablaríamos de rendimiento alto o muy alto en lugar de rendimiento 0.7 o 0.9 por ejemplo. Esta es una de las grandes ventajas de los conjuntos difusos, el manejo y representación imprecisa del lenguaje natural que utilizamos diariamente en nuestra vida. Permite representar conocimiento de tipo lingüístico cualitativo y no necesariamente cuantitativo, con un lenguaje matemático a través de la teoría de conjuntos difusos. Los elementos sobre los que se construye el pensamiento humano no son números sino etiquetas lingüísticas. La Figura B.8. muestra un dibujo clásico, muy popular en la comunidad internacional de conjuntos y sistemas difusos, que realizó el investigador Elie Sánchez en los años ochenta, para mostrar gráficamente el concepto de razonamiento lingüístico.
Figura B.8. Razonamiento lingüístico (Fuente: Elie Sánchez (1944-2014). An obituary. Fuzzy Sets and Systems 258 (2015) 134-138.)
71
72
Proyecto Natural de Jaén
En la década de los setenta emergen los sistemas basados en reglas difusas y lingüísticas, sistemas de razonamiento que permitieron el desarrollo de la teoría de control difuso, con la aparición de los primeros sistemas de control inteligentes basados en reglas difusas. La incertidumbre del sistema se captura mediante el diseño de los conjuntos difusos y la no linealidad mediante las reglas difusas y el solapamiento entre variables lingüísticas. La primera aplicación industrial de la lógica difusa al control fue realizada por el profesor Ebraim Mamdani y su estudiante S. Assilian en 1974 en el Queen Mary College (Londres) al desarrollar el primer controlador difuso basado en reglas lingüísticas para una máquina de vapor, emulando la estrategia de control que seguiría un experto humano en el control manual de un proceso utilizando información descrita en términos lingüísticos. Supuso uno de los grandes impulsos que recibió la lógica difusa en sus inicios. La primera implantación real de un controlador de este tipo fue en 1980 por la compañía F.L. Smidth & Co en una planta cementera en Dinamarca. Cabe mencionar otra aplicación que centró el foco de atención en estas tecnologías en los años ochenta, en 1987 Hitachi puso en marcha un controlador inteligente difuso para el control del tren-metro de Sendai con un frenado y arranque más suave y más eficiente energéticamente (recibió el premio Laurel 1988, un premio que se concede anualmente en Japón para los avances ferroviarios más destacados). La lógica difusa ha tenido bastante éxito en su uso para el diseño de sistemas inteligentes en el campo del control automático de procesos, aunque la intención original del profesor Zadeh era crear una teoría para representar de forma eficiente la imprecisión y la vaguedad del razonamiento humano expresado lingüísticamente. Este éxito se debió al boom que la lógica difusa causó en Japón con una explosión de aplicaciones durante las décadas de los ochenta y noventa con un apoyo industrial enorme liderado por parte de empresas japonesas que apostaron por esta tecnología. Desde entonces, han sido infinidad los productos que se han lanzado al mercado utilizando esta tecnología, en ámbitos tales como: la automoción (sistemas de frenado ABS, cambio automático, sistema automático para aparcar, control automático de
Francisco Herrera Triguero
velocidad, …), la pequeña electrónica como cámaras de fotografía o video con estabilización automática de la imagen (Sony, Canon), sistemas de aire acondicionado con estabilización en la oscilación de la temperatura (Mitsubishi), o una amplia gama de electrodomésticos como lavavajillas (Zanussi, Electrolux, AEG) frigoríficos (Daewoo, Teka, Candy), lavadoras (Samsung, LG, Daewoo), cocederos de arroz muy populares en Japón, etc. Un par de ejemplos de electrodomésticos son: • Las lavadoras con sistemas lingüísticos de control inteligente que calculan de forma automática el peso de la ropa, se les indica un programa de lavado, y entonces el sistema selecciona automáticamente la cantidad de agua y detergente, grado de agitación, la temperatura correcta, y tiempo de lavado necesario para un lavado efectivo. Estos sistemas ayudan al medio ambiente por consumir la menor cantidad necesaria de agua, detergente, electricidad, etc. • El frigorífico Teka CCB-340 S cuya descripción por parte de la casa es: “El sistema “Fuzzy Logic” o “Eco-Fuzzy” permite tener un constante y exacto control de la temperatura de forma automática, sin necesidad de establecerla el usuario. El sistema es un control electrónico que regula la temperatura mediante sensores independientes distribuidos a lo largo de todo el frigorífico. Esto permite mantener siempre una temperatura constante y ajustarse al clima exterior de forma automática. … además logran importantes reducciones en el consumo energético ...” En los últimos 25 años ha habido un amplio desarrollo de esta teoría desde diferentes perspectivas, desarrollando modelos que permiten representar y razonar con información imprecisa y con información lingüística. En la actualidad podemos encontrar aplicaciones de los sistemas difusos y la teoría de computación con palabras en todos los ámbitos de las ciencias experimentales, sociales, salud, ingeniería, etc. Existen muchos libros para leer y profundizar en la teoría de los conjuntos difusos, el libro “Fuzzy Systems Engineering: Toward Human-Centric Computing” escrito por dos importantes investigadores del área, Witold Pedrycz y Fernando Gomide,
73
74
Proyecto Natural de Jaén
introduce de forma clara y concisa los conceptos de esta teoría desde un prisma aplicado [6].
B.4. Algoritmos evolutivos: Evolución natural y artificial En la década de los sesenta también se presentan los primeros modelos de algoritmos de optimización que pretenden resolver problemas imitando a la naturaleza. Estas propuestas imitaban a la evolución natural de las especies tal como la describía Charles Darwin en 1859 en su libro “On the origin of species” (Figura B.9). La figura de Darwin se asocia Figura B.9. Imagen del libro de Darwin (1859) inexorablemente al desarrollo de los modelos de evolución artificial imitando a la naturaleza y la evolución natural. Estos desarrollos están basados en las ideas básicas que subyacen en la evolución natural de las especies y que describimos a continuación. 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 individuos con la característica anterior. • Existe alguna variedad, diferencia, entre los individuos que se reproducen.
Francisco Herrera Triguero
• Algunas diferencias en la habilidad para sobrevivir en el entorno están asociadas con esa variedad. Los mecanismos que conducen la evolución no son totalmente conocidos, pero sí algunas de sus características, que son ampliamente aceptadas: • La evolución es un proceso que opera sobre los cromosomas más que sobre las estructuras de la vida que están codificadas en ellos. • La selección natural es el enlace entre los cromosomas y la actuación de sus estructuras decodificadas. • El proceso de reproducción es el punto en el cual la evolución toma parte, actúa. • La evolución biológica no tiene memoria. Estas ideas inspiraron a diferentes científicos en los años sesenta y dieron lugar a diferentes propuestas de algoritmos de optimización inspirados en la evolución natural para problemas complejos. Como se mencionó en la introducción, existe un libro muy interesante que recoge estos trabajos pioneros en este campo que dieron lugar al área que actualmente se conoce como computación evolutiva [4]. La computación evolutiva está compuesta por modelos de evolución basados en poblaciones cuyos elementos representan soluciones a problemas. La simulación de este proceso en un ordenador resulta ser una técnica de optimización probabilística, que con frecuencia mejora a otros métodos clásicos en problemas difíciles. El ejemplo más paradigmático de esta área son los algoritmos genéticos, que procesan una población de soluciones para un problema mediante un procedimiento iterativo. Aplican una serie de operaciones (que reciben nombres sacados de la genética, tales como operadores de cruce y de mutación), y tras cada iteración obtienen un conjunto nuevo de soluciones llamadas descendientes que suelen sustituir a la población original completando el ciclo de evolución, tal como se muestra en la
75
76
Proyecto Natural de Jaén
Figura B.10. El modelo actual de algoritmo genético fue desarrollo por John Holland (Universidad de Michigan) y sus alumnos entre los años sesenta y setenta, y presentado en el libro “Adaptation in Natural and Artificial Systems” [7].
Figura B.10. Ciclo de evolución en un algoritmo genético
La Figura B.11. refleja la fuente de inspiración biológica del operador de cruce que combina trozos de soluciones para obtener una solución de mejor calidad para el problema, imitando el cruce entre cromosomas en el proceso de reproducción en la naturaleza. En la izquierda tenemos ejemplos de dos soluciones a un problema representadas de forma binaria y que se combinan imitando al cruce biológico. Las nuevas soluciones, cromosomas descendientes, están formados por trozos de cromosomas padre, y son portadores de la herencia genética que reciben de los padres. Algunas ventajas de los algoritmos genéticos, que los han hecho muy populares en la resolución de problemas de optimización con una amplia aplicabilidad, son:
Francisco Herrera Triguero
Figura B.11. Operador de cruce en los algoritmos genéticos (Fuente: J. Holland, 1992, Genetic Algorithms, Scientific American vol. 267:1, 66-72).
• No necesitan conocimientos específicos sobre el problema que intentan resolver. • Procesan de forma simultánea varias soluciones del problema, y pueden proporcionar un conjunto de soluciones diferentes. • Tiene un bajo coste de desarrollo, y son muy fáciles de ejecutar en máquinas de procesamiento distribuido lo que los hace especialmente interesantes para problemas complejos. • Como se ha comentado, los algoritmos genéticos son el ejemplo más paradigmático de esta área, pero tenemos otros muchos modelos tales como, programación evolutiva, estrategias de evolución, algoritmos basados en estimación de distribuciónes, evolución diferencial, entre los más conocidos. En la actualidad existen una amplia teoría en el ámbito de la computación evolutiva y estudios de muy diversa índole: el equilibrio entre diversidad en la búsqueda y el proceso de convergencia iterativo, modelos de poblaciones que pretenden obtener varias soluciones diferentes y de igual calidad en un único proceso evolutivo, co-evolución de diferentes problaciones, modelos que evaluan las soluciones con diferentes objetivos (multiobjetivo), etc.
77
78
Proyecto Natural de Jaén
Podemos encontrar muchísimas aplicaciones de los algoritmos evolutivos, pero nos gustaría resaltar un premio anual que existe desde el año 2004 (“Annual “Humies” awards, Figura B.12.) en el marco de la conferencia GECCO (“Genetic and Evolutionary Computation Conference”). Se premian aplicaciones que muestren un comportamiento que compita Figura B.12. Imagen representando los premios Annual Humies awards con el que mostraría una solución al problema planteada por un humano y que denominan “human-competitive”. En el siguiente enlace se encuentra el listado de las aplicaciones premiadas: http://www.genetic-programming. org/combined.php Destacamos una medalla de oro en el año 2004 por el diseño de una antena de comunicación de radio mediante programación genética desarrollada por el NASA Ames Research Center (Figura B.13.) para el satélite ST5 utilizado en la misión espacial de la NASA “Space Technology 5” (2006), con el fin de testear 10 nuevas tecnologías a bordo de microsatélites.
Figura B.13. Antena de comunicación para la misión ST5 de la NASA (Fuente Wikipedia, NASA)
Recientemente, en el año 2012, recibió el premio un sistema inteligente evolutivo para el juego del Go, llamado Yavalath, desarrollado por Cameron Brown del Imperial College London, y en el año 2013 un sistema evolutivo diseñado por Dario Izzo de la Agencia Euro-
Francisco Herrera Triguero
pea del Espacio para el diseño de las trayectorias de un viaje a las lunas de Júpiter, problema formulado por la NASA. Desde el punto de vista aplicado se puede afirmar sin ningún género de dudas que los algoritmos evolutivos han abierto una nueva vía de resolución de problemas que pueden plantearse como problemas complejos de optimización, pudiendo encontrar soluciones en todas las áreas de las ciencias experimentales, sociales, medicina e ingeniería. La bibliografía en algoritmos evolutivos es muy amplia. El siguiente libro, “Introduction to evolutionary computing”, es un clásico que muestra de forma muy concisa los principios de los algoritmos evolutivos [8].
B.5. Inteligencia de enjambre: Sistemas sociales cooperativos Con posterioridad a los algoritmos evolutivos, han surgido un conjunto de modelos de optimización que, estando igualmente inspirados en la naturaleza, son modelos cooperativos que imitan el funcionamiento de las sociedades de insectos o algunas sociedades animales. Es lo que se denomina la “inteligencia colectiva emergente de un grupo de agentes simples” que permiten obtener soluciones complejas a partir de unidades simples. Esta área recibe el nombre de inteligencia de enjambre (swarm inteligence). Una definición de la misma la podemos encontrar en el primer libro que se publicó dando cuerpo a esta área [9]: “Algoritmos o mecanismos distribuidos de resolución de problemas inspirados en el comportamiento colectivo de colonias de insectos sociales u otras sociedades de animales”. Los principios básicos que rigen estas sociedades y que fueron la fuente de inspiración de investigadores en los años noventa son: • Llevan a cabo actuaciones colectivas que no serían posibles para un único individuo
79
80
Proyecto Natural de Jaén
• Proporcionan comportamientos adecuados para la computación distribuida. • El repertorio de comportamientos de cada insecto es limitado. • No existe acceso individual al estado completo de la colonia. -
No pueden hacer una división efectiva de la labor a realizar.
-
No pueden garantizar el progreso de la colonia.
Las colonias de insectos llevan a cabo actuaciones de nivel complejo de forma inteligente, flexible y fiable, actuaciones que no serían factibles si tuviesen que ser realizadas por un insecto de forma individual. Los insectos siguen reglas simples y utilizan comunicación local simple. La estructura global (nido) emerge desde las acciones de los insectos (las cuales son no fiables atendidas individualmente). Los ejemplos más paradigmáticos de sistemas artificiales basados en sociedades de insectos o animales son: • Optimización basada en colonias de hormigas (ant colony optimization). Conjunto de técnicas inspiradas por las actividades de una colonia de hormigas en la recolección de comida. Mientras las hormigas buscan comida, depositan rastros de feromona que atraen a otras hormigas. Desarrollan caminos mínimos entre la comida y el hormiguero. La imitación de este proceso fue propuesta por Marco Dorigo en 1992 en su tesis doctoral. • Optimización basada en colonias de abejas (artificial bee colony). Conjunto de técnicas inspiradas por las actividades de una colonia de abejas en la recolección de nectar. Fué propuesta por Dervis Karaboga en 2005. • Optimización basada en nubes de partículas (particle swarm optimization). Conjunto de técnicas inspiradas en el comportamiento de las bandadas de aves o bancos de peces en su movimiento. Las partículas son agentes simples que vuelan a través del espacio de soluciones de problemas complejos, y se mueven desde una localización a otra teniendo en cuenta la posición del resto
Francisco Herrera Triguero
de partículas y el movimiento de las mismas. Fué propuesta por Kennedy y Eberhard en 1995. Desde las propuestas iniciales, estos modelos artificiales de inteligencia colectiva han tenido un desarrollo muy importante tanto a nivel teórico como a nivel práctico. Podemos encontrar múltiples aplicaciones donde estos sistemas aportan soluciones de calidad para problemas complejos. Cabe destacar la característica que comparten los sistemas inteligentes inspirados en los modelos de enjambre, el comportamiento colectivo de agentes (no sofisticados) interactúa localmente con el entorno proporcionando un patrón global de funcionamiento. Se exploran las soluciones de forma colectiva, sin un modelo global de comportamiento, pero aportando finalmente soluciones de calidad vía este comportamiento cooperativo. En cuanto a su aplicación, como modelos de optimización se sitúan en el mismo ámbito de los algoritmos evolutivos y otras heurísticas de búsqueda (las llamadas metaheurísticas), y en todos los casos podemos encontrar modelos de optimización que presentan excelentes resultados en comparación con la literatura especializada en diferentes problemas, que coinciden en la complejidad de los mismos y la ausencia de otras soluciones eficaces y eficientes para ellos. Para finalizar, una frase que recoge la esencia de estos modelos:
“Partes simples/mudas, conectadas adecuadamente en un enjambre, producen resultados elegantes/inteligentes” (“Dumb parts, properly connected into a swarm, yield smart results”). El siguiente libro, “Fundamentals of Computational Swarm Intelligence”, escrito por Andries Engelbrecht, recoge los fundamentos de los algoritmos de inteligencia de enjambre [10].
81
82
Proyecto Natural de JaĂŠn
Inspirado en la naturaleza (Sergio GarcĂa y Lola Moral, noviembre 2014)
Francisco Herrera Triguero
B.6. Hibridación en inteligencia computacional: La sinergia entre las técnicas En las secciones previas hemos presentado las ideas básicas subyacentes en los modelos de inteligencia computacional. Modelos que se fundamentan en la imitación a la vida para diseñar sistemas artificiales inteligentes que resuelvan problemas complejos. Junto al desarrollo de estas técnicas existe una importante línea de trabajo basada en su fusión e integración en modelos híbridos Figura B.14. Hibridación de las técnicas de inteligencia (Figura B.14.). De hecho, las deficomputacional (dibujo de David Herrera-Poyatos) niciones que podemos encontrar de soft computing inciden en el uso cooperativo de las diferentes disciplinas para resolución de problemas. En la literatura especializada encontramos diferentes vías de hibridación, fusión y cooperación que permiten aumentar la capacidad de los diferentes modelos. A continuación describimos brevemente algunas de ellas: • El uso de la capacidad de aprendizaje de las redes neuronales combinado con la capacidad de representación de la información imprecisa de los sistemas difusos ha dado lugar a los sistemas neuronales difusos (“neuro fuzzy systems”). • Los algoritmos evolutivos se han utilizado para optimizar los parámetros de las redes neuronales, dando lugar a las redes neuronales evolutivas. • Se han utilizado las redes neuronales y los sistemas difusos para el control de parámetros en los algoritmos evolutivos.
83
84
Proyecto Natural de Jaén
• Los algoritmos evolutivos se han utilizado para introducir igualmente la capacidad de aprendizaje en los sistemas difusos así como para la optimización de sus parámetros y sus arquitecturas, dando lugar a los llamados sistemas difusos evolutivos (“evolutionary fuzzy systems” o “genetic fuzzy systems”). En menor medida se han utilizado los algoritmos de inteligencia de enjambre para la mejora de los sistemas difusos. Esta área, sistemas difusos evolutivos, ha sido una de las más estudiadas desde sus inicios hace 25 años, a principios de los años noventa, habiendo facilitado la posibilidad de aumentar las capacidades de adaptación los sistemas difusos. La Figura B.15. muestra gráficamente la idea de evolucionar parámetros de las funciones de pertenencia y la base de reglas para optimizar el comportamiento de los sistemas difusos. Esta figura corresponde a la portada del libro “Genetic Fuzzy Systems” [11] que se publicó en el año 2001 por dos miembros de nuestro grupo de investigación, Oscar Cordón y yo mismo, junto a investigadores de la Universidad de Politécnica de Madrid, Luís Magdalena, y del Royal Institute of Technology de Estocolmo, Frank Hoffmann.
Figura B.15. Representación de sistemas difusos evolutivos (Portada del libro “Genetic Fuzzy Systems”).
Francisco Herrera Triguero
Podemos concluir esta breve sección comentando que la hibridación permite aumentar las capacidades de procesamiento de información de los sistemas inteligentes basados en técnicas de inteligencia computacional.
B.7. Inteligencia computacional: Algunos resultados en colaboración con la Universidad de Jaén Puesto que este breve libro se escribe con motivo del reconocimiento “Natural de Jaén”, no quiero dejar pasar esta oportunidad para describir brevemente algunos resultados desarrollados con dos grupos de la Universidad de Jaén con los que mantengo una continua y estrecha colaboración en el ámbito de la inteligencia computacional y sus aplicaciones, en el diseño de modelos de toma de decisiones y en el desarrollo de algoritmos de extracción de conocimiento y minería de datos. Esta colaboración se inició con la dirección de la tesis doctoral de los directores de ambos grupos, Luís Martínez director del grupo Sistemas inteligentes basados en análisis de decisión difusos (SINBAD2) y María José del Jesus directora del grupo Sistemas inteligentes y minería de datos (SIMiDat). Ambos defendieron sus tesis doctorales a finales del año 1999. La colaboración ha continuado con intensidad durante los 15 años que han transcurrido desde la citada fecha. Durante estos años hemos mantenido líneas de investigación conjuntas y hemos codirigido conjuntamente a muchos investigadores, algunos de los cuales son en la actualidad miembros de los dos citados grupos de investigación. La colaboración con el grupo de investigación SINBAD2 se ha centrado en la propuesta de modelos de computación con palabras para operar de forma precisa e inteligible, y su aplicación al desarrollo de modelos lingüísticos para el procesamiento de preferencias de expertos en problemas de toma de decisiones. En los estudios también se incluyen modelos de consenso entre expertos, así como la implementación de las propuestas en un sistema software para la toma de decisión (software FLINTSTONES, http://serezade.ujaen.es/flintstones). A lo largo de estos años hemos
85
86
Proyecto Natural de Jaén
desarrollado muchas aportaciones publicadas en las revistas especializadas y que por su cantidad no pueden ser recogidas en su totalidad en esta sección, pero me gustaría centrar la atención en las siguientes 3 publicaciones por razones que describo a continuación: • F. Herrera, L. Martínez. A 2-tuple Fuzzy Linguistic Representation Model for Computing with Words. IEEE Transactions on Fuzzy Systems 8:6 (2000) 746-752. Este artículo recoge aportaciones de la tesis doctoral de Luís Martínez, y es la propuesta de un nuevo modelo de representación de información lingüística, que permite su computación en un ordenador manteniendo la precisión e interpretabilidad. Ha sido un modelo utilizado ampliamente en múltiples aplicaciones por diversos autores, y ha sido extendido con muy diferentes propuestas. • Francisco Herrera, Enrique Herrera-Viedma, Luís Martínez. A Fuzzy Linguistic Methodology to deal with Unbalanced Linguistic Term Sets. IEEE Transactions on Fuzzy Systems 16:2 (2008) 354-370. Este artículo extiende la representación de 2-tuplas a modelos con etiquetas no uniformemente distribuidas alrededor de una etiqueta central. Recibió el premio al mejor trabajo de la revista IEEE TFS en el año 2008 (IEEE Transactions on Fuzzy Systems Outstanding 2008 Paper Award, bestowed in 2011, IEEE Computational Intelligence Society). La Figura B.16. muestra el momento de la recogida del premio en el congreso IEEE Internacional Fuzzy Systems Conference celebrado en Taiwan en el año 2011. • Rosa M. Rodríguez, Luís Martínez and Francisco Herrera. Hesitant Fuzzy Linguistic Term Sets for Decision Making. IEEE Transactions on Fuzzy Systems 20:1 (2012), 109-119. En este artículo se introduce el uso de una estructura más compleja para representar la información lingüística, con más de una etiqueta por cada valoración de los expertos (“hesitant fuzzy linguistic terms”) y permite el uso de
Francisco Herrera Triguero
Figura B.16. De izquierda a derecha Francisco Herrera, Chin-Teng Lin (editor en jefe de la revista IEEE TFS) y Luis Martínez
expresiones de comparación lingüísticas, tales como “la preferencia es mayor o igual que alto”. Este trabajo ha recibido el premio al mejor artículo de la revista IEEE TFS del año 2012 y será otorgado en el congreso que la asociación celebrará en Agosto de 2015. La colaboración con el grupo de investigación SIMiDat se ha centrado en el desarrollo de sistemas difusos evolutivos y su aplicación para la extracción de conocimiento con la construcción de diferentes modelos de minería de datos aplicados en diferentes problemas tales como el descubrimiento de subgrupos o los problemas de clasificación con clases desequilibradas. Muchos de los algoritmos que hemos desarrollado conjuntamente han sido implementados en el software de minería de datos KEEL (http://www.keel.es). Los artículos publicados en revistas científicas han sido
87
88
Proyecto Natural de Jaén
múltiples en diferentes líneas de trabajo. A continuación destacaré 3 publicaciones que han tenido una especial relevancia en nuestro trabajo conjunto: • Oscar Cordón, María José del Jesús, Francisco Herrera. A Proposal on Reasoning Methods in Fuzzy Rule-Based Classification Systems. International Journal of Approximate Reasoning Vol. 20 (1999), 21-45. Este artículo recoge aportaciones de la tesis doctoral de María José del Jesus. Se propone por primera vez en la literatura especializada un modelo de razonamiento para el uso de los sistemas basados en reglas difusas para problemas de clasificación que actúen de forma colaborativa agregando la información que proporciona cada regla. Posteriormente este modelo de razonamiento ha sido utilizado y extendido por múltiples autores. • María José del Jesus, Pedro González, Francisco Herrera, Mikel Mesonero. Evolutionary Fuzzy Rule Induction Process for Subgroup Discovery: A Case Study in Marketing. IEEE Transactions on Fuzzy Systems 15:4 (2007) 578-592. En este artículo se extienden los modelos de sistemas difusos evolutivos al problema de descubrimiento de subgrupos (“subgroup discovery”), permitiendo el uso de reglas lingüísticas para la descripción de subgrupos de ejemplos que pueden caracterizar una clase en estos problemas de minería de datos. El modelo fue posteriormente extendido con el uso de algoritmos evolutivos multiobjetivo, y ha sido aplicado por el grupo SIMiDat en múltiples problemas reales en diferentes ámbitos tales como energías renovables, minería de datos educacional, bioinformática, etc. • Alberto Fernández, María José del Jesus, Francisco Herrera. Hierarchical Fuzzy Rule Based Classification Systems with Genetic Rule Selection for Imbalanced Data-Sets. International Journal of Approximate Reasoning 50 (2009) 561-577. En este artículo se propone un modelo de sistema difuso evolutivo que incluye diferentes conjuntos de etiquetas lingüísticas relacionadas jerárquicamente para mejorar la precisión de los sistemas difusos para clasificación de clases
Francisco Herrera Triguero
no balanceadas. Este trabajo recibió en el año 2011 el premio de la asociación internacional de conjuntos difusos IFSA (International Fuzzy Systems Association), que lleva el nombre del creador de los conjuntos difusos, Lotfi Zadeh. Este premio se otorga a un artículo que se haya publicado en alguna de las revistas promocionadas por la asociación IFSA en los dos años previos al año de concesión del premio, en este caso entre 2009 y 2010 (2011 Lotfi A. Zadeh Prize, Best Paper Award 2009-10, International Fuzzy Systems Association). La Figura B.17. muestra el momento de la recogida del premio en el congreso internacional IFSA World Congress del año 2011.
Figura B.17. Alberto Fernández, miembro del grupo SIMiDat, recogiendo el premio
Estos seis artículos muestran una pequeña selección de las muchas contribuciones realizadas con los investigadores de la Universidad de Jaén con los que he colaborado intensamente durante dos décadas, desde que comencé a trabajar en la dirección de las tesis doctorales mencionadas.
89
90
Proyecto Natural de Jaén
B.8. Para finalizar: Inteligencia computacional en 3 imágenes La inteligencia computacional es una de las áreas con más desarrollos dentro de la inteligencia artificial en los últimos años. La naturaleza ha sido la fuente de inspiración para el diseño de estos sistemas inteligentes basados en la imitación de múltiples actividades que se desarrollan por diferentes especies de seres vivos. En este capítulo hemos presentado, de forma muy divulgativa, las áreas más conocidas dentro de la inteligencia computacional, sin entrar a estudiar los aspectos formales. Los sistemas inteligentes asociados permiten resolver problemas complejos del mundo real para los que no se dispone de algoritmos convencionales efectivos y se están aplicando con éxito en casi todos los campos del conocimiento humano. Existen otras propuestas de modelos bioinspirados que por su menor presencia en la literatura especializada y por la ausencia de espacio, no podemos recoger en este breve capítulo, tales como autómatas celulares, sistemas inmunológicos artificiales, etc. Para una lectura que permita conocer en mayor profundidad estas técnicas se sugieren el siguiente libro escrito por Andries Engelbrecht en 2007, “Computational Intelligence: An introduction”, proporciona una visión conjunta de las diferentes áreas que confluyen en la inteligencia computacional. Los dos siguientes artículos escritos por el profesor Verdegay y otros autores muestran una visión ampliada de la “soft computing” extendiendo su visión a la integración de nuevas técnicas, metaheurísticas y la teoría de conjuntos rugosos [13, 14]. Por otra parte, centrados en los modelos de computación bioinspirados para optimización se sugiere la lectura de dos artículos que serán publicados en el 2015, y que hacen un breve repaso del estado del arte actual [15,16]. Para terminar este capítulo, se incluye una breve secuencia de tres ideas y dibujos que representan la fuente de inspiración que subyace en el desarrollo de la inteligencia computacional, imitando a la vida e inspirada en la naturaleza, como decíamos al inicio de este capítulo.
Francisco Herrera Triguero
“El mundo es incierto, y a menudo no necesitamos precisión para describir un fenómeno. La computación con palabras es la forma natural de expresar nuestro conocimiento...”
“Nuestro cerebro trabaja muy bien ...”
91
92
Proyecto Natural de Jaén
“... Y podemos aprender de la evolución y la naturaleza.”
B.9. Referencias bibliográficas [1] N. Forbes (2014). Imitation of life: How biology is inspiring computing. MIT Press. [2] W. McCulloch and W. Pitts (1943). A Logical Calculus of ideas Immanent in Nervous Activity. Bulletin of Mathematical Biophysics 5:115-133. [3] L. A. Zadeh (1965). Fuzzy Sets. Information and Control 8:3, 338–353. [4] D.B. Fogel (Ed.) (1999). Evolutionary Computation. The Fossil Record. (Selected Readings on the History of Evolutionary Computation). IEEE Press, 1998. [5] R. Rojas (1996). Neural networks. A systematic introduction. Springer. [6] W. Pedrycz, F. Gomide (2008). Fuzzy Systems Engineering: Toward Human-Centric Computing. Wiley-IEEE Press. [7] J. Holland (1975, edición extendida 1992). Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control and Artificial Intelligence, University of Michigan Press, MIT Press.
Francisco Herrera Triguero
[8] A.E. Eiben, J.E. Smith (2007, 2nd Ed.). Introduction to evolutionary computing. Springer. [9] E. Bonabeau, M. Dorigo, G. Theraulaz (1999). Swarm Intelligence. From Nature to Artificial Systems. Oxford University Press. [10] A.P. Engelbrecht (2005). Fundamentals of Computational Swarm Intelligence. Wiley. [11] O. Cord贸n, F. Herrera, F. Hoffman, L. Magdalena (2001). Genetic Fuzzy Systems. Evolutionary tuning and learning of knowledge bases. World Scientific. [12] A.P. Engelbrecht (2007, 2nd ed.) Computational Intelligence: An introduction. Wiley. [13] J.L. Verdegay, R. Yager, P. Bonissone. On heuristics as a fundamental constituent of soft computing. Fuzzy Sets and Systems 159:7, 253-273. [14] R. Bello, J.L. Verdegay (2012). Rough sets in the Soft Computing environment. Information Sciences, 2012, 1-14. [15] S.C. Pandey, G.C. Nandi, Convergence of knowledge, nature and computation: a review. Soft Computing, 2015, en prensa. [16] N. Xiong, D. Molina, M. Leon, F. Herrera. A walk into metaheuristic for engineering optimization: Principle, methods, and recent trends. International Journal of Computational Intelligence Systems, 2015, en prensa.
93
94
Proyecto Natural de JaĂŠn
Francisco Herrera Triguero
Capítulo C. Inteligencia de Negocio y Big Data
Términos como sociedad digital o sociedad de la información nos indican que vivimos en una sociedad donde el desarrollo de las tecnologías de la información y las comunicaciones, y su popularidad a nivel mundial, han ayudado a eliminar fronteras y crear multitud de servicios donde los datos transmitidos son un eje central de su funcionamiento. La gran cantidad de datos disponible en la actualidad, junto con las herramientas necesarias para su procesamiento, conforman lo que conocemos como big data. En este capítulo se introduce esta área emergente, donde las técnicas de análisis inteligentes de datos se combinan con las tecnologías que permiten el procesamiento distribuido de datos masivos. En primer lugar, centraremos el amplio campo de conocimiento que recibe los nombres de inteligencia de negocio y ciencia de datos, y situaremos big data dentro de este campo. A continuación, analizaremos brevemente las tecnologías existentes más populares en big data, así como sus limitaciones y alternativas. También presentaremos brevemente algunas aportaciones del grupo de investigación en esta área.
C.1. Introducción. Inteligencia de negocio y big data Estamos inmersos en la era de la información, donde diariamente se registran grandes cantidades de datos, del orden de petabytes (más de un millón de gigabytes).
95
96
Proyecto Natural de Jaén
Toda esta información entrante se puede recibir a alta velocidad y su procesamiento normalmente requiere un análisis en tiempo real. La gran cantidad de datos disponibles junto con las herramientas capaces de analizarlos y procesarlos es lo que se conoce como big data, [1,2]. No existe una denominación en español concreta, se habla de grandes datos, mega datos o datos masivos. Utilizaremos pues el término de big data a lo largo de este capítulo. Internet es una gran galaxia de información y datos, un océano de ceros y unos. Estamos ante un mundo hiperconectado que genera cada vez más cantidad de datos. Hablamos de millones y millones de bytes de información sobre toda clase de fenómenos y actividades: las búsquedas que hacemos en Internet, o los comentarios en los medios de comunicación sociales (blogs, redes sociales,…), entre otros. En 2015, el número de dispositivos en red duplicará a la población mundial. Pero los datos no sólo se encuentran ligados a Internet o a las redes sociales, sino que son parte fundamental de numerosas aplicaciones, tales como los instrumentos científicos, las redes de sensores, los dispositivos móviles, las transacciones comerciales, la genómica y la biomedicina, la astronomía, los sistemas de información de las empresas, y un largo etcétera. En un informe reciente de IBM se mencionaba que cada día se generan aproximadamente 2,5 trillones de bytes de datos. El 90% de los datos disponibles en el mundo de hoy en día se han creado en los últimos años. Objetos cotidianos como los coches, los relojes o las gafas están comenzando a conectarse a Internet para alimentar nuevos servicios que requieren un constante intercambio de información. Incluso los Ayuntamientos siembran las calles con sensores de recogida de datos para facilitar la vida de los ciudadanos. El progreso y la innovación no se ven actualmente obstaculizados por la capacidad de recopilar datos sino por la capacidad de gestionar, analizar, sintetizar, visualizar y descubrir el conocimiento subyacente en dichos datos. Este es el reto de las tecnologías de big data. De nada sirve tener acumulada una gran cantidad de información si no se puede hacer uso de ella. Es necesario extraer el conocimiento útil y valioso, y para ello es necesario el desarrollo de herramientas capaces de procesar los datos.
Francisco Herrera Triguero
Debido a la proliferación de estas grandes colecciones de datos, el término big data se utiliza frecuentemente para describir conjuntos de datos de un elevado tamaño. Sin embargo, este término no sólo implica un mayor tamaño, además implica el análisis en tiempo real, y la posibilidad de encontrarnos con una gran variedad de estructuras a la vez, tales como datos numéricos, datos textuales, datos de medios sociales de comunicación, o enlaces en internet, entre otros (en los dos siguientes libros se puede encontrar una descripción de algoritmos de extracción de conocimiento con diferentes estructuras de datos [3,4]). En resumen, big data son datos cuyo volumen, diversidad y complejidad requieren el uso de nuevas arquitecturas, técnicas, algoritmos y análisis para gestionar y extraer el valor y conocimiento oculto en ellos. Esto es lo que se conoce como las 3 Vs que definen big data (Figura C.1.).
Figura C.1. Las 3 Vs que definen big data
97
98
Proyecto Natural de Jaén
Podemos encontrar un conjunto grande de palabras que caracterizan big data en torno a las Vs, la Figura C.2. muestra este interesante listado.
Figura C.2. Las 8 Vs que completan la definición de big data
Big data forma parte de un conjunto de herramientas para el análisis inteligente de datos que en el ámbito de la empresa reciben el nombre de inteligencia de negocio (“business intelligence”) [5]. En esta ocasión el término inteligencia hace referencia al uso de técnicas inteligentes para el análisis de datos en el ámbito de los negocios, de la empresa. Actualmente todas las grandes empresas hacen uso de las técnicas de inteligencia de negocio. Extraen conocimiento útil para su negocio a partir de sus grandes bases de datos que recogen toda la actividad de la empresa en su ámbito de actuación.
Francisco Herrera Triguero
La Figura C.3. muestra el conjunto de conocimientos y subáreas que conforman la inteligencia de negocio desde la perspectiva del análisis inteligente de datos, inteligencia y analítica de negocio. Esta figura es una variante de una figura propuesta por la investigadora Galit Shmueli en su blog (http://www.bzst.com) en relación a los conocimientos a plantear en un máster en inteligencia y analítica de negocio.
Figura C.3. Áreas en el campo de la inteligencia de negocio
La Figura C.3. incluye un término que merece ser escrito en detalle, el término analítica contemporánea, que incluye áreas recientes en el ámbito del procesamiento de datos y extracción de conocimiento, tales como, análisis de textos, análisis de redes
99
100
Proyecto Natural de Jaén
y medios sociales, análisis de clientes, análisis de la información en la web, y los sistemas de recuperación de información y de recomendaciones. Las tecnologías en torno a big data y el análisis inteligente de datos han dado lugar recientemente al término de ciencia de datos (“data science”) [6,7]. Es definido como una área emergente de trabajo relacionada con la preparación, análisis, visualización, gestión y mantenimiento de grandes colecciones de datos para la obtención de conocimiento que genere ventajas de negocio. Debido al impacto que estas temáticas están llegando a alcanzar, ha aparecido un nuevo término profesional: el científico de datos (“data scientist”). La Figura C.4. muestra un conjunto de tecnologías y conocimientos que se requieren para ser un gran profesional en esta área.
Figura C.4. Términos que completan la definición del científico de datos
Francisco Herrera Triguero
Nótese que en esta figura se habla de habilidades y conocimientos transversales y en la figura anterior hablamos de diferentes subáreas temáticas dentro de la inteligencia de negocio. Pero ambos son términos que pueden ser considerados equiparables, siendo el primero, inteligencia de negocio, un término clásico en el ámbito de la empresa, y el segundo, ciencia de datos, un término que emerge con la eclosión de las tecnologías de big data que quedan englobadas a nivel profesional en el ámbito de la ciencia de datos y que hace énfasis en la tecnología utilizada. El alto potencial de la ciencia de datos y del big data ha sido reconocido de inmediato debido a su influencia sobre problemas de diversos campos de conocimiento. Entender la economía global, obtener una mejor planificación de servicios públicos, desarrollar investigaciones científicas o buscar nuevas oportunidades de negocio son algunas de las grandes aplicaciones relacionadas con estos repositorios de datos [1]. Se identifica big data como uno de los grandes impulsores de la era digital. Existen diversas herramientas para tratar de abordar problemas de big data, diseñadas originalmente por los gigantes tecnológicos de Estados Unidos. La aproximación más popular es el sistema de procesamiento distribuido MapReduce [9], presentado por Google en 2003. A partir de ahí, se han desarrollado diversas aplicaciones y tecnologías que han seguido la estela del modelo de programación MapReduce o han explorado otras estrategias de procesamiento. Yahoo! desarrolló Hadoop (http://hadoop.apache.org), una implementación de software libre del paradigma MapReduce. Posteriormente junto con otros gigantes tecnológicos financió la Fundación Apache para el desarrollo de software (Apache Software Foundation, http://www.apache. org) para el desarrollo de Hadoop y proyectos de big data. Actualmente, esta fundación desarrolla más de 150 proyectos de software libre para big data. Recientemente ha apadrinado el proyecto Spark (http://spark.apache.org), tecnología desarrollada inicialmente en la Universidad de California en Berkeley, que aspira a ser el nuevo referente para el diseño de algoritmos para el procesamiento de datos masivos. A continuación haremos un recorrido desde el por qué surge big data hasta las tecnologías existentes. Se extiende el estudio realizado en [8] donde se presenta una breve introducción a big data. Terminaremos con algunos resultados recientes de nuestro grupo de investigación en el desarrollo de propuestas en big data y ciencia de datos.
101
102
Proyecto Natural de JaĂŠn
Nube de datos (Sergio GarcĂa y Lola Moral, noviembre 2014)
Francisco Herrera Triguero
C.2. ¿Por qué surge big data? Lo ejemplarizamos con un caso de estudio que introduce de forma natural la necesidad de más y más capacidad de cálculo, lo que condujo al desarrollo de la primera tecnología específica para big data. Supongamos que tenemos que procesar un conjunto de datos de tamaño 1 terabyte en un ordenador que es capaz de procesar 25 megabytes por segundo. El tiempo total de procesamiento sería aproximadamente de 46 días. Si disponemos de un clúster de 1.000 ordenadores y podemos paralelizar mediante el procesamiento distribuido clásico, el tiempo de cálculo se reduciría a 66 minutos, aceptable para una empresa que necesite dar respuestas en el día. ¿Qué ocurre si tenemos un conjunto de datos 100 veces mayor? Necesitaríamos 4,6 días, inaceptable para la empresa. Y la estrategia no puede consistir en aumentar los recursos de hardware, el tamaño del centro de proceso de datos con más y más ordenadores, pues esto choca con restricciones de espacio, consumo eléctrico, costes… Este planteamiento dio lugar a la aparición del paradigma de programación MapReduce para el análisis de datos a gran escala. En el año 2003, Google necesitaba manejar la tabla de índices invertidos para procesar las consultas en su buscador, donde se contabilizaban más de 20 petabytes de información diaria que crecía sin parar. En agosto de ese año consiguieron la primera versión estable de MapReduce, desarrollando más de 10.000 aplicaciones en los 4 siguientes años, logrando así convertirse en la tecnología básica para el procesamiento de sus datos.
C.3. El modelo de programación MapReduce MapReduce es un nuevo modelo de programación para el procesamiento de datos masivos que aplica una simplificación del problema siguiendo una metodología de divide y vencerás. Un problema de gran tamaño se descompone en un gran conjunto
103
104
Proyecto Natural de Jaén
de problemas pequeños (bloques o fragmentos de datos pequeños) que se van procesando mediante una cola virtual de tareas que se ejecuta conforme las disponibilidades de ordenadores (función map), y las salidas asociadas a los bloques de datos se fusionan para proporcionar una solución al problema (función reduce). Esta función requiere del diseño de algoritmos que integren los modelos o salidas del procesamiento de los bloques en un modelo o solución final para el problema. Un ejemplo es el problema del cálculo de las tendencias de consultas en Google, el famoso Google trend. Se dispone de un sistema de tareas para procesar fragmentos de datos que se ponen en cola, se van procesando de acuerdo a las disponibilidades de cálculo en los ordenadores, y se van fusionando las salidas de cada bloque para dar el listado de consultas más populares. Actualmente Google utiliza múltiples aplicaciones desarrolladas sobre MapReduce y sus extensiones para la indexación de las páginas web a partir del popular algoritmo Page Rank, el análisis de las bases de datos de búsquedas en Google, el procesamiento de imágenes de satélite, sistemas de traducción automática, etc.
C.4. Hadoop: implementación en código abierto Los competidores de Google comenzaron enseguida la carrera para disponer de una tecnología similar. Yahoo! creó un equipo de desarrolladores para diseñar un software de código abierto en Java con las características de MapReduce. Este software se presentó en el año 2008 y recibió el nombre de Hadoop (como curiosidad, comentar que recibió el nombre del elefante de peluche del hijo de Doug Cutting, el ingeniero jefe del equipo). En julio de 2008 un algoritmo de ordenación desarrollado por Yahoo! sobre Hadoop fue el algoritmo ganador de la famosa competición anual de ordenación de un terabyte de datos (http://sortbenchmark.org). Los ordenó en 209 segundos superando al record anterior que se estableció en 297 segundos. En el año 2013, un algoritmo sobre Hadoop fue el ganador de la competición de ordenación de información en
Francisco Herrera Triguero
un minuto, ordenando 102,5 terabytes de información en 4.328 segundos, con un record de 1,42 terabytes de información por minuto. Estos resultados muestran la capacidad de Hadoop como plataforma para el desarrollo de potentes aplicaciones de análisis de datos masivos. Hadoop funciona sobre cualquier clúster o red de ordenadores, y no depende del número de ordenadores disponible. ¿Cómo funciona Hadoop? Para el desarrollo de Hadoop se creó la solución más popular de la Fundación Apache, el sistema distribuido de ficheros HDFS (Hadoop Distributed File System), que permite el procesamiento de cantidades ingentes de datos en una red o nube de ordenadores conectados. Una instalación de un sistema HDFS se compone de múltiples nodos, que se dividen en dos clases: un nodo máster (NameNode) y un gran número de nodos de almacenamiento (Datanodes) [10]. Los ficheros de datos masivos a procesar se dividen en fragmentos o bloques de tamaño fijo (para ficheros muy grandes se suele utilizar el tamaño de 64 megabytes de información por bloque) y son distribuidos en el conjunto de ordenadores que deseemos utilizar para el análisis de datos. Los DataNodes almacenan estos fragmentos, que se asignan con una etiqueta de identificación única de 64 bits en el NameNode al generarse. Cuando una aplicación pretende leer un archivo, se pone en contacto con el NameNode a fin de determinar donde se almacena los datos reales. Entonces, el NameNode devuelve el identificador del correspondiente fragmento o bloue y el DataNode asociado, para recuperar los datos. Una característica importante del diseño es que los datos nunca se mueven a través del NameNode. En cambio, toda la transferencia de datos se produce directamente entre clientes y los DataNodes. Las comunicaciones con el NameNode sólo implica la transferencia de metadatos. Los Datanodes almacenan sus datos, y el Namenode proporciona el seguimiento al lugar donde se almacenan los datos. Con el fin de garantizar la fiabilidad, la disponibilidad y el rendimiento de acuerdo con un servicio de alta demanda, se mantiene un nivel de redundancia almacenando
105
106
Proyecto Natural de Jaén
cada bloque en al menos tres servidores de la estructura de ordenadores utilizada, siendo el número de copias un parámetro del sistema. De este modo, el fallo de un ordenador no afecta al sistema por cuanto tiene las réplicas de los bloques y un sistema automático de fallos (utilizamos el concepto de ordenador como unidad más simple de cálculo, lo que hoy en día son los núcleos). Sobre esta instalación del sistema de ficheros HDFS trabajan a su vez las aplicaciones sobre Hadoop para el procesamiento de datos siguiendo el paradigma MapReduce con sus dos fases principales map y reduce (con una fase intermedia de ordenación denominada shuffle, que se encarga de asignar las salidas de la fase map a la fase reduce). La idea subyacente se basa en que la mayor parte de las tareas de análisis de la información consideran una estructura similar, es decir, se aplica el mismo cálculo sobre un gran número de registros (fase map), y a continuación, los resultados intermedios se fusionan de alguna manera (fase reduce) para dar lugar a la solución final del problema.
Figura C.5. Flujo de datos en MapReduce
Francisco Herrera Triguero
El programador debe especificar las funciones map y reduce en la aplicación. Entonces, se divide el conjunto de datos de entrada en bloques independientes que se procesan en paralelo por las tareas map y reduce, teniendo asignada cada una de ellas un número determinado de ordenadores. MapReduce ordena las diferentes salidas de las tareas map en la etapa intermedia llamada shuffle, para ser procesadas por la tarea reduce. Los componentes principales de este modelo de programación se muestran en la Figura C.5. y se describen a continuación. a) La entrada para el trabajo se almacena en el sistema de ficheros distribuido HDFS. El nodo maestro realiza una segmentación del conjunto de datos de entrada en bloques independientes y los distribuye a los nodos/ordenadores de trabajo. Esta información se da en términos de pares <clave, valor> que forman las primitivas de procesamiento de bloques. b) Los pares de entrada <clave, valor> se dividen y distribuyen entre los múltiples ordenadores disponibles para las tareas map. Las funciones map proporcionan un conjunto de pares <clave2, valor2> intermedios como salida de las tareas de procesamiento. Antes de la ejecución de la función reduce, MapReduce agrupa todos los valores que poseen la misma clave (<clave2, lista(valor2)>, en la fase shuffle) para acelerar el cálculo en la función reduce. c) Los valores intermedios se suministran a la función reduce que realiza una serie de cálculos para obtener la salida final. Un ejemplo ilustrativo de cómo funciona MapReduce se puede encontrar en el cálculo del gasto por año en diferentes verduras procesando una larga lista de los registros de gasto para cada producto. Cada registro puede estar compuesto por una variedad de datos, al menos incluye el producto y el coste asociado. 2014 2014 2014 2014
Patatas Melocotones Tomates Melocotones
6 12 7 15
107
108
Proyecto Natural de Ja茅n
2014 2014 2014 2014 2014 2014 2014
Patatas Melocotones Patatas Tomates Tomates Patatas Tomates
10 23 16 12 6 4 15
Se desea obtener la suma total de coste de cada producto. A continuaci贸n mostramos el par <clave, valor> de cada entrada, siendo los valores la l铆nea de texto asociada. <1, 2014 <3, 2014 <25, 2014 <32, 2014 <43, 2014 <53, 2014 <57, 2014 <77, 2014 <79, 2014 <82, 2014 <88, 2014
Patatas Melocotones Tomates Melocotones Patatas Melocotones Patatas Tomates Melocotones Patatas Tomates
6> 12> 7> 15> 10> 23> 16> 12> 12> 4> 15>
La base de datos se divide en bloques de entrada. La funci贸n map extrae para cada bloque de registros todos los pares <producto, coste>, con el nombre del producto con clave, y el coste como valor. <Patatas, 6> <Melocotones, 12> <Tomates, 7> <Melocotones, 15> <Patatas, 10>
Francisco Herrera Triguero
<Melocotones, 23> <Patatas, 16> <Tomates, 12> <Melocotones, 12> <Patatas, 4> <Tomates, 15> La salida de la función map es procesada en la fase shuffle que agrupa los pares por su correspondiente producto, creando la lista <producto, lista(coste)>. <Patatas, [6, 10, 16, 4]> <Melocotones, [12, 15, 23, 12]> <Tomates, [7, 12, 15]> Finalmente, la fase reduce calcula los costes totales contenidos en la lista de cada año. <Patatas, 36> <Melocotones, 52> <Tomates, 34> Si disponemos de grandes bases de datos de transacciones entonces necesitaríamos de un algoritmo como el mostrado para aportar una rápida solución al problema.
C.5. Arquitectura hardware y escalabilidad Para el uso del sistema distribuido de ficheros HDFS y el entorno Hadoop cabe plantearse qué arquitectura hardware necesitamos para ello. Una opción es un clúster de ordenadores con un conjunto de procesadores variable en función de las disponibilidades. Como ejemplo, el clúster ATLAS del grupo de investigación “Soft Computing y Sistemas de Información Inteligentes” de la Universidad de Granada está formado por 4 servidores con 8 microprocesadores con 6
109
110
Proyecto Natural de Jaén
núcleos, con un total de 192 núcleos. Sobre esta máquina se pueden ejecutar aplicaciones de big data teniendo en cuenta que Hadoop distribuye las tareas map y reduce en los ordenadores (núcleos) que se encuentran disponibles. Para la instalación de Hadoop, existen sistemas preconfigurados proporcionados por empresas, por ejemplo Cloudera (http.//www.cloudera.com), que proporciona soporte no comercial de los productos de la Fundación Apache. Se puede instalar incluso en un ordenador portátil en modo local para pruebas y depuración de errores. Una de las tendencias en big data es la posibilidad de utilizar un modelo de computación en la nube (Cloud Computing) que ofrece la infraestructura y las aplicaciones de análisis de datos. La alta escalabilidad y flexibilidad que ofrecen las plataformas en la nube permite a las compañías contar con servicios a la medida de sus necesidades y con el beneficio de pagar únicamente por el uso que hacen de esta tecnología. La computación en la nube asociada a big data permite que las empresas puedan acceder a soluciones de procesamiento y almacenamiento de grandes volúmenes de datos sin necesidad de invertir en centros de procesamiento de datos. Los clientes alquilan los servicios de un proveedor, comprando el almacenamiento a medida de sus necesidades y el procesamiento con máquinas virtuales y siempre de acuerdo a la capacidad necesitada. Es una opción, hoy ofrecida por proveedores como Windows Azure y Amazon Elastic Cloud, entre otros, que se potenciará en los próximos años. Por otra parte, la Fundación Apache proporciona aplicaciones de análisis de datos, siendo muy popular la biblioteca Mahout (http://mahout.apache.com), que proporciona un amplio conjunto de algoritmos en áreas tales como clasificación, agrupamiento, extracción de asociaciones entre variables, sistemas de recomendaciones (tecnología popularizada por Amazon con las recomendaciones en las compras). Hay que destacar que Hadoop va más allá de una escalabilidad lineal en el procesamiento de los datos atendiendo a la arquitectura distribuida y el número de ordenadores disponibles, puesto que influyen diferentes aspectos asociados al tiempo de análisis de cada bloque, como el rendimiento en función de la memoria disponible o la escalabilidad de los algoritmos utilizados en las tareas map.
Francisco Herrera Triguero
A modo de ejemplo, hemos ejecutado un algoritmo de clasificación muy conocido, denominado Random Forest, sobre un conjunto datos con 2,4 millones de instancias (41 variables y 2 clases). El tiempo de ejecución en un ordenador con un microprocesador Intel I7 (la arquitectura más moderna diseñada por Intel), fue de 49.134 segundos, y en el clúster ATLAS (la versión proporcionada por la biblioteca Mahout) utilizando solo 20 bloques fue de 221 segundos. Claramente la escalabilidad y la ganancia están muy por encima de un valor lineal. Considerando el mismo problema con una base de datos de 4,8 millones de instancias se comprueba que no es posible ejecutar el algoritmo Random Forest en un ordenador I7, ejecutándose en ATLAS en un tiempo de 236 segundos. Como vemos, se ha duplicado el tamaño del problema y únicamente se han necesitado 15 segundos más de cálculo (de 221 a 236 segundos). Esto es debido a que en el primer experimento no se había alcanzado la capacidad máxima de cálculo para cada núcleo.
C.6. Ecosistema Hadoop Se llama así al conjunto de software y aplicaciones de código libre sobre Hadoop, actualmente más de 150 proyectos, desarrollado por la Fundación Apache para análisis, programación, almacenamiento de datos, y otras muchas tareas. Recientemente, el portal de internet KDnuggets (http://www.kdnuggets.com) con una gran comunidad en ciencia de datos, destacaba 18 herramientas esenciales para trabajar con el entorno Hadoop, entre las que incluye: la plataforma Apache Pig para ejecución de código sobre datos, el paquete Apache Ambari para el manejo de los clústeres Hadoop, el conjunto de herramientas GIS Tools para manejar componentes geográficas en los datos, la base de datos HBase y el nuevo entorno para el desarrollo de algoritmos que utiliza el procesamiento en memoria (“in memory”) más rápido que el procesamiento en Hadoop, Apache Spark. Por otra parte, frente a las bases de datos relacionales que se utilizan para el almacenamiento de datos, surge una nueva tecnología que es conocida como NoSQL,
111
112
Proyecto Natural de Jaén
definido como aquellos sistemas de bases de datos no relacionales necesarios para albergar y procesar la grandes cantidades de datos complejos. Las bases de datos NoSQL no son compatibles con las actualizaciones y eliminaciones, pues toman como fundamento que solamente será necesario añadir más información al sistema. Dos conocidas bases de datos para estas arquitecturas son HBase y Cassandra.
C.7. Limitaciones de MapReduce Hemos hecho hincapié en la bondad de MapReduce como una solución diseñada para resolver diferentes tipos de problemas de big data. Sin embargo, a pesar de sus bondades, no es la panacea. Hay algunos escenarios en los que este modelo de programación funcional no aporta el rendimiento esperado y por tanto deben elegirse soluciones alternativas. Hay que tener cuidado de no aplicar el aforismo “Cuando tu única herramienta es un martillo, todo te parece un clavo” [10], y conocer las limitaciones en su uso. Se pueden enumerar las siguientes: • No todos los algoritmos se pueden formular de manera eficiente en términos de las funciones map y reduce. Sirva como ejemplo los algoritmos iterativos, muy presentes en el ámbito del análisis inteligente de datos. • MapReduce tiene también problemas en el procesamiento de datos en red, es decir, con la estructura de grafo. Por ejemplo, los enlaces en la web que procesa Google para dar prioridad a las páginas con su buscador. • El procesamiento de una gran cantidad de archivos pequeños, o la realización de cálculos intensivos con cantidades pequeñas de datos. • Una limitación muy grande de MapReduce es la poca flexibilidad que tiene a la hora de crear flujos de datos acíclicos: solamente permite usar un esquema “map ->shuffle ->reduce”. A veces sería interesante hacer un “map ->shuffle
Francisco Herrera Triguero
->reduce ->shuffle ->reduce” pero con MapReduce se tiene que transformar en un flujo “trabajo 1 (map ->shuffle ->reduce); trabajo 2 (map ->shuffle ->reduce)” (obligando a tener una fase map que carece de utilidad). Se han propuesto alternativas a MapReduce para abordar las deficiencias comentadas. En función de las características del problema que nos ocupa, podemos elegir diferentes aplicaciones que se adapten mejor a nuestras necesidades. Google desarrolló la aplicación Pregel para el procesamiento iterativo de la información presentada como grafos y procesada con su famoso algoritmo PageRank. Google analiza el 20% de sus datos con este sistema. En el ecosistema de Hadoop encontramos Giraph como sistema que presenta las mismas prestaciones. Hemos mencionado la creación del nuevo sistema Apache Spark que aborda muchas de las limitaciones comentadas para MapReduce desde su propia concepción y proporcionando aplicaciones de análisis de datos, siendo considerado la tecnología emergente del ecosistema Hadoop. En [12] se encuentra una completa descripción de las tecnologías alternativas a MapReduce que se han desarrollado en estos años.
C.8. Spark: La nueva tecnología emergente del ecosistema Hadoop Apache Spark (http://spark.apache.org) [13] es una tecnología de código abierto para el procesamiento de datos masivos construida alrededor de la velocidad, facilidad de uso y un análisis sofisticado abordando algunas de las limitaciones anteriormente comentadas. Fue desarrollado en 2009 en el laboratorio AMPLab de la Universidad de Berkeley en California, presentado como código abierto en 2010, y desarrollado por Matei Zaharia. Spark se convirtió en un proyecto de desarrollo de software de la Fundación Apache en febrero de 2014. Spark encaja en el ecosistema de código abierto Hadoop instalado sobre el sistema de archivos distribuido HDFS. No está ligado al modelo de programación MapReduce y permite realizar trabajos paralelizados totalmente en memoria (“in memory”),
113
114
Proyecto Natural de Jaén
lo cual reduce mucho los tiempos de procesamiento con un rendimiento hasta 100 veces más rápido que Hadoop para ciertas aplicaciones; sobre todo si se trata de procesos iterativos. Trabajar “in memory” no significa que tengamos que comprar servidores con un terabyte de RAM, en el caso de que algunos datos no quepan en la memoria, Spark seguirá trabajando y usará el disco duro para volcar aquellos datos que no se necesitan en este momento. En la sección C.4. se comentaban los logros de Hadoop en la competición del año 2013 para la ordenación de 1,42 terabytes de datos por minuto (http://sortbenchmark.org). En noviembre de 2014, un equipo de Apache Spark ha sido ganador de la competición celebrada este año y ha conseguido ordenar 100 terabytes de datos en 23 minutos, ordenando 4.35 terabytes por minuto y utilizando un clúster de 206 máquinas del servicio de Amazon Elastic Cloud (EC2). El resultado ha conseguido ser 3 veces más rápido con una décima parte de nodos (206 frente a 2010 que utilizó Hadoop). Spark resuelve la limitación de MapReduce para los flujos de trabajo basados en grafos acíclicos reduciendo aún más los tiempos de procesamiento y permitiendo procesos como el mostrado en la Figura C.6. Hay que destacar que es posible escribir una aplicación completa en Python, Java o Scala, compilarla y ejecutarla en el clúster. Por otra parte, ofrece varias aplicaciones para la realización de diferentes tipos de análisis: aplicaciones Figura C.6.Flujos acíclicos de procesamiento de datos para explotar los datos con un lenguaje SQL (Spark SQL), procesamiento de flujo continuo de datos (Spark Streaming), una librería de aprendizaje automático (MLlib) y una aplicación para el procesamiento de grafos (GraphX).
Francisco Herrera Triguero
Spark no es todavía un producto estable para su producción, pero actualmente es una de las herramientas más prometedoras desarrolladas por la fundación Apache. Como dato que muestra la apuesta por Spark, los desarrolladores de Mahout han anunciado que la siguiente versión se implementará sobre este sistema.
C.9. Un caso de estudio: “ECBDL’14 Big Data competition”. Aportaciones del grupo de investigación SCI2S en ciencia de datos La atención que se dedica a estos problemas de big data ha generado también un gran número de competiciones que tratan de abordar esta clase de problemas y que sirven de excelente banco de pruebas para analizar el comportamiento de los nuevos desarrollos sobre problemas reales y complejos. Recientemente, en el marco del congreso internacional GECCO2014 celebrado en Vancouver (Canadá) del 12 al 16 de julio de 2014, se organizó la competición “ECBDL’14 Big Data Competition” centrada en un problema de clasificación en bioinformática. En concreto, se trabajó sobre un conjunto de datos del campo de la predicción de estructuras de proteínas en el que se pretendía conseguir un modelo predictivo para distinguir un conjunto de estructuras a partir de las ya conocidas, especialmente la detección de contactos residuo-residuo en las proteínas. El conjunto de entrenamiento utilizado en la competición constaba de dos clases, con alrededor de 32 millones de instancias con 631 atributos (características asociadas a cada instancia) ocupando un total de 56,7 Gigabytes de datos. Para validar la utilidad de los métodos de la competición se ha considerado un conjunto de test con unos 2,8 millones de ejemplos almacenados en aproximadamente 5 Gigabytes de datos. Un problema añadido es que una de las dos clases constaba de sólo el 2% de los ejemplos, lo cual introducía un ratio de desequilibrio entre ambas clases de nivel 49, que hacía que los algoritmos clásicos tuviesen una tendencia a ignorar a los ejemplos de la clase minoritaria. Durante los meses de mayo y junio los equipos participantes pudieron enviar los resultados de sus propuestas para este problema, con una evaluación basada en el producto de los ratios de clasificación correcta para cada clase.
115
116
Proyecto Natural de Jaén
El equipo vencedor de la competición está formado por miembros del grupo de investigación de “Soft Computing y Sistemas de Información Inteligentes” (SCI2S) de la Universidad de Granada, que han propuesto una combinación de técnicas de preprocesamiento de datos (sobremuestreo de alto ratio sobre la clase minoritaria y selección de características basada en pesos utilizando algoritmos evolutivos) y multiclasificadores basados en árboles de decisión utilizando MapReduce, extendiendo las ideas publicadas en la revista “Information Sciences” [14]. El segundo equipo clasificado está formado por miembros del grupo de investigación ICOS de la Universidad de Newcastle (Reino Unido) que ha propuesto la aplicación de técnicas de evaluación parcial iterativa y algoritmos evolutivos. En tercer lugar ha quedado un equipo formado por miembros de la Universidad de Nueva Gales del Sur (Australia) que propusieron el uso de técnicas de “deep learning” con muestro de datos sobre la clase mayoritaria. La Figura C.7. muestra el equipo de investigadores participantes en la competición por parte de nuestro grupo de investigación. El grupo de investigación SCI2S desarrolla propuestas basadas en MapReduce y las tecnologías Hadoop y Spark para abordar problemas de big data. Cabe destacar desarrollos en el ámbito de los problemas de clasifcación altamente desequilibrados (“imbalanced classification”).
Figura C.7. Integrantes del equipo ganador de la competición ECBDL’14. De izquierda a derecha: Sara del Río, Isaac Triguero, Victoria López, Francisco Herrera y José Manuel Benítez
Por otra parte, en el ámbito de la ciencia de datos tenemos una amplia trayectoria en el desarrollo de algorit-
Francisco Herrera Triguero
mos desde 3 diferentes vertientes. La Figura C.8. muestra un esquema de las mismas, que se describen a continuación.
Figura C.8. Grandes áreas de trabajo del grupo de investigación SCI2S.
a) Propuesta de algoritmos para problemas de clasificación big data. b) El desarrollo de algoritmos predictivos y descriptivos para diferentes problemas: asociación entre variables, problemas de regresión y clasificación, clasificación con clases desequilibradas, múltiples instancias, múltiples etiquetas por clase, descubrimiento de subgrupos, etc. c) El desarrollo de algoritmos para el preprocesamiento de datos. El propósito fundamental del preprocesamiento de datos es la transformación del conjunto de datos para disponer de datos de mayor calidad y que la información
117
118
Proyecto Natural de Jaén
contenida pueda ser descubierta o estar accesible de forma más fácil. Y engloba a todas aquellas técnicas de análisis de datos que permitan mejorar la calidad de un conjunto de datos de modo que las técnicas de extracción de conocimiento (minería de datos) puedan obtener mayor y mejor información. Entre las tareas que se pueden realizar está la limpieza de inconsistencias, la detección y limpieza del ruido, la imputación de valores perdidos y el uso de técnicas de reducción de datos para eliminar datos redundantes o innecesarios, que nos permitan disponer de un conjunto más pequeño que el original y que permita mejorar la eficacia de los algoritmos de predicción y descripción. Los datos de baja calidad pueden llevarnos a modelos predictivos o descriptivos (modelos de minería de datos) de prestaciones reducidas, y por tanto se debe funcionar bajo el principio “decisiones de calidad deben ser basadas en datos de calidad”. El desarrollo de nuestra investigación realizada durante los últimos años ha culminado con la escritura del libro recientemente publicado “Data preprocessing in data mining” [15]. En él, se hace una descripción de los algoritmos más importantes en esta área muy significativa dentro de la ciencia de datos. Para finalizar esta sección, quiero destacar otra contribución desde el punto de vista del desarrollo del software, la herramienta KEEL (Figura C.9.) que se ha realizado en colaboración con varios grupos de investigación españoles, y en particular colaborando con el grupo de Sistemas Inteligentes y Minería de Datos (SIMiDat). KEEL es una herramienta de software de código abierto en Java que en la actualidad contiene más de 480 algoritmos de minería de datos [16]. Está disponible en el enlace: http://www.keel.es. Figura C.9. Imagen del software KEEL
Francisco Herrera Triguero
C. 10. Para finalizar El incremento exponencial de la cantidad de datos que se mueven, almacenan y comparten dentro del universo digital ha llevado al desarrollo de un conjunto de tecnologías que se integran bajo el nombre de big data. Los desarrollos han sido muy importantes en los últimos años y el potencial es inmenso, apenas vemos la punta del iceberg.
Big data será la herramienta imprescindible del día a día de las empresas. La compañía IDC (International Data Corporation, http://www.idc.com/), el principal proveedor mundial de tecnologías de inteligencia de mercado, avala la predicción que asegura que el 89% del crecimiento de la industria de Tecnologías de la Información en el año 2020 será el resultado de las tecnologías de big data. En torno a big data se está creando un mercado evaluado por la firma de análisis Gartner en 132.000 millones de dólares para 2015. Recientemente, N. Palomino publicó un interesante artículo de divulgación en El País, (N. Palomino,”10 maneras de mejorar nuestra calidad de vida usando big data” 25 de Abril de 2014), donde se describen 10 ejemplos de cómo la sociedad puede beneficiarse de la actual revolución de los datos, con iniciativas concretas que se están desarrollando en esos ámbitos. Estos 10 problemas muestran un interesante panorama del uso de big data. A continuación los enumeramos: (1) comprender los procesos demográficos y migratorios, (2) identificar hábitos y problemas sociales, (3) mejorar sistemas de alerta de desastres, (4) comprender tendencias económicas, (5) detectar riesgo de pandemias en tiempo real, (6) descubrir cambios topográficos, patrones de tráfico y emisiones, (7) entender el cambio climático, 8) mejorar servicios públicos, (9) organizar la ayuda humanitaria en desastres, y (10) fortalecer lazos comunitarios. Finalizamos con unos breves datos de la perspectiva profesional. Destacar que la demanda de profesionales formados en ciencia de datos y big data es enorme. La consultora tecnológica Gartner estima que se habrán creado más de 4,4 millones
119
120
Proyecto Natural de Jaén
de empleos entre los años 2012 y 2015 en el mundo. España necesitará para 2015 más de 60.000 profesionales con formación en ciencia de datos y big data, según aseguraba el Subdirector General de Tecnologías del Ministerio de Educación, Cultura y Deportes recientemente en una mesa redonda sobre beneficio y aplicación de big data en pymes, declaraciones que recoge la revista online española de Cloud Computing “Revista Cloud Computing” (http://www.revistacloudcomputing.com). Esta gran demanda de profesionales da muestra de la importancia que tendrán estas tecnologías en los próximos años. Las empresas necesitan de ellas para transformar la información en conocimiento, y por tanto será la herramienta imprescindible del día a día de las empresas. Todos estos datos avalan que nos encontramos ante una verdadera revolución digital, donde las tecnologías de big data juegan un papel esencial en nuestra sociedad, siendo uno de los más importantes catalizadores en la transformación de la era de la información a una sociedad digital basada en el conocimiento.
C.11. Referencias bibliográficas [1] V. Mayer-Schönberger, K. Cukier (2013). Big Data. La revolución de los datos masivos. Turner. [2] B. Schmarzo (2014). Big Data. El poder de los datos. Anaya. [3] A. Rajaraman, J.D. Ullman (2011). Mining of massive data sets. Cambridge University Press. [4] R. Zafarini, M.A. Abbasi, H. Liu (2014). Social media mining. Cambridge University Press, 2014. [5] G. Shmueli, N.R. Patel, P. Bruce (2010). Data Mining for Business Intelligence. Wiley. [6] F. Provost and T. Fawcett (2013). Data Science for Business. O’Reilly. [7] R. Schutt, C. O’Neil (2013). Doing Data Science. O’Reilly.
Francisco Herrera Triguero
[8] F. Herrera (2014). Big data. Procesamiento los datos en la sociedad digital. Comentario invitado. Revista de Física 28:4, 40-44. [9] J. Dean and S. Ghemawa (2008). MapReduce: simplified data processing on large clusters. Communications of the ACM, 51:1 107–113. [10] M. Grover, T. Malaska, J. Seidman, G. Shapira (2014). Hadoop Application Architectures. O’Reilly Media. [11] J. Lin (2014). MapReduce is good enough? Big Data, 1:1, 28-37. [12] A. Fernandez, S. Río, V. López, A. Bawakid, M.J. del Jesus, J.M. Benítez, F. Herrera (2014). Big Data with Cloud Computing: An insight on the computing environment, MapReduce and programming frameworks. WIREs Data Mining and Knowledge Discovery 4:5, 380-409. [13] H. Karau, A. Konwinski, P. Wendell, M. Zaharia (2104). Learning Spark. O’Reilly Media. [14] S. Río, V. López, J.M. Benítez, F. Herrera (2014). On the use of MapReduce for imbalanced big data using random forest. Information Sciences 285, 112-137. [15] S. García, J. Luengo, F. Herrera (2015). Data preprocessing in data mining. Springer. [16] J. Alcalá-Fdez, L. Sánchez, S. García, M.J. del Jesus, S. Ventura, J.M. Garrell, J. Otero, C. Romero, J. Bacardit, V.M. Rivas, J.C. Fernández, F. Herrera (2009). KEEL: A software tool to assess Evolutionary Algorithms for Data Mining Problems. Soft Computing 13:3, 307-318.
121
Entrevista a Francisco Herrera
Entrevista realizada por Concha Araujo
Concha Araújo: ¿Qué es la Inteligencia Artificial? Francisco Herrera: Para definir la Inteligencia Artificial me gusta la frase de McCarthy, un investigador que sugirió ese término en el año 1955. Decía que era la ciencia y la ingeniería para hacer máquinas inteligentes. Actualmente es un amplio campo de conocimiento en el que se intenta introducir, desarrollar conductas inteligentes en los ordenadores, en artefactos que permitan resolver problemas, de cualquier ámbito, desde la perspectiva inteligente. C.A.: A mediados del siglo pasado Turing lanzó una pregunta: ¿Pueden pensar las máquinas? ¿Estamos cerca de darle respuesta? F. H.- Una pregunta recursiva a lo largo de los 60 años de historia de la Inteligencia Artificial. Cuando hablamos de ello, hablamos de dos perfiles: de la que algunos investigadores denominan débil, que intenta crear conductas inteligentes en máquinas para desarrollar o resolver problemas concretos. Por ejemplo, Deep Blue, una máquina que creo IBM para jugar al ajedrez y competir con el campeón del mundo Kasparov, y que en 1997, en un torneo de seis partidas, consiguió ganarle. Quedaron dos y medio a tres y medio. Luego está lo que se denomina Inteligencia Artificial fuerte, que es construir máquinas que lleguen a pensar. Ese concepto de Inteligencia Artificial que planteaba Alan Turing, en el trabajo que publicó en 1950, ‘Inteligencia y Ordenadores’. Planteaba un test, que ahora se denomina test de Turing, con el que
126
Proyecto Natural de Jaén
podríamos decir que una máquina piensa con la siguiente prueba: si tuviéramos a la máquina en una sala, una persona en otra sala y hubiera una conversación entre ambos -una conversación inteligente, no trivial, en unos términos de conocimiento con cierta profundidad y con un razonamiento profundo- si la persona no fuera capaz de identificar que está manteniendo una conversación con una máquina, entonces habría pasado el test y se podría etiquetar como una máquina que piensa. Existen muchas líneas de trabajo en ese campo, intentando aumentar las capacidades de razonamiento de las máquinas. Hoy no podemos todavía afirmar que estemos en esa situación. Francisco Herrera Triguero, niño Hay previsiones: un investigador y gran divulgador americano, Kurzweil, que considera que para 2029 habrá máquinas que podrán pensar, que podrán pasar el test de Turing. Hoy estamos lejos de ese objetivo. Sí tenemos ordenadores que en algunos ámbitos realizan conductas inteligentes pero no tenemos esa máquina que pueda pensar, como vemos en algunas películas, en las que la inteligencia artificial se ha conectado hacia el futuro y en el ámbito de la ciencia ficción. C.A.: A veces da la sensación de que sí trabajan en el ámbito de la ciencia ficción, como si fuera herederos de Asimov u otros divulgadores y escritores de ciencia ficción que han contado historias que van en esa dirección. F. H.: La ciencia ficción va muy por delante de la Inteligencia Artificial. En toda la historia de la Literatura hemos encontrado escritores que han estado pensando en la
Francisco Herrera Triguero
tecnología como algo muy lejano, desde Julio Verne cuando imaginaba un submarino que podía cruzar los océanos. Tenemos ejemplos de la época griega, como Thales, el hombre o el gran robot de bronce que protegía la isla de Creta. Podemos encontrar muchos ejemplos de humanoides o de Inteligencia Artificial real. Asimov es uno de los grandes creadores de la literatura de ciencia ficción y muchas, o algunas, de las predicciones de Asimov las hemos visto reflejadas en el cine y hablan de esa Inteligencia Artificial a la que se quiere llegar. De alguna forma hay escritores que están hablando de ese futuro al que se intenta llegar con la investigación actual. C.A.: Pero ahora mismo ¿ese futuro es lejano? F.H.: Sí. Pero lo que era ciencia ficción hace años hoy es realidad: tenemos un coche inteligente de conducción automática sin conductor, Google ha desarrollado uno de los prototipos y, en la información que ha publicado, alguno de sus coches ha llegado a hacer casi cien mil kilómetros en carretera sin conductor. Una persona va en el asiento del conductor pero todas las decisiones las toma de forma automática el coche. Y hay una anécdota: no tuvo ningún accidente a lo largo de los cien mil kilómetros y sólo tuvo un golpe que le dieron por detrás en un semáforo: frenó correctamente y tuvo un golpe de los que solemos tener los humanos cuando frenamos tarde en los semáforos. Hace 15 años eso era ciencia ficción. El coche fantástico era ciencia ficción y hoy estamos hablando de que hay previsiones de que en cinco o seis años podremos tener ese coche en el mercado. En EsJosé Ángel Marín, Francisco Herrera y Concha Araujo
127
128
Proyecto Natural de Jaén
Francisco Herrera entre los suyos
tados Unidos hay algunos estados que ya han modificado las leyes para permitir la conducción automática, eso además permite que se puedan hacer las pruebas que hace Google. La realidad, en pocos años, va haciéndose eco de la ciencia ficción que hemos visto en televisión o en el cine o que nos plantean los escritores.
C.A.: ¿Preferiría jugar una partida de ajedrez con Deep Blue o con Kasparov? F.H.: He sido jugador de ajedrez, he estado federado y, cuando vivía en Jódar, era miembro del equipo de ajedrez y gané algunos torneos. Si me dan a elegir, emotivamente prefiero a Kasparov, por quien es. Además, he jugado con Fritz uno de los software de ajedrez que tenemos en el mercado y tengo una máquina para jugar al ajedrez en casa y cuando le pongo nivel alto, nunca gano. Entonces prefiero disfrutar la experiencia de jugar con el campeón del mundo. Ahí entramos en la parte de los sentimientos: por un lado, aunque Deep Blue es una máquina que IBM desmontó, tenemos a sus herederos, tenemos todo el software actual que es software inteligente; por otro lado, tenemos la parte de las emociones y ahí sería un placer tener delante a un campeón del mundo. C.A.: Su equipo de investigación trabaja tanto con Inteligencia Artificial como con Ciencia de Datos ¿cuáles son las aplicaciones prácticas de estas disciplinas? F.H.: Las aplicaciones prácticas son muchísimas. La Inteligencia Artificial es una realidad en nuestras vidas aunque no seamos conscientes, como Internet: si nos lo
Francisco Herrera Triguero
quitaran sentiríamos que nos falta algo. Centrándonos en la automoción, tenemos herramientas que detectan si por nuestro movimiento de ojos podemos llegar a dormirnos y nos avisan si tenemos problemas en la conducción; tenemos toda una serie de artefactos inteligentes en el coche -el cambio de marchas automático es un sistema inteligente- y es algo tan natural que no somos conscientes de ello. Tenemos lavadoras con tecnología de soft-computing en las que basta meter la ropa, decirle el nivel de suciedad y decide automáticamente el programa, el consumo de agua, etc.; tenemos una cámara de vídeo -con la que estamos grabando- que tiene control de la vibración, es un sistema automático; en el ámbito de la medicina tenemos toda una serie de herramientas inteligentes de apoyo en la toma de decisiones. En toda la sociedad estamos utilizando artefactos de eso que llamamos Inteligencia Artificial débil: tener conductas inteligentes en los ordenadores para resolver muchos problemas. Si hablamos de Ciencia de Datos, es el área de conocimiento asociado al tratamiento de información para extraer conocimiento. Es igualmente una realidad. Cuando vamos a un banco a pedir un préstamo, encontramos sistemas automáticos de detección de calidad de datos y de cálculo de scoring que incluyen técnicas de ciencia de datos e inteligencia artificial, puesto que hay una parte de la ciencia de datos que utiliza las técnicas inteligentes. Eso está en nuestro día a día y tenemos muchos más ejemplos: el análisis de datos a nivel ferroviario. El 90% de las empresas del Fortune 500, las más grandes del mundo, tienen equipos de ciencia de datos para analizar toda la información y extraer conocimiento. Si no tienen equipos de ciencia de datos en el futuro no van a Francisco Herrera Triguero
129
130
Proyecto Natural de Jaén
ser competitivas en el mercado, porque sus competidores van a ser capaces de tener conocimiento, de tener valor de toda la información que almacenan y por tanto van a ser capaces de adelantarlas en el ámbito competitivo de su entorno económico. C.A.: ¿Eso significa que la máxima ‘La información es poder’ está más consolidada que nunca? F.H.: La información es poder pero, además, hoy en día extraer conocimiento de esa información da más poder, más valor. Actualmente la cantidad de información que tienen las empresas es tremenda y el problema que encuentran es procesarla. El 90% de la información de que disponemos almacenada en esa galaxia digital en la que hoy nos movemos se ha generado en los dos últimos años. Hay informes que indican que actualmente se almacenan 2,5 trillones de bytes al día. La Ciencia de datos, Big Data y las tecnologías asociadas, nos permitirán extraer conocimiento de esta información y van a ser la herramienta fundamental en el desarrollo de la economía a nivel de empresa en la economía mundial. C. A.: Cuando se trabaja sobre esto, sobre el manejo de información a escala mundial ¿Se piensa en el lado oscuro, en la parte preocupante que pueda tener tanta información a disposición de cualquier ingenio?
José Ángel Marín y Francisco Herrera
F.H.: Cuando trabajas, desde la perspectiva del investigador, no piensas en eso. Estás analizando que hay problemas e intentas ser creativo aportando soluciones, aportando un grano de arena para construir ese conocimiento que permite resolver esos problemas. Es cierto que la
Francisco Herrera Triguero
tecnología siempre tiene el lado positivo del beneficio y también puede tener un uso negativo. Nunca piensas en él. Entendemos que la Humanidad quiere avanzar hacia el lado positivo, pero somos conscientes del uso negativo. Lo vemos continuamente en las guerras, en los problemas de esta sociedad. Pero yo no pienso, cuando estamos desarrollando algoritmos para la extracción del conocimiento de datos, que se puedan utilizar para esto. El algoritmo es algo positivo, una herramienta que te va a permitir extraer conocimiento que está dentro de los datos. En la mente humana tenemos el lado de la luz y el lado de la oscuridad. En unas personas se desarrolla más uno u otro. En el fondo el uso de la tecnología de forma oscura forma parte de esa naturaleza oscura consustancial a los humanos.
Profesor Francisco Herrera
C. A.: En las teorías de la información de finales del siglo XX se hablaba mucho de que el exceso de información, al que estamos asistiendo ahora, puede generar mucha desinformación ¿Puede ser el Big Data la solución a ese problema? F.H.: Es una de las soluciones. El Big Data permite apuntar en la dirección de la información útil, cuando se convierte en conocimiento. Todas las tecnologías que nos permitan trasformar la información en conocimiento nos van a dar luz, porque cuando te conectas a Internet tienes un universo digital inmenso y el problema es encontrar aquello que buscas. Las tecnologías Big Data, por ejemplo los sistemas de recuperación de información en datos masivos, permiten que encuentres y te llegue esa información más útil. De hecho, Google está creada en torno a tecnología Big
131
132
Proyecto Natural de Jaén
Concha Araujo, José Ángel Marín y Francisco Herrera
Data. El buscador de Google es una herramienta tecnológica capaz de bucear en ingentes cantidades de información, que procesa y tiene indexada. Google fue el creador de la primera tecnología Big Data -en el 2003-2004, una tecnología que recibe el nombre de MapReduce- y ha sido un pionero en el uso del Big Data para hacernos accesible Internet. Esto tiene una segunda parte, Google sabe de nosotros tanto o más que nosotros mismos. Pero las tecnologías Big Data son muy importantes para encontrar lo más útil de toda esa información que tenemos a todos los niveles: en Internet, en las grandes bases de datos que tienen las empresas, en las grandes bases de datos abiertas. Actualmente existe una corriente para intentar que mucha de esta información sea abierta, Open Data, y que sea accesible no solamente para aquellos que disponen del dinero para generar esa información.
Francisco Herrera Triguero
C.A.: Esa es una de las vertientes más positivas socialmente. Si al acceso a la información se hace más democrático ¿Será más fácil potenciar el desarrollo a escala universal? F.H.: Sí. Naciones Unidas tiene toda una iniciativa, United Nations Global Pulse, enfocada a intentar que Big Data sea una herramienta útil para mejorar las sociedades más desfavorecidas y que no tienen el acceso a la tecnología que tenemos en el mundo más desarrollado. C.A.: ¿Hay aplicaciones humanitarias? F.H.: Hay una línea de investigación muy importante que tiene aplicación humanitaria directa. En Europa existe un intento de que la investigación que se hace sea abierta y que lo que se publica en las revistas sean publicaciones abiertas que puedan leer investigadores de cualquier mundo, aunque no tengan la capacidad económica para pagar el acceso. Además, muchísima de la investigación que
133
134
Proyecto Natural de Jaén
se está haciendo está siendo útil para un uso directo. Preparando una conferencia, he encontrado un artículo que mostraba como las consultas a la Wikipedia sobre la gripe permiten tener un modelo que analiza si las consultas que se están haciendo en una zona podrían avisar del inicio de una epidemia. Si tienes consultas masivas es porque hay personas que pueden tener gripe o se preocupan porque hay síntomas gripe en su entorno. Eso puede crear un modelo de red social y medir como se puede expandir la enfermedad en esas zonas. Puedes tener una predicción a nivel hospitalario para saber qué se te puede avecinar en el pico de la gripe. Existen iniciativas para estudiar el cambio climático. Leí otro trabajo en el que se analizaban varios millones de tuits y determinadas palabras clave, asociadas a enfermedades, tenían una correlación muy alta con situaciones de gripe, obesidad y otro tipo de enfermedades en una sociedad. Podemos utilizar redes sociales a nivel médico para saber cómo esos movimientos están repercutiendo en nuestra salud. C.A.: Su equipo ¿En qué líneas está focalizado? F.H.: Tenemos diferentes líneas abiertas en soft-computing -Inteligencia Computacional-, tenemos líneas en las que desarrollamos modelos para poder computar con palabras y modelos que permitan el manejo de sistemas lingüísticos. Una aplicación de esto son los sistemas para que aparquen automáticamente los coches, tienen un modelo de reglas lingüísticas que imitan o representan como el humano haría el aparcamiento pero con más precisión. Estamos trabajando en el desarrollo de algoritmos bio-inspirados -imitar a la naturaleza para resolver problemas-, en el grupo se han hecho aplicaciones para analizar y optimizar la cadena de montaje de un empresa -ha habido ejemplos con la línea de Nissan, con la cátedra Nissan que había en la Politécnica hace unos años-, hemos tenido proyectos con bancos para optimizar el depósito que tiene que tener un banco, los recursos para el uso diario en oficinas. Si nos vamos al campo de la Ciencia de Datos, hemos trabajado con lo que era Caja Granada o con Banca Cívica para analizar los datos de los préstamos, los sistemas de riesgo y calidad de datos para la toma de decisiones; ahora mismo trabajamos
Francisco Herrera Triguero
con una empresa en el ámbito ferroviario para analizar todo el sistema de señalización: los datos que los sensores proporcionan de las líneas ferroviarias para descubrir información que nos analice en qué medida el disparo de una alarma está relacionado con otras alarmas y tener sistemas de Francisco Herrera predicción. También tenemos un proyecto con una cooperativa de Motril en la que estamos intentando aplicar la ciencia de datos para la predicción de plagas, predicción de temperatura en invernaderos y predicción de producción: hay sistemas que analizan la producción a partir de las flores que puede tener una planta y puedes conocer qué producción vas a tener en unas semanas y tomar decisiones a partir de ello. C.A.: Son proyectos muy concretos pero de aquí ¿Salen otras cosas, nuevas ideas que inspiran a seguir en otra dirección? F.H.: Por un lado, estos proyectos nos plantean problemas abiertos, que nos permiten desarrollar nuevos algoritmos. Algoritmos que se van a publicar, cuyo software va a estar disponible y se pueden resolver problemas. Durante los meses de mayo y junio estuvimos trabajando en una competición de un congreso GECCO que se celebraba en Vancouver. Planteó una competición de Big Data con un problema en el ámbito de la bioinformática. Era un problema de predicción de contacto entre proteínas: nos daban 32 millones de datos, 56 Gigabytes de información, era un claro problema de Big Data que no se puede procesar con un ordenador normal, hace falta tecnología potente, grandes clusters de ordenadores y de algoritmos para ello. Tenía una peculiaridad: la dificultad del problema
135
136
Proyecto Natural de Jaén
radicaba en que -además de las seiscientas y pico variables- tenía dos clases y la clase importante, la positiva, solo tenía un 2% de datos, con lo cual había un desequilibrio de 49 unidades, del 2% al 98%. Eso hace que el problema sea muy difícil, porque cualquier algoritmo clásico de Ciencia de Datos tiende a ignorar la clase minoritaria. Eso obliga a diseñar técnicas que sean capaces de procesar esa clase minoritaria. Incluso teníamos una publicación en este tema, ‘Big Data para datos no equilibrados’. Partíamos de nuestro algoritmo en mayo y mantuvimos una competencia continua con un equipo de Universidad de Newcastle y otro de la Universidad de Nueva Gales del Sur (Australia). Los equipos fuimos aplicando distintas tecnologías para resolver el problema. Esto nos permitió a nosotros mejorar nuestros algoritmos, mejorarlos para los casos de un no balanceo muy alto, nuestros algoritmos estaban preparados para un balanceo medio y hemos llegado a hacer una propuesta novedosa para este tipo de problemas. Fue la ganadora de la competición y estamos terminando el artículo que vamos divulgar en una revista científica y que podrá ser utilizado por nosotros o por otros investigadores para resolver problemas de esta naturaleza. Cambiará el problema, no será este, pero cuando tengamos datos de esta naturaleza, con un alto desequilibrio, estaremos aportando herramientas y soluciones que permitan detectar la frontera para esa clase minoritaria que es muy importante en el ámbito de la medicina. En los problemas médicos es muy normal que, cuando tenemos una base de datos grande, tengamos un alto porcentaje de pacientes sanos y un porcentaje muy pequeño de pacientes con enfermedades, más pequeño aún en las raras. Todas estas técnicas ayudan al diseño de sistemas de ayudan a la decisión en medicina, que puedan ayudar a predecir o dar información sobre determinados síntomas y a partir de determinados valores en unas analíticas, indican una probabilidad alta de aparición de una enfermedad. A veces abordamos un problema, damos solución a ese problema y diseñamos algoritmos genéricos que se pueden utilizar en otros problemas.
Francisco Herrera Triguero
C.A.: ¿Hay algún sector (económico, social, político) que reclame más este tipo de investigación o es general esa demanda? F.H.: Actualmente es general. El 90% de las grandes empresas tienen departamentos de Big Data. Las grandes empresas se pueden permitir constituir estos grandes equipos de Ciencia de Datos; las pequeñas tendrán que trabajar con consultoras o con los Prof. Francisco Herrera recibiendo Premio AEPIA 2013 grupos de la universidad que pueden aportar su tecnología y su conocimiento para resolver problemas y desarrollar modelos. Yo hablaba de una empresa en la que estamos desarrollando distintos tipos de modelos, en el ámbito de su negocio, que permitirán desarrollar los servicios y el conocimiento de la propia empresa, y la competitividad de la empresa hacia el exterior. C.A: ¿Está creciendo por ahí la conexión entre empresa y universidad? F.H.: Esa conexión es importante y va creciendo día a día en España, donde la conexión entre la empresa y la universidad es menor que en otros países de Europa o Estados Unidos. Es necesario que crezca. La universidad está para dar un servicio a la sociedad desde distintas perspectivas: la formación -formar estudiantes que sean profesionales excelentes en su ámbito de trabajo- y desarrollar una investigación que sea útil para la sociedad. Investigación que en unos casos será básica, que será publicada en revistas científicas y a lo largo del tiempo se va a ir aplicando. Pero también hay que hacer la tercera parte, la transferencia: estar en contacto con las
137
138
Proyecto Natural de Jaén
empresas, con nuestra sociedad y tenemos que hacer el ejercicio de llevar nuestra investigación hacia la resolución de problemas que nos está plateando la sociedad. Estamos en un país que atraviesa una crisis importante, estamos en la sociedad del conocimiento y en una economía en la que el conocimiento, la investigación, la tecnología, la ciencia pueden y deben ser muy útiles a esta sociedad y particularmente a España. C.A.: ¿Cómo nació en usted el interés por las matemáticas? F.H.: Desde muy pequeño, desde que llegué al instituto de Jódar, la asignatura de Matemáticas era la que más me gustaba. Recuerdo de esa época que en mi se generó la idea de ser profesor de Matemáticas. Recuerdo conversaciones con mi madre en las que me sugería que estudiara Magisterio, en Úbeda, y yo insistía en ser profesor de Matemáticas. C. A.: ¿Y de las Matemáticas a la Informática? F.H.: Yo estudié la licenciatura de Matemáticas entre 1983 y 1988, entonces hubo un boom de la informática. En los últimos años de carrera estudié una especialidad, la de Investigación Operativa, que estaba totalmente enlazada con la Informática, de hecho, profesores de aquella asignatura son ahora compañeros míos en el departamento de Inteligencia Artificial. Así que los últimos años de carrera enlacé con la Informática. Tenía un amigo que tenía uno de los primeros PC de IBM y dedicábamos tardes enteras a trabajar con él, haciendo las prácticas programadas, intentando llevar las Matemáticas y la Investigación Operativa al ordenador. Terminé Matemáticas con la idea de conjugarlas con la Informática. Y en esa ilusión de ser profesor de Instituto se cruzó la informática. Pensé en hacer los cursos de doctorado en Informática con la idea de dedicarme profesionalmente a ella. En aquel momento, surgieron un par de plazas en el departamento de Inteligencia Artificial. En Granada estaban los estudios de la diplomara en Informática y la Universidad hizo una apuesta muy fuerte -aunque todavía la Junta no había concedido oficialmente el segundo ciclo- los empezó como estudios propios. Ese cuarto de informática que no era oficial entonces, generó la
Francisco Herrera Triguero
necesidad de tres profesores contratados y opté a una plaza de profesor asociado. Entré en un mundo que no me había imaginado. Recuerdo esos primeros años en que éramos todos matemáticos, una época de estudiar muy a fondo temas de informática Francisco Herrera para completar la formación como docentes; la época como investigador, con una tesis doctoral, sobre softcomputing, que compaginaba con los conocimientos que había estudiado en la carrera sobre programación matemática lineal. C. A.: Y se abrió un campo nuevo ¿Cual le ha dado más satisfacciones: la investigación o la docencia? F. H.: Para mí la investigación ha sido el hilo conductor de mi actividad en la Universidad, es algo que me fascinó desde el primer momento. Terminé mi tesis doctoral y empecé a co-dirigir a dos doctorandos con mi director de tesis y después a dirigir solo. La investigación para mí siempre ha sido fascinante, pero la mayor satisfacción es haber formado a 36 doctores. La docencia ahora la disfruto más que hace unos años. Es fundamental, la Universidad debe formar profesionales en los distintos ámbitos, es nuestra obligación. Tengo la suerte de ser docente de asignaturas que tienen relación con mi investigación: imparto una asignatura que es una introducción a la Ciencia de Datos, se llama Inteligencia de Negocio; y otra llamada Metaheurística introduce algunas de las herramientas básicas de la Inteligencia Computacional, los algoritmos de optimización. Introduzco a los estudiantes en herramientas bási-
139
140
Proyecto Natural de Jaén
cas y conocimientos que van a ser útiles para ellos profesionalmente. Disfruto como docente pero mi gran pasión es la investigación. C.A.: ¿Es posible dejar el compromiso personal al margen de cualquiera de las dos? F.H.: No. Y no debemos hacerlo. Un docente tiene que disfrutar y estar comprometido para enseñar a los estudiantes. Yo creo que la Universidad tiene un compromiso social muy importante. Está en mis raices, yo vengo de un entorno humilde y estudié becado en Granada. Sin esa parte de compromiso social de la Universidad para que, con becas, una persona pueda estudiar y formarse, yo no estaría aquí. Por tanto, los que estamos al otro lado como docentes tenemos el compromiso con esos estudiantes, con todos: hay que formarlos y crear excelentes profesionales. Para ello tienes que sentirlo y creer en lo que estás haciendo. Si tienes ese sentimiento vas a disfrutar más, vas a conectar mejor con los estudiantes y vas a ser mejor docente. Si vamos a la parte de investigación, distinguiría dos partes: mi perfil como investigador, aportando un granito de arena, creando ideas, avanzando en la creatividad con los problemas que abordamos y la investigación en lo que demanda la sociedad para resolver problemas y avanzar tecnológicamente. Por otro lado, mi perfil como formador, yo siento un compromiso personal cuando tengo un doctorando nuevo. No puedo decir que sea como un hijo pero entiendo que adquiero una responsabilidad con esa persona. Tengo que formarlo para ser investigador, para que sea creativo y generar ideas y aportarlas a su tesis doctoral. Me vuelco con mis doctorandos, he dirigido 36 tesis en 26 años, que es un número relativamente alto. He tenido 3 doctorandos de Cuba en un programa de colaboración. Leyeron la tesis este año, con publicaciones en revistas de muy alta calidad y etiquetadas como Q1, primer cuartil de su categoría. Me siento muy orgulloso de esa parte, de ayudar a estudiantes que no tenían posibilidad de hacer la tesis en Cuba porque no tenían doctores suficientes para formarlos. Ya he hablado con el coordinador del proyecto en Cuba y estaré encantado de formar a nuevos doctorandos cuando los haya.
Francisco Herrera Triguero
C.A.: Eso parece responder al planteamiento de que toda construcción de conocimiento es colectiva. F.H.: Aquí tendríamos que distinguir entre áreas. A lo mejor en Humanidades es posible un trabajo, a veces, más individual, pero en nuestra área es un trabajo colectivo. Yo tengo un equipo con el que me reúno constantemente, discutimos las ideas. Me encanta discutir con los jóvenes y que me lleven la contraria, porque esa tormenta de ideas es enriquecedora. En nuestro ámbito hay una carga de componente práctica importante y es la que están haciendo los doctorandos, están en los laboratorios trabajando e implementando las ideas que hemos discutido, desarrollado el estudio experimental. Yo no podría realizar solo mi investigación. Siempre digo que a donde he llegado ha sido gracias a haber tenido ya 36 colaboradores en la etapa de doctorado que han realzado una labor tremendamente positiva. Yo he
Concha Araujo, José Ángel Marín y Francisco Herrera
141
142
Proyecto Natural de Jaén
sido su director pero con muchos de ellos mantengo una colaboración continua a lo largo de estos años. Hay profesores en la Universidad de Jaén -María José del Jesus y Luis Martínez- que hicieron conmigo la tesis hace 15 años y mantengo una intensa colaboración con ambos y con sus equipos. De lo cual me siento orgulloso y les agradezco mucho la confianza, porque en algunos casos ellos ponen más que yo a la hora de realizar un trabajo, porque son reconocidos investigadores internacionales. C.A.: El reconocimiento internacional es algo de lo que también disfrutan usted y su equipo. Han recibido galardones, es uno de los científicos más citados dentro de su área de conocimiento ¿Eso ayuda a la tarea investigadora? F.H.: El reconocimiento te permite pensar que lo estamos haciendo bien y te da ánimos para seguir en esa línea, pero tiene por debajo un trabajo importante, asociado a publicaciones, a transferencia, que es el que te permite mantener el nivel, seguir captando fondos y becas para seguir trabajando. Esto es un trabajo colectivo y para mí es fundamental el trabajo de los doctorandos. Ellos son la piedra angular sobre la que construimos el resto de la investigación. Por eso para mí es muy importante captar fondos para contratar a doctorandos y para todo lo que supone la investigación, en nuestro caso comprar máquinas, grandes clusters de ordenadores que tienen un coste alto. Es un todo y al final va unido. Cuando llevas una trayectoria importante tienes ciertas facilidades. C.A.: Los recortes ¿Los están notando o todo esto le ha dado ventajas sobre otros equipos? F.H.: Todos los estamos notando. La crisis ha pegado muy fuerte en este país y como consecuencia los presupuestos en investigación están por debajo de la mitad de lo que eran hace 5 años. Eso se nota. Se nota porque los fondos de los proyectos que recibimos son mucho más bajos que antes, el número de becas ha bajado mucho y eso hace que los recursos con los que trabajamos sean menores. Los grupos que tienen un nivel muy alto y son fuertes han podido navegar mejor en esta situación de crisis.
Francisco Herrera Triguero
Pierdes posición competitiva internacional por cuanto tus equipos están mermados. Yo tengo menos estudiantes de doctorado ahora que hace 5 años. En estos días se va al Imperial College en Londres una estudiante brillante que antes tenía una beca del plan nacional. Sustituir a estos doctorandos es difícil cuando los medios son menores y no tienes fondos para captar becas en el número que las captabas antes. Aunque nuestro grupo tiene un nivel muy alto, un buen nivel de doctorandos y una financiación que nos permite trabajar e invertir en máquinas para ser competitivos, si miramos hacia nuestros colegas de otros países, nos damos cuenta de que nosotros vamos dando un paso atrás. C.A.: ¿Vamos a perder trenes tecnológicos por estos recortes? F.H.: Sin lugar a dudas. Siempre que tenemos recortes damos pasos atrás y vamos a perder oportunidades. Los jóvenes brillantes que estamos formado, en una edad muy buena para ser productivos, se están yendo al extranjero. De mis 5 últimos doctorandos españoles, 4 están en Alemania, Bélgica e Inglaterra y el quinto está comprometido para un proyecto europeo en Polonia, un país que teóricamente no está a nuestro nivel económicamente. Hay países que están fichando talento. Yo comparto que los investigadores salgan al extranjero, se formen, conozcan otra forma de trabajar, aprendan de colegas que hacen investigación de calidad... Lo triste es que las oportunidades de retorno van a ser muy bajas en un futuro, porque estamos viendo que la crisis llegó para quedarse durante mucho tiempo y que la inversión en investigación está bajando continuamente y desgraciadamente no se ve que vaya a haber cambios o que vaya a haber una inversión mayor que permita el retorno de la gente excelente, que se ha formado aquí, que ha completado formación en el extranjero y que si volviera a España sumaría a esta sociedad. Los que están en empresas podrían tener aquí ayudas para crear aquí empresas -eso es casi imposible-, los que están en el ámbito académico podrían volver siendo excelentes profesionales en ese ámbito, pero desgraciadamente no soy optimista con lo que se nos avecina.
143
144
Proyecto Natural de Jaén
C.A.: ¿Está siendo la comunidad universitaria suficientemente combativa para reclamar que se frenen esos recortes y esa pérdida de talento? F.H.: No. Yo creo que hay mucho conformismo. En Granada tuvimos el año pasado actos de apoyo al colectivo Carta por la Ciencia, en los que algunos investigadores presentamos nuestra posición, pero la participación de investigadores del entorno universitario a los actos era pequeña si pensamos en una universidad con tres mil y pico profesionales en el ámbito de la investigación. Yo veo mucho conformismo en el entorno. No se combate. Ni aquí ni en España en general. Las asociaciones profesionales de investigación luchan contra ello pero ves que hay un cierto conformismo. Y eso lleva a que grupos de investigación que han estado a un nivel medio se queden sin fondos. Al final aparece el derrotismo al decir: nos dejan sin fondos, poco podemos hacer. Es cierto que es difícil pero creo que hay que pelear e intentar convencer a nuestros políticos de que la inversión en Educación y en la investigación es fundamental para el desarrollo de este país. Pero veo conformismo y derrotismo a mí alrededor. C.A.: ¿Habría que convencer, antes que a los políticos, a la sociedad? F.H.: Convencer a la sociedad sería ganar una batalla porque cuando los políticos entran en periodo electoral miran aquello que se está peleando dentro de la sociedad. Desgraciadamente en la sociedad no ha calado la importancia de la investigación. Y tenemos una parte de culpa. Nosotros no hemos sabido divulgar lo que estamos haciendo, para qué lo hacemos y para qué sirve a la sociedad. Los científicos a veces nos encerramos en nuestro laboratorio y somos ratones de biblioteca, desarrollamos teorías pero a veces no prestamos atención a la importancia de la divulgación. La sociedad no nos conoce, no sabe lo que hacemos y eso también es un handicap. Tenemos que abrirnos más a la sociedad desde la perspectiva de la divulgación.
Francisco Herrera Triguero
C.A.: ¿Dónde le gustaría que le condujera su trabajo investigador en los próximos años? F.H.: Me gustaría mantener un equipo de investigadores de calidad, captar a jóvenes con talento, utilizar mi experiencia, avanzar en las líneas de investigación, seguir siendo creativo -en las líneas que tenemos abiertas de inteligencia computacional, soft- computing, en la línea de la Ciencia de Datos-, pero sobre todo me gustaría formar a jóvenes investigadores con talento, brillantes, para continuar estas líneas que tenemos abiertas. El riesgo en esta sociedad y en la universidad es que lo que tenemos se pueda perder. Vamos a perder competitividad en el extranjero. Hablas con colegas que te dicen que se están produciendo jubilaciones en sus departamentos y que, por no existir una planificación de la investigación, el talento se está perdiendo. A mí me gustaría trabajar en los próximos años formando a investigadores y que mantengan nuestras líneas, el amor por la investigación, que sean brillantes y que lleguen a cuotas de calidad por encima de las que hemos llegado. La mayor ilusión sería ver que jóvenes a los que he formado están muy por encima en el nivel científico de quienes ahora estamos aquí. C.A.: Un proyecto muy generoso. Muchas gracias. F.H.: Un placer. Gracias.
145
146
Proyecto Natural de JaĂŠn
Reseña curricular de Concha Araújo Entrevistadora de Francisco Herrera en el Proyecto Natural de Jaén
Concha Araújo (La Carolina, Jaén, 1969) Licenciada en Ciencias de la Información (rama Periodismo), Universidad Complutense (Madrid, 1992), con formación como docente -Certificado de Aptitud Pedagógica (CAP)- en la Universidad de Jaén (2002) y como Community Manager en la Fundación UNED. Ha sido colaboradora de Diario Ideal y El País, Jefa de Prensa del Ayuntamiento de Úbeda y redactora de Canal Sur. Actualmente trabaja como periodista freelance para la edición andaluza de eldiario.es y elaborando contenidos para diferentes soportes digitales y audiovisuales. Miembro del Grupo Comunicar –Colectivo Andaluz para la Educación en Medios de Comunicación-, ha impartido charlas y talleres de prensa sobre análisis crítico de los mensajes periodísticos. En 2012 recibió el Premio de Periodismo y Comunicación Local que concede la Diputación de Jaén en la modalidad de televisión.
ÍNDICE
Presentación del Rector de la Universidad de Jaén.................................... 9 Manuel Parras Rosa Saluda del Alcalde de Jódar .......................................................................... 11 José Luis Hidalgo García Preámbulo ........................................................................................................ 19 Soneto................................................................................................................ 27 Capítulo A. Inteligencia Artificial ................................................................. 29 Capítulo B. Inteligencia Computacional. Inteligencia Inspirada en la Naturaleza............................................................................................... 61 Capítulo C. Inteligencia de Negocio y Big Data .......................................... 95 Entrevista a Francisco Herrera .................................................................... 123 por Concha Araújo Reseña curricular de Concha Araújo............................................................ 147
Proyecto Natural de Jaén
FRANCISCO HERRERA TRIGUERO
FRANCISCO HERRERA TRIGUERO
comprometidos con el medio ambiente
Universidad de Jaén
Inteligencia Artificial, Inteligencia Computacional y Big Data
Universidad de Jaén