www.haztefuncionario.com
Material registrado. Prohibida su reproducción.
Copia exclusiva de José Ignacio Méndez Yanes. Av de los Poblados 133, 7º - 3ª - 28025 - Madrid - Tel. 917464968
B1G2T09 - INTELIGENCIA ARTIFICIAL.
1.
INTELIGENCIA ARTIFICIAL ....................................................................................................................................... 2 1.1. EVOLUCIÓN HISTÓRICA......................................................................................................................................... 2 1.2. ASPECTOS BÁSICOS EN INTELIGENCIA ARTIFICIAL ....................................................................................... 3 1.3. TÉCNICAS DE BÚSQUEDA ...................................................................................................................................... 4 1.3.1. BÚSQUEDA PRIMERO EN ANCHURA.............................................................................................................. 5 1.3.2. BÚSQUEDA PRIMERO EN PROFUNDIDAD .................................................................................................... 6 1.3.3. BÚSQUEDA POR GENERACIÓN Y PRUEBA.................................................................................................... 6 1.3.4. ASCENSO A LA COLINA (HILL CLIMBING)..................................................................................................... 7 1.3.5. BÚSQUEDA PRIMERO EL MEJOR.................................................................................................................... 7 1.4. REPRESENTACIÓN DEL CONOCIMIENTO ........................................................................................................... 7 1.4.1. LÓGICA PROPOSICIONAL ................................................................................................................................ 8 1.4.2. CÁLCULO DE PREDICADOS DE PRIMER ORDEN......................................................................................... 8 1.4.3. REGLAS DE PRODUCCIÓN............................................................................................................................... 9 1.4.4. REDES SEMÁNTICAS ......................................................................................................................................... 9 1.4.5. MARCOS ............................................................................................................................................................ 10 1.4.6. REPRESENTACIÓN MEDIANTE OBJETOS..................................................................................................... 10
2.
INGENIERÍA DEL CONOCIMIENTO ........................................................................................................................ 10 2.1. ESTRUCTURA DE LOS SISTEMAS BASADOS EN EL CONOCIMIENTO ......................................................... 11 2.2. SISTEMAS BASADOS EN REGLAS ....................................................................................................................... 11 2.2.1. REGLAS DE INFERENCIA................................................................................................................................ 12 2.2.2. ESTRATEGIAS DE INFERENCIA ..................................................................................................................... 12 2.2.3. CONTROL DE COHERENCIA .......................................................................................................................... 14 2.3. EVOLUCIÓN HISTÓRICA....................................................................................................................................... 14 2.3.1. PRIMERA GENERACIÓN: EXTRACCIÓN POR FRAGMENTOS.................................................................... 14 2.3.2. SEGUNDA GENERACIÓN: MODELADO ........................................................................................................ 15 2.4. METODOLOGÍA COMMONKADS............................................................................................................................ 15
3.
APRENDIZAJE AUTOMÁTICO .................................................................................................................................. 17 3.1. APRENDIZAJE DE ÁRBOLES DE DECISIÓN ....................................................................................................... 17 3.2. REDES NEURONALES ARTIFICIALES................................................................................................................. 19 3.2.1. EL PERCEPTRÓN ............................................................................................................................................. 20 3.2.2. REDES NEURONALES MULTICAPA. ALGORITMO DE RETROPROPAGACIÓN........................................ 21 3.3. ALGORITMOS GENÉTICOS ................................................................................................................................... 22
4.
CONCLUSIÓN ................................................................................................................................................................. 24
5.
BIBLIOGRAFÍA .............................................................................................................................................................. 24
6.
ESQUEMA – RESUMEN ................................................................................................................................................ 25
TEMARIO-TICB-feb04 Actualizado en febrero de 2004
B1G2T09 Página 1 de 26
www.haztefuncionario.com
Material registrado. Prohibida su reproducción.
Copia exclusiva de José Ignacio Méndez Yanes. Av de los Poblados 133, 7º - 3ª - 28025 - Madrid - Tel. 917464968
1.
INTELIGENCIA ARTIFICIAL
Definiciones de Inteligencia Artificial (IA) hay muchas y variadas, dependiendo del campo de interés de los distintos investigadores, pero la mayoría de ellas se pueden agrupar en cuatro enfoques diferentes: □
Pensar como los humanos: sistemas computacionales que emulan los procesos de pensamiento humano. Dentro de este enfoque nos encontramos visones de la IA como la de Bellman que considera la IA como “La automatización de las actividades que asociamos con el pensamiento humano, actividades como la toma de decisiones, el aprendizaje, la resolución de problemas, etc.”.
□
Actuar como los humanos: sistemas computacionales que emulan el comportamiento humano. Aquí encontramos definiciones como la de Kurzweil “El arte de crear máquinas que realicen funciones que requieren inteligencia cuando las hacen los humanos”
□
Pensar racionalmente: modelos computacionales del pensamiento racional. Charniak y McDermott definen la IA como “El estudio de las capacidades mentales a través del uso de modelos de computación”.
□
Actuar racionalmente: modelos computacionales del comportamiento racional. Luger y Stubblefield definen la IA como “La rama de la ciencia de la computación que estudia el automatización del comportamiento inteligente”.
Entre las principales áreas de investigación en inteligencia artificial se pueden citar: □
Procesamiento del lenguaje natural: su objetivo es permitir que las personas puedan comunicarse con los ordenadores utilizando lenguaje natural.
□
Visión artificial: su objetivo es que los ordenadores entiendan las imágenes.
□
Robótica: se centra en el desarrollo de dispositivos electromecánicos que puedan programarse para que realicen tareas manuales.
□
Programación automática: tiene que ver con la creación de software que pueda generar programas a partir de las especificaciones de un programador.
□
Ingeniería del Conocimiento: su objetivo es la construcción de Sistemas Basados en el Conocimiento, sistemas que incorporan conocimiento de un determinado dominio y son capaces de operar en ese dominio como lo haría un experto humano.
□
Aprendizaje automático: se centra en los programas que pueden aprender a partir de la experiencia.
Los dos últimos campos mencionados se tratan en los apartados 2 y 3 del tema.
1.1.
EVOLUCIÓN HISTÓRICA
Las especulaciones sobre máquinas capaces de demostrar inteligencia se remontan a la antigua Grecia, pero es con la invención del primer ordenador digital que la IA deja de ser una simple especulación y pasa a ser algo fundamentado en la realidad. La historia de la inteligencia artificial se puede dividir en una serie de fases. La primera fase (1943-1956), que podríamos denominar el nacimiento de la IA moderna, comienza con los trabajos de McCulloch y Pitts, que proponen un modelo de red neuronal artificial y demuestran que es equivalente a la máquina de Turing. Esto estimuló tanto el trabajo teórico como el práctico en éste área y en 1951 Minsk y Edmonds construyen el primer computador de red neuronal. En 1956 tiene lugar el taller del Dartmouth College donde se da el nombre de Inteligencia Artificial a este nuevo campo de la ciencia (debido a John McCarthy). Aquí se presenta el Teórico Lógico de Newell y Simon, un programa de razonamiento capaz de realizar demostraciones de teoremas matemáticos.
TEMARIO-TICB-feb04 Actualizado en febrero de 2004
B1G2T09 Página 2 de 26
www.haztefuncionario.com
Material registrado. Prohibida su reproducción.
Copia exclusiva de José Ignacio Méndez Yanes. Av de los Poblados 133, 7º - 3ª - 28025 - Madrid - Tel. 917464968
La siguiente época (1956-finales de los 60) se caracteriza por un gran entusiasmo y grandes ideas. De estos años son la definición del lenguaje LISP por McCarthy todavía utilizado hoy en día en IA; el Solucionador General de Problemas de Newell y Simon, un programa de propósito general que simulaba los métodos de resolución de problemas humanos; y el primer programa de juego de damas de Samuel. También se continúan los trabajos sobre redes neuronales artificiales iniciados en la etapa anterior. Rosenblatt introduce el Perceptrón y un algoritmo de aprendizaje para reconocimiento de patrones, y se comercializa la primera red neuronal aplicada a un problema real (basada en ADALINE una variante del Perceptrón). Destacar también de esta época la publicación por Zadeh de su trabajo Conjuntos Difusos (1965), que es ahora considerado la base de la lógica difusa. La época entre finales de los 60 y mediados de los 70 se suele denominar “el impacto con la realidad”. Desde mediados de los cincuenta las previsiones en IA eran que para los años 80 se podrían construir máquinas inteligentes de propósito general sobre una base de conocimiento a escala humana y que para el año 2000 se podría incluso superar la inteligencia humana. En esta época se empieza a ver que estas previsiones son demasiado optimistas y se topan con los primeros obstáculos importantes. Las técnicas que se habían demostrado apropiadas para la resolución de problemas sencillos eran demasiado débiles para la explosión combinatoria que se recibía de la realidad en problemas más complejos (a pesar del enorme incremento en la capacidad de cálculo). Otro obstáculo correspondía a las limitaciones de las estructuras utilizadas. Por ejemplo Minsky puso de manifiesto las limitaciones de los Perceptrones lo que hizo que decayera el interés por las redes neuronales. Los años entre el inicio de los 70 y mitad de los 80 forman la era de la tecnología de los sistemas expertos. El aspecto fundamental fue el darse cuenta de que el dominio del problema en el que se centraban las máquinas inteligentes debía ser suficientemente restringido. A principios de los 70 se construye el primer sistema experto de éxito, DENDRAL, diseñado en Stanford para inferir la estructura molecular a partir de un espectrómetro de masas. El siguiente proyecto de envergadura abordado en el tema de los sistemas expertos fue MYCIN, para el diagnóstico de infecciones sanguíneas. MYCIN presentaba ya aspectos fundamentales de este tipo de sistemas: el nivel de eficiencia en el desempeño de la tarea era equivalente al nivel de los expertos en su campo; el conocimiento almacenado en MYCIN consistía en un conjunto de reglas derivado de entrevistas extensivas a expertos en el campo; y el conocimiento incorporado estaba claramente separado del mecanismo de razonamiento. Para finales de los años 80 la tecnología de sistemas expertos se había convertido en una industria con cientos de ellos operando. Finalmente desde mediados los 80 en adelante se puede considerar la época del renacimiento de las redes neuronales y de la computación evolucionista. Resurge aquí el interés por las redes neuronales y se encuentran aplicaciones comerciales de ellas por primera vez sobre todo en sistemas de control. La visión evolucionista de la IA se basa en modelos computacionales de genética y selección natural. Sus dos técnicas fundamentales son: los algoritmos genéticos y las estrategias de evolución. El concepto de algoritmo genético se introdujo ya en los años 70 por Holland que desarrolló un algoritmo para la manipulación de cadenas de dígitos binarios (cromosomas artificiales) a través de operaciones como el cruce, la selección y la mutación. Las estrategias de evolución se diseñaron para resolver problemas técnicos de optimización en los que no se disponía de una función objetivo analítica y por tanto no existía un método convencional de optimización. Ambas técnicas proporcionan soluciones fiables y robustas para problemas de optimización y búsqueda en espacios no lineales altamente complejos que hasta entonces no se podían resolver.
1.2.
ASPECTOS BÁSICOS EN INTELIGENCIA ARTIFICIAL
Para construir un sistema de inteligencia artificial capaz de resolver un problema específico es necesario realizar las siguientes acciones básicas: □
Definición del problema: partiendo de una descripción informal del problema se crea una descripción formal y manipulable del mismo. A este proceso se le llama operacionalización. La definición del problema de forma precisa incluye las especificaciones de las condiciones iniciales y de las situaciones finales que pueden considerarse como soluciones aceptables del problema.
TEMARIO-TICB-feb04 Actualizado en febrero de 2004
B1G2T09 Página 3 de 26
www.haztefuncionario.com
Material registrado. Prohibida su reproducción.
Copia exclusiva de José Ignacio Méndez Yanes. Av de los Poblados 133, 7º - 3ª - 28025 - Madrid - Tel. 917464968
□
Análisis del problema: se trata de analizar aspectos claves que ayuden a elegir los métodos más apropiados para la resolución. Aspectos que se pueden considerar incluyen: posible descomposición del problema en otros más pequeños que puedan tratarse de forma independiente; qué cantidad de conocimiento es necesaria para la resolución del problema; si puede el sistema de computación llegar a la solución por si sólo o es necesaria la interacción con una persona
□
Representación del conocimiento: se trata representar el conocimiento necesario para la resolución del problema de una forma apropiada para que pueda ser manejada por un sistema de computación.
□
Elección de la mejor técnica de resolución y aplicarla.
Muchas de las estrategias de resolución de problemas en IA se basan en la definición del problema como un espacio de estados, siendo el espacio de estados el dominio que contiene todas las configuraciones posibles de los estados de los objetos relevantes del problema; y su resolución en una búsqueda dentro de este espacio de estados. Los mecanismos que se utilizan para modificar o transformar un estado y que enlazan un estado actual con otro se denominan operadores, acciones o producciones. En este caso el proceso de operacionalización comprende los siguientes pasos: □
Definir el espacio de estados.
□
Especificar los estados iniciales. Los estados iniciales son los estados dentro del espacio de estados desde donde puede arrancar el proceso de solución.
□
Especificar los estados objetivos. Un estado objetivo es un estado considerado como solución aceptable del problema.
□
Especificar las acciones u operadores que al modificar o transformar un estado representan movimientos en el espacio del problema.
La resolución del problema se puede definir entonces como un proceso de búsqueda que intenta encontrar una ruta desde un estado inicial a un estado objetivo. En los dos puntos siguientes se tratan técnicas básicas de búsqueda y algunos métodos de representación del conocimiento.
1.3.
TÉCNICAS DE BÚSQUEDA
Un proceso de búsqueda puede visualizarse como el recorrido por un árbol en el que cada nodo representa un estado y cada rama la relación entre los estados representados por los nodos que conecta. En general no se genera de forma explícita más que las partes del árbol que se decide explorar. A veces es conveniente considerar un grafo en vez de un árbol para reducir el esfuerzo utilizado en explorar caminos esencialmente iguales varias veces, pero en este caso cada vez que se vaya a generar un nodo debe comprobarse si ya ha sido generado previamente y se tienen que introducir procedimientos de control para evitar que la búsqueda queda atrapada en un lazo. Las principales diferencias que pueden aparecer entre las distintas técnicas de búsqueda son: □
La forma de representar cada nodo del árbol o grafo (representación del conocimiento).
□
La estrategia de control o la forma de seleccionar los operadores o acciones que se pueden aplicar.
□
La dirección en la que se conduce la búsqueda, hacia delante o hacia atrás.
Los principales tipos de algoritmos de búsqueda basados en árboles son:
TEMARIO-TICB-feb04 Actualizado en febrero de 2004
B1G2T09 Página 4 de 26
www.haztefuncionario.com
Material registrado. Prohibida su reproducción.
Copia exclusiva de José Ignacio Méndez Yanes. Av de los Poblados 133, 7º - 3ª - 28025 - Madrid - Tel. 917464968
□
□
Búsqueda ciega. Los algoritmos de búsqueda ciega realizan una búsqueda exhaustiva y metódica del espacio de estados utilizando una estrategia fija para generar estados y compararlos con el objetivo. Entre ellos se encuentran los algoritmos: à
Búsqueda primero en anchura (Breafth-first search).
à
Búsqueda primero en profundidad (Depth-fisrt search).
à
Búsqueda por generación y prueba.
Búsqueda heurística. Los algoritmos heurísticos utilizan información sobre el espacio de estados para guiar la dirección de la búsqueda. Para esto utilizan una función heurística, una regla que aplicada a un nodo devuelve un valor que indica el grado de bondad de la búsqueda si explora caminos que salgan de ese nodo. Entre estos algoritmos están: à
Ascenso a la colina (Hill climbing).
à
Búsqueda primero el mejor.
1.3.1. BÚSQUEDA PRIMERO EN ANCHURA La búsqueda primero en anchura comienza en el nodo raíz y antes de descender un nivel en el árbol explora todos los nodos del nivel actual de izquierda a derecha. El algoritmo para implementar la búsqueda primero en anchura es el siguiente: □
Crear una lista FIFO LISTA_NODOS y añadir el nodo raíz a la lista.
□
Mientras LISTA_NODOS no esté vacía hacer: à
Sacar un elemento de la lista (el primero que entró) y asignarlo a NODO_ACTUAL
à
Si NODO_ACTUAL = objetivo retornar NODO_ACTUAL y salir.
à
Generar los nodos hijos de NODO_ACTUAL y para cada nodo hijo H, añadir H a LISTA_NODOS
La búsqueda primero en anchura garantiza que se encuentra el nodo objetivo, si es que existe, y que en el caso de existir más de un camino al objetivo, se utilizará el camino más corto. Como ejemplo considérese el árbol de la siguiente figura y que el estado objetivo es L: A B
D
I
TEMARIO-TICB-feb04 Actualizado en febrero de 2004
C
E
J
K
F
G
H
L
M
N
B1G2T09 Página 5 de 26
www.haztefuncionario.com
Material registrado. Prohibida su reproducción.
Copia exclusiva de José Ignacio Méndez Yanes. Av de los Poblados 133, 7º - 3ª - 28025 - Madrid - Tel. 917464968
Se empieza por crear la lista LISTA_NODOS y añadir el nodo raíz A. En las sucesivas etapas del algoritmo la lista LISTA_NODOS estará formada por: LISTA_NODOS [A] [B C] [C D E] [D E F G H] [E F G H I] [F G H I J K] [G H I J K L M] [H I J K L M] [I J K L M N] [J K L M N] [K L M N] [L M N]
NODO_ACTUAL A B C D E F G H I J K L
1.3.2. BÚSQUEDA PRIMERO EN PROFUNDIDAD La búsqueda primero en profundidad es similar a la búsqueda primero en anchura pero como implica su nombre se explora primero en profundidad el árbol examinando todos los descendientes de un nodo antes volver a explorar a los hermanos. El algoritmo para implementar la búsqueda primero en profundidad es el siguiente: □
Crear una pila LIFO LISTA_NODOS y añadir el nodo raíz a la pila.
□
Mientras LISTA_NODOS no esté vacía hacer: à
Sacar un elemento de la pila (el último que entró) y asignarlo a NODO_ACTUAL
à
Si NODO_ACTUAL = objetivo retornar NODO_ACTUAL y salir.
à
Generar los nodos hijos de NODO_ACTUAL y para cada nodo hijo H, añadir H a LISTA_NODOS
La búsqueda primero en profundidad no garantiza que se encuentra el nodo objetivo pues, en un árbol infinito, se podría estar interminablemente explorando ramas en profundidad sin retornar a explorar otras ramas. Sin embargo requiere menos memoria que la búsqueda primero en anchura. Considerando el mismo árbol del ejemplo anterior, para la búsqueda primero en profundidad tenemos: LISTA_NODOS (pila) [A] [B C] [D E C] [I E C] [E C] [J K C] [K C] [C] [F G H] [L M G H]
NODO_ACTUAL A B D I E J K C F L
1.3.3. BÚSQUEDA POR GENERACIÓN Y PRUEBA En la búsqueda por generación y prueba simplemente cada vez que se genera un nodo se comprueba si es el objetivo.
TEMARIO-TICB-feb04 Actualizado en febrero de 2004
B1G2T09 Página 6 de 26
www.haztefuncionario.com
Material registrado. Prohibida su reproducción.
Copia exclusiva de José Ignacio Méndez Yanes. Av de los Poblados 133, 7º - 3ª - 28025 - Madrid - Tel. 917464968
El algoritmo es el siguiente: □
Paso 1: Comprobar si el nodo raíz es el objetivo. Si lo es, salir; si no lo es ir a paso 2.
□
Paso 2: Generar un nodo N (posible solución). Ir a paso 3.
□
Paso 3: Comprobar si N es el objetivo. Si lo es salir; si no lo es volver a paso 1.
1.3.4. ASCENSO A LA COLINA (HILL CLIMBING) Los algoritmos de ascenso a la colina son métodos heurísticos de búsqueda que se pueden considerar una variante del método de generación y prueba (exploran sólo un paso adelante) pero en ellos existe una realimentación desde el procedimiento de prueba que ayuda al generador de nuevos estados a decidirse por la dirección de búsqueda. Al examinar un nuevo estado incluyen la información proporcionada por la función heurística. Si no existe un estado alternativo razonable al que poder moverse, se abandona la búsqueda. Puede ocurrir entonces que nunca lleguen a alcanzar el objetivo si son atrapados en estados desde los cuales no se puede alcanzar otros mejores. Ejemplos de estas situaciones son: □
Una meseta: es un estado en el que todo el conjunto de estados vecinos tienen el mismo valor que él con respecto a la búsqueda del objetivo.
□
Un máximo local: es un estado mejor que sus vecinos, pero no mejor que otros que están más alejados.
□
Un risco: es un máximo local desde el que no se puede alcanzar los estados mejores que no son vecinos mediante una acción simple.
Hay fórmulas que ayudan a tratar estas situaciones pero sin garantía de que las resuelvan: □
Para las mesetas tratar de encontrar una nueva sección del espacio de estados utilizando una acción que produzca un alejamiento significativo del estado actual.
□
Para los máximos regresar a un estado anterior y explorar en una dirección diferente.
□
Para los riscos aplicar dos o más acciones antes de realizar una prueba del nuevo estado.
1.3.5. BÚSQUEDA PRIMERO EL MEJOR La búsqueda “primero el mejor” combina la búsqueda en anchura y en profundidad. Se sigue un camino cada vez, pero la dirección de búsqueda (en profundidad o en anchura) puede cambiar en cada paso. Cuando se expande un nodo se llama a la función heurística y se ordenan los nodos generados de acuerdo al valor que devuelve la función para cada nodo. Se prefieren los nodos con menor o mayor valor dependiendo de cómo se exprese el problema. Generalmente se considera el valor devuelto por la función como un costo así que se prefieren los nodos con menor valor. Para muchas aplicaciones es conveniente definir la función heurística f como la suma de dos funciones g y h, donde g(n) es la medida del costo de llegar del nodo raíz al nodo n y h(n) es una estimación del costo de llegar desde el nodo n al estado objetivo. Si h nunca sobreestima el costo de llegar al objetivo (en este caso se dice que h es admisible), se garantiza que se encontrará un camino óptimo para llegar al objetivo. Si la búsqueda “primero el mejor” utiliza una función heurística f de esta forma y h es admisible la búsqueda se conoce como búsqueda A*.
1.4.
REPRESENTACIÓN DEL CONOCIMIENTO
La representación del conocimiento ha jugado, y continúa jugando, un papel clave en la construcción de máquinas inteligentes. Entre los principales métodos de representación se incluyen:
TEMARIO-TICB-feb04 Actualizado en febrero de 2004
B1G2T09 Página 7 de 26
www.haztefuncionario.com
Material registrado. Prohibida su reproducción.
Copia exclusiva de José Ignacio Méndez Yanes. Av de los Poblados 133, 7º - 3ª - 28025 - Madrid - Tel. 917464968
□
Lógica proposicional
□
Cálculo de predicados de primer orden
□
Reglas de producción
□
Redes semánticas
□
Marcos
□
Representación mediante objetos
1.4.1. LÓGICA PROPOSICIONAL La lógica proposicional es la más antigua de las formas de lógica. Permite el razonamiento a través de un mecanismo que determina la veracidad de una sentencia compleja analizando los valores de veracidad asignados a las sentencias simples que la forman. Una sentencia simple que tiene asignado un valor de verdad, verdadero (V) o falso (F), es una proposición. Las sentencias simples se combinan mediante conectores proposicionales como por ejemplo AND y OR para formar sentencias complejas. La lógica proposicional proporciona métodos para asignar valores de verdad a la proposición compuesta a partir de los valores de verdad de las proposiciones y de la naturaleza de los conectores. Una fórmula bien formada es una proposición simple o compuesta que tiene sentido completo y cuyo valor de veracidad puede ser determinado. Los conectores básicos de la lógica proposicional y la tabla de verdad para los operadores básicos se dan en las tablas siguientes: NOMBRE Conjunción Disyunción Negación Implicación Equivalencia
CONECTOR AND OR NOT If-Then Igual
SIMBOLO ∧ ∨ ~ ⇒ ⇔
p
Q
p∧q
p∨q
~p
p⇒q
p⇔q
V V F F
V F V F
V F F F
V V V F
F F V V
V F V V
V F F V
1.4.2. CÁLCULO DE PREDICADOS DE PRIMER ORDEN El cálculo de predicados de primer orden es una lógica más general que la proposicional basada en la idea de que las sentencias además de expresar relaciones entre los objetos, expresan cualidades y atributos de tales objetos. Las cualidades, relaciones o atributos se denominan predicados y los objetos son los argumentos o términos del predicado. Los predicados tienen valores de verdad, pero estos valores dependen de sus términos: un predicado puede ser verdadero para un conjunto de términos pero falso para otro.
TEMARIO-TICB-feb04 Actualizado en febrero de 2004
B1G2T09 Página 8 de 26
www.haztefuncionario.com
Material registrado. Prohibida su reproducción.
Copia exclusiva de José Ignacio Méndez Yanes. Av de los Poblados 133, 7º - 3ª - 28025 - Madrid - Tel. 917464968
A los predicados establecidos y asumidos como verdaderos y que no requieren de justificación para establecer su veracidad se les denomina axiomas. Todos los conectores lógicos vistos en la lógica proposicional son válidos en la lógica de predicados. De hecho la lógica proposicional no es más que un subconjunto de la lógica de predicados. Los argumentos de los predicados pueden representar un objeto específico (constantes) o un objeto general cuyo valor en un momento determinado puede ser desconocido (variables). A los predicados que tienen variables por argumentos se les denomina patrones. Las variables pueden ser cuantificadas. Los dos cuantificadores utilizados en el cálculo de predicados son: □
El cuantificador universal, ∀. Indica que la fórmula bien formada es verdadera para todos los posibles valores de la variable cuantificada.
□
El cuantificador existencial, ∃. Indica que la fórmula bien formada es verdadera para algún valor de la variable cuantificada
1.4.3. REGLAS DE PRODUCCIÓN Las reglas de producción son unos de los paradigmas más importantes en la representación del conocimiento. Representan el conocimiento utilizando un formato SI-ENTONCES (IF-THEN): □
La parte SI es el antecedente, premisa o condición.
□
La parte ENTONCES es la consecuencia, conclusión o acción.
Su sintaxis básica es Si (antecedente) ENTONCES (consecuencia). En general una regla puede tener múltiples antecedentes unidos por conectores como AND y OR, y consecuencias compuestas de varias cláusulas.
1.4.4. REDES SEMÁNTICAS Las redes semánticas, también denominadas asociativas, se desarrollaron originalmente para representar la semántica de las oraciones en inglés en términos de objetos y relaciones. Posteriormente se las utilizó también para representar no sólo relaciones semánticas sino asociaciones físicas o causales entre varios objetos o conceptos. Las redes semánticas representan el conocimiento de forma gráfica. Están formadas por: □
nodos, que representan objetos o conceptos
□
enlaces entre nodos, que representan relaciones o asociaciones entre objetos
□
etiquetas de enlaces, que describen relaciones específicas entre objetos, como por ejemplo es-parte-de, x-contiene-y o es-una-clase-de.
Las redes semánticas tienen dos ventajas sobre los métodos basados en la lógica y las reglas de producción vistos anteriormente: □
Permiten la declaración de relaciones más complejas de una forma sucinta y explícita.
□
Los tiempos de búsqueda pueden reducirse significativamente al estar los nodos directamente conectados.
TEMARIO-TICB-feb04 Actualizado en febrero de 2004
B1G2T09 Página 9 de 26
www.haztefuncionario.com
Material registrado. Prohibida su reproducción.
Copia exclusiva de José Ignacio Méndez Yanes. Av de los Poblados 133, 7º - 3ª - 28025 - Madrid - Tel. 917464968
1.4.5. MARCOS El concepto de marco fue propuesto por Minsky para representar situaciones o eventos que se pueden considerar estereotipos Un marco es una estructura de datos con conocimiento típico sobre un objeto o concepto particular. Cada marco tiene un nombre y un conjunto de atributos denominadas ranuras (slots) asociados con él. Cada ranura representa una característica del marco. Internamente un slot puede contener dos tipos de conocimiento: declarativo y procedural. El conocimiento declarativo, llamado facets, define información estática acerca del atributo que representa el slot. Entre estos facets se encuentra: □
Rango: conjunto de posibles valores para la ranura
□
Valor: el valor de la ranura en un momento dado
□
Valor por defecto: el valor asumido si no se especifica ninguno.
El conocimiento procedural son procedimientos, denominados demons, disponibles para ser utilizados cuando se los necesite. Ejemplo de demons son: □
Si-agregado: procedimiento que se ejecuta cuando se especifica un valor para una ranura.
□
Si-modificado: procedimiento que se ejecuta cuando se modifica un valor para una ranura.
□
Si-necesitado: procedimiento que determina el valor actual de una ranura.
1.4.6. REPRESENTACIÓN MEDIANTE OBJETOS Un objeto es un conjunto de información (atributos) que representa una entidad del mundo real y una descripción de cómo se debe manipular esa información (métodos). Un objeto tiene un nombre, una caracterización de clase, varios atributos distintivos y un conjunto de operaciones. Los objetos se relacionan entre si a través de mensajes. Los objetos son similares a los marcos pero se diferencian en que:
2.
□
En los marcos los datos y los procedimientos son entidades relacionadas pero separadas, en los objetos los métodos y los datos forman una unidad.
□
Los demons de los marcos sirven para calcular valores para las ranuras mientras que los métodos de los objetos proporcionan cualquier tipo de computación requerida y además soportan encapsulamiento y polimorfismo.
INGENIERÍA DEL CONOCIMIENTO
La Ingeniería del Conocimiento (IC) representa un subcampo dentro de la IA enfocado a la incorporación de conocimiento simbólico en sistemas de computación, los así llamados, Sistemas Basados en el Conocimiento, para resolver problemas que requieren la inteligencia humana. A grandes rasgos, un sistema basado en el conocimiento (SBC) es un sistema de computación que representa y utiliza el conocimiento para realizar una tarea (resolver un problema). El conocimiento y las tareas que realiza se limitan a un dominio especializado. A veces se utiliza el término sistema experto (SE) como sinónimo de SBC y otras veces se consideran los sistemas expertos como tipos de SBC al distinguir entre una visión de los SBC centrada en las estructuras de conocimiento (con conocimiento no necesariamente experto), frente a una visión conductista de los SE que tratan de emular el comportamiento de un experto en la resolución de un problema.
TEMARIO-TICB-feb04 Actualizado en febrero de 2004
B1G2T09 Página 10 de 26
www.haztefuncionario.com
Material registrado. Prohibida su reproducción.
Copia exclusiva de José Ignacio Méndez Yanes. Av de los Poblados 133, 7º - 3ª - 28025 - Madrid - Tel. 917464968
2.1.
ESTRUCTURA DE LOS SISTEMAS BASADOS EN EL CONOCIMIENTO
La arquitectura de un SBC intenta reflejar en cierta medida como resuelven los problemas los humanos: aplicando su conocimiento a un problema dado que se representa por medio de una información específica del problema. El núcleo de un SBC está formado por las siguientes componentes: □
La base de conocimientos: contiene el conocimiento del dominio en el cual el sistema es competente.
□
La base de afirmaciones (o de hechos): contiene los hechos propios correspondientes al problema que se desea tratar con la ayuda del sistema; es la memoria de trabajo donde se guardan además los resultados intermedios, permitiendo así seguir el rastro de los razonamientos llevados a cabo.
□
El motor de inferencia: es el encargado de seleccionar, interpretar y aplicar el conocimiento en la base de conocimientos sobre la base de hechos para obtener la solución buscada.
□
La interfaz de usuario: es el medio de comunicación entre el usuario que busca una solución a un problema y el sistema.
□
Módulo de explicación: permite al usuario preguntar al sistema como se ha alcanzado una conclusión en particular o porqué una afirmación específica es necesaria.
Además de estas componentes esenciales un SBC puede tener componentes adicionales: □
Interfaz externa: permite al sistema trabajar con bases de datos y programas externos.
□
Interfaz de desarrollo: generalmente incluye ayudas para la depuración y un módulo de adquisición del conocimiento que permite que se puedan añadir, eliminar o modificar elementos de conocimiento en el sistema.
Todos estos componentes se muestran en la figura siguiente.
2.2.
SISTEMAS BASADOS EN REGLAS
Los sistemas basados en reglas son SBC en los que el conocimiento se representa mediante reglas que tienen la estructura SI (condición) – ENTONCES (acción) (reglas de producción). Cada regla especifica una relación, recomendación, estrategia, directiva o heurística. Para obtener conclusiones el motor de inferencia utiliza diferentes tipos de reglas y estrategias de inferencia y de control. En los siguientes puntos se tratan estos aspectos. TEMARIO-TICB-feb04 Actualizado en febrero de 2004
B1G2T09 Página 11 de 26
www.haztefuncionario.com
Material registrado. Prohibida su reproducción.
Copia exclusiva de José Ignacio Méndez Yanes. Av de los Poblados 133, 7º - 3ª - 28025 - Madrid - Tel. 917464968
2.2.1. REGLAS DE INFERENCIA Las principales reglas de inferencia son: □
Modus ponens
□
Modus tolens
□
Resolución
El Modus Ponens es quizá la regla de inferencia utilizada más comúnmente para obtener conclusiones simples. En ella se examina la premisa o condición de la regla y si es cierta la conclusión pasa a formar parte del conocimiento. La regla Modus ponens establece que: si las sentencias p y (pÆq) se sabe que son verdaderas, entonces se infiere que q es verdadera. El Modus Tolens también se utiliza para obtener conclusiones simples. Pero en este caso se examina la conclusión de la regla y si es falsa se determina la falsedad del antecedente. La regla Modus Tolens establece que: si la sentencia (pÆq) es verdadera y q es falsa, entonces se infiere que p es falsa. La resolución utiliza la refutación para comprobar un determinado hecho. Intenta crear una contradicción mediante la negación de la sentencia original, llegando entonces a la conclusión de que la sentencia original es verdadera. La regla de resolución establece que: si (A ∨ B) es verdadero y (~B ∨ C) es verdadero, entonces se infiere que también es verdadero (A ∨ C).
2.2.2. ESTRATEGIAS DE INFERENCIA Una de las estrategias de inferencia más utilizadas es el encadenamiento de inferencias. Se van realizando una serie de inferencias que crean un camino entres las afirmaciones y la solución. Las inferencias están concatenadas y se realizan de forma progresiva, originando una cadena de inferencias. El encaminamiento de reglas se utiliza en los sistemas basados en reglas y se puede utilizar cuando la condición de ciertas reglas coincide con la conclusión de otras. El encadenamiento se puede realizar de dos maneras: □
Encadenamiento progresivo (fordward chaining): se parte de los datos conocidos para ir avanzando progresivamente hacia la solución. También se denomina encadenamiento o razonamiento guiado por los datos.
□
Encadenamiento regresivo (backward chaining): se selecciona una posible solución y se trata de probar su validez buscando evidencia que la apoye. También se denomina encadenamiento o razonamiento guiado por el objetivo.
En el encaminamiento progresivo se parte de las afirmaciones y se comprueba cada una de las reglas para ver si se cumple la condición. Si se cumple se ejecuta la regla y de aquí se deducen nuevos hechos que pueden ser utilizados por otras reglas para deducir hechos adicionales. Este proceso, realizado por el motor de inferencia, se denomina interpretación de reglas.
TEMARIO-TICB-feb04 Actualizado en febrero de 2004
B1G2T09 Página 12 de 26
www.haztefuncionario.com
Material registrado. Prohibida su reproducción.
Copia exclusiva de José Ignacio Méndez Yanes. Av de los Poblados 133, 7º - 3ª - 28025 - Madrid - Tel. 917464968
Durante este proceso se pueden ejecutar muchas reglas de las que se deducen nuevos hechos válidos pero que pueden tener poco o nada que ver con el objetivo. Así que si el objetivo es inferir un hecho particular, la técnica de encadenamiento progresivo puede no ser muy eficiente. El encadenamiento progresivo es adecuado por ejemplo para aplicaciones de supervisión y diagnóstico en sistemas de control de procesos en tiempo real, donde los datos se adquieren y actualizan de una forma continua. En el encadenamiento regresivo se parte del objetivo, una solución hipotética, y el motor de inferencia intenta encontrar la evidencia que la pruebe. Primero se busca en la base de conocimientos y se crea una lista con las reglas que pudieran contener la solución deseada, que son las que tienen el objetivo en la parte ENTONCES (acción). Para cada una de las reglas en la lista se comprueba si su parte SI (condición) se ajusta a los hechos contenidos en la base de afirmaciones. Si se ajusta entonces se dispara y el objetivo está probado. Sin embargo, esto raramente es el caso así que el procedimiento es el siguiente: 1. Se forma una pila inicialmente compuesta por los objetivos primarios del sistema. 2. Se coge el primer objetivo de la pila y se determinan todas las reglas capaces de satisfacer dicho objetivo (las que mencionan el objetivo en su conclusión). Si la pila está vacía parar. 3. Para cada una de estas reglas se examinan sus antecedentes à
Si todos los antecedentes se corresponden con un valor en la base de afirmaciones, se ejecuta la regla y se incorporan los resultados a la base de afirmaciones. Como el objetivo actual ha sido probado se elimina de la pila y se vuelve al paso 2.
à
Si alguna de las premisas de la regla no aparece en la base de afirmaciones pasa a considerarse un objetivo, se añade a la pila y se vuelve al paso 2.
4. SI no hay reglas capaces de satisfacer el objetivo actual, se elimina de la pila y se vuelve al paso 2. Cuando finaliza el proceso si el objetivo inicial se encuentra en la base de afirmaciones, el objetivo ha sido probado, si no queda indeterminado. Para ilustrar el encadenamiento regresivo consideremos el siguiente ejemplo. Se tiene una base de afirmaciones formada por los hechos A, B, C y D; y una base de conocimiento formada por las reglas: □
Regla 1: SI (X AND B) ENTONCES Y
□
Regla 2: SI (Y AND D) ENTONCES Z
□
Regla 3: SI A ENTONCES X
□
Regla 4: SI C ENONCES L
El objetivo es inferir el hecho Z. La máquina de inferencia busca en la base de conocimientos las reglas que tienen el objetivo Z en su parte ENTONCES, en este caso la regla 2, y se examinan sus antecedentes. Como Y no está en la base de hechos se añade a la pila, pasando a ser el objetivo actual (en una pila el último elemento que entra es el primer elemento que sale). Se vuelve a buscar en la base de conocimientos, pero ahora las reglas que tienen el objetivo Y en su parte ENTONCES, y se examinan sus antecedentes. En este caso tenemos la regla 1 con antecedentes X y B. Como X no está en la base de afirmaciones se añade a la pila de objetivos, convirtiéndose en el objetivo actual. Buscando en la base de conocimientos las reglas con X en su parte ENTONCES encontramos la regla 3 y como su antecedente A está en la base de hechos, se dispara la regla, pasando X a formar parte de la base de hechos y se elimina de la pila de objetivos. Ahora al volver al objetivo anterior, Y, y considerar de nuevo la regla 1, como
TEMARIO-TICB-feb04 Actualizado en febrero de 2004
B1G2T09 Página 13 de 26
www.haztefuncionario.com
Material registrado. Prohibida su reproducción.
Copia exclusiva de José Ignacio Méndez Yanes. Av de los Poblados 133, 7º - 3ª - 28025 - Madrid - Tel. 917464968
X y B forman ya parte de la base de hechos, se dispara la regla; Y se elimina de la pila de objetivos y pasa a formar parte de la base de afirmaciones. Finalmente, al considerar de nuevo el objetivo Z y la regla 2 nos encontramos que todos sus antecedentes están incluidos en la base de hechos, así que se dispara la regla y el objetivo está probado.
2.2.3. CONTROL DE COHERENCIA El objetivo del control de la coherencia es evitar que entre en la base de conocimiento cualquier tipo de conocimiento contradictorio o inconsistente y ayudar al usuario a no introducir hechos inconsistentes (por ejemplo proporcionándole una serie de restricciones que debe cumplir la información pedida). El control de coherencia debe hacerse por tanto controlando □
la coherencia de las reglas.
□
la coherencia de los hechos.
Se dice que un conjunto de reglas es coherente si existe al menos un conjunto de valores para todos los objetos que intervienen en el conjunto de reglas que proporciona conclusiones no contradictorias. El conjunto de valores de los objetos que proporcionan conclusiones inconsistentes se denomina conjunto no factible y el sistema de control de coherencia eliminará automáticamente estos valores, permitiendo al usuario introducir sólo valores que no estén en el conjunto no factible de los objetos. Los hechos suministrados por los usuarios además de ser consistentes con el conjunto de reglas de la base de conocimiento deben ser consistentes entre sí, y el sistema no debe admitir hechos que sean inconsistentes con cualquiera de los dos conjuntos.
2.3.
EVOLUCIÓN HISTÓRICA
El aspecto fundamental en la evolución de los SBC ha sido el pasar de considerar la adquisición del conocimiento como un proceso de extracción de fragmentos de conocimiento de un experto para introducirlos en el sistema, a considerarlo una tarea de modelado del conocimiento. Este cambio de enfoque ha dado lugar a considerar dos generaciones: extracción por fragmentos (Primera Generación) y modelado (Segunda generación).
2.3.1. PRIMERA GENERACIÓN: EXTRACCIÓN POR FRAGMENTOS Los primeros SBC, cuando ni siquiera se había concebido el término, fueron los sistemas expertos basados en reglas de los años 80. La representación del conocimiento era plana, en un solo nivel y los mecanismos de inferencia asociados a la solución del problema eran las estrategias de recorrido del árbol de reglas de producción implementadas en el motor de inferencia. La adquisición del conocimiento se reducía a la transferencia directa del conocimiento del experto al sistema mediante la codificación de dicho conocimiento en reglas. La representación mediante este formalismo fallaba en tres aspectos: □
Impedía hacer distinciones conceptuales del conocimiento, es decir, no se podían distinguir los roles que tomaban los diferentes tipos de conocimiento (términos de definición, expresión de los hechos o afirmaciones, soporte a la inferencia).
□
Ausencia de adecuadas explicaciones del razonamiento: el sistema proporciona las reglas que se han disparado durante la sesión de resolución del problema, describiendo el razonamiento con las características de la implementación más que con las estructuras del dominio y procesos de razonamiento globales. Como resultado las reglas estaban sobrecargadas, expresaban cosas diferentes con el mismo formalismo, lo que llevó a Sistemas Expertos poco estructurados y difíciles de mantener.
TEMARIO-TICB-feb04 Actualizado en febrero de 2004
B1G2T09 Página 14 de 26
www.haztefuncionario.com
Material registrado. Prohibida su reproducción.
Copia exclusiva de José Ignacio Méndez Yanes. Av de los Poblados 133, 7º - 3ª - 28025 - Madrid - Tel. 917464968
□
Cuello de botella en la adquisición del conocimiento: cada sistema experto empezaba de cero, poco conocimiento se podía reutilizar entre diferentes sistemas. Además el añadir nuevo conocimiento requería un experto en el dominio que aportara su pericia y un ingeniero del conocimiento que trasladara este conocimiento al sistema.
2.3.2. SEGUNDA GENERACIÓN: MODELADO Al mismo tiempo que se estaban desarrollando estas aplicaciones, seguía la investigación en el campo del conocimiento. Surge así nuevos enfoques para el desarrollo de SBC cada uno con sus detalles y terminología pero todos con un espíritu común: la IC se ve como un proceso de modelado y los modelos resultantes deben separar el modelo de conocimiento del modelo de diseño. Se pueden identificar tres principios de modelados comunes en los diferentes enfoques: □
Principio de la limitación de roles: la limitación de roles es un mecanismo para la organización del conocimiento mediante la imposición de restricciones en la forma en que un elemento de conocimiento de un tipo particular se puede utilizar en el razonamiento. Es decir, diferentes elementos de conocimiento juegan papales diferentes en el razonamiento.
□
Principio de clasificación del conocimiento: los elementos de conocimiento se deben clasificar de acuerdo a su rol en la resolución de problemas.
□
Principio de reutilización: se enfatiza en la reutilización de componentes de conocimiento a través de los diferentes dominios y tareas. El contar con librerías de componentes de conocimiento validadas y bien documentadas acelera el proceso de desarrollo de SBC y facilita su mantenimiento.
Como resultado del progreso de esta investigación en nuevas visones y arquitecturas de SBC aparecen: □
Arquitecturas de segunda generación para SBC. Se separan los distintos tipos de conocimiento como son la terminología, las afirmaciones o hechos de domino, y el conocimiento de resolución de problemas.
□
Desarrollo de metodologías de ingeniería para SBC. Por ejemplo KADS y su sucesora CommonKADS.
□
Librerías de métodos para la resolución de problemas: Mediante el análisis de varios SBC se descubren métodos de propósito general que son repetidamente utilizados en una variedad de sistemas.
□
Ontologías: una de las primeras tareas al construir una base de conocimiento es imaginarse como estructurar la base de conocimiento y como definir los conceptos. Si se quiere compartir conocimiento entre sistemas es necesario un acuerdo sobre el conjunto de conceptos de una base de conocimiento. Una ontología proporciona un conjunto de términos estructurados para describir algún dominio.
□
Herramientas de adquisición del conocimiento. Se han desarrollado herramientas que permiten que un experto introduzca nuevo conocimiento en el sistema sin necesidad de un Ingeniero del conocimiento.
2.4.
METODOLOGÍA CommonKADS
Entre las metodologías de IC destaca CommonKADS, estándar de facto europeo para el desarrollo de SBC, resultado del proyecto ESPRIT KADS-II que era una continuación del proyecto KADS-I. CommonKADS cubre todos los aspectos del desarrollo de un SBC dentro de un ciclo de vida de carácter espiral que consta de cuatro fases: □
Revisión: punto de arranque de cada ciclo. Se revisa el estado actual del proyecto y se definen los objetivos que se quieren cubrir en el ciclo.
TEMARIO-TICB-feb04 Actualizado en febrero de 2004
B1G2T09 Página 15 de 26
www.haztefuncionario.com
Material registrado. Prohibida su reproducción.
Copia exclusiva de José Ignacio Méndez Yanes. Av de los Poblados 133, 7º - 3ª - 28025 - Madrid - Tel. 917464968
□
Valoración de riesgos: se identifican y se valoran los riesgos y se definen las acciones para su minimización.
□
Planificación: se establece la distribución de la carga de trabajo identificando los trabajos que hay que realizar y su distribución en el tiempo y se identifican y asignan los recursos necesarios.
□
Monitorización: es la última fase de cada ciclo y en ella tiene lugar el desarrollo.
En CommonKADS se reflejan dos conceptos claves que han surgido en la evolución no sólo de la IC sino en la Ingeniería del Software en general: el modelado y la reutilización. Se definen seis modelos en CommonKADS: □
Modelo de la Organización: es una herramienta de análisis de la Organización en la que se va a integrar el SBC con el objetivo de descubrir los problemas, las oportunidades y posibles impactos del desarrollo del SBC.
□
Modelo de Tarea: describe las tareas que se van a realizar en el entorno organizativo y proporciona un esquema para la distribución de las tareas entre los distintos agentes.
□
Modelo de Agente: describe las características, autoridad, competencias y restricciones de los distintos agentes. Un agente es el ejecutor de una tarea y es cualquier entidad (humana o software) capaz de realizar una tarea.
□
Modelo de Comunicación: describe el intercambio de información entre los distintos agentes.
□
Modelo de Pericia (o de Conocimiento o de Experiencia): modela el conocimiento de resolución de problemas utilizado por los agentes en la ejecución de las tareas. Describe tres niveles de conocimiento:
□
à
Nivel de domino: es el conocimiento declarativo sobre el dominio.
à
Nivel de inferencia: es una biblioteca de estructuras genéricas de inferencia
à
Nivel de tarea: es una ordenación de las inferencias
Modelo de diseño: su finalidad es describir la arquitectura y el diseño técnico del SBC (frente a los cinco modelos anteriores que eran de análisis). Produce una especificación técnica de la arquitectura, módulos de software, construcciones de representación y mecanismos computacionales para la implementación del SBC.
El núcleo de la metodología lo constituye el modelo de pericia. Describe la estructura del conocimiento en función de su uso. Para permitir esta descripción de los distintos roles que juega el conocimiento considera tres niveles de conocimiento: conocimiento de dominio, de inferencia y de tarea. El conocimiento de dominio se compone de las Ontologías de dominio y de los Modelos de dominio. Las Ontologías proporcionan el vocabulario de las entidades del dominio, sus relaciones y restricciones. Los modelos de dominio describen el conocimiento sobre el dominio en particular formulado en el vocabulario definido en la ontología. El conocimiento de inferencia describe los procesos primitivos de razonamiento, las primitivas de razonamiento, que tienen lugar en la aplicación y los roles de conocimiento utilizados por las inferencias. El conocimiento de tarea describe la descomposición de una tarea de alto nivel en subtareas. El conocimiento de una tarea se descompone en la tarea y el método de la tarea. La tarea define su objetivo en términos de los roles de entrada y salida y sirve para especificar qué es lo que implica la aplicación de la tarea. El método de la tarea define cómo se lleva a cabo dicha tarea en términos de su descomposición en subtareas y del orden en el que se van a procesar. Esta descomposición del conocimiento en distintos niveles permite su reutilización. Por un lado permite la reutilización de inferencias al haber definido un conjunto de inferencias elementales independientes de la implementación. Por otro lado permite la reutilización del conocimiento de dominio, que al ser definido
TEMARIO-TICB-feb04 Actualizado en febrero de 2004
B1G2T09 Página 16 de 26
www.haztefuncionario.com
Material registrado. Prohibida su reproducción.
Copia exclusiva de José Ignacio Méndez Yanes. Av de los Poblados 133, 7º - 3ª - 28025 - Madrid - Tel. 917464968
independientemente de las tareas puede ser utilizado por otro conjunto de tareas definidas sobre el mismo dominio.
3.
APRENDIZAJE AUTOMÁTICO
El concepto de aprendizaje automático en IA es amplio, incluye cualquier proceso que permite a un agente adaptar la realización de alguna tarea a través de la instrucción o de la experiencia. De una manera más formal se dice que un programa aprende de la experiencia E con respecto a una clase de tareas T y una medida de su efectividad P, si su efectividad en las tareas de T medida según P mejora con la experiencia E. Así que, en general, para tener un problema de aprendizaje bien definido se deben identificar tres características: □
La clase de tareas T
□
La medida de efectividad que se va a mejorar P
□
La fuente de la experiencia E (el llamado conjunto de entrenamiento)
En el núcleo de cualquier agente de aprendizaje se encuentra la técnica que define el proceso (el conjunto de instrucciones) que se utiliza para el aprendizaje. Una técnica de aprendizaje transforma unos datos de entrada en una forma apropiada de datos de salida. Al producto del aprendizaje se le denomina función objetivo y debería ser capaz de proporcionar una salida correcta tomando los datos de entrada. En función de la información disponible para realizar la inducción se pueden distinguir dos grupos de aprendizaje: □
Aprendizaje supervisado: el agente dispone como conjunto de entrenamiento pares (x,f(x)) donde f(x) representa el valor de la salida proporcionada por la función objetivo para x.
□
Aprendizaje no supervisado: el agente no dispone de los valores f(x)
Entre las principales técnicas de aprendizaje, que vamos a ver a continuación, se encuentran:
3.1.
□
Aprendizaje de árboles de decisión.
□
Redes neuronales artificiales
□
Algoritmos genéticos.
APRENDIZAJE DE ÁRBOLES DE DECISIÓN
El aprendizaje de árboles de decisión es una de las técnicas más sencillas y que mejores resultados ha obtenido en aprendizaje inductivo supervisado. Es un método para aproximar funciones objetivo con valores de salida discretos en el que la función objetivo se representa mediante árboles de decisión. Cuando la función objetivo es booleana, es decir, se limita a dos posibles valores de salida, tenemos el aprendizaje de conceptos (tarea de construir una definición de clase). Cuando puede proporciona más de dos valores de salida tenemos la clasificación de conceptos. Los árboles de decisión son clasificadores de ejemplos de un concepto descrito en función de sus atributos. Los ejemplos (conjunto de entrenamiento) se representan como vectores de pares (atributo, valor). Cada nodo del árbol especifica un test de algún atributo de la instancia (del tipo “el valor del atributo es…” ) y cada rama que desciende del árbol se corresponde con uno de los posibles valores del atributo. Por ejemplo un árbol de decisión para clasificar un determinado día como apropiado para jugar al tenis es:
TEMARIO-TICB-feb04 Actualizado en febrero de 2004
B1G2T09 Página 17 de 26
www.haztefuncionario.com
Material registrado. Prohibida su reproducción.
Copia exclusiva de José Ignacio Méndez Yanes. Av de los Poblados 133, 7º - 3ª - 28025 - Madrid - Tel. 917464968
Algoritmos clásicos de aprendizaje de árboles de decisión, que construyen el árbol de decisión que generaliza el conocimiento implícito en un conjunto de observaciones, son ID3 y su sucesor C4.5. La idea básica es escoger un atributo A con posibles valores a1, a2,…, an y dividir el conjunto de entrenamiento E en subconjuntos Ea1, E a2, …,Ean donde Eai tiene por elementos los ejemplos con valor ai en el atributo A. Para cada uno de los subconjuntos se comprueba si tiene sólo ejemplos correspondientes a una única clase. Si es el caso, esa parte del árbol se para con un nodo hoja etiquetado con la clase única; si no el subconjunto es dividido de nuevo, recursivamente, utilizando otro atributo. Se empieza por determinar cual es el atributo que debería probarse en el nodo raíz. Para ello se evalúa cada atributo mediante algún test estadístico que determine su idoneidad para clasificar el conjunto de entrenamiento. El que obtenga mejor resultado se elige como nodo raíz. Se genera entonces una rama por cada posible valor de este atributo y se reparten los ejemplos por cada rama descendente del nodo de acuerdo a su valor para ese atributo. Se repite entonces todo el proceso. La medida que se utiliza en ID3 para determinar la idoneidad de un atributo para la clasificación del conjunto de entrenamiento es la ganancia de información. La ganancia de información de un atributo A respecto a un conjunto de ejemplos E se define como:
Ganancia( E , A) = Entropia ( E ) −
Card ( E v ) Entropia ( E v ) v∈Valores ( A ) Card ( E )
∑
La entropía es una medida que mide la incertidumbre de un mensaje y es utilizada frecuentemente en Teoría de la Información expresándose matemáticamente como: n
Entropia ( E ) = ∑ − pi log 2 pi i =1
siendo n el número de clases en las que se tipifican los elementos de E y pi la proporción de elementos de E que pertenecen a la clase i. Se escoge entonces como atributo para establecer el test en el nodo del árbol aquel que maximiza la ganancia de información.
TEMARIO-TICB-feb04 Actualizado en febrero de 2004
B1G2T09 Página 18 de 26
www.haztefuncionario.com
Material registrado. Prohibida su reproducción.
Copia exclusiva de José Ignacio Méndez Yanes. Av de los Poblados 133, 7º - 3ª - 28025 - Madrid - Tel. 917464968
Esta medida tiende a favorecer la elección de los atributos que tienen más valores posibles, lo que redunda en una peor generalización de las observaciones. En C4.5 se introduce una medida alternativa, el ratio de ganancia, que se define como:
RatioGanancia( E , A) =
Ganancia( E , A) InformaciónParticionada( E , A)
donde InformaciónParticionada representa la entropía asociada al hecho de partir el conjunto E en clases respecto a los posibles valores del atributo A:
InformaciónParticionada( E , A) = −
3.2.
Card ( E v ) Card ( E v ) log 2 ( ) Card ( E ) v∈Valores ( A ) Card ( E )
∑
REDES NEURONALES ARTIFICIALES
Una red neuronal artificial (Artificial Neural Network. ANN) es un conjunto de nodos que están interconectados. Estos nodos, las neuronas, son unidades de procesamiento cuya capacidad de computación generalmente se restringe a una regla que combina las señales de entrada y una regla de activación que coge la combinación de estas señales de entrada y produce una señal de salida. Las señales de salida se envían a otros nodos a través de conexiones entre ellos. Estas conexiones tienen asignados unos pesos cuya función es excitar o inhibir la señal que se está comunicando. Para que la red sea operativa desde el punto de vista del razonamiento debe pasar primero por un proceso de entrenamiento o aprendizaje que determine el valor de esos pesos. Al final del proceso de aprendizaje la red tendrá conexiones que hayan sido reforzadas y otras debilitadas y la red estará lista para realizar la tarea para la que fue construida. El patrón de conexiones de una ANN, es decir, la especificación de qué nodos están conectados, las direcciones de las conexiones y los pesos de las mismas, se determina en un proceso de dos fases: □
El diseñador del sistema especifica los nodos que se conectan y las direcciones de las conexiones.
□
Se entrena a la red para que aprenda los valores de los pesos.
Aunque los nodos tienen capacidades limitadas cuando se conectan muchos de estos nodos formando una estructura, la red completa es capaz de realizar tareas complejas. Las neuronas o unidades de procesamiento de una ANN se distribuyen por capas. Una capa está formada por el conjunto de neuronas que se encuentran en el mismo nivel en la estructura. Se distinguen tres tipos capas en una ANN: □
Capa de entrada: proporciona las entradas a la estructura.
□
Capas de salida: proporciona las salidas de la estructura
□
Capas ocultas: se encuentran entre la capa de entrada y la de salida.
TEMARIO-TICB-feb04 Actualizado en febrero de 2004
B1G2T09 Página 19 de 26
www.haztefuncionario.com
Material registrado. Prohibida su reproducción.
Copia exclusiva de José Ignacio Méndez Yanes. Av de los Poblados 133, 7º - 3ª - 28025 - Madrid - Tel. 917464968
La habilidad para procesar información crece en proporción al número de capas ocultas. Las redes que tienen una o más capas ocultas se denominan multicapa. Las ANN se pueden clasificar según varios conceptos. Atendiendo al número de conexiones tenemos: □
Redes totalmente conectadas: cuando la salida de una neurona en la capa k es una entrada a todas las neuronas de la capa k+1.
□
Redes parcialmente conectadas: cuando la salida de una neurona en la capa k es sólo entrada a una región (un determinado número de neuronas) de la capa k+1.
Atendiendo a la dirección de transmisión de la información tenemos: □
Redes Feedforward: las salidas de las neuronas de una capa sólo se transmiten hacia neuronas de la capa siguiente.
□
Redes Feedback: las salidas de las neuronas de una capa pueden ser entradas de neuronas de capas anteriores.
□
Redes Feedlateral: las salidas de las neuronas de una capa pueden ser entradas a neuronas en la misma capa.
3.2.1. EL PERCEPTRÓN Un tipo de sistemas de ANN se basan en la unidad básica de procesamiento denominada perceptrón. La función de activación del perceptrón es, dadas las señales de entrada x1, x2, …, xn:
ο ( x1 , x 2 ,..., x n ) =
TEMARIO-TICB-feb04 Actualizado en febrero de 2004
1
Si ⋅ w0 + w1 x1 + ... + wn x n > 0
-1
Resto
B1G2T09 Página 20 de 26
www.haztefuncionario.com
Material registrado. Prohibida su reproducción.
Copia exclusiva de José Ignacio Méndez Yanes. Av de los Poblados 133, 7º - 3ª - 28025 - Madrid - Tel. 917464968
Para simplificar la notación se suele tomar una constante de entrada adicional que permite escribir la desigualdad anterior en forma vectorial como W ⋅ X > 0 y la función de activación como ο ( X ) = signo(W ⋅ X ) Para el aprendizaje de los pesos w en un perceptrón se han propuesto varios algoritmos entres ellos la regla del perceptrón. La regla del perceptrón comienza con pesos generados aleatóriamente. Se aplica la función de activación a cada ejemplo de entrenamiento y se modifican los pesos siempre que un ejemplo sea incorrectamente clasificado. El proceso se repite, iterando sobre los ejemplos de entrenamiento tantas veces como sea necesario hasta que todos estén correctamente clasificados. Los pesos se modifican de acuerdo a la siguiente regla:
wi ← ⎯⎯ wi + ∆wi donde ∆wi = η (t − ο ) xi . siendo t la salida deseada del ejemplo de entrenamiento actual ο la salida generada por el perceptrón y η (ratio de aprendizaje) una constante positiva cuyo objetivo es limitar el grado de cambios en los pesos a cada paso. Se puede demostrar que este procedimiento converge en un número finito de pasos a un vector de pesos que clasifique correctamente todos los ejemplos de entrenamiento con tal de que el conjunto de entrenamiento sea linealmente separable y η sea lo suficientemente pequeño. En otro caso la convergencia no está asegurada.
3.2.2. REDES NEURONALES MULTICAPA. ALGORITMO DE RETROPROPAGACIÓN Para representar funciones de las señales de entrada más complejas se utilizan redes mutlticapa. Con una capa oculta se puede representar cualquier función continua de las señales de entrada y con dos capas ocultas se pueden representar incluso funciones discontinuas. El entrenamiento de redes multicapa sigue el mismo principio que el entrenamiento del perceptrón: se proporciona un conjunto de ejemplos de entrada a la red y ésta calcula la salida. Si hay un error, es decir, si hay diferencias entre las salidas reales y las esperadas, se ajustan los pesos para reducir el error. Hay cientos de algoritmos de aprendizaje disponibles pero el más empleado es el método de la retropropagación (backpropagation). Una ANN de retropropagación típica es una red multicapa totalmente conectada y que combina las señales de entrada de manera similar al perceptrón y tiene como función de activación la función logística:
σ (W ⋅ X ) =
1 1 + e −W ⋅ X
El algoritmo de aprendizaje tiene dos fases. Primero se presenta a la capa de entrada los patrones de entrada y la red los propaga de capa en capa hasta que la capa de salida genera la salida de la red. Si esta salida es distinta de la esperada se calcula el error y si este error supera un valor de tolerancia previamente definido se propaga este error hacia atrás, desde la capa de salida a la de entrada. Los pesos de las conexiones se modifican según se van propagando los errores. El algoritmo de retropropagación es el siguiente:
TEMARIO-TICB-feb04 Actualizado en febrero de 2004
B1G2T09 Página 21 de 26
www.haztefuncionario.com
Material registrado. Prohibida su reproducción.
Copia exclusiva de José Ignacio Méndez Yanes. Av de los Poblados 133, 7º - 3ª - 28025 - Madrid - Tel. 917464968
Dados un conjunto de entrenamiento formado de ejemplos (X,T) donde X es el vector de valores de entrada y T es el vector de valores de salida deseados; un ratio de aprendizaje η; y representando por wji el peso de la conexión entre la unidad i y la j y por xji la entrada en la unidad j desde la unidad i: □
Inicializar los pesos de la red con valores aleatorios y pequeños (por ejemplo entre -0,5 y 0,5).
□
Hasta que se cumpla la condición de terminación, hacer à
Para cada ejemplo (X,T) del conjunto de entrenamiento, hacer
Propagar las entradas por la red hacia delante -
Propagar los errores hacia atrás por la red -
Para cada nodo de salida k, calcular su término de error δk.<-- ok(1-ok)(tk-ok)
-
Para cada nodo oculto h, calcular su término de error δh.<--
-
3.3.
Calcular las salidas ou para cada nodo u en la red
oh (1 − oh )
∑w
k∈Salidas
kh
δk
Actualizar cada peso wji con w ji + ∆w ji siendo ∆w ji = ηδ j x ji
ALGORITMOS GENÉTICOS
Los algoritmos genéticos proporcionan una visión del aprendizaje basada en la simulación de la evolución biológica. Buscan la solución a un problema mediante la evolución de una población de hipótesis. Antes de poder comenzar la búsqueda se tienen que definir: □
La codificación de las hipótesis: las hipótesis tiene que representarse de alguna manera, generalmente mediante una cadena de bits, aunque también se utilizan estructuras de árbol y cadenas de parámetros de valores reales.
□
La función de ajuste: evalúa la utilidad de una hipótesis. Esta evaluación consiste en una medida de lo cerca que una hipótesis está de una solución.
□
Los operadores genéticos: las hipótesis evolucionan aplicando operadores a la cadena de representación que cambian alguno de sus elementos.
Aunque las diferentes implementaciones de los algoritmos genéticos varían en sus detalles, un algoritmo genético típico parte de una población inicial de cadenas (hipótesis) y la búsqueda es un proceso iterativo que sigue los siguientes pasos: 1. Se evalúa cada cadena utilizando la función de ajuste. 2. Se selecciona un grupo de estas cadenas utilizando el resultado de la evaluación y una estrategia de selección. 3. Algunas de estas cadenas seleccionadas se utilizan para crear nuevas cadenas aplicándoles los operadores genéticos. 4. Se genera la siguiente población llevando alguna de las cadenas seleccionadas en el paso 2 tal cual, sin modificación, y reemplazando otras por las creadas en el paso 3. 5. Si se ha encontrado una solución parar, en otro caso ir al paso 1. Los principales operadores genéticos son el cruce y la mutación. La mutación produce cambios en una cadena por medio de la elección aleatoria de un bit y cambiando su valor.
TEMARIO-TICB-feb04 Actualizado en febrero de 2004
B1G2T09 Página 22 de 26
www.haztefuncionario.com
Material registrado. Prohibida su reproducción.
Copia exclusiva de José Ignacio Méndez Yanes. Av de los Poblados 133, 7º - 3ª - 28025 - Madrid - Tel. 917464968
El cruce proporciona dos nuevos descendientes a partir de dos cadenas padres copiando una selección de bits de cada progenitor: el bit en la posición i-ésima de cada descendiente se copia del bit de la posición i-ésima de uno de los padres. Una cadena de bits adicional, llamada máscara de cruce, es la que determina la elección de que padre es el que contribuye con el bit para cada posición. Para la creación del primer descendiente se toman del primer progenitor los bits que se corresponden con las posiciones que tienen un bit 1 en la máscara de cruce, y del segundo las que se corresponden con posiciones con bit 0. El segundo descendiente se forma con los bits que no fueron copiados para formar el primer descendiente. Dentro de los operadores de cruce se distinguen tres tipos: el cruce uniforme, el cruce de punto único y el cruce de dos puntos. En el cruce uniforme la máscara de cruce es un grupo de bits generados aleatóriamente y de manera uniforme e independiente. En el cruce de punto único la máscara comienza con n unos seguidos del número de ceros necesarios para completar la cadena. Cada vez que se aplica el operador n se genera aleatóriamente. En el cruce de dos puntos la máscara es una cadena que comienza con n ceros seguidos de m unos y estos seguidos del número necesario de ceros para completar la longitud de la cadena. Los enteros n y m se eligen aleatóriamente cada vez que se va a aplicar el operador. Un prototipo de algoritmo genético es el siguiente: □
Se definen à
p: tamaño de la población
à
r: la proporción de la población que se va a reemplazar por cruce en cada iteración
à
m: el ratio de mutación
à
f: función de ajuste
à
f_holgura: el valor de ajuste que se quiere alcanzar. Determina el criterio de terminación del algoritmo.
□
Inicializar la población P generando p cadenas aleatóriamente.
□
Evaluar para cada hipótesis h en P calculando f(h).
□
Mientras máx {f(h): h e P} < f_holgura, crear una nueva generación P_nueva: à
Seleccionar (1-r)p miembros de P para añadir a P_nueva de acuerdo a la distribución de probabilidad
P (hi ) =
f (hi ) p
∑ f (h ) k =1
□
k
à
Seleccionar rp/2 pares de cadenas de P de acuerdo con la distribución de probabilidad anterior y para cada par de cadenas aplicar el operador de cruce para producir dos descendientes. Añadir los descendientes a P_nueva.
à
Elegir un porcentaje m de miembros de P_nueva con probabilidad uniforme y aplicar el operador de mutación a cada uno de ellos.
à
Sustituir P por P_nueva.
Elegir la hipótesis en P con mayor valor de la función de ajuste.
TEMARIO-TICB-feb04 Actualizado en febrero de 2004
B1G2T09 Página 23 de 26
www.haztefuncionario.com
Material registrado. Prohibida su reproducción.
Copia exclusiva de José Ignacio Méndez Yanes. Av de los Poblados 133, 7º - 3ª - 28025 - Madrid - Tel. 917464968
4.
CONCLUSIÓN
La Inteligencia Artificial es un amplio campo de investigación que tiene entre sus objetivos la construcción de sistemas que realizan tareas que requerirían inteligencia si fueran realizadas por las personas. Para la construcción de una máquina inteligente capaz de resolver un determinado problema se tiene que capturar, organizar y utilizar el conocimiento del dominio del problema. Así que uno de los aspectos más importantes dentro de la Inteligencia Artificial es la representación del conocimiento. El objetivo es encontrar modelos del mundo real que puedan ponerse de forma operativa en un ordenador para la resolución de problemas. Los estudios sobre la representación del conocimiento influyen en diversas áreas como el procesamiento de lenguaje natural o la robótica pero principalmente en los Sistemas Basados en el Conocimiento, que se diferencian de los sistemas informáticos tradicionales en su capacidad de explicar sus procesos de razonamiento y en una clara separación entre el conocimiento y los mecanismos de razonamiento. Hay veces que el conocimiento específico sobre un determinado dominio es incompleto o simplemente no está disponible, de forma que el único procedimiento para llegar a una solución de un determinado problema es mediante un proceso que sea capaz de aprender el conocimiento requerido. El campo de la Inteligencia Artificial que se ocupa de estos procesos es el Aprendizaje Automático. El foco de atención pasa de un aspecto estático: cómo representar el conocimiento, a una cuestión dinámica: cómo adquirir el conocimiento.
5.
BIBLIOGRAFÍA □
Michael Negnevitsky: Artificial Intelligence. A guide to Intelligent Systems.
□
Rob Callan: Artificial Intelligence.
□
Tom M. Mitchell: Machine Learning.
TEMARIO-TICB-feb04 Actualizado en febrero de 2004
B1G2T09 Página 24 de 26
www.haztefuncionario.com
Material registrado. Prohibida su reproducción.
Copia exclusiva de José Ignacio Méndez Yanes. Av de los Poblados 133, 7º - 3ª - 28025 - Madrid - Tel. 917464968
6.
ESQUEMA – RESUMEN
La Inteligencia Artificial tiene entre sus objetivos la construcción de sistemas que realizan tareas que requerirían inteligencia si fueran realizadas por las personas. Para construir un sistema de inteligencia artificial capaz de resolver un problema específico es necesario definir y analizar el problema, representar el conocimiento necesario y elegir la mejor técnica para la resolución. Muchas de las estrategias de resolución de problemas en IA se basan en la definición del problema como un espacio de estados. La resolución consiste en un proceso de búsqueda que puede visualizarse como el recorrido por un árbol en el que cada nodo representa un estado y cada rama la relación entre los estados representados por los nodos que conecta. Los principales tipos de búsqueda basados en árboles son: □
□
Búsqueda ciega. Realizan una búsqueda exhaustiva y metódica del espacio de estados siguiendo una estrategia fija para la generación de estados. Algoritmos de este tipo son: à
Primero en anchura. Se empieza la búsqueda en el nodo raíz y antes de descender de nivel en el árbol se exploran todos los nodos del nivel actual.
à
Primero en profundidad. Se explora primero en profundidad el árbol examinando todos los descendientes de un determinado nodo antes de regresar a explorar los nodos hermanos.
à
Generación y prueba. En cada paso se genera un único nodo y se comprueba si es el objetivo.
Búsqueda heurística. Utilizan información sobre el espacio de estados, en forma de una función o regla heurística, para guiar la dirección de búsqueda. Algoritmos de este tipo son: à
Ascenso a la colina (Hill Climbing). Variante de la generación y prueba. Incluyen información del espacio de estados, proporcionada por el método de prueba, que ayuda al generador de estados a decidirse por una dirección de búsqueda.
à
Primero el mejor. Combina los métodos primero en anchura y primero en profundidad, la dirección de búsqueda puede variar en cada paso.
Los principales métodos de representación de la información son: □
Lógica clásica: lógica proposicional y cálculo de predicados.
□
Reglas de producción. Representan el conocimiento en reglas de la forma SI (condición) ENTONCES (acción).
□
Redes semánticas. Representan el conocimiento de forma gráfica mediante à
Nodos: objetos o conceptos.
à
Enlaces: relaciones o asociaciones entre objetos.
à
Etiquetas de enlaces: relaciones específicas entre objetos.
□
Marcos. Representan una plantilla de un concepto, objeto o situación, con conocimiento típico del mismo. Contienen información declarativa y procedural.
□
Objetos. Representan una entidad del mundo real mediante un conjunto características (atributos) y una descripción de cómo manipular esas características.
Un subcampo dentro de la IA es la Ingeniería del Conocimiento. Está enfocado a la construcción de sistemas de computación que incorporan, representan y utilizan el conocimiento de un dominio específico para realizar una tarea (resolver un problema). Estos sistemas son los Sistemas Basados en el Conocimiento. La IC ha evolucionado a lo largo del tiempo hasta el punto de considerar dos generaciones:
TEMARIO-TICB-feb04 Actualizado en febrero de 2004
B1G2T09 Página 25 de 26
www.haztefuncionario.com
Material registrado. Prohibida su reproducción.
Copia exclusiva de José Ignacio Méndez Yanes. Av de los Poblados 133, 7º - 3ª - 28025 - Madrid - Tel. 917464968
□
Primera Generación: la adquisición del conocimiento se consideraba un proceso de extracción de fragmentos de conocimiento de un experto para introducirlos en el sistema.
□
Segunda Generación: la IC se ve como un proceso de modelado y los modelos resultantes deben separar el modelo de conocimiento del modelo de diseño. Se desarrollan metodologías para el desarrollo de SBC como por ejemplo CommonKADS.
El núcleo de un SBC está formado por las siguientes componentes: □
La base de conocimientos: contiene el conocimiento del dominio en el cual el sistema es competente.
□
La base de afirmaciones (o de hechos): contiene los hechos propios correspondientes al problema que se desea tratar con la ayuda del sistema; es la memoria de trabajo donde se guardan además los resultados intermedios, permitiendo así seguir el rastro de los razonamientos llevados a cabo.
□
El motor de inferencia: es el encargado de seleccionar, interpretar y aplicar el conocimiento en la base de conocimientos sobre la base de hechos para obtener la solución buscada.
□
La interfaz de usuario: es el medio de comunicación entre el usuario que busca una solución a un problema y el sistema.
□
Módulo de explicación: permite al usuario preguntar al sistema como se ha alcanzado una conclusión en particular o porqué una afirmación específica es necesaria.
Un tipo particular de SBC son los sistemas basados en reglas en los que el conocimiento se representa mediante reglas de producción y el motor de inferencia utiliza como estrategia de inferencia el encadenamiento de reglas. Este encadenamiento puede ser: □
Encadenamiento progresivo (guiado por los datos): se parte de los datos conocidos para ir avanzando progresivamente hacia la solución.
□
Encadenamiento regresivo (guiado por el objetivo): se selecciona una posible solución y se trata de probar su validez buscando evidencia que la apoye.
Cuando el conocimiento específico sobre un determinado dominio no está disponible son necesarios procesos que sean capaces de aprender el conocimiento requerido. El Aprendizaje Automático se encarga de los procesos que permiten a un agente adaptar su desempeño de alguna tarea, mejorando su eficiencia, mediante la instrucción o la experiencia. Entre los principales métodos de aprendizaje se encuentran: □
Aprendizaje de árboles de decisión: es un método para aproximar funciones objetivo (el producto del aprendizaje) con valores de salida discretos en el que dicha función se representa mediante árboles de decisión. Se utilizan para la clasificación y aprendizaje de conceptos. Algoritmos de este tipo son ID3 y C4.5
□
Redes neuronales: son conjuntos de unidades simples de procesamiento, las neuronas o nodos, interconectadas. La capacidad de computación de los nodos generalmente se restringe a una regla que combina las señales de entrada y una regla de activación que coge la combinación de estas señales de entrada y produce una señal de salida. Las señales de salida se envían a otros nodos a través de conexiones entre ellos. Estas conexiones tienen asignados unos pesos que representan la fuerza de la conexión. Para que la red sea operativa debe entrenarse para que calcule los valores de estos pesos.
□
Algoritmos genéticos: proporcionan una visión del aprendizaje basada en la simulación de la evolución biológica. Buscan la solución a un problema mediante la evolución de una población de hipótesis conseguida a través de la selección y de la aplicación de operadores genéticos como el cruce y la mutación.
TEMARIO-TICB-feb04 Actualizado en febrero de 2004
B1G2T09 Página 26 de 26