0Figura 1.2. Estructura de un sistema experto.

Anuncio
1. CARACTERÍSTICAS Y BASES
La inteligencia artificial (IA) es algo que fascina a muchas personas, especialmente
aquellos que creen que los computadores serán capaces de concebir por sí mismos lo
que para los humanos algunas veces es complejo: la planeación, la toma de decisiones,
el razonamiento abstracto, eleiminación de juicios subjetivos, etc.; y una vez hecho
esto, el paso al autoaprendizaje sería la meta. Pero por la evolución de la tecnología y
el creciente incremento de capacidad en los ordenadores personales, comienza a ser
realidad programas que muestran características de inteligencia. La posibilidad de
construir una máquina que pueda rivalizar o superar la capacidad de razonamiento del
cerebro humano potencia la imaginación del ser humano.
Los esfuerzos de la IA se enfocan hacia la comprensión y construcción de entes que
presenten inteligencia; es decir, construir sistemas o agentes inteligentes que
desarrollen actividad mentales, solucionen problemas complejos y provean
explicaciones amplias; en otras palabras, se busca construir máquinas que hagan
aquello que, al parecer de otros, es tener inteligencia. La IA utiliza herramientas
teóricas y experimentales de las ciencias de la computación para estudiar el fenómeno
del comportamiento inteligente y el desarrollo de los sistemas respectivos. La IA
comenzó como resultado de investigación en sicología cognitiva y lógica matemática.
Se ha enfocado sobre la explicación del trabajo mental y construcción de algoritmos
para solucionar problemas de propósito general1.
La eficiente utilización del computador está limitada tanto al conocimiento y
aplicabilidad de los lenguajes de programación como al paradigma de comunicación
hombre-máquina, esta limitación busca superarse desarrollando herramientas que
permitan una comunicación en lenguaje natural, con una representación de
conocimiento y procesamiento no algorítmico y paralelo. Sin embargo, una aplicación
es desarrollar programas computacionales que solucionen problemas a partir de una
continua interacción entre la máquina y el hombre, que las máquinas "aprendan" de los
hombres para realizar mejor su labor. Para que una máquina aprenda, debe poder
representar lo que entiende. El conocimiento deberá estar integrado en algún tipo de
mecanismo: estructura de datos, bases de datos, bases de conocimiento, árboles de
decisión, estructuras lógicas, etc. La idea de construir máquinas que ejecuten tareas
percibidas simbólicas de la inteligencia humana es un atractivo2. Las tareas estudiadas
1
En el anexo A se muestran con mayor claridad los resultados que se han dado en las
investigaciones en IA, como las perspectivas.
2
Aunque muchas preguntas nos inquietan y nos incitan a investigar, otras llevan a soñar, a pensar, a
Inteligencia artificial
incluyen juegos, traducción y comprensión de idiomas, diagnóstico de fallas,
cognición, asesoría experta en diversos temas.
Las compañías requieren expertos en muchos campos para solucionar problemas,
plantear desarrollos tecnológicos o técnicos, gestionar conocimiento, tomar decisiones,
realizar planes, ... pero ellos son escasos, no se hallan alrededor; tienen poco tiempo o
cuestan demasiado. Para solucionar el problema del recurso humano, se ha hecho
imprescindible construir sistemas capaces de almacenar millones de hechos de
experiencia, proveer su recuperación por procedimientos que generen conocimiento,
den explicaciones del porqué, cómo, qué, cuándo, y sepan distinguir cualidades que
presentan los objetos.
Hasta 1981 muchos centros desarrollaban investigación en el campo de la IA con los
recursos propios. Esto cambió cuando el gobierno japonés lideró una investigación
para identificar los requerimientos para la década del 90. Aprovechando el temor a un
posible dominio por parte de los Japoneses, empresas e investigadores obtuvieron
apoyo. La investigación japonesa3 planteó que debía buscarse cuatro metas
fundamentales:
1.
2.
3.
4.
Incrementar la productividad en áreas poco productivas como:
a. Procesamiento de documentos.
b. Administración de oficinas.
c. Administración y toma de decisiones.
Competir y contribuir internacionalmente.
Contribuir al ahorro de energía y recursos.
Hacer frente a una sociedad envejecida.
Esto es, buscar una efectiva educación y en particular proveer por medio del
computador el aprendizaje continuo.
A partir de ello surgieron proyectos para el desarrollo de sistemas computacionales,
lenguajes y herramientas de mayor poder. Revolución que llevó al procesamiento de
conocimiento, realización de programas para Instrucción Asistida por Computador
(IAC), generación de Sistemas Expertos (SE), creación de Máquinas Inteligentes que
trabajen con lenguaje natural y tengan características humanas: decidan, piensen,
buscar nuevas estrategias y hasta imaginar estados futuristas, todo por las capacidades que posee el
cerebro humano. De hecho, parece que la naturaleza compensó con creces la aparente ineptitud física
humana con la capacidad de razonar, imaginar, pensar y comprender mejor que cualquierotra especie.
¿Qué pasaría cuando una máquina piense? ¿Llegarán a construirse máquinas con capacidades
superiores al ser humano?
3
La investigación se desarrolla principalmente en tres campos: hardware, software y aplicaciones. En el
campo de hardware se concentra en una arquitectura de computadores caracterizada por inferencia
secuencial y/o paralelo y el desarrollo de máquinas para bases de datos afines. El grupo de software
investiga sobre el lenguaje que sea flexible, versatil; esto incluye sistema operativo, lenguaje natural y
representación del conocimiento. El tercer grupo combina los resultados de los dos primeros grupos en la
labor sobre sistemas de gestión de bases de datos y sistemas expertos para conseguir validar las teorías
propuestas.
Luis Carlos Torres Soler
4
Características y bases
hablen, oigan, vean, se muevan4; a trabajar en vida artificial y computación evolutiva,
neuronal o molecular.
El campo de la inteligencia artificial es diverso y multifacético al enfrentar problemas
científicos profundos y complejos y, al mismo tiempo, desarrollar tecnologías de uso
práctico. Científicos de diversas disciplinas incursionan gradualmente en la IA,
aportando conocimiento para solucionar problemas en su área a partir de técnicas y
métodos computacionales con razgos de inteligencia.
La solución de la mayor parte de los problemas puede considerarse una actividad
intelectual de generación y selección de soluciones alternativas, dentro de una gama de
soluciones posibles. Inspirándose en el modelo mental, la Inteligencia artificial
persigue metas como la del razonamiento simbólico. Puesto que una inferencia
corresponde a una etapa elemental de razonamiento, la capacidad de razonamiento de
un ordenador de este tipo se mide en Lips (Logical Inference per Second) y en sus
múltiplos (Klips, Mlips), de modo que un Lips es una inferencia silogística por
segundo. Se estima habitualmente que una operación de inferencia necesita de cien a
mil pasos, de modo que un Lips equivale a 100-1.000 instrucciones por segundo.
Para hacer frente a estas exigencias técnicas y a sus velocidades, ha sido menester
renovar las arquitecturas de los ordenadores. Al razonamiento secuencial corresponde
el flujo electrónico lineal en la máquina. Pues las arquitecturas paralelas, que conectan
varias máquinas capaces de efectuar muchas operaciones en paralelo en una misma red
de comunicación, rompen la relativa lentitud inherente al proceso secuencial, que
realiza sus operaciones una después de otra.
La inteligencia artificial (IA) es una disciplina que analiza los comportamientos
humanos en la percepción, comprensión y resolución de los problemas, con el objetivo
de reproducirlos mediante máquinas.
Como conjunto de facultades, resulta más pertinente la definición de Shallis, al
especificar que la inteligencia artificial es la capacidad de aparentar conciencia a
través del procesamiento de información racional o lógica.
Las bases de la inteligencia artificial residen en: 1) el conocimiento sobre los procesos
4
El ordenador de quinta generación tendría capacidad para el proceso de datos numéricos y no
numéricos (incluyendo, por lo tanto, el lenguaje natural, la escritura, los grafismos y las imágenes
icónicas). Supone por lo tanto, un paso definitivo desde una cuantificación (numerización) del mundo a
una visión que, junto a las cantidades, admite ciertas categorías cualitativas. Además, este ordenador
estaría capacitado para los procesos de aprendizaje, inferencia y asociación, capacidades muy
sofisticadas del ser humano. De conseguirse plenamente tales capacidades no sería descabellado afirmar
que el hombre habría sido capaz de construir un neocórtex órbito-frontal electrónico, culminando con
ello su ingeniería de simulacros antropomórficos. Logros hallados ha sido una máquina basada en el
conocimiento, llamada Delta que comprende un sistema de inferencia, un sistema de conocimiento, un
sistema de software y un sistema para el desarrollo de prototipos de software.
Universidad Nacional de Colombia
5
Inteligencia artificial
mentales del ser humano; 2) el conocimiento acerca de cómo seleccionar y utilizar el
mismo conocimiento (llamado metaconocimiento). Con estas bases, el objetivo
fundamental de la IA es reproducir las funciones de la inteligencia humana, mediante
las estrategias utilizadas para cumplir diversas funciones y de las que el hombre,
incluso el científico o el intelectual, es muy raramente consciente.
No existe una definición que posea amplia aceptación entre los investigadores por los
diferentes enfoques que se presentan, pero, algunas definiciones dadas de IA son:
La interesante tarea de lograr que los computadores piensen... máquinas con mente,
en su amplio sentido literal (Haugeland).
Disciplina científico técnica que trata de crear sistemas artificiales capaces de un
comportamiento que, de ser realizado por seres humanos, se diría que requiere de
inteligencia.
La automatización de actividades vinculadas con procesos de pensamiento humano,
actividades tales como toma de decisiones, resolución de problemas, aprendizaje...
(Bellman).
El arte de crear máquinas con capacidad de realizar funciones que efectuadas por
personas requieren inteligencia (Kurzweil).
El estudio de cómo lograr que los computadores realicen tareas que, por el momento,
los humanos hacen mejor (Rich & Knight).
El estudio de las facultades mentales mediante el uso de modelos computacionales
(Charniak & McDermott).
El estudio de los procesos que permiten percibir, razonar y actuar al ser humano
(Winston).
Estudio de los mecanismos de la inteligencia y las tecnologías que los sustentan
(Newell).
Intento de reproducir (modelar) la manera en que las personas identifican,
estructuran y resuelven problemas difíciles (Pople).
Un campo de estudio que se enfoca a la explicación y emulación de la conducta
inteligente en función de procesos computacionales (Schalkoff).
La rama de la ciencia de la computación que se ocupa de la automatización de la
conducta inteligente (Luger & Stubblefield).
La IA es la disciplina científica que se ocupa del estudio de las ideas que permiten ser
inteligentes a los ordenadores (Winston).
6
Luis Carlos Torres Soler
Características y bases
Todas estas definiciones, como puede apreciarse, presentan enfoques diferentes, cada
una es válida en su contexto, pero no necesariamente satisfacen los requerimientos en
un amplio campo. No es posible dar una definición universalmente aceptable de IA, lo
cual no es de extrañar ya que tampoco existe una definición aceptada en forma general
de inteligencia [humana]. Pero los procesos y mecanismos en desarrollo buscan que el
computador llegue a ser inteligente. La definición de IA en este documento es: rama
de la computación que se encarga, entre otras cosas, de los problemas de percepción,
razonamiento y aprendizaje en sistemas artificiales, y que tiene como áreas
complementarias: sistemas expertos y de conocimiento, robótica, lenguajes naturales,
redes neuronales, lógica difusa, entre otras.
"El grado de inteligencia que se atribuye al comportamiento de algo
está determinado tanto por nuestro propio estado mental
y nuestra capacitación como por las propiedades del objeto que se analiza"
Alan Turing.
0Figura 1.1. Ciencias y áreas para la inteligencia artificial.
Una de las características de los métodos de la IA es el uso de símbolos. Además, que
el comportamiento en los programa no es descrito por algoritmos, se trata de un
conjunto de pasos necesarios para resolver un problema dado sin definirse cuál es la
secuencia. El razonamiento dependiente del conocimiento, implica programas que
incorporan factores y relaciones del mundo real y del ámbito del conocimiento en que
Universidad Nacional de Colombia
7
Inteligencia artificial
opera.
La IA es una combinación de la ciencia de la computación, fisiología, sicología y
filosofía, tan general y amplia como eso, reuniendo varios campos (robótica, sistemas
expertos, ...), todos teniendo en común la creación de máquinas que puedan "pensar"5
(ver figura 1.1).
Cada ciencia con su propio método de trabajo y de verificación ha logrado escalar
peldaños muy importantes, liderando continuamente los paradigmas que las sustentan.
Con el advenimiento de las ciencias de la información (informática) y la mecanización
de la misma, nace la IA. Es un reto a la propia creatividad y un medio ejemplar para
refinar el conocimiento humano.
La sicología y la filosofía se ocupan de la inteligencia humana; la IA se encamina tanto
a la construcción de entidades, agentes o sistemas inteligentes6, como a su
comprensión.
La IA difiere mucho de la sicología dado que aplica con énfasis la computación, y
difiere mucho de las ciencias de la computación por la atención que presta a la
percepción, al razonamiento y a la acción.
La filosofía tiene una relación amplia con la IA, ya que buscan formalizar el sentido
común:
1.
2.
3.
4.
5.
5
Construir una visión del mundo en un programa no le da la habilidad al
programa de expresar explícitamente esa visión.
El sentido común requiere de una formulación científica.
Se requiere una formalización, pero la estructura fundamental del mundo
todavía no se conoce; por tanto, exige formulaciones imprecisas y a veces
inconsistentes.
Se requieren conceptos que tienen sentido sólo en teorías aproximadas. Se
necesita un formalismo que permita ir mas allá de las aseveraciones hacia un
siguiente nivel de aproximación cuando sea posible y necesario.
Existen dos formas genéricas de hacer programas: i) empíricamente (teorías
que concretan datos con acciones); ii) realísticamente (hechos que existen
independientemente del programa y que la realidad no es sólo lo que
interactúa con el programa). Ésta última es el interés de la IA.
Para clasificar una máquina de "pensante", es necesario determinar elementos de la inteligencia que
impliquen resolver problemas complejos, hacer generalizaciones o relaciones, percibir, entender o
comprender.
6
Un agente o entidad inteligente es algo capaz de percibir y actuar. Entender algún lenguaje natural,
reconocer imágenes, encontrar la mejor manera de resolver un problema, encontrar la ruta óptima para
llegar a un objetivo específico, etcétera, actividades inherentes al razonamiento humano y que podría
realizar un agente inteligente.
Luis Carlos Torres Soler
8
Características y bases
La lingüística ofrece teorías sobre la estructura y significado de los lenguajes naturales
y de la computación.
Durante siglos de la matemática han surgido teorías formales relacionadas con la
lógica, la probabilidad, la toma de decisiones, la computación y otras que facilitan la
solución de gran cantidad de problemas, que en general, para su solución se requiere
inteligencia.
La robótica estudia el desarrollo de máquinas capaces de realizar procesos mecánicos
repetitivos y tareas manuales que efectúa el hombre. La robótica es la conexión
inteligente entre la percepción y la acción [Brady M.]. Es una síntesis entre la
automática y la informática. La IA sería centrarse únicamente en habilidad mental
humana, mientras que la robótica dirige sus esfuerzos a producir comportamientos
físicos animados.
La IA tiene aplicación en la robótica cuando se requiere que un robot "piense" y tome
una decisión entre dos o más opciones; entonces, ambas ciencias comparten algo en
común. El robot se define: "un agente artificial, activo, cuyo entorno es el mundo
físico"7. Con el término activo se descarta de la definición a los objetos inanimados;
con el término artificial se descarta a los seres vivos; con el término físico se descarta a
los agentes constituidos únicamente por software.
La robótica es un área de investigación multidisciplinaria8. El diseño de robots requiere
conocer estructuras, materiales, cinemática, dinámica, actuadores, sensores, control y
programación, entre otros. Los sensores son las herramientas de la percepción de los
robots porque les permite, al igual que los humanos, saber dónde se localizan los
objetos y qué acciones tomar según el entorno.9 Isaac Asimov propuso en sus obras de
7
La palabra robot procede del término checo robota (trabajador, siervo) utilizada por el escritor checo
Karel Capek en 1920. En la actualidad, el término se aplica a todos los ingenios mecánicos, accionados y
controlados electrónicamente, capaces de llevar a cabo secuencias simples que permiten realizar
operaciones tales como carga y descarga, accionamiento de máquinas; ensamble, soldadura, torno,
pintura, ...
8
Importante aclarar que existe una gran diferencia entre robótica y cibernética. La cibernética es una
ciencia interdisciplinaria que trata la comunicación y el control en organismos vivos, máquinas u
organizaciones. El término es una derivación del vocablo griego kybernetes que significa gobernador o
piloto, y fue aplicado por primera vez en 1948 a la teoría del control de mecanismos por el matemático
americano Norbet Wiener. En el cuerpo humano, el cerebro y el sistema nervioso funcionan para
coordinar la información, la cual es utilizada para determinar el futuro curso de una acción; controlar los
mecanismos para la autocorrección en máquinas que sirven con un propósito similar. Este principio se
conoce como retroalimentación, el cual es fundamental en la automatización. La cibernética se aplica en
la sicología, servomecanismo, economía, neuropsicología, ingeniería en sistemas y al estudio de sistemas
sociales.
9
Se entiende por robot industrial a un dispositivo de maniobra destinado a ser utilizado en la industria y
dotado de uno o varios brazos, fácilmente programable para cumplir operaciones diversas con varios
grados de libertad y destinado a sustituir la actividad física del hombre en las tareas repetitivas,
monótonas, desagradables o peligrosas. Robot Institute of America (RIA) define al robot como "un
manipulador multifuncional reprogramable, diseñado para mover materiales, partes, herramientas o
Universidad Nacional de Colombia
9
Inteligencia artificial
ciencia ficción las siguientes leyes para un robot:
Ley cero: un robot no puede atentar contra la humanidad o, por inacción,
permitir que la humanidad sea lastimada.
Ley uno: un robot no lastimará a un ser humano, o por inacción, permitir que
un humano sea lastimado, a menos que éste viole una ley de mayor jerarquía.
Ley dos: un robot debe obedecer órdenes dadas por humanos, excepto cuando
estas órdenes entran en conflicto con una ley de mayor jerarquía.
Ley tres: un robot debe proteger su propia existencia si no entra en conflicto
con una ley de mayor jerarquía.
Muchos problemas se encuentran en la intersección de la IA y la robótica, que sólo
combinando técnicas de ambos campos se logra diseñar máquinas inteligentes. Hay
igualmente áreas de conocimiento y estudio común:
La visión (percepción): estudia la identificación, inspección, localización y
verificación de objetos. Para el robot, es una necesidad poder "ver".
Las máquinas serán capaces de reaccionar a su entorno por influencias recibidas a
travéz de sensores y dispositivos de interacción con el exterior.
Entre los grandes retos perceptivos que se plantea resolver el de la visión artificial o
visiónica, cuyo órgano pionero fue el Perceptrón (1958) de Frank Rosenblatt, el cual
utilizó una red de neuristores, circuitos eléctricos destinados a modelizar neuronas.
Los sensores utilizados para la visión artificial suelen ser cámaras, cuya señal de vídeo
es digitalizada para poder ser tratada con métodos informáticos. El gran problema de la
visión artificial es un problema semántico, es decir, el del reconocimiento de las
formas visuales, que tiene que basarse, como el aprendizaje visual humano, en la
clasificación categorial de la información por sus rasgos más pertinentes y definitorios.
La meta de la visiónica es que la visión de la cámara de vídeo, como simulacro de la
mirada humana, sea capaz de interpretar y reconocer las formas gracias a su conexión
con un ordenador. La visión artificial, como prótesis óptica de la máquina, supone un
dispositivos especializados a través de movimientos variables programados para la performance de una
variedad de labores". Esta definición indudablemente no abarca todas las posibilidades de aplicación
presente y futuras de los robots, sin embargo, hoy día los robots realizan un conjunto de movimientos
previamente programados y la sucesión deellos están en función del fin que se persigue, siendo
fundamental el almacenamiento de las secuencias correspondientes a los diversos movimientos. Se
presenta el caso en que las piezas o partes a ser manipuladas no poseen posiciones prefijadas, en este
caso el robot debe reconocer la posición de la pieza y actuar u orientarse para operar sobre ella en forma
correcta, es decir, posee un sistema de control adaptativo. Si bien no existen reglas acerca de la forma
que debe tener un robot industrial, la tecnología incorporada a él está perfectamente establecida y en
algunos casos esta procede de las aplicadas a las máquinas.
Luis Carlos Torres Soler
10
Características y bases
universo visual y un imaginario del que el hombre está excluido, a menos que conecte
a la máquina una pantalla de visualización para espiarla. Desde ahora, la memoria
icónica ya no es privilegio exclusivo de los seres vivos.
Los juegos (razonamiento): estudia aquellos problemas cuya resolución no necesita
explicación y justificación, sino que deben cumplir un conjunto de reglas.
El habla: busca identificar la voz de quién está comunicándose, como proveer sonidos
que simulen la voz a fin de "conversar" con el usuario. Las tecnologías del habla se
encuentran en desarrollo e introducción en nuestro entorno cotidiano. El habla, medio
de comunicación por excelencia entre los seres humanos, comienza a ser utilizada
como medio de comunicación entre máquinas y seres humanos. Dentro de esta
tecnología se engloban entre otros los procesos:
a.
b.
c.
d.
e.
f.
Codificación de voz. Comprensión de la información de la señal de voz para
trasmitirla o almacenarla en forma digital.
Síntesis de voz. Proveer sonidos sintéticos de una señal para trasmitir un
mensaje desde una máquina.
Reconocimiento automático del habla. Extraer el mensaje transportado por una
señal de voz.
Verificación e identificación de la persona. Verificar o identificar la identidad
de una persona por el habla.
Traducción automática. Reconocer el mensaje de una persona hablando en un
idioma y traducir el mensaje a otro idioma.
Identificación del lenguaje. Identificar el idioma que utiliza una persona
hablante.
El movimiento: capacidad por poseer brazos y piernas a fin de desplazarse de un lugar
a otro.
Procesamiento de lenguaje natural (PLN): estudia el uso del lenguaje natural como
medio de comunicación con las máquinas; intervienen procesos como: comprensión
del lenguaje, el habla, la traducción y la síntesis.
Uno de los rasgos más marcados en los humanos es el del lenguaje; la cultura afecta el
pensamiento y la actuación de una persona y a partir de ello, el individuo realiza una
representación del mundo y estructura modelos de la realidad. Con base en estos
argumentos, la IA ha centrado gran parte de sus esfuerzos en la comunicación en
lenguaje natural con la máquina. Sin duda, lo más preocupante es la comunicación
hombre-máquina en lenguaje natural para que el usuario determine soluciones a un
problema de una manera clara y directa, provea conocimiento y no datos, y que la
máquina sea capaz de realizar inferencia sobre lo que el usuario dice.
El reconocimiento del lenguaje natural, a través de la palabra hablada, presenta algunas
dificultades complejas, pues implica un reconocimiento de los sonidos de la voz (y la
Universidad Nacional de Colombia
11
Inteligencia artificial
eventual identificación de su emisor), del vocabulario y de las leyes gramaticales, lo
que conduce a la meta final de descifrar su sentido. Pero el problema de los diferentes
contextos socioculturales en que se produce la emisión verbal, que determinan
diferentes sentidos, así como el de los giros o locuciones atípicas, ambiguas,
coloquiales, dialectales, metáforas, juegos de palabras, etc., plantean enormes
problemas al automatismo de la interpretación semántica.
Aprendizaje: por lo general, la inteligencia que posee un agente es algo que le ha dado
su diseñador, pero los procesos dados no son el mejor método ya que el mundo físico
no es lineal y además es poco predecible; es decir, existen variables que no pueden
determinarse con facilidad. Cuando el diseñador del agente desconoce el ambiente en
el que va a interactuar, el único camino que dispondrá el agente es el del aprendizaje.
El aprendizaje del agente utilizaría la experiencia buscando autonomía y alto
desempeño en el dominio. El aprendizaje se produce como resultado de la interacción
entre el agente y el mundo, y de la observación por el agente de sus propios
procedimientos de toma de decisiones. El aprendizaje está en la memorización de
experiencias, la creación de procesos, teorías y reglas.
Redes neuronales: están constituidas por nodos o unidades, comunicadas mediante
conexiones. A cada conexión se le asigna un peso numérico. Los pesos constituyen el
principal recurso de memoria de la red neuronal y el aprendizaje se realiza usualmente
con la modificación de estos pesos. Los pesos son modificados de manera que la
conducta de entrada-salida de la red esté acorde con la del ambiente que produce las
entradas. Algunas unidades se encuentran conectadas con el medio externo, y son
llamadas unidades de entrada, encargadas de percibir los estímulos y emitir los
estímulos o unidades de salida producto del procesamiento de la entrada.
Las principales características que diferencian a las redes neuronales de otras
tecnologías de inteligencia artificial son:
a.
b.
c.
12
Capacidad de aprendizaje a partir de la experiencia. Normalmente, para la
elaboración de un programa informático es necesario un estudio detallado de la
tarea por realizar para después codificarla en un lenguaje de programación. Las
redes neuronales se entrenan para efectuar una determinada tarea sin necesidad
de un estudio a fondo del problema, ni de programarlas, además, pueden ser
reentrenadas para ajustarse a nuevas necesidades de la tarea que van realizar, sin
tener que reescribir o elaborar el código, cosa que sí es muy frecuente en
programas tradicionales.
Velocidad de respuesta una vez concluido el entrenamiento. Se comportan como
lo hace el cerebro: los seres humanos no necesitamos pensar mucho para
reconocer un objeto, una palabra,... una vez que hemos aprendido a hacerlo.
Robustez, en el sentido que el conocimiento adquirido se reparte por toda la red,
de forma que si se lesiona una parte se continúa generando cierto número de
respuestas correctas.
Luis Carlos Torres Soler
Características y bases
Sistemas difusos: la lógica difusa es la rama que analiza y estructura información del
mundo real en una escala entre falso y verdadero. La lógica difusa toma conceptos
básicos como caliente o húmedo y les permite a los ingenieros construir televisores,
acondicionadores de aire, lavadoras y otros dispositivos que juzgan información difícil
de definir.
Cuando los matemáticos carecen de algoritmos para representar un sistema que debe
responder a ciertas entradas, la lógica difusa es una herramienta para controlar o
describir el sistema usando reglas de sentido común que se refieren a cantidades no
determinadas. Los sistemas difusos frecuentemente tienen reglas tomadas de expertos;
cuando no hay experto, los sistemas difusos adaptivos (adaptativos) aprenden las
reglas observando cómo se manipulan sistemas reales.
Sistemas expertos (SE): son programas de computador que buscan simular los
procesos intelectuales de los expertos humanos como: la interpretación, el diagnóstico,
la monitorización, el control, la predicción, la planificación, el diseño y la enseñanza,
entre otros.
Una interesante orientación que caracterizan los sistemas en IA es llamado principio
de generalidad:
Al tener una estructura lógica básica necesaria para solucionar un
problema, entonces, en principio, puede usarse la potencia del computador
para hallar la solución.
Este principio acepta que hay un método general para expresar y solucionar problemas
con conocimiento común.
Hoy día, los SE o sistemas basados en el conocimiento (SBC) son base para desarrollar
sistemas inteligentes directamente asociados con la representación de conocimiento y
procesos de razonamiento. La idea de la construcción de los SBC se simplifican en
dos:
a.
b.
La adquisición, la representación y el uso de conocimiento especializado.
El reconocimiento que los sistemas, además de resolver problemas, puedan
poseer atributos propios de expertos humanos10 como:
* Capacidad para adquirir nuevo conocimiento.
* Capacidad para justificar sus conclusiones.
* Capacidad de hacer preguntas y explicar por qué las hacen.
* Capacidad conversacional.
10
Lo que diferencia específicamente a una persona experimentada (experto) en una área del saber de
otra que no lo sea, radica tanto en el conocimiento concreto sobre el área en cuestión y en la capacidad
general para resolver problemas.
Universidad Nacional de Colombia
13
Inteligencia artificial
"Es imposible hacer algo a prueba de tontos,
porque los tontos son demasiado ingeniosos"
Roger Berg.
Algunas definiciones de SE11 según grandes investigadores de este campo son las
siguientes:
Programa de computador que reemplaza a un experto humano [Forsyth,
1986].
Sistema en que se ha incorporado conocimiento de forma que es capaz de
responder, explicar y justificar sus respuestas como una persona experta.
Un sofisticado programa de computador con capacidad de deducir y/o
simular la inteligencia humana usualmente escrito en algún lenguaje
orientado a IA.
Sofisticados programas de computador que manipulan conocimiento para
resolver problemas eficiente y efectivamente en un área reducida [Hayes,
1983].
Programas de computador que reproducen el comportamiento humano en un
estrecho ámbito del conocimiento.
Programas de computador que, apoyados en conocimiento y razonamiento,
desarrollan tareas difíciles que usualmente sólo las hacen expertos
(humanos).
Un programa diseñado para replicar el proceso de toma de decisiones de un
experto humano.
Los métodos generales desarrollados para la solución de problemas y técnicas de
búsqueda al inicio de la era de la IA demostraron no ser suficientes para resolver los
problemas orientados a aplicaciones, ni fueron capaces de satisfacer los difíciles
requerimientos de la investigación.
A este conjunto de métodos, procedimientos y técnicas, se lo conoce como
Inteligencia artificial débil. La principal conclusión que se derivó de este trabajo
inicial fue que los problemas difíciles sólo podrían ser resueltos con la ayuda del
conocimiento específico acerca del dominio del problema.
11
Los SE actuales en general no son capaces de obtener conocimiento por sí solos mediante la
experiencia, así pues no son realmente expertos, y es más correcto denominarlos Sistemas Basados en el
Conocimiento (Knowledge Based System), sin embargo se difundió la denominación de SE, y aquí
continuamos llamándolos así pese a la incorrección que se cometa. Una de las críticas a los SE, es que
sus programas van dirigidos a tareas específicas y carece, por tanto de la universalidad que caracteriza a
la auténtica inteligencia.
Luis Carlos Torres Soler
14
Características y bases
La aplicación de estas ideas dio lugar al desarrollo de los denominados sistemas
basados en conocimiento (Knowledge Based Systems) y al aparecimiento de la
Ingeniería cognoscitiva, como una rama de la IA, que estudia los sistemas basados en
el conocimiento. La definición de un sistema basado en conocimiento puede ser la
siguiente:
Es un sistema computarizado capaz de resolver problemas en el dominio en
el cual posee conocimiento específico.
La solución es esencialmente la misma que hubiera dado un ser humano confrontado
con idéntico problema, aunque no necesariamente el proceso seguido por ambos puede
ser igual.
El simple concepto dado, puede causar confusión ya que muchos sistemas basados en
programas convencionales podrían ser incorrectamente categorizados como sistemas
basados en conocimiento. Esta inconsistencia puede ser aclarada, sobre la base de tres
conceptos fundamentales que distinguen a los sistemas basados en conocimiento de los
programas algorítmicos convencionales y de los programas generales basados en
búsqueda:
a. La separación del conocimiento y el modo en que es usado.
b. La naturaleza del conocimiento empleado (heurística antes que algorítmica).
c. El uso de conocimiento específico de un determinado dominio.
Las características principales de los SBC son:
* Fácil modificación del conocimiento.
* Respuestas coherentes.
* Disponibilidad casi completa.
* Conservación del conocimiento.
* Capacidad de resolver problemas disponiendo de información incompleta.
* Capacidad de explicar los resultados y la forma de obtenerlos.
Los principales problemas asociados a los SBC en su desarrollo y ejecución son:
* Las soluciones no siempre son las mejores.
* Conocimiento limitado frente al dominio de un experto.
* Carecen del sentido común o criterio que puede tener un experto.
* Es difícil extraer todo el conocimiento que maneja un experto.
El proceso de construir un SE se estudia en la ingeniería del conocimiento12. La
12
La ingeniería del conocimiento es una especialidad que emplea los modernos métodos de la IA.
Algunos aspectos importantes del conocimiento son intangibles e inexplicables; el trabajo de los
ingenieros del conocimiento consiste, en parte, extraer conocimiento de los expertos humanos y, en parte,
codificar el conocimiento obteniendo, de manera que pueda ser procesado por un sistema. El problema es
que el ingeniero del conocimiento no es un experto en el campo que intenta programar, mientras que el
Universidad Nacional de Colombia
15
Inteligencia artificial
ingeniería del conocimiento, llamada también del saber o cognitiva nació en la década
del 80 como rama que estudia procesos para los sistemas basados en conocimiento. La
construcción típicamente involucra una especial forma de interacción entre el
constructor del SE, llamado ingeniero del conocimiento (IC), uno o más expertos en el
área del problema y los usuarios:
•
•
•
El IC diseña las estructuras computacionales adecuadas para la organización y
representación del conocimiento (bases de datos de conocimiento -BDC-, o
bases de conocimiento -BC-).
Los expertos comunican su conocimiento directa o indirectamente para
construir el sistema.
Los usuarios usan el sistema para resolver problemas o para aprender una vez
que el sistema ha sido desarrollado e implantado.
El IC debe entender ampliamente el mecanismo de inferencia del SE y poseer
excelente habilidad de comunicación interpersonal para extraer de un experto el
conocimiento necesario. Los IC son analistas de sistemas y "técnicos sicólogos"
quienes deducen cómo manejan el conocimiento y la información los expertos;
entienden cómo un experto desarrolla y aplica teorías, deducciones, lógicas, procesos;
llega a las reglas básicas y hechos no obvios que el experto manipula; traslada la
información a alguna estructura para que el sistema la entienda (por ejemplo, ¿cómo el
sistema entenderá una explicación de horticultura para plantar semillas y hallar la
mayor tasa de crecimiento en el menor tiempo?; ¿cómo el sistema explicaría cuál es la
mejor composición vitamínica a darle a un paciente?).
Reglas de expertos en el trabajo por un buen número de años, llamadas heurísticas, se
derivan al realizar una exhaustiva observación en esas personas expertas. Junto con el
conocimiento general (hechos), las reglas disponibles en libros y las heurísticas se
almacenan en una base de conocimiento (hechos y reglas) y el software especializado
se encarga de aplicar dichas reglas para deducir conocimiento.
Por esta razón, el IC debe poseer adecuados conceptos, teorías y habilidades para
localizar y estructurar conocimiento en el computador, manejo de las estructuras y
lenguajes computacionales para desarrollar efectivos SE. Los rasgos principales del IC
son:
*
*
*
Experiencia en representación y adquisición de conocimiento y procesamiento
del pensamiento.
Conocimiento de las implicaciones sicológicas de tomar decisiones y
solucionar problemas.
Gran experiencia en intervención e interpretación.
experto en el tema no tiene experiencia programando, y en cualquier otro caso este último usa muchas
veces su conocimiento de manera subconsciente, por lo que es incapaz de proporcionar la información de
manera voluntaria aunque lo desee.
Luis Carlos Torres Soler
16
Características y bases
*
Una grata y persistente personalidad orientada a escuchar.
Un IC debe desarrollar suficiente experiencia en un campo para conversar con
expertos, entender lo que dicen y extrapolar la información. El nivel de experiencia es
determinado por lo que el experto le cede al IC.
Muchos IC afirman que un experto13 es quien:
*
*
*
*
*
Ha adquirido un amplio conocimiento en un campo específico (habilidad para
usar 50.000-100.000 diferentes ítem de información, práctica hallada en un
período de 10 a 20 años).
Posee suficiente conocimiento en muchos campos relacionados.
Conoce cómo buscar conocimiento base rápidamente para llegar a una
razonable y segura conclusión.
Puede solucionar eficiente y efectivamente con facilidad problemas que para
muchas personas resultan demasiado complejos.
Tiene autoridad en el campo del conocimiento que maneja (ranking).
Características de los sistemas expertos. Como todo sistema, los SE tienen
características14 que pueden resumirse en:
a.
b.
c.
d.
El conocimiento es explícito y organizado; el conocimiento se completa poco
a poco. El conocimiento es su corazón.
Provee un alto nivel de experiencia para ayudar a solucionar problemas.
Posee potencia para producir modelos. El sistema puede actuar como un
procesador de información teórica o por modelos para solucionar problemas
en un dominio, dar las respuestas de acuerdo con la situación y realizar
cambios cuando existen nuevas situaciones.
Son programas muy rentables y productivos dada la característica de no
envejecer y adaptarse a las necesidades, criterios, políticas,... de cada
momento o situación.
Ventajas de los sistemas expertos. Los sistemas expertos ofrecen ventajas como:
a.
b.
c.
Ayudar a la capacitación y prestar asesoría.
Encargarse de tareas rutinarias. Las personas se concentran en actividades más
importantes.
Almacenar y combinar conocimiento de varios expertos.
Por estas y muchas razones más, los SE tienen ventajas sobre los humanos. La tabla
13
"Es una persona que cada vez sabe más cosas, sobre menos cosas" (N. Butler). "Es una persona que ha
dejado de pensar, sabe" (F. Lloyd Wright). "Es un sabio práctico, hábil, que tiene experiencia en una
ciencia o arte" (Real Academia de la Lengua Española).
14
La medición de los resultados de un SE es difícil porque no se sabe cómo cuantificar el uso del
conocimiento.
Universidad Nacional de Colombia
17
Inteligencia artificial
1.1 muestra diferencias entre expertos y SE.
Tabla 1.1. Diferencias entre expertos y SE.
{PRIVADO }EXPERTOS
SISTEMAS EXPERTOS
Un experto muere. Depende de la actividad
mental y física para solucionar problemas.
Constantemente debe practicar para mantener
la eficiencia. Cualquier período significativo
de desuso puede afectar seriamente el
desarrollo de la mente.
Los sistemas
recuperación.
Transferir conocimiento de un humano a otro
es un proceso laborioso, lento y costoso,
llamado educación.
Documentar la experiencia humana es
extremadamente difícil y consume tiempo.
poseen
mecanismos
de
La transferencia de conocimiento entre
sistemas es un proceso trivial de copiar unos
programas y/o archivos de datos.
Documentar un sistema es relativamente fácil.
Se realiza un mapeo entre la experiencia
representada en el sistema y el lenguaje natural
de descripción de dicha representación.
Un experto puede tener diferentes decisiones
en idénticas situaciones por factores síquicos,
biológicos y físicos.
Producen resultados consistentes y reproducible, no son afectados por el medio.
Un experto es muy escaso. Demanda un gran
salario.
Sólo son costosos en su desarrollo pero baratos
para operar.
Adquiere el conocimiento en forma teóricopráctica.
La adquisición del conocimiento es teórico.
Estructura y manejo del conocimiento. El conocimiento usado por un SE y más por
un sistema inteligente, necesita representarse en formas que puedan utilizarse para un
razonamiento. El conocimiento en un SE es organizado, separado del dominio del
problema y del resto del sistema: del mecanismo para solucionar un problema, de la
interfaz del usuario. El conocimiento está representado en diferentes formas,
dependiendo de las relaciones causales consideradas. Hay conocimiento superficial
que manipula solamente información utilizada en situaciones específicas;
conocimiento amplio que representa estructuras internas y causales del sistema y
considera las interacciones entre sus componentes fundamentales.
Cualquier método que se emplee para representar conocimiento debe incluir múltiples
estructuras y procesos para describir, relacionar y organizar un conjunto de conceptos
elementales o entidades. Nos referiremos a conceptos genéricos o entidades usadas en
el sistema de representación de conocimiento como objetos.
El proceso de representar conocimiento lleva a la creación de esquemas
(representación) diferentes pero muy aproximadas la una de otra. El tipo de
representación del conocimiento apropiada, en una situación, depende de la cantidad
de conocimiento y cómo va a aplicarse. La representación más común es: relaciones de
18
Luis Carlos Torres Soler
Características y bases
objeto atributo valor (OAV), redes semánticas o conceptuales, representación formal
(lógica de predicados o proposicional), sistemas de producción (reglas IF-THENELSE), marcos, guiones, árboles o tablas de decisión y otras formas simples o
complejas.
La red semántica es una colección de nodos encadenados por relaciones. Un nodo
puede incluir entidades físicas (sombreros, capas, perros), entidades conceptuales
(lugares, números) o descriptores (agotado, viejo, matrona), que forman un conjunto
de relaciones OAV.
La representación formal lleva a tener el conocimiento en forma simple, mediante
reglas lógicas que expresan teorías, conceptos y relación de objetos con atributos
establecidos y planteando la lógica que usa un experto para hacer sus decisiones.
Por ejemplo:
(∀x) pájaro(x) => tiene_alas(x)
Para todo x que es pájaro, entonces x tiene alas.
(∀w) petirrojo(w) => pájaro(w)
Para todo objeto w que es petirrojo, entonces w es pájaro
Un sistema puede concluir:
(∀z) petirrojo(z) => tiene_alas(z)
Para todo z petirrojo, entonces z tiene alas.
En los SE puede tenerse: razonamiento monotónico, no monotónico15 o analógico.
Monotónico es aquel razonamiento en que hechos verdaderos, en un momento dado,
permanecen así todo el proceso. Los sistemas crecen continuamente porque se adiciona
conocimiento.
No monotónico es aquel razonamiento en que hechos verdaderos, en un tiempo
particular, pueden no serlo en otro tiempo.
Analógico, a través de la experiencia, se forma un modelo "mental" de algunos
conceptos; luego, el razonamiento ayuda a entender alguna situación u objeto,
buscando analogías e indagando similitudes y diferencias.
El proceso para solucionar problemas se halla en las heurísticas16 definidas y en el
15
Los seres humanos con frecuencia aumentan la verdad absoluta con suposiciones que están dispuestas
al cambio dada una mayor información. Un sistema para cada una de las creencias tentativas mantiene
un registro de dependencia que sigue la trayectoria versus su justificación, los hechos e inferencias que
son empleados para generar tendencias tentativas.
16
Una heurística es un proceso que a partir de un conjunto de operaciones lógicas resuelve una clase de
Universidad Nacional de Colombia
19
Inteligencia artificial
motor de inferencia (MI) (ver figura 1.2). La interfaz, las bases de datos o dispositivos
(sensores) son adicionales al SE (ver figura 1.3).
0Figura 1.2. Estructura de un sistema experto.
En adición a los esquemas de representación del conocimiento, el proceso de
razonamiento del sistema incluye métodos de inducción y/o deducción de acuerdo con
el conocimiento y el mismo sistema. La deducción examina hechos en las reglas,
decide cuál regla aplicar, y la encadena para llegar a una conclusión; es relativamente
simple en el diseño y consiste básicamente en buscar estrategias. Una regla se usa para
una decisión cuando las premisas de la regla son verdaderas, es decir, hacer que el
sistema determine la conclusión como válida.
El MI contiene un interpretador que decide cómo aplicar las reglas para inferir el
nuevo conocimiento; y un administrador que decide el orden en el cual las reglas serán
aplicadas. En otras palabras, selecciona, decide, interpreta y aplica conocimiento de la
BC con el fin de obtener soluciones17.
Un MI está separado del conocimiento; por tanto, puede ser base de varios SE en
diferentes campos del conocimiento. Hoy día, en el mercado se consigue fácilmente
Shell (concha, un SE con la BC vacía), en la cual se involucran reglas y hechos
(construir la BC), según la estructura predefinida y a utilizar.
El control en la deducción provee maneras para manejar problemas separadamente:
problemas. Algoritmo es un conjunto de pasos lógicos predefinidos para hallar la solución de una clase
de problemas.
17
Existen reglas, llamadas metarreglas, cuya función es indicar en la ejecución en que condiciones debe
considerarse una regla y no otra.
Luis Carlos Torres Soler
20
Características y bases
cuándo iniciar y cómo resolver conflictos. Para proveer esas soluciones, una variedad
de técnicas pueden usarse, solas o en combinación:
a)
Encadenamiento hacia atrás (regresiva). Cuando el valor resultado es conocido y
se buscan potenciales premisas.
b) Encadenamiento hacia adelante (progresiva). Consiste en tener hechos iniciales e
ir aplicando reglas buscando deducir una conclusión lógica.
Figura 1.3. Estructura de un sistema inteligente.
Estos procedimientos son muy sencillos, puesto que van recorriendo las reglas desde la
primera hasta llegar a una que pueda aplicarse. El proceso continúa, se aplica una
nueva regla; se recorren las reglas hasta hallar un objetivo buscado o hasta cuando ya
no existen reglas que produzcan alguna conclusión. Al ampliar el número de reglas,
como consecuencia se tendrá mayor conocimiento.
Los sistemas con técnicas y estructuras de IA deben construirse de tal forma que
faciliten escribir y desarrollar procesos de búsqueda de soluciones o metas, lo cual es
posible si muestran en mayor grado la separación entre los componentes estándares de
computación: datos, operación y control. Esto es, los sistemas tienen apropiados
niveles en los que se identifica una entidad central que está compuesta por: una o más
bases de conocimiento (BC); un conjunto de reglas (operaciones bien definidas) y una
estrategia de control. La importancia de identificar un apropiado nivel de descripciones
ayuda mucho porque un sistema inteligente puede consistir de muchas BC,
operaciones y controles interactuando en una compleja forma computacional (ver
figura 1.3).
Un SE no sería muy útil, si el usuario no puede comunicarse con él. Ésta comunicación
se diseña bidireccionalmente para que el usuario pueda describir su problema al SE, y
éste, a su vez, estar en la capacidad de responder presentando las alternativas posibles
y las explicaciones pertinentes. Los sistemas y las herramientas computacionales han
ido desarrollándose como lo muestra la figura 1.4. El primer SE comercial, el R1,
inició sus actividades en Digital Equipment Corporation (McDermont, 1982). El
Universidad Nacional de Colombia
21
Inteligencia artificial
programa se utiliza en la elaboración de pedidos de nuevos sistemas de computación.
Los tipos de experiencia que son de interés en los SBC o SE, pueden ser clasificados
en tres categorías: asociativa, motora y teórica. Los SBC son excelentes para
representar conocimiento asociativo. Este tipo de experiencia refleja la habilidad
heurística o el conocimiento que es adquirido mayoritariamente, a través de la
observación.
Figura 1.4. Desarrollo de los sistemas.
Puede ser que no se comprenda exactamente lo que ocurre al interior de un sistema
(caja negra), pero se pueden asociar entradas o estímulos con salidas o respuestas, para
resolver problemas que han sido previamente conocidos.
La experiencia motora es más física que cognitiva. La habilidad se adquiere
fundamentalmente a través del ejercicio y la práctica física constante. Los sistemas
basados en conocimiento no pueden emular fácilmente este tipo de experiencia,
principalmente por la limitada capacidad de la tecnología robótica; quizás lo que más
interesa es generar conocimiento y no habilidades psicomotoras.
La experiencia teórica y el conocimiento amplio permite que los humanos puedan
resolver problemas que no se han visto antes, es decir, no existe una posibilidad
asociativa. El conocimiento teórico y profundo se adquiere a través de estudio y
entrenamiento formal, así como por medio de la resolución continua de problemas.
Debido a su naturaleza teórica, el conocimiento se olvida fácilmente, a no ser que se
use en forma continua. Al momento, los sistemas convencionales basados en
22
Luis Carlos Torres Soler
Características y bases
conocimiento tienen muchas dificultades para duplicar la experiencia. Sin embargo, los
Sistemas de Razonamiento Basado en Modelos representan un notable intento de
encapsular el conocimiento y razonar con él.
La arquitectura de un sistema basado en conocimiento de alguna manera refleja la
estructura cognitiva y los procesos humanos. La primera parte es la memoria a largo
plazo, en la que guarda los hechos y reglas de conocimiento (Base de Conocimiento)
acerca del dominio en el que tiene experiencia.
Las ventajas en los sistemas expertos es la modularidad, no hay un solo camino para
responder a un problema y son fáciles de leer, lo que simplifica comprobar su
consistencia. La representación del conocimiento es esencial en inteligencia artificial y
es la base de la construcción de un SE o SBC.
Ideas básicas en el área de inteligencia artificial
La IA no se limita sólo a imitar la inteligencia, el razonamiento o lograr una
simulación de éstos, sino que desea llegar a crear máquinas que tengan mente y/o
memoria en su sentido pleno18. La IA se basa en que la actividad de pensar, que es una
actividad intelectual, es esencialmente una manipulación racional de símbolos o ideas
con procesamiento simbólico; por tanto, la IA siempre trata de:
a.
b.
c.
d.
Representar apropiadamente el problema de acuerdo con los requerimientos
del usuario y a través de comunicación natural.
Determinar restricciones del problema dado.
Explorar las alternativas de solución y los procesos de control.
Solucionar el problema. Para esto se recurre a: generar y probar, ejemplos,
casos, técnicas automáticas de demostración, métodos de aprendizaje,
procesos de razonamiento, algoritmos de optimización.
Sin embargo, desde los comienzos hasta la actualidad, la IA ha tenido que hacer frente
a una serie de problemas:
a. Los computadores no entienden los significados.
b. Los computadores no tienen autoconciencia (emociones, sociabilidad, ...)
c. Un computador sólo hace aquello para lo cual está programado.
d. Las máquinas no pueden pensar realmente.
La IA generalmente se divide en dos partes:
a.
La parte epistemológica: i) qué hechos del mundo son observables, ii) cómo
pueden representarse y, iii) qué reglas permiten derivar conclusiones legítimas
18
Un sistema que tiene memoria es un sistema que genera estímulos a partir de eventos que han ocurrido
anteriormente.
Universidad Nacional de Colombia
23
Inteligencia artificial
de esos hechos.
La parte heurística: cómo buscar espacios de posibilidades y aparear patrones.
b.
La solución a un problema epistemológico puede servir para muchos problemas,
soportar diferentes enfoques heurísticos; sin embargo, es difícil formalizar hechos de
conocimiento común.
Para la solución de problemas, en IA se tiene en cuenta los procesos de deducción e
inducción que realiza el ser humano. La deducción permite obtener conclusiones de
reglas cuyas premisas son comprobadas. La inducción produce reglas a partir de
observaciones parciales. La inducción en el ser humano puede darse al comparar
situaciones que son casi similares, con parámetros desconocidos en una situación dada
asignándole los valores que existen en una situación de referencia.
Las estrategias para el razonamiento pueden hacer uso de la especialización, la
reducción al absurdo, de la eliminación de caminos poco prometedores y de la
reducción de las diferencias.
Desde el punto de vista de los objetivos, la IA puede considerarse como parte de la
ingeniería o de la ciencia:
a.
b.
El objetivo ingenieril de la IA es resolver problemas reales, actuando como un
armamento de ideas de cómo representar y utilizar el conocimiento, y de cómo
ensamblar sistemas.
El objetivo científico de la IA es explicar varios tipos de inteligencia.
Determinar las ideas sobre la representación del conocimiento, del uso que se le
da a éste, y del ensamblaje que explican distintas clases de inteligencia.
Semejanzas y diferencias entre bases de datos y bases de conocimiento
Aunque las BD y las BC no son lo mismo, tienen algunas características comunes;
pues ambas persiguen el mismo objetivo; almacenar símbolos (datos, información o
conocimiento) para reflejar el estado del mundo. Entre las características pueden
mencionarse: 1) hay una separación entre los datos del problema específico y el
módulo que los maneja; 2) los datos deben ser entendibles, modulares y mantenibles;
3) hay una separación entre los datos y las aplicaciones, con lo cual se permite su
utilización en muchas aplicaciones.
En las BD es necesario poseer maneras de organizar y almacenar datos, así como
también herramientas para analizarlos. Las BC permiten la recuperación rápida del
conocimiento; además, el rendimiento de las operaciones de inferencia lógica son tan
rápidas como los cálculos por operaciones aritméticas. También se utiliza paralelismo
tanto a nivel de estructuras de programación como en hardware para aumentar la
velocidad; la interfaz usuario-máquina permite la utilización del lenguaje natural e
imágenes.
24
Luis Carlos Torres Soler
Características y bases
La gran diferencia entre BD y BC se explica por medio del siguiente caso. Los
visitantes de un enfermo en una clínica pueden enterarse de la droga que está
administrándosele, a las horas que debe hacerse y el posible mal que padece, a través
de la historia clínica que se halla a los pies de la cama. Pero no es posible interpretar la
situación, por ejemplo, para continuar la terapéutica establecida en el diagnóstico y el
plan de recuperación, ya que para ello se necesita conocimiento médico. Este
conocimiento consta de hechos, prevenciones, comportamientos, información y
procesos heurísticos. La información en la historia clínica es una BD, la BC está en el
médico que tiene al cuidado el enfermo.
El conocimiento adquirido mediante procesos heurísticos constituye una forma distinta
de llegar a conocer, en la cual tiene aplicabilidad la lógica-matemática. (Con la
informática y el automatismo moderno las heurísticas descubren nuevas y valiosas
formas de encontrar y analizar fenómenos que abren y amplían el mundo del
conocimiento).
Otro ejemplo. Si visitamos un vecindario en compañía de un niño, él podrá explicarnos
cómo se usan los edificios, descifrar y/o describir varias actividades de la gente que
encontramos en el camino, indicarnos los diferentes vidrios que se hallan, como
responder a otras preguntas. El computador de la alcaldía puede proporcionarnos
hechos y cifras sobre materiales de una construcción, el avalúo, quién es el dueño, pero
no ofrecerá ni una fracción del conocimiento que da el niño. El cerebro humano,
aunque no es bueno para recordar muchos hechos, es excelente para manipular
conocimiento, los computadores son mejores para manejar datos19.
Lenguajes de programación
En principio, cualquier lenguaje de programación puede ser utilizado para desarrollar
mecanismos para la IA. Es decir, cualquier lenguaje sirve para programar un sistema
experto. Atendiendo la forma de estructurar sus instrucciones, se los puede dividir en:
Imperativos: PASCAL, C/C++.
Funcionales: LISP.
Declarativos: PROLOG, CHIP, OPS5.20
Orientados a objetos: SmallTalk, Hypercard, CLOS.21
19
Todo lo que sucede en la parte biológica esta conectado con el cerebro, pero el cerebro tiene una
función maravillosa que es pensar. ¿Cómo lograr medir o indicar la forma como se piensa? ¿Todas las
personas piensan igual? ¿El medio ambiente o entorno afecta el pensamiento?
20
La declaración se basa en que para resolver un problema simplemente hay que describirlo y definir
ciertas reglas para obtener una solución. Los lenguajes declarativos tienen la ventaja (y desventaja) que
en ellos no se controlan detalles como posiciones de memoria, compactación del código para mejorar
eficiencia, etc., pues son de mayor nivel, aunque suelen ser menos eficientes en la interactividad.
21
Los lenguajes orientados a objetos se basan en unos entes (los objetos) que contienen atributos (datos)
y código que trabaja con esos datos con la particularidad que los objetos son independientes unos de
otros. Los objetos tienen la ventaja de ser lo más parecido al mundo real, pues en el mundo real hay
Universidad Nacional de Colombia
25
Inteligencia artificial
Tradicionalmente LISP y PROLOG han sido los lenguajes que se han utilizado para
la programación de sistemas inteligentes. Estos lenguajes ofrecen características
especialmente diseñadas para manejar problemas basados en símbolos. Por este motivo
se les conoce como lenguajes de inteligencia artificial. Una de las principales
características que comparten los lenguajes LISP y PROLOG, como consecuencia de
su respectiva estructura, es que se utilizan para escribir procesos capaces de examinar a
otros programas, incluyendo a ellos mismos. Esta capacidad se requiere, por ejemplo,
para hacer que el programa explique las conclusiones que ha dado. Esto puede hacerse
porque se permite al programa examinar su propio modo de operación.
LISP
Su nombre se deriva de LISt Processor. LISP fue el primer lenguaje para
procesamiento simbólico. John McCarthy lo desarrolló en 1958, en el Instituto de
Tecnología de Massachusetts (MIT), inicialmente como un lenguaje de programación
con el cual los investigadores pudieron implementar eficientemente programas de
computador capaces de razonar. Rápidamente LISP se hizo popular por su capacidad
de manipular símbolos y fue escogido para el desarrollo de muchos sistemas de IA.
Actualmente, LISP es utilizado en varios dominios que incluyen la escritura de
compiladores, sistemas para diseño VLSI, sistemas para diseño mecánico asistido por
computador (AUTOCAD), animaciones gráficas y sistemas basados en conocimiento.
PROLOG
PROgramming in LOGic (PROLOG), es un lenguaje de programación ampliamente
utilizado en IA. PROLOG se desarrolló en Francia, en 1973 por Alain Colmenauer y
su equipo de investigación en la Universidad de Marsella. Inicialmente fue utilizado
para el procesamiento de lenguaje natural, pero posteriormente se popularizó entre los
desarrolladores de aplicaciones de IA por su capacidad de manipulación simbólica.
Utilizando los resultados del grupo francés, Robert Kowalski de la Universidad de
Edimburgo, en Escocia, desarrolló la teoría de la programación lógica. La sintaxis
propuesta en Edimburgo, se considera el estándar de facto del PROLOG.
A partir de 1981 tuvo una importante difusión en todo el mundo, especialmente porque
los japoneses decidieron utilizar PROLOG para el desarrollo de sus sistemas de
computación de quinta generación. Actualmente existen varios dialectos del PROLOG
para diferentes plataformas.
OPS5
Official Production System 5 (OPS5), es un lenguaje para ingeniería cognoscitiva que
soporta el método de representación del conocimiento en forma de reglas. Incorpora un
objetos con características y no sólo estructuras de datos. Además, con la orientación a objetos es más
fácil la reutilización de las clases (generalidades de los objetos) y se generan nuevos objetos heredando
las características más sobresalientes.
Luis Carlos Torres Soler
26
Características y bases
módulo unificador, un intérprete que incluye un mecanismo de encadenamiento
progresivo, y herramientas para edición y depuración de los programas. OPS5 es un
miembro de la familia de lenguajes de programación desarrollados en la Universidad
Carnegie - Mellon. Varias compañías han desarrollado implementaciones comerciales
de OPS5, para diferentes plataformas.
Resumen
La importancia de la IA es innegable, y es un campo de investigación de trabajo fértil
y productivo. La IA estudia la construcción de programas que exhiban
comportamiento inteligente; mecanismos que aprenden (basados en lo que sabe y no
sabe); programas que hacen inducción y extrapolación, búsquedas heurísticas para
alcanzar un objetivo al menor coste posible (por ejemplo: búsqueda en espacios de
estados, robots). Analiza la adquisición y representación del conocimiento. Se emplea
para mejores sistemas inteligentes la lógica difusa, estrategias evolutivas y lenguajes
declarativos o funcionales.
El interés por construcción de mecanismos que exhiban comportamiento inteligente
abarca el estudio de esquemas para la representación del conocimiento, en especial
marcos (frame), redes semánticas, lógica de predicados, sistemas de producción. Se
desarrollan teorías, fundamentos; lenguajes y estructuras matemáticas asociadas.
Desde mediados de la década del 60, cuando se desarrollaron los primeros SE, se ha
adelantado mucho en su construcción. De los últimos SE puede deducirse:
a.
b.
c.
En los sistemas con éxito, el conocimiento está ampliamente definido, aunque
se refiere sólo a una área en particular.
La cantidad de conocimiento depende de las tareas por realizar.
La transferencia de conocimiento de los expertos al sistema requiere invertir
grandes esfuerzos.
Por lo tanto existen dos puntos importantes en los programas que utilizan técnicas de
IA:
*
*
Métodos para la representación y uso del conocimiento.
Métodos para realizar búsquedas y/o solucionar problemas.
Estos dos puntos interactúan fuertemente. La representación del conocimiento
determina el método que ha de aplicarse para solucionar problemas. Por ejemplo, si el
conocimiento se representa mediante lógica de predicados, entonces puede usarse
resolución para hallar inferencia. Si el conocimiento se representa por reglas, la
solución puede efectuarse mediante búsqueda hacia adelante o hacia atrás. Si el
conocimiento se representa mediante redes semánticas o árboles, entonces es útil
búsquedas gráficas.
Universidad Nacional de Colombia
27
Inteligencia artificial
El papel crucial que el conocimiento desempeña en los programas con técnicas de IA
es el mensaje fundamental de este texto. El conocimiento cumple dos importantes
funciones: 1) definir qué puede hacerse para solucionar problemas y qué significado
tiene el haber resuelto el problema; 2) aconsejar la mejor solución o la mejor forma de
solucionarlo.
Las técnicas de computación neuronal, de computación evolutiva, los planteamientos
de lógica difusa permitirán implementar métodos de aprendizaje, evolución y
razonamiento aproximado, entre otras. El interés del ser humano por llegar a simular
los procesos inteligentes del cerebro humano es muy grande, ¿será posible que las
máquinas razonen como el ser humano?
28
Luis Carlos Torres Soler
Descargar