Hello everybody im thinking about how AI works and actualy im really confuzed and scared at the same time, so me as low programmer i know how the computers work, first you write the program than you give him input and it gives you output based on what you insert in it. But how the AI works is really complex and hard to understand.. im asking my self like: how they started, what programming language they are using, how the hell the computer will know when and on what to focus when learning it self on something new for him and for humans too, its just really messed me up. Can anyone explain me if have some knowledge about this CRAZY stuff.
This is DEFINITELY NOT a simple topic. As for computer languages used for AI applications, some of the common ones were (or are still) Lisp, Prolog, Smalltalk, Snowball, and stuff written in languages like C++ or Objective-C that implement CLIPS or neural network protocols. FWIW, I have programmed in Prolog, Smalltalk, some Lisp and Snowball, lots of C++ (I have a patent for adaptive systems software that is a branch of AI), and some neural networking in C++ (I took a class on the subject at MIT years ago).
Anyway, this is a delicious subject! Worth any time you spend studying it. Just don't expect to become an "expert" quickly. A PhD in the subject may just get you started! :-)
FWIW, there are tonnes of articles on the Web on the subject. There are also some great books. I recommend anything by Terry Winograd (professor of AI and Software Engineering at Stanford). I learned from him that syntax (the structure of a language) does not lead to the symantics (meaning) of the language, and it is deriving the meaning that is one of the biggest problems in the field. Consider these two sentences - syntactically pretty much identical, but symantically, very very different!
Time flies like an arrow.
Fruit flies like a banana.
(Thank you Terry for the above examples!)
Current AI has a real problem with this sort of stuff unless you have a gazillion special-case rules, which slow the system down incredibly.
what programming language they are using
You can use any programming language. AI is no different from other program.
when learning it self on something new for him and for humans too
AI is trying to replicate how human learn. Human learn based on obversation. Here is how you to learn when you were a kid. You do an action. If your action is bad, your parent gives you a punishment. If your action is good, your parent gives you a reward. You can do the same with computer.
if have some knowledge about this CRAZY stuff
Don't believe the movie. We have no mean to create AI with ability to learn like human yet. Most of the AI nowaday is designed to fullfill one particular task. We have AI for playing chess. We have AI to translating from one language to another language, We have AI to predict what movie you want to watch...
It is hard to convincing you that AI is not something mystery (it is difficult subject, but not some kind of dark magic) without giving you some examples. BUT, AI is very wide subject, it is not possible to give you one fit all example. Let examine three simple examples:
One of the most simple way to write an AI to playing chess is Minimax algorithm. Minimax algorithm is about minimize the gain from your enemy and maximize your gain. First, we need to have a way to transform the chessboard state into integer point because it is easier to see which chessboard state is better than which with number. Here is how minimax works
- Generate all the moves
- Transform each move into the point. AI want to maximize their point.
Find move with the highest point
The larger the
N, the toughest the AI will be. The problem is that, it takes too long to compute the next move as N grow larger and larger.
Playing Tac Tic Toe
The last approach we discuss for playing chess does not involve the ability for computer to self-learning. Let create a simple AI that is getting better and better the more it play. We started with blank database. When human make a move, our AI will make a snapshoot of the board state, then do a lookup at the database. If there is previous response, random some move. If there are some response that AI used to make, choose the response with the highest chance of winning. When the game end, if AI win, increase the winning chance of each move that AI has made during the game. If AI lose, decrease. This is using statistic.
Another AI is to classified thing. For example, given person information, computer need to decide to give a loan or not. At first computer has no knowledge how to determine this problem. But we have past record. We will feed those record and computer will try to produce the decision tree. The decision tree is dynamic. The more record we feed, the better the decision tree will be
If your action is bad, your parent gives you a punishment. If your action is good, your parent gives you a reward.
Thats because we are humans we have a perspective what is good and what is bad for us, how the computer will know what is punishment for him and how much it will care about it, for example the robot doesn't have feelings you can't hurt him but you can punish human no matter how physical or mental (mental i mean for example you can't go outside..) maybe this sound stupid but its really exciting to talk about :D
small addition: look at R language, which is used to find patterns into data structures:
To know how this is applied search for machine learning topics. Some publications about this can be found at Facebook's research website:
Recently an Open AI project started, you can follow them here:
Thats because we are humans we have a perspective what is good and what is bad for us, how the computer will know what is punishment for him and how much it will care about it
It is simple.
- In my second example about AI for playing Tac Tic Toe. If AI lose the game, it means that all its previous move is bad. Therefore, we punish all its previous move by reduce some of it points. Over times, only the response that is good has higher score.
- In my third example about classification, it is easy. If given a person information and you allow them to loan the money. That person run away. The loan is a bad loan. The AI should slightly adjust its decision tree (it is punishment for its imperfect decision tree).
Each AI problem has different way to detect bad action and good action and different way of reward and punishment.
Artificial Intelligence is exactly that, artificial. Various algorithms bundled together to make it appear as if the software (and therefore hardware) is making conscious decisions.
It is an aspiration by and for the naive if the goal is to go beyond mundane decision making. Computer technology will never have any more intelligence than the light bulb in your desk lamp.