# Ingeniería del conocimiento/Versión para imprimir

* Si imprimes esta página, o eliges la opción de Vista preliminar de impresión de tu navegador, verás que desaparecen este cuadro y los elementos de navegación de arriba y de la izquierda, pues no son útiles en una versión impresa.
* Pulsando antes en Refrescar esta página te asegurarás de obtener los últimos cambios del libro antes de imprimirlo.
* Para más información, puedes ver Wikilibros:Versión para imprimir.
| Ingeniería del conocimiento La ingeniería del conocimiento es aquella disciplina moderna que forma parte de la Inteligencia Artificial y cuyo fin es el diseño y desarrollo de Sistemas expertos (o Sistemas Basados en el Conocimiento SS.BB.C.). Para ello, se apoya en metodologías instruccionales y en las ciencias de la computación y en las ciencias de la información, intentando representar el conocimiento y razonamiento humanos en un determinado dominio, dentro de un sistema artificial. El trabajo de los ingenieros del conocimiento consiste en extraer el conocimiento de humanos muy estudiados y con amplio dominio en una determinada área, y en codificar dicho conocimiento de manera que pueda ser procesado por un sistema. El problema es que el ingeniero del conocimiento no es un experto en el campo que intenta modelar, mientras que el experto en el tema no tiene experiencia modelando su conocimiento (basado en la heurística) de forma que pueda ser representado de forma genérica en un sistema. La ingeniería del conocimiento engloba a los científicos, tecnología y metodología necesarios para procesar el conocimiento. Su objetivo es extraer, articular e informatizar el conocimiento de un experto. | Introducción Fases de adquisición del conocimiento Clasificación de los SBC Métodos de resolución de problemas Fuentes |

## Fases de adquisición del conocimiento

Dado que la tarea de adquisición del conocimiento es una tarea difícil, se han identificado varias etapas en las que se ha de dividir su desarrollo y así permitir abordar esta labor de una manera más sistemática.
Existen diferentes versiones sobre la división de esta tarea; la más aceptada en la literatura es la siguiente:
* Identificación del problema/s
* Conceptualización
* Formalización
* Implementación
* Prueba
En la siguiente figura podemos ver un esquema de las fases de adquisición del conocimiento.
Fases de la ingeniería del conocimiento

### Identificación

En esta fase se ha de determinar, en primer lugar, si el problema se puede o se debe abordar mediante las técnicas de los SBC. Para que un problema sea adecuado no ha de poder solucionarse de manera algorítmica, ya que si se pudiera de ese modo, no tendría sentido iniciar una labor tan costosa. También ha de ser necesario tener acceso a las fuentes de conocimiento suficientes para completar la tarea. Por último, el problema a tratar ha de tener un tamaño adecuado para que no constituya una tarea inabordable por su complejidad.
El siguiente paso consiste en buscar las fuentes de conocimiento que serán necesarias para el desarrollo del sistema, las más comunes son:
* Expertos humanos en el dominio del problema.
* Libros y manuales que expliciten el problema y técnicas de resolución.
* Ejemplos de casos resueltos.
Éstos últimos serán importantes sobre todo en la última fase de validación, pero se pueden usar también para utilizar técnicas de adquisición automática del conocimiento y obtener de esta manera los elementos básicos que intervienen y sus relaciones.
Con estas fuentes de información se podrán determinar los datos necesarios para la resolución del problema y los criterios que determinen la solución, tanto los pasos que permiten la resolución como su posterior evaluación.
En este momento el IC y el experto podrán realizar una primera descripción del problema; en ésta se especificarán:
* Los objetivos
* Motivaciones
* Las estrategias de resolución y su justificación
* Fuentes de conocimiento
* Tipos de tareas que son necesarias
Este esquema será el punto de partida para plantear las siguientes fases.

### Conceptualización

