Yep! - this is my gripe - the vast over-use of the term 'AI'. Real 'AI' is a rare thing indeed, the rest is some sort of machine learning, at best. And machine learning often just means keeping previous data from 'outcomes' and therefore searching more data next time.
Getting a machine to write an algorithm and then update and improve it as time goes by, is a whole different ballgame.
One area in which I would like to see some machine learning is for my spellchecker to learn as I go, and notice the words/vocabulary I use and then offer me different (and more intelligent) choices as time goes by - the dumbness of any spell checker I use in the .NET / Windows platform annoys me intensely ;-0)
If birds and come after Concorde then they would be flying faster - or have I misunderstood your analogy ?
Faster Birds is a next step, yes. But my real point is that (forgetting about some weird physical Bird-like structure built around Concorde) it is impossible to produce a real bird, or devise a way of doing such a thing.
That says to me that what you refer to as "Real AI" is not just rare, it is impossible to achieve.
Machine Learning, too, is nonsense, although I can just about accept its use. But "Learning" is something a machine just cannot do.
Following very complicated algorithms, provided you can think of them in the first place, say your desired spell-checker, are things a computer can do very well and at high speed.
while usually i'm all with you, i found an article in the latest c't journal about AlphaZero rather disconcerting - a programm without cleverly written alghorythm (talk about spellcheckers <g>), which "learns" by teaching itself.
Basically intelligence is something that belongs in the animal kingdom. It is a function of the brain which allows us to think of things in an unlimited number of ways and quickly "see things" clearly. Things which would otherwise be so complex that even the most intelligent person on earth would not see them (ever).
Look at it this way: our brains and their functioning are integral to each and everyone of us as individuals. They enable us to function in the real world. They enable us to "look" forward and predict things.
Look at the exchanges here to see what I mean. My original "Birds" story was extended by Phil to the idea of a "fast" bird. Absolutely a logical extension. But when I wrote it I was thinking of the impossibility of it all, bypassing any thought of "fast birds". No doubt "impossibility" also crossed Phil's mind.
Many, many routes to the same conclusion.
And, of course, on the downside, potential routes to misunderstanding.
Computer logic has no room for misunderstanding, so some how we have to transform the ease of "conceptual" understanding to certainty if we are to "computerise" thinking into algorithms. Algorithms may be extremely complex, but they understand nothing.
Perhaps we should avoid using the word "Intelligence". Instead we have already since over 20 years many machines that "learn" and adapt themselves and in the future we will have many more.
The best example is the motor electronic of fuel motors of cars. In contrast to old motors with working points defined by simple controllers or screws adjusted by repair mans the modern motors learn to run in optimized work points that always are reoptimized - this works so good that we do not even notice this or worry about. The times where we needed a choke to regulate work points for a cold machine have finished and nobody worried if the car would learn starting the motor.
"Do your machines learn?"
Why not: Learning means analyzing information received in the near past and then changing (adapting) decision making instead of using fix rule based decisions. The new decisions will generate new data. Together with new information arriving from external this gives input to a new loop of adapting the decision making. In this sense living beings or machines can adapt a new behavior in a certain range of possible behaviors. And this can be called "learning".
I've just looked at the topic title - Playing Chess.
Whist I can't give you a complete algorithm to do it, if you do not start off on the right basis you'll never achieve you goal. It serves as a good example of transferring thought to an unambiguous algorithm. And illustrates the likely complexity of that algorithm.
If you approach the task from the point of view of playing a game of chess as humans do you are on a geometrical progression leading to an infinite range of outcomes. Ugh!
However if you approach it from the point of view of outcome and work backwards you are on a converging sequence which ends in zero. By this I mean zero displacement of the chessmen from their initial places on the board.
You know the losing King will be on the board at the end. Put it on each of the 64 squares in turn working out for each opponent piece how it could be positioned to "take" the King.
You can see how this would become complex pretty quickly. But it is a logical converging progression. (I'll leave you to think it through).
The point is it is a converging progression. It is just the same principle as is used by visual studio when it shows which functions can instantiate a type. Look at the result and work back to the beginning!
I'll take another look, but my guess is that the human intelligence of the programmer "told" the program the rules. If that were not the case you'd have programs manifesting themselves out of nowhere and we'd all be redundant.
You posed the question "What does real intelligence do differently"
I'd say it was the difference between a guess and certainty.
I look at it like this:
When developing software, except for the most trivial program, I tend to "guess" a way of coding things, a fairly educated guess maybe, but still a guess. I try it, horror - it fails, so I try it again until I get it right.
Now the future is always unpredictable, the past is certain. When I get the program right and it does what I want, all the development machinations have moved relatively into the past. Correct logic is now embedded in the program.
From a users point of view, the correct logic is already in the past.
Computer logic only works on certainty; it cannot guess because there will inevitably come a time when the guess is wrong.
So I tend to think of Intelligence as "pulling" towards an uncertain outcome until the future transitions into the past, uncertainty has transitioned into certainty, and logic "pushes" forwards under user action.
Hope that warped way of thinking helps rather than hinders.
Hi Arne – a more considered reply:
I would think of what you describe as “Product Development”.
“Adaptation” is what the computer hardware does – it would not be able to run different programs if it did not.
But different programs are produced by man – in this case the programmer.
Car motion adapts when we change gear.
Try taking man’s intelligence out of the loop in either situation.
There is also another point to note: the mechanics of your analogous machine(s) are constrained to work within the bounds of physical constraints, if they did not they would throw an exception – blow up?
So too, the computer would not work unless it were constrained to operate within certain constraints, or limits. In the computer case these limits are set by time. Within a few nano-seconds it cannot do anything other than what it was programmed to do. Timing, or relative timing is ensured by locking everything to a master oscillator.
Product Development is similar, I agree. But the timescales are totally different: years rather than nano-seconds, and the PRECISE outcome cannot be known in advance – it can only be guessed at.
FWIW, i stopped reading, when i had absorbed the start - the necessity for an "intelligent" coffee-maker - firstly, there's already one (my wife)- nope, in reality it's me
Second, some folks should consider reading the at least the essential part of St. Exupery's Little Prince - specially when the prince tells him, what he would do with all the time saved by swallowing a pill instead of drinking water.