14
Materia: PROGRAMACION LOGICA FUNCIONAL INTELIGENCIA ARTIFICIAL UNA NUEVA SINTESIS (resumen) ALUMNO: FREDDY JAHIR GARCIA CAMPOS 12320732 INSTITUTO TECNOLOGICO DE ACAPULCO

Sintesis Inteligencia Artificial (1.1) (2.1 )(3.1)

Embed Size (px)

DESCRIPTION

Sintesis Programacion Logica

Citation preview

Page 1: Sintesis Inteligencia Artificial (1.1) (2.1 )(3.1)

Materia:

PROGRAMACION LOGICA FUNCIONAL

INTELIGENCIA ARTIFICIAL UNA NUEVA SINTESIS (resumen)

CAMPOS 12320732

INSTITUTO TECNOLOGICO DE ACAPULCO

Page 2: Sintesis Inteligencia Artificial (1.1) (2.1 )(3.1)

CONTENIDO

1. INTRODUCCION

1.1¿QUE ES LA IA?

1.2Aproximaciones a la Inteligencia

1.3Breve historia

2 AGENTES DE ESTÍMULO- RESPUESTA

2.1. Percepción y acción

2.1.1. Percepción

2.1.2 Acción

2.1.3. Algebra booleana

2.1.4. Clases y formas de las funciones booleanas

2.2. Representación e implementación de las funciones para la selección de

acciones

2.2.1. Sistemas de producción

2.2.3. La arquitectura de subsunción

2. REDES NEURONALES

3.1 Introducción

3.2 Entrenamiento de una ULU

3.2. 1. Interpretación geométrica del funcionamiento de una ULU

3.2.3. Métodos del gradiente descendente

3.2.4. El procedimiento de Widrow-H off

3.2.5 El procedimiento delta generalizado

3.2.6 El procedimiento de corrección del error

Page 3: Sintesis Inteligencia Artificial (1.1) (2.1 )(3.1)

1.1 ¿QUE ES LA IA?

El objetivo de la investigación artificial es el estudio del comportamiento inteligente en las máquinas. El comportamiento inteligente supone percibir, razonar, aprender, comunicarse y actuar en entornos complejos. Una de las metas a largo plazo de la IA es el desarrollo de máquinas que puedan hacer todas estas cosas igual, o quizá incluso mejor, que los humanos. La meta de la IA es llegar a comprender este tipo de comportamiento, sea en las máquinas, en los humanos o en otros animales.

Cabe destacar que Alan Turing, es uno de los fundadores de la informática, el expresó esta misma cuestión, pero formulada en términos más adecuados para su comprobación empírica. Algunas personas creen que las máquinas pensantes tendrían que ser tan complejas, y disponer de una experiencia tan compleja, que nunca seremos capaces de diseñarlas o construirlas. Ningún sistema menos complejo que el formado por la superficie de la tierra, la atmósfera y los océanos embebido en un espacio interplanetario, calentado por el sol e influenciado por las mareas sería capaz de duplicar los fenómenos climáticos con todo detalle.

Sin embrago Otros pensadores creen que no es realmente importante que las máquinas estén hechas de silicio o de proteínas; piensan que el Comportamiento inteligente es, en su mayor parte, el resultado de lo que ellos llaman procesamiento subsimbolíco, es decir, procesamiento de señales, no de Símbolos.

Un claro ejemplo es el reconocimiento de rostros familiares. Los humanos hacemos esto sin esfuerzo alguno, y aunque no se sabe exactamente cómo lo hacemos, se sospecha que la mejor explicación para el proceso es la que se basa en el rota miento de imágenes, o de partes de ellas, como señales multidimensionales, no como símbolos.

Algunas de las hipótesis son las siguientes:

• El cerebro procesa la información en paralelo, mientras que los ordenadores convencionalés secuencialmente. Por tanto, tenemos que construir nuevas variedades de ordenadores paralelos para realizar progresos en la IA.

• La maquinaria computacional convencional está basada en la lógica binaria (verdadero o falso).Por tanto, los sistemas realmente inteligentes tendrán que usar alguna n tipo de lógica borrosa.

• Las neuronas animales son mucho más complejas que simples conmutadores los bloques constructivos básicos de los ordenadores actuales.

Page 4: Sintesis Inteligencia Artificial (1.1) (2.1 )(3.1)

Por tanto, necesitaremos neuronas artificiales verdaderamente realistas para construir máquinas inteligentes.

