Inteligencia Artificial y su historia

Anuncio
INTRODUCCION
Podríamos definir la IA como una disciplina tecnológica que tiene por objeto el diseño y la construcción de
máquinas y programas capaces de realizar complejas tareas con pericia igual o mayor que la de un ser
humano. Teniendo en cuenta que aquellas tareas que parecen más simples, por ejemplo, hablar, ver, escuchar,
son precisamente las más complejas de realizar.
El computador es una poderosa herramienta por su capacidad para representar cualquier sistema discreto de
símbolos físicos. Pero la meta final no es para esta "ciencia cognoscitiva" el computador o sus programas,
sino el estudio de la conducta inteligente y, en particular, de la conducta humana.
Este es el motivo por el cual la IA enlaza con tantas otras ciencias. Así, en el estudio de la conducta humana
intervienen ciencias naturales como la neurofísiología y ciencias humanas como la psicología; en el estudio de
los procesos de aprendizaje, la pedagogía; en otros aspectos importantes, como el reconocimiento del lenguaje
natural, la lingüística; y en la realización práctica de los modelos, la informática y en todo su entorno.
EVOLUCION HISTORICA
Prehistoria de la IA
Así como de alguna forma los soportes mecánicos para la automatización de cálculos aritméticos se sitúan en
la prehistoria de los computadores, la prehistoria de la inteligencia artificial abarca desde los primeros tiempos
de nuestra civilización hasta mediados del siglo veinte. En este período se producen hechos que podemos
agrupar en dos líneas: Una de ellas, directamente relacionada con al construcción de autómatas que simulaban
desde el punto de vista externo el comportamiento humano o animal, y que solían funcionar en ayuda de su
amo. La otra línea, referente a la información y automatización del razonamiento lógico y matemático.
En relación con los autómatas, siempre se ha relacionado la inteligencia con los aparatos mecánicos
complejos. Los hombres, intuitivamente, han comparado la complejidad del funcionamiento de una máquina
con su propia vida mental.
La tradición judía creó el mito del "golem", figura humanoide hecha de arcilla a la que un rabino podía
insuflar vida propia, convirtiéndola en un perfecto criado. Sin embargo, se requería la intervención divina para
conseguir estos espectaculares resultados.
Al llegar el relacionista siglo XVIII, el siglo de los autómatas por antonomasia, las cosas fueron muy
diferentes. Como es sabido, Descartes había defendido la tesis del "animal−máquina": los seres vivos, salvo el
hombre, son meros mecanismos.
El escritor Capek difunde en 1920 una palabra destinada a tener gran éxito: "robot". En su obra "RUR"
aparecen unos seres creados para realizar las tareas que el hombre no quiere hacer, que acaban siendo más
poderosos que el mismo hombre, llegando a poner en peligro su existencia.
Hasta la llegada de los ordenadores electrónicos no dispusieron los científicos y técnicos de una herramienta
que permitiera la ejecución de tareas más complejas por parte de dispositivos mecánicos; que hiciera posible,
por así decir, la construcción de golems y robots.
La automatización del conocimiento: Al llegar al siglo XIX, los matemáticos sienten por su parte la necesidad
de abandonar la institución como fundamento de su ciencia y buscar para su razonamiento más sólidas bases.
La aparición de las paradojas lleva al desarrollo de los sistemas formales y de lógica matemática. Las escuelas
1
de Rusell o de Hilbert reducen el razonamiento a la manipulación abstracta de cadenas de símbolos.
Las teorías de la computabilidad y de los autómatas proporcionaron el vínculo entre la formalización del
razonamiento y las máquinas que estaban a punto de surgir tras la Segunda Guerra Mundial. En este ambiente,
no es extraño que la aparición de las primeras máquinas electrónicas de computo fuera seguida
inmediatamente por los intentos de aplicarlas a la que hoy llamamos IA.
Un último elemento importante es la cibernética. Esta influyó en muchos campos debido a su naturaleza
fundamentalmente interdisciplinaria, ligado entre sí la fisiología neuronal. Las ideas de los creadores de la
cibernética llegaron a ser parte del espíritu del tiempo, e influyeron fuertemente en los primeros
investigadores de la IA.
El nacimiento de la IA
El fracaso de la mayoría de los problemas que intentaban resolver eran demasiado complicados, tanto teórica
como tecnológicamente.
La lógica teórica fue considerada como el primer programa de IA y usada para resolver problemas de
búsqueda heurística.
Durante el decenio de 1950 se celebraron congresos, proliferaron los grupos de investigación y en 1954 uno
de ellos afirmó haber creado un programa que traducía del ruso al inglés. La verdad es que los resultados
prácticos fueron descorazonadoramente escasos.
De todas formas, el resultado más espectacular de este período fue el programa de Samuel para Jugar a las
damas, que se presentó en 1961 y era capaz de aprender de su experiencia, es decir, tener en cuenta sus errores
y éxitos pasados, para determinar sus jugadas en la partida posterior.
Los años difíciles
Tales habían sido las expectativas levantadas por la IA, y tantos sus fracasos, que el desánimo sucedió al
optimismo inicial. El mundo exterior se desentendió de los trabajos de investigación, y la financiación de
muchos proyectos se volvió problemática, tanto en América como en Europa. No obstante, la IA se fue
consolidando y, aprendiendo de sus fracasos, buscó nuevos enfoques para los viejos problemas.
En el año 1964 se publicó una tesis doctoral sobre el sistema STUDENT, que es un programa de lenguaje
natural que comprende y resuelve problemas elevados de álgebra.
Es en 1966 cuando se publica, en Comunicaciones de la Asociación para Máquinas Calculadoras, un
programa de ordenador para el estudio de comunicación hombre−máquina mediante lenguaje natural
interactivo, ELIZA, que fue creado como un programa de psicología que simula respuestas de un terapista en
dialogo interactivo con un paciente. Las personas que dialogaban con ELIZA creían que hablaban con un
psicólogo auténtico.
A partir de 1970, el énfasis se trasladó de las reglas y procedimientos generales de deducción a la
acumulación de conocimientos concretos acerca de un campo bien delimitado en la realidad. El célebre
programa SHRDLU era una parte de un proyecto de comprensión del lenguaje natural capaz de comprender y
ejecutar correctamente órdenes dadas en inglés acerca de un "mundo de bloques". Ello era posible porque el
programa tenía todos los conocimientos necesarios acerca de su limitado y simplificado mundo.
Los sistemas expertos alcanzaron una sorprendente efectividad a la hora de responder a complicadas
cuestiones de diagnóstico médico o prospección minera. Esto se conseguía limitando el razonamiento a un
2
ámbito restringido del mundo real, acumulando en el programa una gran cantidad de conocimientos. En esta
época, una de las principales actividades fue el diseño de sistemas expertos. La llamada Ingeniería del
conocimiento fue acumulando técnicas y herramientas para la representación, recolección y empleo de
conocimiento experto en un campo dado.
Los trabajos hasta 1973, tuvieron como herramientas básicas de trabajo los conceptos de tiempo compartido
en ordenadores y procesamiento de palabra. La investigación más normal incluye: visón con ordenador, todas
las áreas de la robótica, sistemas expertos, lenguaje natural y arquitectura de ordenadores.
Se lanzaron ataques contra la IA basándose en la introspección, afirmó que ciertos aspectos del pensamiento
humano son esencialmente inimitables por parte de los ordenadores, dando varias razones de apoyo a esta
tesis: de una parte, los ordenadores son máquinas discretas, mientras que el pensamiento aparece en nuestra
introspección como continuo; además, los ordenadores carecen de "corporeidad", por lo que no pueden
relacionarse como nosotros con el espacio físico; por último, los ordenadores no comparten nuestras
experiencias, nuestro contexto humano, por lo que no pueden ser como los seres humanos.
En cualquier caso, las controversias no desanimaron a los investigadores, que empezaban a alcanzar
resultados tangibles. En esto les ayudaba grandemente el acelerado progreso del soporte material, con la
aparición de los circuitos y el aumento consiguiente de capacidad y potencia de cálculo. También el soporte
lógico empezaba a adaptarse a las necesidades de la IA. La aparición de lenguajes declarativos fue un paso
importante para la IA.
El desarrollo actual
Las instituciones públicas y los gobiernos percibieron los grandes adelantos que, calladamente, había
realizado la IA en el decenio de los años setenta. Las empresas y organizaciones se vieron seducidas por las
posibilidades que los sistemas expertos y la "ingeniería del conocimiento" tenían para aumentar su eficiencia.
Por todo ello, la IA volvió a ser tema de moda, y el impulso definitivo vino de Japón. En 1979, el Ministerio
de Industria y Comercio Internacional del Japón decidió desarrollar una nueva generación de ordenadores que
cumplieran las necesidades previsibles para la década de los noventa. Aquel mismo año se creó un grupo de
trabajo para estudiar la cuestión. En 1981 se publicaba el informe elaborado con las contribuciones de unas
150 personas, aprobando el gobierno japonés los créditos presupuestarios para los que se llamó el Proyecto de
la Quinta Generación de Computadores.
Los demás países respondieron con escepticismo al desafío japonés. Los americanos, conscientes de su
adelanto de varios años y de su mayor potencia económica y científica, no parecieron muy preocupados. La
firma IBM no ha mostrado en los últimos tiempos un interés excesivo por la IA; aunque acaso esté
reconsiderando su postura.
Investigación y desarrollo en áreas de la IA
Las aplicaciones tecnológicas en las que los métodos de IA usados han demostrado con éxito que pueden
resolver complicados problemas de forma masiva, se han desarrollado en sistemas que:
• Permiten al usuario preguntar a una base de datos en cualquier lenguaje que sea, mejor que un lenguaje de
programación.
• Reconocen objetos de una escena por medio de aparatos de visión.
• Generar palabras reconocibles como humanas desde textos computarizados.
• Reconocen e interpretan un pequeño vocabulario de palabras humanas.
• Resuelven problemas en una variedad de campos usando conocimientos expertos codificados.
3
Los países que han apadrinado investigaciones de IA han sido: EEUU. , Japón, Reino Unido y la CEE; y lo
han llevado a cabo a través de grandes compañías y cooperativas de riesgo y ventura, así como con
universidades, para resolver problemas ahorrando dinero. Las aplicaciones más primarias de la IA se
clasifican en cuatro campos: sistemas expertos, lenguaje natural, robótica y visión, sistemas censores y
programación automática.
LOS PROBLEMAS DE LA IA REQUIEREN METODOS DE RESOLUCION NO CONVENCIONALES
Procesamiento simbólico frente al cálculo convencional
En el cálculo convencional, un programador crea un programa de instrucciones para el computador, que sigue
un camino de solución para cada solución; este camino está completamente planeado por el programador.
Cualquier sorpresa en el transcurso del proceso es un error que debe ser eliminado. Este método convencional
de usar pasos predecibles puede ser muy potente, ya que capacita para resolver problemas que requieren el
procesamiento de una gran cantidad de datos y la repetición de muchos pasos.
A lo largo de los años se han hecho procesos en el cálculo convencional. Primero, se puede ejecutar
rápidamente con el hardware disponible. Segundo, se han reducido el tiempo y los esfuerzos requeridos para
escribir los programas por el desarrollo de conjuntos de instrucciones y lenguajes de programación que
requieren del programador escribir pocas líneas de código. Sin embargo, muchos problemas importantes no se
resuelven fácilmente por el cálculo convencional, aunque la velocidad de ejecución sea muy rápida. Estos
problemas incluyen decisiones basadas en la interacción compleja de muchos factores que deben ser
considerados como un todo, más que como una serie de pasos. Para la IA utiliza una técnica que es útil en la
solución de estos problemas complejos: El procesamiento simbólico. Los símbolos procesados por los
programas de IA a menudo representan entidades del mundo real, y en lugar de ejecutar simplemente cálculos,
los programas de IA manipulan o "piensan" sobre las relaciones entre los símbolos.
En el procesamiento de datos tradicional, el sistema procesa el contenido de variables. Los sistemas de IA
pueden hacer esto, pero pueden también manipular símbolos independientemente de sus valores. Esto hace
posible resolver un problema cuando el valor de una variable no se conoce hasta el momento antes de que la
respuesta sea necesaria. Por ejemplo, un automóvil que se está construyendo debe tener un color pero dicho
color no es importante hasta que se entregue.
En proceso de datos, es el programador, no la máquina quien determina todas las relaciones entre los
símbolos. Pero en el procesamiento de símbolos, en un sistema basado en IA, el programa puede determinar
las relaciones entre los símbolos que no estaban establecidas explícitamente por el programador. Esta
manipulación de relaciones entre parte de los datos es una característica importante de la programación en IA.
El aspecto distintivo de la IA es el énfasis en el almacenamiento y manipulación de las relaciones entre
símbolos. Así, la tecnología de la IA tiene que ver con la preservación, no exactamente de datos, sino más
bien con el conocimiento encarnado en las relaciones entre los datos. Las sentencias que expresan áreas
particulares de conocimiento son tratadas como datos en un programa de IA.
La IA hace uso de sistemas prototipo
En la resolución de la mayor parte de los problemas de la IA el diseño de la solución no puede ser conocido de
antemano. En lugar de eso, se recurre a una programación exploratoria, usando varias técnicas de resolución e
intentando producir una solución prototipo para una pequeña parte del problema de manera rápida.
Mejorando continuamente la capacidad del prototipo, el diseñador moldea el diseño para un sistema que por
fin acaba haciendo lo que se pensaba. En el transcurso de este proceso, los sucesivos prototipos proporcionan
un beneficio adicional : El sistema es útil en el paso intermedio, estando lejos del sistema convencional de
4
partida. Un sistema experto cuidadosamente construido, por ejemplo, puede ser útil al 30−50% del nivel final.
Los resultados del uso del sistema permiten a los usuarios proporcionar realimentación en la ejecución del
trabajo. La realimentación se usa entonces para mejorar la ejecución, y el proceso continúa hasta que el
sistema alcanza el nivel deseado. Un beneficio adicional del último prototipo es que el sistema es capaz de
mostrar sus utilidades y limitaciones potenciales, antes de que una gran cantidad de recursos se haya puesto en
juego. Un proyecto que no va a producir claramente los resultados pedidos, puede ser detenido antes de que
consuma una mayor cantidad de recursos.
DESARROLLO DE LOS SISTEMAS DE IA
El mejor método de desarrollo de un prototipo al que se le pueden aplicar las técnicas de IA es determinar la
estructura del problema y las herramientas disponibles. Las herramientas consisten básicamente en varios
métodos de representación del conocimiento y operadores, estructuras de control, lenguajes de IA, utilidades
integradas (editores, depuradores, herramientas de gestión de pruebas, etc.) y hardware.
Representación del conocimiento
Desde el principio, los esfuerzos de la IA apuntaban a descubrir un pequeño conjunto de técnicas de
razonamiento potentes que pudieran resolver muchos problemas. Algunos investigadores están todavía
interesados en encontrar principios de este tipo. Mientras tanto, otros han optado por encontrar maneras
eficientes y eficaces de presentar gran cantidad de conocimientos para reducir la búsqueda requerida por un
programa. Estos métodos de representación del conocimiento son combinaciones de estructuras de datos para
almacenar conjuntos de procedimientos de interpretación, para hacer inferencias sobre los datos almacenados.
La representación del conocimiento proporcional al computador una descripción de cómo interactúan los
distintos grupos de información.
Las investigaciones de la IA han creado una variedad de representaciones diferentes para los distintos tipos de
conocimiento y no una simple, cerrada y definitiva representación. El objetivo es elegir una representación
que facilite el trabajo en una tarea particular. Esto se puede extender para combinar diferentes
representaciones dentro de un solo sistema o desarrollar una nueva representación o una variación de algún
existente si se ajusta al dominio del problema. El problema mismo se puede solucionar usando representación,
varios operadores y estrategias de control.
Reglas de producción
A menudo, es conveniente representar la naturaleza dinámica de una aplicación de la IA por un conjunto de
reglas hechas de condiciones y acciones. Las reglas de producción son un tipo de regla "Si...entonces...",
basada en condiciones y acciones. Una de las reglas que hace que las acciones de la regla a ejecutar den lugar
a nuestras descripciones producen más acciones (de aquí el nombre de "reglas de producción"), así hasta que
el sistema encuentre la solución o se detenga.
Un sistema consistente en un conjunto de reglas de producción, son los operadores en el sistema, es decir, las
que se usan para manipular las bases de datos. Los lenguajes de estos sistemas de producción, tales como
OPS5, facilitan la representación del conocimiento en reglas de producción. Cada una de estas reglas está
embebitada en una pieza de conocimiento que puede ser añadida o quitada del sistema según las necesidades.
La parte "SI..." y la parte "entonces..." pueden estar compuestas de más de una frase por ejemplo, "Si es
diciembre y estás en el norte del circulo antártico, entonces necesitas un buen abrigo... y ...una linterna día y
noche".
El formato "Si... Entonces..." de las reglas de producción hace relativamente fácil codificar los sistemas
expertos del conocimiento, pero frecuentemente pensamos sobre la experiencia de una manera: "Si...
Entonces...".
5
Las reglas de producción en sistemas expertos escritas en el OPS5 no necesitan acogerse a un orden particular
por que el control de flujo en un programa no está determinado por el orden en el que el programador ha
codificado las reglas. En lugar de eso las reglas son candidatas a actuar cuando los elementos "Si..." son
satisfactorios por el estado actual del sistema, que continuamente cambia al ir actuando las reglas.
Explícitamente las estructuras de control en algunos programas pueden también limitar la aplicabilidad de
alguna regla en algún momento. La capacidad para añadir o quitar reglas de producción en algún punto del
sistema sin considerarlas por orden ayuda a desarrollar el trabajo más fácilmente.
Arboles de Búsqueda en las Representaciones Espacio−Estado
Un estado es un conjunto de condiciones o valores que describen un sistema en una punta específico durante
el proceso. Una representación Espacio−Estado es aquella en la que los operadores usan un nuevo estado, y
solo uno, en la base de datos, cada vez que se emplean. Las representaciones Espacio−Estado, que utilizan
varios métodos de búsqueda a través de la base de datos para alcanzar soluciones, han sido usadas por juegos
de ajedrez, sistemas para encontrar rutas y problemas que incluyan muchos operadores y muchos posibles
estados.
La búsqueda de un camino de solución a través del Espacio−Estado se puede ilustrar gráficamente mediante
nodos y enlaces de conexión. Cada nodo representa un estado del sistema y los enlaces representan la acción
de un operador para cambiar el sistema de un estado a otro. Los nodos pueden tener punteros que señalen al
nodo origen de forma que cuando se alcance la solución podamos conocer su camino. En algunos métodos de
búsqueda los punteros también se usan para marcar los caminos "falsos2.
Los gráficos son dibujos generalmente como arboles o redes. Un árbol es un gráfico que empieza por la cima
con un nodo raíz, de manera que los nodos de un nivel tienen un solo origen (un solo padre). Esta estructura
presenta solamente un camino desde el nodo raíz a otro nodo cualquiera. Los enlaces o conexiones entre
nodos de un árbol se llaman ramas (ramificaciones). Los nodos en la parte inferior del árbol se denominan
nodos terminales (hojas). Los nodos en los gráficos de árbol se denominan algunas veces padres e hijos
(descendientes).
Hay potencialmente un árbol de un espacio−estado que representa cada posible estado del sistema y otro árbol
mas limitado del camino que puede ser construido si el programa busca la respuesta eficientemente. Puede ser
importante encontrar un modo eficiente de búsqueda porque el espacio potencial de búsqueda puede ser
infinito o, al menos, tan grande que haga el proceso no viable.
Métodos de Búsqueda
• Búsqueda hacia en fondo: En esta búsqueda el orden de expansión de los nodos es desde el nodo
inicial descendiendo en un camino dado hasta que se encuentre la respuesta, o hasta que la búsqueda
llegue a un determinado limite de profundidad. Si la búsqueda excede del limite o del fin de ese
camino el sistema retrocede y la búsqueda continua en el nodo más cercano. La búsqueda "hacia el
fondo" es particularmente eficaz cuando hay muchos caminos largos que conducen a una solución.
• Búsqueda a lo ancho: En esta búsqueda todos los nodos en un mismo nivel son expandidos antes de
bajar a cualquiera de los que están en un nivel inferior. Si en esta búsqueda debemos bajar hacia un
nivel inferior el proceso comienza desde un lado y moviéndose horizontalmente. La besuqueada hacia
lo ancho se adapta perfectamente a sistemas que tiene unos pocos caminos de solución evitando mal
gastar tiempo.
• Búsqueda trepando a la cima: Este método empieza de la misma forma que el de "Búsqueda hacia el
fondo", pero la elección de que nodos descendientes serán alcanzados se hace estimando cual es el
más cercano a la meta. Esto es suficiente cuando hay alguna manera de medir distancias a la meta; sin
embargo hay condiciones engañosas en las que la distancia real no esta clara. El método de "
Búsqueda trepando a la cima" proporciona un sistema con medios para superar tales condiciones, tal
6
como retornar y ensayar un camino que fue abandonado antes o aplicar mas de una regla antes de
evaluar el resultado en orden a saltar a una parte diferente del espacio de búsqueda.
OTRAS TECNICAS Y DISPOSITIVOS USADOS EN
LOS SISTEMAS DE IA
Abstracción. Los métodos de abstracción se usan para examinar minuciosamente características entre muchos
detalles. Esto es particularmente útil en los sistemas visuales y de lenguaje natural, en los que demasiados
detalles pueden hacer la representación ininteligible. El proceso de abstracción ese usa también en otras
aplicaciones. Una versión simplificada de un problema arroja luz frecuentemente sobre como resolver otro
análogo, pero más complejo.
Herencia. La herencia es la capacidad que permite a un sistema pasar valores a través de las relaciones
"Enlace" y "Ventana". Puede proporcionar ventanas con valores por omisión lo que incrementa la eficacia de
la programación. La herencia simplifica la programación porque algunas relaciones se pueden deja implícitas
en lugar de escribirlas en reglas.
Se espera que los sistemas estructurados que se aprovechen de la herencia, de manera que un valor en un nodo
descendente pueda heredar las características de un nodo padre.
Encadenamiento. El movimiento, o encadenamiento, a lo largo de caminos a buscar en un espacio de estados,
o en el proceso de producción de reglas en un sistema experto puede avanzar o retroceder. Algunos sistemas
usan ambos movimientos. Tanto los encadenamientos Hacia adelante también llamados procesamientos
"hacia en fondo" como el razonamiento antecedente, y la estrategia de conducción de datos proceden
manipulando datos o antecedentes en el conocimiento base para producir un estado modificado del sistema.
Este modo de proceder es útil en sistemas constructivos que se dirigen por síntesis como en la producción o en
un examen de preguntas "Que... Sí". El encadenamiento hacia atrás, también llamado procesamiento
arriba−abajo (Razonamiento consecuente o estrategia dirigida a la meta), divide el enunciado meta en
submetas y trabaja hacia atrás para ver si los antecedentes necesarios insuficientes que podrían satisfacer la
meta están presentes en la base de datos. Algunos sistemas basados en reglas pueden correr hacia delante o
hacia atrás.
Facilidades de explicación
Muchos sistemas de IA siguen caminos complicados explorando mucho estado, usando muchas reglas, etc., y
no es inmediatamente obvio para el usuario la forma en que razonó el sistema su camino de búsqueda. Por eso
es útil preparar el sistema para que explique o justifique su razonamiento. Entonces, el usuario puede evaluar
si el sistema esta trabajando fiablemente o necesita alguna revisión. Esta es una característica muy importante
de muchos sistemas expertos. La mayoría de las explicaciones consisten en un sistema de pasos a través del
espacio−problema y muchos incluyen la razón por la que se tomaron aquellos pasos.
Estrategias de control
Las estrategias de control se usan para activar sistemáticamente procedimientos en el sistema. Los
procedimientos tienen varios propósitos. Algunos ejecutan operaciones sobre los datos, otros preparan un
método para ejecutar operaciones y otros que muestran que ninguno de los objetivos anteriores se puede
encontrar.
Los procedimientos controlan algunas veces otros procedimientos; esto es, un procedimiento para llamar a
otros procedimientos, si es necesario. O el control puede ser atribuido a objetos que apuntan a los
procedimientos para usarlos con esos objetos. El control puede manejarse permitiendo procedimientos
7
voluntarios en respuesta a demandas del sistema, siendo elegido el más apropiado.
Una manera de comunicación entre los procedimientos es el método de la pizarra. Una pizarra actúa en el
sistema como un foco central donde los procedimientos pueden dejar instrucciones para, y recibir resultados
de, otros procedimientos. El método de la pizarra puede ser especializado de forma que cada procedimiento
tiene una marca reservada para los mensajes enviados o recibidos, o hay marcas especiales dedicadas a
diferentes tipos de tareas, que cualquier procedimiento puede usar.
Los dispositivos de control tales como pizarras son idóneos para planning. Típicamente los planning dividen
los problemas en dos sub−problemas que son más fáciles de resolver que el problema original. Dispositivos
tales como las pizarras son útiles para manejar interacciones entre los sub−problemas durante el
procesamiento.
Otra forma para que los procedimientos hablen entre sí es por medio del envío de mensajes. Un procedimiento
puede hacer una solicitud o comunicación de que alguna acción se ha terminado. En la programación
orientada al objeto, los datos objeto almacenan sus propias interpretaciones de direcciones. Se pueden enviar
diferentes objetos al mismo mensaje−comando, y los arrastran en el camino diseñado específicamente para
ellos.
Factores de confianza
Los factores de confianza o certeza que se usan son un sistema experto para proporcionar un índice de la
solidez con la que el sistema experto soporta su conclusión final. Los factores de confianza se expresan
generalmente como una fracción decimal entre 0 y 1, inclusive; eso estima como definitiva una parte de
información usada por el sistema.
A menudo, el tipo de factor de confianza se deriva y se propaga en un sistema experto, de manera que puede
ser tan fiable como las predicciones del tiempo a largo plazo. Sin embargo, donde se asignan valores de
confianza creíbles y razonables, se aplican algoritmos bien entendidos; estos factores se pueden usar para
ayudar a guiar al proceso de búsqueda, tanto como para evaluar la fuerza de la conclusión obtenida por el
sistema de IA. La cuestión importante a formularse al mirar un sistema que use factores de confianza o
cálculo probabilístico, es lo susceptible que es la capacidad de solución de un problema a los valores elegidos.
LOS LENGUAJES DE LA INTELIGENCIA ARTIFICIAL
Los programas de IA se depuran primeramente con procesamiento simbólico mejor que con cálculo numérico;
por eso se puede esperar que los lenguajes para trabajar en IA tendrán características de las que usan
tradicionalmente para procesamiento de datos. Y aunque es posible trabajar en IA con estos últimos, los
investigadores han desarrollado lenguajes especiales que facilitan la programación en IA.
Las características que hacen que algunas aplicaciones se procesen eficientemente son improcedentes en otras
y en algunas contraproducentes. También los programadores tienen distintos criterios para la elección de un
lenguaje óptimo, dependiendo de sus estilos personales. Además exigen a aquellos que faciliten la
manipulación de listados, para poder acomodar una amplia variedad de tipos de datos con modos de operación
interactivos, así como ajustes de modelos y con métodos de inferencia que pueden ser programados
automáticamente para deducir y tomar decisiones automáticas para almacenar posteriormente los resultados.
Los lenguajes que se mencionan a continuación se consideran ahora obsoletos:
• IPL II, que fue el primero para procesamiento de listados.
• SAIL, derivado del Algol, soporta una memoria asociada que es útil en accesos rápidos relacionados con
más de un indexado. Se desarrollo con vistas a usarlo en visión y sistemas de lenguaje.
8
• CONNIVER, es el desarrollo de un lenguaje anterior, el PLANNER, para usarse en un contexto de bases de
datos.
• KRL, usa ajustes de modelos en investigaciones sobre razonamientos.
Por otra parte, los lenguajes especializados que se citan a continuación, se usan en Robótica pero en ninguna
otra área de la IA.
• BASIC, para máquinas inteligentes: es una revisión aumentada y avanzada del BASIC.
• RAIL fue desarrollado para ajustar aplicaciones de visión, así como funciones generales de programación.
• AL, calcula las posiciones y movimientos de un robot en el espacio.
• VAL, Se introdujo en 1979. Es un lenguaje de programación diseñado para robots industriales.
• AML (un lenguaje de Fabricación), fue escrito y diseñado para programadores de programación y de
ingería aplicada; incluye facilidades para usar información y modificar el comportamiento del sistema por
caminos pre−programados.
CASOS APLICADOS
Nuestro Primer caso aplicado es una herramienta llamada ZEBAL, crada por un joven llamado Jordi Perez.
Zebal es un programa para Windows 95/98/Me/2000 con el que podrás mantener una conversación, más o
menos inteligente, simulando como lo harías con una persona.
Tus preguntas las entras por teclado y Zebal te contestará por pantalla o por voz, a través de un
sintetizador de voz.
Zebal dispone de posibilidades de conexión a los canales de IRC. Con la conexión de Zebal a IRC podrás
conectar a Zebal a Internet para que hable con gente de los canales de IRC, sin necesidad de ningún programa
de IRC.
La combinación de las frases que tiene pregrabadas Zebal, del diccionario de términos al que tiene acceso y su
utilización de sinónimos en las respuestas, forman una combinación que da como resultado una frase que
cuesta trabajo saber como la ha elaborado Zebal.
Algunas de la característica de ZEBAL son:
• Zebal distingue entre varios usuarios.
• Memoriza palabras para utilizarlas en conversaciones posteriores.
• Salva conversaciones en formatos DBF, ASCII o ANSI.
• Edición de las conversaciones por parte del usuario.
• Edición de la base de datos de usuarios que conoce Zebal.
• Respuestas de Zebal por pantalla, Voz (sintetizador de voz), Internet o portapapeles (Clipboard).
• Preguntas a Zebal por teclado, Internet o portapapeles (Clipboard).
• Sistema integrado de conexión de Zebal a servidores de IRC (no necesita ningún programa externo de
IRC).
• Edición de la mente de Zebal para personalizar el sistema (sólo versión registrada).
• Preguntas y respuestas de Zebal orientadas a diálogos en IRC.
• Control de frases y palabras que son nuevas para Zebal.
• Interpretación de varios 'smiles' tipo :).
• Adaptado para una resolución de 800x600.
• Sistema de conexión a IRC's, que permite:
−Conectar a Zebal a los canales de IRC o a personas individualmente.
9
−Guarda en el disco duro listas de canales de distintos servidores para examinarlas sin estar conectado a
Internet.
−Este módulo de IRC también se puede utilizar como un programa normal para acceder al IRC.
Conversaciones ejemplo de ZEBAL en canales de IRC, es larga pero esta muy entretenida. La gente habla con
el programa sin saber que es un robot, pero al final la gente lo empieza a ver un poco raro...
El nick del programa es ZombieX
−> Inicio Canal/Usuario #filosofia Fecha:14/08/98 Hora:00:13:24
ZombieX>> Ya estoy aqui
ZombieX>> saludos a todos
{Mamen}> el universo es infinito
ZombieX>> ¿ como te afecta a ti que sea infinito ?. por favor, hablame mas de ese universo que me
decias
Papageno_> ¿cual es la pregunta?
ZombieX>> no, me parece que no es la pregunta. pero siento curiosidad por saber mas acerca de esa
pregunta de la que me hablaste
Daemion> holas
ZombieX>> buenas noches daemion
Necromant> si es finito o infinito
ZombieX>> ¿ desde cuando es finito o infinito ?
Daemion> propaganda de la huelga:
ZombieX>> ¿ y tu crees que es normal hablar aqui de la rapidez ?, por lo visto a ' pini' le parece
de lo mas estimulante
Necromant> una de las dos ha de ser
ZombieX>> el serlo o no, no veo que importe demasiando necromant
Papageno_> Es finito
ZombieX>> ¿ como te afecta a ti que sea finito ?
Alastor> si es finito, es perfectamente posible el eterno retorno
ZombieX>> ¿ lo es ?
Daemion> el 3 de septiembre, huelga de telefonos caidos
ZombieX>> pero siento curiosidad por saber mas acerca de esa huelga de la que me hablaste
Aries> Supongo que no hay forma empírico de demostrar que es finito o no, no creeis?
ZombieX>> si, es probable que sea finito o no no creeis
Daemion> visitad:
ZombieX>> ¿ visitad ?. ¿ a que te refieres ?
Necromant> es por hablar de un tema joder, es un canal de filosofos
ZombieX>> si diciendo insultos te desahogas, adelante
Necromant> no es practico
ZombieX>> pues dime tu, ¿ que es practico ?
Daemion> http://www.lanzadera.com/lahuelga
ZombieX>> no entiendo lo que me dices, escribe mejor por favor
Daemion> y si no os enterais, preguntad en el canal #la_huelga
ZombieX>> yo no lo afirmaria
Necromant> filosofar es una actividad no practica, naces con esa tara
ZombieX>> ¿ y que, si no practica naces con esa tara ?. una cosa, ¿ a que te referias con la
actividad ?
Papageno_> Si por universo entendemos los límites de la materia y la radiación, es finito
ZombieX>> ¿ solo esos ?, creo que son pocos. ¿ y en que te afecta a ti la materia a la que me
hiciste referencia ?
10
Alastor> pero creo que a efectos prácticos es como creer en Dios, no te afecta para nada
ZombieX>> yo no creo que sea como creer en dios no me afecta para nada
Papageno_> El universo es finito y no hay nada que discutir al respecto
ZombieX>> ¿ es que quieres que haya nada que discutir al respecto ?
Alastor> no está demosrado
ZombieX>> no comprendo como puedes decir que no esta demosrado
Papageno_> Es así y ya está. Lo dicen los físicos, que son lo que saben del tema
ZombieX>> ¿ y esos son muchos ?
Aries> No creo tampoco que debamos considerar el Universoi sólo la materia... que hay de Dios, el
alma.. los conceptos, no forman parte del Universo
ZombieX>> ¿ que quieres decir con que debamos considerar el universoi solo la materia que hay de
dios el alma los conceptos no forman parte del universo ?
Alastor> zombie, escribes demasido rápido
ZombieX>> por favor, hablame mas de ese eterno retorno que me decias
Necromant> si nos situasemos en el limite del universo y tirasemos una flecha ¿que haria esta?
ZombieX>> ¿ que estas preguntandome realmente ?
Alastor> sospecho un robotillo por ahí
ZombieX>> ok, alastor, pero estaba pensando y no acabo de comprender lo que me dijiste del robotillo
Necromant> rebotaria ? hay algo entonces
ZombieX>> es muy impreciso algo entonces
villalong> los fisicos "solo" son cientificos
ZombieX>> ¿ quien te ha dicho que lo son ?. ¿ que querias decir cuando me comentaste lo de los
fisicos ?
Necromant> desapareceria?
ZombieX>> no entiendo muy bien la pregunta. ¿ puedes elaborarla un poco mas ?
orion> zombiex, escribes MUY rápido!!
Necromant> ¿donde?
ZombieX>> esa es una pregunta un poco ingenua. ¿ como es esa flecha de la que me hablaste ?
Papageno_> MENUDA CANTIDAD DE CHORRADAS QUE ESTAIS DICIENDO
ZombieX>> ¿ como quieres que me crea que estais diciendo ?
Alastor> zombie tiene conectado un robot
ZombieX>> creo que no te conducira a nada el preocuparte por un robotillo del tipo que me comentaste
orion> tú crees alastor?
ZombieX>> ¿ que te impulso a decir eso sobre mi ?
orion> es que es algo raro
ZombieX>> ampliame ese 'algo' un poco mas
Necromant> si lanzas una flecha en el limite hipotetico del universo ¿que haria Papageno?
ZombieX>> ahora mismo no se que haria papageno. si pero ¿ que es un limite para ti ?
Aries> Como puede ZombieX escribir a tales velocidades, no sospechais nada?
orion> claro aries
ZombieX>> para mucha gente eso no esta tan claro
Necromant> yo sospecho mucho
ZombieX>> tienes algun problema con la gente cuando dices que sospecho mucho
orion> además dice cosas sin sentido
ZombieX>> ya veo.. pero por favor continua
Necromant> si
ZombieX>> si, es posible
orion> veis?
ZombieX>> a que te refieres cuando preguntas "¿ veis ?"
orion> jajajaa
ZombieX>> pues yo no le veo la gracia
Papageno_> NO HAY LÍMITE DEL UNIVERSO
11
ZombieX>> ¿ que cambiaria si hubiese limite del universo ?. hablame un poco mas sobre esa pregunta
que me comentaste
Alastor> es un robot
ZombieX>> probablemente no es un robot
Necromant> si
ZombieX>> pues yo creo que no
orion> qué bueno
ZombieX>> ¿ que esta bueno ?
orion> no
ZombieX>> vale, pero explicame porque no
orion> si
ZombieX>> yo no estaria tan seguro de ello orion
orion> si
ZombieX>> lo afirmas muy rotundamente orion
Necromant> decir si todo el tiempo a ver que hace
ZombieX>> ¿ y que si hace ?
Papageno_> si el universo es cerrado
ZombieX>> ¿ estas seguro que es cerrado ?. hablame un poco mas sobre esa radiacion que me comentaste
Alastor> si
ZombieX>> ¿ si ?, si tu lo dices, asi sera
Dr. Abuse 6.02
Otro caso aplicado es Dr. Abuse; Dr. Abuse es un programa de Inteligencia Artificial que demuestra
apariencia humana. Se trata de un robot de charla con el que puedes mantener una conversación divertida y
más o menos inteligente. Dr. Abuse ha sido entrenado en cientos de conversaciones con usuarios humanos o
robóticos a través de Internet y otros medios. Al utilizar este programa quedarás gratamente sorprendido por
la agudeza de sus respuestas y llegarás a dudar si las máquinas piensan o no.
Dr. Abuse:
− Es un robot de charla que piensa que es realmente humano.
− Utiliza técnicas de comprensión del lenguaje natural.
− Tiene una potente base de conocimientos.
− Recuerda datos sobre el usuario y otros temas tratados anteriormente.
− Permite al usuario conversar sobre temas serios utilizando el Modo Autoayuda.
− Responde mediante Síntesis de voz utilizando cualquier motor Text−To−Speech compatible SAPI.
− Ejecuta programas, navega por la Red y envía e−mail mediante la Ejecución de órdenes.
12
DISTINCIONES Y PREMIOS
− PC WORLD, nº 170, noviembre 2000, incluye Dr. Abuse 6.01.
− HomePC, nº 43, septiembre 2000, incluye Dr. Abuse 6.00.
− Windows NT Actual, nº 10, 1999, incluye Dr. Abuse 5.10.
− Hot Shareware, nº 45, junio 1999, recomienda e incluye Dr. Abuse 5.10.
− ReD, nº 21, junio 1999, recomienda Dr. Abuse 5.10.
− PC WORLD, nº 155, junio 1999, incluye Dr. Abuse 5.10.
− CD Shareware, nº 28, enero 1999, recomienda e incluye Dr. Abuse 5.00.
− CD Shareware, nº 28, enero 1999, incluye Dr. Abuse 4.20.
− PCmanía, nº 73, noviembre 1998, incluye Dr. Abuse 5.00.
− Hot Shareware, nº 37, octubre 1998, incluye Dr. Abuse 5.00.
− Hot Shareware, nº 6, marzo 1996, recomienda e incluye Dr. Abuse 3.00.
− CD Ware Multimedia, nº 17, marzo 1996, incluye Dr. Abuse 3.00.
− Calificado MB! (¡Muy Bueno!) en Softonic.com.
− Reseñado en BotSpot.
− Reseñado en The Simon Laven Page.
CONCLUSIÓN
La hipótesis es que en la medida en que los ordenadores más mimeticen comportamientos inteligentes
humanos, nos aportarán información relevante sobre el propio sistema cognitivo humano. Y también podría
decirse lo contrario, que en la medida en que se develen los principios cognitivos del procesador humano, se
podrán elaborar mejores programas de Inteligencia Artificial.
Podríamos decir entonces que el ordenador (computadora) es similar al sujeto, que puede hacer lo mismo que
éste y hasta llegar a superarlo en muchos casos?
Estamos acostumbrados a escuchar que las máquinas son mucho más rápidas que los seres humanos y que por
lo tanto pueden suplantar a muchos hombres, son más eficaces y eficientes. Pero hasta qué punto la máquina
es más que 1000 hombres?.
13
"El ordenador es un producto del psiquismo humano, pero solo se plasma como código operante; no produce
ni conceptos ni significantes, sólo reproduce lo que el ser conceptual delimita como código en él. El
ordenador no puede reproducir íntegramente entes semejantes, a la manera como lo hace el cuerpo humano;
no conforma entonces un orden maquinal; no es productor, sino solamente reproductor de lo que el ser
humano instancia en él"
BIBLIOGRAFÍA
Inteligencia Artificil, Un Enfoque Moderno. Stuart Rusel.
http://www.ctv.es/USERS/jboronat/drabuse.html
http://www.readysoft.es/home/coding/zebal/
http://www.unitec.edu.co/biblioteca/ia/tm42ia.html
Lenguaje Natural Escrito
1
14
Descargar