inteligencia artificial - cap 1

67
UNIANDES SISTEMAS INFORMATICOS ING. VICTOR MONTES DOCENTE INTELIGENCIA ARTIFICIAL

Upload: victor-montes

Post on 24-Jun-2015

875 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Inteligencia Artificial - Cap 1

UNIANDES

SISTEMAS INFORMATICOS

ING. VICTOR MONTESDOCENTE

INTELIGENCIA ARTIFICIAL

Page 2: Inteligencia Artificial - Cap 1

CONTENIDOS

CAPÍTULO 1 INTRODUCCIÓN A LA INTELIGENCIA ARTIFICIALAnálisis del término Inteligencia Artificial (I.A.)Surgimiento del término Inteligencia ArtificialLa Inteligencia Artificial y los modelos

computacionalesEl supuesto subyacentePapel del sentido comúnTécnicas de I.ACriterios para el éxitoAplicaciones de la I.A

Page 3: Inteligencia Artificial - Cap 1

CONTENIDOS

CAPÍTULO 2FORMAS DE REPRESENTACION DEL CONOCIMIENTODefinición de Forma de Representación del ConocimientoClasificación de las formas de representación del

conocimientoLa lógica como Forma de Representación del

ConocimientoRedes semánticasMarcos o armazones (Frames)Guiones (Scripts)Reglas de producciónStrips

Page 4: Inteligencia Artificial - Cap 1

CONTENIDOS

CAPÍTULO 3METODOS DE SOLUCION DE PROBLEMASIntroducciónPasos para resolver un problemaMétodos de búsqueda a ciegasBúsqueda heurísticaPlanificaciónTeoría de juegos

Page 5: Inteligencia Artificial - Cap 1

CONTENIDOS

CAPÍTULO 4LENGUAJES DE INTELIGENCIA ARTIFICIAL

Page 6: Inteligencia Artificial - Cap 1

EVALUACIÓN

TAREAS EVALUACIONES PROYECTO FINAL

TALLER (10) CAPÍTULO 1 (10) PRACTICAS (10)

ENSAYO (10) CAPÍTULO 2 (10) IMPLEMENTACIÓN (8)

EJERCICIOS (10) CAPÍTULO 3 (10) DOCUMENTACIÓN (2)

10 puntos 10 puntos 20 puntos

TOTAL: 10 puntos

Page 7: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Análisis del término Inteligencia Artificial (I.A.)En la literatura especializada no existe aún ninguna definición única y rigurosa para el término “Inteligencia Artificial”. Por otra parte, quienes trabajan en esta esfera de la Ciencia de la Computación utilizan expresiones ambiguas como: máquina de inferencias, ingeniería de conocimiento, reglas de producción, redes semánticas, entre otras. Realmente existe un estado de opinión nebuloso que contribuye muy poco al progreso de este campo. Por tanto se hace necesario esclarecer las ideas principales sobre qué se conoce por Inteligencia Artificial.

Page 8: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Como sabemos, los problemas que se presentan comunmente en la práctica pueden ser algorítmicos tratables, algorítmicos no tratables y no algorítmicos. En estos últimos no es posible encontrar un algoritmo para su solución. Esto nos indica que se debe reconsiderar la noción determinística desarrollada de algoritmo por una noción más flexible que incluya métodos de aproximación a la solución de un problema, como los que pone en práctica el ser humano cuando se halla ante problemas para los cuales no posee un algoritmo específico de solución. Estos métodos se caracterizan por los siguientes rasgos fundamentales: no siempre nos conducen al resultado, no siempre el resultado es único y no siempre dan un resultado óptimo. La introducción de tales métodos en el diseño y programación de algoritmos computacionales es tarea del área de la I.A.

Page 9: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Los problemas algorítmicos tratables se pueden resolver con las técnicas tradicionales. Los algorítmicos no tratables, llamados también NP-completos, son aquellos para cuya solución existen algoritmos no deterministas que se ejecutan de manera tratable, pero que hasta el momento se duda de que pueda existir un algoritmo determinista que los resuelva de manera tratable. Las técnicas de I.A. nos permiten resolver algunos de estos problemas, como son:

