How to create artificial intelligence?

Lecture



Stage 1. Disappointment

When we talk about creating at least simple bots, the eyes are filled with brilliance, and hundreds of ideas flash in my head that he should be able to do. However, when it comes to implementation, it turns out that the key to a real model behavior is mathematics. Yes, artificial intelligence is much more difficult than writing application programs - you will not have enough knowledge about software design.

Mathematics is that scientific springboard on which your further programming will be built. Without knowledge and understanding of this theory, all ideas will quickly be broken about interaction with a person, because artificial intelligence is actually no more than a set of formulas.

Stage 2. Adoption

When the pride is a little knocked down by student literature, you can begin to practice. Throwing on LISP or other functional languages ​​for the time being is not worth it - first it is worth getting comfortable with the principles of designing AI. Both for quick study and further development, Python is an excellent choice - it is the language most often used for scientific purposes, for it you will find many libraries that will facilitate your work.

Stage 3. Development

Now we come directly to the theory of AI. They can be divided into 3 categories:

  • Weak AI - bots, which we see in computer games, or simple assistant assistants, like Siri. They either perform highly specialized tasks or are an insignificant set of those, and any unpredictable interaction puts them at a standstill.
  • Strong AIs are machines whose intelligence is comparable to the human brain. To date, there are no real representatives of this class, but computers like Watson are very close to achieving this goal.
  • Perfect AI - the future, the machine brain, which will exceed our capabilities. It is about the dangers of such developments that Stephen Hokking, Elon Musk and the Terminator film franchise warn.

Naturally, you should start with the simplest bots. To do this, remember the good old game "Tic-tac-toe" when using the 3x3 field and try to figure out for yourself the basic action algorithms: the probability of winning with unmistakable actions, the most successful places on the field for positioning the figure, the need to reduce the game to a draw and so on.

Having played several dozen games (for example, in tic tac toe) and analyzing your own actions, you can certainly highlight all the important aspects and rewrite them into machine code.

By the way, if you still took up the language of Python, then create a fairly simple bot can be very hard. For other languages, such as C ++ or Java, it’s also easy for you to find step-by-step materials. Feeling that the creation of AI is nothing supernatural, you can safely close the browser and start a personal experiment.

Stage 4. Excitement

Now, when things are moving from a dead end, you probably want to create something more serious. A number of the following resources will help you with this:

  • Diffbot;
  • Google Cloud Prediction API;
  • Mallet;
  • Scrapy;
  • Wolfram | Alpha;

As you even understood from the names, these are APIs that allow you to create some semblance of serious AI without wasting time.

Stage 5. Work

Now, when you are already quite clear about how to create AI and how to use it, it’s time to take your knowledge to a new level. First, this will require the study of the discipline, which is called "Machine learning". Secondly, it is necessary to learn how to work with the appropriate libraries of the selected programming language. For the Python we are considering, this is Scikit-learn, NLTK, SciPy, PyBrain and Numpy. Thirdly, in the development there is no way to get away from functional programming. And most importantly, you can now read the literature on AI with a full understanding of the case:

  • Artificial Intelligence for Games, Jan Millington;
  • Game Programming Patterns, Robert Nystorm;
  • AI Algorithms, Data Structures, and Idioms in Prolog, Lisp, and Java, George Luger, William Stmallfield;
  • Computational Cognitive Neuroscience, Randall O'Reilly, Yuko Munakata;
  • Artificial Intelligence: A Modern Approach, Stuart Russell, Peter Norvig.

And yes, all or almost all the literature on this topic is presented in a foreign language, so if you want to engage in the creation of AI professionally, you need to tighten your English to a technical level. However, this is true for any field of programming, is not it?

As for the rest, your further development will depend only on practice and the desire to complicate the algorithms. But be careful: maybe perfect artificial intelligence is dangerous for humanity?


Comments


To leave a comment
If you have any suggestion, idea, thanks or comment, feel free to write. We really value feedback and are glad to hear your opinion.
To reply

Approaches and directions for creating Artificial Intelligence

Terms: Approaches and directions for creating Artificial Intelligence