Material Autoinstruccional · UNIDAD I Introducción. La Inteligencia Artificial comenzó como el...

25
Material Autoinstruccional INTELIGENCIA ARTIFICIAL TAPACHULA DE CÓRDOVA Y ORDÓÑEZ, CHIAPAS.

Transcript of Material Autoinstruccional · UNIDAD I Introducción. La Inteligencia Artificial comenzó como el...

Page 1: Material Autoinstruccional · UNIDAD I Introducción. La Inteligencia Artificial comenzó como el resultado de la investigación en psicología ... se separó la Inteligencia Artificial

Material Autoinstruccional

INTELIGENCIA ARTIFICIAL

TAPACHULA DE CÓRDOVA Y ORDÓÑEZ, CHIAPAS.

Page 2: Material Autoinstruccional · UNIDAD I Introducción. La Inteligencia Artificial comenzó como el resultado de la investigación en psicología ... se separó la Inteligencia Artificial

INTELIGENCIA ARTIFICIAL

UNIDAD I

Introducción.

La Inteligencia Artificial comenzó como el resultado de la investigación en psicología

cognitiva y lógica matemática. Se ha enfocado sobre la explicación del trabajo

mental y construcción de algoritmos de solución a problemas de propósito general.

Punto de vista que favorece la abstracción y la generalidad.

La Inteligencia Artificial es una combinación de la ciencia del computador, fisiología

y filosofía, tan general y amplio como eso, es que reúne varios campos (robótica,

sistemas expertos, por ejemplo), todos los cuales tienen en común la creación de

máquinas que pueden "pensar".

La idea de construir una máquina que pueda ejecutar tareas percibidas como

requerimientos de inteligencia humana es un atractivo. Las tareas que han sido

estudiadas desde este punto de vista incluyen juegos, traducción de idiomas,

comprensión de idiomas, diagnóstico de fallas, robótica, suministro de asesoría

experta en diversos temas.

Es así como los sistemas de administración de base de datos cada vez más

sofisticados, la estructura de datos y el desarrollo de algoritmos de inserción,

borrado y locación de datos, así como el intento de crear máquinas capaces de

realizar tareas que son pensadas como típicas del ámbito de la inteligencia humana,

acuñaron el término Inteligencia Artificial en 1956.

Trabajos teóricos fundamentales fueron el desarrollo de algoritmos matemáticos por

Warren McCullock y Walter Pitts, en 1943, necesarios para posibilitar el trabajo de

clasificación, o funcionamiento en sentido general, de una red neuronal. En 1949

Donald Hebb desarrolló un algoritmo de aprendizaje para dichas redes neuronales

creando, en conjunto con los trabajos de McCullock y Pitts, la escuela creacionista.

Esta escuela se considera hoy como el origen de la Inteligencia Artificial, sin

embargo se trató poco por muchos años, dando paso al razonamiento simbólico

basado en reglas de producción, lo que se conoce como sistemas expertos.

Nociones y Antecedentes Históricos de Inteligencia Artificial.

Definiciones sobre Inteligencia Artificial:

Disciplina científico-técnica que trata de crear sistemas artificiales capaces de

comportamientos que, de ser realizados por seres humanos, se diría que requieren

inteligencia.

Page 3: Material Autoinstruccional · UNIDAD I Introducción. La Inteligencia Artificial comenzó como el resultado de la investigación en psicología ... se separó la Inteligencia Artificial

Estudio de los mecanismos de la inteligencia y las tecnologías que lo sustentan.

(Newell, 91)

Intento de reproducir (modelar) la manera en que las personas identifican,

estructuran y resuelven problemas difíciles (Pople, 84)

Son ciertas herramientas de programación, entendiendo por herramientas:

• Lenguajes: LISP, PROLOG

• Entornos de desarrollo: shells

• Arquitecturas de alto nivel: nodo y arco, sistemas de producciones

Desde sus comienzos hasta la actualidad, la Inteligencia Artificial ha tenido que

hacer frente a una serie de problemas:

Los computadores no pueden manejar (no contienen) verdaderos significados.

Los computadores no tienen autoconciencia (emociones, sociabilidad, etc.).

Un computador sólo puede hacer aquello para lo que está programado.

Las máquinas no pueden pensar realmente.

En 1843, Lady Ada Augusta Byron, patrocinadora de Charles Babbage planteó el

asunto de si la máquina de Babbage podía "pensar".

Los primeros problemas que se trató de resolver fueron puzzles, juegos de ajedrez,

traducción de textos a otro idioma.

Durante la II Guerra Mundial Norbert Wiener y John Von Neumann establecieron los

principios de la cibernética en relación con la realización de decisiones complejas y

control de funciones en máquinas.

La teoría de la retroalimentación en mecanismos, como por ejemplo un termostato

que regula la temperatura en una casa, tuvo mucha influencia. Esto aún no era

propiamente Inteligencia Artificial. Se hizo mucho en traducciones (Andrew Booth y

Warren Weaver), lo que sembró la semilla hacia el entendimiento del lenguaje

natural.

En el año 1955 Herbert Simon, el físico Allen Newell y J.C. Shaw, programador de

la RAND Corp. y compañero de Newell, desarrolla el primer lenguaje de

programación orientado a la resolución de problemas de la Inteligencia Artificial, el

IPL-11. Un año más tarde estos tres científicos desarrollan el primer programa de

Inteligencia Artificial al que llamaron Logic Theorist, el cual era capaz de demostrar

teoremas matemáticos, representando cada problema como un modelo de árbol, en

el que se seguían ramas en busca de la solución correcta, que resultó crucial. Este

programa demostró 38 de los 52 teoremas del segundo capítulo de Principia

Mathematica de Russel y Whitehead.

Page 4: Material Autoinstruccional · UNIDAD I Introducción. La Inteligencia Artificial comenzó como el resultado de la investigación en psicología ... se separó la Inteligencia Artificial

En 1956, con la ahora famosa conferencia de Dartmouth, organizada por John