Page 10: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Problema del viajante: Se tienen n ciudades y las distancias entre ellas y se desea saber el recorrido de una persona por todas las ciudades con la mínima distancia.

Colorear un grafo con la cantidad mínima de colores sin que dos nodos adyacentes tengan el mismo color.

Problema de la mochila: Dada una mochila con una capacidad en peso dada y una cantidad de objetos, cada uno de ellos con su peso y un valor dados, determinar qué objetos echar en la mochila sin sobrepasar su peso y de manera que almacene el mayor valor.

Determinar el mayor subgrafo completo dentro de un grafo dado.

Page 11: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

En el caso de los problemas no algorítmicos, las técnicas de I.A. ayudan también a resolverlos. Tales son, por ejemplo, el diagnóstico médico, la traducción automática, detección de fallas, problemas de pronóstico y generación automática de planes. Otro que no logra resolverse completamente, pero sí de una manera parcial (para determinadas subclases de fórmulas) es la determinación de la validez de una fórmula del cálculo de predicados de primer orden.

Page 12: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Los primeros trabajos que realizaron las computadoras consistían en la ejecución de laboriosos cálculos numéricos, donde superaron todo lo imaginablemente previsto. Por tanto, era tentador explorar también la ejecución de otros trabajos intelectuales como jugar al ajedrez, demostrar teoremas, traducir idiomas. Sin embargo, había una diferencia entre estos tipos de trabajos y los primeros que se hicieron.

Page 13: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

El grupo de labores al que pertenecía el cálculo numérico, contenía tareas que podían ser explicadas en detalle por las personas que las realizaban. Mientras que en el otro grupo, era muy difícil detallar cómo se ejecutaban, pues eran complejas y difíciles de analizar con las técnicas algorítmicas, por ejemplo, la decisión del movimiento que debe hacerse en un juego de ajedrez o cómo determinar que dos oraciones distintas significan lo mismo. El intento de abordar este otro grupo de tareas difíciles de realizar a través de las computadoras marcó el origen de la Inteligencia Artificial, como un campo más de la Ciencia de la Computación.

Page 14: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Sin embargo, el término Inteligencia Artificial para ese naciente campo computacional en vez de ayudar a esclarecer sus propósitos y métodos, provoca sombras y obstáculos en su camino de desarrollo.

Primero, porque el nombre es nebuloso. Si la inteligencia natural todavía no está definida con precisión, mucho menos lo estaría la artificial. En consecuencia, todo trabajo realizado por un artefacto, que de alguna manera ejecute una actividad intelectual, debería también denominarse Inteligencia Artificial. En esta clasificación entrarían, con plena justicia, la calculadora y el ábaco.

¿Qué es entonces la Inteligencia Artificial?.

Page 15: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Segundo, porque ese nombre evoca futuros tan lejanos que sugiere quimeras, nada útil ni en el presente actual, ni en el cercano.

Tercero, porque en la frase Inteligencia Artificial está contenida una competencia con el hombre, que se siente amenazado de ser sustituido en lo que considera su valor más humano: el intelecto.

Por estas razones se levantó en sus inicios una barrera en contra de este nombre y de todo lo que él significa. No obstante el uso histórico acuñó el nombre de Inteligencia Artificial para ese campo de la Ciencia de la Computación.

Page 16: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Una forma de comprender qué se entiende por Inteligencia Artificial hoy en día, es buscar rasgos distintivos. En esta dirección, el Laboratorio de Inteligencia Artificial de Standford clasificó los campos de trabajo computacionales de acuerdo con el tipo de información que manejan y con el tipo de método que emplean para procesar esa información.

Page 17: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Page 18: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

I) Resolver sistemas de ecuaciones, hallar el máximo común divisor de dos enteros, etc.

II) Buscar los artículos sobre una determinada información y buscar una subcadena en una cadena.

III) Métodos de MonteCarlo: son métodos que usan generación de números aleatorios. Estos métodos se usan para el cálculo aproximado de una integral, en problemas de optimización, de cálculo del mínimo de una función, etc.

Page 19: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

