Just brainstorming a little bit here...
So, we have a unit description mechanism. But how to pair its structure with certain input, as input should build an unit representation? We would have two distinct representations, one for description language (input) and one for imagined units in the Universe (knowledge from input).
User writes input, the algorithm builds a unit representation and finds out how to improve current situation. I guess that basic Logic should be tightly integrated to the mechanism. Like in sentence :
If Ann is less than 6 years old she should go to kindergarten, but if she is more than 6, she should go to school.
This unit representation would be:
Child (
Name {@String} ["Ann"],
Age {@Int},
GoingTo {
Kindergarten |
School
}
[
@Age < 6 => @KinderGarten;
@Age >= 6 => @School
]
)
So we would have if-then, and, or and not hard-coded in instinct and learn somehow their representation in language we are using to communicate with machine. Algorithm could guess what certain words mean, check it out by further observation or by asking questions and according to all past guesses build a unit representation that can be further analyzed for improvements.
So far, so good, knowledge is based on statistical analyzing of input, it starts from knowing instinct and pairs instinct notions with certain input particles and builds units in knowledge.
But, input particles are tricky to recognize from zero knowledge about them. At least we know that all different languages have similar particles like subject, object and predicate. So again, we can pair subject-object-predicate with certain input particles based on statistical analysis and questioning teacher.
At the end we would have
1. knowledge about languages (subject-object-predicate)
2. knowledge about language->unit representation (if-then, and, or, not)
I don't like that subject-object-predicate distinction. We can represent all of them by predicates with zero, one, two or more parameters. Subject would be a predicate with zero parameters.
And what if we have just basic notions of our unit storing mechanism in instinct (sets, variables, sequences, choices, booleans and reactive values - see Synth specification overview (
http://aidreams.co.uk/forum/index.php?topic=6549.0)). Then we should pair these notions with whatever input we get. I like this idea more than previous ones. The problem is now reduced to statistical analyzing of input stream and checking conclusions either by observing, either by asking right questions. We have to check every combination of different input interpretation and remember those that gave positive results in recognizing.
I think some progress is made with this post, thank you guys