Top 10 de los artículos

YouTube
Gmail
Goole
GayRomeo
Números chinos
Números romanos
Orkut
Costco
Sistema porta hepático
El mundo Factbook

News:

Algoritmo de Rete

Algoritmo de Rete es un eficiente concordancia con el modelo algoritmo para poner en ejecución sistemas de la regla de producción. El algoritmo de Rete fue diseñado por el dr Charles L. Forgy de Universidad Carnegie-Mellon, primero publicado en un papel de funcionamiento adentro 1974, y elaborado más adelante en el suyo 1979 Ph.D. tesis y a 1982 papel (véase Referencias). Rete se ha convertido en la base para muchos sistemas expertos populares, incluyendo CLIPS, Jess, Reglas de JBoss, y Elévese.

A puesta en práctica del naïve de un sistema experto pudo comprobar cada uno regla contra sabido hechos en Base de conocimiento, encendiendo esa regla en caso de necesidad, entonces moviéndose encendido a la regla siguiente (y colocando de nuevo a la primera regla cuando está acabado). Para uniforme modere las reglas clasificadas y las conocimiento-bases de los hechos, este acercamiento del naïve se realizan lejos demasiado lentamente.

El algoritmo de Rete (“REET generalmente pronunciado”, “REE-te” o, en Europa, “re-tay” después de la pronunciación latina, del Latino “rete” para la red, o red) proporciona la base para una puesta en práctica más eficiente de un sistema experto. Un sistema experto Rete-basado construye una red de nodos, donde cada nodo (excepto la raíz) corresponde a un patrón que ocurre en el izquierdo-mano-lado de una regla. La trayectoria del nodo de la raíz a a nodo de la hoja define a izquierdo-mano-lado completo de la regla. Cada nodo tiene una memoria de los hechos que satisfacen ese patrón. Esta estructura es esencialmente generalizada Trie.

Mientras que se afirman o se modifican los nuevos hechos, propagan a lo largo de la red, haciendo nodos ser anotado cuando ese hecho empareja ese patrón. Cuando un hecho o una combinación de hechos hace todos los patrones para que una regla dada sea satisfecha, se alcanza un nodo de la hoja y se acciona la regla correspondiente.

El algoritmo de Rete se diseña para sacrificar memoria para la velocidad creciente. En la mayoría de los casos, las puestas en práctica excesivas del naïve del aumento de la velocidad son varias órdenes de la magnitud (porque el funcionamiento de Rete es teóricamente independiente del número de reglas en el sistema). En sistemas expertos muy grandes, sin embargo, el algoritmo de Rete de la original tiende para funcionar en problemas de la consumición de la memoria. Otros algoritmos, novela y Rete-basado, se han diseñado desde entonces que requieren menos memoria.

Contenido

Descripción