El cuadrante que ocupa la Inteligencia Artificial se contrapone diagonalmente a lo algorítmico y numérico, pero tiene amplias fronteras de contacto con los campos que poseen fuertes componentes heurísticas y no numéricas. De manera que todo el conjunto conforma la herramienta de trabajo llamada computación.

Page 20: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

La Inteligencia Artificial aborda problemas poco estructurados, donde no se conoce de antemano cuál es el mejor método para resolverlo. Hay que descubrir, si acaso, alguna solución. Esta es la razón de la palabra heurística cuyo significado se asocia a búsqueda. La esencia de la palabra heurística es contraria a la de algoritmo en el sentido de que ella es un camino para buscar lo nuevo, mientras el algoritmo es un camino para realizar lo ya muy bien conocido. Así se comprende que el paradigma primario para la resolución de problemas en Inteligencia Artificial sea la búsqueda de la solución orientada por la heurística, para tratar de reducir la explosión combinatoria que genera la búsqueda de todos los caminos posibles que se presenta en la mayoría de los problemas reales.

Page 21: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Según Schildt un “programa inteligente” es uno que muestra un comportamiento similar al humano cuando se enfrenta con un problema. No es necesario que el programa resuelva realmente el problema de la misma forma que el hombre.

Alan Turing se expresa análogamente al señalar que “si durante el intercambio entre una computadora y el usuario, este último cree que está intercambiando con otro humano, entonces se dice que el sistema es inteligente”. Esto se conoce como el Test de Turing y fue formulado en 1950. “Pasará mucho tiempo hasta que un computador pase el test de Turing. Algunos creen que nunca será posible”.

Page 22: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Para Forsyth la I.A. se relaciona con problemas que han escapado de una caracterización matemática.

Para Cuena, mientras la computación tradicional se basa en el empleo de algoritmos en los cuales el conocimiento y el procedimiento de solución están integrados en un proceso unificado, los sistemas de Inteligencia Artificial utilizan procedimientos standards que permiten modificar los procesos sin tener que modificar el conocimiento.

Page 23: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Para Rich, la I.A. es el estudio de cómo lograr que los computadores hagan cosas que, por el momento, las personas hacen mejor. Esta definición es algo efímera debido a que hace referencia al estado actual de la Ciencia de la Computación. Sin embargo, la rapidez con que puede variar el significado de esta definición no es en absoluto tanta como pudiera pensarse.

Ejemplo: En el cálculo numérico la máquina aventaja sustancialmente al hombre, pero en la traducción automática el hombre supera a la máquina considerablemente.

Page 24: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

La I.A. es una rama de la Ciencia de la Computación dedicada a la creación de hardware y software que imita el pensamiento humano. Su principal objetivo es llevar a la computadora las amplias capacidades del pensamiento humano y, para ello, se convierten a las computadoras en “entes inteligentes” con la creación de software que les permite imitar algunas de las funciones del cerebro humano en aplicaciones particulares. El fin no es reemplazar al hombre, sino proveerlo de una herramienta poderosa para asistirlo en su trabajo.

Page 25: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

La I.A. se ocupa de la representación, adquisición y procesamiento de conocimientos de forma automatizada, de la arquitectura de los programas para estas actividades y de los lenguajes en los que se expresan tales programas. La modelación computacional de los procesos cognoscitivos es también un área de interés de la Inteligencia Artificial. Además se incluyen la percepción, la comprensión y síntesis del lenguaje natural, la robótica inteligente, la modelación del razonamiento, la programación automática y otras más, todas ellas de naturaleza no numérica y todavía del dominio de la heurística.

Page 26: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Surgimiento del término Inteligencia Artificial.En el año 1956, durante un congreso en Dartmouth (U.S.A.) se propuso el término de Inteligencia Artificial para agrupar a todos los métodos, técnicas e intentos de simular el intelecto humano en la computadora. Casi todos los especialistas están de acuerdo con esto, y quien acuñó este término fue el matemático John McCarthy (creador del LISP), profesor del Instituto de Tecnología de Massachusetts. Además de McCarthy, son considerados padres de esta disciplina Marvin Minsky también del Instituto de Tecnología de Massachusetts y Herbert Simon y Allen Newell de la Universidad de Carnegie-Mellon. Desde su surgimiento, la I.A. ha tenido muchos críticos como Hebert Dreyfus, Joseph Weizenbaum, John Searle, los cuales ven a la I.A. como un fraude o una ciencia ilegítima.

