MYCIN diagnoses infectious blood diseases using a backward-chained (exhaustive) control strategy.
The algorithm, ignoring certainty factors, is basically backchaining:
Given:
For each g &isin Goal-list do
If prove(g, DB, Rules) then Print (``Diagnosis:'', g)
Function prove (goal, DB, Rules)
If goal &isin DB then return True
elseif &exist r &isin Rules such that rRHS contains goal
then return provelist(LHS, DB, Rules)[provelist
calls prove with each condition of LHS]
else Ask user about goal and return answer
Contents    Page-10    Prev    Next    Page+10    Index