Antes de entrar en las características globales del problema, es necesario detallar los elementos básicos de éste y descubrir las relaciones entre ellos. En particular, es necesario observar cómo el experto resuelve problemas típicos y abstrae de ellos principios generales que pueden ser aplicados en diferentes contextos.
Hay también que obtener una descomposición del problema en subproblemas, realizando un análisis por refinamientos sucesivos hasta que el IC pueda hacerse una idea de la relación jerárquica de las diferentes fases de resolución hasta los operadores de razonamiento más elementales.
Otro elemento necesario es descubrir el flujo del razonamiento en la resolución del problema y especificar cuándo y cómo son necesarios los elementos de conocimiento.
Con esta descomposición jerárquica y el flujo del razonamiento, el IC puede caracterizar los bloques de razonamiento superiores y los principales conceptos que definen el problema. Hará falta distinguir entre evidencias, hipótesis y acciones necesarias en cada uno de los bloques y determinar la dificultad de cada una de las subtareas de resolución. De esta manera se conseguirá captar la estructura del dominio y las diferentes relaciones entre sus elementos.

### Formalización

Se han de considerar los diferentes esquemas de razonamiento que se pueden utilizar para modelizar las diferentes necesidades de resolución de problemas identificadas en las fases anteriores.
En este punto, se ha de poder comprender la naturaleza del espacio de búsqueda y el tipo de búsqueda que habrá que hacer. Para ello, se puede comparar ésta con diferentes mecanismos prototípicos de resolución de problemas como la clasificación, abstracción de datos, razonamiento temporal, estructuras causales, etc.
En esta etapa también tendrá que analizarse la certidumbre y completitud de la información disponible, dependencias temporales, o la fiabilidad y consistencia de la información. Se deberá descubrir qué partes del conocimiento constituyen hechos seguros y cuáles no. Para éstos últimos deberá adaptarse alguna metodología de tratamiento de la incertidumbre, de manera que ésta pueda ser modelizada dentro del sistema.

### Implementación

En este punto se han de tomar decisiones sobre la especificación del control de la resolución y del flujo de la información. Se deberán tomar decisiones sobre el modo concreto de representar el conocimiento para que se adapte a las estrategias de resolución que se necesiten y las relaciones entre los diferentes conjuntos de conocimiento.
En esta fase se definirán las reglas, e inevitablemente se descubrirán problemas e incompletitudes que obligarán a revisar fases anteriores.

### Prueba

Se ha de elegir un conjunto de casos resueltos representativos y se ha de comprobar el funcionamiento del sistema con éstos. En esta fase se descubrirán errores que permitirán corregir análisis anteriores; por lo general aparecerán problemas por falta de reglas, incompletitud, falta de corrección, y posibles fallas en el analisis de las reglas pre establecidas

## Clasificación de los SBC

El abordar la construcción de un SBC en cualquier dominio es una tarea difícil, y sería deseable disponer de un conjunto de metodologías de resolución de problemas que permitieran aproximar soluciones a diferentes tipos de SBC según sus características.
Con esta idea en mente se han realizado clasificaciones de los SBC según las tareas que realizan, para intentar descubrir metodologías comunes y así extraer directrices de análisis en los distintos tipos de dominios.
De esta manera, dada una clase de problema dispondríamos de:
* Un conjunto de tareas usuales para cada tipo fáciles de identificar.
* Un conjunto de metodologías de resolución generales específicas para cada tipo.
* Estilos de representación del conocimiento e inferencia adecuados para cada tipo.
Originalmente se realizó una primera clasificación de los SBC atendiendo a las tareas que realizan , ésta es:

### Sistemas de Interpretación

    Infieren descripciones de situaciones a partir de observaciones.

### Sistemas de predicción

    Infieren consecuencias previsibles de situaciones o eventos.

### Sistemas de diagnóstico

    Infieren fallos a partir de sintomas.

### Sistemas de diseño

    Desarrollan configuraciones de objetos que satisfacen ciertas restricciones.

### Sistemas de planificación

    Generan secuencias de acciones que obtienen un objetivo.