Page 27: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Evolución histórica.Como rama de la Ciencia de la Computación, la I.A. ha evolucionado tanto en la formalización, como en la implementación de sus técnicas. Un resumen cronológico de su desarrollo puede ser el siguiente:

1936 - Turing formaliza el concepto de computadora de propósito general.

1945 - Von Neumann concibe el diseño de “programa almacenado” para computadoras digitales.

1946 - Aparece ENIAC, primera computadora digital de propósito general dedicada.

Page 28: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

1950 - Turing describe su test para conocer si una máquina es “inteligente”.

1955 - Bernstein desarrolla el primer programa para jugar ajedrez.

1956 - McCarthy organiza la conferencia de Dartmouth e introduce el término Inteligencia Artificial. Newell, Shaw y Simon desarrollan el Logic Theorist, primer programa de Inteligencia Artificial exitoso.

Page 29: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

1957 - McCarthy desarrolla el LISP (primer lenguaje de Inteligencia Artificial). Newell, Shaw y Simon comienzan los trabajos para encontrar un solucionador general de problemas (GPS). Chomsky introduce transformaciones gramaticales para modelar la sintaxis de los lenguajes naturales.

1965 - Feigenbaum desarrolla DENDRAL (primer Sistema Experto). Dreyfus publica el artículo “Alchemy and Artificial Intelligence”.

Page 30: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

1966 - Quillian desarrolla las redes semánticas.

1967 - Greenblatt desarrolla MacHack, el primer programa de ajedrez profesionalmente competente.

1970 - Aparece “Learning Structural Descriptions from Examples” de Winston (primer artículo que se dedicó al Aprendizaje Automatizado). Colmerauer desarrolla el lenguaje de programación PROLOG.

Page 31: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

1972 - Es desarrollado MYCIN, primer Sistema Experto en utilizar reglas de producción. Winograd completa el SHRDLU, un programa para el procesamiento de lenguaje natural.

1974 - En su artículo “A framework for representing knowledge” Minsky define los marcos.

1975 - El MIT inventa la máquina LISP, primera especializada en I.A.

Page 32: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

1982 - Aparece una teoría sobre visión desarrollada por Marr. Comienzan las investigaciones de los japoneses y la Quinta generación.

1986 - Se introduce la primera Máquina Conexionista por Thinking Machines Corporation. Aparece la primera microcomputadora de 32 bits.

1987 - Primera Conferencia Internacional sobre Redes Neuronales Artificiales.

1988 - Primera computadora ajedrecista Hitech.

Page 33: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

El desarrollo de la I.A. pudiera enmarcarse en las siguientes etapas:

Oscura (década del 50) : Surgen la Redes Neuronales Artificiales (R.N.A.).

De la razón (década del 60) : Desarrollo de la lógica y los demostradores de teoremas.

Romántica (década del 70) : Surgimiento de los Sistemas Expertos.

Ilustración (década del 80) : Desarrollo del aprendizaje automatizado o extracción automatizada del conocimiento.

Renacimiento gótico (década del 90) : Resurgimiento de las R.N.A.

Page 34: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Los trabajos iniciales dentro del campo de la I.A. estuvieron dirigidos a emular el proceso del pensamiento humano. Resultados relevantes fueron el intento de Newell, Shaw y Simon de crear un Solucionador General de Problemas (GPS), así como el éxito alcanzado a fines de la década de los 50 e inicios de los años 60 por Rosemblatt al crear los Perceptrons. En ambos casos, otros autores se encargaron de demostrar las limitaciones de ambos intentos. En 1973 Gödel demostró que era imposible la matematización del proceso de razonamiento lo cual anulaba la posibilidad de crear, al menos en el presente, un GPS como el pensado por Newell, Shaw y Simon. Minsky y Papert en los años 60 mostraron las serias limitaciones del funcionamiento de un perceptron simple a través del problema clásico del XOR. Es por esto que a esta etapa se le denominó oscura.

