Inteligencia de Máquinas

Inteligencia Artificial (AI): conceptos preliminares y una definición

Por Jorge Portilla

Desde la aparición del ordenador, la computación se ha orientado a la resolución de dos grandes categorías de problemas:

  1. Problemas con información completa, inambigua, precisa y formalizada, resolubles por procedimientos precisos, tratados, básicamente, por la informática clásica, y
  2. Problemas con información ambigua, parcial, confusa o contradictoria, difícilmente resolubles por procedimientos precisos. En efecto, su solución correspondería a lo que John McCarthy (1927 2011) denominó en 1956, inteligencia artificial [Minsky (1986) 44], y han sido bien tipificados, entre otros, por Douglas Hofstadter (n. 1945): traducción automática, juegos, prueba de teoremas, visión y reconocimiento de formas, reconocimiento de discurso, aprendizaje, etc. [Hofstadter (1979) 601s.]

Provisoriamente, se podría convenir con Francisco Casacuberta y Enrique Vidal, en que la inteligencia artificial es el conjunto de conocimientos y técnicas que intentan hacer cooperar piezas de información imperfecta para lograr una interpretación aceptable de las mismas en la búsqueda de una solución particular. [Casacuberta (1987) 15]

Los problemas mencionados están considerados, con bastante fundamento, entre los que requieren, para ser resueltos, cierto grado de inteligencia, preponderantemente humana.

Ello ha dado origen, a partir del “can the machines think?” de Alan Turing (1912 1954) [Turing (1950)], a dilatadas y, muchas veces, infecundas controversias. Sin embargo, y aunque existen otras propuesta, aún persiste literatura sobre la inteligencia artificial que propone definiciones relacionadas con la inteligencia humana. Se parte de la conjetura [Gardner (1985) 138; Mishkoff (1988) 37], de que cualquier característica de la inteligencia puede simularse por computador. Steven L. Tanimoto define la inteligencia artificial, como actividades del computador que requieren inteligencia cuando son realizadas por humanos. [Tanimoto (1987) 6] Elaine Rich la define, a su vez, como “cosas que hacen los computadores, que, por los momentos, la gente hace mejor”. [Rich (1983) 9]

A pesar de importantes excepciones, existe una extensa lista de citas que corrobora esa orientación antropomórfica (ver, por ejemplo, [Mishkoff (1988)]).

La definición tendría menos dificultades para ser aceptada si no fuera por el hecho de que a la inteligencia humana le corresponde una noción mucho más compleja y más elusiva, con connotaciones  psicológicas, biológicas, filosóficas, evolutivas y hasta, en instancias, religiosas. Fuera de los campos en que los artefactos inteligentes coinciden con nichos inteligentes de la sociedad humana (por ejemplo, ciertos campos laborales), no parece que las definiciones antropomórficas contribuyan a delimitaciones útiles del tema. Por el contrario, las expectativas que genera tal conceptualización (utilizadas políticamente, publicitariamente y por las industrias del entretenimiento, ciencia-ficción a la cabeza), no han sido ajenas a los desencantos acaecidos desde algunos años posteriores al nacimiento en 1956 de la inteligencia artificial hasta nuestros días, y que tanto han perjudicado a la investigación responsable.

Es cierto que hoy en día el enfoque se ha modificado considerablemente. Las vicisitudes por las que pasó la inteligencia artificial en el período señalado, ha dejado su secuela. Así, una definición popular, la de Stuart Russell y Peter Norvig, en un libro de 1152 páginas, de por lo menos tres ediciones y copiosamente citado, dice lo siguiente:

Definimos AI como el estudio de agentes que reciben perceptos desde el entorno y realizan acciones. [Russell (2010) viii]

Los autores aclaran el concepto:

Un agente es cualquier cosa que puede verse como percibiendo su entorno a través de sensores y actuando sobre el mismo por medio de actuadores (actuators).