### Sistemas de monitorización

    Estudian el comportamiento de un sistema en el tiempo y procuran que siga unas especificaciones.

### Sistemas de corrección

    Genera soluciones para fallos en un sistema.

### Sistemas de control

    Gobiernan el comportamiento de un sistema anticipando problemas, planeando soluciones.
Esta primera clasificación, que es la que se utilizó como punto de partida para la identificación de necesidades para el desarrollo de SBC, plantea varios problemas ya que varias categorías se superponen o están incluidas en otras. No obstante da una idea inicial de los rasgos comunes que aparecen entre los distintos dominios en los que tratan los sistemas.
Un análisis alternativo, posterior a éste, permite un tratamiento más sistemático de las necesidades de un SBC. Se basa en las operaciones genéricas que puede hacer un SBC respecto al entorno. Se distinguen dos operaciones genéricas:
* Operaciones de análisis, que interpretan un sistema.
* Operaciones de síntesis, que construyen un sistema.
Estas operaciones se pueden especializar en otras más específicas dando lugar a una jerarquía de operaciones. Para el caso del análisis tenemos:
Archivo:Ingcon-Análisis.svg
En este caso, la interpretación se podría especializar según la relación entre los elementos de entrada/salida de un sistema:
* Identificación: nos dice qué tipo de sistema tenemos.
* Predicción: nos dice qué tipo de resultado podemos esperar.
* Control: determina qué entradas permiten conseguir la salida deseada.
La identificación se puede especializar para sistemas con fallos en:
* Monitorización: detecta discrepancias de comportamiento.
* Diagnóstico: explica discrepancias.
Para el caso de las operaciones de síntesis tenemos:
Archivo:Ingcon-Síntesis.svg
La especialización de la construcción se puede realizar en:
* Especificación: busca qué restricciones debe satisfacer un sistema.
* Diseño: genera una configuración de elementos que satisfacen las restricciones.
** Configuración: cómo es la estructura actual del sistema.
** Planificación: cómo se ensambla la estructura.
* Ensamblaje: realiza un diseño juntando las diferentes piezas.
Obteniendo una clasificación de las diferentes tareas y operaciones que realiza un SBC podemos establecer una correspondencia entre éstos y los métodos de resolución, y de esta manera facilitar la tarea de análisis de los dominios.

## Métodos de resolución de problemas

Diferentes son las técnicas de resolución de problemas que se pueden utilizar para las tareas que debe realizar un SBC. Existen ciertas técnicas generales que se pueden aplicar a diferentes tipos de dominios y tareas. De ellas destacaremos las tres más utilizadas:
* Clasificación Heurística (Heuristic Classification)
* Resolución Constructiva (Constructive Problem Solving)
* Hipótesis y Prueba Jerárquica (Hierarchical Hipotesize and Test)

### Clasificación Heurística

La clasificación es un método utilizado en muchos dominios. El elemento esencial de ésta consiste en que el experto escoge una categoría de un conjunto de soluciones previamente enumerado.
En dominios simples, el disponer de las características esenciales de cada una de las categorías es suficiente para establecer la clase del problema y su solución. Esto no ocurre así cuando la complejidad del problema aumenta, pues las características esenciales son cada vez más difíciles de identificar. El objetivo de la técnica de clasificación heurística será obtener y representar el conocimiento necesario para que la asociación problema-solución se pueda realizar.
Se define como clasificación heurística a toda asociación no jerárquica entre datos y categorías que requiere de inferencias intermedias. Es decir, el establecer la clase de un problema requiere realizar inferencias y transformaciones sobre éste, para poder asociarlo con la descripción de la clase. El esquema de razonamiento para hacer estas inferencias se ha de adquirir del experto.
La clasificación heurística se divide en tres etapas:

#### 1. Abstracción de los datos

    Por lo general, se hace una abstracción del caso concreto para acercarlo a las soluciones que se poseen.

