Primeros programas de IA y Alan Turing

Los primeros programas de IA en funcionamiento fueron escritos en el Reino Unido por Christopher Strachey, Dietrich Prinz y Anthony Oettinger.

Strachey era en ese momento profesor en Harrow School y programador aficionado; más tarde se convirtió en Director del Grupo de Investigación de Programación de la Universidad de Oxford.

Prinz trabajó para la firma de ingeniería de Ferranti Ltd que construyó la computadora Ferranti Mark I en colaboración con la Universidad de Manchester.

Oettinger trabajó en el Laboratorio de Matemáticas de la Universidad de Cambridge, hogar de la computadora EDSAC.

Algunas de las primeras aplicacioens que aspiraban a convertirse en IA

La aplicación de Strachey

Strachey eligió el juego de mesa de damas como dominio para su experimento en inteligencia artificial

.

Strachey inicialmente codificó su programa de damas en Mayo de 1951 para el modelo piloto del Motor de Cómputo Automático de Turing en el Laboratorio Nacional de Física. Esta versión del programa no se ejecutó correctamente.

Los esfuerzos de Strachey fueron derrotados primero por errores de codificación y posteriormente por un cambio de hardware que dejó su programa obsoleto. Además, Strachey no estaba satisfecho con el método empleado en el programa para evaluar los puestos de la junta.

Escribió una versión mejorada para Ferranti Mark I en Manchester (con el apoyo de Turing y utilizando el Manual de programadores recientemente completado por este último) para la computadora Ferranti.

En el verano de 1952, Strachey informó que este programa podía jugar un juego completo de Damas a una velocidad razonable.

La aplicación de Prinz

El programa de ajedrez de Prinz, también fue escrito para el Ferranti Mark I y se ejecutó por primera vez en Noviembre de 1951. Estaba creado para resolver problemas simples de los movimientos de un juego de Ajedrez.

El programa examinaría todos los movimientos posibles hasta encontrar una solución. En promedio, se tuvieron que examinar varios miles de movimientos en el curso de la resolución de un problema y el programa era considerablemente más lento que un jugador humano.

La aplicación de Turing

Turing comenzó a programar su ajedrecista Turochamp en el Ferranti Mark I pero nunca completó la tarea. A diferencia del programa de Prinz, el Turochamp podía jugar un juego completo y operar no mediante una búsqueda exhaustiva, sino bajo la guía de los principios generales ideados por Turing.

Primera aplicación de Aprendizaje Automático

Oettinger estuvo considerablemente influenciado por las opiniones de Turing sobre el aprendizaje automático. Su Shopper fue el primer programa en incorporar el aprendizaje automático (los detalles del programa se publicaron en 1952). El programa se ejecutó en la computadora EDSAC.

Shopper era un mundo simulado de un comprador dentro de un centro comercial de ocho tiendas. Cuando se enviaba a comprar un artículo, el comprador; si es que era necesario, buscaba el artículo y visitaba tiendas al azar hasta encontrarlo.

Durante la búsqueda, el Comprador memorizaría algunos de los artículos almacenados en cada una de las tiendas ya visitadas (tal y como lo haría un comprador humano).

La próxima vez que Shopper fuese enviado a por el mismo artículo o a por algún otro artículo que ya había localizado, iría a la tienda correcta de inmediato.

Como se mencionó anteriormente, esta forma simple de aprendizaje se llamó aprendizaje de memoria y debe contrastarse con el aprendizaje que implica generalización que exhibe el programa que se describe a continuación.

El aprendizaje que involucra la generalización permite que el alumno (máquina aprendiz) se desempeñe mejor en situaciones que no había encontrado antes (Strachey también investigó aspectos del aprendizaje automático, centrándose en el juego NIM y en 1951, informó de un esquema simple de aprendizaje de memoria mediante una carta a Turing).

La primera aplicación / programa de Inteligencia Artificial que se ejecutó en los EE. UU. también fue un programa de damas, escrito en 1952 por Arthur Samuel de IBM para el IBM 701. Samuel, se hizo cargo de los elementos esenciales del programa de Strachey (que Strachey había publicitado en una conferencia informática en Canadá en 1952) y durante un período de varios años lo amplió considerablemente.

