I had in mind for some time to write something a bit 'more scientific and (more or less) inherent in my profession, although I generally prefer to break away from computer science in my spare time. But there is a branch of computer science that has always fascinated me and that in the end was the reason why I chose the engineering path now years ago.
Also thanks to the inspiration of some posts on Neuroscience, today I would like to talk to you about Artificial Intelligence!
Brain, this stranger
One of the greatest mysteries of nature, still unresolved today as we are making giant strides on the subject, is understanding how the human brain works. We know that the neurons that make up our cerebral matter exchange information through electrical or electro-chemical impulses, through synapses and axons ... but how all this could create Ungaretti's poems, Picasso's paintings or space travels, behold, this is not yet clear.
Anatomical representation of the neural system
There is a whole branch of biology called Neuroscience that deals with studying the whole nervous system: neurosciences actually range from biological to cognitive studies, from medicine to mathematics, from evolutionism to psychology. The approaches are the most disparate precisely because the complexity of this organ requires studies that go beyond simple anatomy and that can potentially lead to disciplines that are anything but scientific, such as philosophy (example: ontology) or history.
One of the methods that man has used to better understand the cognitive processes, is that of simulation: hence the attempt to recreate the ability of human reasoning through the use of machines ... and the birth of the computer science of Intelligence Artificial.
Computer VS Man
Since the advent of the first electronic calculators, it has been clear that analytical computational capabilities were significantly higher than human ones. Mathematical operations could be carried out in a fraction of time compared to what would have employed a man facing the same problem. But then, what really differentiates the human brain from a computer processor?
In 1950 Alan Turing, considered by many to be the father of modern computer science, posed his idea of a thinking machine in front of the scientific community, proposing a test, the so-called "Turing Test".
Turing test: man or machine?
The initial idea was more or less the following: two human beings and a machine, separated from each other and in communication through a typewritten system (the equivalent of a modern chat, so to speak) must discuss among them topics as they like. After a certain period of time, one of the men is asked to recognize and distinguish his human interlocutor from the machine; if it fails, the automaton has passed the Turing test and can be considered "thinking".
The experiment has received many consents and many criticisms, but it has created several food for thought: programmable computers as we know them today are deterministic machines. If programmed correctly, they know how to deal with a particular input: for example, a computer can easily answer the question "What is the square root of 898471?". But it is indeterminism that generates great problems in computational algorithms, and that is what distinguishes the way of thinking of human beings. For a computer, answer the question "Hi, my name is Jimmy, are you happy to see me?" it is anything but trivial. The chatbots on the web have pre-packaged answers that can give the illusion of humanity, but that can never replace (at least for now) a discourse between human beings.
Chess and Go
This "At least for now" is the real million dollar question.
What is missing before a car can behave and reason like a human being?
Let's start with one of the historical examples of artificial intelligence: chess.
The White checkmate to black in 15 moves: how?
Chess was one of the first areas in which to test artificial intelligence algorithms. The greatest chess champions always act according to the number of moves that can "predict" the opponent. Thus, the greater the number of "forward moves" they manage to develop, together with a good strategy and experience, the greater the chances of winning a game.
Famous, from the point of view of artificial intelligence, is the case of Deep Blue: the first machine that, in 1996, succeeded in defeating the chess champion Kasparov in a match that generated a stir and controversy on the actual correctness of the tender. After Deep Blue, other machines were able to win in chess, effectively overcoming human intelligence in this game.
It should however be said and specified that for the chess software the classic programming paradigms were enough; to overcome a good player it is enough to compute a finite number of moves forward, which a computer can do with relative simplicity.
Let's change chessboard: does any of you know the "go" game?
In a game of Go, the variables are too many for an analytical approach
It is a game of Chinese origin in which a 19x19 chessboard is used and in which you have to place your pieces to "surround" those of the opponent, capturing them. The game is won by those who have more pawns than their own color at the end of the game.
Unlike chess, where a chessboard with 64 usable spaces is used (8x8) and where you can pre-calculate many of your opponent's moves with relative ease, the go does not allow it: only the first four moves involve billions of possible combinations and the complexity increases exponentially during the course of the game. A deterministic approach to the game of go has always allowed the machines to reach only the level of a good beginner.
From here arose the challenge of artificial intelligence to the champions of go. Challenge that seemed impossible to win: the greatest champions, to the question "Why did you choose that move to close the game?" they answered with "I could not explain it ... I looked at the board and that move seemed to me the best to win".
How can you explain to a computer something that you can not explain ... that you can not insert into an algorithm?
The victory of AlphaGo
In 2014, Google Deepmind (the "branch" of Google dedicated to artificial intelligence) started with the design of AlphaGo, a software capable of keeping up with the best Go champions in the world.
Example of a three-layer neural network
In October 2015, for the first time in human history, AlphaGo defeated the European go champion, Fan Hui, for five games to zero. The software was still in an initial version and the news of this victory was made public only in 2016.
Between 9 and 15 March 2016 AlphaGo played a series of five matches against one of the four strongest Go players in the world, Lee Sedol. The first three were won by AlphaGo for abandoning the opponent; the fourth was won by Lee Sedol, for abandonment of AlphaGo to the one hundred and eighty move, and the last one was won by software for abandonment. The match was sent live streaming and the list of moves is in the public domain and present online.
At a superficial analysis the question could be branded as the simple victory of a program against man, as happens every day with videogamers from around the world. But the impact with the concept of artificial intelligence is crazy: for the first time a computer has "reasoned", and not "calculated". A machine has managed for the first time to make some moves that, logically and computationally, it would not be able to explain.
A car has behaved humanly.
The algorithm behind AlphaGo and future developments
How was this success possible? To explain this we need to take a step back: we said how the discipline of I.A. is based on the simulation of the human brain. The first thing that scholars have tried to simulate was precisely the behavior of the brain, creating a computer system made of neurons, axons and communication impulses. The theory began as early as 1943, by Warren McCulloch and Walter Pitts, but in the last 20 years these theories have been realized in the development of Neural Networks.
Behind AlphaGo there is a "Deep Neural Network" able to somehow modify their states, "learning" to play go with the support of tree search algorithms. But how did AlphaGo equate and beat the best world champions?
This neural network was trained by providing thousands of thousands of games to go played and documented by the best players on Earth. The moves and strategies have been "imported" into the network of software states, generating after days and days of training, a sort of "conscience" about the game. Indeed, the machine has made its years of experience in the game of Go, putting them in the form of 0 and 1.
This conscience was then reinforced by playing AlphaGo against itself: millions of simulated games, computers against computers, trying to refine the tactics, trying to figure out which moves were actually effective and which ones could be discarded.
The resulting software, which was run in Cloud by Google, is AlphaGo: and can not help but remind us of the Matrix movie, when Neo learns kung fu simply by connecting to a pin.
A huge step forward in the research on artificial intelligence, and a step forward for humanity: according to some studies we are no longer very far from the development of intelligent systems that were once only the result of human imagination ... the various Robocop, Io Robot, AI and so on.
Among other things a decade ago you would have never thought of a future of cars that drive themselves, machines that can move and maintain the balance as we humans or programs that can LEARN from human masters and from their own mistakes ... a future that is now our present.
We are no longer so far from science fiction: now we just have to understand, as humanity, if we are genuinely proud or sincerely concerned.
What time has come for Asimov's three laws of robotics?
Thank you for reading this article! If you like, in the future I would like to analyze in more detail the functioning of the Artificial Intelligence algorithms, such as neural networks, genetic algorithms or machine learning.
References:
Computing Machinery and Intelligence (A. M. Turing, 1950) http://www.jstor.org/stable/2254890
Deep Blue (MurrayCampbella, JosephHoaneJr, Feng-hsiungHsu, 2002) https://doi.org/10.1016/S0004-3702(01)00129-1
Mastering the game of deep and neural networks (David Silver & Aja Huang 2016): https://www.nature.com/articles/nature16961 ####
I see that you have good posts, I voted at least 5 of them earlier, but only 15 reputation points? How did you earn so many flags? Don't give up and try to avoid common mistakes like spamming. Write good comments and keep growing.
The vast majority of his posts are just direct translation from spanish language articles.