Advertisement
Guest User

Untitled

a guest
Oct 19th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.08 KB | None | 0 0
  1. rem = fact
  2.  
  3. This
  4. self.facts.remove(fact)
  5.  
  6.  
  7. Left
  8.  
  9. for f in self.facts: # for each fact
  10. if fact in f.supports_facts: # if this fact supports retracted fact
  11. f.supports_facts.remove(fact) # remove retracted from supported list for that fact
  12.  
  13. for r in self.rules:
  14. if fact in r.supports_facts:
  15. r.supports_facts.remove(fact)
  16.  
  17. Right
  18. for f in self.facts:
  19. print(len(f.supported_by))
  20. for fr in f.supported_by: # for fr pair
  21. if fact in fr: # if that fr pair contains this fact
  22. f.remove(fr) # rm that pair
  23. if f.supported_by == []: # if afterwards there is no more support
  24. self.kb_retract(f) # retract that fact
  25.  
  26. for r in self.rules:
  27. if r.asserted: continue
  28. for fr in r.supported_by:
  29. if fact in fr:
  30. r.remove(fr)
  31. if r.supported_by == []:
  32. self.rules.remove(r)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement