Advertisement

What is the difference between AI and Good Programming...?

Started by February 25, 2007 04:48 PM
18 comments, last by GameDev.net 17 years, 8 months ago
Hello, I am very confused and hope someone can help me out. Being the confused person I am, my question might seem non-sensical, in-that I've incorrectly assumed something about AI and basing my question on a bad foundation - whatever it may be I hope the question can at least be decipherable. Now to the question (finally!): I'm relatively new AI and have become stuck on a particular aspect - I've 'narrowed' it down to being to do with "Machine Learning": -> it seems that ML seems to be about: SENSE->MODEL->PLAN->ACT. -> How is this AI? -> How is a 2-wheeled robot navigating a circle AI? -> How is deep blue AI? -> I've seen "AI" attributed to a multitude of things! - Surely, a programmer can come along and write a piece of code that does an action if in a particular state. - A cyberneticist has a robot turn left if its approaching an obstacle on its left - IBM programmed deep blue search through a tree of winning moves for a particular state on a chess board --> So whats the difference between really excellent programming and True AI? All I can guess, is that the programmer can't account for some random unknown state that can be deduced from some internal rules? Where as AI can? I am sure that the predicament I have reached is quite critical to understanding the true nature of AI and is quite trivial; help :) - flyingoober
I think the world has given up on "true AI". Either there needs to be a way to define "intelligence", or somehow an AI will be created that is so good that it is considered truly intelligent, although no one will really be sure why (and if they knew why then they'd have a definition of intelligence).

Meanwhile there can be more results by focusing on well defined problems like playing board games and controlling robots.

Your brain is millions of neurons carrying electrical impulses and sending and receiving neurotransmiters, all according to the laws of physics. How is that intelligence?
Advertisement
Quote: it seems that ML seems to be about: SENSE->MODEL->PLAN->ACT.

At times. There is one area of machine learning which covers this, but it is by no means all of ML.
Quote: How is this AI?
How is a 2-wheeled robot navigating a circle AI?
How is deep blue AI?

How is it not?
Quote: I've seen "AI" attributed to a multitude of things!

That is because AI is a phrase, not an algorithm. There is no single definition of AI. Attempting to find a common description of everything that is called AI would be quixotic.
Quote: I am sure that the predicament I have reached is quite critical to understanding the true nature of AI

The true nature of AI is that if you call something AI you can often make more people interested in it. There is no AI Police which will come to your door if you decide that your word processor has "Advanced AI capabilities", even if those capabilities consist of popping up a confirmation dialog box if the user tries to exit without saving. So a lot of people do that.
http://en.wikipedia.org/wiki/Artificial_intelligence

I think you slip up, not on what AI is, but because of how loosely you've defined "really good programming".
Just my $3.42 worth...

Given that people (even very smart ones) cannot agree on the definition of intelligence, it is not suprising that researchers in AI (and those on the periphery or in associated endeavours) cannot agree on a definition of AI. However, we can and do talk about the difference between strong AI and weak AI. The former is the recreation of (and ultimately hopefully therefore the understanding of) human intelligence via artificial means (and some proponents of strong AI insist that we must do this by mimicking the cognitive abilities of humans). Thus, the goals of strong AI are to create artificial systems that have the robustness, adaptability and creativity of humans and that could operate in the same domains as we do with the same effectiveness.

Weak AI on the other hand is about the creation of artificial systems that can perform tasks that humans can do, without the necessity that the system be of human intelligence. The tasks considered are usually those assumed to require intelligence if completed by a natural system (human, animal, virus, etc.) but it is not essential that we label the resulting artificial system as intelligent. Artificial Intelligence, in this context, is an umbrella term for many 'intelligent' techniques.

Search, for example, requires reasoned expansion of a possibility space and the relative evaluation of candidate solutions. It may not seem very intelligent, but it is a fundamental substrate of many 'intelligent' systems. Learning requires the perception of information (the extraction of information from data subject to a priori beliefs), the determination of expectations given the possible interpretations and the evaluation of these expectations against eventualities. Again, it can be quite computationally mechanistic in nature, yet it allows for the solution of many problems that cannot be handled by some animal species.

My feeling is, given your post, that either your expectations of what intelligence is are unrealistic/unreasoned, or your expectations of what is required to produce intelligence are as such. I would recommend that if you're truly interested in this topic and these issues, that you expand your reading list beyond AI textbooks. Start with some popular science books (and read some opposing views) and then get into deeper topics on specific issues of interest to you.

Cheers,

Timkin
Quote: Original post by flyingoober
Hello,

I am very confused and hope someone can help me out. Being the confused person I am, my question might seem non-sensical, in-that I've incorrectly assumed something about AI and basing my question on a bad foundation - whatever it may be I hope the question can at least be decipherable.

Now to the question (finally!):

I'm relatively new AI and have become stuck on a particular aspect - I've 'narrowed' it down to being to do with "Machine Learning":

-> it seems that ML seems to be about: SENSE->MODEL->PLAN->ACT.

-> How is this AI?
-> How is a 2-wheeled robot navigating a circle AI?
-> How is deep blue AI?

-> I've seen "AI" attributed to a multitude of things!

- Surely, a programmer can come along and write a piece of code that does an action if in a particular state.

- A cyberneticist has a robot turn left if its approaching an obstacle on its left

- IBM programmed deep blue search through a tree of winning moves for a particular state on a chess board

--> So whats the difference between really excellent programming and True AI?

All I can guess, is that the programmer can't account for some random unknown state that can be deduced from some internal rules?
Where as AI can?



I am sure that the predicament I have reached is quite critical to understanding the true nature of AI and is quite trivial; help :)