McCarthy y en la cual se utilizó el nombre de inteligencia artificial para este nuevo

campo, se separó la Inteligencia Artificial de la ciencia del computador, como tal. Se

estableció como conclusión fundamental la posibilidad de simular inteligencia

humana en una máquina.

En 1957 Newell y Simon continúan su trabajo con el desarrollo del General Problems

Solver (GPS). GPS era un sistema orientado a la resolución de problemas; a

diferencia del Logic Theorist, el cual se orientó a la demostración de teoremas

matemáticos, GPS no estaba programado para resolver problemas de un

determinado tipo, razón a la cual debe su nombre. Resuelve una gran cantidad de

problemas de sentido común, como una extensión del principio de retroalimentación

de Wiener.

Diversos centros de investigación se establecieron, entre los más relevantes están,

la Universidad Carnegie Mellon, el Massachusetts Institute of Technologie (MIT),

encabezado por Marvin Minsky, la Universidad de Standford e IBM. Los temas

fundamentales eran el desarrollo de heurísticas y el aprendizaje de máquinas.

En 1957 McCarthy desarrolló el lenguaje LISP. La IBM contrató un equipo para la

investigación en esa área y el gobierno de USA aportó dinero al MIT también para

investigación en 1963.

A finales de los años 50 y comienzos de la década del 60 se desarrolla un programa

orientado a la lectura de oraciones en inglés y la extracción de conclusiones a partir

de su interpretación, al cual su autor, Robert K. Lindsay, denomina "Sad Sam". Este

podía leer oraciones del tipo "Jim es hermano de John" y "La madre de Jim es Mary",

a partir de ella el sistema concluía que Mary debía ser también la madre de John.

Este sistema representó un enorme paso de avance en la simulación de inteligencia

humana por una máquina, pues era capaz de tomar una pieza de información,

interpretarla, relacionarla con información anteriormente almacenada, analizarla y

sacar conclusiones lógicas.

En el mismo período de tiempo hay trabajos importantes de Herbert Gelernter, de

IBM, quien desarrolla un "Demostrador Automático de Teoremas de la Geometría",

Alex Bernstein desarrolla un programa para el juego de ajedrez que se considera el

antecedente para "Deep Blue".

En 1961 se desarrolla SAINT (Simbolic Automatic INTegrator) por James Slagle el

cual se orienta a la demostración simbólica en el área del álgebra.

En 1964 Bertrand Raphael construye el sistema SIR (Semantic Information

Retrieval) el cual era capaz de comprender oraciones en inglés.

Page 5: Material Autoinstruccional · UNIDAD I Introducción. La Inteligencia Artificial comenzó como el resultado de la investigación en psicología ... se separó la Inteligencia Artificial

A continuación un ejemplo, traducido, de interacción entre SIR y un usuario:

Usuario: Todos somos personas

SIR: Comprendo

Usuario: Un dedo es una parte de la mano

SIR: Comprendo

Usuario: Cada persona tiene dos manos

SIR: La oración anterior es ambigua. Por favor reconstrúyala.

Usuario: En cada persona hay dos manos

SIR: Comprendo

Usuario: ¿Cuantos dedos tiene John?

SIR: La oración anterior es ambigua, pero asumo que TIENE significa TIENE COMO

PARTES. No se si los dedos forman parte de John.

Usuario: John es un chico

SIR: Comprendo

Usuario: ¿Cuántos dedos tiene John?

SIR: La oración anterior es ambigua, pero asumo que TIENE significa TIENE COMO

PARTES, ¿cuántos dedos por mano?.

Usuario: Cada mano tiene cinco dedos.

SIR: Comprendo

Usuario: ¿Cuántos dedos tiene John?

SIR: La respuesta es diez.

Page 6: Material Autoinstruccional · UNIDAD I Introducción. La Inteligencia Artificial comenzó como el resultado de la investigación en psicología ... se separó la Inteligencia Artificial

En la década del 60 se comienza en el MIT el estudio de la visión artificial, lo cual

implica no solo captar imágenes a través de una cámara, sino también la

comprensión, de lo que estas imágenes representan.

Un resultado importante en este trabajo lo constituye el "mundo de micro-bloques",

en el cual un robot era capaz de percibir un conjunto de bloques sobre una mesa,

moverlos y apilarlos; el éxito se debió a los investigadores Larry Roberts, Gerald

Sussman, Adolfo Guzman, Max Clowes, David Huffman, David Waltz, Patrick

Winston, y Berthold Horn.

Posteriormente se obtuvieron resultados importantes entre ellos el de mayor

resonancia fue el sistema SCHRDLU de Terry Winograd, pues permitía interrogar y

dar órdenes a un robot que se movía dentro de un mundo de bloques.

A continuación mostramos un ejemplo traducido:

Usuario: Toma un bloque rojo.

SCHRDLU: Ok.

Usuario: Busca un bloque más pequeño que el que tienes y ponlo dentro de la caja.

SCHRDLU: Asumo que PONLO se refiere al bloque más pequeño que el que tengo.

Usuario: ¿Qué contiene la caja?

SCHRDLU: La pirámide azul y el bloque azul.

Usuario: ¿Qué sostiene a la pirámide?

SCHRDLU: La caja.

Usuario: ¿Cuántos bloques no están sobre la mesa?

SCHRDLU: Cuatro.

Usuario: ¿Es al menos uno de ellos más estrecho que aquel que te dije que

recogieras?

SCHRDLU: Sí, el cubo rojo.

Usuario: ¿Lo sostiene algo?

SCHRDLU: Sí, la mesa.

Usuario: ¿Puede la mesa recoger bloques?

Page 7: Material Autoinstruccional · UNIDAD I Introducción. La Inteligencia Artificial comenzó como el resultado de la investigación en psicología ... se separó la Inteligencia Artificial

SCHRDLU: No.

Usuario: La pirámide azul es mía.

SCHRDLU: Comprendo.

Usuario: Todos los bloques que no son rojos son míos, pero no poseo nada que

sostenga una pirámide.

SCHRDLU: Comprendo.

