Publicado en Inteligencia Artificial

Tarea 4.1 Reflexión sobre el algoritmo A*

Esta tarea consiste en comentar brevemente qué tipos de problemas no podrían ser resueltos por medio del algoritmo A*, y la verdad es que veo difícil completar el objetivo satisfactoriamente.

Por un lado, a duras penas he entendido el desarrollo del algoritmo, sí los objetivos, pero creo que me falta la base matemática mínima para comprender los procedimientos y la terminología utilizada. Por el otro, en la web hay muy poca información en castellano, y si ya me cuesta entender las explicaciones sobre esto en castellano, pues en inglés… Además, tampoco encuentro en internet, de forma explícita, “carencias” o “limitaciones” del uso de este algoritmo. Esto es lo máximo a lo que he llegado:

Dentro del campo de la Inteligencia Artificial, el algoritmo A es uno de los mejores y más conocidos métodos heurísticos de búsqueda. Un algoritmo de búsqueda de tipo heurístico sirve para encontrar el camino entre dos puntos (pathfinder), pero puede suceder que, en ocasiones, el camino elegido no sea el óptimo, por ejemplo, que elija el más largo o el de más coste. Ahí es donde está la ventaja del algoritmo A*, ya que también tiene en cuenta ese factor.

Buscando en internet sobre las limitaciones de este método de búsqueda he encontrado un trabajo del departamento de Ciencias Computacionales de la Universidad de New Hampshire titulado: When does Weighted A* Fail? Parece que voy bien, ahora solo hay que saber qué diferencia hay entre A* y Weighted A*.

Con ese objetivo, he dado con un artículo en la revista Artificial Intelligence Weighted A∗ search – unifying view and application sobre lo que entiendo que es una variante de este método de búsqueda: “Weighted A* search”, donde no sé cómo traducir “Weighted”, ¿quizás “Búsqueda ponderada A*? De la lectura del Abstract, ya que no me siento capaz de ir más allá, entiendo que es una variante que sirve para dar más velocidad a la búsqueda, y para ello le da un mayor peso a la parte heurística del método. Es una revisión sobre los trabajos realizados anteriormente, con la aportación propia de los autores, en orden a unificar criterios de aplicación, por lo que supongo que puede hacer valoraciones de las limitaciones del método, pero como digo, no me siento capaz de leer el artículo completo.

Así que volviendo a New Hampshire, y quedándome, de nuevo, en el Abstract, éste empieza diciendo que el Weighted A* es el algoritmo más popular y satisfactorio de la búsqueda heurística, a pesar de que no esté garantizado que aumentar el peso de la parte heurística aumente su velocidad; que está ampliamente asumido que aumentar ese peso da lugar a búsquedas más rápidas, y que el algoritmo voraz, que se guía únicamente de forma heurística, sería el más rápido de todos. Sin embargo, los autores del artículo tratan de demostrar que en algunos dominios, incrementar el peso disminuye la velocidad de búsqueda, y exponen en qué condiciones el algoritmo voraz pueden ser más rápido que el A*.

También he encontrado limitaciones en la aplicación de este método en este blog sobre juegos: https://www.gamasutra.com/view/feature/131505/toward_more_realistic_pathfinding.php?print=1

Parece lógico que una de las aplicaciones de este algoritmo sean los juegos, ya que en ellos siempre hay elementos que se mueven, un destino al que hay que llegar y obstáculos que hay que sortear. El artículo explica las modificaciones que hay que hacer en el algoritmo para conseguir movimientos más realistas o naturales que el de zigzag, que es el resultado directo de aplicar el A* estándar. Parece ser que en determinados casos este método falla y su corrección depende del tipo de juego, y puede que haya que aplicar algún método de búsqueda más lento, dividir el mapa en regiones más pequeñas, hacer una precomputación si es posible, etc.

Para terminar, la wikipedia considera que el espacio requerido por A* para ser ejecutado es su mayor problema, ya que la cantidad de memoria que requiere es exponencial con respecto al tamaño del problema.

Bibliografía

Publicado en Inteligencia Artificial

Tarea 10.1 Visión crítica

Desde la última década del siglo XX, las tecnologías de la información y la comunicación han experimentado un desarrollo extraordinario, hasta el punto de que han transformado los hábitos y costumbres sociales. Esas diferencias son especialmente notables cuando comparamos las formas que tenemos de relacionarnos ahora con respecto a cómo lo hacíamos a finales del siglo pasado.