- flyingoober





The part that 'SENSE-MODEL-PLAN-ACT.' for machine learning leaves out (as a simplification) is how the decisions are made -- the interpretation of the 'sensing' part, the maintaining of the model patterns, the evaluation and selections in the planning, and the gathering/evaluation of the results to adjust the system for the future.

The machine that is 'learning' is supposed to adjust itself to improve its efficiency and adapt to the world.

THAT is not a simple programming task, as the world gets more complex. Throw in temporal considerations and having to handle uncertainty and the problem explodes further.

The difference between 'good programming' and 'AI' is that AI is a subset (even though good AI often requires 'great' or even 'godlike' programming to achieve properly in the more difficult problem spaces.

The difficult task with real AI often is not the programming of the 'code'/application, but the programming of the learning data which has to be accumulated before the program can be launched into the 'world' to learn automaticly and the time it might take to become even a little competant in its environment.



[Edited by - wodinoneeye on February 26, 2007 1:34:49 AM]
--------------------------------------------[size="1"]Ratings are Opinion, not Fact
Advertisement
Part of the difference you are looking for is that A good script programmer can get an enemy in a game
to behave just like a human, but only in the one circumstance that was scripted, and that set of actions will take place
in the same way every time though the game.
AI as seen in games is just an attempt to tie together scripted elements of gameplay so that the enemy
behaves intelegently in all situations, not just one. Cauze you can't script for everything, expecially if the player
has a choice of tatics, weapons, units, or even design tools(custom MP maps). Cauze scripts dont adapt,
but the AI can.

AI's like chess and poker are running on an assumption of a "perfect game". So depending on the dificulty level
of the AI, it just playes closer to that goal of a "perfect game". Depending on the game, this can be easy or hard.
A Tic-Tac-Toe AI, since the gamespace is small, can always tie/win a game.
A chess AI, since the gamespace is big, can usually beat people since it can explore more of the gamespace
than the player, giving it a unique advantage.
A Go AI, since the gamespace is enormous, will almost always lose a game, since it can't explore enough of the gamespace
to out-think a good Go player.

FEAR is an excelent example of AI(i had links to articles about it, but dont know where they are at)
It was a learning machine that attempted to reach a goal based on the current situation. This left it to run
any number of pre-defined scripts, but the choice of which one to run came from a determination based around what the player is/has done.
Though the AI is actually really dumb and not complex, the unique tie between the AI, coices of actions,
and level design gave the AI a game-space advantage over the player that made it seem very intelegent.

Many RTS AI's are just an attempt to learn the human's play style, and exactly counter what they are doing.
They often use "AI techniques" like pathfinding, but are mostly scripted in how the AI decides to build.
Some like "outforce" and "supreme commander" claim they learn, mostly to the extent of not trying the same thing dumbly over and over
like in StarCraft, where the AI would just mob your front lines, nomatter how defended it was.

Quote: Original post by flyingoober
-> it seems that ML seems to be about: SENSE->MODEL->PLAN->ACT.
-> How is this AI?

Obviously, this is not machine learning. Where is the learning step?

I would modify your model to look like this:
    SENSE->PLAN->ACT      A           |      |           v      |        EVALUATE      |           |      |           v      |         ADJUST      |           |      +-----------+ 
The feedback loop is what "learning" is about.

Quote: Original post by flyingoober
--> So whats the difference between really excellent programming and True AI?

It depends on what you mean by "True AI". You seem to require that "True AI" includes the ability to learn. Most people don't have such a narrow definition.
John BoltonLocomotive Games (THQ)Current Project: Destroy All Humans (Wii). IN STORES NOW!
When I was a business application programmer and consultant, I did a lot of really "good programming" - none of which made decisions, but was pretty nifty in it's own right.

Your question is like asking "what's the difference between progressive rock and really good playing?" Good programming entails excelling at a process of doing something whereas "AI" or any other type of programming is simply a genre. You can perform well in many genres and you can have contributions to a genre that span many different abilities. (i.e. you could have crappy programming of AI).

In short, you are comparing apples and bottle caps.

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"

Quote: Original post by flyingoober
So whats the difference between really excellent programming and True AI?


I'd say there is no difference, other than with excellent programming you know how it works, and with "true" or 'natural' AI you don't (at least no one seems to want to know; people like the mystery associated with AI).

But this seems to imply that for anything to be considered "true" AI it must be as non-understandable as natural AI (people's brains) are.
And seeing as how we can't program what we can't understand; this make the entire situation moot. An impossible demmand born out of fantasy.

Hence for my pratcical purposes, no there is no difference and no point in looking for a distinction.

This topic is closed to new replies.

Advertisement