En 1955 agregó características que permitieron que el programa aprendiera de la experiencia y por lo tanto, mejorase su juego. Samuel incluyó mecanismos tanto para el aprendizaje de memoria como para la generalización. La aplicación, muy pronto aprendió lo suficiente como para superar a su creador.

Las sucesivas mejoras que Samuel hizo en el aparato de aprendizaje finalmente llevaron al programa a ganar un juego contra un ex-campeón de damas de Connecticut en 1962 (quien inmediatamente cambió las tornas y venció al programa en seis juegos seguidos).

Para acelerar el aprendizaje, Samuel configuraba dos copias del programa, la Alpha y la Beta dentro de una misma computadora y las dejaba jugar juego tras juego entre ellas.

El programa usaba heurística para clasificar los movimientos y las posiciones del tablero (“mirar hacia adelante” hasta diez turnos de juego). El procedimiento de aprendizaje consistió en que la computadora hiciera pequeños cambios numéricos en el procedimiento de clasificación de Alpha, dejando el de Beta sin cambios y luego comparaba el desempeño de Alpha y Beta en algunos juegos.

Si Alpha jugaba peor que Beta, estos cambios en el procedimiento de clasificación se descartaban, pero si Alpha jugaba mejor que Beta, el procedimiento de clasificación de Beta se reemplazaba por el de Alpha.

Como en la evolución biológica, el más apto sobrevivía, a lo largo de muchos de esos ciclos de mutación y selección, la habilidad del programa aumentaría.

Computación evolutiva

Sim embargo, el trabajo de Samuel que describimos con anterioridad, fue uno de los primeros en un campo que ahora se llama la computación evolutiva y es un ejemplo del uso de un algoritmo genético.

El término de algoritmo genético fue introducido alrededor de 1975 por John Holland y su grupo de investigación en la Universidad de Michigan, Ann Arbor. El trabajo de Holland es el principal responsable del intenso interés actual en los AG. Los AG emplean métodos análogos a los procesos de evolución natural para producir generaciones sucesivas de entidades de software que se adaptan cada vez más a su propósito previsto.

De hecho, el concepto se remonta al manifiesto de Turing de 1948, donde emplea el término de búsqueda genética. El uso de AG floreció entre la IA y en otros lugares.

En un caso de uso de la época actual, un sistema basado en AG podría cooperar para generar rostros en pantalla que se acerquen cada vez más al rostro de un criminal.

Razonamiento y resolución de problemas

La capacidad de razonar lógicamente es un aspecto importante de la inteligencia y siempre ha sido un foco principal de la investigación de la IA. En su manifiesto de 1948, Turing enfatizó que una vez que una computadora pueda probar teoremas lógicos, podrá buscar inteligentemente soluciones a problemas.

Prinz usó el Ferranti Mark I, la primera computadora disponible comercialmente, para resolver problemas lógicos y en 1949 y 1951 Ferranti construyó dos pequeñas computadoras experimentales de propósito especial para probar teoremas y otros trabajos lógicos.

Un hito importante en esta área fue un programa de prueba de teoremas escrito en 1955-1956 por Allen Newell y J. Clifford Shaw de RAND Corporation en Santa Mónica y Herbert Simon del Carnegie Institute of Technology (actualmente Carnegie-Mellon University).

El programa fue diseñado para probar teoremas del famoso trabajo lógico Principia Mathematica de Alfred North Whitehead y Bertrand Russell. En el caso de un teorema, la demostración ideada por el programa fue más elegante que la demostración dada por Whitehead y Russell.

The Logic Theorist, como se conoció el programa, fue la exposición principal en una conferencia organizada en 1956 en New Hampshire por John McCarthy, quien posteriormente se convirtió en una de las figuras más influyentes en Inteligencia Artificial.

El título de la conferencia fue El proyecto de investigación de verano de Dartmouth sobre inteligencia artificial. Este fue el primer uso del término de Inteligencia Artificial.

El término original de Turing de la inteligencia de máquina también ha persistido, especialmente en Gran Bretaña.

Newell, Simon y Shaw continuaron construyendo el Solucionador General de Problemas o GPS. La primera versión de GPS se ejecutó en 1957 y el trabajo continuó en el proyecto durante aproximadamente una década.