Pero los cambios producidos por este desarrollo tecnológico no se han producido solo en el ámbito de las comunicaciones, es decir, en los teléfonos inteligentes, en internet y en el correo electrónico. La capacidad de gestionar enormes cantidades de datos, junto con la miniaturización de los dispositivos, ha tenido un tremendo impacto en los diferentes ámbitos de la investigación científica.

Un ejemplo claro es el proyecto Genoma Humano. Este no hubiera sido posible de no haber aplicado esas tecnologías a la secuenciación de genes. No hay que olvidar que el genoma humano consta, aproximadamente, de 3.200 millones de pares de bases, agrupadas en unos 24.000 genes. Para poder extraer y procesar esta ingente cantidad de información hubo que desarrollar, en primer lugar, equipos de secuenciación de genes que pudieran secuenciar a la vez y de forma automática una gran cantidad de muestras. Posteriormente, hubo que almacenar ordenadamente la información extraída, de forma que pueda ser utilizada cuando sea necesario.

Pero en este ámbito de investigación en ciencias de la vida, el proyecto Genoma Humano solo fue el primer escalón en la aplicación de estas tecnologías, ya que, posteriormente, aparecieron nuevas áreas en biología molecular como la proteómica, metabolómica, microbioma, viroma, etc., basados todos ellos en la acumulación y procesamiento de gran cantidad de datos.

Y consecuencia de todo ello, es la aparición de la bioinformática, la disciplina que se encarga de gestionar toda la información con la que se trabaja en esas áreas, así como de hacer simulaciones de nuevas configuraciones moleculares o de los efectos de determinados cambios en moléculas.

Todo ello está permitiendo avanzar a una gran velocidad en áreas como el desarrollo de nuevas vacunas y medicamentos; en la caracterización de las poblaciones de microbios del suelo o del intestino humano; en la caracterización de variaciones genéticas asociadas con la diferente susceptibilidad a ciertas enfermedades, etc. Un ejemplo claro lo tenemos de plena actualidad: la búsqueda contrarreloj de una vacuna o de medicamentos contra el SARS-CoV-2.

Y esto no ha hecho más que empezar, ya que a la vez que las tecnologías de la información se van aplicando a la investigación científica, las propias tecnologías siguen desarrollándose con gran rapidez. La capacidad de almacenamiento y la velocidad de procesamiento de datos sigue creciendo a gran velocidad, valga la redundancia. De la memoria de disco magnético se ha pasado a la memoria flash y a la de estado sólido. Los procesadores son cada vez más rápidos y, creo que, a medio plazo, los ordenadores cuánticos supondrán un salto enorme en este ámbito. Y todo ello complementado con las ventajas que presenta el aprendizaje profundo a la hora de “aprender” automáticamente cuando se dan determinadas condiciones, como ya hemos visto en la asignatura: gran cantidad de datos, condiciones estables, posibilidad de categorización, etc.

Todos estos avances han dado lugar a lo que hoy conocemos por inteligencia artificial, y que ya se utiliza en la conducción automática, en las aplicaciones online para compras o en las redes sociales, etc. Desde el punto de vista científico-tecnológico, el objetivo de la inteligencia artificial debe ser aumentar el conocimiento y facilitar la vida del ser humano, por ejemplo, haciendo tareas peligrosas, repetitivas o complejas.

Pero, como el resto de las ciencias, no carece de riesgos, ya que tiene aplicaciones peligrosas. Por ejemplo, contra los derechos humanos, utilizándola la posibilidad de gestionar una enorme cantidad de datos para el control de las personas, con la correspondiente pérdida de privacidad y de libertad; o distorsionando la realidad mediante la manipulación de imágenes, videos o audios que alteren los hechos de modo creíble, dando lugar a bulos y fake news; ciberataques contra empresas y organizaciones gubernamentales, a cambio de dinero o como sabotaje; aplicaciones militares como drones o robots; y, finalmente, en un futuro más lejano, quizás, la pérdida del control de las máquinas, un tema repetido en la ciencia ficción, como en 2001: una odisea en el espacio o en la saga Terminator.

