I tested MergeWith as well as Override-Pattern, it works really decent and it already made a huge progress towards what I want to create, thank you a lot! I have a few remaining issues though
I tested MergeWith() and it currently works like this (with override-pattern):
1. Bot learns that XXX = YYY
^ XXX = YYY
2. Bot learns that XXX = ZZZ
^ XXX = ZZZ
This is because XXX = ZZZ is on the bottom, together with Override-Pattern this perfectly solves my "last declaration counts" and works right away after learning, as well as when bot reloads its brain from previously saved faile.
Things get a bit more difficult when there is more than one concept declared with same pattern.
1. Bot learns in concept 1 that XXX = YYY
^ XXX = YYY (concept 1 only)
2. Bot learns in concept 2 that XXX = ZZZ
^ XXX = ZZZ (concept 1 above, concept 2 below)
3. Bot learns in concept 1 that XXX = AAA
^ XXX = ZZZ (because concept 1 is still above, and concept 2 overrides it)
Is it possible to enhance MergeWith so it takes into account concept that is being merged and ensure that source concept will always stay on the bottom? Same like when bot learns totally new concept?
Also I gave your work-in-progress SimlOptimizer a try, and I already noticed that it removes default concept properties, that's really nice!
I have a request though, when you add duplicate models removal, would it be possible to make SimlOptimizer take in account Override-Pattern, or let us specify whether we want to take into account first one or last one as dupe? I'll explain: like in example above, I want to get most recent answer - this is what Override-Pattern does. But then I also want to optimize old now outdated model away, so I need (in the future), a way to tell SimlOptimizer that it should work like Override-Pattern and consider last model as the one that counts, and not first one.
But despite of that, I'm already super happy with available solutions, because as long as I don't declare the same pattern across 2 different learning concepts, everything works right away (with a bit messy file).
Thank you a lot for continuous support!