Introducción a la Inteligencia Artificial

Documentación en progreso
Historial de revisiones
Revisión 0.1Marzo 1998Revisado por: apm
Creación
Revisión 0.2Octubre 2004Revisado por: apm
Pasar a DocBook (XML)

Tabla de contenidos
1. Perspectiva histórica y conceptual
1.1. Análisis (Ciencia de lo Natural)
1.2. Síntesis (Ciencia de lo Artificial)
1.2.1. Tareas en Dominios Formales
1.2.2. Tareas Científico-Técnico en Dominios
1.2.3. Comportamiento Artificial
1.2.4. Sistema de Inteligencia Artificial
1.3. Perspectiva Histórica de la Inteligencia Artificial
1.3.1. Etapa Neurocibernética (Computación Neuronal)
1.3.2. Computación
1.3.3. Búsqueda heurística y dominios formales
1.3.4. Énfasis en el conocimiento
1.3.5. Sistemas Basados en el Conocimiento (SBC) y Sistemas Expertos (SE)
1.3.6. Aprendizaje y renacimiento del Conexionismo

1. Perspectiva histórica y conceptual

El objetivo de Inteligencia Artificial (IA) es hacer computacional el conocimiento humano no analítico por procedimientos simbólicos, conexionistas o híbridos. Para ello se plantea un análisis, una síntesis y una serie de tareas sobre las que se estructura el conocimiento.

1.1. Análisis (Ciencia de lo Natural)

La Inteligencia Artificial esta sujeta a la observación, taxonómica, análisis, modelado. explicación y transformación.

Correlacional: Registro de la ocurrencia simultánea o sucesiva de diferentes procesos inferenciales.

Teórico: Busca una explicación de esa correlación en términos de un conjunto de leyes que permiten predecir lo que ocurriría en otros casos no observados.

Fenomelología: Conjunto de hechos asociados a los procesos cognoscitivos y a los principios organizacionales y estructurales.

Neurología: Ciencia cognoscitiva y su método integrando teoría y experimento.

Herramientas: Lógica, Matemáticas, Algorítmica y Heurística.

Simulación: Los experimentos se programan y el resultado de esa programación se Evalúa.

1.2. Síntesis (Ciencia de lo Artificial)

Por lo que aspira a convertirse en una ingeniería con metodología y eficacia, manejando materia y energía. Ya que trabaja con Información y Conocimiento, que son pura forma, totalmente independientes del Sistema Físico.

Ingeniería: Empieza con un conjunto de especificaciones funcionales del problema y un estudio de las posibilidades de síntesis a partir de las técnicas disponibles. Se propone un procedimiento algorítmico para alcanzar la realización física. Evalua la solución.

Procesos Cognoscitivos: Las Tareas correspondientes a lo que en los Expertos Humanos.

1.2.1. Tareas en Dominios Formales

Solucionadores de Problemas. Búsquedas en un espacio de estados de conocimiento o problemas lógico-matemáticos.

  • Micromundos Formales. Simplificaciones muy fuertes del mundo real. No hay imprecisión en el conocimiento, hay pocos elementos y su comportamiento se puede describir de forma completa e inequívoca.

  • Técnicas Básicas Búsqueda. Espacios de Representación, Inferencia, Uso conocimiento del Dominio.

1.2.2. Tareas Científico-Técnico en Dominios

Diagnostico, detección de fallos, planificación de trayectorias...

  • Jerarquía. Carácter limitado del conocimiento que manejan y la posibilidad de formalizar ese conocimiento con las técnicas disponibles.

    1. Análisis. Identificación, Monitorización, Clasificación, Diagnóstico o Predicción

    2. Modificación. Reparación, Control, Supervisión, Aprendizaje

    3. Síntesis. Diseño Jerárquico o Incremental, Configuración, Planificación o Modelado

  • Ingeniería del Conocimiento. Busca procedimientos de síntesis de sistemas.

    • Descripción de la Tarea a nivel de conocimiento. Realiza un proceso de obtención de ese conocimiento a partir del Experto Humano.

    • Búsqueda de una Representación de ese Conocimiento. Separándolo de los mecanismos de aplicación del mismo (inferencia) por Procedimientos Increméntales.

    • Selección de Técnicas adecuadas para su Implementación. Se desarrolla un prototipo, adquisición del conocimiento y entornos de Programación.

    • Ingeniería. Buscando procedimientos sistemáticos de implementación, evaluación y refinamiento de esos prototipos.

    • Uso de Lenguajes y Entornos de Programación. Desarrollo rápido y eficiente de aplicaciones.

