aimacode / aima-java

Java implementation of algorithms from Russell And Norvig's "Artificial Intelligence - A Modern Approach"
MIT License
1.54k stars 790 forks source link

AIMA4e reimplement Chp 15 Dynamic Bayesian Network from AIMA3e branch #185

Open ctjoreilly opened 8 years ago

Manthan-R-Sheth commented 7 years ago

May I start working on this issue? @ctjoreilly

ctjoreilly commented 7 years ago

For now, I would not recommend tackling this as I'd really like to get the basic probability logic in place in the AIMA4e branch first, which I don't want to be a direct copy of the AIMA3e version as I'd like to improve upon it first.

Would you be able to loop back to the BidirectionalSearch and look at updating the API to support something like this:

interface BidirectionalActions {

  List<A> fromInitialStatePart()
  List<A> fromGoalStatePart()
  List<A> fromInitialStateToGoalState(); // What I was indicating above I was expecting as  a result
  List<A> fromGoalStateToInitialState(); // essential the reverse of the previous method.

}

as the return from SearchForActionsBidirectionallyFunction and update the tests accordingly. That would, in my mind, stabilize the API and let @globalworming move forward with his alternative implementation approaches.

Manthan-R-Sheth commented 7 years ago

@ctjoreilly
Ya i get your point. I will come up with a way for such an implementation to BidirectionalSearch.

Manthan-R-Sheth commented 7 years ago

@ctjoreilly It would be really helpful if you could make an issue for the same, so that we can have a medium for discussions. Thanks.

ctjoreilly commented 7 years ago

See: https://github.com/aimacode/aima-java/issues/264