Sorry for repeating myself (comment lost in this huge thread), but I think it's the definition of intelligence we should look for first. Once we have a clear and unambiguous definition of intelligence, only and only after that we may be able to think about implementation. And I'm sure implementation would be straightforward once we know what we are trying to achieve.
It's actually amazing if not ridiculous that researchers always start from the other end of a cigar: they raise ideas, one after another, but they don't even try to explain what problem exactly they are solving.
If we all took that attitude, we'd never get anything done.
The process of discovery is hands-on, learning by doing. You don't know all the rules at the outset, or all the definitions, or even know what you don't know. You find out as you go along. Thus it has been for every great invention from sex to agriculture to post-it notes to landing a man on the Moon and back to on-demand porn.
The real requirement is that we have some way to test it; that we can do, e.g. by conversation. To cop an example from quantum mechanics (which I know nothing about), we don't have to understand why it is like that in order to make predictions with it.
We don't need a clear and unambiguous definition of intelligence in order to tell that other human beings are intelligent. Likewise, we don't need one in order to start trying to create an artifice that impresses us into thinking it also is intelligent.
We don't need a clear and unambiguous definition of intelligence in order to tell that other human beings are intelligent.
The problem here is that not every human being is intelligent and yes, we are actually trying to define intelligence through IQ tests, for example.
Likewise, we don't need one in order to start trying to create an artifice that impresses us into thinking it also is intelligent.
So when you need accounting software you say: "write me something that will be as clever as my accountant". Is that the way you formulate tasks for software engineers?
> we are actually trying to define intelligence through IQ tests, for example
Fail. IQ tests only measure how well you do on IQ tests.
> The problem here is that not every human being is intelligent
Unless they're in a vegetative state, they are more intelligent than any artificial system, so far.
> Is that the way you formulate tasks for software engineers?
The only way to make a specification so precise that it does exactly what you want is to implement it, and then the code itself becomes the specification.
So, what you mean by saying something is more intelligent than something else? What criteria are you using to evaluate that?
And yes, it's the way programming works - when you know what you are trying to achieve. Software is about input and output and unless they are deterministic, you can't write code.
It simply does not exist yet. There were no good airplanes before Orville and Wilbur showed up on the scene. I hope there will be some breakthroughs soon, but scientific discoveries can't be planned/scheduled, so who knows how long it'll be...
SHRDLU is nothing more than a really well-done ELIZA for a really small domain.
It's actually amazing if not ridiculous that researchers always start from the other end of a cigar: they raise ideas, one after another, but they don't even try to explain what problem exactly they are solving.