Usuario: ¿Poseo una caja?

SCHRDLU: No

Usuario: ¿Poseo algo de la caja?

SCHRDLU: Si, dos cosas: El bloque azul y la pirámide azul.

Aunque parezca impresionante la capacidad del sistema para razonar y ejecutar

acciones, no se debe perder de vista el hecho que el robot se mueve en un mundo

muy simple de figuras geométricas, y que las relaciones entre ellas son muy

limitadas. En el mundo real existen tantos objetos diferentes y relaciones entre ellos,

que tratar de llevar este sistema a un entorno real resulta prácticamente imposible.

En los primeros años de la década del 60 Frank Rosemblatt desarrolla, en la

Universidad de Cornell, un modelo de la mente humana a través de una red neuronal

y produce un primer resultado al cual llama perceptrón. Este sistema era una

extensión del modelo matemático concebido por McCullock y Pitts para las

neuronas, y funcionaba basándose en el principio de "disparar" o activar neuronas

a partir de un valor de entrada el cual modifica un peso asociado a la neurona, si el

peso resultante sobrepasa un cierto umbral la neurona se dispara y pasa la señal a

aquellas con las que está conectada. Al final, en la última capa de neuronas,

aquellas que se activen definirán un patrón el cual sirve para clasificar la entrada

inicial.

Este trabajo constituye la base de las redes neuronales de hoy en día, sin embargo

a raíz de su desarrollo sufrió fuertes críticas por parte de Marvin Minsky

Page 8: Material Autoinstruccional · UNIDAD I Introducción. La Inteligencia Artificial comenzó como el resultado de la investigación en psicología ... se separó la Inteligencia Artificial

y Seymour Papert lo cual provocó que la mayoría de los investigadores interesados

en el tema lo abandonarán, y este no se retomara hasta los años 80.

En 1965-70, comenzaron a aparecer los programas expertos, que predicen la

probabilidad de una solución bajo un set de condiciones, entre esos proyectos

estuvo: DENDRAL, que asistía a químicos en estructuras químicas complejas

euclidianas; MACSYMA, producto que asistía a ingenieros y científicos en la

solución de ecuaciones matemáticas complejas, etc.

En la década 1970-80, creció el uso de sistemas expertos, muchas veces diseñados

para aplicaciones médicas y para problemas realmente muy complejos como

MYCIN, que asistió a médicos en el diagnóstico y tratamiento de infecciones en la

sangre. Otros son: R1/XCON, PIP, ABEL, CASNET, PUFF,

INTERNIST/CADUCEUS, etc. Algunos permanecen hasta hoy.

De 1975 en adelante, comienza la era de los lenguajes expertos (shells) como

EMYCIN, EXPERT, OPSS, etc. para luego tratar de que éstos sean más amigables

y funcionales.

Las definiciones de Inteligencia Artificial son muchas, pero podría decirse que son

programas que realizan tareas que si fueran hechas por humanos se considerarían

inteligentes.

Estos programas obviamente corren en un computador y se usan, como por

ejemplo, en control robótico, comprensión de lenguajes naturales, procesamiento

de imágenes basado en conocimientos previos, estrategias de juegos, etc.

reproduciendo la experiencia que un humano adquiriría y de la forma en que un

humano lo haría.

Para clasificar las máquinas como "pensantes", es necesario definir qué es

inteligencia y qué grado de inteligencia implica resolver problemas matemáticos

complejos, hacer generalizaciones o relaciones, percibir y comprender. Los estudios

en las áreas del aprendizaje, del lenguaje y de la percepción sensorial han ayudado

a los científicos a definir a una máquina inteligente. Importantes desafíos han sido

tratar de imitar el comportamiento del cerebro humano, con millones de neuronas y

extrema complejidad.

Características de la Inteligencia Artificial.

Una característica fundamental que distingue a los métodos de Inteligencia Artificial

de los métodos numéricos es el uso de símbolos no matemáticos, aunque no es

suficiente para distinguirlo completamente. Otros tipos de programas como los

compiladores y sistemas de bases de datos, también procesan símbolos y no se

considera que usen técnicas de Inteligencia Artificial.

Page 9: Material Autoinstruccional · UNIDAD I Introducción. La Inteligencia Artificial comenzó como el resultado de la investigación en psicología ... se separó la Inteligencia Artificial

Las conclusiones de un programa declarativo no son fijas y son determinadas

parcialmente por las conclusiones intermedias alcanzadas durante las

consideraciones al problema específico. Los lenguajes orientados al objeto

comparten esta propiedad y se han caracterizado por su afinidad con la

Inteligencia Artificial.

El comportamiento de los programas no es descrito explícitamente por el algoritmo.

La secuencia de pasos seguidos por el programa es influenciado por el problema

particular presente. El programa especifica cómo encontrar la secuencia de pasos

necesarios para resolver un problema dado (programa declarativo). En contraste

con los programas que no son de Inteligencia Artificial, que siguen un algoritmo

definido, que especifica, explícitamente, cómo encontrar las variables de salida para

cualquier variable dada de entrada (programa de procedimiento).

El razonamiento basado en el conocimiento, implica que estos programas

incorporan factores y relaciones del mundo real y del ámbito del conocimiento en

que ellos operan. Al contrario de los programas para propósito específico, como los

de contabilidad y cálculos científicos; los programas de Inteligencia Artificial pueden

distinguir entre el programa de razonamiento o motor de inferencia y base de

conocimientos dándole la capacidad de explicar discrepancias entre ellas.

Aplicabilidad a datos y problemas mal estructurados, sin las técnicas de Inteligencia

Artificial los programas no pueden trabajar con este tipo de problemas. Un ejemplo

es la resolución de conflictos en tareas orientadas a metas como en planificación, o

el diagnóstico de tareas en un sistema del mundo real: con poca información, con

una solución cercana y no necesariamente exacta.

La Inteligencia Artificial incluye varios campos de desarrollo tales como: la robótica,

usada principalmente en el campo industrial; comprensión de lenguajes y

