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.

Strachey eligió el juego de mesa de damas (o 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). Para el verano de 1952, Strachey informó que este programa podía “jugar un juego completo de Damas a una velocidad razonable”.

El programa de ajedrez de Prinz, también escrito para el Ferranti Mark I, se ejecutó por primera vez en noviembre de 1951. Era para resolver problemas simples del tipo mate en dos. 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.

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.

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 (los detalles del programa se publicaron en 1952). El programa se ejecutó en el EDSAC. El mundo simulado del comprador era un centro comercial de ocho tiendas. Cuando se envía a comprar un artículo, el comprador, si es necesario, lo busca, visita tiendas al azar hasta que encuentra el artículo. Durante la búsqueda, el Comprador memorizaría algunos de los artículos almacenados en cada tienda visitada (tal como lo haría un comprador humano). La próxima vez que Shopper fuera enviado por el mismo artículo, o 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 llama “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 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ó un esquema simple de aprendizaje de memoria en una carta a Turing).

El primer programa de IA que se ejecutó en los EE. UU. también fue un programa de damas, escrito en 1952 por Arthur Samuel de IBM para 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 años lo amplió considerablemente. En 1955 agregó características que permitieron que el programa aprendiera de la experiencia y, por lo tanto, mejorara su juego. Samuel incluyó mecanismos tanto para el aprendizaje de memoria como para la generalización. El programa 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, Alpha y Beta, en la misma computadora, y las dejaba jugar juego tras juego entre ellos. El programa usó 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 comparando 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, ya lo largo de muchos de esos ciclos de mutación y selección, la habilidad del programa aumentaría. (Sin embargo,

Computación evolutiva

El trabajo de Samuel que acabamos de describir fue uno de los primeros en un campo que ahora se llama computación evolutiva y es un ejemplo del uso de un algoritmo genético . o GA. El término “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 GA 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 “búsqueda genética”. El uso de AG está floreciendo en IA y en otros lugares. En una aplicación reciente, un sistema basado en GA y un testigo de un crimen cooperan para generar rostros en pantalla que se acercan cada vez más al rostro recordado del 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. (Un ejemplo de un teorema lógico simple es “dado que X es verdadero o Y es verdadero, y dado que X es de hecho falso, se sigue que Y es verdadero”.) Prinz usó el Ferranti Mark I, el primer disponible comercialmente. computadora, 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 (ahora 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 Dartmouth College, New Hampshire, por John McCarthy, quien posteriormente se convirtió en una de las figuras más influyentes en IA. 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 “Inteligencia Artificial”. El término original de Turing “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 de segunda mano, 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, simuló a un paranoico humano. 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 CONSEGUIR 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 podían decirlo.

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 DEPRIMIDO
Es verdad. soy infeliz
¿CREES QUE VENIR AQUÍ TE AYUDARÁ A NO SER INFELIZ
? Necesito ayuda, eso parece seguro.
¿QUÉ SIGNIFICARÁ PARA USTED SI CONSIGA ALGUNA AYUDA?

Ni Parry ni Eliza pueden describirse razonablemente como inteligentes. Las contribuciones de Parry a la conversación están “enlatadas”, construidas de antemano por el programador y 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 su lenguaje de procesamiento de información, o IPL, un lenguaje informático diseñado para la programación de IA. 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 listas. Esto 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 llamó LISP (de LISt Processor). En los EE. UU., LISP sigue siendo el idioma principal 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. Estos lenguajes están en uso en computadoras paralelas no numéricas desarrolladas en el Instituto. (Los lenguajes y las computadoras se conocen como software y hardware de “quinta generación”).

Otro trabajo reciente incluye el desarrollo de lenguajes para razonar sobre datos dependientes del tiempo como “la cuenta se pagó ayer”. Estos 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 (en física, planos sin fricción y cuerpos perfectamente rígidos, por ejemplo). 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 . 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 natural, 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) y:

¿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, de hecho, una ilusión. Shrdlu no tiene idea de lo que es un bloque rojo.

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 ahora 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 “viera” 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 y SUBIR 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 incluyeron una “barra de choque”, y odometría que permitió al robot calcular su posición por “estimación muerta”. Un video de demostración mostró 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. Las razones de Shakey’

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 %; reconocer un solo objeto llevaría 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 (y 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 y 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 responde “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 y 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,

Los componentes básicos de un sistema experto son una “base de conocimiento” o KB y un “motor de inferencia”. La información de la KB 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 KB. 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 a su usuario “¿es x cierto en la situación que estamos considerando?” (p.ej ”

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, el 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, recomendaría un curso de medicación. Si se solicita, MYCIN explicará el razonamiento que lleva al diagnóstico y la recomendación.

Ejemplos de reglas de producción de la base de conocimiento de MYCIN son (1) Si el sitio del cultivo es sangre, y la tinción del organismo es gramneg, y la morfología del organismo es varilla, y el paciente ha sufrido quemaduras graves, entonces hay evidencia (.4) de que la identidad del organismo es pseudomonas. (El número decimal es un factor de certeza, que indica hasta qué punto la evidencia respalda la conclusión). (2) Si la identidad del organismo es pseudomonas, entonces la terapia debe seleccionarse entre los siguientes medicamentos: colistina (0,98) polimixina ( .96) Gentamicina (.96) Carbenicilina (.65) Sulfisoxazol (.64). (Los números decimales representan la probabilidad estadística de que la droga detenga el crecimiento de pseudomonas. ) El programa haría una elección final del medicamento de esta lista después de interrogar al usuario sobre contraindicaciones como alergias. Usando alrededor de 500 reglas de este tipo, MYCIN logró un alto nivel de rendimiento. El programa operaba al mismo nivel de competencia que los especialistas humanos en infecciones de la sangre, y bastante mejor que los médicos generales.

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. El siguiente es el resultado real del sistema experto en relación con un paciente en Pacific Medical Center en San Francisco.

Los hallazgos sobre el diagnóstico de la enfermedad obstructiva de las vías respiratorias son los siguientes: Los volúmenes pulmonares elevados indican sobreinsuflación. La relación RV/TLC aumenta, lo que sugiere un grado severo de atrapamiento de aire. El flujo espiratorio medio bajo es compatible con una obstrucción grave de las vías respiratorias. La obstrucción se indica por la curvatura del circuito de flujo-volumen que es de un grado severo. Conclusiones: El tabaquismo probablemente exacerba la gravedad de la obstrucción de las vías respiratorias del paciente. Dejar de fumar debería ayudar a aliviar los síntomas. La buena respuesta a los broncodilatadores es compatible con un cuadro asmático y está indicado su uso continuado. Diagnóstico de función pulmonar: Enfermedad obstructiva grave de las vías respiratorias, tipo asmático. Consulta finalizada.

Una característica importante de los sistemas expertos es que pueden trabajar en cooperación con sus 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 en el 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 del Viajero de formas poco convencionales y que era notablemente superior a las flotas diseñadas por los participantes humanos en el juego.

Lógica difusa

Algunos sistemas expertos utilizan lógica difusa. En la lógica estándar, no difusa, solo hay dos “valores de verdad”, verdadero y falso . Esta es una restricción algo antinatural, ya que normalmente pensamos que los enunciados son casi verdaderos, parcialmente falsos, más verdaderos que otros enunciados, etc. De acuerdo con la lógica estándar, sin embargo, no existen tales valores intermedios, no hay “grados de verdad”, y cualquier declaración es completamente verdadera o completamente falsa. En 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 de verdad ., y acuñó la expresión “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”. “, “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 El motor de inferencia 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 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. Un proyecto destinado a mejorar aún más la tecnología se describe en la siguiente sección.

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 fuera 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 se refiere a la representación del tiempo. Algunos sistemas expertos se las arreglan sin reconocer el tiempo en absoluto. 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 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 la complejidad del mundo real permanece abierto.

El proyecto CYC

CYC (el nombre proviene de “enciclopedia”) es el experimento más grande hasta ahora en IA simbólica. El proyecto comenzó en Microelectronics and Computer Technology Corporation en Texas en 1984 bajo la dirección de Douglas Lenat, con un presupuesto inicial de US$50 millones, y ahora es Cycorp Inc. El objetivo es construir una base de conocimiento que contenga un porcentaje significativo de los recursos comunes conocimiento sensorial de un ser humano. Lenat espera que el proyecto CYC culmine en una KB que pueda servir como base para futuras generaciones de sistemas expertos. Su expectativa es que cuando los sistemas expertos estén equipados con sentido común, lograrán un nivel de rendimiento aún mayor y serán menos propensos a errores del tipo que acabamos de mencionar.

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, ha comentado: “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 implica “codificar 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 necesitarán unos 2 siglos-persona de trabajo para aumentar esta cifra a los 100 millones de afirmaciones que él cree que son necesarias antes de que CYC pueda comenzar a aprender de forma útil del material escrito por sí mismo. En cualquier momento, hasta 30 personas pueden iniciar sesión en CYC, todas ingresando datos simultáneamente. Estos introductores de conocimiento (o “ciclistas”) revisan 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 describe CYC como “el complemento de una enciclopedia”: el objetivo principal del proyecto es codificar el conocimiento que cualquier persona o máquina debe tener antes de poder comenzar a comprender una enciclopedia. Ha predicho que en los primeros años del nuevo milenio, CYC se convertirá en “un sistema con una amplitud y profundidad de conocimiento a nivel humano”.

CYC usa su conocimiento de sentido común para sacar inferencias que derrotarían a sistemas más simples. Por ejemplo, CYC puede inferir “García está mojado” de la declaración “García está terminando una carrera de maratón”, empleando su conocimiento de que correr un maratón implica un gran esfuerzo, que las personas sudan a niveles altos de esfuerzo y que cuando algo suda es húmedo.

Entre los problemas fundamentales sobresalientes con CYC se encuentran (1) 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 (2) problemas en la representación del conocimiento, por ejemplo, cómo se analizarán y representarán conceptos básicos como los de sustancia y causalidad dentro de la KB. Lenat enfatiza la importancia de la entrada de conocimiento a gran escala y está dedicando solo alrededor del 20 por ciento del esfuerzo del proyecto al desarrollo de mecanismos para buscar, actualizar, razonar, aprender y hacer analogías. Los críticos argumentan que esta estrategia pone el carro delante del caballo.