I'd like to know at what point can be considerated an AI implementation?
I means, what is the minimal requeriment for that?
Can you give a simple code example?
Software Engineering Stack Exchange is a question and answer site for professionals, academics, and students working within the systems development life cycle. It only takes a minute to sign up.Sign up to join this community
Any program in which the decisions made at time t are impacted by the outcome of decisions made at time t-1. It learns.
A very simple construct within the field of Neural Networks is a Perceptron. It learns by adjusting weights given to different input values based on the accuracy of the result. It is trained with a known set of good inputs. Here is an article that covers the theory behind a single layer Perceptron network including an introduction to the the proof that networks of this type can solve specific types of problems:
If the exemplars used to train the perceptron are drawn from two linearly separable classes, then the perceptron algorithm converges and positions the decision surface in the form of a hyperplane between the two classes.
I'd say some sort of decision-making and/or learning algorithm would be involved. You can read about different sub-problems within AI in this Wikipedia article.
Depending on what you needed AI for, there'd need to be an implementation of some subset of those.
Depends on how your want to define AI. The working definition I was given in my intro to AI class was:
AI is any program that does something computers are not traditionally good at but humans are.
Examples being game AI, natural language processing, image processing, etc.
Assuming such a definition for AI, there's no 'minimal requirements'- a Tic-Tac-Toe AI is just a simple decision tree, for example. For a small enough subset of NLP, "Hello World" is AI. There's no real answer to your question in that regard.
I would consider any machine that is both useful and permanently beyond my understanding to be artificially intelligent (although I dare not suggest that such machine might exist outside of fiction lest my geekhood would be cast into doubt).
A less personal definition:
A machine can be considered artificially intelligent if it can solve classes of problem that were not envisaged by its designers.
Preumably, the architects of such a machine must endow their creation with the ability to lean, or else they must be possessors of extreem good fortune. By definition, trivial machine learning is precluded (so no, your tic-tac-toe solver dosn't count). Either way, happy + surprised should characterise the mood of that machine's engineers.
The closest I can get to a code sample? Is this:
This works quite well on my machine (indeed, this automiton sometimes appears prescentient) but YMMV.
It passes the Turing Test? In other words, a human being wouldn't be able to definitely tell the actions of your code from that of another human being attempting to do the same thing. Basically, can it fool someone?