traducción; visión en máquinas que distinguen formas y que se usan en líneas de

ensamblaje; reconocimiento de palabras y aprendizaje de máquinas; sistemas

computacionales expertos.

Los sistemas expertos, que reproducen el comportamiento humano en un estrecho

ámbito del conocimiento, son programas tan variados como los que diagnostican

infecciones en la sangre e indican un tratamiento, los que interpretan datos

sismológicos en exploración geológica y los que configuran complejos equipos de

alta tecnología.

Tales tareas reducen costos, reducen riesgos en la manipulación humana en áreas

peligrosas, mejoran el desempeño del personal inexperto, y mejoran el control de

calidad sobre todo en el ámbito comercial.

Page 10: Material Autoinstruccional · UNIDAD I Introducción. La Inteligencia Artificial comenzó como el resultado de la investigación en psicología ... se separó la Inteligencia Artificial

UNIDAD II

BÚSQUEDAS

Los algoritmos exhaustivos son aquellos que analizan todo el espacio de búsqueda

para encontrar una o todas las soluciones y garantizan que pueden encontrar una

solución óptima.

El retroceso o vuelta atrás es una técnica de resolución de problemas que realiza

una búsqueda exhaustiva, sistemática y organizada sobre el espacio de búsqueda

del problema, aplicable a problemas de optimización, juegos, búsquedas entre

otros.

Se llaman algoritmos de vuelta atrás, porque en el caso de no encontrar una solución

a una subtarea se retrocede a la subtarea anterior y se prueba otro camino diferente

a los probados anteriormente.

Estos algoritmos se asemejan al recorrido en profundidad dentro de un grafo, siendo

cada subtarea un nodo del grafo. El caso es que el grafo no está definido de forma

explícita (como lista o matriz de adyacencia), sino de forma implícita, es decir, que

se irá creando según avance el recorrido de la búsqueda. A menudo dicho grafo se

comporta como un árbol, que no contiene ciclos, es decir, es imposible llegar a una

misma soluciónpartiendo de dos subtareas distintas.

Este tipo de estrategias tienen una premisa fundamental que afirma que si un

problema tiene solución, este la encuentra.

Los problemas que manejan los algoritmos exhaustivos, se caracterizan por:

a. se trata generalmente de problemas de optimización, con o sin restricciones.

b. la solución es expresable en forma de una secuencia de decisiones.

Page 11: Material Autoinstruccional · UNIDAD I Introducción. La Inteligencia Artificial comenzó como el resultado de la investigación en psicología ... se separó la Inteligencia Artificial

c. existe una función denominada factible que permite averiguar si en una secuencia

de decisiones, la solución en curso, viola o no las restricciones.

d. existe una función, denominada solución, que permite determinar si una

secuencia de decisiones factible es solución al problema planteado.

FORMA GENERAL

El esquema general de solución presenta los siguientes pasos:

a. Vuelta Atrás hace un recorrido en profundidad del espacio de búsqueda

partiendo de la raíz.

b. El recorrido en profundidad regresa sobre sus pasos, retrocede, cada vez que

encuentra un camino que se ha acabado o por el que no puede continuar.

c. En un recorrido en profundidad o en anchura sobre un espacio de búsqueda

se conoce de antemano el orden en que se van a generar o recorrer, sus nodos.

Page 12: Material Autoinstruccional · UNIDAD I Introducción. La Inteligencia Artificial comenzó como el resultado de la investigación en psicología ... se separó la Inteligencia Artificial

UNIDAD III

Redes Neuronales.

Las Redes Neuronales surgieron del movimiento conexionista, que nació junto con

la Inteligencia Artificial simbólica o tradicional. Esto fue hacia los años 50, con

algunos de los primeros ordenadores de la época y las posibilidades que ofrecían.

La Inteligencia Artificial simbólica se basa en que todo conocimiento se puede

representar mediante combinaciones de símbolos, derivadas de

otras combinaciones que representan verdades incuestionables o axiomas.

Así pues, la Inteligencia Artificial tradicional asume que el conocimiento es

independiente de la estructura que maneje los símbolos, siempre y cuando la

'máquina' realice algunas operaciones básicas entre ellos. En contraposición, los

'conexionistas' intentan representar el conocimiento desde el estrato más básico de

la inteligencia: el estrato físico. Creen que el secreto para el aprendizaje y el

conocimiento se halla directamente relacionado con la estructura del cerebro:

concretamente con las neuronas y la interconexión entre ellas. Trabajan con grupos

de neuronas artificiales, llamadas Redes Neuronales.

La estructura básica de una neurona natural es:

Éstas funcionan como sigue:

Cada neurona puede tener infinitas entradas llamadas Dendritas que condicionan el

estado de su única salida, el Axón. Este Axón puede ir conectado a una Dendrita de

otra neurona mediante la Sinapsis correspondiente, de la siguiente manera:

Page 13: Material Autoinstruccional · UNIDAD I Introducción. La Inteligencia Artificial comenzó como el resultado de la investigación en psicología ... se separó la Inteligencia Artificial

El Axón da un nivel eléctrico correspondiente a sus entradas y a la importancia que

les da a cada una de ellas. De esta forma, una neurona puede no reaccionar ante

un nivel muy alto de una de sus entradas, o dar una salida muy favorable cuando

otra de ellas está mínimamente activa.

En las primeras etapas de nuestra vida, cuando realizamos el aprendizaje de

nuestros cerebros, entrenamos nuestras neuronas mediante el éxito o fracaso de

una acción a unos estímulos sensoriales.

Cuando cierta acción realizada en respuesta a alguna entrada sensorial es exitosa

(por ejemplo, al beber agua calmamos la sed), las conexiones sinápticas entre un

grupo de neuronas se fortalecen, de manera que cuando tengamos una sensación

sensorial parecida, la salida será la correcta. De esta forma se forman fuertes

conexiones entre grupos de neuronas, que pueden servir para realizar otras

acciones complejas.

Esta neurona funciona de la siguiente manera:

cada entrada x tiene su peso asociado w, que le dará más o menos importancia en