El GPS podría resolver una impresionante variedad de acertijos, por ejemplo, el problema de los misioneros y caníbales: ¿Cómo puede un grupo de tres misioneros y tres caníbales cruzar un río en un bote pequeño que no llevará más de dos a la vez, sin la misioneros en cualquiera de las orillas siendo superados en número por caníbales?

El GPS buscaría una solución a base de prueba y error, bajo la guía de heurística proporcionada por los programadores. Una crítica al GPS y otros programas que carecen de aprendizaje es que la inteligencia del programa es completamente proveniente del programador (principalmente a través de la heurística, en el caso del GPS).

Comunicación en lenguaje natural

Dos de los primeros programas más conocidos son Eliza y Parry, los detalles de ambos se publicaron por primera vez en 1966. Estos programas daban una extraña apariencia de conversación inteligente.

Parry, escrito por el psiquiatra de la Universidad de Stanford, Kenneth Colby, simulaba a un humano paranoico. Las respuestas de Parry están en mayúsculas en el siguiente extracto de una conversación entre Parry y un entrevistador psiquiátrico:

¿Por qué estás en el hospital?
NO DEBERÍA ESTAR AQUÍ.
¿Quién te trajo aquí?
LA POLICÍA.
¿Qué problemas tuviste con la policía?
LOS POLICÍAS NO HACEN SU TRABAJO.
¿Qué hacen en su lugar?
LA POLICÍA ARRESTA A LA GENTE EQUIVOCADA.
A veces arrestan a los correctos.
LA LEY DEBERÍA CAPTURAR A ESOS LADRONES ITALIANOS.
¿Eres italiano?
MI ANTECEDENTE ES BRITÁNICO PERO NACÍ EN ESTE PAÍS.
¿Conoces a algún ladrón italiano?
TRATO DE EVITAR EL INFRAMUNDO.

Los psiquiatras a los que se les pidió que decidieran si se estaban comunicando con Parry o con un paranoico humano a menudo no lograban acertar.

Eliza, escrito por Joseph Weizenbaum en el MIT, simuló a un terapeuta humano. En el siguiente extracto, Eliza “habla” en segundo lugar:

Los hombres son todos iguales.
DE QUÉ MANERA
Siempre nos están molestando por una cosa u otra.
¿PUEDES PENSAR EN UN EJEMPLO ESPECÍFICO?
Bueno, mi novio me hizo venir aquí.
TU NOVIO TE HIZO VENIR AQUÍ
Dice que estoy deprimida la mayor parte del tiempo.
LAMENTO ESCUCHAR QUE ESTÉS DEPRIMIDA
Es verdad, soy infeliz
¿CREES QUE VENIR AQUÍ TE AYUDARÁ A NO SER INFELIZ?
Necesito ayuda, eso parece seguro.

Ni Parry, ni Eliza, pueden describirse razonablemente como inteligentes. Las contribuciones de Parry a la conversación están enlatadas y construidas de antemano por el programador y obviamente, almacenadas en la memoria de la computadora.

Como dice el filósofo Ned Block, los sistemas como Parry no son más inteligentes que una máquina de discos. Eliza, también se basa en oraciones enlatadas y trucos de programación simples (como editar y devolver el comentario que acaba de hacer el participante humano).

Lenguajes de programación e Inteligencia Artificial

En el curso de su trabajo sobre el teórico lógico y el GPS; Newell, Simon y Shaw desarrollaron un lenguaje de procesamiento de información o IPL, un lenguaje informático diseñado para la programación de Inteligencia Artificial.

En el corazón de IPL había una estructura de datos altamente flexible que llamaron “lista”. Una lista, es simplemente una secuencia ordenada de elementos de datos. Algunos o todos los elementos de una lista pueden ser, a su vez, más listas y eso conduce a estructuras ricamente ramificadas.

En 1960, John McCarthy combinó elementos de IPL con elementos del cálculo lambda, un poderoso aparato lógico que data de 1936, para producir el lenguaje que se llamó LISP (de LISt Processor).

En los EE. UU., LISP sigue siendo “uno” de los idiomas principales para el trabajo de IA (el cálculo lambda en sí mismo fue inventado por el lógico de Princeton, Alonzo Church, mientras investigaba el Entscheidungsproblem abstracto o problema de decisión, para la lógica de predicados, el mismo problema que Turing estaba atacando cuando inventó la máquina universal de Turing).