#### 2. Asociación heurística

    Se busca la mayor coincidencia entre el caso abstraído y las soluciones. Esta asociación es de naturaleza heurística, es decir, depende de conocimiento basado en la experiencia, y, por lo general, la correspondencia entre caso y soluciones no será uno a uno, existirán excepciones, y las coincidencias no serán exactas.
    La solución corresponderá con la que mejor coincida con la abstracción de los datos.

#### 3. Refinamiento de la solución

    Haber identificado la abstracción de la solución reducirá el espacio de búsqueda, ahora será necesario buscar la mejor solución determinada por la solución abstracta. Esto puede necesitar de más deducciones, o de la utilización de más información. De esta manera se debe reducir el espacio de búsqueda hasta encontrar la mejor solución.
En la siguiente figura se puede ver un esquema del proceso.
Archivo:Clasificación heurística.svg
Dentro de este proceso, un punto importante es la abstracción de los datos. Tres son las más utilizadas::

#### Abstracción definicional

    Se deben extraer las características definitorias del problema y focalizar la búsqueda con éstas. Le corresponde al experto decidir cuáles son esas características.

#### Cualitativa

    Supone abstraer sobre valores cuantitativos, convirtiéndolos en cualitativos (e.g.: Fiebre = 39 grados ===> Fiebre = alta).

#### Generalización

    Se realiza abstracción sobre una jerarquía de conceptos (e.g.: forma = pentágono ===> forma = polígono).
Se puede ver que esta metodología de resolución de problemas capta una gran cantidad de dominios, siendo adecuada para cualquier problema en el que se pueda hacer una enumeración del espacio de soluciones. Es válida para todas las tareas de análisis.

#### Clasificación heurística en los sistemas de reglas

Por lo general, la construcción de un sistema mediante clasificación heurística basado en reglas es una labor iterativa. A los expertos les es difícil dar las reglas que son capaces de realizar la labor de clasificación, y además encuentran difícil el formalismo de las reglas.
El proceso de refinamiento del sistema ha de hacerse paso a paso, añadiendo nuevas reglas que cubran nuevos casos y vigilando las interacciones. La metodología que se suele seguir es la siguiente:
* El experto da las nuevas reglas al IC.
* El IC cambia la base de conocimiento.
* El IC prueba casos ya resueltos para comprobar inconsistencias.
* Si aparecen errores, se comprueba el nuevo conocimiento con el experto y se empieza de nuevo.
* Se prueban nuevos casos.
* Si no hay problemas se para, si los hay se retorna al principio.
Esta labor iterativa se puede dividir para cada uno de los módulos que componen el sistema, reduciendo de esta manera las interacciones entre diferentes partes del conocimiento.

#### Estrategias de adquisición del conocimiento con clasificación heurística

La aplicación de la clasificación heurística a diferentes problemas ha dado con métodos que permiten dirigir la explicitación del conocimiento por parte del experto de una manera más sistemática, enfocando la labor de extracción en cada uno de los elementos que componen las reglas (hipótesis, evidencias, cadenas de inferencia, hechos intermedios, confianza en las evidencias y las asociaciones evidencia-hipótesis). Algunos de los pasos que debe incluir la adquisición son los siguientes:

##### Diferenciación

    Buscar los síntomas que distinguen entre hipótesis.

##### Frecuencia de condicionalización

    Buscar condiciones de base que hagan a una hipótesis más o menos probable.

##### Distinción de síntomas

    Identificar propiedades de síntomas que indican las causas originales.

##### Condicionalización de síntomas

    Buscar las condiciones bajo las cuales se espera que aparezcan ciertos síntomas dada una hipótesis.

##### División de caminos

    Descubrir los sucesos intermedios entre hipótesis y síntomas que son más probables.

##### Diferenciación de caminos

    Buscar los eventos intermedios que pueden diferenciar hipótesis con similares evidencias.

##### Diferenciación de condiciones

    Determinar el grado de confianza a aplicar al resultado de las condiciones.

