RESUMEN
Introduccin a la Inteligencia Artificial ...................................................................................................... 7 1.1 Qu es la Inteligencia Artificial? ................................................................................................ 7 1.1.1 Pueden ....................................................................................................................................... 7 1.1.2 Mquinas ................................................................................................................................... 7 1.1.3 Pensar......................................................................................................................................... 7 1.2 Aproximaciones a la IA ............................................................................................................... 8 1.2.1 Basadas en procesamiento de smbolos ...................................................................................... 8 1.2.2 Aproximaciones subsimblicas .................................................................................................. 8 1.3 1.4 Breve historia de la IA ................................................................................................................. 8 Mundo especial para agentes con IA............................................................................................ 9 Los problemas de la Inteligencia Artificial ..................................................................................... 9 Las suposiciones subyacentes ....................................................................................................... 10 Qu es una tcnica de IA? ........................................................................................................... 10 1.5.1 Acciones que debe llevar a cabo el sistema .............................................................................. 11 1.5.2 Definicin del problema mediante una bsqueda en espacio de estados .................................. 11 1.5.3 Sistemas de produccin ............................................................................................................ 11 1.5.4 Anlisis del problema............................................................................................................... 11 1.5.5 Caractersticas de los sistemas de produccin .......................................................................... 12 Bsqueda y planificacin .......................................................................................................................... 13 2.1 Tcnicas de bsqueda a ciegas ........................................................................................................ 13 Estrategia de control ..................................................................................................................... 13 2.1.1 Explosin combinatoria ........................................................................................................... 13 2.1.2 Ramificacin y acotacin ......................................................................................................... 13 2.1.3 Bsqueda primero en anchura .................................................................................................. 13 2.1.4 Bsqueda primero en profundidad ........................................................................................... 13 2.2 Tcnicas de bsqueda heurstica ..................................................................................................... 14 2.2.1 Generacin y prueba ................................................................................................................ 14 2.2.2 Escalada o remonte de colinas ................................................................................................. 15 Escalada simple ............................................................................................................................ 15 Escalada por la mxima pendiente ................................................................................................ 15 2.2.3 Bsqueda el primero mejor ...................................................................................................... 15 Transformacin del espacio de configuraciones............................................................................ 16 2.2.4 Reduccin de problemas .......................................................................................................... 16 2.2.5 Verificacin de restricciones .................................................................................................... 16 2.2.6 Anlisis de medios y fines........................................................................................................ 17 2.3 Bsqueda en problemas de juegos .................................................................................................. 17 2
2.3.1 Juegos de dos jugadores ........................................................................................................... 17 2.3.2 El procedimiento minimax ....................................................................................................... 17 2.3.3 El procedimiento alfa-beta ....................................................................................................... 17 2.4 Bsqueda con sistemas evolutivos .................................................................................................. 18 2.4.2 Algoritmos genticos ............................................................................................................... 18 2.4.3 Poblaciones .............................................................................................................................. 18 2.4.4 Operadores genticos ............................................................................................................... 18 Seleccin ....................................................................................................................................... 19 Crossover ...................................................................................................................................... 19 Mutacin ....................................................................................................................................... 19 Migracin...................................................................................................................................... 19 2.4.5 Funcin de evaluacin ............................................................................................................. 19 Convergencia ................................................................................................................................ 19 Convergencia prematura ............................................................................................................... 19 Finalizacin lenta .......................................................................................................................... 19 Algoritmo gentico cannico ........................................................................................................ 19 2.5 Planificacin ................................................................................................................................... 19 2.5.2 Componentes de un sistema de planificacin ........................................................................... 19 2.5.3 Planificacin mediante una pila de objetivos ........................................................................... 20 2.5.4 Planificacin no lineal mediante fijacin de restricciones ........................................................ 20 2.5.5 Planificacin jerrquica............................................................................................................ 20 2.5.6 Sistemas reactivos .................................................................................................................... 20 Representacin del conocimiento y razonamiento .................................................................................... 21 3.1 El problema de la representacin del conocimiento ........................................................................ 21 3.1.1 Correspondencia entre conocimiento y representacin del conocimiento ................................ 21 3.1.2 Propiedades de un buen sistema de representacin del conocimiento ...................................... 21 3.1.3 Modelos de representacin del conocimiento .......................................................................... 21 Espectro sintctico-semntico de la representacin ...................................................................... 21 3.1.3.1 Conocimiento relacional simple ........................................................................................ 21 3.1.3.2 Conocimiento heredable .................................................................................................... 22 3.1.3.3 Conocimiento deductivo ................................................................................................... 22 3.1.3.4 Conocimiento procedimental ............................................................................................ 22 3.1.4 Problemas de la representacin del conocimiento .................................................................... 22 3.1.5 El problema del marco ............................................................................................................. 23 3.2 Lgica simblica ............................................................................................................................. 23 3.2.1 La lgica y el lenguaje ............................................................................................................. 23 3.2.1.1 Introduccin ...................................................................................................................... 23 3.2.1.2 Naturaleza del argumento.................................................................................................. 23 3
3.2.1.3 Verdad y validez ............................................................................................................... 23 3.2.1.4 Lgica simblica ............................................................................................................... 24 3.2.2 Argumentos que contienen enunciados compuestos ................................................................ 24 3.2.2.1 Enunciados simples y compuestos .................................................................................... 24 3.2.2.2 Enunciados condicionales ................................................................................................. 25 3.2.2.3 Formas de argumentos y tablas de verdad ......................................................................... 25 3.2.2.4 Formas sentenciales .......................................................................................................... 26 3.2.3 El mtodo de deduccin ........................................................................................................... 27 3.2.3.1 Prueba formal de validez ................................................................................................... 27 3.2.3.2 La regla de reemplazo ....................................................................................................... 28 3.2.3.3 Demostracin de la invalidez ............................................................................................ 28 3.3 Lgica de predicados ...................................................................................................................... 29 3.3.1 Introduccin y concepto de semidecidible ............................................................................... 29 3.3.2 Representacin de hechos simples en lgica ............................................................................ 29 3.3.3 La representacin de las relaciones instancia y es-un............................................................... 30 3.3.4 Representacin de funciones calculables y predicados computables ........................................ 30 3.3.5 Mtodo de resolucin ............................................................................................................... 30 3.3.6 Conversin a forma clausal ...................................................................................................... 30 Algoritmo de conversin a forma clausal ...................................................................................... 30 3.3.7 Las bases de la resolucin ........................................................................................................ 31 3.3.8 Resolucin en lgica proposicional .......................................................................................... 31 Algoritmo de resolucin de proposiciones .................................................................................... 31 3.3.9 El algoritmo de unificacin ...................................................................................................... 31 3.3.10 Resolucin en lgica de predicados ....................................................................................... 31 Algoritmo de resolucin ............................................................................................................... 31 3.4 Representacin del conocimiento mediante reglas .......................................................................... 32 3.4.1 Comparacin entre conocimiento procedimental y conocimiento declarativo ......................... 32 3.4.2 Programacin lgica ................................................................................................................ 32 3.4.3 Diferencia entre razonamiento hacia delante y hacia atrs ....................................................... 33 3.4.3.1 Sistemas de reglas encadenadas hacia atrs ....................................................................... 33 3.4.3.2 Sistemas de reglas encadenadas hacia adelante ................................................................. 33 3.5 Razonamiento bajo incertidumbre .................................................................................................. 33 3.5.1 Razonamiento no montono .................................................................................................... 34 3.5.1.1 Razonamiento por defecto ................................................................................................. 34 3.5.1.2 Razonamiento minimalista ................................................................................................ 34 3.5.2 Razonamiento estadstico ......................................................................................................... 35 3.5.2.1 Factores de certeza ............................................................................................................ 35 3.5.2.2 Redes bayesianas............................................................................................................... 36 4
3.5.2.3 Teora de Dempster-Shafer ............................................................................................... 36 3.6 Estructuras de ranura y relleno dbiles............................................................................................ 36 3.6.1 Redes semnticas ..................................................................................................................... 36 3.6.2 Marcos (frames) ....................................................................................................................... 36 3.7 Estructuras de ranura y relleno fuertes ............................................................................................ 37 3.7.1 Dependencia conceptual .......................................................................................................... 37 3.7.2 Guiones .................................................................................................................................... 37 3.7.3 CYC ......................................................................................................................................... 37 Ingeniera del conocimiento ...................................................................................................................... 38 4.1 PROLOG (Programacin lgica) .................................................................................................... 38 4.1.2 Para qu sirve PROLOG?....................................................................................................... 38 4.1.3 Lenguaje procedural vs. lenguaje declarativo .......................................................................... 38 4.1.4 Inteligencia Artificial ............................................................................................................... 38 4.2 Relacin con la lgica ..................................................................................................................... 38 4.2.1 Hechos ..................................................................................................................................... 38 4.2.2 Variables .................................................................................................................................. 39 4.2.3 Reglas ...................................................................................................................................... 39 4.2.4 Clusulas .................................................................................................................................. 39 4.2.5 Preguntas ................................................................................................................................. 39 4.2.6 Conjunciones y backtracking ................................................................................................... 39 4.3 Estructura de un programa PROLOG ............................................................................................. 40 4.3.1 Composicin de un programa. Clusulas. Predicados. Dominios............................................. 40 4.4 Ingeniera del conocimiento ............................................................................................................ 40 4.4.1 Organizacin de una base de conocimientos ............................................................................ 41 4.4.2 Encontrando el experto ............................................................................................................ 41 4.4.3 Verificaciones de la base de conocimientos ............................................................................. 41 4.5 Definicin de sistema experto ......................................................................................................... 42 4.5.1 Definicin funcional ................................................................................................................ 42 4.5.2 Definicin estructural ............................................................................................................... 42 4.6 Armazones de sistemas expertos ..................................................................................................... 42 4.7 Aplicaciones de los sistemas expertos............................................................................................. 43 4.7.1 Ventajas de la aplicacin de sistemas expertos ........................................................................ 43 Redes neuronales ...................................................................................................................................... 44 5.1 Modelos conexionistas .................................................................................................................... 44 5.1.1 Origen del paradigma de computacin conexionista ................................................................ 44 5.3 Redes neuronales artificiales ........................................................................................................... 44 5.3.1 Definicin de red neuronal ....................................................................................................... 44 5.3.2 Estructura de las redes neuronales............................................................................................ 44 5
5.3.3 Comparacin entre RNB y RNA .............................................................................................. 45 5.3.4 Formas de interconexin de las RNA ....................................................................................... 46 5.3.5 Caractersticas de las RNA....................................................................................................... 46 5.4 Ventajas y desventajas de las RNA ................................................................................................. 46 5.4.1 Ventajas que ofrecen las RNA ................................................................................................. 46 5.4.2 Desventajas que ofrecen las RNA ............................................................................................ 47 5.5 Mecanismos de aprendizaje ............................................................................................................ 47 5.5.1 Aprendizaje supervisado .......................................................................................................... 47 5.5.2 Aprendizaje no supervisado ..................................................................................................... 47 5.6 El perceptrn................................................................................................................................... 48 5.6.1 Aprendizaje del perceptrn ...................................................................................................... 48 5.6.2 La separacin lineal y el problema del XOR ............................................................................ 48 5.7 Redes de Hopfield ........................................................................................................................... 48 5.8 Mquinas de Boltzman ................................................................................................................... 49 5.9 Redes recurrentes ............................................................................................................................ 49
La cuestin bsica de la IA es pueden pensar las mquinas? Alan Turing expres esta misma cuestin, formulada en trminos ms adecuados para su comprobacin emprica, en lo que se conoce como Test de Turing.
1.1.1 Pueden
Queremos decir que las mquinas pueden pensar ya ahora, o que algn da podrn pensar? Queremos decir que las mquinas podran ser capaces de pensar, o lo que perseguimos es una implementacin real de una mquina pensante?
1.1.2 Mquinas
Aunque una mquina hecha de protenas puede pensar, quiz una hecha de silicio no sera capaz de hacerlo. Un filsofo, John Searle, cree que la materia de la que estamos hechos es fundamental para la inteligencia. Para l, el pensamiento slo puede ocurrir en mquinas muy especiales las mquinas vivientes hechas de protenas. La hiptesis del sistema fsico de smbolos de Newell y Simon est en oposicin directa a las creencias de Searle. Esta hiptesis establece que un sistema fsico de smbolos dispone de los medios necesarios y suficientes para desarrollar una actividad general inteligente. Un aspecto importante de esta hiptesis es que no importa de qu est hecho el sistema fsico de smbolos: decimos que la hiptesis de Newell y Simon es neutral respecto al sustrato. Una entidad inteligente podra estar hecha de protenas, de rels mecnicos, de transistores o de cualquier otra cosa, con tal que sea capaz de procesar smbolos. Otros pensadores creen que no es importante si las mquinas estn hechas de silicio o de protenas; piensan que el comportamiento inteligente es resultado de lo que ellos llaman procesamiento subsimblico, es decir, procesamiento de seales, no de smbolos. Otras hiptesis sobre el tipo de mquinas que podran pensar son: Procesamiento de informacin en paralelo. Uso de lgica difusa. Uso de neuronas artificiales realistas.
1.1.3 Pensar
En lugar de definir esta palabra, Turing propuso un test, mediante el cual pudiera decidirse si una mquina en particular es o no inteligente: En el test participan un hombre (A), una mujer (B) y un interrogador (C). El interrogador permanece en una sala, separado de los otros dos, pero pudiendo comunicarse con ellos mediante un teletipo. El objetivo del test para el interrogador es determinar cul de los otros dos es el hombre y cul la mujer. Para ello, el 7
interrogador puede plantear preguntas a A y B. El objetivo de A en el juego es intentar que C haga una identificacin errnea. El objetivo de B es ayudar al interrogador.
1.2 Aproximaciones a la IA
1.2.1 Basadas en procesamiento de smbolos
Se sustentan sobre la hiptesis del sistema fsico de smbolos de Newell y Simon. Un miembro destacado de esta familia de aproximaciones es el que se basa en la aplicacin de operaciones lgicas sobre bases de conocimiento declarativo. Este estilo de IA representa el conocimiento sobre un problema del dominio mediante sentencias declarativas, a menudo basadas en sentencias de la lgica de predicados, o equivalentes. Para deducir consecuencias a partir de este conocimiento, se aplican tcnicas de inferencia lgica. Encontramos tres niveles: Nivel del conocimiento: se especifica el conocimiento necesario para los objetivos de la mquina. Nivel simblico: se representa este conocimiento mediante estructuras simblicas (por ejemplo, listas escritas en LISP), y se especifican operaciones sobre dichas estructuras. Nivel de implementacin: se implementan las operaciones de procesamiento de smbolos.
Muchas de estas aproximaciones utilizan el diseo descendente, comenzando por el nivel del conocimiento, continuando hacia abajo.
ordenador. Algunos resultados de estos esfuerzos fueron el Solucionador General de Problemas y programas que resolvan problemas de integracin simblica y de lgebra, y puzles. Luego, en los ltimos aos de los `70 y primeros de los 80, se desarrollaron programas ms realistas, que contenan conocimiento que representaba el comportamiento de expertos humanos. Tambin fueron desarrollados mtodos para representacin de conocimiento para dominios especficos.
Sentido comn
Tareas de los expertos o Ingeniera Diseo Deteccin de fallas Planificacin de manufactura o Anlisis cientfico o Diagnosis mdica o Anlisis financiero
Concluimos que una tcnica de IA es un mtodo que utiliza conocimiento representado de tal forma que: El conocimiento representa generalizaciones, es decir, se agrupan las situaciones que comparten propiedades importantes. Debe ser comprendido por las personas que lo proporcionan. Puede modificarse fcilmente para corregir errores y reflejar los cambios en el mundo. Puede usarse en gran cantidad de situaciones aun cuando no sea totalmente preciso o completo. Puede usarse para ayudar a superar su propio volumen.
Por ltimo, se ponen de manifiesto tres importantes tcnicas de IA: Bsqueda: proporciona una forma de resolver los problemas en los que no se dispone de un mtodo ms directo. Uso del conocimiento: proporciona una forma de resolver problemas complejos explotando las estructuras de los objetos involucrados. Abstraccin: proporciona una forma de separar aspectos y variaciones importantes de aquellos otros sin importancia.
10
No recuperables: no pueden deshacerse los pasos dados (por ejemplo: ajedrez). Implementados mediante estructuras de control enfocados en la toma de decisiones, ya que son irrevocables. Es predecible el universo del problema? o Consecuencia cierta: a travs de una planificacin puede conocerse exactamente qu ocurrir. o Consecuencia incierta: no es posible un proceso de planificacin con certeza. Una solucin adecuada, es absoluta o relativa? o Algn camino: son resueltos frecuentemente en tiempos razonables mediante alguna heurstica. o Mejor camino: son ms difciles de computar. La solucin, es un estado o una ruta? o Solucin estado: la solucin es un estado. o Solucin camino: la solucin es una ruta hacia algn estado. Cul es el papel del conocimiento? o Conocimiento necesario para acotar bsquedas, por ejemplo, el ajedrez. o Conocimiento necesario para reconocer una solucin, por ejemplo, comprensin de artculos periodsticos. Necesita la computadora interactuar con una persona? o Solitarios: se da a la computadora una descripcin del problema, y sta proporciona una respuesta sin ningn tipo de comunicacin y sin explicacin de su razonamiento. o Conversacionales: existe una comunicacin entre el hombre y la computadora, bien para proporcionar una ayuda adicional a la mquina, o para que la computadora brinde informacin al usuario.
No parcialmente conmutativo
BSQUEDA Y PLANIFICACIN
2.1 Tcnicas de bsqueda a ciegas
Vimos que para resolver un problema, puede definirse un espacio de estados del problema (incluyendo los estados iniciales y finales), y un conjunto de operadores para trasladarse a travs del espacio. El problema se reduce entonces a buscar una ruta a travs del espacio que una un estado inicial con un estado final.
Estrategia de control
El primer requisito que debe cumplir una buena estrategia de control es que cause algn cambio. Las estrategias de control que no causan cambios de estado nunca alcanzan la solucin. El segundo requisito que debe cumplir una buena estrategia de control es que sea sistemtica. Las estrategias de control que no son sistemticas pueden llegar a utilizar secuencias de operadores no apropiadas varias veces hasta encontrar la solucin.
Algunas ventajas y desventajas son: Bsqueda primero en anchura Callejones sin salida Bsqueda primero en profundidad No queda atrapada explorando callejones sin Puede seguir una ruta infructuosa salida. durante mucho tiempo, quizs para siempre, antes de acabar en un estado sin sucesores. Si existe, se garantiza que se logre Es posible encontrar una solucin encontrarla. Si hay varias, se encuentra la larga, cuando puede existir otra que requiere el mnimo nmero de pasos, ya mucho ms corta. que no se explora una ruta larga hasta haber explorado todas las rutas ms cortas que ella. Debe almacenarse todo el rbol que haya Necesita menos memoria ya que sido generado hasta ese momento. slo se almacenan los nodos del camino que se sigue en ese instante. Deben revisarse todas las partes del rbol de Con suerte, se puede encontrar una nivel n antes de comenzar con los nodos de solucin sin tener que revisar gran nivel n+1. parte del espacio de estados.
Obtencin de la solucin
Uso de memoria
bsqueda primero en profundidad, ya que las soluciones completas deben generarse antes de que se comprueben. Dicho de otra forma, es simplemente una bsqueda exhaustiva. La generacin de las soluciones puede hacerse de forma aleatoria, pero esto no garantiza que se pueda encontrar alguna vez la solucin (esta forma de trabajo es conocida como algoritmo del Museo Britnico). Por ltimo, existe una variante llamada generacin y prueba heurstica.
Escalada simple
En cada paso, se genera un nuevo estado: si es un estado objetivo, se finaliza la bsqueda; si no es un estado objetivo, pero es mejor que el estado actual, se lo convierte en el nuevo estado actual; si no es mejor que el estado actual, se contina. La principal diferencia que existe entre este algoritmo y el de generacin y prueba radica en el uso de una funcin de evaluacin como una forma de introducir conocimiento especfico de la tarea. La utilizacin de este conocimiento especfico es lo que hace a ste y otros mtodos, mtodos de bsqueda heurstica, dndoles la capacidad de resolver algunos problemas que, de otra forma, seran inabordables.
Existen algunas formas de evitar estos problemas, aunque sin garantas: Volver atrs hacia algn modo anterior e intentar seguir un camino diferente . Es especialmente adecuado para mximos locales. Realizar un gran salto en alguna direccin para intentar buscar en una nueva parte del espacio de bsqueda. Es especialmente adecuado para mesetas. Aplicar dos o ms reglas antes de realizar la evaluacin. Esto se corresponde con movimientos en varias direcciones a la vez. Es especialmente adecuado para crestas.
En cada paso, se selecciona el nodo ms prometedor que se haya generado hasta ese momento, por ejemplo, a travs de una funcin heurstica. A continuacin se expande el nodo elegido, aplicando las reglas para generar a sus sucesores. Si alguno de ellos es una solucin, el proceso termina. Si no es as, estos nuevos nodos se aaden a la lista de nodos que se han generado hasta el momento. De nuevo, se selecciona el ms prometedor de ellos y el proceso contina de igual forma. La bsqueda puede volver a una rama una vez que los nodos de otras ramas sean lo suficientemente malos. Este mtodo es similar al de escalada por mxima pendiente, excepto en que a) en la escalada, una vez que se selecciona un movimiento, todos los dems se abandonan, y b) en la escalada, el proceso se detiene si no se encuentra un estado sucesos mejor que el estado actual. Para implementar este mtodo sobre un grafo se necesitan dos listas de nodos: Abiertos: nodos que se han generado, pero que an no se han generado sus sucesores. Cerrados: nodos que ya se han examinado.
Por ltimo, definimos como f a la funcin que representa una estimacin del costo necesario p ara alcanzar un estado objetivo a travs del camino que se ha seguido.
Por ltimo, existen dos tipos de restricciones: posibles valores para un objeto y relaciones entre objetos.
Para mejorar la efectividad de un programa resolutor de problemas es necesario: Mejorar el procedimiento de generacin, de forma que slo se generen buenos estados. Mejorar el procedimiento de prueba, de forma que slo se exploren en primer lugar los buenos estados.
Cada iteracin es conocida como generacin. Los algoritmos genticos tienen cuatro diferencias principales respecto a los mtodos tradicionales: Trabajan con una codificacin del conjunto de parmetros, no con estos directamente. Buscan simultneamente la solucin en una poblacin de individuos, no en uno solo. Utilizan la funcin objetivo directamente, y no funciones derivadas. Utilizan reglas de transicin probabilsticas, y no determinsticas.
2.4.3 Poblaciones
Si un problema puede ser representado por un conjunto de parmetros, conocidos como genes, stos pueden entonces ser unidos para formar cromosomas. A este proceso de lo llama codificacin. Se debe utilizar el alfabeto ms pequeo posible para representar los genes.
Seleccin
Determina cmo los individuos son elegidos para el apareamiento. Los ms usados son el mtodo de la ruleta o ranking.
Crossover
La forma bsica de este operador toma dos individuos y corta sus cromosomas en una posicin seleccionada al azar, para producir dos segmentos anteriores y dos posteriores. Los posteriores se intercambian para obtener dos cromosomas nuevos. Esto es conocido como crossover de un punto, aunque existen otros como crossover de mltiples puntos y crossover cclico.
Mutacin
Es la alteracin en forma aleatoria de un individuo de la poblacin. Esto es necesario para que no se produzca una convergencia prematura y para que todos los individuos de la poblacin no tengan probabilidad cero de ser utilizados.
Migracin
Es el operador que genera un intercambio de individuos entre subpoblaciones. Es aplicable en el caso de utilizar algoritmos genticos paralelos para la resolucin de un problema.
Convergencia
Si el algoritmo ha sido correctamente implementado, la poblacin evolucionar a lo largo de las generaciones, de forma que el promedio general se incrementar hacia el ptimo global.
Convergencia prematura
Los genes de unos pocos individuos relativamente bien adaptados, pero no ptimos, pueden rpidamente dominar la poblacin, causando que se converja a un mximo local. Una vez que sucede esto, la nica va de escape es la mutacin.
Finalizacin lenta
Luego de muchas generaciones, la poblacin habr convergido pero no habr localizado el mximo global.
2.5 Planificacin
2.5.2 Componentes de un sistema de planificacin
En los sistemas de resolucin de problemas basados en tcnicas elementales, era necesario llevar a cabo las siguientes funciones:
19
Elegir la mejor regla para aplicar a continuacin, basndonos en la mejor informacin heurstica disponible. La tcnica ms profunda para esto consiste en asilar el conjunto de diferencias entre el estado actual y el objetivo deseado para poder identificar aquellas reglas que pueden reducir estas diferencias. Aplicar la regla elegida para calcular el nuevo estado del problema que surge de su aplicacin. Detectar cundo se ha llegado a una solucin. Un sistema de planificacin tiene xito al encontrar una solucin cuando encuentra una secuencia de operadores que transforman el estado inicial del problema en un estado objetivo. Detectar callejones sin salida, es decir, caminos que nunca pueden conducir a una solucin, de forma de que puedan abandonarse.
Adems, suele ser importante una quinta funcin: Detectar cundo se ha encontrado algo muy parecido a una solucin correcta, y emplear tcnicas especiales para hacer que sea totalmente correcta.
20
Una posible estructuracin consiste en clasificar estas entidades en dos niveles: Nivel del conocimiento: se describen los hechos. Nivel simblico: se describen los objetos del nivel del conocimiento en trminos de smbolos manipulables por programas.
La relacin establecida entre los hechos reales y la representacin de los mismos se denomina correspondencia de la representacin. La misma puede ser hacia adelante, donde se establece una correspondencia entre los hechos y sus representaciones, o hacia atrs, donde se establece una correspondencia desde las representaciones hacia los hechos. Estas funciones no suelen ser biunvocas.
21
22
Al lgico slo le interesa una de estas condiciones. La verdad o falsedad de las premisas es tarea de la investigacin cientfica en general, pues las mismas pueden tratar de cualquier asunto. Pero determinar la validez o invalidez de los argumentos es el campo de la lgica deductiva. Al lgico le interesa la cuestin de la validez aun para argumentos cuyas premisas sean falsas.
3.2.2 Argumentos que contienen enunciados compuestos 3.2.2.1 Enunciados simples y compuestos
Un enunciado simple es aquel que no contiene otro enunciado como parte componente. Un enunciado compuesto contiene otro enunciado como componente. Hablaremos de valor de verdad de un enunciado, siendo el valor de verdad de un enunciado verdadero, verdadero, y el valor de verdad de un enunciado falso, falso. Cualquier enunciado compuesto cuyo valor de verdad est determinado completamente por los valores de verdad de sus enunciados componentes es un enunciado compuesto funcin de verdad . Representaremos los valores de verdad de un enunciado, que estn determinados a partir de los valores de verdad de sus componentes, a travs de una tabla de verdad. Algunas formas de combinar enunciados en enunciados compuestos son: Conjuncin: se forma insertando la palabra y entre dos enunciados. Dos enunciados as combinados se llaman conyuntos. Si p y q son dos enunciados cualesquiera, su conjuncin se escribe p.q. p T T F F q T F T F p.q T F F F
Disyuncin: cuando dos enunciados se combinan disyuntivamente insertando la palabra o entre ellos, el enunciado compuesto que resulta es una disyuncin, y los dos enunciados combinados se llaman disyuntos. Cuando la palabra o denota adems conjuncin, la llamamos o dbil o inclusiva (puede reforzarse utilizando y/o). Cuando la palabra o denota slo disyuncin, la llamamos o fuerte o exclusivo (puede reforzarse utilizando pero no ambos). El significado comn parcial es que al menos un disyunto sea verdadero, y es el significado completo de la disyuncin inclusiva. A travs del smbolo v denotaremos este significado parcial comn. 24
p T T F F
q T F T F
pvq T T T F
La puntuacin (parntesis, corchetes y llaves) es necesaria en la lgica simblica porque los enunciados compuestos son susceptibles de combinaciones para dar lugar a enunciados ms complejos. Como una disyuncin exclusiva expresa que al menos uno de los disyuntos sea verdadero, pero no ambos, podemos enunciarla como (pvq). ~ (p.q). Todo enunciado compuesto construido a partir de enunciados simples por aplicacin repetida de conectivos de funcin de verdad, tendr valores de verdad completamente determinados por los valores de verdad de esos enunciados simples.
25
Al discutir las formas de los argumentos, es conveniente usar letras minsculas de la parte media del alfabeto, p, q, r,, como variables sentenciales, que se definen como letras en lugar de las cuales se pueden sustituir enunciados. Ahora definimos forma argumental como cualquier arreglo de smbolos que contienen variables sentenciales, de modo que al sustituir enunciados por las variables sentenciales, manteniendo siempre el mismo enunciado para la misma variable, el resultado es un argumento. Cualquier argumento que sea resultado de la sustitucin de enunciados en lugar de variables sentenciales de una forma argumental, se dice que tiene esa forma o que es una instancia de sustitucin de esa forma argumental. Definimos la forma especfica de un argumento dado, como aquella forma argumental de la cual resulta el argumento reemplazando cada variable sentencial por un enunciado simple diferente. Refutacin por analoga lgica: si puede mostrarse que la forma especfica de un argumento dado tiene una instancia de sustitucin con premisas verdaderas y conclusin falsa, entonces el argumento dado es invlido. Los trminos vlido e invlido pueden extenderse para aplicarse a formas argumentales. As, una forma argumental invlida es una que tiene, al menos, una instancia de sustitucin con premisas verdaderas y conclusin falsa. Para determinar la validez o invalidez de una forma argumental, debemos examinar todas las instancias de sustitucin posibles de ellas para ver si alguna tiene premisas verdaderas y conclusin falsa. Las tres formas argumentales ms simples son: Modus ponens: Si p entonces q p q Si p entonces q ~q ~p Si p entonces q Si q entonces r Si p entonces r
Modus tollens:
Silogismo hipottico:
Hay dos formas argumentales invlidas que tienen un parecido superficial con las formas Modus ponens y Modus tollens: Falacia de afirmacin del consecuente: pq q p pq ~p ~q
26
la forma sentencial de la que resulta el enunciado poniendo en el lugar de cada variables sentencial un enunciado simple diferente. Una enunciado es una verdad formal cuando es una instancia de sustitucin de una forma sentencial cuyas instancias de sustitucin son todas verdaderas. Un enunciado es formalmente falso cuando es una instancia de sustitucin de una forma sentencial cuyas instancias de sustitucin son todas falsas. Una forma sentencial que slo tiene instancias de sustitucin verdaderas es una tautologa. Una forma sentencial que slo tiene instancias de sustitucin falsas es una contradiccin. Aquellos enunciados y formas sentenciales que no son ni tautolgicos ni contradictorios, se dice que son contingencias. Dos enunciados son materialmente equivalentes cuando tienen el mismo valor de verdad, y simbolizamos esta equivalencia material insertando el smbolo . Un enunciado de la forma p q se llama bicondicional. Dos enunciados se dicen lgicamente equivalentes cuando el bicondicional que expresa su equivalencia es una tautologa. Un ejemplo de equivalencia lgica es el Teorema de De Morgan, enunciado de la siguiente forma: la negacin de la conjuncin (disyuncin) de dos enunciados es lgicamente equivalente a la disyuncin (conjuncin) de sus negaciones. A todo argumento le corresponde un enunciado condicional cuyo antecedente es la conjuncin de las premisas del argumento, y cuyo consecuente es la conclusin del argumento. Ese condicional es una tautologa si y slo si el argumento es vlido.
Modus tollens:
Silogismo hipottico:
27
Dilema destructivo:
Simplificacin:
Conjuncin:
Adicin:
28
Por tanto, dado cualquier argumento cuya conclusin es un enunciado condicional, una demostracin de su validez a travs de la regla de demostracin condicional se construye suponiendo que el antecedente de su conclusin es una premisa adicional, y luego deduciendo el consecuente de su conclusin por una sucesin de argumentos vlidos elementales. La regla de demostracin indirecta El mtodo de demostracin indirecta, o demostracin por reduccin al absurdo, consiste en suponer lo opuesto de lo que se quiere demostrar. Si este supuesto conduce a una contradiccin o se reduce a un absurdo, entonces el supuesto debe ser falso, y su negacin lo que se quera demostrar debe ser verdadero.
En el caso que haya que decidir cul de dos sentencias demostrar, por ejemplo dos sentencias opuestas, puede hacerse lo siguiente: Razonar a partir de los axiomas y ver qu respuesta se obtiene, lo que se denomina razonar hacia adelante. Utilizar heursticas que permitan decidir cul es la respuesta ms probable, y entonces intentar demostrarla. Despus de un tiempo razonable en que no se encuentre una demostracin, se intentara con la otra respuesta. Demostrar ambas respuestas simultneamente y parar cuando una de las dos demostraciones tuviese xito. Demostrar la verdad de una respuesta y la falsedad de la contraria, y utilizar la informacin obtenida en cada proceso como ayuda en el otro. 29
Sin embargo, para que la resolucin funcione, es necesario convertir el conjunto de frmulas bien formadas a un conjunto de clusulas, donde una clusula se define como una frmula bien formada en forma normalizada conjuntiva que no contiene ninguna conectiva ^.
Despus de aplicar este algoritmo a un conjunto de frmulas bien formadas, tendremos un conjunto de clusulas, cada una de las cuales ser una disyuncin de literales. Estas clusulas sern las que utilice el procedimiento de resolucin para generar demostraciones.
30
Algoritmo de resolucin
1. Convertir todas las sentencias a forma clausal. 2. Negar la sentencia que quiere demostrarse y convertir el resultado a forma clausal. Aadir la clusula resultante al conjunto de clusulas obtenidas en 1.
31
3. Hasta que se encuentre una contradiccin, no pueda seguir avanzando o se haya realizado una cantidad de esfuerzo predeterminado, hacer: a. Seleccionar dos clusulas. Llamarlas clusulas padres. b. Resolverlas. El resultado se llamar resolvente. c. Si el resolvente es la clusula vaca, se ha encontrado una contradiccin. Si no lo es, aadirla al conjunto de clusulas sobre las que se est aplicando el procedimiento.
Los hechos nicamente contienen constantes, es decir, representan sentencias acerca de objetos especficos. Las reglas contienen variables, es decir, representan sentencias acerca de las diferentes clases de objetos. Existen algunas diferencias sintcticas entre la representacin lgica estndar y la representacin PROLOG: En la lgica, las variables estn especficamente cuantificadas. En PROLOG, la cuantificacin se realiza de un modo implcito. En la lgica existen smbolos explcitos para y (^) y o (v). En PROLOG existe un smbolo explcito para y (,), pero no para o. En su lugar, la disyuncin se expresa mediante una lista de sentencias alternativas. En la lgica, las implicaciones de la forma p implica q se escriben como p q. En PROLOG, la misma implicacin se escribe de forma inversa, como q :- p.
32
La principal diferencia entre la representacin de la lgica y la de PROLOG, es que el intrprete PROLOG fija una estrategia de control, y por tanto, las aserciones en un programa PROLOG definen un camino de bsqueda concreto para as encontrar una respuesta a cualquier pregunta. En contraste, las aserciones lgicas no dicen nada sobre cmo se debe elegir entre todas las respuestas, si es que existe ms de una. La estrategia de control PROLOG comienza con una sentencia problema, que es el objetivo a probar, y busca las aserciones que pueden probar el objetivo: considera hechos que prueban el objetivo y tambin cualquier regla cuya cabeza se empareje con el objetivo. Para decidir cundo puede aplicar una regla o un hecho al problema, utiliza el procedimiento de unificacin estndar. Razonar hacia atrs desde ese objetivo, hasta que encuentre el modo de terminar con las aserciones en el programa. Considera los caminos utilizando la estrategia de bsqueda primero en profundidad, as como la vuelta atrs.
Los sistemas convencionales de razonamiento, como la lgica de predicados de primer orden, estn diseados para trabajar con informacin que cumple tres importantes propiedades: La informacin es completa respecto al dominio de inters . Es decir, todos los hechos necesarios para resolver el problema, o estn presentes en el sistema o pueden ser derivados de ellos mediante reglas convencionales de primer orden. La informacin es consistente.
33
La nica forma en que puede cambiar la informacin es que se aadan nuevos hechos . Si estos nuevos hechos son consistentes con todos los dems hechos que ya se han afirmado, entonces ninguno de los hechos pertenecientes al conjunto que eran ciertos pueden refutarse. Esta propiedad se denomina monotona.
Los sistemas de razonamiento no montono estn diseados para que puedan resolver problemas en los que quiz no aparezca alguna de estas propiedades.
34
Circunscripcin En la circunscripcin, se aaden nuevos axiomas a la base de conocimiento existente. El fin de estos axiomas es forzar una interpretacin mnima sobre una parte de la base de conocimiento .
En muchos sistemas de resolucin de problemas, un objetivo importante consiste en reunir evidencias sobre la evolucin del sistema y modificar su comportamiento sobre la base de las mismas. Para modelas este comportamiento se necesita una teora estadstica de la evidencia. Las estadsticas bayesianas constituyen esta teora. Sin embargo, la estadstica bayesiana es inaplicable por diversos motivos: El problema de la adquisicin de conocimiento es inabarcable, ya que son necesarias demasiadas probabilidades. El espacio necesario para almacenar todas las probabilidades es demasiado grande. El tiempo empleado en calcular las probabilidades es demasiado grande.
A pesar de esto, las estadsticas bayesianas proporcionan una base para los sistemas que razonan bajo incertidumbre. En consecuencia, se han desarrollado distintos mecanismos que hacen uso de su potencialidad, pero que a la vez hacen que sea tratable: Factores de certeza. Redes bayesianas. Teora de Dempster-Shafer.
A partir de estas dos medidas, se define el factor de certeza como: FC[h, e] = MB[h, e] MD[h, e]
35
36
La dependencia conceptual, los guiones y los CYC implementan poderosas teoras sobre la forma en que los programas de IA pueden representar y utilizar el conocimiento sobre situaciones comunes.
As, la representacin en DC de una frase no se construye con primitivas que se corresponden con palabras que aparecen en la frase, sino con primitivas conceptuales que pueden combinarse para formar el significado de las palabras, independientemente del lenguaje concreto.
3.7.2 Guiones
DC es un mecanismo para representa y razonar sobre eventos. Sin embargo, los eventos rara vez ocurren por separado. Un guion (script) es una estructura que describe una secuencia estereotipada de eventos en un contexto concreto. Los guiones son tiles ya que en el mundo real aparecen patrones en la ocurrencia de los eventos. Dichos patrones surgen debido a las relaciones de causalidad entre los eventos.
3.7.3 CYC
CYC es un proyecto de una gran base de conocimiento cuyo propsito es el de capturar el conocimiento humano de sentido comn.
37
4.2.1 Hechos
Un hecho es una forma de combinar un objeto y una relacin, mediante la sintaxis relacion(objeto). La relacin se conoce como predicado y el objeto como argumento. A continuacin se presentan algunas consideraciones: Los nombres de todos los objetos y relaciones deben comenzar con una letra minscula. Primero se escribe la relacin y luego los objetos, separndolos mediante comas y encerrndolos entre parntesis. 38
Al final de cada hecho debe ir un punto. El carcter _ en el nombre del predicado indica que todo es una nica palabra. Dos hechos coinciden si sus predicados se escriben de igual forma y si cada uno de sus correspondientes argumentos son iguales entre s.
4.2.2 Variables
En PROLOG, adems de poder nombrar determinados objetos, tambin se pueden utilizar nombres como X que representen objetos a los que el mismo PROLOG les dar valor. Este tipo de nombres se llama variable. Cuando PROLOG utiliza una determinada variable, sta puede estar instanciada o no. El primer caso se da cuando existe un objeto determinado representado por la variable; en el segundo caso, todava no se conoce lo que la variable representa. Las variables deben comenzar con una letra mayscula. Cuando se intenta establecer una relacin que contenga una variable, PROLOG efectuar una bsqueda recorriendo todos los hechos que l tiene almacenados para encontrar un objeto que pueda ser representado por la variable. A veces es necesario utilizar una variable aunque su nombre no se utilice nunca. Por ejemplo, supongamos que queremos averiguar si a alguien le gusta Eduardo, pero no estamos interesado en saber quin. Aqu es donde utilizamos variables annimas, a travs de la siguiente sintaxis: le_gusta_a(_, Eduardo)
4.2.3 Reglas
En PROLOG se utilizan las reglas cuando se quiere expresar que un hecho depende de un grupo de otros hechos. Una regla consiste en una cabeza y un cuerpo. Estas partes se encuentran separadas por el smbolo : -, que se lee si. La regla describe qu hecho es el que la regla intenta definir, mientras que el cuerpo expresa la conjuncin de objetivos que deben satisfacerse, uno tras otro, para que la cabeza sea cierta. Las reglas son mucho ms compactas que una lista de hechos, y hacen que PROLOG pase de ser solo un diccionario o una base de datos en el que se puede buscar, a ser una mquina lgica, pensante . Por tanto, decimos que una regla es una afirmacin general sobre objetos y sus relaciones .
4.2.4 Clusulas
Utilizaremos la palabra clusula siempre que nos refiramos a un hecho o a una regla.
4.2.5 Preguntas
Una vez que disponemos de hechos podremos hacer preguntas acerca de ellos. En PROLOG, una pregunta se representa igual que un hecho, salvo que se antepone un smbolo ? -. Cuando se hace una pregunta, PROLOG efecta una bsqueda por toda la base de datos, localizando hechos que coincidan con el hecho en cuestin . Si se encuentra uno que coincida, se responder s, en caso contrario, no.
39
Jos. Esto representa un problema con dos objetivos separados. El y expresa el inters de la conjuncin de los dos objetivos: lo que se intenta hacer es satisfacer ambos. Esto, en PROLOG, se expresara: ?- le_gusta_a(jose,maria),le_gusta_a(maria,jose). La coma se lee y, y separa los objetivos de la pregunta. Cuando PROLOG tiene que satisfacer, digamos, dos objetivos, buscar el primero en la base de datos: si lo encuentra, marcar el lugar e intentar satisfacer el segundo, y si lo logra, marcar tambin dicha posicin en la base de conocimientos, lo que determina que se encontr la solucin. Si, por el contrario, el segundo objetivo no se logra, PROLOG intentar volver a satisfacer el objetivo anterior. Lo que hace es volver hacia atrs e intentar satisfacer nuevamente su anterior objetivo comenzando desde su correspondiente marca de posicin, y no desde el principio de la base de datos. Luego, intentar satisfacer el segundo objetivo. Al comportamiento de intentar repetidamente satisfacer o volver a satisfacer los objetivos de una conjuncin se lo llama reevaluacin o backtracking.
El ingeniero de conocimiento es el encargado de entrevistar a los expertos reales para aprender sobre lo que ellos saben, y poder as organizar la informacin obtenida para construir bases de conocimiento.
41
Por otro lado, tres son los tipos de personas que se relacionan con un sistema experto : Usuario final: dialoga con el sistema para resolver problemas o aprender. Experto humano: comunica su conocimiento para construir el sistema. Ingeniero de conocimiento: disea las estructuras de datos ms adecuadas para la representacin del conocimiento, y traduce los conocimientos del experto humano a tales estructuras.
Por ltimo, hay dos grandes diferencias entre la lnea de trabajo actual sobre sistemas expertos respecto de los trabajos clsicos: Concentrarse en reas muy especficas del saber y no en problemas generales. Dar importancia a que los sistemas puedan explicar sus razonamientos y dar justificaciones al usuario.
42
43
REDES NEURONALES
5.1 Modelos conexionistas
Los modelos de computacin conexionista, o redes neuronales artificiales, suponen en primer lugar la deduccin de las caractersticas esenciales de las neuronas y sus conexiones, y en segundo lugar la implementacin del modelo en una computadora de forma que se pueda simular.
Una neurona formal es un dispositivo binario con varias entradas y salidas. Las hiptesis de Hebb son: Una percepcin o un concepto se representa en el cerebro por un conjunto de neuronas activas simultneamente. La memoria se localiza en las conexiones entre las neuronas.
Luego, la regla de aprendizaje de Hebb indica que las conexiones entre dos neuronas se refuerzan si ambas son activadas.
44
Conexiones ponderadas: cumplen el papel de las conexiones sinpticas. La existencia de conexiones determina si es posible que una unidad influya sobre otra. Peso sinptico (wi): el peso de la conexin equivale a la fuerza o efectividad de la sinapsis. El valor de los pesos y el signo del mismo definen el tipo (excitatorio o inhibitorio) y la intensidad de la influencia. Funcin de red o propagacin: calcula el valor de entrada total a la unidad, generalmente como una simple suma ponderada de todas las entradas recibidas, es decir, de las entradas multiplicadas por el peso o valor de las conexiones. Equivale a la combinacin de las seales excitatorias e inhibidoras de las neuronas biolgicas. Entre las funciones ms importantes podemos citar: Funcin lineal de base: es la ms utilizada.
(, ) =
=1
En ambos casos, hay una unidad j con n unidades conectadas a ella. X es el vector de entradas y W j es el vector de pesos de las conexiones correspondientes. Funcin de activacin: se encarga de calcular el nivel de activacin de la neurona en funcin de la entrada total. Es quiz la caracterstica principal de las neuronas, la que mejor define el comportamiento de las mismas. Podemos distinguir entre: Funciones lineales: la salida es proporcional a la entrada. Funciones de umbral: la salida es un valor discreto, tpicamente binario, que depende de si la estimulacin total supera o no un determinado valor de umbral. Funciones no lineales: la salida no es proporcional a la entrada.
Salida: calcula la salida de la neurona en funcin de la activacin de la misma, aunque normalmente se aplica la funcin identidad, tomndose como salida el valor de activacin. El valor de salida cumplira la funcin de la tasa de disparo en las neuronas biolgicas.
45
Adems de por el nmero de capas, las redes pueden clasificarse en funcin de cmo se interconectan unas capas con otras: Redes en cascada: la informacin fluye unidireccionalmente de una capa a otra (desde la capa de entrada a las capas ocultas, y de stas a la capa de salida) y, adems, no se permiten conexiones intracapa. Redes recurrentes: la informacin puede volver a lugares por los que ya pas, y se admiten las conexiones intracapa, incluso entre una red consigo misma.
Las conexiones entre una capa y otra pueden ser: Totales: cada unidad se conecta con todas las unidades de la capa siguiente. Parciales: una unidad se conecta con slo algunas de las unidades de la capa siguiente, generalmente siguiendo algn patrn aleatorio o pseudoaleatorio.
Desde una aproximacin temporal, podemos distinguir redes con conexiones sin retardo y con conexiones con retardo.
46
Tolerancia a fallos: la destruccin parcial de una red conduce a una degradacin de su estructura, sin embargo, algunas capacidades de la red se pueden retener. Operacin en tiempo real: los cmputos neuronales pueden ser realizados en paralelo, para lo cual se disea hardware especial. Fcil insercin dentro de la tecnologa existente : pueden obtenerse chips especializados para redes neuronales que mejoran su capacidad.
47
5.6 El perceptrn
Un perceptrn es una red neuronal en la que: Slo hay una neurona. Las entradas son binarias: 0 y 1. Las cajas lgicas pueden interponerse entre las entradas y los pesos del perceptrn. Cada caja lgica puede verse como una tabla que produce un valor de salida de 0 o 1 para cada combinacin de 0 y 1 que pueda aparecer en sus entradas. La salida del perceptrn es 0 o 1, dependiendo de si la suma ponderada de las salidas de las cajas lgicas es mayor o menor que el umbral.
En un perceptrn limitado por el orden de orden n, cada caja lgica atiende n o menos entradas. En un perceptrn directo, cada caja lgica tiene slo una entrada, y la salida es siempre la misma que la entrada.
Memoria direccionable por contenido : para recuperar un patrn nicamente se necesita una parte especfica de l. Tolerancia a fallos: aunque algunos de los elementos procesadores de la red fallasen, sta todava funcionar adecuadamente.
En una red de Hopfield, los elementos de proceso, llamados tambin unidades, siempre se encuentran en estado activo o inactivo. Las unidades estn conectadas unas con otras por conexiones simtricas y con pesos. Una conexin con peso positivo indica que las dos unidades tienden a activarse la una a la otra. Una conexin con peso negativo indica que una unidad activa desactivar a su unidad vecina. El funcionamiento de la red comienza eligiendo una unidad aleatoriamente. Si alguna de sus vecinas est activada, la unidad calcula la suma de los pesos en las conexiones entre esas unidades. Si la suma es positiva, la unidad se activa, de forma contraria, se desactiva. Entonces se elige otra unidad aleatoriamente y se repite el proceso hasta que la red alcanza un estado estable, es decir, hasta que no quede ninguna unidad que pueda cambiar de estado. Este proceso se denomina relajacin paralela. Dado un estado inicial, una red necesariamente se asentar en algn estado estable, por lo que se la puede ver como un almacenador de patrones. La mayor contribucin de las redes de Hopfield es la de mostrar que el algoritmo de relajacin paralela llevar en algn momento hacia un estado estable . No puede existir divergencia u oscilacin. Un estado que se haya elegido aleatoriamente se transformar a s mismo en uno del tipo de mnimo local que es el estado estable ms cercano. sta es la forma de obtener un comportamiento direccionable por contenido. Ahora supngase que una unidad falla de repente hacindose activa o inactiva cuando no debe. Esto no representara mayor problema, ya que las unidades que le rodean rpidamente volveran a ponerle en el estado correcto. sta es la forma de obtener tolerancia a fallos.
49