El lenguaje de programación lógica PROLOG (de PROgrammation en LOGique) fue concebido por Alain Colmerauer en la Universidad de Marsella, donde el lenguaje se implementó por primera vez en 1973.

PROLOG fue desarrollado por el lógico Robert Kowalski, miembro del grupo de IA de la Universidad de Edimburgo. Este lenguaje, hace uso de una poderosa técnica de prueba de teoremas conocida como *resolución**, inventada en 1963 en el Laboratorio Nacional Argonne de la Comisión de Energía Atómica en Illinois por el lógico británico Alan Robinson.

PROLOG puede determinar si una declaración dada se sigue lógicamente o no de otras declaraciones dadas. Por ejemplo, dadas las afirmaciones Todos los lógicos son racionales y Robinson es un lógico, un programa PROLOG responde afirmativamente a la consulta ¿Robinson es racional?.

Investigadores del Instituto de Tecnología Informática de Nueva Generación de Tokio han utilizado PROLOG como base para lenguajes de programación lógicos sofisticados.

Otros trabajos más recientes, se incluye el desarrollo de lenguajes para razonar sobre datos dependientes del tiempo como por ejemplo la cuenta se pagó ayer.

Esos lenguajes se basan en la lógica temporal, un tipo de lógica que permite ubicar enunciados en el flujo del tiempo (la lógica temporal fue inventada en 1953 por el filósofo Arthur Prior en la Universidad de Canterbury, Nueva Zelanda).

Inteligencia Artificial del micromundo

El mundo real está lleno de detalles que distraen y oscurecen: Generalmente la ciencia progresa centrándose en modelos de realidad artificialmente simples (por ejemplo, en física, planos sin fricción y cuerpos perfectamente rígidos).

En 1970, Marvin Minsky y Seymour Papert, del Laboratorio de IA del MIT; propusieron que la investigación en IA debería centrarse igualmente en desarrollar programas capaces de comportarse de forma inteligente en situaciones artificialmente simples conocidas como micromundos.

La aplicación SHRDLU del micromundo

Gran parte de la investigación se ha centrado en el llamado mundo de los bloques, que consiste en bloques de colores de varias formas y tamaños dispuestos sobre una superficie plana.

Uno de los primeros éxitos del enfoque del micromundo fue SHRDLU, escrito por Terry Winograd del MIT (los detalles del programa se publicaron en 1972). SHRDLU controlaba un brazo robótico que operaba sobre una superficie plana cubierta de bloques de juego (tanto el brazo, como los bloques, eran virtuales).

SHRDLU respondería a los comandos escritos en inglés, como ¿Podrías apilar los dos bloques rojos y un cubo verde o una pirámide?. El programa planificaría una secuencia de acciones y en el mundo virtual, el brazo robótico organizaría los bloques de forma adecuada.

SHRDLU podría responder correctamente preguntas sobre su mundo de bloques, por ejemplo ¿Puede una pirámide sostenerse sobre una pirámide? (SHRDLU intenta apilar dos pirámides y falla):

¿Habías tocado alguna pirámide antes de poner una en el bloque verde?
SÍ, EL VERDE.
¿Cuándo lo recogiste?
MIENTRAS ESTABA APILANDO UN CUBO ROJO, UN CUBO VERDE GRANDE Y UN BLOQUE ROJO GRANDE.
¿Por qué?
DESHACERSE DE ESO.
¿Por qué hiciste eso?
PARA LIMPIAR EL CUBO ROJO.
¿Por qué limpiaste ese cubo?
PARA PONERLO EN UN GRAN CUBO VERDE.
¿Por qué hiciste eso?
PARA APILAR UN CUBO ROJO, UN CUBO VERDE GRANDE Y UN BLOQUE ROJO GRANDE.
¿Por qué hiciste eso?
PORQUE TU ME LO PEDISTE.

Aunque SHRDLU inicialmente fue aclamado como un gran avance, Winograd pronto anunció que el programa era, de hecho, un callejón sin salida. Las técnicas iniciadas en el programa resultaron inadecuadas para su aplicación en mundos más amplios e interesantes.

Además, la apariencia que da Shrdlu de comprender el micromundo de los bloques y las declaraciones en inglés al respecto es, totalmente una ilusión: Shrdlu no tiene ni idea de lo que es un bloque rojo.