la activación de la neurona. Internamente se calcula la suma de cada entrada

multiplicada por su peso:

Con este valor de suma ponderada se calcula una función de activación, que será

la salida que dará la neurona. Las dos funciones de activación más usada son el

Escalón y la Sigmoidea:

Principalmente se diferencian en que la Sigmoidea (llamada así por su forma de S)

es diferenciable en todos sus puntos y la Escalón no.

El Perceptrón unicapa.

Un Perceptrón unicapa no es más que un conjunto de neuronas no unidas entre sí,

de manera que cada una de las entradas del sistema se conectan a cada neurona,

produciendo cada una de ellas su salida individual.

Como se ha dicho, un conjunto de neuronas no sirve para nada si previamente no

se le enseña qué debe hacer.

Existen tres métodos de aprendizaje para un Perceptrón: Supervisado, Por Refuerzo

y No Supervisado.

En el Aprendizaje Supervisado se presentan al Perceptrón unas entradas con las

correspondientes salidas que se quiere éste aprenda. De esta manera la red

primero, calcula la salida que da ella para esas entradas y luego, conociendo el error

que está cometiendo, ajusta sus pesos proporcionalmente al error que ha cometido

(si la diferencia entre salida calculada y salida deseada es nula, no se varían los

pesos).

Page 14: Material Autoinstruccional · UNIDAD I Introducción. La Inteligencia Artificial comenzó como el resultado de la investigación en psicología ... se separó la Inteligencia Artificial

En el Aprendizaje No Supervisado, solo se presentan al Perceptrón las entradas y,

para esas entradas, la red debe dar una salida parecida.

En el Aprendizaje Por Refuerzo se combinan los dos anteriores, y de cuando en

cuando se presenta a la red una valoración global de como lo está haciendo.

El Perceptrón multicapa.

Esta estructura nació con la intención de dar solución a las limitaciones del

Perceptrón clásico o unicapa, y supuso el resurgimiento del movimiento

conexionista. Como su nombre indica, se trata de un unos cuantos (dos o tres)

perceptrones unicapa conectados en cascada.

El problema de este tipo de Perceptrón está en su entrenamiento, ya que es difícil

modificar correctamente los pesos de la capa oculta (la capa 1 en el ejemplo

anterior). Para poder hacer aprender cosas a un Perceptrón de este tipo, se

implementó el algoritmo de BackPropagation, que tal como su nombre indica tiene

la función de ir propagando los errores producidos en la capa de salida hacia atrás.

El proceso de aprendizaje tiene un gran coste de tiempo. Debido a eso, todavía no

se ha estudiado a fondo. Las redes neuronales todavía se han de desarrollar mucho.

Aún se debe estudiar para qué sirven realmente, conocer en qué tareas pueden

resultar realmente útiles, ya que por ejemplo, es difícil saber cuánto tiempo necesita

una red para aprender cierta tarea, cuántas neuronas se necesitan como mínimo

para realizar cierta tarea, etc.

Las redes neuronales pueden llegar a ser algo realmente importante, pero todavía

hace falta tiempo para estudiar cómo almacenan el conocimiento para desarrollar el

hardware paralelo específico que requieren.

En la robótica, las redes neuronales también parecen prometer mucho, sobre todo

en su sensorización, para que el robot sea capaz de generalizar lo que siente como

estímulos individuales a considerar.

Algunos Casos y Antecedentes Históricos.

Page 15: Material Autoinstruccional · UNIDAD I Introducción. La Inteligencia Artificial comenzó como el resultado de la investigación en psicología ... se separó la Inteligencia Artificial

Los hitos más importantes en el desarrollo de los sistemas expertos son:

1928. John Von Neuman desarrolla su teorema "mínimos y máximos" utilizado

posteriormente en juegos.

1943. McCullock y Pitts proponen la arquitectura de redes neuronales para la

simulación de la inteligencia.

1945. Vannevar Bush publica "As we may think ...", o "Cabría imaginar ... ", en

Atlantic Monthly el cual sienta las bases de lo que hoy se conoce como Hipertexto,

Multimedia e Hipermedia.

1949. Shannon desarrolla la Teoría de la Información base fundamental de la

Informática y varias de sus áreas.

1950. Shannon propone el primer programa de ajedrez .

1950. Turing publica "Computing machinery and Intelligence".

1956. Newell, Shaw, y Simon crean "IPL-11" el primer lenguaje de programación

para IA.

1956. Newell, Shaw, y Simon crean "The Logic Theorist" para la resolución de

problemas matemáticos.

1957. Chomsky escribe "estructuras Sintácticas".

1957. Newell, Shaw, y Simon crean GPS.

1958. McCarthy introduce el lenguaje "LISP", para procesamiento simbólico de la

información.

1959. Rosenblatt introduce el Perceptron.

1959. EL programa de ajedrez de Samuel gana juegos contra grandes jugadores.

1963. ARPA da un fondo de investigación de dos millones de dólares al laboratorio

de IA del MIT.

1963. Quillian desarrolla las redes semánticas como modelo de representación del

conocimiento.

1963. Minsky escribe "Steps toward Artificial Intelligence".

1964. Bobrow desarrolla STUDENT.

1964. Se comienza el desarrollo de BBNLisp en BBN.

1965. Buchanan, Feigenbaum y Lederberg comienzan el proyecto DENDRAL, el

primer Sistema Experto.

Page 16: Material Autoinstruccional · UNIDAD I Introducción. La Inteligencia Artificial comenzó como el resultado de la investigación en psicología ... se separó la Inteligencia Artificial

1965. Iva Sutherland hace demostración del primer monitor en forma de casco para

realidad virtual.

1965. Dreyfus argumenta en contra de la IA.

1968. Minsky publica "Semantic Information Processing".

1969. Minsky y Papert critican el Perceptron.

1970. Colmerauer desarrolla PROLOG quizás el lenguaje de Inteligencia Artificial

más popular actualmente.

1970. Winograd crea SCHRDLU.