Page 35: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Sin embargo, en América los trabajos en I.A. siguieron otra dirección. Se planteaba que, si bien no existía una teoría universal de la inteligencia, sí era posible crear inteligencias especializadas. En esta época se comenzó a dar más importancia al papel del conocimiento que a los métodos potentes de solución de problemas, todo lo cual llevó a la reactivación de los trabajos en este campo.La I.A. cobró vigor en la década de los 80, debido al éxito alcanzado por los Sistemas Expertos, al proyecto japonés de Quinta Generación, el cual originó un gran avance tecnológico y al éxito del uso de técnicas de I.A. en problemas concretos como el reconocimiento de patrones, la robótica, la visión, etc.

Page 36: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

El desarrollo de la I.A. ha seguido dos líneas principales: la simbólica y la subsimbólica. La primera se caracteriza por desarrollar modelos que describen, formalizan e implementan aspectos sistematizables del conocimiento en forma explícita (Sistemas Expertos, Razonamiento basado en casos, etc). La otra se basa en los enfoques no representacionales de la I.A. (R.N.A., algoritmos genéticos y sistemas difusos). El cálculo subsimbólico se basa en el uso de representaciones analógicas, el conocimiento se reparte entre diversas componentes del sistema que están enlazadas y que pueden funcionar en paralelo.

Page 37: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Es necesario mencionar uno de los problemas fundamentales que enfrenta actualmente la I.A:

El problema del aprendizaje automatizado, para el que no existe actualmente una solución eficiente.

Page 38: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

La I.A y los modelos computacionales.

El desarrollo de la I.A. es, realmente, una etapa cualitativamente superior dentro del progreso de la Ciencia de la Computación. Es importante, por tanto, analizar la relación existente entre la I.A. y los modelos computacionales convencionales. Existen diferentes modelos computacionales, entre los que podemos mencionar:

Page 39: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Programación procedural: Un programa es una secuencia de instrucciones que transforman los datos para alcanzar la solución de un problema.

Programación funcional: Un programa es considerado una función matemática que describe una relación entre una entrada y una salida.

Programación lógica: Un programa es un conjunto de cláusulas de Horn que declaran lógicamente el conocimiento sobre el dominio de un determinado problema.

Programación orientada a objetos: Un programa es un modelo físico que simula el comportamiento de una parte real o imaginaria del mundo. En lugar de describir esa parte del mundo por medio de operadores y estructuras de datos, funciones o ecuaciones matemáticas, se construye literalmente un modelo físico del mismo.

Page 40: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

La programación lógico/funcional y la programación orientada a objeto son dos alternativas diferentes a los problemas relacionados con el concepto de estado de la programación procedural. En la primera alternativa el enfoque es eliminar el concepto de estado, mientras que en la programación orientada a objeto es elevar el concepto de estado al primer plano.

Page 41: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Estos paradigmas difieren entre sí, pero tienen en común que los programas están dirigidos a alcanzar la solución del problema dado. Es por ello que en todo modelo computacional se identifican dos elementos básicos: la forma utilizada para describir el conocimiento sobre el dominio de la aplicación que se modela y el método utilizado para manipular este conocimiento en busca de un objetivo concreto. En forma general un modelo computacional se puede expresar como:

modelo computacional = formalismo + método de

solución

Page 42: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Con el formalismo se describe el conocimiento que se tiene sobre el dominio del problema. Abarca tanto la descripción como la forma en que se almacena la información a procesar. Con el método de solución se brindan los operadores y las estructuras de control que permiten resolver el problema.

En los paradigmas de programación convencionales, las dos componentes del modelo no se pueden separar. Para modificar el conocimiento o el método de solución hay que cambiar el programa completo.

Page 43: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

En la actualidad el conocimiento ha desplazado del papel principal al método de solución, siendo el factor determinante. Es por esto que las fronteras entre ambas componentes se delimitan cada vez más.

El desarrollo de estas componentes se realiza mediante las técnicas de I.A., generándose de esa forma nuevos modelos computacionales para la solución de problemas. La I.A. se dedica al estudio de nuevas formas de representación del conocimiento, métodos de solución de problemas, razonamiento con incertidumbre y otras.

Page 44: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