El robot Shakey

Otro producto del enfoque del micromundo fue Shakey, un robot móvil desarrollado en el Instituto de Investigación de Stanford por Bertram Raphael, Nils Nilsson y su grupo, durante el período 1968-1972 (Shakey, actualmente se puede ver en el Museo de Computación de Boston).

El robot ocupaba un micromundo especialmente construido que constaba de paredes, puertas y algunos bloques de madera de forma simple. Cada pared, tenía un zócalo cuidadosamente pintado para permitir que el robot “viese” dónde la pared se encontraba con el piso (una simplificación de la realidad que es típica del enfoque del micromundo).

Shakey tenía alrededor de una docena de habilidades básicas; como GIRAR, EMPUJAR o SUBIR UNA RAMPA. Estos podrían combinarse de varias maneras mediante los programas de planificación del robot.

El sensor principal de Shakey, era una cámara de televisión en blanco y negro. Otros sensores, incluían una barra de choque y odometría que permitió al robot calcular su posición por estimación muerta.

En un video de demostración, se mostraba a Shakey obedeciendo una instrucción para mover un bloque determinado de una habitación a otra ubicando una rampa, empujando la rampa hacia la plataforma en la que estaba ubicado el bloque, subiendo por la rampa, tirando el bloque al suelo, descender la rampa y maniobrar el bloque hasta la habitación requerida; esta secuencia de acciones ha sido ideada en su totalidad por el programa de planificación del robot sin intervención humana.

Los críticos enfatizan la naturaleza altamente simplificada del entorno de Shakey y señalan que a pesar de estas simplificaciones, Shakey operó con una lentitud insoportable; de hecho, la secuencia de acciones en el video de demostración tardó días en completarse.

El robot Freddy

FREDDY, un robot estacionario con un ojo de TV montado en una plataforma orientable y una mano de pinza fue construido en la Universidad de Edimburgo bajo la dirección de Donald Michie.

FREDDY pudo reconocer un pequeño repertorio de objetos, incluidos un martillo, una taza y una pelota, con una precisión de alrededor del 95 %; aunque el reconocer un solo objeto, llevase varios minutos de tiempo de computación.

Se podría enseñar al robot a ensamblar objetos simples, como un automóvil de juguete, a partir de un kit de piezas. Las aplicaciones previstas incluían el trabajo de montaje en línea de producción y el manejo automático de paquetes.

FREDDY se concibió en 1966 pero el trabajo se interrumpió en 1973 debido a un cambio en la política de financiación del gobierno británico a raíz de un informe despectivo sobre la IA (especialmente la robótica) del matemático de Cambridge: Sir James Lighthill.

Roger Schank y su grupo en Yale aplicaron una forma de enfoque del micromundo al procesamiento del lenguaje. Su programa SAM (1975) podía responder preguntas sobre historias simples sobre situaciones estereotipadas, como cenar en un restaurante o viajar en el metro. El programa podía inferir información que estaba implícita en la historia.

Por ejemplo, cuando se le pregunta ¿Qué pidió John?, SAM era capaz de responder John pidió lasaña, aunque la historia solo dice que John fue a un restaurante y comió lasaña.

FRUMP, otro programa del grupo de Schank (1977) produjo resúmenes en tres idiomas de informes de noticias del servicio de cable. Por impresionantes que sean SAM y FRUMP, es importante tener en cuenta que estos programas son incorpóreos y no tienen una idea real de lo que es la lasaña o la comida.

Como señalan los críticos, el mayor éxito del enfoque del micromundo es un tipo de programas conocidos como sistema experto.

Sistemas expertos

Un sistema experto es un programa informático dedicado a resolver problemas y dar consejos dentro de un área especializada del conocimiento. Un buen sistema, puede igualar el desempeño de un especialista humano.

El campo de los sistemas expertos es la parte más avanzada de la IA y los sistemas expertos tienen un amplio uso comercial. Los sistemas expertos son ejemplos de programas de micromundos: Sus mundos (por ejemplo, un modelo de la bodega de un barco y los contenedores que se almacenarán en él) son autónomos y relativamente sencillos.