1.2.3. Comportamiento Artificial

Comportamiento Humano Inespecífico mediante Comprensión, Propósito, Intención, Memoria, Aprendizaje...

Características

  1. Aparente Simplicidad

  2. Complejidad de estos Procesos Cognoscitivos

  3. Uso masivo de conocimiento

  4. Estilo peculiar de computación

    • Extensional. Toda la computación artificial y se realiza sobre información estructurada.

    • Intensional. La inferencia es inmediata y la información se reestructura constantemente por procedimientos.

  5. Reconocimiento. Todo conocimiento depende de la estructura que conoce

  6. Hipótesis fuerte de la Inteligencia Artificial. Es posible hacer computacional este conocimiento propio de lo vivo. Procesos Cognoscitivos: Reducidos al nivel simbólico y a partir de aquí ya hay programas traductores que llegan hasta el nivel físico.

Figura 1. Diagrama Funcional de un Agente Inteligente

Percepción: El agente interacciona con su medio a través de un conjunto de sensores. Se realiza un procesamiento multisensorial con referencia a contenidos de memoria, percepción. El objetivo de ambos procesos es identificar el medio de acuerdo con un modelo de representación interna que permite comprender el significado de imágenes y palabras.

Decisión: Sin conexión directa con el medio. Incluyen los procesos cognoscitivos asociados al pensamiento y al lenguaje. Principio de Racionalidad: Un modelo del medio y un conjunto de propósitos en ese medio.

Actuación: Controla manipuladores, produce palabras, coordina acciones para navegar evitando obstáculos. Grado de Semántica: es proporcional a la capacidad operacional del símbolo. Baja (efectores), Media (secuenciación), Alta (codificación)

1.2.4. Sistema de Inteligencia Artificial

El problema es que el principio de racionalidad no es Operacional, nos dice qué hacer pero no cómo hacerlo.

Inteligencia Artificial. Procedimiento efectivo para identificar, capturar y representar de forma computable el conocimiento necesario para la síntesis no trivial de esas tareas de percepción, decisión o planificación motora.

Sistemas Expertos. Uso del conocimiento en funciones de decisión para tareas técnicas en dominios limitados.

1.2.4.1. Ejemplo de Visión artificial

Donde se observa el paso de la Computación Analítico-Algorímica a la Inteligencia Articial.

Procesado a Bajo Nivel. Toda la información está en la imagen. Intervienen transductores, preproceso, extracción de características locales bordes, segmentación

  1. La señal analógica se digitaliza mediante un conversor A-D

  2. Proceso de Clasificación: Extrae características locales o integrales de naturaleza analítica que no exigen conocimiento complementario para ser entendidos por un observador.

  3. Reconocimiento de Formas: basado en la definición analítica de distancia entre el valor que toman las propiedades usadas para describir la imagen y los valores correspondientes a esas variables en un conjunto de Patrones.

Procesado de Alto Nivel. En el que se define el espacio de objetos y se realiza el conocimiento de patrones y la interpretación del significado de una escena.

  1. Recurrimos a la inyección de conocimiento externo para dar significado a las estructuras de datos y a los procesos.

  2. Comprender una imagen es asociarle la escena del mundo real que representa de acuerdo con un modelo del medio.

Figura 2. Proceso de Visión Artificial

1.2.4.2. Limites de la inteligencia artificial

  • Desconocimiento del operador humano

  • Falta de teoría, principios organizacionales y estructuras

  • Diferencias fundamentales entre el nivel físico de la computación (semiconductores) y el propio de los seres vivos (tejido biológico)

Forma alternativa. Desarrollo como Ciencia y Tecnología Artificial

  1. Modelado y Representación del Conocimiento a Nivel Estrategico

  2. Búsqueda de nuevos principios de Autoorganización

  3. Desarrollo de nuevos lenguajes de programación

  4. Énfasis en las teorías computacionales del Aprendizaje

1.3. Perspectiva Histórica de la Inteligencia Artificial

El sueño de mecanizar los procesos del pensamiento; "Hacer computacional el conocimiento Humano", ó Sintetizar sus procesos cognoscitivos en sistema de Inteligencia Artificial.

1.3.1. Etapa Neurocibernética (Computación Neuronal)

Se basa en considerar que los seres vivos y las máquinas pueden ser comprendidos usando los mismos principios organizacionales (Lógica y Matemáticas). El comportamiento a partir de procesos locales de autoorganización, memoria asociativa y aprendizaje. Cuyo Circuirto Secuencial Mínimo está formado por una función lógica seguida de un retardo y en el que la programación se sustituye por el aprendizaje. Equivalente a una Máquina de Turing de cinta finita.