El área donde la programación y la IA se aproximan más es en la programación automática, en la que se combinan las técnicas de resolución de problemas con una BD que contiene información, tanto del dominio de la tarea como del conocimiento de la programación, para producir un sistema que genere programas automáticamente. Los sistemas de programación automática difieren en la forma en que aceptan las descripciones de los programas que deberían escribir.

Una de las áreas de la I.A. donde más éxito se ha alcanzado es el desarrollo de Sistemas Expertos (S.E.), que son programas que resuelven problemas de un dominio de aplicación concreto de manera similar a como lo haría un experto humano en esa materia.

Page 45: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Los SE como un ejemplo de modelo computacional.La experticidad en un dominio dado se caracteriza por una alta calidad y elevados resultados en las tareas de solución de problemas en el dominio. Un experto humano resuelve problemas en su área de experticidad más rapidamente, con más precisión y menos conciencia sobre su plan de acción que un novato. Para alcanzar este nivel de ejecución el experto requiere gran cantidad de conocimiento de varios tipos, y vías altamente efectivas de usar este conocimiento. Los tipos de conocimiento que un experto necesita son sobre los objetos y procesos que aparecen en el dominio, esquemas y métodos generales de solución de problemas, y sobre clases específicas de problemas en el dominio y los métodos que han sido probados como efectivos para los problemas de cada clase.

Page 46: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Teniendo en cuenta lo anterior el experto artificial o Sistema Experto requiere al menos de dos componentes esenciales: la Base de Conocimiento (B.C.), que contiene el conocimiento sobre el problema y la Máquina de Inferencia (M.I.), que contiene los métodos para manipular dicho conocimiento. Podemos ver entonces al Sistema Experto como un modelo computacional:

S.E. = B.C. + M.I.

Page 47: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

La B.C. almacena el conocimiento en una determinada notación, conocida como forma de representación del conocimiento (F.R.C.), lo cual constituye el formalismo de este modelo. La M.I., por su parte, implementa los métodos de solución del problema (M.S.P). Un S.E. es entonces:

S.E.= F.R.C. + M.S.P.

Como hemos visto, el S.E. es un modelo computacional nuevo. La independencia de sus dos componentes permite modificar una de ellas sin alterar la otra.

Page 48: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Alcanzar una IA comprende tres tareas: i) Desarrollar un lenguaje para expresar el conocimiento. Como uno de los principios de la IA es que se pueda expresar explícita y declarativamente el conocimiento para que se pueda usar por diversos programas, este lenguaje debe poseer ambas cualidades. ii) Desarrollar un conjunto de procedimientos para manipular (usar) el conocimiento. iii) Construir la base de conocimiento, o sea, codificar el conocimiento en el lenguaje desarrollado en (i) de modo que una persona o una máquina le pueda aplicar los mecanismos de razonamiento desarrollados en (ii).

Page 49: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

A pesar de los grandes esfuerzos invertidos en (i) y (ii) actualmente la mayoría de los programas llamados inteligentes sólo poseen una inteligencia aparente, limitada o externa, pues su conocimiento solamente le permite actuar ante situaciones previstas. Otro rasgo que los caracteriza es que modelan el conocimiento especializado de individuos aislados. Para poder salvar esta limitante es necesario determinar por qué los humanos pueden enfrentar situaciones nuevas.

Page 50: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Los hombres poseen diversas formas para responder a situaciones nuevas cuando éstas aparecen:

Pedir consejos a alguien que conozca sobre el tema, Consultar literatura sobre el tema, Usar conocimiento general incluido el sentido común

(muchos consideran que el sentido común se deriva del almacenamiento masivo de conocimiento y de la habilidad para acceder rápidamente al conocimiento relevante),

Comparar con situaciones similares aunque no relacionadas con la que apareció.

Page 51: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Todos estos caminos están cerrados a los programas inteligentes actuales: ellos no comprenden realmente bien el lenguaje natural, no poseen conocimiento de carácter general y su conocimiento no incluye información sobre otros dominios de aplicación que no sea para el que está preparado. Una vía para abrir estos caminos es fortalecer el esfuerzo que se invierte en (iii), lo cual significa crear bases de conocimientos 10 ó 100 mil veces mayores que las que se crean actualmente para los sistemas expertos.