Los usos de los sistemas expertos incluyen diagnóstico médico, análisis químico, autorización de crédito, gestión financiera, planificación corporativa, enrutamiento de documentos en instituciones financieras, prospección de petróleo y minerales, ingeniería genética, diseño y fabricación de automóviles, diseño de lentes de cámaras, diseño de instalaciones de computadoras, programación de líneas aéreas, etc.

Los componentes básicos de un sistema experto son una base de conocimiento y un motor de inferencia. La información de la KB (iniciales de base de conocimiento en inglés) se obtiene entrevistando a personas expertas en el área en cuestión.

El entrevistador o ingeniero del conocimiento, organiza la información obtenida de los expertos en una colección de reglas, típicamente de estructura si-entonces, las reglas de este tipo se denominan reglas de producción.

El motor de inferencia permite que el sistema experto extraiga deducciones de las reglas de la base de conomiento.

Por ejemplo, si la KB contiene reglas de producción si x entonces y y si y entonces z, el motor de inferencia puede deducir si x entonces z. Entonces, el sistema experto podría consultar al usuario ¿es x cierto en la situación que estamos considerando?

En 1965, el investigador de inteligencia artificial Edward Feigenbaum y el genetista Joshua Lederberg, ambos de la Universidad de Stanford, comenzaron a trabajar en Heuristic Dendral.

Heuristic Dendral es un programa de alto rendimiento que sirvió de modelo para gran parte del trabajo subsiguiente en el área de los sistemas expertos (el nombre se convirtió posteriormente en DENDRAL). La tarea del programa era el análisis químico.

La sustancia a analizar podría ser, por ejemplo, un compuesto complicado de carbono, hidrógeno y nitrógeno. A partir de los datos espectrográficos obtenidos de la sustancia, DENDRAL formularía hipótesis sobre la estructura molecular de la sustancia.

El desempeño de DENDRAL rivalizó con el de los químicos humanos expertos en esta tarea y el programa, se usó en la industria y en las universidades.

El trabajo en MYCIN, un sistema experto para el tratamiento de infecciones sanguíneas, comenzó en Stanford en 1972. MYCIN intentaría identificar el organismo responsable de una infección a partir de información sobre los síntomas del paciente y los resultados de las pruebas.

El programa solicitaría más información si fuera necesario, haciendo preguntas como ¿el paciente ha sufrido quemaduras recientemente?. A veces, MYCIN sugeriría pruebas de laboratorio adicionales. Cuando el programa había llegado a un diagnóstico, recomendaba una medicación adecuada.

Si se le requería, MYCIN era capaz de explicar el razonamiento que le llevaba hasta el diagnóstico y la recomendación dada.

El programa operaba al mismo nivel de competencia que los especialistas humanos en infecciones de la sangre, y los resultados finales eran bastante mejores que los ofrecidos por los médicos en general.

El sistema experto médico Centaur (1983) de Janice Aikins fue diseñado para determinar la presencia y la gravedad de la enfermedad pulmonar en un paciente mediante la interpretación de las mediciones de las pruebas de función pulmonar.

Una característica importante de los sistemas expertos es que pueden trabajar en cooperación con los usuarios humanos, lo que permite cierto grado de simbiosis humano-computadora.

El investigador de inteligencia artificial Douglas Lenat dice de su sistema experto Eurisko, que se convirtió en un jugador campeón dentro del juego de guerra de las galaxias Traveller: “Que la acreditación final de la victoria debería ser de aproximadamente 60/40% Lenat/Eurisko, aunque el punto importante aquí es que ni Lenat ni Eurisko podrían haber ganado solos”.

Eurisko y Lenat diseñaron de manera cooperativa una flota de buques de guerra que explotaba las reglas del juego Traveller de formas poco convencional y que era notablemente superior a las flotas diseñadas por el resto de los participantes humanos.

Lógica difusa

Algunos sistemas expertos utilizan la lógica difusa. En la lógica estándar, no difusa, solamente hay dos valores de verdad: Verdadero y falso. Esta es una restricción algo antinatural, ya que normalmente pensamos que los enunciados suelen ser casi verdaderos o parcialmente falsos, etc. De acuerdo con la lógica estándar, sin embargo, no existen tales valores intermedios.

No existen grados de verdad y cualquier declaración es completamente verdadera o completamente falsa. Entre 1920 y 1930, el filósofo polaco Jan Lukasiewicz introdujo una forma de lógica que emplea no solo dos valores, sino muchos.