Se introducen tres conceptos importantes: la realimentación como principio organizacional, la computación por propósitos y la idea de información como pura forma, separable de la señal física que la transporta.

Teoría Neuronal del Conocimiento. Las Redes de procesadores que sean capaces de reconocer caracteres, recordar, inferir de forma distribuida, cooperar, aprender por refuerzo o autoorganizarse. Los problemas a nivel físico, donde estructura y función coinciden.

Intencionalidad. Cálculo Intensional y uso de propósitos para guiar la acción.

Interpreta la actividad del sistema nervioso en términos de un conjunto de procesos encaminados a construir una representación interna del medio (modelo) y usarla para predecir. Aprender aquí es acumular conocimiento actualizando el modelo del medio.

1.3.1.1. Razonamiento Abductivo

Deducción Lógica: Se parte de un conjunto de fórmulas que se consideran de validez general (axiomas) y sobre ellas se aplican un conjunto de reglas o procedimientos de demostración que nos permiten obtener nuevas fórmulas.

Inferencia Inductiva: Usamos "pistas" (Heurísticas) con el conocimiento del dominio. Siempre hay incertidumbre sobre la validez de las suposiciones.

Razonamiento Abductivo: Parte de una conclusión conocida y se busca un hecho que la explique. Se conoce una relación causa-efecto y un suceso (efecto) y tenemos que lanzar hipótesis sobre su causa mas probable.

Primer intento de definición operacional de conceptos como causalidad, significado, implicación y consistencia. Y el cómo podemos modelarlas (reconstruirlas) construyendo programas que las dupliquen en funcionalidad.

1.3.1.2. Espacios de Representación

La propuesta de un mecanismo de razonamiento por analogía donde la implicación formal es equivalente a la casualidad en el mundo físico. Tres Procesos:

  1. Traslación de los procesos externos a símbolos en un espacio de representación.

  2. Obtención de otros símbolos mediante inferencia en el modelo del medio que paraleliza la casualidad externa.

  3. Retraslación de esos símbolos transformados al dominio de sus referentes externos (predicción).

La característica fundamental de un Sistema Basado en el Conocimiento (SBC) es su poder para modelar sucesos basados en dos tipos de símbolos: números y palabras; con codificación no arbitraria.

1.3.2. Computación

Se trata de establecer el paso de la computación numérica a la simbólica, a lo largo de la historia.

Platón: Sócrates definió un conjunto de Reglas de Decisión; con las que en cada momento pudiéramos calcular la respuesta del sistema aplicando esas reglas a la entrada.

Hobbes: El pensamiento (raciocinio) consistía en ejecutar operaciones simbólicas siguiendo de forma metódica un conjunto Reglas de Decisión.