Por tanto, debe ser la sociedad la que ponga las condiciones necesarias para que se produzca el uso limitado de esta tecnología y se evite su abuso con fines económicos, ideológicos, o de otro tipo. Los sistemas democráticos tienen establecidos mecanismos de control para ello, pero, en los últimos años, las crisis económicas, de seguridad (terrorismo) y ahora la sanitaria, con la inestabilidad que generan, dificultan el funcionamiento de esos controles. De hecho, incluso en situaciones de estabilidad social, ya hemos sacrificado nuestra privacidad a cambio del alto grado de conectividad del que “disfrutamos” en la actualidad con el móvil, la Tablet, las redes sociales, nuestros datos en la nube, nuestras compras online, etc. En mi opinión, la aplicación adecuada o inadecuada de la inteligencia artificial solo es un paso más en esta línea.

Publicado en Inteligencia Artificial

Tarea 8.1 Críticas al aprendizaje profundo

De las lectura de las críticas al aprendizaje profundo me han venido a la cabeza dos analogías.

Por un lado, me ha recordado algunas de las características más conocidas del síndrome de Asperger:

  • Gran capacidad para memorizar datos, clasificarlos y establecer patrones, aunque sin saber muy bien por qué o para qué.
  • Dificultad para entender las emociones y el lenguaje no verbal, la ironía, el sarcasmo y todo lo que vaya más allá del significado literal de las palabras.
  • Dificultad para adaptarse a entornos inestables, en los que los parámetros que rigen nuestra vida no siguen unos patrones determinados, y, además, suceden hechos no programados, que no siguen unas secuencias repetitivas a lo largo del tiempo.

Por otro lado, dentro del mundo de la ciencia, cada cierto tiempo se produce un avance espectacular en una determinada disciplina que le hace ponerse de moda y aparecer en los medios como una revolución que va a cambiar los paradigmas científico-tecnológicos existentes y a tener un gran impacto en la sociedad.

Eso pasó hace 20 años con el Proyecto Genoma Humano: la secuenciación completa del genoma humano iba a suponer el surgimiento de todo un abanico de aplicaciones que iban a cambiar a corto plazo la forma de entender y hacer medicina, farmacia, nutrición, etc. Sin embargo, a pesar de haber conseguido importantes logros tanto a nivel tecnológico como de conocimiento de las bases genéticas de la vida, nos dimos cuenta de que todo no está en la genética, y que necesitamos nuevas disciplinas complementarias, algunas cercanas como la genómica y la epigenética, y otras un poco más alejadas como la proteómica, la metabolómica, el microbioma, etc. Otro ejemplo es la neurociencia. El desarrollo que se produjo en las técnicas de imagen no invasivas a partir de los años 70 del siglo pasado supuso toda una revolución, ya que pasamos de tener imágenes estáticas del cerebro o del sistema nervioso a poder ver estos órganos in vivo, es decir, en pleno funcionamiento. De ahí surgió una moda que salió fuera del ámbito de la medicina y se extendió, sorprendentemente, a campos muy heterogéneos: justicia, marketing, educación, etc. Pero este desarrollo de la neurociencia, a pesar de los indudables avances conseguidos, también tiene sus limitaciones. En esta entrada del Cuaderno de Cultura Científica de la EHU/UPV La neurociencia como religión se hace una crítica a estas dos modas, y en esta otra La mercadotecnia de lo “Neuro-“ correspondiente a la asignatura de este máster Introducción a la neurociencia, hago una breve revisión general de este hecho y luego me centro en una de sus variantes: la neuroeducación. Por lo que he leído en los textos de este tema, creo que puede haber un paralelismo con el aprendizaje profundo.

Se me ocurren varias razones para el surgimiento de estas modas en ámbitos de la ciencia y la tecnología. Por un lado, avances de gran magnitud en poco tiempo, producidos por el desarrollo de nuevas tecnologías, como la informática, permiten entender conceptos o confirmar hipótesis de gran relevancia y que, además, tienen una gran aplicabilidad. Esto provoca una situación, por decirlo de alguna forma, de euforia entre los investigadores, ya que, por un lado, pueden justificar su trabajo, tanto desde el punto de vista del reconocimiento profesional como frente a las entidades que les financian. Por otro lado, desde el punto de vista comercial, la posibilidad de aplicar ese nuevo conocimiento y extenderlo en un mercado “virgen” activa inmediatamente la maquinaria del marketing. Se entra así, en una vorágine de creación de expectativas que, poco a poco, se va alejando cada vez más de la realidad.