El algoritmo de Rete proporciona una descripción lógica generalizada de una puesta en práctica de la funcionalidad responsable de emparejar datos tuples (hechos del `') contra producciones (‘reglas') en a el patrón-emparejar sistema de producción (una categoría de motor de la regla). A producción consiste en unas o más condiciones y un sistema de las acciones que se pueden emprender para cada uno sistema completo de los hechos que emparejan las condiciones. Hecho de la prueba de las condiciones cualidades, incluyendo el tipo specifiers/identificadores del hecho. El algoritmo de Rete exhibe las características principales siguientes:

  • Reduce o elimina ciertos tipos de redundancia con el uso de compartir del nodo.
  • Almacena fósforos parciales al realizarse ensambla entre diversos tipos del hecho. Esto, alternadamente, permite que los sistemas de producción eviten la nueva evaluación completa de todos los cambios de los hechos se hace cada vez a la memoria del funcionamiento del sistema de producción. En lugar, el sistema de producción necesita evaluar solamente los cambios (deltas) a la memoria de trabajo.
  • Permite el retiro eficiente de los elementos de la memoria cuando los hechos están contraídos de memoria de trabajo.

El algoritmo de Rete es ampliamente utilizado poner funcionalidad en ejecución que empareja dentro de los motores patrón-que emparejan que explotan fósforo-resolver-actúan ciclo para apoyar encadenamiento delantero y el inferencing.

Retes es gráficos acíclicos dirigidos eso representa sistemas de alto nivel de la regla. Se representan generalmente en el tiempo de pasada usando una red de los objetos de la en-memoria. Estas redes emparejan las condiciones de la regla (patrones) a los hechos (tuples emparentados de los datos). Las redes de Rete actúan como tipo de procesador QUERY emparentado, realizándose proyecciones, selecciones y ensambla condicional en números arbitrarios de datos tuples.

Producciones (reglas) se capturan y se definen típicamente cerca analistas y reveladores usar una cierta lengua de alto nivel de las reglas. Se recogen en los sistemas de la regla que entonces se traducen, a menudo en el tiempo de pasada, a un Rete ejecutable.

Cuando los hechos son `afirmado' a la memoria de trabajo, el motor crea elementos de trabajo de la memoria del `' (WMEs) para cada hecho. Los hechos son n-tuples, y puede por lo tanto contener un número arbitrario de los artículos de datos. Cada WME puede sostener un entero n-tuple, o, alternativomente, cada hecho se puede representar por un sistema de WMEs donde cada WME contiene un de longitud fija tuple. En este caso, tuples están típicamente los tríos (3 tuples).

Cada WME incorpora la red de Rete en un solo nodo de la raíz. El nodo de la raíz pasa cada WME encendido a sus nodos del niño, y cada WME se puede entonces propagar a través de la red, posiblemente siendo almacenado en memorias intermedias, hasta que llega un nodo terminal.

Red de la alfa

El `salió' lado (de la alfa) de las formas del gráfico del nodo de una red de la discriminación responsable de seleccionar WMEs individual basado en las pruebas condicionales simples que emparejan cualidades de WME contra valores constantes. Los nodos en la red de la discriminación pueden también realizar las pruebas que comparan dos o más cualidades del mismo WME. Si un WME se empareja con éxito contra las condiciones representadas por un nodo, se pasa al nodo siguiente. En la mayoría de los motores, los nodos inmediatos del niño del nodo de la raíz se utilizan para probar el identificador de la entidad o el tipo del hecho de cada WME. Por lo tanto, todo el WMEs que representa igual entidad tipo típicamente travesía un rama dado de nodos en la red de la discriminación.

Dentro de la red de la discriminación, cada rama de los nodos de la alfa (también llamados los nodos entrados 1) termina en una memoria, llamada memoria de una alfa del `'. Estas memorias almacenan las colecciones de WMEs que emparejan cada condición en cada nodo en un rama dado del nodo. WMEs que no puede emparejar por lo menos una condición en un rama no se materializa dentro de la memoria correspondiente de la alfa. Los ramas del nodo de la alfa pueden bifurcar para reducir al mínimo redundancia de la condición.

Una variación posible es introducir las memorias adicionales para cada nodo intermedio en la red de la discriminación. Esto aumenta los gastos indirectos del Rete, pero puede tener ventajas en las situaciones a donde las reglas se agregan dinámicamente o se quitan del Rete, haciéndolo más fácil variar la topografía de la red de la discriminación dinámicamente.

Una puesta en práctica alternativa se describe cerca Doorenbos. En este caso, la red de la discriminación es substituida por un sistema de memorias y índice. índice puede ser puesto en ejecución usando a tabla de hash. Cada memoria sostiene WMEs que empareja un solo patrón condicional, y índice es utilizado referirse a memorias por su patrón. Este acercamiento es solamente práctico cuando WMEs representa de longitud fija tuples, y la longitud de cada uno tuple es el cortocircuito (e.g., 3 tuples). Además, el acercamiento se aplica solamente a los patrones condicionales que se realizan igualdad pruebas contra constante valores. Cuando un WME entra en el Rete, índice se utiliza localizar un sistema de las memorias que patrón condicional empareja el WME cualidades, y el WME entonces se agrega directamente a cada uno de estas memorias. En sí mismo, esta puesta en práctica no contiene ningún 1 los nodos entrados. Sin embargo, para poner pruebas de la desigualdad en ejecución, el Rete puede contener las redes entradas adicionales de 1 nodo a través de las cuales WMEs se pasa antes de ser colocada en una memoria. Alternativomente, las pruebas de la desigualdad se pueden realizar en la red beta descrita más abajo.

Red beta

El lado (beta) de la derecha del `' del gráfico se realiza principalmente ensambla entre diverso WMEs. Es opcional, y se incluye solamente si procede. Consiste en 2 nodos entrados donde cada nodo tiene un `a la izquierda' y la entrada de una derecha del `'. Cada nodo beta envía su salida memoria beta del `a una'.

Símbolo de proceso de los nodos beta. Un símbolo es una unidad del almacenaje dentro de una memoria y también una unidad del intercambio entre las memorias y los nodos. En muchas puestas en práctica, el símbolo se introduce dentro de las memorias de la alfa donde se utilizan para sostener solo WMEs. Este símbolo entonces se pasa a la red beta.

Cada nodo beta realiza su trabajo y, consecuentemente, puede crear símbolo nuevo para llevar a cabo una lista de WMEs que representa un fósforo parcial. Éstos símbolo extendido entonces se almacenan en memorias beta, y se pasan a los nodos beta subsecuentes. En este caso, los nodos beta pasan típicamente listas de WMEs a través de la red beta copiando listas existentes de WME de cada símbolo recibido en símbolo nuevo y después agregando otro WMEs a las listas como resultado de a de ejecución ensamble o una cierta otra acción. El símbolo nuevo entonces se almacena en la memoria de la salida.

Una variación común es construir listas encadenadas del símbolo donde cada símbolo sostiene un solo WME. En este caso, las listas de WMEs para un fósforo parcial son representadas por lista encadenada del símbolo. Este acercamiento puede ser más óptimo porque elimina la necesidad de copiar listas de WMEs a partir de un símbolo a otro. En lugar, un nodo beta necesita crear solamente un símbolo nuevo para sostener un WME que desea ensamblar a la lista parcial del fósforo, y después liga el símbolo nuevo a un símbolo del padre almacenado en la memoria beta de la entrada. El símbolo nuevo ahora forma el jefe de la lista simbólica, y se almacena en la memoria beta de la salida.

En descripciones de Rete, es común referir al símbolo que pasa dentro de la red beta. En este artículo, sin embargo, describiremos la propagación de los datos en términos de listas de WME, más bien que símbolo, en el reconocimiento de diversas opciones de la puesta en práctica y el propósito y el uso subyacentes del símbolo. Como cualquier paso de una lista de WME a través de la red beta, WMEs nuevo se puede agregar a él, y la lista se puede almacenar en memorias beta. Una lista de WME en una memoria beta representa un fósforo parcial para las condiciones en dado producción.

Las listas de WME que alcanzan el extremo de un rama de nodos beta representan un fósforo completo para un solo producción, y se pasan a los nodos terminales. Estos nodos a veces se llaman los p-nodos del `', donde el `p' está parado para el `producción’. Cada nodo terminal representa un solo producción, y cada lista de WME que llega un nodo terminal representa un sistema completo de emparejar WMEs para las condiciones en eso producción. Para cada lista de WME recibe, un `de la voluntad del nodo de la producción activa' un nuevo producción caso en la agenda del `'. Las agendas se ponen en ejecución típicamente como coletas dadas la prioridad.

Los nodos beta se realizan típicamente ensamblan entre las listas de WME almacenadas en memorias beta y WMEs individual almacenado en memorias de la alfa. Cada nodo beta se asocia a dos memorias entradas. Una memoria de la alfa sostiene WMEs y realiza activaciones derechas del `' en el nodo beta cada vez que almacena un WME nuevo. Una memoria beta lleva a cabo listas de WME y realiza activaciones izquierdas del `' en el nodo beta cada vez que almacena una nueva lista de WME. Cuando derecho-se activa un nodo del unido, compara unas o más cualidades del WME nuevamente almacenado de su memoria de la alfa de la entrada contra cualidades dadas de WMEs específico en cada lista de WME contenida en la memoria beta de la entrada. Cuando izquierdo-se activa un nodo del unido atraviesa una sola lista nuevamente almacenada de WME en la memoria beta, recuperando valores específicos de la cualidad de WMEs dado. Compara estos valores con valores de la cualidad de cada WME en la memoria de la alfa.

Cada nodo beta hace salir las listas de WME que se almacenan en una memoria beta o se envían directamente a un nodo terminal. Las listas de WME se almacenan en memorias beta siempre que el motor realice activaciones izquierdas adicionales en nodos beta subsecuentes.

Lógicamente, un nodo beta en el jefe de un rama de nodos beta es un caso especial porque no toma ninguna entrada de ninguna memoria beta más arriba en la red. Diversos motores manejan esta edición de diversas maneras. El uso de algunos motores especializó nodos del adaptador para conectar memorias de la alfa con la entrada izquierda de nodos beta. Otros motores permiten que los nodos beta tomen la entrada directamente a partir de dos memorias de la alfa, tratando uno como `a la izquierda' entrado y el otro como entrada de derecha del `'. En ambos casos, los nodos beta principales del `' toman su entrada a partir de dos memorias de la alfa.

Para eliminar redundancias del nodo, cualquier una alfa o la memoria beta se puede utilizar para realizar activaciones en nodos beta múltiples. Así como ensamble los nodos, la red beta puede contener los tipos adicionales del nodo, algunos de los cuales son descritos más abajo. Si un Rete no contiene ninguna red beta, los nodos de la alfa alimentan el símbolo, cada uno que contiene un solo WME, directamente a los p-nodos. En este caso, no puede haber necesidad de almacenar WMEs en memorias de la alfa.

Resolución del conflicto

Durante fósforo-resolver-actúa el ciclo, el motor encontrará todos los fósforos posibles para los hechos afirmados actualmente a la memoria de trabajo. Una vez que se hayan encontrado todos los fósforos actuales, y los casos correspondientes de la producción se han activado en la agenda, el motor determina una orden en la cual los casos de la producción puedan ser `encendido'. Esto se llama resolución del conflicto del `', y la lista de los casos activados de la producción se llama el conflicto del `fijado'. La orden se puede basar en la prioridad de la regla (salience), la orden de la regla, el tiempo en la cual los hechos contuvieron en cada caso fueron afirmados a la memoria de trabajo, a la complejidad de cada producción o a algunos otros criterios. Muchos motores permiten que los reveladores de la regla seleccionen entre diversas estrategias de la resolución del conflicto o encadenen una selección de estrategias múltiples.

La resolución del conflicto no se define como parte del algoritmo de Rete, sino se utiliza junto al algoritmo. Algunos se especializaron sistemas de producción no realice la resolución del conflicto.

Ejecución de la producción

Realizando la resolución del conflicto, el `del motor ahora enciende' el primer caso de la producción, ejecutando una lista de las acciones asociadas a producción. Las acciones actúan en los datos representados por la lista de WME del caso de la producción.

Por defecto, el motor continuará encendiendo cada caso de la producción en orden hasta que se han encendido todos los casos de la producción. Cada caso de la producción encenderá solamente una vez, a lo más, durante fósforo-resolver-actúa ciclo. Esta característica se llama refracción del `'. Sin embargo, la secuencia de las leñas del caso de la producción se puede interrumpir en cualquier etapa realizando cambios a la memoria de trabajo. Gobierne las acciones puede contener instrucciones de afirmar o de contraer WMEs de la memoria de trabajo del `' del motor. Cada vez que cualquier solo caso de la producción realiza unos o más tales cambios, el motor entra en inmediatamente un nuevo fósforo-resolver-actúa ciclo. Esto incluye actualizaciones del `' a WMEs actualmente en la memoria de trabajo. Las actualizaciones son representadas contrayendo y después reafirmando el WME. El motor emprende emparejar de los datos cambiantes que, alternadamente, pueden dar lugar a cambios a la lista de los casos de la producción en la agenda. Por lo tanto, después de que las acciones para cualquier un caso específico de la producción se hayan ejecutado, los casos previamente activados se pudieron haber desactivado y haber quitado de la agenda, y los nuevos casos pudieron haber sido activados.

Como parte del nuevo fósforo-resolver-actúa el ciclo, el motor realiza la resolución del conflicto en la agenda y después ejecuta el primer caso actual. El motor continúa encendiendo casos de la producción, y entrar en nuevo fósforo-resolver-actúe los ciclos, hasta ningunos otros casos de la producción existen en la agenda. A este punto el motor de la regla se juzga para haber terminado su trabajo, y para.

La ayuda de algunos motores avanzó las estrategias de la refracción en las cuales ciertos casos de la producción se ejecutaron en un ciclo anterior no se ejecutan nuevamente en el nuevo ciclo, aun cuando ellos pueden inmóvil existir en la agenda.

Es posible que el motor entre en los lazos interminables en los cuales la agenda nunca alcanza el estado vacío. Por esta razón, verbos de la mayoría de motores de la ayuda del alto explícito del `los' que se pueden invocar de la acción de la producción enumeran. Pueden también proporcionar automático detección del lazo en qué lazos interminables se paran automáticamente después de un número dado de iteraciones. Algunos motores apoyan un modelo en el cual, en vez de parar cuando la agenda es vacía, el motor incorpore un estado de espera hasta que los nuevos hechos se afirman externamente.

En cuanto a la resolución del conflicto, la leña de los casos activados de la producción no es una característica del algoritmo de Rete. Sin embargo, es una característica central de los motores que utilizan las redes de Rete. Algunas de las optimizaciones ofrecieron por Rete que las redes son solamente útiles en los panoramas donde fósforo-resolver-actúa el motor realiza múltiple los ciclos.

Quantifications existencial y universal

Las pruebas condicionales son las más de uso general realizarse selecciones y ensambla en individuo tuples. Sin embargo, poniendo en ejecución el nodo beta adicional mecanografía, él es posible para que las redes de Rete se realicen quantifications. Cuantificación existencial implica el probar para la existencia por lo menos de un sistema de emparejar WMEs en memoria de trabajo. Cuantificación universal implica el probar que un sistema entero de WMEs en memoria de trabajo resuelve una condición dada. Una variación de cuantificación universal pudo probar que un número dado de WMEs, dibujado de un sistema de WMEs, resuelve criterios dados. Esto pudo estar en términos de prueba para un número exacto o un número mínimo de fósforos.

Cuantificación no se pone en ejecución universal en los motores de Rete, y, donde se apoya, varias variaciones existen. Una variante de cuantificación existencial referido como la negación del `' está extensamente, aunque no no universal, apoyado, y se describe en documentos seminales. Condiciones existencialmente negadas y conjunciones implique el uso de los nodos beta especializados que prueban para el non-existence de emparejar WMEs o sistemas de WMEs. Estos nodos propagan listas de WME solamente cuando no se encuentra ningún fósforo. La puesta en práctica exacta de la negación varía. En un acercamiento, el nodo mantiene una cuenta simple en cada lista de WME que recibe de su entrada izquierda. La cuenta especifica el número de los fósforos encontrados con WMEs recibido de la entrada derecha. El nodo propaga solamente las listas de WME que cuenta es cero. En otro acercamiento, el nodo mantiene una memoria adicional en cada lista de WME recibida de la entrada izquierda. Estas memorias son una forma de memoria beta, y almacenan las listas de WME para cada fósforo con WMEs recibido en la entrada derecha. Si una lista de WME no tiene cualquier WME enumera en su memoria, él se propaga abajo de la red. En este acercamiento, los nodos de la negación activan generalmente otros nodos beta directamente, más bien que almacenando su salida en una memoria beta adicional. Los nodos de la negación proporcionan una forma de 'negación como falta'.

Cuando los cambios se realizan a la memoria de trabajo, una lista de WME que no emparejó previamente ningún WMEs puede ahora emparejar WMEs nuevamente afirmado. En este caso, la lista propagada de WME y todas sus copias extendidas necesitan ser contraídas de memorias beta más lejos abajo de la red. El segundo acercamiento descrito arriba es de uso frecuente apoyar los mecanismos eficientes para el retiro de las listas de WME. Cuando se quitan las listas de WME, cualquier caso correspondiente de la producción se desactiva y se quita de la agenda.

Cuantificación existencial puede ser realizado combinando dos nodos beta de la negación. Esto representa la semántica de negación doble (e.g., `si no NO ningún WMEs que empareja, entonces…'). Esto es un acercamiento común tomado por varios sistemas de producción.

Indexación de direcciones de la memoria

El algoritmo de Rete no asigna ningún acercamiento por mandato específico a poner en un índice la memoria de trabajo. Sin embargo, la mayoría de los sistemas de producción modernos proporcionan indexación de direcciones mecanismos. En algunos casos, solamente se ponen en un índice las memorias beta, mientras que en otros, el poner en un índice se utiliza para la alfa y las memorias beta. Una buena estrategia de la indexación de direcciones es un factor importante en decidir al funcionamiento total de a sistema de producción, especialmente cuando ejecutar regla fija ese resultado en altamente combinatorio concordancia con el modelo (es decir, el uso intensivo de beta ensambla nodos), o, para algunos motores, al ejecutar los sistemas de las reglas que realizan un número significativo de las contracciones de WME durante múltiple fósforo-resolver-actúe los ciclos. Las memorias se ponen en ejecución a menudo usando combinaciones de tablas de hash, y los valores del picadillo se utilizan para realizar condicional ensambla en subconjuntos de las listas y de WMEs de WME, más bien que en el contenido entero de memorias. Esto, alternadamente, reduce a menudo perceptiblemente el número de las evaluaciones realizadas por la red de Rete.

Retiro de las listas de WMEs y de WME

Cuando un WME está contraído de memoria de trabajo, debe ser quitado de cada memoria de la alfa en la cual se almacene. Además, las listas de WME que contienen el WME se deben quitar de memorias beta, y de casos activados de la producción para estas listas de WME se deben desactivar y quitar de la agenda. Varias variaciones de la puesta en práctica existen, incluyendo retiro árbol-basado y rematch-basado. La indexación de direcciones de la memoria se puede utilizar en algunos casos para optimizar retiro.

Dirección O' condiciones ed

Al definir producciones en un sistema de la regla, es común permitir que las condiciones sean agrupadas usando un `O' conectivo. En muchos sistemas de producción, esto es dirigida interpretando un solo producción conteniendo múltiplo O' patrones ed como el equivalente del múltiplo producciones. La red de Rete que resulta contiene los sistemas de los nodos terminales que, junto, representan solo producciones. Este acercamiento rechaza cualquier forma de cortocircuitos de O de' condiciones ed. Puede también, en algunos casos, conducir para duplicar los casos de la producción que son activados en la agenda donde el mismo sistema de producciones internas múltiples del fósforo de WMEs. Algunos motores proporcionan la de-duplicación de la agenda para manejar esta edición.

Diagrama

El diagrama siguiente ilustra la topografía básica de Rete, y demuestra las asociaciones entre los diversos tipos del nodo y memorias.

Ilustra el Rete básico.
  • La mayoría de las puestas en práctica utilizan el tipo nodos para realizar el primer nivel de la selección en elementos de trabajo de la memoria del n-tuple. El tipo nodos se puede considerar como nodos selectos especializados. Discriminan entre diversos tipos de la relación del tuple.
  • El diagrama no ilustra el uso de los tipos especializados de los nodos tales como nodos negados de la conjunción. Algunos motores ponen varias diversas especializaciones del nodo en ejecución para ampliar funcionalidad y maximizar la optimización.
  • El diagrama proporciona una vista lógica del Rete. Las puestas en práctica pueden diferenciar en detalle físico. Particularmente, el diagrama demuestra a `las' entradas simuladas que proporcionan activaciones derechas en el jefe de los ramas beta del nodo. Los motores pueden poner otros acercamientos en ejecución, tales como adaptadores que permitan que las memorias de la alfa realicen activaciones derechas directamente.
  • El diagrama no ilustra todas las posibilidades nodo-que comparten.

Para una descripción más detallada y más completa del algoritmo de Rete, vea el capítulo 2 de la producción el emparejar para los sistemas que aprenden grandes de Roberto Doorenbos (véase el acoplamiento abajo).

Consideraciones misceláneas

Aunque no son definidos por el algoritmo de Rete, algunos motores proporcionan funcionalidad extendida para apoyar mayor control de mantenimiento de verdad. Por ejemplo, cuando un fósforo se encuentra para uno producción, esto puede dar lugar a la aserción de WMEs nuevo que, alternadamente, emparejan las condiciones para otra producción. Si un cambio subsecuente a la memoria de trabajo hace el primer fósforo llegar a ser inválido, puede ser que éste implique que el segundo fósforo es también invalid. El Rete algoritmo no define ningún mecanismo para definir y para manejar estas dependencias lógicas de la verdad automáticamente. Algunos motores, sin embargo, apoyan la funcionalidad adicional en la cual las dependencias de la verdad pueden ser mantenidas automáticamente. En este caso, la contracción de un WME puede conducir a la contracción automática de WMEs adicional para mantener aserciones lógicas de la verdad.

El Rete algoritmo no define ningún acercamiento a la justificación. La justificación refiere a los mecanismos requeridos comúnmente adentro experto y los sistemas de la decisión en los cuales, en su más simple, el sistema divulga cada uno de las decisiones internas alcanzaban una cierta conclusión final. Por ejemplo, sistema experto pudo justificar una conclusión que un animal es un elefante divulgando que es grande, gris, tiene oídos grandes, un tronco y colmillos. Algunos motores proporcionan sistemas incorporados de la justificación conjuntamente con su puesta en práctica del Rete algoritmo.

Este artículo no proporciona una descripción exhaustiva de cada variación posible o la extensión del algoritmo de Rete. Otras consideraciones e innovaciones existen. Por ejemplo, los motores pueden proporcionar la ayuda especializada dentro de la red de Rete para aplicarse el patrón-emparejar regla proceso al específico tipos de datos y fuentes por ejemplo objetos programáticos, XML datos o tablas emparentadas de los datos. Otro ejemplo se refiere a las instalaciones tiempo-que estampan adicionales proporcionadas por muchos motores para cada WME que incorpora una red de Rete, y al uso estos time-stamps conjuntamente con estrategias de la resolución del conflicto. Los motores exhiben la variación significativa de la manera que permiten el acceso programático al motor y a su memoria de trabajo, y pueden extender el modelo básico de Rete a las formas de la ayuda de paralelo y distribuidas - procesando.

Optimización y funcionamiento

Varias optimizaciones para Rete se han identificado y se han descrito en literatura académica. Varios de éstos, sin embargo, se aplican solamente en panoramas muy específicos, y por lo tanto tienen a menudo poco o nada de uso en un motor de uso general de las reglas. Además, alternativa algoritmos por ejemplo el CONVITE y los SALTOS se han formulado que pueden proporcionar mejoras adicionales del funcionamiento. Hay actualmente muy poco anuncio o abre ejemplos de la fuente de sistemas de producciones esa ayuda esta alternativa algoritmos.

El Rete algoritmo se orienta a los panoramas donde encadenamiento delantero y `el inferencing' se utiliza calcular nuevos hechos de hechos existentes, o filtrar y desechar hechos para llegar una cierta conclusión. También se explota como mecanismo razonablemente eficiente para realizar evaluaciones altamente combinatorias de los hechos donde una gran cantidad ensambla debe ser realizado entre el hecho tuples. Otros acercamientos a realizar la evaluación de la regla, tal como el uso de árboles de la decisión, o la puesta en práctica de motores secuenciales, puede ser más apropiada para los panoramas simples, y se debe considerar como alternativas posibles.

Rete II

En los años 80 Charles L. Forgy desarrolló un sucesor al algoritmo de Rete nombrado Rete II [1]. Desemejante del Rete original (que es public domain) este algoritmo no fue divulgado. Rete II demanda un funcionamiento mejor para problemas más complejos (incluso órdenes de la magnitud), y se pone en ejecución oficialmente en CLIPS/R2.

Rete II se puede caracterizar por dos áreas de la mejora; optimizaciones específicas referentes al funcionamiento general de la red de Rete (uso incluyendo de memorias hashed para aumentar funcionamiento con sistemas más grandes de datos), y la inclusión de a encadenamiento de posterior el algoritmo se adaptó al funcionamiento encima de la red de Rete. La poder sola del encadenamiento de posterior explica los cambios más extremos de pruebas patrones referente a Rete contra Rete II.

Jess (por lo menos versiones 5.0 y más adelante) también agrega un algoritmo del encadenamiento de posterior encima de la red de Rete, pero no puede ser dicho para poner completamente Rete en ejecución II, en la parte debido al hecho de que no hay especificación completa público disponible.

Referencias

  • Charles Forgy, “una rutina del fósforo de la red para los sistemas de producción.” Papel de funcionamiento, 1974.
  • Charles Forgy, “en la puesta en práctica eficiente de los sistemas de producción.” Ph.D. Tesis, Carnegie-Mellon University, 1979.
  • Charles Forgy, “Rete: Un algoritmo rápido para el muchos modela/muchos problema del fósforo del patrón del objeto ", Inteligencia artificial, 19, pp 17-37, 1982

Vea también

Acoplamientos externos

The original article is from Wikipedia. To view the original article please click here.
Creative Commons Licence