Page 52: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Esta BC contendría hechos y métodos de solución problemas generales, así como una amplia recopilación de ejemplos y hechos específicos, y reglas para definir analogías entre situaciones. Esta BC se distinguiría por su amplitud y no tanto por su tamaño.

A esta nueva visión del desarrollo de la IA se le denomina IA distribuida, pues en los sistemas inteligentes desarrollados bajo esta concepción existirán numerosos agentes cada uno con determinado conocimiento pero que COOPERAN en la solución de los problemas.

Page 53: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Técnicas de I.A.Para la resolución de problemas de I.A. se requieren técnicas que difieren de las convencionales. En esta sección estudiaremos las características de estas técnicas.

Los programas de I.A. requieren de conocimiento. En compensación por esta arrolladora ventaja, el conocimiento tiene algunas propiedades menos deseables como son:

Ser voluminoso. Ser difícil de caracterizar y modelar con precisión. Estar cambiando constantemente.

Page 54: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Una técnica de I.A. es un método para explotar el conocimiento, que debería ser representado de tal manera que:

Capte generalizaciones: No es una Base de Datos. No debe ser necesario representar cada situación individual, sino que se agrupen las situaciones que compartan propiedades importantes. Si no tiene esta característica se necesitaría más espacio del disponible y más tiempo del que tenemos para mantenerlo actualizado.

Pueda ser comprendido por los especialistas que lo proporcionan.

Deba ser modificable fácilmente. Pueda ser usado en muchas situaciones diversas, incluso si no es

totalmente preciso o completo. Pueda ser usado para extenderse a sí mismo.

Page 55: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Los lenguajes básicos para la implementación de las técnicas de I.A. son LISP y PROLOG por las facilidades que brindan para el tratamiento simbólico, entre otras razones. LISP permite diseñar las estructuras de datos y los algoritmos que los manejan de una manera muy eficiente. PROLOG, a su vez, tiene muy buen poder expresivo, permitiendo una formulación bastante natural y directa en la solución de muchos problemas. En esto, los lenguajes procedurales son muy malos.

Page 56: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

No se debe confundir las técnicas de I.A. con software de I.A. Se deben diferenciar dos aspectos fundamentales:

Software para el desarrollo de aplicaciones con técnicas de I.A. Ejemplo: el shell de un sistema experto, máquina de inferencia

más interface con el usuario, puede ser escrito en cualquier otro lenguaje. De hecho, el LISP y el PROLOG son malos para implementar shells debido a su eficiencia computacional.

Aplicaciones en el campo de I.A. Ejemplos: Sistemas Expertos, traductores, demostradores de

teoremas es-pecíficos, etc. Para los traductores es mejor usar LISP y para los demostradores de teoremas, es mejor el PROLOG.

Page 57: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Saber si estamos en presencia de un programa inteligente no es un problema sencillo. A veces, sin embargo, es posible lograr una medida bastante precisa de la ejecución de un programa. Por ejemplo, un programa para jugar ajedrez puede obtener una puntuación de ajedrez de la misma forma que un humano. Existen hoy en día programas que han obtenido puntuaciones más altas que la mayoría de los jugadores humanos. DENDRAL es un sistema experto que analiza componentes orgánicos para determinar su estructura. Es difícil obtener una medida de comparación con los químicos humanos, pero ha producido análisis que han sido publicados como resultados originales de investigación.

Page 58: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Aplicaciones de la I.A.Son innumerables los campos de aplicación de las técnicas de I.A. Ejemplos de ellos son los siguientes:

Juegos.

Fueron precisamente, las primeras aplicaciones de la I.A., pues constituían una excelente demostración de que las computadoras podían realizar actividades inteligentes. Actualmente se han desarrollado múltiples programas para jugar al ajedrez, las damas, resolver el cubo de Rubik, entre otros.

Page 59: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Solución general de problemas. Para la solución de problemas no algorítmicos o intratables computacionalmente la I.A. ofrece una alternativa eficiente. Se han desarrollado, de esta forma, demostradores de teoremas, simplificadores de fórmulas matemáticas, planificadores, entre otros.

