Algoritmo rete
Da Wikipedia, l'enciclopedia libera.
L'Algoritmo rete è un efficiente algoritmo di pattern matching per l'implementazione di sistemi di produzione a regole. L'Algoritmo Rete è stato creato dal Dr. Charles Forgy della Carnegie Mellon University, la prima pubblicazione dell'algoritmo risale al 1974 e dopo rielaborato nel 1979 per la sua tesi di dottorato. L'algoritmo Rete è alla base di alcuni tra i più popolari sistemi esperti come ad esempio:
- Blaze Advisor
- JRules
- OPS5
- CLIPS
- Jess
- LISA
Un'implementazione 'naïve' di un sistema esperto dovrebbe verificare ogni regola rispetto ai fatti conosciuti presenti nella base di conoscenza attivando la regola necessaria e poi passando a controllare le altre regole applicabili. Questo approccio 'naïve' anche per piccoli sistemi con un numero prefissato di regole e fatti, si rivela molto inefficiente.
L'algoritmo Rete fornisce una efficiente base per l'implementazione di un sistema esperto. Un sistema esperto rete-based costruisce un network di nodi, dove ogni nodo (ad eccezione del nodo radice) corrisponde ad un pattern presente nella parte sinistra di una regola. Il cammino che collega il nodo radice al nodo foglia definisce una completa parte sinistra di una regola. Ogni nodo ha una memoria di fatti che soddisfano quel pattern. Questa struttura è genericamente riconducibile ad un Trie
[modifica] Curiosità
Il nome dell'algoritmo è "rete", anche in inglese: l'inventore ha voluto usare la parola latina. In inglese viene pronunciata 'Reet', 'Ree-tee' o, in Europa, 're-tay'.