jueves, 18 de abril de 2013

Sistemas Inferenciales

Autor:
PhD. Guillermo Choque Aspiazu
http://www.eldiario.net/
Publicado en:
Septiembre 1 de 2008

La inteligencia artificial es algo que fascina a muchas personas, especialmente aquellas que creen que las computadoras serán capaces de concebir por sí mismas lo que para los seres humanos algunas veces es complejo: la planificación, la toma de decisiones, el razonamiento abstracto, la eliminación de juicios subjetivos, y otras tareas complejas. Una vez hecho esto, el paso al autoaprendizaje sería la meta. Pero por la evolución de la tecnología y el creciente incremento de capacidad en las computadoras personales, comienzan a emerger programas que muestran características de inteligencia. Por ende, la posibilidad de construir una máquina que pueda rivalizar o superar la capacidad de razonamiento del cerebro humano potencia la imaginación del ser humano.


La lógica es tanto el arte como la ciencia de la demostración. Enseña a inferir correctamente y explica y analiza el por qué de esa corrección. La lógica menciona qué es obtener buenas conclusiones a partir de la información inicial y permite escudriñar la estructura más profunda de la razón. Un ideal de la lógica es entender la inferencia correcta tan bien que incluso sea posible dar recetas, procedimientos automáticos para que cualquier agente, humano o no, pueda tener garantizada la corrección lógica en su manera de procesar la información. La solución de la mayor parte de los problemas puede considerarse una actividad intelectual de generación y selección de soluciones alternativas, dentro de una gama de soluciones posibles. Inspirándose en el modelo mental, la inteligencia artificial persigue metas como la del razonamiento simbólico. Puesto que una inferencia corresponde a una etapa elemental de razonamiento, la capacidad de razonamiento de una computadora de este tipo se mide en “inferencias lógicas por segundo” y en sus múltiplos, de modo que una “inferencia lógica por segundo” corresponde a una inferencia silogística por segundo. Se estima habitualmente que una operación de inferencia necesita de cien a mil pasos, de modo que una “inferencia lógica por segundo” equivale de cien a mil instrucciones por segundo.

Se puede definir a un sistema experto como una aplicación informática que permite resolver problemas pertenecientes a un dominio específico, altamente especializado, de la manera en que lo haría un ser humano experto en dicho dominio. Un sistema experto se compone principalmente de una base de conocimiento, un motor de inferencia y una interfaz de diálogo con el usuario. El proceso de construir un sistema experto se estudia en la ingeniería del conocimiento. La construcción típicamente involucra una forma especial de interacción entre el constructor del sistema experto, llamado ingeniero del conocimiento, uno o más expertos en el área del problema y los usuarios. El ingeniero del conocimiento debe entender ampliamente el mecanismo de inferencia del sistema experto y poseer excelente habilidad de comunicación interpersonal para extraer de un experto el conocimiento necesario. Los ingenieros del conocimiento son analistas de sistemas y “técnicos psicólogos” quienes se encargan de deducir cómo manejan los expertos el conocimiento y la información; entienden cómo un experto desarrolla y aplica teorías, deducciones, lógicas y procesos; llega a las reglas básicas y hechos no obvios que el experto maneja además de trasladar la información hacia alguna estructura para que el sistema la entienda. Las reglas de expertos en el trabajo por un buen número de años, denominadas heurísticas, se derivan al realizar una exhaustiva observación en esas personas expertas. Junto con el conocimiento general, a manera de hechos, las reglas disponibles en libros y las heurísticas se almacenan en una base de conocimiento, compuesta de hechos y reglas, además que el software especializado se encarga de aplicar dichas reglas para deducir conocimiento.

El enfoque más común para representar el dominio del conocimiento que se requiere para un sistema experto son las reglas de producción. Estas pueden ser referidas como reglas “situación-acción” o “si-entonces”. De esta forma y con bastante frecuencia, una base de conocimiento está constituida principalmente de reglas, las cuales son invocadas por un emparejamiento de patrones con las particularidades de las tareas circunstanciales que van apareciendo en la base de datos global. Las reglas en una base de conocimientos representan el dominio de hechos y las reglas heurísticas de un buen juicio de acciones a tomar cuando se llega a situaciones específicas. La fuerza de un sistema experto yace en el conocimiento específico del dominio del problema. Casi todos los sistemas existentes basados en reglas contienen un centenar de ellas y generalmente se obtienen de entrevistas con expertos durante un largo tiempo. En cualquier sistema experto las reglas se conectan una a otra por enlaces de asociación para formar redes de reglas. Una vez que son ensambladas tales redes, se tiene la representación sustancial de un cuerpo de conocimientos.