Lotfi Zadeh, de la Universidad de California en Berkeley, posteriormente propuso que los muchos valores de la lógica de Lukasiewicz se consideraran como grados diferentes de la verdad y acuñó la expresión de lógica difusa para el resultado (Zadeh publicó el primero de muchos artículos sobre el tema en 1965).

La lógica difusa es particularmente útil cuando es necesario tratar con expresiones vagas, como calvo, pesado, alto, bajo, caliente o frío y así sucesivamente. Las expresiones vagas son difíciles de manejar en la lógica estándar porque las declaraciones que las involucran, por ejemplo, Fred es calvo, pueden no ser completamente verdaderas ni completamente falsas.

La ausencia de calvicie se convierte gradualmente en calvicie, sin una línea divisoria clara en la que la afirmación Fred es calvo pueda cambiar de ser completamente falsa a completamente verdadera.

A menudo, las reglas que los ingenieros del conocimiento extraen de los expertos humanos contienen expresiones vagas, por lo que es útil si un sistema experto emplea lógica difusa.

Un ejemplo de tal regla es: Si la presión es alta pero no demasiado alta, reduzca un poco el flujo de combustible; la lógica difusa se usa en otras partes de la IA, por ejemplo, en robótica y en la computación similar a las neuronas.

Hay literalmente miles de aplicaciones comerciales de lógica difusa, muchas desarrolladas en Japón, que van desde un controlador automático de trenes subterráneos hasta sistemas de control para lavadoras y cámaras.

Limitaciones de los sistemas expertos

Los sistemas expertos no tienen “sentido común”. No entienden para qué sirven, ni cuáles son los límites de su aplicabilidad, ni cómo encajan sus recomendaciones en un contexto más amplio.

Si se le dijera a MYCIN que un paciente que ha recibido una herida de bala se está desangrando, el programa intentaría diagnosticar una causa bacteriana para los síntomas del paciente.

Los sistemas expertos pueden cometer errores absurdos, como prescribir una dosis obviamente incorrecta de un medicamento para un paciente cuyo peso y edad son cambiados accidentalmente por el empleado.

La base de conocimientos de un sistema experto es pequeña y por lo tanto, manejable: Unas pocas miles de reglas como máximo. Los programadores pueden emplear métodos simples de búsqueda y actualización de la KB que no funcionarían si la KB fuese demasiado grande.

Además, la programación de micromundos implica un uso extensivo de lo que se denominan trucos específicos de dominio, trucos y atajos que funcionan solo debido a la naturaleza circunscrita del mundo del programa. También, son posibles simplificaciones más generales.

Un ejemplo, puede ser la necesidad de la representación del tiempo. Algunos sistemas expertos se las arreglan sin reconocer el tiempo verbal. En sus micro-mundos todo sucede en un eterno presente.

Si la referencia al tiempo es inevitable, el programador del micromundo incluye solo los aspectos de la estructura temporal que son esenciales para la tarea, por ejemplo; que si A está antes de B y B está antes de C entonces A está antes de C.

Esta sencilla regla, permite que el sistema experto fusione pares adecuados de declaraciones previas y extraiga así su implicación (p. ej. que la erupción del paciente ocurrió antes de la aplicación de la penicilina).

Es posible que el sistema no tenga ninguna otra información sobre la relación antes. ni siquiera que ordene los eventos en el tiempo y no en el espacio.

El problema de cómo diseñar un programa de computadora que funcione a niveles humanos de competencia en toda su complejidad del mundo real, sigue permaneciendo abierto aún en nuestros días (2023).

El proyecto CYC

El nombre del proyecto CYC proviene de enciclopedia y es, uno de los experimentos más grandes hasta su creación en cuanto a Inteligencia Artificial simbólica se refiere.

El proyecto comenzó en Microelectronics and Computer Technology Corporation en Texas a lo largo de 1984, bajo la dirección de Douglas Lenat y con un presupuesto inicial de 50 millones de dólares y ahora mismo se ha renombrado por Cycorp Inc.

El objetivo, era construir una base de conocimiento que contenga un porcentaje significativo de los recursos comunes de conocimiento sensorial de un ser humano.