Usamos el término percepto para referirnos a las entradas perceptivas del agente en cualquier instante dado. [Russell (2010) 34]

Sin embargo, su definición, inobjetable por lo amplia, por lo genérica, presenta algunos inconvenientes. En efecto, si un agente es “cualquier cosa”, los humanos son parte de esas cosas cualquiera, y también el resto del reino animal, desde nuestros primos chimpancés hasta los protozoarios, los virus, los linfocitos T (que “aprenden”), y hasta del reino vegetal, con sus plantas carnívoras y raíces “inteligentes”. Ciertas conformaciones sociales, una empresa, por ejemplo, cae dentro de esta definición. Nótese, sin embargo, que no se objetan aparatos computacionalmente muy sencillos, como las puertas automáticas de ciertos ascensores (artificios), aunque la “inteligencia” ostentada en estos casos pueda ser cuestionada bajo ciertas perspectivas puristas por su simpleza.

Una aproximación más fina a lo que representa la inteligencia artificial podría obtenerse bajo las siguientes condiciones:

  1. Inteligencia artificial es la capacidad que presenta un artificio, es decir, una máquina resultado de una elaboración, producción o fabricación humana, deliberada, no producida, al menos totalmente, por la naturaleza, normalmente con componentes electrónicos y lógica interna digital (aunque no excluyente), que:
  2. Operando autónomamente (sin asistencia humana)
  3. Puede tomar, por lo menos, una decisión respecto a su próximo comportamiento
  4. En función de uno o más estímulos y/o en conjunción con uno o más estados internos. [Portilla (1990) 4].
  5. Estímulos que pueden proporcionar, en cada instancia o combinación de ellas, información imprecisa, incierta, parcial, ambigua, confusa, incoherente, contradictoria, errónea, entremezclada y/u hostil.
  6. Y obtener resultados para la resolución de uno o más problemas
  7. En tiempos polinomiales.
  8. Resultados que poseen un grado variable de incertidumbre o de aciertos.

Expliquemos los conceptos de la lista anterior.

Artificio. Respeto literal por el nombre: lo artificial implica un ingenio construido por humanos, no una máquina en el sentido de, por ejemplo,  L’homme machine de Julien Offray de La Mettrie (1709 1751), que consideraba al ser humano desde un punto de vista mecánico.

Autonomía. Es un requerimiento obligatorio: si para tomar una decisión se apela a la inteligencia humana, no se opera, fuera de una mínima parametrización general o situacional (las coordenadas temporales y espaciales, por ejemplo), con inteligencia de máquina propiamente dicha.

Decisión. Para John Fox, “la habilidad de tomar decisiones es central en los sistemas de inteligencia artificial”. El autor se extraña, en la época que escribe, 30 años después del nacimiento oficial de la AI, de que no se hubiese desarrollado hasta ese momento ninguna teoría al respecto. [Fox 1986]

La toma de decisiones implica la introducción de elementos ajenos a los datos corrientes del problema (pesos, criterios, filtros, umbrales, parámetros, estrategias, etc.), que orientan mecanismos de búsqueda y controlan sus resultados. En muchas instanciaciones de AI, el dispositivo debe apelar a información del contexto. [Amy (1988)]

La capacidad para tomar  decisiones que posee un sistema es la característica de su autonomía y el antecedente causal del resultado, cuando no el resultado mismo (por ejemplo, comprar o vender una acción en un sistema experto financiero).

Tiempos polinomiales. Se trata de tiempos que son funciones lineales del tamaño de la entrada, es decir, de la cantidad de datos suministrados al sistema. Tal temporalidad es requerida porque las soluciones computarizadas deben ser aceptables en el mundo de las personas para que sean eficaces. Algunas de las respuestas suelen necesitarse en tiempo real. Por ejemplo, la salida de un sistema experto debe tener un tiempo de respuesta acorde con la urgencia del problema que se le somete (una información posterior a una intervención quirúrgica relativa a ella es posible que no tenga ninguna importancia respecto a la operación).