1972. Dreyfus publica "What Computers Can't Do".

1972. Se desarrolla el lenguaje SmallTalk en Xerox PARC.

1973. Shank y Abelson desarrollan los guiones, o scripts, base de muchas técnicas

actuales de la Inteligencia Artificial y la Informática en general.

1974. Edward Shortliffe escribe su tesis con MYCIN, uno de los Sistemas Expertos

más conocidos.

1974. Minsky publica "A Framework for Representing Knowledge".

1974. Se establece la red SUMEX-AIM para aplicaciones de la Inteligencia

Artificial en medicina.

1975. La DARPA lanza un programa de financiación para el procesamiento y

comprensión de imágenes.

1976. Greenblatt crea "CONS" el primer ordenador con arquitectura para LISP.

1976. Lenat introduce su "Automated Matematician".

1978. Xerox comienza a desarrolla ordenadores LISP.

1979. Raj Reddy funda el Instituto de Robótica en la Universidad Carnegie Mellon.

1980. Primera conferencia de la AAAI (American Association on Artificial

Intelligence) en Stanford, y primera Conferencia de Lisp y programación

funcional de la ACM.

1981. Kazuhiro Fuchi anuncia el proyecto japonés de quinta generación de

computadores.

1981. El PSL (Portable Standard Lisp) se puede ejecutar sobre varias plataformas.

Page 17: Material Autoinstruccional · UNIDAD I Introducción. La Inteligencia Artificial comenzó como el resultado de la investigación en psicología ... se separó la Inteligencia Artificial

1981. Se construyen máquinas LISP por Xerox, LMI y Simbolics, las cuales soportan

Programación Orientada a Objetos.

1981. Se sientan las bases del Common Lisp con aspectos comunes de las familias:

Lisp machine Lisp, MacLisp, NIL, S-1 Lisp, Spice Lisp y Scheme.

1982. John Hopfield resucita las redes neuronales.

1983. Feigenbaum y McCorduck publican "The Fifth Generation".

1984. Steele publica "Common Lisp the Language".

1984. La comunidad europea comienza el programa ESPRIT.

1984. Gold Hill crea el Golden Commom Lisp.

1985. General Motors y Campbell's Soup dejan de usar Lisp para sus Sistemas

Expertos.

1985. Se funda el Media Lab en el MIT.

1985. Minsky publica "The Society of Mind".

1985. Teknowledge, una compañía dedicada al desarrollo de sistemas en

Inteligencia Artificial, abandona Lisp y Prolog por el lenguaje C.

1986. Primera conferencia de la OOPSLA sobre programación orientada a objetos,

en la cual se presenta CLOS, Lisp Orientado a Objetos, como lenguaje

independiente de la comunidad de Lisp e IA.

1986. IBM desarrolla shells para Lisp, Prolog y Sistemas expertos y entra a la AAAI.

1986. McClelland y Rumelhart's publican "Parallel Distributed Processing" (Redes

Neuronales).

1986. Aparecen compañías dedicadas al desarrollo de Redes Neuronales.

1987. Existen alrededor de 1900 Sistemas Expertos en el mundo.

1987. Sistema experto XCON de DEC capaz de configurar ordenadores realizando

el trabajo de 300 personas, basándose para esto en 10.000 reglas.

1987. Japón establece su sistema AFIS para la identificación automática de huellas

digitales.

1988. El chip del 386 ofrece una velocidad a los PC’s comparable a la de las

máquinas Lisp.

1988. Minsky y Papert publican una revisión de "Perceptrons".

Page 18: Material Autoinstruccional · UNIDAD I Introducción. La Inteligencia Artificial comenzó como el resultado de la investigación en psicología ... se separó la Inteligencia Artificial

1988. Se establecen los lenguajes Orientados a Objetos.

1988. La compañía TI anuncia microExplorer una máquina Lisp con tecnología

Macintosh.

1990. Steele publica la segunda edición de "Common lisp the Language".

1992. Apple Computer introduce el lenguaje Dylan, de la familia Lisp, como su visión

del futuro en la programación.

1992. X3J13 crea una propuesta para la Sociedad Americana de Common Lisp.

1994. La versión para tiempo real del lenguaje CLOS, Lisp con Objetos, de Harlequin

se utiliza en sistema de intercambio de AT&T.

UNIDAD IV

Visión por computador

La visión artificial, también conocida como visión por computador (del inglés

computer vision) o visión técnica, es un subcampo de la inteligencia artificial. El

propósito de la visión artificial es programar un computador para que "entienda" una

escena o las características de una imagen.

Esquema de las relaciones entre la visión por computadora y otras áreas afines.

Los objetivos típicos de la visión artificial incluyen:

La detección, segmentación, localización y reconocimiento de ciertos objetos en

imágenes (por ejemplo, caras humanas).

La evaluación de los resultados (por ejemplo, segmentación, registro).

Registro de diferentes imágenes de una misma escena u objeto, es decir, hacer

concordar un mismo objeto en diversas imágenes.

Page 19: Material Autoinstruccional · UNIDAD I Introducción. La Inteligencia Artificial comenzó como el resultado de la investigación en psicología ... se separó la Inteligencia Artificial

Seguimiento de un objeto en una secuencia de imágenes.

Mapeo de una escena para generar un modelo tridimensional de la escena; este

modelo podría ser usado por un robot para navegar por la escena.

Estimación de las posturas tridimensionales de humanos.

Búsqueda de imágenes digitales por su contenido.

Estos objetivos se consiguen por medio de reconocimiento de patrones, aprendizaje

estadístico, geometría de proyección, procesamiento de imágenes, teoría de grafos

y otros campos. La visión artificial cognitiva está muy relacionada con la psicología

cognitiva y la computación biológica.

La visión por computadora es una rama de la inteligencia artificial que tiene por

objetivo modelar matemáticamente los procesos de percepción visual en los seres

vivos y generar programas que permitan simular estas capacidades visuales por

computadora.

Sus antecedentes se remontan a los años veinte, cuando se mejoró la calidad de