Page 5: Sintesis Inteligencia Artificial (1.1) (2.1 )(3.1)

1.2 APROXIMACIONES A LA INTELIGENCIA ARTIFICIAL

Aun aceptando que la IA ya ha sido capaz de producir algunos sistemas prácticos muy fáciles, la creencia general es que el objetivo de alcanzar una inteligencia de nivel humano está afín muy distante. Siendo esto así, todavía hay un gran debate sobre cuáles son las mejores aprox imac iones hacia la mejores en el sentido de sentar los fundamentos centrales para conseguir las metas planteadas a largo plazo, así como mejores en el sentido de producir resultados prácticos a corto plazo. En consecuencia, Durante los últimos 40 años ha emergido un cierto número de paradigmas diferentes. Cada uno de ellos tiene abogados apasionados, y algunos han producido resultados suficientemente interesantes como para no ser descartados sin más. Quizá lo que se requiere es una combinación apropiada de estas aproximaciones diferentes. En cualquier caso, cada investigador cree, a menudo, que la suya es la metodología avanzada que merece especial atención. Los principales paradigmas pueden ser clasificados en dos grupos.

El primer grupo incluye lo que llamamos las aproximaciones basadas en procesamiento de símbolos. Se sustentan sobre la hipótesis del sistema físico de símbolos de Newel l y Simon, y aunque esta hipótesis no puede considerarse afín como universalmente aceptada, en ella se basa mucho de lo que podríamos llamar. Un miembro destacado de esta familia de aproximaciones es el que se basa en la aplicación de operaciones lógicas sobre bases de conocimiento declarativo. Inspirado originalmente en los informes de John McCarthy sobre su «sistema consejos, sobre un problema del dominio mediante sentencias declarativas, a menudo basadas en sentencias de la lógica.

En muchas de las aproximaciones basadas en procesamiento de símbolos, el análisis del comportamiento deseado, O la síntesis de máquinas para conseguirlos, se extienden a través de varios niveles. El nivel superior corresponde al nivel del conocimiento, en el cual se especifica el conocimiento necesario para que la máquina alcance sus objetivos. A continuación viene el nivel simbólico, donde Se representa este conocimiento mediante estructuras simbólicas, como, por ejemplo, listas escritas en el lenguaje de programación LISP, y se especifican operación Sobre estas estructuras. Después están los niveles inferiores, en los cuales, realmente se implementan las operaciones de procesamiento de símbolo.

Page 6: Sintesis Inteligencia Artificial (1.1) (2.1 )(3.1)

1.3 BREVE HISTORIA

Cuando empezaron a desarrollarse los primeros ordenadores durante las décadas de los 40 y 50, algunos investigadores escribieron programas que podían realizar tareas elementales de razonamiento. En los resultados más prominentes de esta época podemos citar los primeros programas de ordenador capaces de jugar al ajedrez [Shannon, 1950, Newell, y Shaw y Simon, 1958], los programas capaces de jugar a las damas [Samuel, 1959, y Samuel, 1967] y los pro- gramas para demostrar teoremas de geometría plana [Gelernter, 1959]. En 1956, John McCarthy y Claude Shannon coeditaron un volumen titulado Automata Studies [Shannon y McCarthy, 1956]. La mayoría de los artículos del volumen trataban sobre los fundamentos matemáticos de

ER 1958, John McCarthy propuso la utilización del cálculo de predicados como un lenguaje para representar y usar conocimiento en un sistema al que llamó «sistema consejero» [McCarthy, 1958]. A este sistema, en lugar de programarlo, había que decirle lo que necesitaba saber para resolver un problema. Una modesta, pero influyente, implementación de estas ideas fue aborda- da por CordeI1 Green en su sistema OAS [Green, 1969a]. Como resultado de muchas controversias entre los investigadores de la IA, el cálculo de predicados y sus variantes han sobrevivido como el fundamento básico para la representación del conocimiento.

Muchos de estos resultados de la lógica y de la informática se referían a «verdades que no pueden ser deducidas» y a «cálculos que no pueden ser realizados». Seguramente animados por estos hallazgos negativos, algunos filósofos y científicos [Lucas, 1961; Penrose, 1989, y Penrose, 1994] los interpretaron como confirmaciones de que la inteligencia humana no podría ser mecanizada. Estos pensadores creían que los humanos son, de alguna forma, inmunes a las limitaciones computacionales inherentes a las máquinas. Sin embargo, la mayoría de los lógicos y de los informáticos creen que estos resultados negativos de ningún modo implican que las máquinas tengan límites que no sean aplicables también a los humanos.

