Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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?

share|improve this question
    
possible duplicate of Will we ever develop artificial intelligence? (Covers same ground) –  user8 Sep 18 '10 at 4:18
6  
sorry, but there is nothing duplicated. –  killown Sep 18 '10 at 6:02
1  
This question is so very unclear. Relates to the field of AI ≠ would be considered AGI. –  Tobu Nov 24 '10 at 22:51
add comment

5 Answers

up vote 13 down vote accepted

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.

Here is a book chapter in PDF form that covers the topic. Here is an Excel Spreadsheet that explains a bit more with a concrete example. And finally, here is a beautiful Javascript Example that you can watch learn.

share|improve this answer
    
thanks, this is an approach from what I wanna to know. –  killown Sep 18 '10 at 6:27
    
wow thank you man –  killown Sep 18 '10 at 18:02
    
this is all that I need thanks again –  killown Sep 18 '10 at 18:06
    
I don't know... this is a good definition of learning systems, but artificial intelligence is a broader field, surely? If you pick up a text on AI you'll find subjects such as decision trees, search algorithms etc., which don't "learn" in the sense that you mean. –  Ben Sep 19 '10 at 18:03
1  
That is a very good point. True, Wikipedia notes that "AI textbooks define the field as "the study and design of intelligent agents"[1] where an intelligent agent is a system that perceives its environment and takes actions that maximize its chances of success.[2]" en.wikipedia.org/wiki/Artificial_intelligence which is a very good definition. I have always been partial to having 'learning' as part of the definition, because the bar is much lower if you do. You don't have to mimic a level of knowledge, just the capacity to improve. Learning AI is sexy AI. –  Larry Smithmier Sep 20 '10 at 2:37
add comment

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).

alt text

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:

http://www.google.com

This works quite well on my machine (indeed, this automiton sometimes appears prescentient) but YMMV.

share|improve this answer
add comment

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?

share|improve this answer
    
-1 Passing the Turing Test is hardly the -minimal- requirement for code to be considered an AI implementation. –  adamk Nov 24 '10 at 22:59
    
@adamk Surely this depends on what your definition of "AI implementation" is? The fact that the OP stated what is the "minimal requirement" without first defining what "AI" is renders the word "minimal" redundant. How do you know what "minimal" means without a definition of "AI"? It doesn't make sense. My answer addresses one commonly-accepted test to define AI which is all you can really do. So mark my answer down, but realise your subjective view of "minimal" is no more correct than mine. –  Dan Diplo Nov 25 '10 at 11:52
    
The Turing test is a measure of a machines intelligence evaluated by a human judge conversing in natural language with both a machine and a human. If the judge cannot tell which is the machine, then the AI implementation passes the test. However, a machines intelligence is not limited to communication via natural language. Using the same evaluation methodology a judge could watch the moves of Garry Kasparov playing chess against Deep Blue and be incapable of telling which is the real player, 'fooling' the judge, thereby defining the machines intelligence in this area. –  adamk Nov 25 '10 at 18:58
    
Extrapolating from that, as playing chess is much simpler and therefore has more minimal requirements to complete the implementation than any implementation meeting the requirements of the Turing Test. However, I was a bit pissed last night, and although I disagree with your answer, it didn't really deserve a down vote so I apologise for that. –  adamk Nov 25 '10 at 19:00
    
Fair enough. But I would personally exclude being able to play chess from any definition of "AI" since machines excel at chess mainly due to brute-force (having a massive database of opening/closing moves) rather than through other means. I still think the general definition of being able to "fool someone" that it could be human (or other living entity) is a reasonable rule of thumb for an AI. –  Dan Diplo Nov 26 '10 at 10:13
add comment

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.

share|improve this answer
    
I just want a example code, when you start learn programming you have the "Hello World" example, then I need a "Hello word" of AI programming. –  killown Sep 18 '10 at 6:32
    
As I said, that depends on what you define as "AI." –  Fishtoaster Sep 18 '10 at 14:31
1  
RIGHT. And usually the rule is, as soon as computers get good at doing it, you have to stop calling it AI :) –  Joel Spolsky Nov 25 '10 at 1:26
add comment

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.

share|improve this answer
    
thank you, I will read this article. –  killown Sep 18 '10 at 6:15
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.