##### Condicionalización de condiciones

    Buscar las condiciones de base que afectan a la confianza de las condiciones.
La conjunción de todas estas fases permiten construir la base de conocimiento necesaria para la resolución del problema.

#### Aplicación de la clasificación heurística

Como ejemplo de la técnica de clasificación heurística, vamos a plantear un pequeño SBC para la concesión de créditos bancarios para creación de empresas. El propósito de este sistema será examinar las solicitudes de créditos de clientes con pretensiones de crear una empresa para determinar si se les debe conceder y qué cuantía es la recomendable respecto a la que solicitan.
El problema que se nos plantea tiene por lo tanto una labor de análisis que nos ha de predecir la fiabilidad de si cierta persona, en ciertas condiciones, será capaz de devolver un crédito si se lo concedemos. El número de soluciones a las que podemos llegar es evidentemente finito: el crédito se concede, o no se concede, y en el caso de que se conceda, se decidirá si la cuantía solicitada es adecuada o si sólo se puede llegar hasta cierto límite.
Todas estas características indican que la metodología de resolución que mejor encaja es la clasificación heurística, por lo tanto dirigiremos el planteamiento con las fases que necesita.
Deberemos plantear cuatro tipos de elementos y los mecanismos para transformar unos en otros. El primero será cómo se plantearán los problemas al sistema, es decir, qué elementos se corresponderán con los datos específicos, las solicitudes de crédito.
Esta información ha de definir el estado financiero del solicitante, el motivo por el que pide el crédito, cuánto dinero solicita, etc. Supongamos que una solicitud contiene la siguiente información:
* Si tiene avales bancarios.
* Si tiene familiares que puedan responder por él.
* Si tiene cuentas corrientes, casas, coches, fincas, etc. y su valoración.
* Si tiene antecedentes de morosidad.
* Si ha firmado cheques sin fondos.
* Si tiene créditos anteriores concedidos.
* Tipo de empresa que quiere crear.
* Cantidad de dinero que solicita.
Esta información deberá convertirse mediante el proceso de abstracción de datos en los problemas abstractos a partir de los cuales se hará el razonamiento. Podríamos decidir que nuestras soluciones abstractas quedan definidas por los siguientes atributos:
* Apoyo financiero: Valoración de la capacidad económica para responder al valor del crédito que solicita. Este apoyo se puede evaluar con la información sobre avales y personas allegadas que puedan responder por él.
* Bienes: Dinero o propiedades que puedan usarse para responder por el crédito o que se puedan embargar en caso de no devolución.
* Fiabilidad de devolución: Información sobre si el cliente tiene antecedentes económicos positivos o negativos.
* Compromiso: Información sobre si ya se tienen compromisos económicos con esa persona o si se tienen intereses especiales con ella.
* Viabilidad de la empresa: Tipo de empresa que se quiere crear y su posible futuro.
Supondremos que estos cinco atributos pueden tomar valores cualitativos que estarán dentro de este conjunto: muy bueno, bueno, normal, regular, malo, muy malo.
Para realizar la abstracción de datos se podrían dar un conjunto de reglas que harían la transformación, como por ejemplo:
* si avales > 10 millones o tío rico entonces apoyo financiero bueno
* si avales entre 10 millones y un millón entonces apoyo financiero normal
* si avales < 1 millón entonces apoyo financiero malo
* si suma bienes < 10 millones entonces bienes malo
* si suma bienes entre 10 y 20 millones entonces bienes normal
* si suma bienes > 20 millones entonces bienes bien
* si cheques sin fondos o moroso entonces fiabilidad muy mala
* si fábrica de agujeros entonces viabilidad muy mala
* si hamburguesería o heladería entonces viabilidad normal
* si grandes almacenes o proveedor de Internet entonces viabilidad muy buena
* si concedido crédito < 1 millón entonces compromiso regular
* si concedido crédito > 10 millones o hermano del director entonces compromiso bueno
El conjunto de soluciones abstractas a las que podría dar el análisis de las solicitudes podría ser el siguiente:
* Denegación: no hay crédito para el cliente.
* Aceptación: se acepta el crédito tal como se solicita.
* Aceptación con rebaja: se acepta el crédito, pero se rebaja la cantidad solicitada; harán falta reglas para crear la solución concreta indicando la cantidad final que se concede.
* Aceptación con interés preferente: se concede la cantidad solicitada, pero además se rebajan los intereses que normalmente se ponen al crédito; en este caso también hará falta generar una solución concreta.
Ahora nos faltan las reglas que nos harán la asociación heurística entre los problemas abstractos y las soluciones abstractas. Un conjunto de reglas que cubre una pequeña parte del espacio de soluciones podría ser:
* si apoyo financiero regular y bienes malo entonces denegar
* si fiabilidad mala o muy mala entonces denegar
* si apoyo financiero normal y bienes normal y viabilidad buena entonces aceptar con rebaja
* si apoyo financiero bueno y bienes normal y compromiso normal y viabilidad buena entonces aceptar
* si apoyo financiero bueno y bienes bueno y compromiso muy bueno y viabilidad muy buena entonces aceptar con interés preferente
Por último, nos hacen falta reglas para poder generar soluciones concretas en los casos que son necesarias; algunas reglas podrían ser:
* si aceptación con rebaja y petición > 5 millones y bienes = 5 millones entonces rebaja a 5 millones
* si aceptación con interés preferente y petición > 10 millones y bienes > 10 millones entonces rebaja de un 1% de interés
* si aceptación con interés preferente y hermano del director entonces rebaja de un 2% de interés.....