Page 7: Sintesis Inteligencia Artificial (1.1) (2.1 )(3.1)

3.REDES NEURONALES

2.1 Percepción y Acción

El robot debe seguir la siguiente pauta de comportamiento: ir a una celda fronteriza, o que limite con un objeto, y seguir su perímetro indefinidamente. Para poder mostrar esta pauta de comportamiento, el robot debe ser capaz de «percibir» si una determinada celda está libre para ser ocupada o no, y para ello debe llevar a cabo las acciones primitivas que correspondan.

2.1.1 Percepción

Las entradas sensoriales de nuestro robot están representadas por los valores de las variables x. Por tanto, existen 2' = 256 combinaciones posibles de estos valores. En nuestro entorno, ciertas combinaciones pueden ser descartadas debido a la condición que prohíbe la existencia de pasillos estrechos. Para la tarea que estamos considerando, se pueden definir cuatro características binarias, definidas sobre las variables sensoriales, que nos pueden ayudar para el cálculo de las acciones.

2.1.2.Acción

Dadas las cuatro características definidas en la sección anterior, el siguiente paso que debemos abordar consiste en la definición de una función de dichas características, que nos proporcione la acción adecuada para llevar a cabo la tarea de seguimiento de bordes. Primero, nos damos cuenta de que si ninguna de las características toma el valor l (es decir, el robot percibe que todas las celdas que le rodean están libres), entonces el robot puede moverse en cualquier dirección hasta que encuentre un borde. Por defecto, vamos a asignar a este caso la acción norte. Siempre que al menos una de las características tome el valor 1,

2.1.3.Algebra booleana

Una función booleana, .x , .v , ..., .x,) hace corresponder a una n tupla de 0 y 1 un valor 0 o un valor 1. El álgebra booleana es el medio adecuado para la representación de este tipo de funciones. El álgebra booleana utiliza las correctivas, , + y ‘. Por ejemplo, la función y aplicada a dos variables se escribe x, x , aunque, por convenio, se omite la correctiva y la función y se escribe x x . La función x x toma el valor 1 si, y sólo si, .x, y .v tienen El valor 1; en cualquier otro caso, tomará el valor 0. La función o (o inclusiva) de dos variables se escribe .v, + .v y toma el valor 1 si alguna de las variables tiene el

Page 8: Sintesis Inteligencia Artificial (1.1) (2.1 )(3.1)

valor 1; en cualquier otro caso, tomará el valor 0. El complemente o negación de una variable, x, se escribe Ñ, y tomará el valor 1 si, y sólo si, la variable .x tiene el valor 0; en otro caso, tomará el valor 0.

2.1.4.Clases y formas de las funciones booleanas

Una función booleana puede ser expresada de muy diversas maneras. Una de las formas más comunes de expresarla consiste en escribirla en la forma k,Ç – k, , donde cada k es un literal. Una función escrita de esta forma se denomina conjunción de literales o renuncio, y la conjunción enAlgunos ejemplos de términos son .r.r, y x x x .

El tamaño de un término viene determinado por el número de literales que contiene. En los ejemplos, los tamaños de los términos son 2 y 3, respectivamente.Se puede demostrar fácilmente que se pueden formar 3" monomios distintos con n variables

2.2. Representación e implementación de las funciones para la selección de acciones

Para realizar la selección de acciones, debemos construir una función, definida sobre el vector dc características, que tenga R valores de salida distintos, suponiendo que existen R posibles acciones a elegir.

2.2.1.Sistemas de producción

Los sistemas de producción proporcionan una representación adecuada para las funciones de selección de acciones. Un sistema de producción está formado por un conjunto de reglas denominadas reglas de producción, o simplemente producciones

2.2.3. La arquitectura de subsunción

Diferentes autores han propuesto formalismos para la especificación del proceso que asocia las entradas sensoriales con las acciones correspondientes. Entre éstos, cabe destacar la aquí- lectura de su función, propuesta por Rodney Brooks [Brooks, 1986; Brook, 1990, y Connell 1990]. Aunque no existe una definición precisa de esta arquitectura. la idea general consiste en hacer que el comportamiento global del agente descanse sobre un conjunto de «módulos de com- portamiento». Cada uno de estos módulos recibe información directa de las entradas sensoriales. Si dichas entradas satisfacen una precondición..

