1. Described good programming languages for AI?
This topic can be somewhat sensitive, so I'll probably tread on a few toes, please forgive me. There is no authoritative answer for this question, as it really depends on what languages you like programming in. AI programs have been written in just about every language ever created. The most common seem to be Lisp, Prolog, C/C++, recently Java, and even more recently, Python.
LISP- For many years, AI was done as research in universities and laboratories, thus fast prototyping was favored over fast execution. This is one reason why AI has favored high-level langauges such as Lisp. This tradition means that current AI Lisp programmers can draw on many resources from the community. Features of the language that are good for AI programming include: garbage collection, dynamic typing, functions as data, uniform syntax, interactive environment, and extensibility. Read Paul Graham's essay, "Beating the Averages" for a discussion of some serious advantages:
PROLOG- This language wins 'cool idea' competition. It wasn't until the 70s that people began to realize that a set of logical statements plus a general theorem prover could make up a program. Prolog combines the high-level and traditional advantages of Lisp with a built-in unifier, which is particularly useful in AI. Prolog seems to be good for problems in which logic is intimately involved, or whose solutions have a succinct logical characterization. Its major drawback (IMHO)
2. Where can I find the conference information?
Georg Thimm maintains a webpage that lets you search for upcoming or past conferences in a variety of AI disciplines.
3. What are the best graduate schools for AI?
The short answer is: MIT, CMU, and Stanford are historically the powerhouses of AI and still are the top 3 today.
There are however, hundreds of schools all over the world with at least one or two active researchers doing interesting work in AI. What is most important in graduate school is finding an advisor who is doing something YOU are interested in. Read about what's going on in the field and then identify the the people in the field that are doing that research you find most interesting. If a professor and his students are publishing frequently, then that should be a place to consider.
4. Explain about the Game Playing AI?
This covers a number of game playing techniques, notably checkers and backgammon because so much good research has been done on these problems and because so many different techniques have been tried.
If no obvious key, either stand alone or compound is available, then the last resort is to simply create a key, by assigning a unique number to each record or occurrence. Then this is known as developing an artificial key.
If no single data element uniquely identifies occurrences within a construct, then combining multiple elements to create a unique identifier for the construct is known as creating a compound key.
When one of the data elements stored within a construct is utilized as the primary key, then it is called the natural key.
All Candidate Keys excluding the Primary Key are known as Alternate Keys.
9. Explain the difference between classical AI and statistical AI?
Statistical AI, arising from machine learning, tends to be more concerned with "inductive" thought: given a set of patterns, induce the trend. Classical AI, on the other hand, is more concerned with "deductive" thought: given a set of constraints, deduce a conclusion. Another difference, as mentioned in the previous question, is that C++ tends to be a favourite language for statistical AI while LISP dominates in classical AI.
A system can't be truely intelligent without displaying properties of both inductive and deductive thought. This lends many to beleive that in the end, there will be some kind of synthesis of statistical and classical AI.
There are many, some are 'problems' and some are 'techniques'.
Automatic Programming - The task of describing what a program should do and having the AI system 'write' the program.
Bayesian Networks - A technique of structuring and inferencing with probabilistic information. (Part of the "machine learning" problem).
Constraint Statisfaction - solving NP-complete problems, using a variety of techniques.
Knowledge Engineering/Representation - turning what we know about particular domain into a form in which a computer can understand it.
Machine Learning - Programs that learn from experience or data.
Natural Language Processing(NLP) - Processing and (perhaps) understanding human ("natural") language. Also known as computational linguistics.
Neural Networks(NN) - The study of programs that function in a manner similar to how animal brains do.
Planning - given a set of actions, a goal state, and a present state, decide which actions must be taken so that the present state is turned into the goal state
Robotics - The intersection of AI and robotics, this field tries to get (usually mobile) robots to act intelligently.
Speech Recogntion - Conversion of speech into text.
Quite a bit, actually. In 'Computing machinery and intelligence.', Alan Turing, one of the founders of computer science, made the claim that by the year 2000, computers would be able to pass the Turing test at a reasonably sophisticated level, in particular, that the average interrogator would not be able to identify the computer correctly more than 70 per cent of the time after a five minute conversation. AI hasn't quite lived upto Turing's claims, but quite a bit of progress has been made, including:
- Deployed speech dialog systems by firms like IBM, Dragon and Lernout&Hauspie
- Financial software, which is used by banks to scan credit card transactions for unusual patterns that might signal fraud. One piece of software is estimated to save banks $500 million annually.
- Applications of expert systems/case-based reasoning: a computerized Leukemia diagnosis system did a better job checking for blood disorders than human experts.
- Machine translation for Environment Canada: software developed in the 1970s translated natural language weather forcasts between English and French. Purportedly stil in use.
A very misused term. Today, an agent seems to mean a stand-alone piece of AI-ish software that scours across the internet doing something "intelligent." Russell and Norvig define it as "anything that can can be viewed a perceiving its environment through sensors and acting upon that environment through effectors." Several papers I've read treat it as 'any program that operates on behalf of a human,' similar to its use in the phrase 'travel agent'. Marvin Minsky has yet another definition in the book "Society of Mind." Minsky's hypothesis is that a large number of seemingly-mindless agents can work together in a society to create an intelligent society of mind. Minsky theorizes that not only will this be the basis of computer intelligence, but it is also an explaination of how human intelligence works. Andrew Moore at Carnegie Mellon University once remarked that "The only proper use of the word 'agent' is when preceded by the words 'travel', 'secret', or 'double'."
13. I am a programmer interested in AI. I am writing a game that needs AI. Where do I start?
It depends what the game does. If it's a two-player board game,look into the "Mini-max" search algorithm for games (see [4-1]). In most commercial games, the AI is is a combination of high-level scripts and low-level efficiently-coded, real-time, rule-based systems. Often, commercial games tend to use finite state machines for computer players. Recently, discrete Markov models have been used to simulate unpredictible human players (the buzzword compliant name being "fuzzy" finite state machines).
A recent popular game, "Black and White", used machine learning techniques for the non-human controlled characters. Basic reinforcement learning, perceptrons and decision trees were all parts of the learning system. Is this the begining of academic AI in video games?
14. Please explain the difference between strong AI and weak AI?
Strong AI makes the bold claim that computers can be made to think on a level (at least) equal to humans. Weak AI simply states that some "thinking-like" features can be added to computers to make them more useful tools... and this has already started to happen (witness expert systems, drive-by-wire cars and speech recognition software). What does 'think' and 'thinking-like' mean? That's a matter of much debate.
Artificial intelligence ("AI") can mean many things to many people. Much confusion arises that the word 'intelligence' is ill-defined. The phrase is so broad that people have found it useful to divide AI into two classes: strong AI and weak AI.
16. What is Knowledge representation and reasoning?
Artificial Intelligence Knowledge representation (KR) is an area of artificial intelligence research aimed at representing knowledge in symbols to facilitate inferencing from those knowledge elements, creating new elements of knowledge. The KR can be made to be independent of the underlying knowledge model or knowledge base system (KBS) such as a semantic network.