User loginNavigation 
Aggregations (e.g., sets) in Logic ProgramsProlog and its derivatives have lacked adequate ways to compute with aggregations, e.g., sets. For example, suppose there is a groundcomplete predicate Link[aNode, anotherNode, aCost] When ⊩ Path[aNode, aNode, aCost]→ // when a goal is set for a cost between aNode and itself ⊢ aCost=0▮ // assert that the cost from a node to itself is 0 The following goaldriven Logic Program works forward from start to find the cost to finish: When ⊩ Path[start, finish, aCost]→ ⊢ aCost=Minimum {nextCost + remainingCost  ⊨ Link[start, next≠start, nextCost], Path[next, finish, remainingCost]}▮ // a cost from start to finish is the minimum of the set of the sum of the // cost for the next node after start and // the cost from that node to finish The following goaldriven Logic Program works backward from finish to find the cost from start: When ⊩ Path[start, finish, aCost]→ ⊢ aCost=Minimum {remainingCost + previousCost ⊨ Link[previous≠finish, finish, previousCost], Path[start, previous, remainingCost]}▮ // the cost from start to finish is the minimum of the set of the sum of the // cost for the previous node before finish and // the cost from start to that Node Note that the above Logic Programs work together concurrently providing information to each other. For more information see Inconsistency Robustness for Logic Programs By Hewitt at 20150728 19:04  LtU Forum  previous forum topic  next forum topic  other blogs  6429 reads

Browse archivesActive forum topics
New forum topics

Recent comments
9 hours 16 sec ago
9 hours 11 min ago
1 day 14 hours ago
6 days 21 hours ago
1 week 1 day ago
2 weeks 5 days ago
3 weeks 4 days ago
4 weeks 4 days ago
6 weeks 2 days ago
6 weeks 5 days ago