# Ingeniería del conocimiento/Clasificación de los SBC
## 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.

### Referencias

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