¿QUÉ ES LA INTELIGENCIA ARTIFICIAL?

Anuncio
¿QUÉ ES LA INTELIGENCIA ARTIFICIAL?
Las definiciones de Inteligencia Artificial, o IA, varían considerablemente, tienden a enfatizar el peculiar
interés del experto o del investigador que ofrece la definición. IA consta de dos ramas de investigación: una
rama que intenta verter luz sobre la naturaleza de la inteligencia humana mediante su simulación o la
simulación de sus componentes, con la meta eventual de reproducirla (o superarla);
La otra rama intenta construir sistemas expertos que exhiben una conducta inteligente, indiferentemente de su
parecido a la inteligencia humana. La más moderna escuela se relaciona particularmente con la construcción
de herramientas inteligentes para asistir a los seres humanos en complejas tareas tales como la exploración del
petróleo, la diagnosis médica, el análisis químico , y la identificación de fallos en las maquinarias.
Otras actividades que caen bajo estas dos ramas de trabajo incluyen los intentos de construir sistemas con
percepción visual, que entiendan el idioma natural, que demuestren las capacidades de aprendizaje en la
máquina, sistemas que puedan manipular objetos (por ejemplo, los robots), sistemas que puedan realizar un
aprendizaje inteligente y sistemas que jueguen.
La inteligencia artificial surgió como una disciplina académica en una conferencia de 1956 en la universidad
de Darmouth, New Hampire. El término fue inventado por John McCarthy, la mayoría de los primeros
trabajos en AI, concernían a la construcción de programas para jugar de una manera inteligente. Los
programas construidos ahora pueden ganar el 99% de todos los jugadores humanos , tales como el tic tac toc ,
las damas y, el ajedrez.
Una rama de la AI apunta a crear la inteligencia (humana o no) en una forma computacional, un primer paso
necesario es definir lo parámetros de esa meta. Los críticos han argumentado que la IA es una forma de
alquimia moderna que se basa en la última metáfora de la mente, o en su manifestación física, como el
cerebro.
La computadora ha ganado supremacía como la última tecnología de nuestra edad, no es inesperado que se
mire al cerebro como un ingenio de procesamiento de la información −una computadora con circuitos que no
son de silicón−
Así, los críticos de la IA creen que es improbable entender al cerebro y aún la mente en términos
computacionales, porque hay pocas evidencias de que la IA se base en otra cosa que en la más reciente
metáfora tecnológica de la mente. Para ellos, cualquier realización ocurrida en la IA es una patética parodia
comparada a la riqueza, el poder, y la fluidez de la inteligencia que cada ser humano promedio despliega en el
curso de la vida diaria.
Muchos investigadores de la IA son inexorables en que la inteligencia humana es una actividad de
manipulación de símbolos que se pueden simular totalmente o por lo menos, en parte, por medios
computacionales. Como seres inteligentes, tenemos símbolos interiores o procesos que tienen referentes
externos y significados asociados, y para manipular esos símbolos de manera que los gobernemos, llegamos a
exhibir una conducta significante en un ambiente dinámico.
Otro acercamiento a la identificación de lo que la inteligencia es, y por esto, cómo podemos acercarnos a su
creación, se propuso en los años 50, por uno de los padres fundadores de la computación, Alan Turing. La
prueba de Turing, como se le ha llamado, ha aparecido en formas incorrectas y alteradas en numerosos
lugares. Por eso hemos optado por usar la representación original propuesta por Turing.
Para empezar, imagine un juego entre tres jugadores, A, B, y C. A y B se sientan juntos en una habitación, sin
1
que C los vea, y quien conversa con ellos a través de la mecanografía de mensajes (Las formas modernas de
este guión podrían incluir VDT). A es un hombre y B es una mujer, pero el sexo de C es inmaterial. C tiene
que identificar cuál de sus interlocutores es A y cuál es B. Además, el papel de A es confundir a C, y el papel
de B es minimizar la confusión de C.
La pregunta de Turing es: ¿Qué pasará cuando una máquina toma el lugar de A en este juego? La sugerencia
hecha por Turing es que cualquier máquina es capaz de tomar el lugar de A sin que C se dé cuenta, debe tener
una fuerte cercanía a la inteligencia. para simplificar un poco el guión, muchos han inferido generalmente que
cualquier máquina que pueda convencerá un humanoide que tambien es un humano, debe ser capaz de
pensamiento.
Los programas son representaciones formales y son, por eso, ejecutables en cualquier forma de equipo
computacional. Además, a causa de que los defensores de la IA argumentan que el cerebro es una forma de
aparato computacional, el programa que se ejecuta dentro del cerebro, (el producto del cual es nuestra mente)
debe poder ser ejecutado en otras formas de maquinaria
computacional, tales como las computadoras digitales. Así para reproducir la mente, todo lo que requerimos
es la naturaleza del programa que se ejecuta dentro del cerebro; podemos entonces correrlo en una
computadora digital y replicar la mente.
A causa de que para muchos comentaristas, el lenguaje es el signo principal de la inteligencia , necesitamos
consagrar una atención más amplia en este punto, a las enormes dificultades que el lenguaje representa por los
esfuerzos para entenderlo computacionalmente. De nuevo, como con nuestra habilidad para navegar alrededor
de una habitación, para comprender un idioma necesitamos acumular una cantidad enorme de experiencia,
oyéndolo, produciéndolo en una variedad de formas, y desarrollándolo formalmente a través de nuestros
sistemas de educación.
Cuando profiero la frase, `no puedo soportarlo más,' inmediatamente entendemos el contexto. Uno sabe por
experiencia que no estoy hablando de un enorme, peludo y a veces peligroso mamífero, ni de la productividad
de un árbol, ni de la capacidad de carga de una viga de acero.
Tales significados múltiples podrían , por supuesto, estar cifrados en forma computacional (aunque esto sería
tedioso y difícil), pero otras formas del idioma permanecen rebeldes a las computadoras. Por ejemplo si dije
`no he hundido nunca a ningún estudiante de matemáticas de segundo año,' la implicación, es, por supuesto,
que he enseñado tal curso y que lo he hecho así durante una considerable longitud de tiempo.
También, si digo, `no me puedo presentar al examen. Mi doctor me ha dado un certificado médico' las
implicaciones son que mi enfermedad me impide presentarme al examen, que el certificado médico es una
forma de evidencia por este impedimento , y que posiblemente, se pueden hacer algunos arreglos de
evaluación alternativos o que la ausencia de unos exámenes considerará en el contexto de mi enfermedad.
HERRAMIENTAS DE LOS SISTEMAS MODERNOS
Por lo general, al desarrollar sistemas expertos la programación se centra en los temas de inferencia y
búsqueda heurística y depende esencialmente de la manipulación de símbolos: series de caracteres (como
`nombres' que se emplean libremente para representar cualquier elemento del área)
Los lenguajes de programación LISP y PROLOG son por excelencia los lenguajes comunes más empleados
en la construcción de SE, aunque muchos lenguajes convencionales específicamente C se están volviendo
habituales. LISP conceptualmente es un lenguaje funcional; cada instrucción en el lenguaje es una
Descripción de una función. Conceptualmente, PROLOG es un lenguaje que se basa en la lógica; cada
2
instrucción del lenguaje es una expresión en una sintaxis de lógica formal.
El procesamiento simbólico es importante en SE, debido a que las primitivas de conocimientos, se almacenan
mediante el uso de representaciones simbólicas. Es útil que en los lenguajes de programación para SE puedan
tratar libremente con `cosas' sin estar comprometido con la composición de dichas cosas.
Los méritos relativos de LISP vs PROLOG vs otros lenguajes candidatos, son origen de continuos debates.
Aunque el fundamento de estas argumentaciones es algunas veces de corte tradicional y geográfico más que
técnico, es verdad que cada lenguaje es más apropiado para ciertas aplicaciones que otras. Adicionalmente, los
lenguajes que son más populares (Como LISP en EEUU) tienen un gran apoyo en las herramientas
establecidas para el desarrollo de software.
En la medida que aumente la proporción del desarrollo de los SE, y según se construyan nuevas arquitecturas ,
es probable que se vuelvan populares nuevos lenguajes simbólicos. Se está orientando una considerable
actividad investigativa hacia el desarrollo de lenguajes que combinan las características funcionales (LISP) y
lógicas (PROLOG). A medida que tales lenguajes se vuelvan de uso corriente, es razonable esperar la
evolución de herramientas de desarrollo más sofisticadas.
El proceso de desarrollo de SE consiste de varias etapas básicas que son similares a las etapas típicas del ciclo
de vida en ingeniería de software. Estas etapas son: identificación del problema, construcción de un prototipo,
formalización, implantación, evaluación y evolución a largo plazo.
Sin excepción, la primera tarea en el desarrollo, de cualquier SE es establecer que el problema propuesto sea
apropiado y requiera ser solucionado, mediante un SE. Si el problema en consideración se puede describir en
términos de definiciones y algoritmos explícitos, probablemente sea preferible desarrollar la solución de
programación tradicional. si el problema no está bien identificado o demanda amplio criterio humano (como
juzgar en un concurso artístico), es probable que sea demasiado complejo para un SE.
Después de la selección de un problema apropiado, se construye un prototipo pequeño para ayudar en la
compresión del problema completo y estimar la tarea de la construcción de la solución total el siguiente paso
en el proceso de desarrollo es formalizar el enunciado del problema y diseñar completamente el SE. Después
de la formalización se realiza la implantación. Esta consiste principalmente de un ciclo continuo de
adquisición de conocimientos, actualización de la base de conocimientos y pruebas.
Se entiende como fase de evaluación, que sigue a la implantación, la estimación de la proximidad del sistema
de desarrollo experto. Después de la evaluación y entrega, el SE entra a un periodo de evolución a largo plazo.
(según la experiencia que se vaya logrando con su empleo) y se revisa como respuesta a los cambios en los
conocimientos del área.
LENGUAJES DE CUARTA GENERACION
La herramienta más elemental para el desarrollo de SE es un lenguaje de propósito general. Lisp ha sido y
continua siendo el lenguaje más ampliamente empleado para el desarrollo de SE. Proporciona muchas
características que
Facilitan la tarea para la construcción de cualquier sistema de procesamiento simbólico. Más aun, Lisp se está
volviendo más popular que la programación convencional, en particular, con el advenimiento del Commom
Lisp
El lenguaje de programación Prolog está ganando popularidad. Aunque su empleo como un lenguaje para el
desarrollo de SE ha sido un poco menos que el Lisp. Prolog también es un lenguaje simbólico de propósito
general, y por atener un método incorporado de búsqueda es un poco más especifico que Lisp.
3
hay también una tendencia creciente hacia el empleo de lenguajes más convencionales para el desarrollo de
SE. Varios SE importantes se han desarrollado mediante Fortan [Weiss, 1984] y se han construido un gran
número en lenguaje C. Existen varias desventajas para utilizar tales lenguajes, la más
notoria su carencia de soporte para el procesamiento simbólico y para la administración de memoria
automáticamente. Típicamente, se requiere más tiempo para construir un SE, empleando un lenguaje
convencional que usando un lenguaje simbólico.
Sin embargo, existen varias desventajas. Por ejemplo C por lo general correrá más rápido que Lisp en un
equipo de propósito general −En algunos casos, mucho más rápido. C también está más extensamente
disponible y tiene un
soporte general amplio. Otra consideración muy práctica es que existe mayor disponibilidad de programadores
proficientes en C que en Lisp. La última ventaja principal es que el hecho que el uso de C, posibilita al
sistema final para integrarse en forma más fácil, con el software externo existente.
FUTURO DE LOS SISTEMAS EXPERTOS
Aunque, según se describió anteriormente, Permaid tiene éxito cuando se ve desde el punto de vista del
análisis costo/beneficio, falla significativamente por la insuficiencia del material teórico de duplicar el
desempeño del experto. En Permaid estas insuficiencias se presentan en varias áreas:
• Análisis de nuevos problemas. El desempeño experto es denotado por la habilidad para responder a
problemas nuevos y no previstos. Por ejemplo, en el caso de un problema funesto que ocurría una vez cada
determinado número de meses se resiste a la solución de cualquier forma. Después de
un análisis extenso e innovativo una persona experta determinó que la operación del dispositivo se vio
afectada por el radar principal de una aeronave de carga cuando pasaba por un cierto punto del puerto.
Permaid nunca hubiera podido resolver tal problema.
• Problemas que se deben resolver a través del reconocimiento de la historia anterior de la instalación.
Permaid no equipará la habilidad experta para resolver problemas mediante la aplicación de conocimientos
que se basen en la remembranza de eventos pasados en la instalación objetivo.
• Habilidad para responder a llamadas de ayuda en problemas parcialmente resueltos. Aunque, como se
describió anteriormente, Permaid ofrece capacidades valiosas de iniciativas combinadas, no se aproxima a
la habilidad de resolución del problema hasta la fecha y entonces, decidir que pasos se deben seguir a
continuación.
• Detectar la desinformación. Permaid no equipara la habilidad de experto para detectar la desinformación
(un descuido por parte del ISM)
• la relaciones con el cliente. La habilidad del experto para tratar con problemas de relaciones humanas (una
parte no trivial de la tarea) no es afrontada por Permaid.
Los actuales SE, aunque sean muy poderosos, y económicamente valiosos, no reproducen el desempeño
experto. la comunidad de los SE parece estar moviéndose en tres direcciones respuesta a esta situación:
1.− El uso de técnicas de SE para desarrollar sistemas basados en PC que ataquen el segmento del nivel final
inferior de problemas expertos (económicamente, un segmento muy valioso).
2.− La integración de SE con los sistemas de software existentes (para emplear las bases de datos existentes).
3.− El desarrollo de sistemas generalmente más inteligentes que suministren más fielmente el verdadero
desempeño experto.
4
El desarrollo generalmente más inteligentes se requieren para enfrentar las necesidades de problemas expertos
del segundo final más alto; para expandir el conjunto de problemas que puedan ser afrontados mediante el
empleo de la tecnología de IA y para tratar con dominios en que el experto debe ser
completamente remplazado para alcanzar el objetivo deseado. (Un ejemplo es un dominio en el cual el
objetivo primario es remover el experto de un ambiente peligroso).
La clave de dicho desarrollo es la investigación continua en técnicas de IA. El proyecto CYC (Lenat, 1986) de
la Corporación de Microeléctronica y Tecnología Informática de Austin, Texas, constituye un ejemplo de tal
investigación. CYC intenta captar el conocimiento general del sentido común mediante el desarrollo de una
base general de conocimientos muy grande, que
incluye todo el conocimiento (representado por marcos y redes) contenido en una enciclopedia de escritorio.
La representación de este conocimiento tiene el propósito de reducir la fragilidad de los actuales SE (su
tendencia a fallar precipitadamente en las condiciones límites) y a reducir grandemente la dificultad del
proceso de adquisición de conocimientos.
Los resultados de una investigación como esta puede posibilitar el desarrollo de sistemas que firmemente
repliquen comportamientos que actualmente son considerados y permitan a las personas desplazarse hacia
actividades aún más creativas y útiles.
SISTEMAS EXPERTOS
En esencia, los sistemas expertos son programas que encapsulan el conocimiento de un experto o de varios
expertos en un dominio particular del conocimiento, en una forma computacionalmente procesable. Desde
este conocimiento de base se pueden dibujar entonces inferencias que igualan o felizmente exceden las
inferencias similares realizadas por los expertos humanos.
Otras definiciones de un sistema experto que han sido ofrecidas en diferentes momentos, incluyen las
siguientes: Un sistema experto es un sistema computacional que usa una representación de la experiencia
humana en un dominio especializado, para realizar las funciones similares a aquellas normalmente realizadas
por un experto humano en ese dominio.
Un sistema experto es un sistema computacional que opera aplicado un mecanismo de inferencia a un cuerpo
de experiencia especializada representado en la forma de conocimiento. Se han aplicado tales sistemas a
muchas áreas de problema por ejemplo, el análisis de los componentes químicos (Dendral) el diagnostico y
tratamiento de las enfermedades infecciosas (MYCIN), la configuración de sistemas computacionales para
embarque (XCON), y la identificación de áreas probables para la exploración mineral y minería (Prospector).
En cierto sentido, los sistemas expertos han estado alrededor nuestro, de una forma u otra, desde hace muchos
años, como programas sofisticados; la diferencia es que el conocimiento de base encapsulado de un sistema
experto no es sólo el del programador, sino la estructurada comprensión de reconocidos expertos en un
particular dominio de problema.
Verdaderamente, para la mayoría, los sistemas expertos son colecciones de reglas que han sido extraídas de un
experto por un ingeniero del conocimiento y, que muy a menudo, aunque no exclusivamente, toman la forma
de declaraciones tipo SI−ENTONCES.
Por ejemplo suponga que quisiéramos construir un sistema experto para el diagnóstico de fallos en artefactos
de motor a reacción (y tales sistemas existen), entonces algunas de las reglas que podríamos identificar
podrían incluir las siguientes:
5
Semejantemente, en el caso de un sistema diagnóstico médico tal como Mycin.
Por supuesto, las reglas del SI−ENTONCES, no son la única forma en la cual el conocimiento puede ser
guardado en la base de conocimiento de un sistema experto. Otras formas incluyen redes semánticas, marcos,
y la lógica del predicado, la naturaleza esencial de los sistemas expertos en aplicar métodos deductivos (y a
menudo inductivos) a un cuerpo de conocimientos permanecen inalterables.
Debemos notar también que el beneficio real de los sistemas expertos ocurre en aplicaciones de mucho mayor
complejidad que ésta y que varios de tales sistemas pueden suministrar la intervención apropiada, la terapia, o
los procedimientos de reparación para el caso particular en que nos encontramos.
Para alcanzar este éxito, los sistemas expertos no solo usan una base de conocimiento y un artefacto de
inferencia para operar sobre ese conocimiento, sino que también, usualmente, proporcionan una interfase
explicativa que justifica sus conclusiones mediante la explicación de la línea del sistema de razonamiento con
probabilidades pertinentes para cada una de las conclusiones que traza.
Además, la mayoría del trabajo duro involucrado en la construcción de un sistema experto, no es tanto en el
nivel de programación (aunque puede ser muy difícil) sino en la extracción de las reglas de los expertos
humanos por el ingeniero del conocimiento. Muy a menudo, los expertos no conocen, conscientemente, las
reglas que usan, y el ingeniero del conocimiento tiene que star experimentando en identificar un componente
de la regla cuando aparece en la explicación de un experto.
Además, las reglas de los expertos y los conocimientos a menudo entran en conflicto, no sólo a través de los
expertos, sino incluso en el mismo experto. Por eso, resolver tales ruidos, es parte también de la tarea del
ingeniero del conocimiento.
Dado el crecimiento en el desarrollo y en el uso de sistemas expertos, particularmente ahora que las conchas
(entornos del programa computacional) para edificar tales sistemas son bastante comunes, quizás sea
apropiado hacer algunas preguntas acerca de los sistemas expertos y su relación con la IA.
Por ejemplo, ¿ son los sistemas expertos inteligentes ? ¿ son parte de la inteligencia artificial en cualquier
sentido insignificante ?
¿ QUÉ ES LA INTELIGENCIA ?
Las lecciones aprendidas de estos esfuerzos han hecho surgir, también interesantes preguntas a cerca de la
naturaleza de inteligencia humana y, verdaderamente, dónde yace exactamente la línea que divide la conducta
inteligente y la que no lo es ( o Aún si tal línea existe). Varios críticos de la IA,
por ejemplo, han planteado que la grosera aproximación computacional al juego de ajedrez perfilada
previamente, apenas se podía llamar inteligencia. En cambio, los ponentes de IA argumentan que el criterio de
inteligencia es constantemente (e injustamente) redibujado por los críticos, en cuanto ese criterio ha sido
alcanzado.
Por ejemplo, en una fase, la habilidad aritmética fue vista como una muestra de inteligencia, ahora que las
computadoras pueden calcular millones de sumas más rápidamente que cualquier humano que haya vivido
nunca, ya no es vista más como un requerimiento de la inteligencia.
Semejantemente, el jugar al ajedrez fue visto una vez como una exigente actividad intelectual, ahora que las
computadoras pueden derrotar fácilmente a una vasta mayoría de jugadores de ajedrez (aunque no a todos),
esto, también, parece estar perdiendo su estado como prueba de inteligencia.
6
CUESTIONES ETICAS ¿ES LA INTELIGENCIA ARTIFICIAL UNA META ADECUADA?
La promoción de la inteligencia artificial y la llegada de los sistemas expertos , proporciona una rica fuente de
dilema éticos para los profesionales de la computación y para los usuarios. Por ejemplo, dado la magnitud en
que ha sido apoyada la IA para propósitos militares, ¿Debemos cuestionarnos toda base ética de tal disciplina?
O, a causa de que la mayoría de la investigación de todo género ha sido apoyada por el ejército,
¿Es la IA absolutamente culpable de ser más exitosa en ese sentido? También necesitamos ser más cuidadosos
acerca de la creencia que surge de los planteamientos realizados por la llamada `Inteligencia Artificial',
cuando van buscando que el gobierno apoye sus proyectos.
Así muchas de sus promociones durante años han resultado ser tan exageradas, y al final solo humo , que la
mayoría de los observadores de la IA, han aprendido a tomar las predicciones de la IA acerca de los
desarrollos futuros en el área con gran escepticismo.
Peor aún las propuestas más prácticas y aparentemente con los pies más en la tierra han perturbado los
aspectos éticos. Por ejemplo, ¿No es peligroso apoyar, como Donald Michie hace, el uso de sistemas expertos
para dar vederictos judiciales, administrar nuestras ciudades, quizá incluso, reemplazar nuestros gobiernos?
Michie ha sido conocido por declarar que tales sistemas tendrían que ser enseñados a mentir, porque así es
como los administradores reales (y ¿presumiblemente buenos?) trabajan. No se puede decir la verdad a todo el
mundo, solo porque lo pidan, o así plantea este argumento.
Verdaderamente, ¿Michie y Roy Johnston creen seriamente que los sistemas expertos resolverán algún día los
problemas de desempleo, contaminación, crimen, guerra, sobrepoblación y terrorismo? ¿Qué debemos poner
en tales planteamientos?¿Es solo otra tontería de los tecnócratas que no ven nunca la luz del día?
Comentaristas tales como William Ascher han señalado claramente las limitaciones de los sistemas expertos
en las aplicaciones políticas y administrativas, a causa de su comparativamente estrecha base de
conocimientos y la dificultad envuelta en encapsular conceptos de alto nivel.
7
Descargar