A method to detect where a sequence of events are different. Possibly an effective way to be alerted to and focus on individual actions among complex asynchronous actions by a system.
Check Hashes of Chains Check Hashes of Parameter Sets Adjust actions
Hash certain parameters that are categorized and place in a chain of events.
Compare the chains to a sequence of events that was determined to work before. If a robot is learning something the very first chain should not need to be compared to anything.
Determine whether to lock that chain at certain combinations of parameters in a sequence of events.
Sequence of events that is determined to work well:
- Run toward block at 5mph which fits in category 2(3mph to 9mph)
- Jump block is set to True and Go around block is set to False
Sequence of events that is decided on but ends up failing(or succeeding better):
- Run toward block at 8mph which fits in same category as before but
- Jump block is set to False and Go around block is set to True
ToSHA256(2)
ToSHA256(True, False)
LinkHashes()
ToSHA256(2)
ToSHA256(False, True)
LinkHashes()
CompareHashes() //returns that the second block in the sequence is the difference
Parameter types could include
- Action
- Condition
- Result of Action
The border lines between success and failure during random attempts determine categories when there are no boundaries for categories determined before training begins.
A range of categories could be set for each action, condition, or result.
The use of chains is to detect which sequence seems to cause the most problems over time. The hashes along with the chains allow significant and useful data to be compressed in to a hash. The chains will disallow the removal of any value.
A program only has to check the similitary of chains by looking at the overall hash before looking deeper into each block of a chain and into subhashes and values.
Category labels will generalize an excess of information that leads up to a success or failure.