Hagamos un poco de teoría. Inspirados por Joseph Frederick Traub (1932 2015), consideremos que un problema se resuelve computacionalmente aplicando un operador solución S a un conjunto de elementos problema F y a otro conjunto de elementos solución G. [Traub (1983)]

Una forma de solución, llamada por fuerza bruta, es explorar ambos espacios (es decir, los conjuntos) F y G y establecer una asignación (mapping), no necesariamente 1 a 1, entre elementos de uno y otro conjunto. Un operador S que explora el conjunto solución G, enfrenta una combinatoria de elementos cuya cardinalidad (es decir, el número de elementos) no es la de G (expresada como |G|) sino la del conjunto potencia de G, el conjunto de todos los conjuntos de G, igual a 2 a la potencia |G|.

Traub también prueba que si se agrega una incertidumbre e a cada elemento f de F, (f + e), la cardinalidad |G| aumenta proporcionalmente al tamaño de e. En otras palabras, el conjunto solución crece en tanto crece la incertidumbre. ¿Y cuál no será el tamaño de la incertidumbre de una información imprecisa, incierta, parcial, ambigua, confusa, incoherente, contradictoria, errónea, entremezclada y/u hostil, como ya se dijo?

De acuerdo a lo visto, y suponiendo, con Marvin Minsky (1927 2016), que el conjunto solución sea identificable [Minsky 88, pag. 73], aún así, la exploración del conjunto potencia (repetimos, el conjunto de todos los conjuntos) de G, es, en la práctica, inadmisible, aún para espacios de baja cardinalidad.

Para resolver un problema de naturaleza computacional, se emplean algoritmos. Informalmente, un algoritmo es un proceso, es decir una serie de pasos, que hacen algo, proceso que en algún momento, bajo cierta condición, se detiene. En los cursos elementales se da como ejemplo una lavadora automática que al encenderse (on) y parametrizarse,  ejecuta sus ciclos de remojo, lavado, enjuague, etc., culminando con uno de centrifugado y con la detención (off) del artefacto.

Aquí entendemos por algoritmo, cualquier operador que toma información como entrada. [Traub (1983)] Obviamente existen definiciones más restringidas, por ejemplo [Knuth (196­7), Stockmeyer (1979)], que proponen algoritmos determinísticos, que son

Conjuntos precisos de instrucciones que pueden ser mecánicamente aplicados a cualquier instancia dada de un problema para alcanzar su solución. [Stockmeyer (1979)]

Por una parte, dado el tipo de información que se procesa, imprecisa, parcial, etc., la aplicación mecánica no es factible en una gran cantidad de casos, por lo que es necesario utilizar algoritmos no determinísticos. Con ellos se conforma lo que se denomina programación heurística, que comprende algoritmos, en el sentido lato ya indicado, que procuran hallar una buena solución, no necesariamente óptima (sub-óptima), dentro de un aceptable monto de tiempo. La técnica más usada es la exploración de la vecindad, mejorando una solución inicial hasta alcanzar una localmente óptima o satisfactoria.

Por otra parte, para ser efectivo, un algoritmo siempre debiera detenerse en un tiempo finito no mayor que una función polinomial de la longitud n de la entrada. Un polinomio es la suma algebraica de un conjunto de términos que tienen a n como base, elevado a diferentes potencias.