Page 9: Sintesis Inteligencia Artificial (1.1) (2.1 )(3.1)

3. REDES NEURONALES

3.1 Introducción

Las acciones que se asocian a los vectores del conjunto » suelen denominarse etiquetas o clases del vector, y al conjunto », junto con las etiquetas asociadas a sus vectores, se le denomina conjunto de entrenamiento. Por tanto, para resolver el problema de aprendizaje, hay que encontrar una función, f ( X), que responda «aceptablemente» a los elementos del conjunto de entrenamiento. Normalmente se intentará que las acciones calculadas por la función que corresponde.

3.2.1Entrenamiento de una ULU

Comenzaremos por explicar cómo los pesos dé ULU pueden ser ajustados o entrenados para que la ULU responda determinados conjuntos de entrenamiento. Si vamos a usar la ULU para el cálculo de acciones, sus entradas han de ser numéricas (para que se pueda valor arbitrario del umbral 8 distinto de 0, basta aumentar la dimensión de todos los vectores que

3.2. 1. Interpretación geométrica del funcionamiento de una ULU

Se han propuesto diversos métodos para el ajuste de los pesos. Para simplificar la explicación de dichos métodos, vamos a adoptar el convenio de que el valor del umbral 8 es siempre 0. Una ALU queda definida por los valores de sus pasos de sus pesos y de su umbral

3.2.3. Métodos del gradiente descendente

Una forma de abordar el problema del entrenamiento de una ULU de forma que este responda apropiadamente a los vectores del conjunto de entrenamiento que consiste en definir una relación de error que debe minimizarse ajustando el valor de los pesos .

3.2.4. El procedimiento de Widrow-H offSupongamos que intentamos ajustar los pesos de ti forma que cada vector del conjunto de entre ‘Uno de los problemas con qué Ros encontramos al calcular el gradiente de C es que el error depende de todos los vectores del conjunto de entrenamiento «". Pala solventar este problema, es preferible aplicar un único vector de entrada a la ULU, hacer Í os ajustes corresponden en los pesos para obtener una respuesta adecuada, y volver a repetir el proceso con el siguiente vector de

Page 10: Sintesis Inteligencia Artificial (1.1) (2.1 )(3.1)

Es decir, un proceso incremental de entrenamiento siguiendo una determinada secuencia £ de vectores de entrada etiquetados con SU Correspondiente salida. Por SU] 3UéSto, los resultados del entrenamiento incremental solamente Se pueden aproximar a los de las denominadas versiones por lotes, pero, casualmente, la aproximación es bastante efectiva.

3.2.5 El procedimiento delta generalizado

Werbos [Werbos, 1974] propuso otra forma de solventar el problema de la no derívabilidad de la función umbral, aunque otros autores, como, por ejemplo [Rumelhart et al., 1986] propusieron la misma solución de forma independiente. La solución propuesta pasaba por sustituir la función umbral por una función derivable llamada sigmoide’. Se denomina así porque tiene forma de S.

3.2.6 El procedimiento de corrección del error

En este método no sustituiremos la función umbral por una sigmoide, y sólo haremos el ajuste de los pesos cuando la ULU responda con un error, es decir, cuando la diferencia (d —f) sea 1 o —1. Teniendo en cuenta esto, el ajuste de los pesos por el método de corrección del error se realiza mediante la siguiente expresión:

Al igual que en los métodos anteriores, los cambios en el vector de pesos se realizan en la dirección en la que se disminuye el error (y dependiendo del valor del factor de aprendizaje c, podrían ocasionalmente corregirlo). Una de las diferencias entre este método y el de Widrow-Holt es que ahora, para la corrección del error, tanto d como fsó1o admiten los valores 0 o l, mientras que en el método de Widrow-Hoff, d podía valer +l o —l, será igual al producto escalar s.Se puede demostrar que, si existe un vector de pesos W para el que todos los vectores del Sustituyendo esta expresión en la igualdad = —Ud — f)’—f X, obtenemos: Óx El conjunto » producen una salida correcta, entonces el procedimiento de corrección del error encontrará dicho vector después de presentar un número finito de vectores a la ULU y, además, una vez encontrado dicho vector, éste no volverá a ser modificado (la demostración requiere que cada vector pueda aparecer en la secuencia de entrenamiento, Z, un número infinito de veces, aunque esté garantizado que el procedimiento encuentra una solución después de un número que se puede deducir la regla que determina la forma en la que cambian los pesos, regla