### Resolución Constructiva

En contraste con la clasificación heurística, hay dominios en los que las soluciones no se pueden enumerar a priori, sino que la solución ha de construirse. Por ejemplo, en problemas de diseño, o de planificación, y por lo general, todos los sistemas que incluyen tareas de síntesis.
Este tipo de problemas se pueden atacar mediante métodos no guiados por conocimiento, pero obtener una solución satisfactoria es computacionalmente prohibitivo.
Construir una solución necesita que exista un modelo de la estructura y el comportamiento del objeto que se desea construir, modelo que debe contener conocimiento acerca de las restricciones que se deben satisfacer. Este conocimiento debe incluir:
* Restricciones en la configuración de los componentes.
* Restricciones respecto a las entradas y salidas.
* Interacciones entre estos dos tipos de restricciones.
Dos son las estrategias generales que se siguen para la resolución de este tipo de problemas:
* Proponer y aplicar (Propose and apply).
* Mínimo compromiso (Least commitment).

#### Proponer y aplicar

En principio, el experto debe tener una idea clara de la descomposición en tareas del problema y de las relaciones espacio-temporales entre éstas, para de esta manera plantear las restricciones que se tienen que cumplir. Se han de definir también las operaciones que se pueden efectuar en cada estado de la resolución, cuándo se pueden aplicar y cuáles son sus efectos. Los pasos que se siguen en esta metodología son los siguientes, para cada tarea a realizar para alcanzar la solución:
* Inicializar el objetivo: se crea el elemento que define el estado actual.
* Proponer un operador: se seleccionan operaciones plausibles sobre el estado actual.
* Podar operadores: se eliminan operadores de acuerdo con criterios globales. Estos criterios globales consistirán en criterios de consistencia generales que permiten descartar operadores que, aún siendo aplicables, se ve claramente que no mejorarán la solución (e.g.: no tiene sentido escoger el operador que deshaga el efecto del último operador aplicado).
* Evaluar operadores: se comparan los efectos de los operadores sobre la solución y se evalúa su resultado. Es en este punto donde interviene el conocimiento del experto para realizar la evaluación de los operadores.
* Seleccionar un operador: se escoge el operador mejor evaluado.
* Aplicar el operador: se aplica el operador al estado actual.
* Evaluar el objetivo: Se comprueba si se ha llegado al objetivo, continuando si se ha cumplido, o reconsiderando si no.