Por eso, creo que lo mejor en estos casos es mantener cierto grado de escepticismo. Por un lado, nadie niega el salto en el conocimiento o en la tecnología que este tipo de avances suponen; pero eso no debe hacernos olvidar el conocimiento previo, ni crear expectativas alejadas de la realidad que, cuando se frustren, puedan provocar pérdida de credibilidad. En definitiva, la ciencia se basa más en la acumulación de conocimientos que se van complementando unos a otros, que en el hecho de que, de vez en cuando, un descubrimiento anule una cantidad importante de conocimientos previos.

By Avimanyu786 – Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=78169988
Publicado en Inteligencia Artificial

Alan Turing y su test para medir la inteligencia de las máquinas.

Alan Turing es conocido, entre otras cosas, por haber contribuido a derrotar a los alemanes en la 2º Guerra Mundial descifrando los códigos que estos utilizaban para sus mensajes, y que eran generados por la máquina Enigma. Una vida complicada (Atención: SPOILER) con un triste final, y que se recoge en la película “El Juego de la Imitación” (2014):

The imitation game (Descifrando Enigma) – Trailer español.

Es considerado el padre de la informática y de la computación; de hecho, según he leído en algún sitio, puede ser que la manzana mordida de la marca Apple haga referencia a la forma en que Turing murió: suicidándose con una manzana envenenada.

Entre sus trabajos destacan On Computable Numbers, with an Application to the Entscheidungsproblem de 1937, donde define la Máquina Universal, y “Computing machinery and intelligence“, de 1950, donde propone su famosa prueba: “El test de Turing“. El objetivo del test es comprobar si una máquina es capaz de pensar, y para ello propone el juego de la imitación: se trata de ver si una máquina podría imitar las respuestas de un ser humano, de tal forma que un interrogador que hace las preguntas a ciegas no podría distinguir si está respondiendo un ser humano o una máquina. Al comienzo de este artículo, plantea la necesidad de concretar el punto de partida de la cuestión, y para ello propone empezar definiendo qué es “pensar” y qué es “máquina”. Su noción de inteligencia, referida tanto al ser humano como a las máquinas, se considera el punto de partida para el desarrollo de la Inteligencia Artificial.

El papel de interrogador puede ser hecho tanto por una persona como por un ordenador, y este último caso es el que se aplica en la actualidad para comprobar si el que está rellenando un formulario en Internet es realmente humano: el test CAPTCHA, acrónimo de “Completely Automated Public Turing test to tell Computers and Humans Apart”) es un test de Turing realizado por una máquina, y que utiliza cifras, letras, figuras, imágenes, etc., de tal forma que no pueden ser reconocidas por una máquina actual.

Casi 70 años después de la muerte de Turing, su trabajo sigue dando frutos, contribuyendo a los avances que se están dando en la actualidad en el desarrollo de la Inteligencia Artificial.

Referencias:

Máquinas inteligentes (I): Del molino de viento al test de Turing.

Turing y la inteligencia de lo no computable,

Una prueba de Turing para el futuro.

El Test de Turing revisitado.

ALAN TURING 100 URTE: Makinei bizia eman zien pertsona.

Wikipedia.

Publicado en Inteligencia Artificial

Tarea 1.1 Reflexión sobre la Inteligencia Artificial

Definición de IA

¿Es una ciencia como otras o no?

Desde lo poco que conozco la Inteligencia Artificial creo que se parece bastante al resto de las ciencias. Por ejemplo, veo cierta similitud entre las relaciones física-ingeniería y matemáticas-inteligencia artificial. La física, con el conocimiento existente, elabora los planteamientos teóricos, y la ingeniería los utiliza para aplicarlos en la construcción de objetos útiles. Creo que hay una relación similar de las matemáticas con la inteligencia artificial. Además, me parece que comparte objetivos con el resto de las ciencias.

¿Cuál creéis que debe ser su objetivo?

Como el resto de las ciencias, debe servir para aumentar el conocimiento y facilitar la vida del ser humano, por ejemplo, haciendo tareas peligrosas, repetitivas o complejas.

¿Presenta riesgos?

Como el resto de las ciencias, tiene aplicaciones peligrosas. Por ejemplo, contra los derechos humanos, utilizándola para el control de las personas con la correspondiente pérdida de privacidad; distorsionando la realidad mediante la alteración de los hechos de modo creíble (fake news); ciberataques, aplicaciones militares, y en un futuro, quizás, pérdida del control de las máquinas, como en 2011: una odisea en el espacio o en la saga Terminator.