Sistemas expertos

7
CBSA* 18/05/2015 SISTEMAS EXPERTOS. Materia: Inteligencia Artificial

description

Introduccion a los sistemas expertos

Transcript of Sistemas expertos

  • CBSA* 18/05/2015

    SISTEMAS EXPERTOS.

    Materia:

    Inteligencia Artificial

  • CBSA* 18/05/2015

    Introduccin

    El presente ensayo consiste en conocer sistemas expertos ver, ejemplos, describir

    alguno en especial Drools, asi como tambin ver y ejemplificar como poder implementarlo en

    lenguaje java.

    Los ejemplos de este captulo son muy simples y tienen el propsito de mostrar cmo

    incrustar Drools en sus aplicaciones Java y mostrarle algunos trucos para el uso de

    encadenamiento hacia adelante sistemas basados en reglas.

  • CBSA* 18/05/2015

    Sistemas expertos Drools es un lenguaje especfico de dominio (DSL) que intenta proporcionar una sintaxis que es ms fcil de usar que un lenguaje de programacin de propsito general. Al utilizar java en el Eclipse es recomendando utilizar los plugins Eclipse Drools Workbench que ayudan a la creacin de proyectos y entender la sintaxis del lenguaje regla Drools y puede generar automticamente una pequea demostracin que voy a ir ms en detalle en las dos secciones siguientes. Los sistemas de encadenamiento comienzan con un conjunto de hechos conocidos, y aplican reglas para trabajar hacia la solucin de uno o ms objetivos. Un enfoque alternativo es utilizar encadenamiento hacia atrs en Prolog estos sistemas comienzan con objetivo final y tratar de trabajar hacia atrs hacia los hechos conocidos a la actualidad. Desarrollo Drools es interactivo que nos permite trabajar en un ambiente donde se puede aadir de forma rpida y cambiar las reglas y los casos de prueba, volver a ejecutar. Sistemas de Produccin Sistemas de produccin es un nombre ms preciso para los sistemas expertos. Las producciones son reglas para la transformacin de estado. Por ejemplo, teniendo en cuenta las tres reglas de produccin:

    Entonces, si un sistema de produccin se inicializa con el estado A, el estado D se puede derivar mediante la aplicacin de estas tres reglas de produccin en orden. La forma de estas reglas de produccin es:

    O

    La mayor parte de la potencia de un sistema basado en normas proviene de la capacidad de utilizar las variables de modo que el lado izquierdo (LHS) patrones puede coincidir con una variedad de hechos conocidos (llamados memoria de trabajo en Drools). Los valores de estas variables establecidas en el proceso de correspondencia LHS se sustituyen por las variables del lado derecho (RHS) patrones. Sistemas de reglas de produccin son mucho menos expresivos que razonadores estilo Descripcin Lgica. Los beneficios de los sistemas de reglas de produccin son:

    Que ellos deben tener una mayor eficiencia en tiempo de ejecucin

    Son ms fciles de usar - una curva de aprendizaje ms pequeo. Las reglas de lenguaje Drools La sintaxis bsica (dejando de lado los componentes opcionales) de una regla Drools es:

  • CBSA* 18/05/2015

    Cuando utiliza Eclipse Drools Workbench y crea un nuevo proyecto de demostracin, el banco de trabajo crear automticamente para usted:

    Sample.drl - un archivo de reglas muestra. com.sample.Drools Test.java - define: un sencillo mensaje Java POJO ("Plain Old Java Objects") clase que se utiliza en el archivo de reglas Sample.drl, un mtodo de utilidad para las reglas de carga, y un mtodo principal que carga las reglas y crea una instancia del mensaje clase que "fire" la primera regla en Sample.drl. Usando Drools en aplicaciones Java Observando las reglas de ejemplo el archivo Sample.drl mostrado anteriormente, el cual se genera automticamente cuando se crea un proyecto de demostracin con el Eclipse Drools Workbench. Esta funcin principal es un ejemplo que muestra cmo utilizar un paquete de reglas definido en un archivo de origen regla. Ejemplo sistema experto Drools: Bloques mundial Este ejemplo introduce el tema de la "resolucin de conflictos", y (desafortunadamente) que demuestra que incluso la solucin de problemas sencillos con sistemas basados en reglas puede ser difcil. Debido a la dificultad de desarrollar y depurar regla basada en sistemas, que son los mejores para las aplicaciones que tienen tanto un alto valor de negocio y oferta una oportunidad para codificar el conocimiento del negocio o de la aplicacin de expertos en reglas. Por lo tanto, el ejemplo en la seccin siguiente es un ejemplo ms de la vida real de buena aplicacin de sistemas expertos, pero aprendern tcnicas valiosas en este ejemplo. En el inters de honestidad intelectual, debo decir que los problemas generales bloques mundiales, como el "Torres de Hanoi" problema problemas y mundiales bloque como el que est en esta seccin son por lo general fcil de resolver utilizando tcnicas de bsqueda primero en amplitud. Modelos de objetos POJO para Bloques Mundial Ejemplo

  • CBSA* 18/05/2015

    Se utilizan tres clases POJO siguientes:

    La primera clase POJO bloque representa el estado de un bloque.

    La segunda clase POJO se utiliza para representar los estados anteriores de bloques a medida que se movan como las reglas.

    La tercera clase POJO se utiliza para representar un estado objetivo de los bloques que somos tratando de llegar.

    Ejemplo Reglas Drools para Bloques Mundial Necesitamos cuatro reglas para este ejemplo y que se enumeran a continuacin:

    Ponemos las reglas en el mismo paquete Java como el cdigo de soporte Java.

    - La primera regla no tiene condiciones previas, as que siempre puede disparar. - La siguiente regla busca situaciones en las que es posible mover un bloque con unas

    algunas condiciones. - La siguiente regla busca oportunidades para eliminar. - La siguiente regla comprueba si el objetivo actual es satisfecho en cuyo caso se

    detiene el motor Drool. Notas sobre el Arte de la Construccin de Sistemas Expertos Puede parecer que los sistemas expertos basados en reglas tienen un montn de gastos generales de programacin; es decir, parecer excesivamente difcil de resolver problemas sencillos utilizando sistemas produccin. Sin embargo, para la codificacin de los grandes problemas mal estructurados, sistemas de produccin proporcionan una notacin conveniente para recoger juntos lo que de otro modo sera demasiado grande una coleccin de datos no estructurados y reglas heursticas (Sistemas Expertos de programacin en OPS5: Una introduccin a la programacin basada en reglas, Brownston et al., 1985). Como una tcnica de programacin, la escritura sistemas expertos basados en reglas no es para todos. Algunos programadores encuentran la programacin basada en reglas para ser engorroso, mientras que a otros les resulta una buena opcin para resolver ciertos tipos de problemas. Animo al lector a pasar un buen rato experimentando con Drools, tanto con los ejemplos de este captulo, y los muchos ejemplos en el paquete de distribucin Drools y documentacin. Antes de iniciar un proyecto moderado o grande sistema experto, hay varios pasos que recomiendo:

    Escriba una descripcin detallada del problema a resolver.

  • CBSA* 18/05/2015

    Decida qu elementos de datos estructurados que describen mejor el espacio del problema.

    Trata de romper el problema en mdulos distintos de normas; si es posible, tratar de desarrollar y probar estos mdulos ms pequeos de forma independiente, preferiblemente un archivo de fuente por mdulo.

    Planee en la escritura de reglas especficas que ponen a prueba las partes del sistema inicializando la memoria de trabajo para las pruebas especficas para los distintos mdulos; estas pruebas sern muy importantes cuando se prueban todos los mdulos entre s porque las pruebas de que funcionan correctamente para un solo mdulo pueden fallar cuando todos los mdulos se cargan debido a interacciones de reglas inesperados.

    Produccin modelo de sistemas con bastante precisin el comportamiento de estmulo-respuesta en la gente. El lado izquierdo (LHS) trminos representan los datos ambientales que desencadenan una respuesta o accin representada por el lado derecho (RHS) trminos en reglas de produccin. Tipos de estmulo-respuesta simple de reglas de produccin podran ser adecuadas para modelar comportamientos simples, pero nuestro objetivo al escribir los sistemas expertos es para codificar el conocimiento profundo y la capacidad de tomar decisiones complejas en un dominio de problema muy estrecha (o limitada). Para modelar las habilidades de toma de decisiones complejas, tambin a menudo que aadir la funcionalidad de control de nivel superior a los sistemas expertos. Este nivel ms alto, o el control de meta, pueden ser el control de mdulos de reglas que estn activos.

  • CBSA* 18/05/2015

    Conclusin En conclusin de la informacin presentada anteriormente es un tema muy importante y muy bien especificado las normas se rigen de 4 reglas que tenemos que cumplir. Especificamos lo que son las variables LHS (del lado izquierdo) y las variables del lado derecho (RHS). En si lo que nos queda es que debemos usar los sistemas de produccin, cuando sean adecuados, y si no, utilizar un sistema de representacin del conocimiento y el razonamiento ms expresivo. A travs de esta informacin nos queda el reconocer en que momento aplicar y sobre todo cuando. Ms que nada es una gua para saber implementar este sistema experto en el lenguaje que tenemos como base en el transcurso de nuestra carrera JAVA.