Page 60: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Sistemas Expertos.Constituye hoy en día el área de aplicación de la I.A. de mayor éxito. Los sistemas expertos permiten almacenar y utilizar el conocimiento de uno o varios expertos humanos en un dominio de aplicación concreto. Su uso incrementa la productividad, mejora la eficiencia en la toma de decisiones o simplemente permite resolver problemas cuando los expertos no están presentes. Muchos son los ejemplos de sistemas expertos desarrollados. Entre ellos: MYCIN (para el diagnóstico médico), PROSPECTOR (para la detección de yacimientos minerales), DENDRAL (para el análisis de la estructura de sustancias químicas), etc.

Page 61: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Procesamiento de lenguaje natural. Los programas de procesamiento de lenguaje natural utilizan las técnicas de I.A. para permitir que las computadoras comprendan y generen interfaces en lenguaje natural, lo cual haría más fácil el uso de estos programas por el usuario. La comprensión del lenguaje natural incluye el análisis de la sintaxis o gramática, la semántica o significado y el contexto del lenguaje. Un ejemplo de programas de procesamiento de lenguaje natural son los traductores de idiomas.

Page 62: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Visión. La visión por computadora comprende el análisis y evaluación de la in-formación visual. El uso de las técnicas de I.A. permite a las computa-doras examinar imágenes reales e identificar sus objetos y rasgos. Un sistema típico está compuesto por una cámara de video que capta las imágenes, un convertidor analógico-digital que envía las señales a la computadora y un software de I.A. que, mediante técnicas de búsqueda y reconocimiento de patrones, analiza la imagen. Un ejemplo de aplicación es el análisis de fotografías aéreas.

Page 63: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Robótica. La robótica es el campo de la ingeniería dedicada a simular ciertas capacidades físicas del hombre. Los robots no pueden actuar ante situaciones cambiantes y tomar decisiones si no se dotan de softwares de I.A. Un robot dotado de inteligencia puede decidir cambiar el orden de la secuencia de sus operaciones, eliminar algunos pasos o modificar alguno de ellos. Para eso se dotan a los robots de sensores de presión, temperatura, de luz, de cámaras de video, etc., además de softwares para la toma de decisiones. Al incorporar la I.A. a los robots aumenta su flexibilidad y utilidad.

Page 64: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Educación. La I.A puede ser usada en la educación y el entrenamiento, mediante la creación de programas que actúan como tutores inteligentes. Los tutoriales convencionales son rígidos en el sentido de que sus textos son fijos para todos los estudiantes. Al dotarlos de técnicas de I.A., ellos son capaces de variar su contenido en dependencia del conocimiento, habilidad e inteligencia del estudiante. Por otro lado, pueden proveerse de interfaces en lenguaje natural e incluso pueden adquirir nuevo conocimiento automáticamente en interacción con el tutor humano.

Page 65: Inteligencia Artificial - Cap 1

CAPÍTULO 1 – INTRODUCCIÓN A LA IA

Programación automática. El desarrollo de un software tiene varias etapas. La primera consiste en la definición del problema y el objetivo a resolver. Luego se diseña funcionalmente el software, identificando los datos, los procesos y sus interrelaciones. Por último, se implementa en un lenguaje de programación concreto y se compila, llevándolo a código de máquina. La programación automática, o sea, la automatización del proceso de desarrollo de softwares significa permitirle al programador especificar qué es lo que quiere, en lugar de cómo se debe realizar. Con la programación automática se han obtenido muchos beneficios: reducción de errores, incremento de la complejidad de los sistemas que se implementan y liberación del programador de los detalles de implementación, dirigiendo su atención al estudio profundo del problema, lo que le permite llegar a soluciones más rápidas y correctas.

Page 66: Inteligencia Artificial - Cap 1

INQUIETUDES

Page 67: Inteligencia Artificial - Cap 1

TALLER

1. ¿Qué combinación existe entre la inteligencia artificial y la inteligencia humana?

2. ¿En algún momento cree usted que las máquinas reemplazarán a los humanos?

3. ¿Cuál sería su concepto de Inteligencia Artificial?

4. Describa un Sistema Experto que ayude a personas con cualquier tipo de discapacidad.