El proyecto CYC culminó en una base de conocimiento capaz de servir como base para las futuras generaciones de sistemas expertos. La expectativa del proyecto se basaba en que los sistemas expertos estén equipados con sentido común, logrando un nivel de rendimiento aún mayor y que fuesen menos propensos a errores.

Por sentido común, los investigadores de IA se refieren a ese gran corpus de conocimiento mundano que los seres humanos utilizan para llevarse bien en la vida diaria. Un momento de reflexión revela que incluso las actividades y transacciones más simples presuponen una masa de conocimiento aparentemente trivial: Para llegar a un lugar uno debe (en general) moverse en su dirección; uno puede pasar junto a un objeto acercándose primero a él y luego alejándose de él; se puede tirar con una cuerda, pero no empujar; empujar algo generalmente afecta su posición; un objeto que descansa sobre un objeto empujado por lo general, pero no siempre, se mueve con el objeto empujado; el agua fluye cuesta abajo; los habitantes de la ciudad no suelen salir desnudos a la calle; las causas generalmente preceden a sus efectos; el tiempo pasa constantemente y los eventos futuros se convierten en eventos pasados.. y así sucesivamente.

Una computadora que va a desenvolverse inteligentemente en el mundo real debe tener acceso de alguna manera a millones de tales hechos. Winograd, el creador de SHRDLU, en su momento comentó: Durante mucho tiempo se ha reconocido que es mucho más fácil escribir un programa para realizar operaciones formales abstrusas que capturar el sentido común de un perro.

El proyecto CYC implicaba programar a mano muchos millones de afirmaciones. Al final de los primeros seis años, se habían ingresado manualmente en la KB más de un millón de afirmaciones.

Lenat estima que se necesitaban unos 2 siglos de trabajo mediante personas para aumentar esta cifra a los 100 millones de afirmaciones que él creía necesarias antes de que CYC pudiese comenzar a aprender de forma útil del material escrito por sí mismo.

Por momentos, había hasta 30 personas iniciando sesión en CYC y todas ingresando datos simultáneamente. Estos introductores de conocimiento, se encargaban de revisar artículos de periódicos y revistas, entradas de enciclopedias, anuncios, etc., preguntándose qué es lo que el escritor supuso que el lector ya sabría: Los seres vivos contraen enfermedades, los productos de un proceso comercial son más valiosas que las entradas y así sucesivamente.

Lenat describió a CYC como el complemento de una enciclopedia: El objetivo principal del proyecto era programar el conocimiento que cualquier persona o máquina debía tener antes de poder comenzar a comprender una enciclopedia.

CYC usa su conocimiento de sentido común para sacar inferencias que derrotarían a los sistemas más simples.

Entre los problemas fundamentales sobresalientes con CYC se encuentran problemas en la búsqueda y resolución de problemas, por ejemplo, cómo buscar automáticamente en la KB información que sea relevante para un problema dado (estos problemas son aspectos del problema del marco, descrito en la sección Nouvelle AI) y problemas en la representación del conocimiento, por ejemplo, cómo se analizarán y representaban conceptos básicos como los de sustancia y causalidad dentro de la KB.

Relacionado

¿Quién es Alan Turing?

Alan Mathison Turing (nacido el 23 de junio de 1912 en 2 Warrington Crescent, Londres W9 y fallecido el 7 de junio de 1954 en su casa de Wilmslow, Cheshire). Contribuyó a las matemáticas, el criptoanálisis, la lógica, la filosofía, la biología y de forma formativa, a la informática, la ciencia cognitiva, la Inteligencia Artificial y la Vida Artificial. https://youtu.be/o_VkNl-RImI Descubriendo al Padre de la Informática ¡SEGUIR LEYENDO!

Alan Turing: Historia completa, estudios y pensamientos filosóficos

Alan Turing (1912–1954) nunca se describió a sí mismo como un filósofo, pero su artículo de 1950 “Computing Machinery and Intelligence” es uno de los más citados en la literatura filosófica moderna. Dio un nuevo enfoque al problema tradicional mente-cuerpo, relacionándolo con el concepto matemático de computabilidad que él mismo había introducido en su artículo de 1936-7 “Sobre los números computables, con una aplicación al Entscheidungsproblem”. ¡SEGUIR LEYENDO!

Salir de la versión móvil