las imágenes digitalizadas de los periódicos, enviadas por cable submarino entre

Londres y Nueva York. Actualmente existen vehículos autónomos que han viajado

de costa a costa en Estados Unidos y sólo han sido asistidos por un operador

humano, el 3% del tiempo.

El proceso de visión por computadora puede subdividirse en seis áreas principales:

1. Sensado: Es el proceso que nos lleva a la obtención de una imagen visual

2. Preprocesamiento: Trata de las técnicas de reducción de ruido y enriquecimiento

de detalles en la imagen

3. Segmentación: Es el proceso que particiona una imagen en objetos de interés.

4. Descripción: Trata con el cómputo de características útiles para diferenciar un

tipo de objeto de otro.

5. Reconocimiento: Es el proceso que identifica esos objetos.

6. Interpretación: Asigna un significado a un conjunto de objetos reconocidos.

Page 20: Material Autoinstruccional · UNIDAD I Introducción. La Inteligencia Artificial comenzó como el resultado de la investigación en psicología ... se separó la Inteligencia Artificial

UNIDAD V

Reconocimiento de patrones

El reconocimiento de patrones —también llamado lectura de patrones, identificación

de figuras y reconocimiento de formas— consiste en el reconocimiento de patrones

de señales. Los patrones se obtienen a partir de los procesos de segmentación,

extracción de características y descripción dónde cada objeto queda representado

por una colección de descriptores. El sistema de reconocimiento debe asignar a

cada objeto su categoría o clase (conjunto de entidades que comparten alguna

característica que las diferencia del resto). Para poder reconocer los patrones se

siguen los siguientes procesos:

• adquisición de datos

• extracción de características

• toma de decisiones

El punto esencial del reconocimiento de patrones es la clasificación: se quiere

clasificar una señal dependiendo de sus características. Señales, características y

clases pueden ser de cualquiera forma, por ejemplo se puede clasificar imágenes

digitales de letras en las clases «A» a «Z» dependiendo de sus píxeles o se puede

clasificar ruidos de cantos de los pájaros en clases de órdenes aviares dependiendo

de las frecuencias.

Componentes básicos de un sistema de reconocimiento de patrones

Sistema básico de reconocimiento

Un sistema completo de reconocimiento de patrones incluye un sensor que recoja

fielmente los elementos del universo a ser clasificado, un mecanismo de extracción

de características cuyo propósito es extraer la información útil, eliminando la

información redundante e irrelevante, y finalmente una etapa de toma de decisiones

en la cual se asigna a la categoría apropiada los patrones de clase desconocida a

priori.

Page 21: Material Autoinstruccional · UNIDAD I Introducción. La Inteligencia Artificial comenzó como el resultado de la investigación en psicología ... se separó la Inteligencia Artificial

Sensor

El sensor es el dispositivo encargado de la adquisición de datos. Ha de ser capaz

de transformar magnitudes físicas o químicas, llamadas variables de

instrumentación, en magnitudes eléctricas. Las variables de instrumentación

dependen del tipo de sensor y pueden ser por ejemplo: temperatura, intensidad

lumínica, distancia, aceleración, inclinación, desplazamiento, presión, fuerza,

torsión, humedad, etc.

El sistema intenta imitar a los sensores biológicos y procesos cognitivos de los seres

humanos.

Extracción de características

Es el proceso de generar características que puedan ser usadas en el proceso de

clasificación de los datos. En ocasiones viene precedido por un preprocesado de la

señal, necesario para corregir posibles deficiencias en los datos debido a errores

del sensor, o bien para preparar los datos de cara a posteriores procesos en las

etapas de extracción de características o clasificación.

Las características elementales están explícitamente presentes en los datos

adquiridos y pueden ser pasados directamente a la etapa de clasificación. Las

características de alto orden son derivadas de las elementales y son generadas por

manipulaciones o transformaciones en los datos.

Page 22: Material Autoinstruccional · UNIDAD I Introducción. La Inteligencia Artificial comenzó como el resultado de la investigación en psicología ... se separó la Inteligencia Artificial

Selección de variables

Consiste en seleccionar cuál es el tipo de características o rasgos más adecuados

para describir los objetos. Para ello, se deben localizar los rasgos que inciden en el

problema de manera determinante.

Esta etapa también puede ser diseñada dentro de la clasificación.

La selección de variables puede diferenciarse según los objetivos buscados:

Para la clasificación: la selección de características relevantes, a partir del conjunto

total de características que describen a los objetos, se hace con dos motivos

fundamentales: mejorar la clasificación o aumentar la velocidad de procesamiento.

Para la representación: decidir qué características representan mejor a cierto tipo

de objetos.

Estrategias de selección de variables:

wrapper: la selección de características se hace usando información del mecanismo

de clasificación.

filter: la selección se hace con un criterio independiente del clasificador. Incluye

algunos métodos como:

Tablas de decisión: le busca un subconjunto mínimo de variables que no introduzca

confusión entre clases.

ID3: le crea un árbol de decisión y se selecciona un conjunto de variables que

permita discriminar entre clases.

Teoría de testores: le buscan todos los subconjuntos de variables discriminantes

minimales, con estos se evalúa la relevancia de cada variable y se seleccionan

aquellas con mayor relevancia.

Existen multitud de procesos para la selección de variables, pero agrupadas en dos

filosofías Clasificación

La clasificación trata de asignar las diferentes partes del vector de características a

grupos o clases, basándose en las características extraídas. En esta etapa se usa

lo que se conoce como aprendizaje automático, cuyo objetivo es desarrollar técnicas

que permitan a las computadoras aprender.

Utiliza habitualmente uno de los siguientes procedimientos:

Page 23: Material Autoinstruccional · UNIDAD I Introducción. La Inteligencia Artificial comenzó como el resultado de la investigación en psicología ... se separó la Inteligencia Artificial

Geométrico (Clustering): Los patrones deben ser graficables. En éste enfoque se

emplea el cálculo de distancias, geometría de formas, vectores numéricos, puntos

de atracción, etc.