#### Mínimo compromiso

Un planteamiento alternativo consiste en partir de soluciones parciales e ir reformándolas hasta llegar a la solución. La estrategia sería la siguiente:
* Partir de una solución inicial no óptima, pero que satisfaga las restricciones.
* Hacer una modificación sobre la solución. Esta modificación ha de hacerse de acuerdo con la heurística de mínimo compromiso, es decir, escoger la acción que menos restricciones imponga sobre la solución y, por lo tanto, menos restricciones imponga sobre el próximo paso.
* Si la modificación viola alguna de las restricciones, se intenta deshacer alguno de los pasos anteriores, procurando que las modificaciones sean las mínimas. Esta modificación no tiene por qué ser precisamente deshacer el último paso que se realizó.
El conocimiento del experto ha de aparecer en la evaluación de los efectos de los operadores sobre las restricciones, de manera que se pueda escoger siempre el operador con menos efecto sobre éstas y que permita más libertad de movimientos.

### Hipótesis y Prueba Jerárquica

Esta metodología combina aspectos de la clasificación heurística y la resolución constructiva de problemas. Está indicado para problemas en los que:
* El espacio de soluciones es muy grande, pero enumerable.
* La solución puede ser una combinación de un conjunto de hipótesis.
Parte de la idea de que el espacio de soluciones está organizado jerárquicamente, de manera que en niveles más altos se encuentran soluciones más generales, que se deben refinar mediante el conocimiento que guiará a través del árbol de soluciones a soluciones más concretas.
La estructuración en forma jerárquica ayuda a plantear el problema y a focalizar la solución. Será labor del experto el definir la jerarquía y el conocimiento necesario para evaluar el estado de la solución en cada nodo, tanto para descender hacia soluciones más concretas como para descartar ramas.

## Referencias

* ↑ Esta clasificación apareció en: F. Hayes-Roth, D. A. Waterman, D. B. Lenat, Building Expert Systems, Addison Wesley, Reading, MA, 1983.

## Fuentes

Basado en el artículo Apuntes de Ingeniería del Conocimiento, por Javier Béjar, para la asignatura de Inteligencia artificial de la FIB (UPC) en el curso 2005/2006. Disponible en con licencia BY-NC-SA, y con el debido permiso del autor para incluir el texto en un proyecto Wikimedia con licencia GFDL. Ver página de discusión para más detalles.
Más información en el artículo en Wikipedia sobre ingeniería del conocimiento.

## Licencia

Version 1.2, November 2002

## 0. PREAMBLE

The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.
This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.
We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.

## 1. APPLICABILITY AND DEFINITIONS

This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law.
A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.
A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.
The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none.
The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.
A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called "Opaque".
Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only.
The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.
A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition.
The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.

## 2. VERBATIM COPYING

You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.
You may also lend copies, under the same conditions stated above, and you may publicly display copies.

## 3. COPYING IN QUANTITY

If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.
If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.
If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.
It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.

## 4. MODIFICATIONS

You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:
    A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
    B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement.
    C. State on the Title page the name of the publisher of the Modified Version, as the publisher.
    D. Preserve all the copyright notices of the Document.
    E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
    F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
    G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.
    H. Include an unaltered copy of this License.
    I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
    J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
    K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
    L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
    M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version.
    N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section.
    O. Preserve any Warranty Disclaimers.
If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.
You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.
You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.
The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.

## 5. COMBINING DOCUMENTS

You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers.
The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.
In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements."

## 6. COLLECTIONS OF DOCUMENTS

You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.
You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.

## 7. AGGREGATION WITH INDEPENDENT WORKS

A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document.
If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.

## 8. TRANSLATION

Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail.
If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.

## 9. TERMINATION

You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.

## 10. FUTURE REVISIONS OF THIS LICENSE

The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.
Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.