M-yes, it is not always good, when Arts and Sciences merge into one under a certain discipline. Artificial intelligence - just such a case. While it can take on the law and the cream of modern scientific thought in general.
On the one hand, it is clear that the development of artificial intelligence to a mid-level offers tremendous growth in technology and, consequently, the quality of human life. Then I will continue in the style of television "Maximum":
-- But what we have, when AI will be many times stronger and better when the level reaches its perfection and, through self-embedded algorithms will evolve from here?
-- Where to now be sent to the ship, called "modern technologies"?
Journalists should not blame - it is their bread. And our bread with you - computer technology, as if to understand them well, then bread with butter. Today, "pink" theory with Turing tests and laws Ayzimova we will gradually move on to practice, namely, in a rather popular form the most basic principles and algorithms used in the development of specific systems AI.
What you need to examine AI as a subject?
Artificial intelligence has penetrated deeply into many innovative solutions from leading developers, and the case not only in drawing up trees to find optimal solutions or implementation of reinforcement learning. Specialists from this area now claimed on a number of other reasons. For example, it is clear that programmers are often accustomed to act on the patterns set out, ready algorithms, such as reading a book and knowing that you can only do so and not otherwise. Sometimes they and other options simply do not consider. Although the same programmer AI (AI = AI) in addition to knowledge of the algorithms can evaluate them. For example, how do you think time algorithm and its performance - is the same thing? At first sight it might seem that yes. But in reality very much depends on a number of associated factors. For example, what you need to handle the volume of data that are made for computing, etc. The algorithm, working perfectly, or rather, to cause problems for small flow of incoming information, while increasing its volume can be a real problem, that is very weak. By contrast, very often to be found approach when handling a small amount of data used disproportionately more powerful solutions loaded, standard technology, some of which have not remained idle. This is not as crucial, although recalls shooting guns on the sparrow. That is one of the key concepts is the optimal solution. Of course, one could say about proportionality complexity of the task involved and the resources at its decision, but it is highly conditional. After all, very much depends on the original productions of the task, its correct description, the optimal division of the complex at some simple. And more complex task, the less chance that it would have only a single right decision. And is it possible to promote the decision until the end, if it had a lot of options? And if production made the task itself, or it can be viewed entirely on the other hand? By the way, from setting objectives and subsequent technical task very much depends. As you can see, all quite interesting. Therefore continue.
What must have knowledge base?
Artificial intelligence involved as philosophers, and mathematics. With regard to practical application, then you useful knowledge in the field of higher mathematics at the level of second-rate technical university, the principles of logic and programming. Naturally, welcoming abstract thinking, although the listed disciplines without him nothing, so this is a priori.
Let's do some agents
Virtually any textbook or a book AI contains extensive information on agents. Under them are understood to certain structural modules that can take input from their own sensory system on the basis of this decision independently develop and produce the necessary actions. We will consider the agent as the connection of two key elements: architecture and programs. Under the architecture in this case means a system of implementation of selected actions, that is singer. For example, autonomous driving module (robot-driver) in the DARPA Urban Challenge race must have a car. The program also is responsible for everything else. The agent must have a knowledge base, which it invests developer, and, if necessary, the ability to learn. It can be autonomous or semi, the agent is in a certain environment, which is often referred to as his "embedding" or "submerged". Wednesday - a microcosm of a certain agent, with whom he interacts, receives the necessary data or conditions, produces a reaction. And incoming data can be displayed in full or in partial amount for the development of solutions. In fact, almost always produced the second option, which exacerbates the development of systems AI. The agent is programmed for a specific action, which should be the most rational and useful. And is it possible to take into account all factors? For example, DARPA Urban Challenge race autonomously managed car should stay on the road, roundabout other machines. But… Suddenly, from someone - this agent or an adjacent car - or wheel bursts happen any problem? In fact, the need to find the most common situation. For example, what is the likelihood that the robot to fall meteorite or brick with a neighbouring building? Just a small, but the pothole on the road - something much more frequent.
There is also another problem, as expressed in the fight against pereizbytkom input and / or processed data. For example, if the same robot-driver from DARPA Urban Challenge ran a video camera to record, retain the data in their capacity as "experience" in the form of tables and analyzed them, he at one time would simply not have enough physical memory and resources for analysis. Therefore the main task of developers is minimizing the table with data by creating specially executable code, substituting them. A bit unclear? Remember the multiplication tables on the back of the school notebooks or other tables with square roots, cosine and sine. How many seats they occupy, if considered on symbols and lines? And they actively enjoyed prior to the onset of calculators, in which all computing implemented by several lines of code. In modern sound technology highest quality software tools made semplirovaniya method, that is, note for note recorded in the files pcm-living prototypes. Not such tools at least 4.7 gigabytes of disk space, work with them requires great computing power. But recently a new direction - tools fully modelled mathematically. One such program, containing key algorithms for zvukoizvlecheniyu taking into account all the nuances of live performance, took 15 MB! In the film industry distributed psychoacoustics, that is a whole discipline, which studies human perception. According to her, to show the same rain, no need to arrange a loud "sound around" and, moreover, poured water rights from above. Suffice it to reproduce the noise only hint of rain, and the very picture of completeness to the perception people dostroit own. That is, we have such an algorithm is a priori, we can draw conclusions, guided by the minimum input data. What agent? Have a table with many different sounds of rain recorded for comparison with data coming in? No, much easier if it will be recorded sound formula rain at the level of code. Here are just that and is a key element in building systems AI.
What are software agents
To begin with talk about refleksnyh agents. As is clear from their titles, these modules immediately responsive to the action of certain conditions, primitives. Basically, they emit two types:
. Easy. They do not store any data, and their main task - a reaction to specific current event recorded. For example, involved a traffic light to red - the robot-driver stopped. Incidentally, this is called simple II, and AI programmers in games shutlivo say: "if… then…". As you can imagine, the event should be observed.
. Based on the model of the world. Mainly agent takes into account the current state of his entourage (peace), and he "knows" the consequences of their actions. Under the current state of the environment necessary to understand the specific situation for the moment - for example, some machine decided to overtake the robot-driver. Accordingly, it is to him is fast approaching. He analyzes the situation around. Under the "consequences of their
Action "in this case understood that the team turning avtonomnoupravlyaemy car will move to another number - the program knows about it beforehand - but if it goes the other machine, there could be an accident. That is, in this case we are talking about a few lines of "if… then… else…" And there is some element predictions of further development of the situation. There are also more developed, conventional agents. Among them are key:
. Based on the goal. In this case, all quite simple: there is a goal that you want to reach for what you need to make the best decision. That is the key word in this case will be search and planning. Unlike refleksnyh agents, this type of thinking: "but what if?", Perebiraya solutions. That is, in every situation, he behaves in many ways, though set to the optimal option. For example, if the robot-driver must arrive at a particular destination, he selects the shortest way.
. Based on the utility. In this version there is, above all, on the option, which provides several objectives that could be raised as clearly - for example, endpoints route - and not quite - for example, safety and speed of passing the route of his passing. Agent independently assess the exhibits, choosing the most preferred options. For example, if you stay on a rapid route, it is not safe, therefore, until the final destination can and does not get there. In terms of usefulness better safe option. But if it did not meet in time, it was necessary to find a compromise.
And last on our list of agents - the students. Structurally, they include four components: the critic, generator problems, learning and productive. The latter two are key. Under the productive means everything that we previously thought agents (any of the four types). Critics element oversees its work and compares with production standards, estimates he sends teach. This component, in turn, produces a decision that it must improve productivity to improve its quality or subject to a bad evaluation. A generator problems, in turn, gives problems for solutions. To have been more understandable… For example, we need the engine on automatic proof of the theory. Either we need to "inflated" artificial intelligence robot-driver.
Of course, the option with the four components - this is only one possible in the application. Techniques for training now there are several. And in this case, technology is at a level that is not productive component "pereuchivaetsya", but simply replaced by more sophisticated. That is, with the help alter the rights.
Bridge completion
In fact, the very notion of agents blurry, as, in principle, and the definition of artificial intelligence. Most often, reading books about agents, you can meet confusion related to the macro and micro levels. That is, under the agent can be understood "brain" robot, a program in general - Option 1. As well as a small software module that handles the events transmitted from one of the sensors, or simply responsible for a certain stage of computing - Option 2. While the very notion very convenient to use.
To be continued ...
1) "Get Money for Clicks"
2) Search your domain name wishing to have!