Estadístico: Se basa en la teoría de la probabilidad y la estadística, utiliza análisis

de varianzas, covarianzas, dispersión, distribución, etc.

Supone que se tiene un conjunto de medidas numéricas con distribuciones de

probabilidad conocidas y a partir de ellas se hace el reconocimiento.

Sintáctico estructural: se basa en encontrar las relaciones estructurales que guardan

los objetos de estudio, utilizando la teoría de lenguajes formales, teoría de

autómatas, etc. El objetivo es construir una gramática que describa la estructura del

universo de objetos.

Neuro reticular: se utilizan redes neuronales que se ‘entrenan’ para dar una cierta

respuesta ante determinados valores.

Lógico combinatorio: se basa en la idea de que el modelado del problema debe ser

lo más cercano posible a la realidad del mismo, sin hacer suposiciones que no estén

fundamentadas. Se utiliza para conjuntos difusos y utiliza lógica simbólica, circuitos

combinacionales y secuenciales, etc.

Según tengamos constancia o no de un conjunto previo que permita al sistema

aprender, la clasificación pueder ser supervisada, parcialemente supervisada o no

supervisada.

a) Clasificación supervisada: también es conocida como clasificación con

aprendizaje. Se basa en la disponibilidad de áreas de entrenamiento. Se trata de

áreas de las que se conoce a priori la clase a la que pertenecen y que servirán para

generar una signatura espectral característica de cada una de las clases. Se

denominan clases informacionales en contraposición a las clases espectrales que

genera la clasificación no supervisada.

Algunos métodos de la clasificación supervisada:

Funciones discriminantes: si son dos clases, se busca obtener una función g tal que

para un nuevo objeto O, si g(O) ≥ 0 se asigna a la clase 1 y en otro caso a la 2. Si

son múltiples clases se busca un conjunto de funciones gi y el nuevo objeto se ubica

en la clase donde la función tome el mayor valor.

Vecino más cercano: un nuevo objeto se ubica en la clase donde esté el objeto de

la muestra original que más se le parece.

Redes neuronales artificiales: denominadas habitualmente RNA o en sus siglas en

inglés ANN. Se supone que imitan a las redes neuronales reales en el desarrollo de

tareas de aprendizaje.

Page 24: Material Autoinstruccional · UNIDAD I Introducción. La Inteligencia Artificial comenzó como el resultado de la investigación en psicología ... se separó la Inteligencia Artificial

Algunos métodos de la clasificación supervisada.

b) Clasificación parcialmente supervisada: también conocida como de

aprendizaje parcial. En éstos problemas existe una muestra de objetos sólo en

algunas de las clases definidas.

c) Clasificación no supervisada: también conocida como clasificación sin

aprendizaje. Se utilizan algoritmos de clasificación automática multivariante en los

que los individuos más próximos se van agrupando formando clases.

Restringida: el número de clases en la que se estructurará la muestra está

previamente definido.

Libre: el número de clases en la que se estructurará la muestra depende

exclusivamente de los datos.

Algunos métodos de la clasificación no supervisada:

Simple Link y Complete Link: parten de grupos unitarios de objetos y van uniendo

los grupos más parecidos en cada etapa, hasta cumplir alguna condición.

ISODATA: se van formando grupos que se ajustan iterativamente usando teoría de

probabilidades. En alguna versiones se puede hacer la unión o división de algún

grupo.

C-means: se define un grupo de semillas, se asocia cada objeto al grupo de la

semilla más parecida, se toman los centroides de cada grupo como nuevas semillas

y se itera hasta que se estabilice.

Criterios lógico-combinatorios: los criterios que se imponen a los grupos son tales

como ser conexos, completos maximales, compactos, etc.

Los algoritmos de la clasificación no supervisada son computacionalmente más

costosos y de una complejidad mayor

El reconocimiento de patrones es más complejo cuando se usan plantillas para

generará variantes. Por ejemplo, en castellano, las frases a menudo siguen el patrón

"sujeto-predicado", pero se requiere cierto conocimiento de la lengua para detectar

el patrón. El reconocimiento de patrones se estudia en muchos campos, incluyendo

psicología, etología, informática y procesamiento digital de señales.

Page 25: Material Autoinstruccional · UNIDAD I Introducción. La Inteligencia Artificial comenzó como el resultado de la investigación en psicología ... se separó la Inteligencia Artificial

Aplicaciones

Los sistemas de reconocimiento de patrones tienen diversas aplicaciones. Algunas

de las más relevantes y utilizadas actualmente son:

Previsión meteorológica: poder clasificar todos los datos meteorológicos según

diversos patrones, y con el conocimiento a priori que tenemos de las diferentes

situaciones que pueden aperecer nos permite crear mapas de predicción

automática.

Reconocimiento de caracteres escritos a mano o a máquina: es una de las utilidades

más populares de los sistemas de reconocimiento de patrones ya que los símbolos

de escritura son fácilmente identificables.

Reconocimiento de voz: el análisis de la señal de voz se utiliza actualmente en

muchas aplicaciones, un ejemplo claro son los teleoperadores informáticos.

Aplicaciones en medicina: análisis de biorritmos, detección de irregularidades en

imágenes de rayos-x, detección de células infectadas, marcas en la piel...

Reconocimiento de huellas dactilares: utilizado y conocido por la gran mayoría,

mediante las huellas dactilares todos somos identificables y con programas que

detectan y clasifican las coincidencias, resulta sencillo encontrar correspondencias.

Reconocimiento de caras: utilizado para contar asistentes en una manifestación o

simplemente para detectar una sonrisa, ya hay diferentes cámaras en el mercado

con esta opción disponible.

Interpretación de fotografías aéreas y de satélite: gran utilidad para propuestas

militares o civiles, como la agricultura, geología, geografía, planificación urbana...

Predicción de magnitudes máximas de terremotos.

Reconocimiento de objetos: con importantes aplicaciones para personas con

discapacidad visual.

Reconocimiento de música: identificar el tipo de música o la canción concreta que

suena.