Cuando un problema puede resolverse en tiempo polinomial, se dice que es tratable. Los que no lo son (intratables) pueden ser de dos tipos:

  1.  Indecidibles, es decir, especialmente intratables en el sentido más fuerte ya que son problemas para los cuales ningún algoritmo es posible. Estos problemas tienen una gran rel­evancia en  computaci­ón teórica pues ocuparon mentes insig­nes como las de Kurt Gödel (1906 1978), Alonzo Church (1903 1995) y el ya nombrado Alan Turing.
  2. Tiempo polinomial no determinista, NP (nondeterministic polynomial time). Problemas cuya complejidad temporal probablemente no puede ser limitada por ninguna función polinomial de la longitud de la entrada. Normalmente, su complejidad temporal (time complexity) se expresa como una función exponencial de la longitud de la entrada n (donde n es exponente, no base como en el tiempo polinomial) y tal función determina la aceptabilidad de los algoritmos. Más formalmente, para una máquina de Turing TM cualquiera (ver, por ejemplo, [Hopcroft (1979)]), corriendo un programa M con una entrada x (siendo x un subconjunto del conjunto de todas las series finitas de símbolos de un alfabeto finito A), y siendo n la cardinalidad de x, la complejidad temporal TM(n), viene dada por el el tiempo m, medido en pasos de programa, que toma la aceptación o rechazo de x por M. [Garey (1979)]

Rich [Rich (1983) 113] sintetiza lo antedicho definiendo la inteligencia artificial como la resolución de problemas exponencialmente difíciles en tiempos polinomiales.

Sobre todo lo expresado hasta aquí, puede ensayarse una definición de inteligencia artificial, como la capacidad que se manifiesta a nivel de máquina (como ingenio, artificio o artefacto creado por humanos), cuando ésta debe tomar, autónomamente, decisiones por estímulos o estados internos que proporcionan información imprecisa, incierta, parcial, ambigua, confusa, incoherente, errónea y/u hostil, para resolver, en tiempo polinomial, problemas de tipo NP, y cuyos resultados poseen un grado variable de incertidumbre o de aciertos que permite aceptarlos si alcanzan o superan un nivel de satisfacción o sub-optimalidad previamente acordado.

BIBLIOGRAFIA

  • Amy Bernard (1988). Tiberghien Guy, “Context, Cognition et Machines Contextuelles” en Rapport de Recherche, Informatique et Mathématiques Appliquées de Grenoble.
  • Casacuberta Francisco, Vidal Enrique (1987). Reconocimiento Automático del Habla. Barcelona: Marcombo.
  • Fox John (1986). “Knowledge, Decision Making, and Uncertainty” en William Gale (editor) Artificial Intelligence & Statistics. Reading, : Addison-Wesley.
  • Gardner Howard (1985). The Mind’s New Science, New York: Basic Books.
  • Garey Michael R., Johnson David S. (1979). Computers and Intractability. New York: W. H. Freeman and Company.
  • Hofstadter Douglas (1979). Gödel, Escher, Bach. New York: Vintage Books.
  • Hopcroft John E., Ullman Jeffrey D. (1979). Introduction to Automata The Reading, Mass.: Addison-Wesley.
  • Knuth D. E. (1967). The Art of Computer Programming. Fundamental Algorithms. Reading, : Addison-Wesley.
  • Minsky Marvin et al. (1986). Robótica. Barcelona: Planeta.
  • Minsky Marvin (1988). The Society of Mind. New York: Simon & Schuster.
  • Mishkoff Henry (1988). Understanding Artificial Intelligence. Howard Sams Company.
  • Portilla Jorge (1990/1). “Inteligencia Artificial: Un Enfoque” en Ideas. Caracas: Universidad Nacional Abierta, 2, 4-9.
  • Rich Elaine (1988). Inteligencia Artificial. México: G. Gili.
  • Russell Stuart, Norvig Peter (20103). Artificial Intelligence.A Modern Approach. Upper Saddle River, NJ: Pearson Education.
  • Stockmeyer Larry, Chandra Ashok (1979). “Intrinsically Difficult Problems” en Scientific American, May 1979.
  • Tanimoto Steven L. (1987). The Elements of Artificial Intelligence. Computer Science Press.
  • Traub J. F. (1983). et al., Information, Uncertainty, Complexity. Reading, : Addison-Wesley.
  • Turing A.M. (1950). “Computing Machinery and Intelligence” en Mind, Vol. LIX, No. 236.