Pychinko: Rete-based CWM Clone

(Yet another forward chainer)

Bijan Parsia, Yarden Katz, Kendall Clark

    MINDSWAP
    University of Maryland, College Park

FOAF Camp, Enschede, Holland, Aug 19 - Aug 20, 2004



Motivation


Our solution


How the Rete works

Example Rete network:

The Amazing Rete


Benchmarks

(generated this morning!)

Data Set 1
1-pattern rules (matching all triples (?s ?p ?o)), initial fact base: 700 facts, 700 inferences
Pychinko time:  6.2 sec (take that, CLIPS!)
CWM time: 1 min, 54 sec
For bigger set (2000 facts)...

Pychinko time: 21.35 sec
CWM time: 11 min, 34.4 sec

Data Set 2
Rules that reuse the same variables on left sides, initial fact base: 2000
639  inferred facts
Pychinko time: 18.9 sec
CWM time: 1 min, 24.2 sec

Data Set 3
Enzymes data (8k) file, RDFS inference rules
Pychinko time: 172 sec
CWM time: I don't know, it's still running!

Other data sets (bio-related) have shown results of 16 sec versus ~8 hrs..

This is our worst-case (very little recursive applications, only a handful of rules) but CWM's average-best case.



Problems



What do we have?


For the Brave FOAFers..



Future work



Further reading

Forgy, C.L.: Rete: A Fast Algorithm for the Many Pattern/Many Object
Pattern Match Problem
Artificial Intelligence, 19(1982) 17-37