Hacker News new | ask | show | jobs
by muydeemer 2607 days ago
Backward chaining is goal-driven, it's aimed at answering specific questions where you can prune your search space effectively. This is opposed to data-driven forward chaining where you basically keep looking at what things can be derived without having specific queries in mind. I wouldn't say one is better than the other, it depends on circumstances and use cases. In dynamic systems where there is a lot of data changes/data is fed in dynamically, backward chaining gives you a completeness guarantee whereas FC is eventually consistent (specific answer you are looking for might be not triggered yet). On the other hand, FC is useful when we want to use triggering behaviours - once a specific information is added to the system, a trigger can be executed/specific action can be taken.