Descartes: Descubre el carácter invariante de la matemática para representar conocimiento. Las matemáticas conciernen con símbolos y sus relaciones abstractas y podemos considerar los contenidos del pensamiento como representaciones simbólicas. Usando tres tipos de procesos: Enumeración, Deducción e Intuición ("intuitus" : hace referencia a la aprehensión directa mediante la cual captamos el significado de un concepto.

Leibniz: Búsqueda de un lenguaje simbólico con contrapartida numérica.

Boole: Modelo lógico con separación de símbolos y números.

Von Neumann: Arquitectura de Computadores, Teoría modular de autómatas, Redes neuronales, Teoría del cerebro, y Proyecto EDVAC (Diseño lógico y Arquitectura básica).

Alan Turing: Modelo computacional universal (Máquina de Turing) y Procedimiento experimental para medir la Inteligencia Artificial de un programa (Test de Turing)

Máquina de Turing. Es una maquina matemática que separa la arquitectura del modelo lógico. Su representación se realiza por una secuencia de instrucciones que al operar sobre símbolos codificados genera un programa ejecutable en cualquier computador. Modelo computacional universal

Test de Turing. Hay tres entidades: un operador humano (A), un programa de ordenador (B) y un interrogador (C). El Interrogador (C), que esta en una habitación aparte, realiza un conjunto de preguntas {Pi} a ambos agentes y compara las respuestas. Si de la simple comparación de las respuestas el observador (C) no es capaz de distinguir que fuente de información corresponde al operador humano (A) y cual al programa de Inteligencia Artificial, diremos que para esta tarea y en ese dominio al programa se le debe suponer el mismo nivel de inteligencia que al operador humano al que imita.

Criticas al Test de Turing

  1. El Test evalúa el "qué" pero no el "cómo". Se pueden producir contestaciones análogas en algunos casos. Por otra parte, basta que el sistema sea eficiente y no importa como lo consiga.

  2. Diferencia del Conocimiento Superficial (de diccionario) y el Profundo (comprender el significado del mensaje generando en otra lengua otro mensaje con el mismo significado)

  3. Imitar no es complicado y no justifica el carácter cognoscitivo (humano) de la computación. Todo el proceso está programado y hay poco lugar para el aprendizaje.

1.3.3. Búsqueda heurística y dominios formales

Búsqueda en un espacio de estados no es necesario conocimiento especifico sobre el dominio, haciéndose énfasis en las estrategias de control usadas para guiar la búsqueda.

Programa Logic Theorist: Demostró las posibilidades reales de la Inteligencia Artificial. Rama Razonamiento Automático con principio de resolución y sus refinamientos posteriores, incluyendo la creación del lenguaje Prolog.

Lenguajes para procesar información: Orientados al manejo de símbolos que al calculo numérico. LISP.

Programa GPS (Solucionador General de Problemas): Capacidad de aprendizaje y autoorganizacion. Medios Heurísticos para resolver problemas en entornos formales. Usa la metodología de análisis "medios-fines", seleccionando una secuencia de operadores que haga disminuir la diferencia entre el estado inicial y el estado meta hasta anularla.

  • Arquitecturas tipo SOAR

  • Metodologías basadas enn una estructura de Tareas Genéricas (Chandrasekaran y KADS)

  • Nuevos paradigmas multiestrategia en aprendizaje simbólico

Centrada problemas propios de dominios formales Micromundos que son idealizaciones del mundo real: Calculo Proposicional, Estrategias Heurísticas, Planificación de Acciones y Trayectorias.

Procesado de Información Semántica: Programa SIR, STUDENT, Redes Semánticas, ANALOGY, Sistema Deductivo de Contestar Preguntas y Programas de Sentido Común. Conjunto de Tesis Doctorales. Programas en General Relacionados con la Compresión del Lenguaje Natural.

Programas con Sentido Común: Razonamiento de sentido común capaz de inferir de forma inmediata el amplio conjunto de consecuencias lógicas de cualquiera de los hechos que conoce.

1.3.4. Énfasis en el conocimiento

Se centra en saber modelar el conocimiento especifico de ese dominio. La Inteligencia Artificial de Síntesis (Ingeniería) debe focalizarse en tareas científico-técnicas en dominios estrechos.

Representación del Conocimiento

  • Lógica. Lenguaje de representación del conocimiento. Su semántica, su expresividad y su eficacia en procesos deductivos.

  • Reglas. Se sacrifica la expresividad a cambio de eficiencia. Todo el conocimiento es relevante para realizar una tarea que puede representarse mediante un conjunto de condicionales; suponiendo un ciclo Iterativo (Selección, Ejecución) Identificando la regla y aplicándola. Tipo: Si condición entonces Acción

  • Redes semánticas. Modelo de Memoria Asociativa necesario para la comprensión y traducción del lenguaje natural. Organización Relacional: Redes de conceptos (nodos) enlazadas por Relaciones (arcos). La Base de conocimientos es ahora una gran red de nodos (significados de palabra) interconectados por diferentes tipos de arcos asociativos. Tipos de Redes Asociativas: Semánticas, Causales, Bayesianas, Diagnostico, Cualitativas y Neuronales.

  • Marcos. Nuestro sistema nervioso organiza su Experiencia Perceptiva y su Memoria en términos de un conjunto de esquemas que describen de una forma estructurada nuestro conocimiento referente a un conjunto de situaciones reales. Ordenación Jerárquica: Nodo Superior, indica una clase mas amplia. Marcos-Nodos, heredan las propiedades de sus superiores y, valores y métodos asociados a ellas. La Herencia de valores constituye un mecanismo de razonamiento de: Sistemas Basados en Marcos y Programación Orientada a Objetos.

La representación mejor es aquella que usa todos los métodos disponibles dependiendo de la naturaleza de la tarea. Así, los Marcos pueden incluir Reglas en sus terminales, las Reglas pueden convertirse en Objetos estructurados y ambos (reglas y marcos) pueden organizarse en forma de Red.

1.3.5. Sistemas Basados en el Conocimiento (SBC) y Sistemas Expertos (SE)

Sistema Basado en el Conocimiento: Sistema que hace un uso intensivo del conocimiento del dominio y se separa de los mecanismos que controlan su uso en inferencia.

Sistema Experto: Conocimiento procede de un Experto Humano especialista en una tarea concreta.

Características

  • Dominio reducido

  • Competencia en su campo

  • Separación entre Conocimiento e Inferencia

  • Capacidad de Explicación

  • Tratamiento de la Incertidumbre

Estructura básica

  • Base de Hechos Ciertos

  • Base de Conocimientos

  • Mecanismo de Inferencia

  • Base de Datos

  • Modulo de Explicación y Dialogo

1.3.5.1. Ejemplos de Sistemas Expertos (SE)

DENDRAL. Conjunto de posibles Estructuras Moleculares

  1. Selección de un dominio limitado del conocimiento

  2. Evidencia de que el conocimiento esencial es Especifico del Dominio

  3. Separación entre el conocimiento y el mecanismo

  4. Validez de las reglas como forma de representación del conocimiento

MYCIN. Diagnostico y tratamiento de enfermedades infecciosas

  1. Validez del Razonamiento por encadenamiento de Reglas

  2. Tratamiento del problema de la incertidumbre con Distintos Factores de Certeza

  3. Capacidad de Explicación del Razonamiento seguido

  4. Metarreglas y la Adquisición de Conocimiento

CASNET. Diagnostico de glaucoma. Red Causal con tres niveles de nodos: Observaciones, Estados patofisiológicos, Enfermedades ; mas un cuarto grupo correspondiente a Planes terapéuticos.

PROSPECTOR. Exploración geológica. Red de Reglas y la Inferencia Bayesiana.

INTERNIST. Consulta en medicina interna. Representa el conocimiento mediante Arboles.

PIP. Diagnostico de enfermedades. Basado en Marcos con tres estados: Inicialmente todos Inactivos, cuando se introduce un determinado hallazgo, los Marcos correspondientes a las enfermedades que podrían explicarlo pasan Activos; y los Marcos relacionados con ellos pasan a Semiactivos.

CENTAUR. Función pulmonar.

  • Representación Mixta de Marcos mas Reglas.

  • Prototipos contiene terminales generales de Control y de Componentes.

  • Red generada a partir de los propios enlaces entre Prototipos; que aparecen como Referentes en estado ( dormido, semiactivo, activo, aceptado).

ONCOCIN. Consejero de terapia en oncología.

  • Sistemas de Planificación Temporal que constan de una secuencia de pasos generalizados con Decisiones estratégicas al final.

  • No hay que crear un plan que nos lleve a alcanzar un objetivo; el Plan ya esta Creado de antemano.

  • Recoge información en Tiempo Real sobre los Efectos y Evolución general del entorno.

1.3.6. Aprendizaje y renacimiento del Conexionismo

1.3.6.1. Aprendizaje

Aprender era modificar el valor de los parámetros de un sistema para mejorar su comportamiento. Esta mejora se medía mediante una función del error resultante de comparar la respuesta deseada con la obtenida y los parámetros de modificaban en la dirección que hacia mínimo ese error.

Para que el sistema tenga capacidad de aprendizaje lo único que necesitamos hacer es decirle cómo tiene que aprender, programarlo para que sea capaz de acumular conocimiento sobre una tarea. Cambios en Estructuras de Datos y Algoritmos.

Percepción: Reconocimiento de caracteres y la formación de conceptos, descripción de objetos, creación de un lenguaje de descripción de conceptos y la representación simbólica.

Planificación: Se parte de conceptos centrales en un modelo del medio (planes) y se programa un generador de acciones elementales.

Organización Central: Cuando se dispone de mucho conocimiento sobre el dominio no es necesario usar grandes conjuntos de entrenamiento. Basta con algunos casos para poder generalizar. Estrategia de Aprendizaje Basado en Casos (CBL).

El Estado actual del Aprendizaje Computacional está marcado por dos tendencias complementarias:

  1. Desarrollo de Sistemas con Multiestrategia

  2. Desarrollos Teóricos y Metodologicos (Dominio Propio y Dominio del Observador)

1.3.6.2. Conexionismo

El concepto inicial es una Red Neuronal como calculo realizado por una arquitectura modular con gran numero de elementos con alto grado de conectividad y realizando una función analógica no lineal. Función de Error que guía el aprendizaje supervisado por el método del gradiente.

  1. Conexiones con la Neurociencia

  2. Modelos de Computación Distribuida y Autoprogramable

  3. Búsqueda de Arquitecturas

  4. Estudio del Aprendizaje

  5. Desarrollo de Neurosimuladores

  6. Implementación de Redes

  7. Aplicaciones en Percepción, Control y Clasificación