Generalmente, un experto tiene muchas reglas en el sentido común o empíricas por lo que el soporte suele ser incompleto para la evidencia que se dispone. En tales casos una técnica consiste en vincular valores numéricos a cada regla para indicar el grado de certidumbre que ésta tiene. En esta operación, propia de los sistemas expertos, los valores de certidumbre se combinan unos a otros a través de la red, considerando también la certidumbre de los datos de entrada del problema, para llegar finalmente a un valor de certidumbre correspondiente a la solución final.

El modelo de problema solución y sus métodos organizan y controlan las etapas que se van tomando para la resolución de problemas. Un modelo muy poderoso y común es el de encadenar las reglas “situación-acción” con el fin de formar alguna línea de razonamiento. Si el encadenamiento se inicia a partir de un conjunto de condiciones y se mueve hacia alguna conclusión, el método se llama encadenamiento hacia adelante y, en su caso contrario, el encadenamiento es hacia atrás. Un problema de encadenamiento hacia adelante, sin una apropiada heurística de poda, derivará muchas soluciones da las cuales no todas son necesarias. En el caso del encadenamiento hacia atrás, es necesario también trabajar con una heurística apropiada, con la finalidad de poder manejar submetas conjuntivas. En general, para atacar el problema de conjunción, es necesario encontrar un caso en donde todas las submetas interactuantes se satisfagan. Pero con frecuencia una búsqueda de tal naturaleza proporciona una explosión combinatoria de posibilidades. Es por esta razón, que el dominio apropiado de la heurística y su esquema inferencial deben ser encontrados para cada tipo de problemas, para que de esta manera se tenga un sistema experto eficaz y eficiente.

En realidad el conocimiento de una tarea es el que domina el curso de las etapas que se van tomando para la solución del problema. En algunos casos cuando el conocimiento es bastante abstracto, como en el caso del dominio de un modelo simbólico, la inferencia que se produce del modelo de abstracción a relaciones menos abstractas, se denomina modelo de “manejo de inferencias”. Siempre y cuando sea posible moverse de las relaciones simbólicas más abstractas a relaciones menos abstractas, se estará generando expectativas y, en este contexto, el comportamiento del problema-solución es denominado “manejo de expectativas”. Con frecuencia se tiene que la solución de los problemas trabaja hacia arriba; es decir, de los detalles o de los datos del problema específico a niveles más altos de abstracción. En este caso, las etapas en esta dirección se llaman “manejo de datos”. Si en la etapa siguiente se elige en base de algún dato nuevo con base a la última etapa tomada dentro del problema-solución, entonces la actividad es llamada “manejo de eventos”.

Se encuentra ampliamente aceptado que un sistema experto consiste de tres componentes principales: (1) un conjunto de reglas, (2) una base de datos global y (3) un intérprete de reglas. Las reglas actúan por medio de patrones dentro de la base de datos global y dependen de la dirección de búsqueda, la cual se empareja en ambos lados con las reglas a través de la situación o mediante la acción. La aplicación de las reglas cambian el estado del sistema y por consiguiente la base de datos, habilitando algunas reglas y deshabilitando algunas otras. El interprete de reglas usa una estrategia de control para encontrar las reglas disponibles y decidir que regla debe aplicar. Las estrategias básicas de control usualmente son las siguientes: (1) de arriba hacia abajo, para el manejo de metas y (2) de abajo hacia arriba, para el manejo de datos. En el caso de una combinación de ambas estrategias, es necesario un proceso de convergencia parecido al de relajación para unir las líneas opuestas de razonamiento en algún punto intermedio y así poder ofrecer una solución al problema.

Para conocer más acerca del Doctor Choque y sus publicaciones, haz clic en el siguiente vínculo: