Free Open Source Artificial Intelligence C++ Parts
aiParts Open Source Project
Releases and Credits
v0.9.3 README File
assigning people and/or equipment to projects
History of the AI
View Source Files
and how they are organized
Support and Services
Future Development NotesMake the A-to-B sample program problem bigger and harder.
Developing new AI techniques (alternatives to the High-Hope technique)
Developing abstraction-layers for an AI technique (just as the classes in aipReqRes.h/cpp specialize the High-Hope technique for Requirement-Resource problems)
Recognize and support 'trivial' decisions to provide for: - better performance - selecting a decision and choosing an option for a resource (rather than for a requirement) and the decision can be (set to be) trivial so the pre-chosen will be chosen.
aipTime.h/cpp: add seconds to class aipTimeOfDay
There is much that can be done to improve the High-Hope AI: - improve the choice of which decision to decide next - improve the behavior in the exploring stage - maybe add an initial feeling-out stage - improve the refining stage - analyze the output for sequences and cycles - improve how the AI gets out of ruts - further improvement of the way hope works - and many other ways of refining the AI
Handling Failure Maybe: If a try fails, decisions and options later in the solution get more fear than those earlier in the solution.
Good But Different Recognize when a good result is significantly different from other good results found.
Handling Good Improvements After a recent try that was a good-improvement, increase the curiosity of acceptable-looking options that look like they would have a significant effect on the solution. A "good-improvement" is a try that is better than the current best-so-far try or acceptably good and significantly different than the best-so-far try.
Problem-Hope The problem itself could have a hope which affects how option hopes are determined. The idea is that if problem-curiosity is high, the aspects that control curiosity in options would be given more weight. The same principle would apply to fear and greed. This would allow for higher curiosity (and more exploration) early in the problem-solving, and lower curiosity (and more optimization) later in the problem-solving.
Finding Best Path When on New Path If following a new path and come to the best-so-far path, keep following the bsf path. This could be done with problem-hope; when a node in the bsf solution is chosen, drop problem-curiosity to (near) aipNeurtal.
Implement Ways A 'way' is a set of options chosen for a set of decisions. Maybe, in a try, force some ways while exploring other ways. Ways are a very rich abstraction - they can make it possible to work on parts of a problem while keeping other parts constant. Ways may be the key to recognizing similar solutions.