So machine learning allows a system to be self-automated in the sense that it can predict the future state based on what it has learned so far. My question is: Are machine learning techniques the only way of making a system develop its domain knowledge?
Well, we are talking about a system (a machine) which develops knowledge (learns), so it is kind of difficult for such a technique to not fall within machine learning.
But you could argue that inference engines which work on a graph based knowledge database to derive new propositions or probabilities are not part of machine learning. Of course in that case part of the knowledge is not acquired at all, but rather entered by the developers.
I'm still reading up on this, but my impression is that these knowledge databases and inference engines became rather popular in the nineties and many AGI-researchers today still work in that direction.
That depends on how broadly you define "machine learning techniques". You could construct a definition so that, by definition, all learning falls under that rubric. OTOH, there is such a broad array of machine learning techniques that doing so wouldn't not gain one much.
It probably makes more sense to talk about the different kinds of learning we use within machine learning / artificial intelligence. At a minimum, you have:
- supervised learning
- unsupervised learning
- semi-supervised learning
- competitive learning
And then things like "reinforcement learning" which may subcategorize the above. Most of those things fall into what people generally call "machine learning".
Outside of that, you have things like rule induction algorithms, deductive logic techniques like inductive logic programming which can sorta-kinda "learn", inference engines, automated reasoning, etc. which have their own ways of "learning" about the world, but are separate from what's usually labeled "machine learning".
But even with that in mind, one can rightly ask if there's really a dividing line there or not. Indeed, there seems to be reason to think that future AI systems may use a hybrid approach which combines many different techniques without regard for whether or not they are labeled "machine learning" or "GOFAI" or "other".