Fundamental properties of the prologue. Textbook for disciplines of the direction


Transcript

2 E. V. Borovskaya N. A. Davydova FUNDAMENTALS OF ARTIFICIAL INTELLIGENCE Textbook 3rd edition (electronic) Moscow Knowledge Laboratory 2016

3 UDC BBK B83 Series founded in 2007 Borovskaya E. V. B83 Fundamentals of artificial intelligence [Electronic resource]: textbook / E. V. Borovskaya, N. A. Davydova. 3rd ed. (el.). Electron. text data (1 pdf file: 130 pp.). M.: Laboratory of knowledge, (Pedagogical education). System. requirements: Adobe Reader XI; screen 10". ISBN The textbook introduces readers to the history of artificial intelligence, knowledge representation models, expert systems and neural networks. The main directions and methods used in the analysis, development and implementation of intelligent systems are described. Knowledge representation models and methods of working with them are considered, methods for developing and creating expert systems. The book will help the reader master the skills of logical database design subject area and programming in ProLog language. For students and teachers of pedagogical universities, teachers of secondary schools, gymnasiums, lyceums. UDC BBK Derivative electronic publication based on the printed analogue: Fundamentals of artificial intelligence: textbook / E. V. Borovskaya, N. A. Davydova. M.: BINOM. Knowledge Laboratory, p. : ill. (Teacher Education). ISBN In accordance with Article 1301 of the Civil Code of the Russian Federation, when the restrictions established by technical means of copyright protection are eliminated, the copyright holder has the right to demand from the violator compensation for losses or payment of compensation ISBN c Knowledge Laboratory, 2015

4 CONTENTS Chapter 1. Artificial intelligence Introduction to artificial intelligence systems The concept of artificial intelligence Artificial intelligence in Russia Functional structure of an artificial intelligence system Directions for the development of artificial intelligence Data and knowledge. Representation of knowledge in intelligent systems Data and knowledge. Basic definitions Knowledge representation models Expert systems Structure of an expert system Development and use of expert systems Classification of expert systems Representation of knowledge in expert systems Tools building expert systems Expert system development technology Test questions and assignments for the chapter Literature for the chapter Chapter 2. Logic programming Programming methodologies Imperative programming methodology Object-oriented programming methodology Functional programming methodology Logic programming methodology Constraint programming methodology Neural network programming methodology Brief introduction to predicate calculus and proof theorems The process of logical inference in Prolog... 58

5 4 Contents 2.4. Prolog program structure Using composite objects Using alternative domains Organizing repetition in Prolog The rollback method after failure The cut and rollback method Simple recursion The generalized recursion rule (GRR) method Lists in the Prolog language Operations on lists Strings in the Prolog language Operations on strings Files in the language Prolog Prolog predicates for working with files Description of the file domain Writing to a file Reading from a file Modifying an existing file Appending to the end of an existing file Creating dynamic databases in the Prolog language Databases in Prolog Dynamic database predicates in the Prolog language Creating expert systems Structure of an expert system Presentation knowledge Inference methods User interface system Expert system based on rules Test questions and tasks for the chapter Literature for the chapter Chapter 3. Neural networks Introduction to neural networks Artificial neuron model Application of neural networks Training of a neural network Test questions and tasks for the chapter Literature for the chapter

6 CHAPTER 1 ARTIFICIAL INTELLIGENCE 1.1. Introduction to artificial intelligence systems The concept of artificial intelligence An artificial intelligence (AI) system is a software system that simulates the human thinking process on a computer. To create such a system, it is necessary to study the very thinking process of a person solving certain problems or making decisions in a specific area, highlight the main steps of this process and develop software that reproduces them on a computer. Therefore, AI methods involve a simple structured approach to the development of complex software systems decision making . Artificial intelligence is a branch of computer science, the goal of which is to develop hardware and software that allows a non-programmer user to set and solve their traditionally considered intellectual problems, communicating with a computer in a limited subset of natural language. The idea of ​​​​creating an artificial likeness of a person to solve complex problems and simulate the human mind, as they say, “was in the air” back in ancient times. The founder of artificial intelligence is considered to be the medieval Spanish philosopher, mathematician and poet Raymond Lull, who back in the 13th century. tried to create mechanical device for solutions various tasks based on the universal classification of concepts he developed.

7 6 Chapter 1 Later, Leibniz and Descartes independently continued this idea, proposing universal classification languages ​​for all sciences. These works can be considered the first theoretical works in the field of artificial intelligence. However, the final birth of artificial intelligence as a scientific direction occurred only after the creation of computers in the 1940s, when Norbert Wiener created his seminal works on the new science of cybernetics. The term “artificial intelligence” (AI; ​​English AI “Artificial Intelligence”) was proposed in 1956 at a seminar with the same name at Dartmouth College (USA). This seminar was devoted to the development of methods for solving logical (rather than computational) problems. Note that in English this phrase does not have that slightly fantastic anthropomorphic connotation that it acquired in the rather unsuccessful Russian translation. The word “intelligence” simply means “the ability to reason intelligently,” and not “intelligence” at all (for which there is a separate English analogue “intellect”). Soon after artificial intelligence was recognized as a special field of science, it was divided into two areas: neurocybernetics and “black box” cybernetics. These areas developed almost independently, differing significantly both in methodology and technology. And only now have trends towards combining these parts again into a single whole become noticeable. Neurocybernetics The main idea of ​​this direction can be formulated as follows: “The only object capable of thinking is the human brain, therefore any thinking device must somehow reproduce its structure.” Thus, neurocybernetics is focused on software and hardware modeling of structures similar to the structure of the brain. Neurocybernetics efforts have focused on creating elements similar to neurons and integrating them into functioning systems, neural networks.

8 Artificial Intelligence 7 The first neural networks were created in the 1990s. These were not very successful attempts to create systems that simulate the human eye and its interaction with the brain. Gradually in the 1990s The number of works in this area of ​​artificial intelligence began to decline; the first results were too disappointing. Typically, the authors of the developments explained their failures by the small memory and low speed of the computers existing at that time. The first neurocomputer was created in Japan as part of the “Fifth Generation Computer” project. By this time, restrictions on computer memory and speed were practically lifted. Transputer computers appeared with a large number of processors that implement parallel computing. Transputer technology is one of a dozen new approaches to the hardware implementation of neural networks that model the hierarchical structure of the human brain. In general, today we can distinguish three main types of approaches to creating neural networks: hardware (creation special computers, neurochips, expansion cards, chipsets), software (creation of programs and software tools designed for high-performance computers; such networks are created “virtually”, in the computer’s memory, while all the work is performed by its own processors) and hybrid (a combination of the first two methods ). Black box cybernetics and artificial intelligence This approach is based on the principle opposite to neurocybernetics. Here it no longer matters how exactly the “thinking” device is structured, the main thing is that it reacts to the given input influences in the same way as the human brain. Proponents of this trend motivated their approach by the fact that man should not blindly follow nature in his scientific and technological searches. In addition, the border sciences about man were unable to contribute significantly

9 8 Chapter 1 of the th theoretical contribution that explains (at least approximately) how intellectual processes occur in a person, how his memory works and how a person perceives the world around him. This area of ​​artificial intelligence was focused on finding algorithms for solving intellectual problems in existing models computers. Significant contributions to the formation of the new science were made by such pioneers as McCarthy, Minsky, Newell, Simon, Shaw, Hunt and others. In the 1990s. Intensive searches were carried out for models and algorithms of human thinking and the development of the first programs based on them. Representatives of the humanities, philosophers, psychologists, and linguists, neither then nor now, were able to propose such algorithms, then cybernetics began to create their own models. Thus, various approaches were consistently created and tested. At the end of the 1950s. a labyrinth search model appeared. This approach represents the problem as a certain state space in the form of a graph, after which the optimal path from the input data to the resultant data is searched in this graph. A lot of work has been done to create such a model, but this idea has not yet found wide application for solving practical problems. Early 1960s became the era of heuristic programming. A heuristic is a rule that is not theoretically justified, but allows you to reduce the number of searches in the search space. Heuristic programming is the development of an action strategy based on known, predetermined heuristics. In the 1990s Methods of mathematical logic began to be used to solve problems. Robinson developed the resolution method, which allows one to automatically prove theorems given a set of initial axioms. Around the same time, the outstanding Russian mathematician Yu. S. Maslov proposed the so-called inverse derivation (later named after him), solving a similar problem in a different way. Based on resolution method

10 Artificial Intelligence 9 Frenchman Albert Colmeroe created the logic programming language Prolog in 1973. The “Theoretical Logician” program, created by Newell, Simon and Shaw, which proved school theorems, caused a great stir in the scientific community. However, most real problems cannot be reduced to a set of axioms, and a person, when solving production problems, does not always use classical logic, therefore, logic models, for all their advantages, have significant limitations on the classes of problems being solved. The history of artificial intelligence is full of dramatic events, one of which was the so-called “Lighthill report” in 1973, which was prepared in Great Britain by order of the British Research Council. The famous mathematician Lighthill, who is not professionally associated with artificial intelligence, prepared a review of the state of affairs in this area. The report acknowledged some achievements, but rated them as “disappointing” and the overall assessment was negative in terms of practical significance. This report set European researchers back about five years, as funding for the work was significantly reduced. Around the same time, a significant breakthrough in the development of practical applications of artificial intelligence occurred in the United States, when in the mid-1970s. The search for a universal thinking algorithm was replaced by the idea of ​​modeling the specific knowledge of specialist experts. The first commercial knowledge-based systems, or expert systems (ES), appeared in the United States. A new approach to solving artificial intelligence problems, knowledge representation, has also begun to be used. The first two expert systems for medicine and chemistry, Mycin and Dendral, were created, which became classics. The Pentagon also made a significant financial contribution, proposing to base the new US Department of Defense program on the principles of artificial intelligence. Already catching up with missed opportunities, the European Union in the early 1980s. announced the global program for the development of new technologies ESPRIT,

11 10 Chapter 1, which included the problems of artificial intelligence. At the end of the 1970s. Japan is joining the race, announcing the start of a fifth-generation knowledge-based machine project. The project was designed for ten years and brought together the best young specialists from the largest Japanese computer corporations. A new institute, ICOT, was specially created for these specialists and given complete freedom of action (though without the right to publish preliminary results). As a result, they created a rather cumbersome and expensive symbolic processor that implemented a Prolog-like language in software, but did not receive wide acceptance. However, the positive effect of this project was obvious. In Japan, a significant group of highly qualified specialists in the field of artificial intelligence has emerged, which has achieved significant results in various applied problems. By the mid-1990s. The Japanese Association of Artificial Intelligence already numbered 40 thousand people. Since the mid-1980s. The commercialization of artificial intelligence was taking place everywhere. Annual capital investments grew, and industrial expert systems were created. There was growing interest in self-learning systems. Dozens of scientific journals were published, international and national conferences were held annually in various areas of artificial intelligence, which was becoming one of the most promising and prestigious areas of computer science. Currently, there are two main approaches to modeling artificial intelligence: machine intelligence, which consists in strictly specifying the result of operation, and artificial intelligence, aimed at modeling the internal structure of the system. Modeling of systems of the first group is achieved through the use of the laws of formal logic, set theory, graphs, semantic networks and other achievements of science in the field of discrete computing, and the main results are the creation of expert systems, parsing systems

12 Artificial intelligence 11 natural language and simple control systems of the “stimulus-response” type. The systems of the second group are based on the mathematical interpretation of the activity of the nervous system (primarily the human brain) and are implemented in the form of neuron-like networks based on a neuron-like element analogous to a neuron Artificial intelligence in Russia In 1954, the seminar “Automata and Thinking” began at Moscow State University under the guidance of an academician A. A. Lyapunov (), one of the founders of Russian cybernetics. This seminar was attended by physiologists, linguists, psychologists, and mathematicians. It is generally accepted that it was at this time that artificial intelligence was born in Russia. As well as abroad, it has two main directions: neurocybernetics and “black box” cybernetics. In the 1990s were created individual programs and research was carried out in the field of finding solutions to logical problems. At LOMI (Leningrad branch of the Steklov Mathematical Institute), the ALPEV LOMI program was created, which automatically proves theorems, which is based on Maslov’s original inverse derivation, similar to Robinson’s resolution method. Among the most significant results obtained by domestic scientists in the 1960s, it should be noted the “Kora” algorithm by M. M. Bongard, which models the activity of the human brain in pattern recognition. Such outstanding scientists as M. L. Tsetlin, V. N. Pushkin, M. A. Gavrilov, whose students became pioneers of this science in Russia, also made a great contribution to the development of the Russian school of artificial intelligence. In the 1990s a new direction of situational AI was born (corresponding to the representation of knowledge in Western terminology). The founder of this scientific school was Professor D. A. Pospelov. Special models for presenting situations (representing knowledge) were also developed. Despite the fact that the attitude towards new sciences in Soviet Russia has always been wary, science with such a “challenging

13 12 Chapter 1 with a new title also did not escape this fate and was met with hostility at the Academy of Sciences. Fortunately, among the members of the USSR Academy of Sciences there were people who were not afraid of such an unusual phrase as the name of a new scientific direction. However, only in 1974, under the Committee on System Analysis under the Presidium of the USSR Academy of Sciences, a scientific council on the problem of “Artificial Intelligence” was created, headed by D. A. Pospelov. On the initiative of this council, five complex scientific projects were organized, headed by leading experts in this field: “Dialogue” (work on natural language understanding), “Situation” (situational management), “Bank” (data banks), “Constructor” (search engine) design) and “Robot intelligence”. In the 1990s In our country, active research was carried out in the field of knowledge representation, knowledge representation languages ​​and expert systems were developed; The Refal language was created at Moscow State University. In 1988, the Association of Artificial Intelligence (AI) was formed, and D. A. Pospelov was unanimously elected president. Within the framework of this association, a large amount of research was carried out, schools for young specialists, seminars, symposiums were organized, joint conferences were held every two years, and a scientific journal was published. It should be noted that the level of theoretical research on artificial intelligence in Russia has always been no lower than the global level. However, unfortunately, starting from the 1980s. on applied work The gradual lag in technology began to take its toll. At the moment, the lag in the development of industrial intelligent systems is approximately 3-5 years. The main areas of application of AI systems: theorem proving, games, pattern recognition, decision making, adaptive programming, composing machine music, natural language processing, learning networks (neural networks), verbal conceptual learning.

14 Artificial intelligence Functional structure of an artificial intelligence system The functional structure of an AI system (Fig. 1.1) consists of three complexes of computing tools. The first of them is an executive system (IS), a set of tools that execute programs and are designed from the standpoint of effective problem solving; this complex has, in a number of cases, a problematic orientation. The second complex is a set of intelligent interface tools that have a flexible structure that provides the ability to adapt to a wide range of end-user interests. The third set of tools with the help of which the interaction of the first two complexes is organized is the knowledge base, which ensures the use of computing tools by the first Fig. Functional structure of the AI ​​system

15 [...]

16 Minimum system requirements are determined by the corresponding requirements of the Adobe Reader program version no lower than 11 for the platforms Windows, Mac OS, Android, ios, Windows Phone and BlackBerry; screen 10" Educational electronic publication Series: "Pedagogical education" FUNDAMENTALS OF ARTIFICIAL INTELLIGENCE Textbook Leading editor D. Usenkov Artists N. Novak, S. Infante Technical editor E. Denyukova Proofreader L. Makarova Computer layout: S. Yankovaya Signed for use Format mm Publishing house "Laboratory of Knowledge", Moscow, Aeroporta proezd, 3 Telephone: (499)

17 BOROVSKAYA ELENA VLADIMIROVNA Senior Lecturer at the Department of Informatics and Methods of Teaching Informatics, Chelyabinsk State Pedagogical University. Area of ​​interest: problems of a modular rating system for monitoring and assessing students' educational achievements in the context of quality management at a university. DAVYDOVA NADEZHDA ALEKSEEVNA Candidate of Pedagogical Sciences, majoring in “Theory and Methods of Teaching and Education (Informatics, General Education Level)”, Associate Professor of the Department of Informatics and Methods of Teaching Informatics, Chelyabinsk State Pedagogical University. Areas of interest: technology for forming the content of computer science education in specialized classes of secondary schools, intelligent teaching systems. The textbook introduces readers to the history of artificial intelligence, knowledge representation models, expert systems and neural networks. The main directions and methods used in the analysis, development and implementation of intelligent systems are described. Models of knowledge representation and methods of working with them, methods of developing and creating expert systems are considered. The book will help the reader master the skills of logical design of domain databases and programming in Prolog. The book is intended for students and teachers of pedagogical universities, teachers of secondary schools, gymnasiums and lyceums.


Artificial Intelligence Teacher: Bragilevsky V.N. Speaker: Banar O.V. Plan Philosophical aspects of AI History of AI development Approaches to building AI systems Structural approach. Identification systems

On the 100th anniversary of the birth of Hermogen Sergeevich Pospelov, May 25, 2014 marked the 100th anniversary of the birth of the outstanding scientist, academician of the USSR Academy of Sciences and the Russian Academy of Sciences, laureate of the State

1. PURPOSE AND OBJECTIVES OF THE DISCIPLINE The history of computers is not only the history of the development of concepts, but also one of the parts of the history of human activity, which reflects the life of man both as a biological species and as a member

GUIDE for preparing for the Unified State Exam COMPUTER SCIENCE COMPUTER SCIENCE GUIDE for preparing for the Unified State Exam 3rd edition, corrected and expanded (electronic) Edited by E. T. Vovk Moscow BINOM. Knowledge Laboratory 2015 UDC

Informatics Lecture 1 Basic definitions Associate Professor of the Department of Electronic Systems (2302) Kuznetsov Igor Rostislavovich Definition Informatics is a science that studies all aspects of receiving, storing, transforming, transmitting and using

Direction 03/09/03 Computer Science 1.2 Lecture “Human-machine interaction. PPO" Lecturer Elena Vladimirovna Molnina Senior teacher of the Department of Information Systems, room 9, main building. mail: [email protected]

UDC 004.89 ARTIFICIAL INTELLIGENCE IN EDUCATION R.V. Streltsov, Art. gr. TP08 L.V.Slavinskaya, art. teacher department VMiP Donetsk National Technical University The process of higher education entering the world

Regulatory documents Abstract to the work program in computer science, grade 8. The work program in computer science and ICT is compiled on the basis of the author's program of Ugrinovich N.D. taking into account sample program main

MODELS FOR SOLVING FUNCTIONAL AND COMPUTATIONAL PROBLEMS LECTURER ZARCHENKOVA A. A. BASIC CONCEPTS Problems: computational problems - determination of a certain quantity, functional problems - creation

Content work program I. Explanatory note indicating regulatory documents, ensuring the implementation of the program 1. general characteristics subject Computer Science is a natural science discipline

Federal Agency for Education State educational institution of higher professional education "Novosibirsk State University" (NSU) Faculty of Information Technologies

FIRST HIGHER TECHNICAL INSTITUTION OF RUSSIA MINISTRY OF EDUCATION AND SCIENCE OF THE RUSSIAN FEDERATION federal state budgetary educational institution of higher professional education

Modeling of human cognitive abilities in artificial intelligence Natalya Andreevna Yastreb VSPU, 2010 zagoskina_natali@ mail.ru 1 The concept of intelligence The term “intelligence” is ambiguous;

Abstract of the program of the academic discipline “Methods of research and modeling of information processes and technologies” Purpose of the discipline: 1. GOALS AND OBJECTIVES OF THE DISCIPLINE Discipline “Methods of research and modeling

On the development of instrumental systems focused on solving information and logical problems R. G. Bukharaev, A. I. Enikeev, I. I. Makarov Practice of using computers for automation

Municipal budgetary educational institution "Secondary school 9" Abstract to the work program in computer science and ICT in the parallel 6th grade, Vilyuchinsk 2016-2017 academic year 1 Number of hours

Informatics Informatics establishes the laws of information transformation in the context of the functioning of automated systems, develops methods for its algorithmization, and the formation of linguistic means of communication

KAZAN FEDERAL UNIVERSITY INSTITUTE OF COMPUTATIONAL MATHEMATICS AND INFORMATION TECHNOLOGIES Department of System Analysis and Information Technologies A.M. YURIN EXPERT SYSTEMS Educational and methodological

83 UDC 004.822 DEVELOPMENT OF A SYSTEM FOR AUTOMATED SOLUTION OF COMPUTATIONAL PROBLEMS IN CAD, BASED ON THE CONSTRAINT PROGRAMMING METHOD Krilevich S.D., Grigoriev A.V. Donetsk National Technical

À. À. Måríêk, Æ. À. åðíêê, Þ. M. Momalovsk, S. À. BIOGRAPHICAL MANUALS: TEACHING MANUAL FOR ACADEMIC BACHELORATE 2nd edition, revised and supplemented by Rekomen

N. A. Davydova E. V. Borovskaya PROGRAMMING Textbook Moscow BINOM. Knowledge Laboratory 2009 UDC 004.4 BBK 32.973-018 D13 D13 Davydova N. A. Programming: textbook / N. A. Davydova,

Abstract to the discipline “intelligent information systems” 1. GOALS AND OBJECTIVES OF THE DISCIPLINE 1.1. Goals of the discipline The goal of teaching the discipline is to promote the formation of students’ ability to

Municipal budgetary educational institution secondary school 83 WORK PROGRAM in computer science and ICT at the level of secondary general education teacher Galina Vladimirovna Kaurova

Test tasks in the discipline of IIS Topic: 1. Artificial intelligence 1 question: Artificial intelligence is a direction that allows you to solve complex mathematical problems in programming languages;

EXPLANATORY NOTE The work program of the computer science club “Young Informatician” for grades 5-7 was developed based on the author’s program by N.V. Makarova for grades 5-9, recommended by the Ministry of Education

Artificial neural networks and the possibility of creating artificial intelligence based on them Suleymanov K.B. FSBEI HE "Dagestan State University" Makhachkala, Russia. Artificial neural networks

Abstract to the discipline “Fundamentals of programming and algorithmization” Direction of training (specialty) 03/09/02 “Information systems and technologies” Profile Information systems and technologies in construction

Methodology and logic of scientific research The discipline “Methodology and logic of scientific research” is included in the basic part of the general scientific cycle of master’s training. The purpose of studying the discipline is to familiarize

Intelligent systems in mechanical engineering Lecture 2.1. Methods of knowledge representation. 1 Representation of knowledge in artificial intelligence systems The main feature of intelligent systems is that

Marchuk 14 REVIEW from a leading organization on the dissertation work of Dmitry Aleksandrovich Krylov “Models and methods for implementing a cloud platform for the development and use of intelligent services”,

ARTIFICIAL INTELLIGENCE TECHNOLOGIES Lecture 5. Expert systems Continued AI Technologies 1 SEMIOTIC MODELS Classic control problems. They are based on the thesis that we know: the purpose

8. FUND OF ASSESSMENT TOOLS FOR INTERMEDIATE CERTIFICATION OF STUDENTS IN THE DISCIPLINE (MODULE) of Informatics, Computer Science and 1. Department of Information Security 03/09/02 “Information

ABSTRACT of the work program " Information Technology in management" in the direction of training/specialty 38.03.04 "State and municipal management" code and name of the direction/specialty

MINISTRY OF EDUCATION AND SCIENCE OF THE RUSSIAN Federal State Budgetary Educational Institution of Higher Education "Moscow State Technological University "STANKIN" (FSBEI HE "MSTU "STANKIN") ABSTRACT

1. Russian Pedagogical Encyclopedia. In 2 volumes / Ch. ed. V.V. Davydov. M.: Great Russian Encyclopedia, 1993. T. 2. 608 p. 2. Selevko G.K. Modern educational technologies: Textbook. allowance M.:

G. V. Alekseev, S. A. Bredikhin, I. I. Kholyavin SYSTEM APPROACH IN FOOD ENGINEERING General definitions and some applications Recommended by the Federal Educational and Methodological Association in the Higher System

Software (software) Software System and application software System software is used to develop the implementation of software products, as well as to provide the user with certain services. Systemic

Abstract to work programs in computer science and ICT for 2016-2017 grade 7 (basic general education) The study of computer science and ICT in grade VII is aimed at achieving the following goals: - formation of general educational

UDC 004.514.6 ASSESSMENT OF THE QUALITY OF USER INTERFACE OF TRAINING PROGRAMS Goretsky A.A. Donetsk National Technical University Department of Applied Mathematics and Informatics E-mail: [email protected]

ABSTRACT OF THE WORK PROGRAM OF THE DISCIPLINE Intelligent systems and technologies in the direction/specialty 03/09/02 - "Information systems and technologies" 1. Goals and objectives of mastering the discipline The purpose of mastering

ADAPTIVE AND INTELLIGENT SYSTEMS T. Kohonen Self-organizing maps Translation of the 3rd English edition by V. N. Ageev, edited by Yu. V. Tyumentsev Moscow BINOM. Knowledge Laboratory 2008 UDC 517.11+519.92

MINISTRY OF EDUCATION AND SCIENCE OF THE RF State educational institution of higher professional education "Murmansk State Humanitarian University" (MSGU) WORK PROGRAM OF DISCIPLINE

MINISTRY OF EDUCATION AND SCIENCE OF THE RUSSIAN FEDERATION Federal state budgetary educational institution of higher professional education "UFA STATE AVIATION TECHNICAL

Database management systems (DBMS) 1. General information about DBMS 2. Data models 3. Microsoft Access DBMS 1. General information about database management systems Two main areas of computer use:

COMPILERS: Ryaby V.V., senior lecturer at the Department of Mathematical Support of Electronic Computers, Belarusian State University; Pobegailo A.P., Associate Professor of the Department of Technology

MINISTRY OF EDUCATION AND SCIENCE OF THE RUSSIAN FEDERATION Federal State Autonomous Educational Institution of Higher Professional Education NATIONAL RESEARCH NUCLEAR UNIVERSITY

MINISTRY OF EDUCATION AND SCIENCE OF THE RUSSIAN FEDERATION FEDERAL STATE BUDGETARY EDUCATIONAL INSTITUTION OF HIGHER PROFESSIONAL EDUCATION "STATE UNIVERSITY - EDUCATIONAL-RESEARCH-PRODUCTION

STATE BUDGETARY EDUCATIONAL INSTITUTION OF THE CITY OF MOSCOW SECONDARY EDUCATIONAL SCHOOL 382 Considered at a meeting of the Moscow Region Head of the Moscow Region N.V. Pavlenko Protocol of 2014 AGREED Deputy

UDC 372.851.046.14 BBK 74.262.21 G15 REVIEWERS: Ph.D. ped. Sciences, Associate Professor department mathematics and methods of teaching mathematics of the Mozyr State Educational Institution. ped. University named after I. P. Shamyakin” L. A. Ivanenko; teacher

YURI MIKHAILOVICH ZABRODIN IS 70 YEARS OLD In October 2010, Yuri Mikhailovich Zabrodin, a major scientist and organizer of Russian psychological science, turned 70 years old. In the history of Soviet and Russian psychology

TAMBOV REGIONAL EDUCATIONAL AUTONOMOUS INSTITUTION OF ADDITIONAL PROFESSIONAL EDUCATION “INSTITUTE OF ADVANCED QUALIFICATIONS OF EDUCATIONAL WORKERS” Teaching the subject

A manual for managers, their deputies, teachers of general secondary education institutions Mozyr “White Wind” 2 0 1 4 UDC 371 BBK 74.200.58 B59 Series founded in 2007 Compiled by:

The curriculum is compiled on the basis of the curriculum of a higher education institution in the specialty 1-40 05 01 “Information systems and technologies (in areas)” and the curriculum “Fundamentals of information

Contents Section title Page section 1. Explanatory note 3-4 2. Content of the academic subject 4-5 3. Requirements for the level of preparation of students 5-7 4. Literature 7 5. Calendar and thematic planning

The main educational program of higher education was approved by the Academic Council of the University (Minutes of the Academic Council of the University 3 dated March 16, 2016) 2 CONTENTS 1. General characteristics of the main professional

Å. Ï. GENERAL MANAGEMENT ASSUMPTION 1 FROM US ANALYSIS OF THE 3rd edition, between the two The official version of the Russian Federation

Lecture 21 Group decision-making systems The decision-making process is of the same nature as the process of making a management decision. The following stages can be distinguished in it (Fig. 4.1). I. Design analysis

They write to us from ROSSIKHINA Larisa Vitalievna - candidate of technical sciences, captain of internal service, senior lecturer of the radio engineering systems cycle at Voronezh College Federal service execution of punishments

1 Textbook: Computer Science. Grade 11. Advanced level. At 2 o'clock Authors: K.Yu. Polyakov, E.A. Eremin M.: BINOM, Knowledge Laboratory, 2013. Planned results of studying computer science Program in the subject "Computer Science"

The role of logic programming in the study of computer science. N. Pelin State University Tiraspol (UST) Summary The work analyzes the opinions of a number of scientists and specialists about the meaning and role of logical

Municipal entity - urban district of the city of Ryazan, Ryazan region WORK PROGRAM in computer science and ICT Level of education - grades 10-11 in the humanities Number of hours: 2 hours per week,

APPLIED APPLICATION OF ARTIFICIAL INTELLIGENCE IN THE DEVELOPMENT OF COMPUTER GAMES Kaziev A.B., Prokopyuk S.Yu. Tomsk Polytechnic University Tomsk, Russia APPLICATION OF ARTIFICIAL INTELLIGENCE

Management, computer technology and information science UDC 004.032.26:612.825 HOMOGENEOUS MULTILAYER NEURAL NETWORK OF DIRECT DISTRIBUTION WITH LOCAL CONNECTIONS WITH CONDITIONAL REFLEX MECHANISM OF LEARNING ON

SIMULATION OF INTEGRAL ROBOTS IN MATLAB S.T. Sadykov ENU named after. L.N. Gumilyov, Astana, st. Munaitpasova, 5, 001008. E-mail: [email protected] Introduction. Robot (Czech robot) automatic device

Armavir State

Pedagogical University

BASICS OF ARTIFICIAL INTELLIGENCE

for students studying in the specialty “Informatics”

Armavir 2004

Published by decision of the UMS ASPU

Reviewer: , Candidate of Physical and Mathematical Sciences, Associate Professor, Head of the Internet Center of the Kabardino-Balkarian State Agricultural Academy

Kozyrev artificial intelligence. Educational and methodological manual for students studying in the specialty “computer science”. – Armavir, 2004

Are being considered basic concepts artificial intelligence, directions and prospects for the development of research in the field of artificial intelligence, basics of the logic programming language PROLOG.

The educational and methodological manual is intended for students studying in the specialty “computer science”, and can also be used by anyone interested in issues of artificial intelligence and logic programming.

Introduction…………………………………………………………..……………………... 4

1. Artificial intelligence: subject, history
development, research directions……..………………….. 5

1.1. Directions of research in the field
artificial intelligence…..…………………………………………………………….. 5


artificial intelligence….…………………………..………………..... 6

2. Knowledge system……………………………………………………….. 8

3. Models of knowledge representation…………………………………. 9

3.1. Semantic networks……………………………………………………..9

3.2. Frame model………………………………………….…………10

3.3. Product model……………………………………………..11

3.4. Logic model……………………………………………………. .12

4. Expert systems……………………………………………...12

4.1. Purpose of expert systems…………………………………….12

4.2. Types of problems solved using expert systems…………….14

4.3. Structure of expert systems……………………………………...15

4.4. Main stages of development of expert systems……………………16

4.5. Tools for developing expert systems………18

5. PROLOGUE - logic programming language……….19

5.1. General information about PROLOGE……………………………………………………19

5.2. Suggestions: facts and rules……………………………………20

5.4. Variables in PROLOG……………………………………………...22

5.5. Objects and data types in PROLOG………………………………...23

5.6. Main sections of the PROLOG program…………………………….23

5.7. Backtracking………………………………………………………...24

5.8. Backtracking control: fail predicates and pruning......26

5.9. Arithmetic calculations……………………………………………………27

5.10. Recursion……………………………………………………………………………….28

5.11. Lists………………………………………………………………………………30

5.12. Standard tasks list processing………………………….….31

Literature………………………………………………............................... .35

Introduction

In recent decades, artificial intelligence has been invading all areas of activity and becoming a means of integrating science. Software tools based on artificial intelligence technology and methods have become widespread throughout the world. Intensive research on the creation of a unified information space that creates conditions for joint remote work based on knowledge bases has now begun to be carried out by all economically developed countries. The course “Fundamentals of Artificial Intelligence” in higher education includes the study of such sections as the representation of knowledge in a formal language, the structure of expert systems and the basic principles of their development, various strategies for finding a goal. One of the main lines of the course is a discussion of the implementation of artificial intelligence systems to solve specific applied problems.

The Visual Prolog software development environment is considered as computer support for the course. The Prolog programming language, based on the ideas and methods of mathematical logic, was originally created for the development of artificial intelligence applications. Applications such as knowledge bases, expert systems, natural language interfaces, and intelligent information management systems are effectively programmed in the Visual Prolog environment. A high level of abstraction, the ability to represent complex data structures and model logical relationships between objects make it possible to solve problems in various subject areas.

The educational and methodological manual “Fundamentals of Artificial Intelligence” will help expand the future computer science teacher’s ideas about the areas of application of the theory of artificial intelligence, about existing and promising programming languages ​​and hardware structures for creating artificial intelligence systems.

1. Artificial intelligence: subject, history of development, areas of research.

Intellectus(lat) - mind, reason, intelligence, thinking abilities of a person. Artificial intelligence(AI) is a field of computer science, the subject of which is the development of hardware and software that allows the user to solve problems traditionally considered intellectual. The theory of artificial intelligence is the science of knowledge, how to obtain it, present it in artificial systems, process it within the system and use it to solve practical problems. Technologies using AI are used today in many application areas.

The beginning of research in the field of AI (late 50s of the 20th century) is associated with the work of Newell, Sayman and Shaw, who studied the processes of solving various problems. The results of their work were such programs as "LOGICAL THEORIST", designed to prove theorems in propositional calculus, and "GENERAL PROBLEM SOLVER". These works marked the beginning of the first stage of research in the field of AI, associated with the development of programs that solve problems based on the use of a variety of heuristic methods.

The heuristic method of solving a problem was considered as characteristic of human thinking “in general,” which is characterized by the emergence of guesses about the way to solve a problem and their subsequent verification. It was contrasted with the algorithmic method used in computers, which was interpreted as the mechanical implementation of a given sequence of steps, deterministically leading to the correct answer. The interpretation of heuristic methods for solving problems as a purely human activity led to the emergence and further spread of the term AI

A. Neurocybernetics.

Neurocyberetics is focused on hardware modeling of structures similar to the structure of the brain. Physiologists have long established that the basis of the human brain is a large number of interconnected and interacting nerve cells - neurons. Therefore, the efforts of neurocybernetics have been focused on creating elements similar to neurons and combining them into functioning systems. These systems are usually called neural networks, or neural networks. Recently, neurocybernetics has begun to develop again due to the leap in the development of computers. Neurocomputers and transputers appeared.

Currently, three approaches to creating neural networks are used:

hardware- creation of special computers, expansion cards, chipsets that implement all the necessary algorithms,

program- creation of programs and tools designed for high-performance computers. Networks are created in the computer's memory, all the work is done by its own processors;

hybrid- a combination of the first two. Some of the calculations are performed by special expansion cards (coprocessors), and some are performed by software.

B. Black box cybernetics.

The basis of “black box” cybernetics is the principle opposite to neurocybernetics. It doesn't matter how the "thinking" device is designed. The main thing is that it reacts to given input influences in the same way as the human brain.

This area of ​​artificial intelligence was focused on searching for algorithms for solving intellectual problems on existing computer models.

Research in the field of artificial intelligence has come a long and thorny path: the first hobbies (1960), pseudoscience (1960-65), successes in solving puzzles and games (), disappointment in solving practical problems (), first successes in solving a number of practical problems ( ), mass commercial use in solving practical problems (). But the basis of commercial success rightfully lies in expert systems and, first of all, real-time expert systems. It was they who allowed artificial intelligence to move from games and puzzles to mass use in solving practically significant problems.

1.2. Main tasks solved in the area
artificial intelligence

Knowledge representation and development of knowledge-based systems

Development of knowledge representation models, creation of knowledge bases that form the core of expert systems (ES). Recently, it includes models and methods for extracting and structuring knowledge and merges with knowledge engineering. In the field of artificial intelligence, expert systems and tools for their development have achieved the greatest commercial success.

Games and creativity.

Game intellectual tasks - chess, checkers, Go. It is based on one of the earlier approaches - the labyrinth model plus heuristics.

Development of natural language interfaces and machine translation

Voice control, translation from language to language. The first program in this area is a translator from English into Russian. The first idea, word-by-word translation, turned out to be unfruitful. Currently, a more complex model is used, including the analysis and synthesis of natural language messages, which consists of several blocks. For analysis it is:

The language that uses the production model is PROLOGUE.

3.4. Logic model

Their description is based on a formal system with four elements:

M=<Т, Р, А, В >, Where

T – a set of basic elements of various natures with corresponding procedures;

P – a set of syntactic rules. With their help, syntactically correct collections are formed from T elements. The P(P) procedure determines whether this collection is correct;

A is a subset of the set P, called axioms. Procedure P(A) gives an answer to the question of membership in the set A;

B – set of inference rules. By applying them to the elements of A, one can obtain new syntactically correct collections to which these rules can be applied again. Procedure P(B) determines for each syntactically correct collection whether it is inferable.

4. Expert systems

4.1. Purpose of expert systems

Expert systems(ES) are complex software systems that accumulate the knowledge of specialists in specific subject areas and replicate this empirical experience to provide advice to less qualified users.

The goal of expert systems research is to develop programs that, when solving problems from a certain subject area, obtain results that are not inferior in quality and efficiency to the results obtained by experts.

Expert systems are designed to solve informal, practically significant problems. Expert systems should only be used when their development is possible and feasible.

Facts indicating the need for the development and implementation of expert systems:

Lack of professionals who spend significant time helping others;

The need for a large team of specialists, since none of them has sufficient knowledge;

Low productivity, since the task requires a complete analysis of a complex set of conditions, and an ordinary specialist is not able to review (in the allotted time) all these conditions;

The presence of competitors who have an advantage in that they are better at the task at hand.

By functional Expert systems can be divided into the following types:

1. Powerful expert systems designed for a narrow circle of users (control systems for complex technological equipment, air defense expert systems). Such systems usually operate in real time and are very expensive.

2. Expert systems designed for a wide range of users. These include medical diagnostic systems and complex training systems. The knowledge base of these systems is not cheap, as it contains unique knowledge obtained from expert specialists. The collection of knowledge and the formation of a knowledge base is carried out by a specialist in collecting knowledge - a cognitive engineer.

3. Expert systems with a small number of rules and relatively inexpensive. These systems are designed for the mass consumer (systems that facilitate troubleshooting in equipment). The use of such systems eliminates the need for highly qualified personnel and reduces troubleshooting time. The knowledge base of such a system can be supplemented and changed without the help of system developers. They usually use knowledge from various reference books and technical documentation.

4. Simple expert systems for individual use. Often made independently. Used in situations to make everyday work easier. The user, having organized the rules into a certain knowledge base, creates his own expert system based on it. Such systems are used in law, commercial activities, and repair of simple equipment.

The use of expert systems and neural networks brings significant economic benefits. For example: - American Express reduced its losses by $27 million a year thanks to an expert system that determines the feasibility of issuing or refusing a loan to a particular company; - DEC saves $70 million annually with XCON/XSEL, which customizes the VAX computing system. Its use reduced the number of errors from 30% to 1%; - Sira reduced pipeline construction costs in Australia by $40 million using an expert pipeline management system.

4.2. Types of problems solved using
expert systems

Data interpretation. Interpretation means determining the meaning of data, the results of which must be consistent and correct. Examples of ES:

Detection and identification of various types of ocean-going vessels - SIAP;

Determination of basic personality traits based on the results of psychodiagnostic testing in the AVTANTEST and MICROLUSHER systems, etc.

Diagnostics. Diagnostics refers to the detection of a malfunction in a certain system. Examples of ES:

Diagnosis and therapy of narrowing of coronary vessels - ANGY;

Diagnosis of errors in computer hardware and software - CRIB system, etc.

Monitoring. The main task of monitoring is continuous interpretation of data in real time and signaling when certain parameters exceed acceptable limits. The main problems are “missing” an alarm situation and the inverse problem of “false” activation. Examples of ES:

Monitoring the operation of SPRINT power plants, assistance to nuclear reactor dispatchers - REACTOR:

Monitoring of emergency sensors at a chemical plant - FALCON, etc.

Design. Design consists of preparing specifications for the creation of “objects” with predetermined properties. Specification means the entire set of necessary documents: drawing, explanatory note, etc. Examples of ES:

Design of computer configurations VAX - 1/780 in the XCON (or R1) system,

LSI design - CADHELP;

Synthesis of electrical circuits - SYN, etc.

Forecasting. Predictive systems logically derive likely consequences from given situations. Examples of ES:

Weather forecasting - WILLARD system:

Future harvest estimates - PI. ANT;

Forecasts in the economy - ECON, etc.

Planning. Planning refers to finding action plans related to objects capable of performing certain functions. Such ES use models of the behavior of real objects in order to logically deduce the consequences of the planned activity. Examples of ES:

Robot behavior planning - STRIPS,

Planning of industrial orders - 1SIS,

Experimental design - MOLGEN et al.

Education. Educational systems diagnose errors when studying any discipline using a computer and suggest the correct solutions. They accumulate knowledge about a hypothetical “student” and his characteristic mistakes, then in their work they are able to diagnose weaknesses in the students’ knowledge and find appropriate means to eliminate them. Examples of ES:

Training in the Lisp programming language in the "Teacher Lisp" system;

PROUST system - language training Pascal et al.

Expert system solutions are transparent, i.e. they can be explained to the user at a qualitative level.

Expert systems are able to expand their knowledge during interaction with an expert.

4.3. Structure of expert systems

The structure of expert systems includes the following components:

Knowledge base– the core of an ES, a body of knowledge of a subject area, recorded on computer media in a form understandable to an expert and a user (usually in some language close to natural). In parallel to this “human” representation, there is a knowledge base in the internal “machine” representation. It consists of a set of facts and rules.

Facts – describe objects and the relationships between them. Rules – used in the knowledge base to describe relationships between objects. Based on the relationships specified by the rules, logical inference is performed.

Database– intended for temporary storage of facts and hypotheses, contains intermediate data or the result of communication between systems and the user.

Machine inference– a reasoning mechanism that operates with knowledge and data in order to obtain new data; for this, a software-implemented solution search mechanism is usually used.

Communication subsystem– serves to conduct a dialogue with the user, during which the expert system requests from the user the necessary facts for the reasoning process, and also allows the user to control the course of reasoning to some extent.

Explanation subsystem– is necessary in order to give the user the opportunity to control the course of reasoning.

Knowledge acquisition subsystem– a program that provides a knowledge engineer with the opportunity to create a knowledge base in an interactive mode. Includes a system of nested menus, knowledge representation language templates, hints ("help" mode) and other service tools that make working with the database easier.

The expert system operates in two modes:

Acquiring knowledge (definition, modification, addition);

Problem solutions.

In this mode, task data is processed and, after appropriate coding, transferred to the blocks of the expert system. The results of processing the received data enter the module of advice and explanations and, after recoding into a language close to natural, are issued in the form of advice, explanations and comments. If the answer is not clear to the user, the user may request an explanation from the expert system for obtaining it.

4.4. Main stages of expert systems development

The technological process of developing an industrial expert system can be divided into six main stages:

1. Selecting the right problem

Activities preceding the decision to begin developing a specific ES include:

Definition of the problem area and task;

Finding an expert willing to collaborate on solving the problem and assigning a development team;

Determining a preliminary approach to solving the problem;

Analysis of costs and profits from development;

Preparation of a detailed development plan.

2. Development of a prototype system

Prototype system is a truncated version of an expert system designed to verify the correct encoding of facts, relationships and reasoning strategies of the expert.

The prototype must satisfy two requirements:

The prototype system should solve the most typical problems, but should not be big.

The time and labor involved in creating a prototype should be negligible.

The performance of prototype programs is evaluated and tested to ensure they are aligned with actual user needs. The prototype is tested for:

Convenience and adequacy of input-output interfaces (nature of questions in the dialogue, coherence of the output text of the result, etc.)

Efficiency of the control strategy (enumeration order, use of fuzzy inference, etc.);

Quality of test cases;

Correctness of the knowledge base (completeness and consistency of rules).

The expert usually works with a knowledge engineer, who helps to structure knowledge, define and formulate concepts and rules needed

to solve the problem. If successful, the expert, with the help of a cognitive engineer, expands the prototype's knowledge base about the problem domain.

If it fails, a conclusion may be drawn. What other methods are needed to solve this problem or develop a new prototype.

3. Development of the prototype to an industrial expert system.

At this stage, the knowledge base is significantly expanded, big number additional heuristics. These heuristics typically increase the depth of the system by providing more rules for subtle aspects of individual cases. After establishing the basic structure of the ES, the knowledge engineer begins to develop and adapt the interfaces through which the system will communicate with the user and the expert.

As a rule, a smooth transition from prototypes to industrial expert systems is realized. Sometimes, when developing an industrial system, additional stages are identified for the transition: demonstration prototype - research prototype - operational prototype - industrial system.

4. System evaluation

Expert systems are evaluated to check the accuracy of the program and its usefulness. The assessment can be carried out based on various criteria, which we group as follows:

User criteria (clearness and transparency of the system, user-friendliness of interfaces, etc.);

Criteria of invited experts (evaluation of advice-solutions offered by the system, comparison of it with one’s own solutions, evaluation of the explanation subsystem, etc.);

Criteria of the development team (implementation efficiency, productivity, response time, design, breadth of subject area coverage, knowledge consistency, number of dead ends when the system cannot make a decision, analysis of the program’s sensitivity to minor changes in knowledge representation, weighting coefficients used in logical output, data, etc.).

5. System docking

At this stage, the expert system is interfaced with other software in the environment in which it will operate, and the people it will serve are trained. Interface also means the development of connections between the expert system and the environment in which it operates.

Docking includes ensuring communication between the ES and existing databases and other systems in the enterprise, as well as improving system factors, depending on time, so that it can operate more efficiently and improve the performance of its hardware if the system operates in an unusual environment (for example, communication with measuring devices).

6.System support

Recoding a system into a language like C improves performance and portability, but reduces flexibility. This is only acceptable if the system retains all knowledge of the problem domain and this knowledge will not change in the near future. However, if the expert system is created precisely because the problem area is changing, then it is necessary to maintain the system in a development tool environment.

Artificial Intelligence Languages

Lisp (LISP) and Prolog (Prolog) are the most common languages ​​designed to solve artificial intelligence problems. There are also less common artificial intelligence languages, for example REFAL, developed in Russia. The versatility of these languages ​​is less than that of traditional languages, but artificial intelligence languages ​​compensate for its loss with rich capabilities for working with symbolic and logical data, which is extremely important for artificial intelligence tasks. Based on artificial intelligence languages, they are created specialized computers(for example, Lisp machines) designed to solve artificial intelligence problems. The disadvantage of these languages ​​is their inapplicability for creating hybrid expert systems.

Special software tools

Libraries and add-ons for the Lisp artificial intelligence language: KEE (Knowledge Engineering Environment), FRL (Frame Representation Language), KRL (Knowledge Representation Language), ARTS, etc., allowing users to work with expert system templates for more high level than is possible in conventional artificial intelligence languages.

"Shells"

“Shells” are empty versions of existing expert systems, i.e., ready-made expert systems without a knowledge base. An example of such a shell is EMYCIN (Empty MYCIN - empty MYC1N), which is an empty MYCIN expert system. The advantage of shells is that that they do not require the work of programmers at all to create a ready-made expert system. Only domain experts are required to populate the knowledge base. However, if a certain subject area does not fit well into the model used in a certain shell, filling out the knowledge base in this case is not very easy.

5. PROLOGUE - logical language
programming

5.1. General information about PROLOG.

PROLOGUE (Programming in LOGIC) is a logic programming language designed to solve problems in the field of artificial intelligence (creation of electronic systems, translator programs, natural language processing). It is used for natural language processing and has powerful means, allowing you to retrieve information from databases, and the search methods used in it are fundamentally different from traditional ones.

The basic constructions of PROLOG are borrowed from logic. PROLOG is not a procedural, but a declarative programming language. It is focused not on developing solutions, but on a systematic and formalized description of the problem so that the solution follows from the compiled description.

The essence of the logical approach is that the machine is not offered an algorithm as a program, but a formal description of the subject area and the problem being solved in the form of an axiomatic system. Then the search for a solution using output in this system can be entrusted to the computer itself. The main task of the programmer is to successfully represent the subject area with a system of logical formulas and such a variety of relations on it that most fully describe the task.

Fundamental properties of PROLOGUE:

1) inference mechanism with search and return

2) built-in pattern matching mechanism

3) simple and easily changeable data structure

4) absence of pointers, assignment and transition operators

5) naturalness of recursion

Stages of programming in PROLOG:

1) declaration of facts about objects and relationships between them;

2) determining the rules for the relationship of objects and relationships between them;

3) formulation of the question about objects and relationships between them.

The theoretical basis of PROLOG is a branch of symbolic logic called predicate calculus.

Predicate is the name of a property or relationship between objects with a sequence of arguments.

<имя_предиката>(t1, t2, ..., tn)), t1,t2,...,tn – arguments

For example, the fact black(cat) is written using the predicate black, which has one argument. Fact wrote (Sholokhov, "QUIET FON") written using a predicate wrote, which has two arguments.

The number of arguments of the predicate is called the arity of the predicate and is denoted by black/1 (the predicate black has one argument, its arity is equal to one). Predicates may have no arguments; the arity of such predicates is 0.

The Prolog language grew out of the work of A. Colmerauer on natural language processing and the independent work of Robert Kowalski on applications of logic to programming (1973).

The most famous programming system in Russia is Turbo Prolog - a commercial implementation of the language for IBM-compatible PCs. In 1988, a much more powerful version of Turbo Prolog 2.0 was released, including an improved integrated program development environment, a fast compiler, and low-level programming tools. Borland distributed this version until 1990, and then PDC acquired a monopoly on the use of the compiler source code and further promotion of the programming system to the market under the name PDC Prolog.

In 1996, the Prolog Development Center released Visual Prolog 4.0 to the market. The Visual Prolog environment uses an approach called “visual programming”, in which the appearance and behavior of programs are determined using special graphic tools design without traditional programming in an algorithmic language.

Visual Prolog includes an interactive Visual Development Environment (VDE), which includes text and various graphic editor, code generation tools that construct control logic (Experts), as well as an interface that is an extension of the language visual programming(VPI - Visual Programming Interface), Prolog compiler, a set of various plug-in files and libraries, a link editor, files containing examples and help.

5.2. Suggestions: facts and rules

A PROLOG program consists of statements, which can be facts, rules, or queries.

Fact is a statement that a certain specific relationship between objects is observed. A fact is used to show a simple relationship between data.

Fact structure:

<имя_отношения>(t1,t2,...,tn)), t1,t2,...,tn – objects

Examples of facts:

studies (Ira, university). % Ira studies at university

parent (Ivan, Alexey). % Ivan is the parent of Alexey

programming_language (prologue). % Prolog is a programming language

The set of facts is database. In the form of a fact, the program records data that is accepted as truth and does not require proof.

Rules are used to establish relationships between objects based on available facts.

Rule structure:

<имя_правила> :- <тело правила>or

<имя_правила >if<тело правила>

The left side of the inference rule is called head rules, and the right side is body. The body can consist of several conditions, separated by commas or semicolons. A comma means a logical AND operation, a semicolon means a logical OR operation. Sentences use variables to generalize the rules of inference. Variables are valid only in one sentence. The name in different sentences refers to different objects. All sentences must end with a period.

Examples of rules:

mother (X, Y): - parent (X, Y), woman (X).

student (X) :- studying (X, institute); studies (X, university).

A rule differs from a fact in that a fact is always true, and a rule is true if all the statements that make up the body of the rule are satisfied. Facts and rules form knowledge base.

If you have a database, you can write request(goal) to her. A request is a statement of the problem that the program must solve. Its structure is the same as that of a rule or fact. There are queries with constants and queries with variables.

Queries with constants allow you to get one of two answers: “yes” or “no”

For example, there are facts:

knows (Lena, Tanya).

knows (Lena, Sasha).

knows (Sasha, Tanya).

a) Does Lena know Sasha?

request: knows (Lena, Sasha).

Result: yes

b) Does Tanya know Lena?

request knows (Tanya, Lena).

Result: no

If the query includes a variable, the interpreter tries to find its values ​​such that the query will be true.

a) Who does Lena know?

request: knows (Lena, X).

Result:

X = Tanya

X = Sasha

b) Who knows Sasha?

request: knows (X, Sasha).

Result: X = Lena

Queries can be compound, that is, they can consist of several simple queries. They are united by the sign “,”, which is understood as the logical connective “and”.

Simple queries are called subgoal, a compound query evaluates to true when each subgoal is true.

To answer whether Lena and Sasha have mutual acquaintances, you should create a query:

knows (Lena, X), knows (Sasha, X).

Result:

X = Tanya

5.4. Variables in PROLOG

A variable in PROLOG is not treated as an allocated area of ​​memory. It is used to designate an object that cannot be referred to by name. A variable can be considered a local name for some object.

The variable name must begin with a capital letter or an underscore and contain only alphanumeric and underscore characters: X, _y, AB, X1. A variable that has no value is called free, a variable that has a value – specific.

A variable consisting only of an underscore is called anonymous and is used if its value is unimportant. For example, there are facts:

parent (Ira, Tanya).

parent (Misha, Tanya).

parent (Olya, Ira).

Required to identify all parents

Request: parent(X, _)

Result:

X = Ira

X = Misha

X = Olya

The scope of a variable is assertion. Within a statement, the same name belongs to the same variable. Two statements can use the same variable name in completely different ways.

There is no assignment operator in PROLOG; its role is played by the equality operator =. The target X=5 can be considered as a comparison (if variable X has a value) or as an assignment (if variable X is free).

In PROLOG you cannot write X=X+5 to increase the value of a variable. A new variable should be used: Y=X+5.

5.5. Objects and data types in PROLOG

Data objects in PROLOG are called therms. A term can be a constant, a variable, or a compound term (structure). Constants are integers and real numbers (0, - l, 123.4, 0.23E-5), as well as atoms.

Atom– any sequence of characters enclosed in quotation marks. Quotes are omitted if the string begins with a lowercase letter and contains only letters, numbers, and underscores (that is, if it can be distinguished from variable designations). Examples of atoms:

abcd, “a+b”, “student Ivanov”, prologue, “Prologue”.

Structure allows you to combine several objects into a single whole. It consists of a functor (name) and a sequence of terms.

The number of components in a structure is called the arity of the structure: data/3.

A structure can contain another structure as one of its objects.

birthday_day (person(“Masha”,”Ivanova”), data(April 15, 1983))

Domain in PROLOG is called a data type. Standard domains are:

integer – whole numbers.

real – real numbers.

string – strings (any sequence of characters enclosed in quotes).

char is a single character enclosed in apostrophes.

symbol – a sequence of Latin letters, numbers and underscores, starting with a lowercase letter, or any sequence of characters enclosed in quotation marks.

5.6. Main sections of a PROLOG program

Typically, a PROLOG program consists of four sections.

DOMAINS– section for describing domains (types). This section is used if the program uses non-standard domains.

For example:

PREDICATES – predicate description section. The section is used if the program uses non-standard predicates.

For example:

knows (name, name)

student (name)

CLAUSES – suggestions section. It is in this section that sentences are written: facts and rules of inference.

For example:

knows (Lena, Ivan).

student (Ivan).

familiar_student(X, Y):- knows(X, Y), student(Y).

GOAL – target section. The request is written in this section.

For example:

sign_student(lena, X).

The simplest program may contain only a GOAL section, for example:

write (“Enter your name: ”), readln (Name),

write("Hello, ", Name, "!").

The textbook introduces readers to the history of artificial intelligence, knowledge representation models, expert systems and neural networks. The main directions and methods used in the analysis, development and implementation of intelligent systems are described. Models of knowledge representation and methods of working with them, methods of developing and creating expert systems are considered. The book will help the reader master the skills of logical design of domain databases and programming in the ProLog language.
For students and teachers of pedagogical universities, teachers of secondary schools, gymnasiums, lyceums.

The concept of artificial intelligence.
An artificial intelligence (AI) system is a software system that simulates the human thinking process on a computer. To create such a system, it is necessary to study the very thinking process of a person solving certain problems or making decisions in a specific area, highlight the main steps of this process and develop software that reproduces them on a computer. Therefore, AI methods take a simple structured approach to developing complex software decision-making systems.

Artificial intelligence is a branch of computer science whose goal is to develop hardware and software that allows a non-programmer user to pose and solve their traditionally considered intellectual problems, communicating with a computer in a limited subset of natural language.

TABLE OF CONTENTS
Chapter 1. Artificial Intelligence
1.1. Introduction to Artificial Intelligence Systems
1.1.1. The concept of artificial intelligence
1.1.2. Artificial intelligence in Russia
1.1.3. Functional structure of an artificial intelligence system
1.2. Directions for the development of artificial intelligence
1.3. Data and knowledge. Representation of knowledge in intelligent systems
1.3.1. Data and knowledge. Basic definitions
1.3.2. Knowledge representation models
1.4. Expert systems
1.4.1. Expert system structure
1.4.2. Development and use of expert systems
1.4.3. Classification of expert systems
1.4.4. Representation of knowledge in expert systems
1.4.5. Tools for building expert systems
1.4.6. Expert system development technology
Test questions and assignments for Chapter 1
References for Chapter 1
Chapter 2. Logic programming
2.1. Programming methodologies
2.1.1. Imperative programming methodology
2.1.2. Object-oriented programming methodology
2.1.3. Functional programming methodology
2.1.4. Logic programming methodology
2.1.5. Constraint Programming Methodology
2.1.6. Neural network programming methodology
2.2. A Brief Introduction to Predicate Calculus and Theorem Proving
2.3. Inference Process in Prolog
2.4. Program structure in Prolog language
2.4.1. Using Composite Objects
2.4.2. Using alternative domains
2.5. Organizing repetition in Prolog
2.5.1. Rollback method after failure
2.5.2. Cut and rollback method
2.5.3. Simple recursion
2.5.4. Generalized recursion rule (GRR) method
2.6. Lists in Prolog
2.6.1. Operations on lists
2.7. Strings in Prolog
2.7.1. String Operations
2.8. Files in Prolog
2.8.1. Prolog predicates for working with files
2.8.2. File domain description
2.8.3. Write to file
2.8.4. Reading from a file
2.8.5. Modifying an existing file
2.8.6. Appending to the end of an existing file
2.9. Creating dynamic databases in Prolog
2.9.1. Databases in Prolog
2.9.2. Dynamic Database Predicates in Prolog
2.10. Creation of expert systems
2.10.1. Expert system structure
2.10.2. Knowledge representation
2.10.3. Withdrawal Methods
2.10.4. User Interface System
2.10.5. Rule-based expert system
Test questions and assignments for Chapter 2
References for Chapter 2
Chapter 3. Neural networks
3.1. Introduction to Neural Networks
3.2. Artificial neuron model
3.3. Application of neural networks
3.4. Neural network training
Test questions and assignments for Chapter 3
References for Chapter 3.

Download the e-book for free in a convenient format, watch and read:
Download the book Fundamentals of Artificial Intelligence, Borovskaya E.V., Davydova N.A., 2016 - fileskachat.com, fast and free download.

Kolomna Institute (branch)

State educational institution of higher education

vocational education

"MOSCOW STATE OPEN UNIVERSITY"

Department of Informatics and Information Technologies

"APPROVED"

Educational and methodological

Council of KI (f) MGOU

Chairman of the board

Professor

A.M. Lipatov

"___" ____________ 2010

P.S. Romanov

BASICS OF ARTIFICIAL INTELLIGENCE

Textbook for disciplines of the direction

"Informatics and Computer Science"

For university students

Kolomna – 2010

U

Published in accordance with the decision of the educational and methodological council of the Kolomna Institute (branch) of the State Educational Institution of Higher Professional Education "MGOU" dated __________ 2010 City No. ________

DK 519.6

P69 Romanov P.S.

Fundamentals of artificial intelligence. Tutorial. – Kolomna: KI (f) MGOU, 2010. – 164 p.

The tutorial covers the basics of artificial intelligence. The basic concepts of artificial intelligence are presented. The provisions of the theory of fuzzy sets are given. The main intelligent systems, their purpose, classification, characteristics, problems of creation, examples are considered.

The textbook is intended for students of higher educational institutions studying in the field of “Informatics and Computer Science”. Can be used when studying intelligent information systems by students of other specialties.

Reviewer: Doctor of Technical Sciences, Professor V.G. Novikov

©Romanov P.S.

©KI(f) MGOU, 2010

Introduction…………………………………………………………………………………………...5

Chapter 1. Basic concepts of artificial intelligence...................................6

§ 1.1. Basic terms and definitions............................................................. .....6

§ 1.2. History of the development of AI systems................................................................. .............12

§ 1.4. Main directions of development and application

intelligent systems........................................................ ................25

Chapter 2. Provisions of the theory of fuzzy sets.................................................... 32

§ 2.1. Fuzzy set. Operations on fuzzy sets…..32

§ 2.1.1. Basic operations on fuzzy sets....................................35

§ 2.2. Construction of the membership function...................................................38

§ 2.2.1. Some methods for constructing a membership function......39

§ 2.3. Fuzzy numbers........................................................ ................................44

§ 2.4. Operations with fuzzy numbers (L-R) type....................................................46

§ 2.5. Fuzzy and linguistic variables...................................................47

§ 2.6. Fuzzy relationships................................................... ........................50

§ 2.7. Fuzzy logic................................................... ................................51

§ 2.8. Fuzzy conclusions........................................................ ........................53

§ 2.9. Automation of information processing using

fuzzy systems................................................... ................................59

Chapter 3. Basic intelligent systems...................................................64

§ 3.1. Data and knowledge........................................................ ................................64

§ 3.2. Models of knowledge representation......................................................... .........66

§ 3.3.1. Product rules................................................... ...............69

§ 3.3.2. Frames........................................................ ........................................72

§ 3.3.3. Semantic networks........................................................ ......................74

§ 3.4. Expert systems. Subject areas...................................76

§ 3.5. Purpose and scope of expert systems.................................77

§ 3.6. Methodology for developing expert systems...................................81

§ 3.7. Basic expert systems........................................................ .........86

§ 3.8. Difficulties in developing expert systems and ways to solve them

overcoming................................................... ....................................90

§ 3.9. Purpose, classification of robots.................................................... 94

§ 3.10. Examples of robots and robotic systems............................................97

§ 3.10.1. Home (household) robots.................................................... ....97

§ 3.10.2. Rescue and research robots....................................99

§ 3.10.3. Robots for industry and medicine........................100

§ 3.10.4. Military robots and robotic systems.................................101

§ 3.10.5. The brain as an analog-to-digital device....................................104

§ 3.10.6. Robots - toys......................................................... ....................104

§ 3.11. Problems of technical implementation of robots...................................105

§ 3.12. Adaptive industrial robots...................................................114

§ 3.12.1. Adaptation and training......................................................... .............114

§ 3.12.2. Classification of adaptive control systems

industrial robots........................................................ ...117

§ 3.12.3. Examples of adaptive robot control systems............123

§ 3.12.4. Problems in creating industrial robots...................128

§ 3.13. Neural network and neurocomputer technologies.................................132

§ 3.13.1. General characteristics of the direction...................................132

§ 3.13.2. Neuropackets........................................................ ...........................140

§ 3.14. Neural networks................................................ ........................147

§ 3.14.1. Perceptron and its development.................................................... .....147

3.14.1.1. McCulloch-Pitts mathematical neuron................147

3.14.1.2. Rosenblatt's Perceptron and Hebb's Rule....................................148

3.14.1.3. Delta Rule and Letter Recognition....................................150

3.14.1.4. Adaline, madaline and the generalized delta rule..........152

§ 3.14.2. Multilayer perceptron and inverse algorithm

error propagation................................................................ .....155

§ 3.14.3. Types of activation functions...................................................160

Introduction

The science called “artificial intelligence” is part of the complex computer science, and the technologies created on its basis belong to information technologies. The task of this science is to provide intelligent reasoning and action with the help of computer systems and other artificial devices. As an independent scientific field, artificial intelligence (AI) has existed for just over a quarter of a century. During this time, society's attitude towards specialists engaged in such research has undergone an evolution from skepticism to respect. In advanced countries, work in the field of intelligent systems is supported at all levels of society. There is a strong opinion that it is these studies that will determine the nature of the information society, which is already replacing industrial civilization, which reached its highest point of prosperity in the 20th century. Over the past years of the formation of AI as a special scientific discipline, its conceptual models have been formed, specific methods and techniques that belong only to it have accumulated, and some fundamental paradigms have become established. Artificial intelligence has become a completely respectable science, no less honorable and necessary than physics or biology.

Artificial intelligence is an experimental science. The experimental nature of AI lies in the fact that when creating certain computer representations and models, the researcher compares their behavior with each other and with examples of how a specialist solves the same problems, modifies them based on this comparison, trying to achieve a better match of the results. In order for modification of programs to improve results in a “monotonous” way, one must have reasonable initial ideas and models. They are provided by psychological studies of consciousness, in particular cognitive psychology.

An important characteristic of AI methods is that it deals only with those competence mechanisms that are verbal in nature (allowing symbolic representation). Not all the mechanisms that a person uses to solve problems are like this.

The book presents the basics of AI, which make it possible to navigate a large number of publications devoted to the problems of artificial intelligence and gain the necessary knowledge in this field of science.

Maslennikova O.E. , Popova I.V.

Tutorial. Magnitogorsk: MaSU, 2008. 282 pp. The textbook outlines models of knowledge representation, the theory of expert systems, the basics of logical and functional programming. Much attention is paid to the history of the development of artificial intelligence. The presentation of the material is accompanied by a large number of illustrations, exercises and questions for self-control are offered.
The work is aimed at full-time and part-time students studying in the areas of “Computer Science”, “Physics and Mathematics Education (Profile – Computer Science)”. Introduction to artificial intelligence.
History of the development of artificial intelligence as a scientific direction.
Main directions of research in the field of artificial intelligence.
Philosophical aspects of the problem of artificial intelligence.
Questions for self-control.
Literature.
Models of knowledge representation.
Knowledge.
Logical model of knowledge representation.
Semantic networks.
Frames.
Product model.
Other knowledge representation models.
Exercises.
Questions for self-control.
Literature.
Expert systems.
The concept of an expert system.
Types of expert systems and types of problems to be solved.
Structure and operating modes of the expert system.
Technology for developing expert systems.
Expert system tools.
Intelligent information systems.
Exercises.
Questions for self-control.
Literature.
Prolog as a logic programming language.
Introduction to logic programming.
Representation of knowledge about the subject area in the form of facts and rules of the Prolog knowledge base.
Descriptive, procedural and machine meaning of a Prolog program.
Basic programming techniques in Prolog.
Visual Prolog environment.
Exercises.
Literature.
Introduction to functional programming.
History of functional programming.
Properties of functional programming languages.
Functional programming tasks.
Exercises.
Answers for self-test.
Literature.
ssariy.
Annex 1.
Appendix 2.
Appendix 3.

The file will be sent to selected email address. It may take up to 1-5 minutes before you received it.

The file will be sent to your Kindle account. It may take up to 1-5 minutes before you received it.
Please note you"ve to add our email [email protected] to approved e-mail addresses. Read more.

You can write a book review and share your experiences. Other readers will always be interested in your opinion of the books you"ve read. Whether you"ve loved the book or not, if you give your honest and detailed thoughts then people will find new books that are right for them.

Ministry of Education and Science of the Russian Federation State Educational Institution of Higher Professional Education "Magnitogorsk State University" O.E. Maslennikova, I.V. Popova Fundamentals of Artificial Intelligence Textbook Magnitogorsk 2008 UDC 681.142.1.01 BBK Z97 M Reviewers: Doctor of Physical and Mathematical Sciences, Professor S.I. Kadchenko Doctor of Technical Sciences, Professor A.S. Sarvarov M Maslennikova O.E., Popova I.V. Fundamentals of artificial intelligence: textbook. allowance / O.E. Maslennikova, I.V. Popova. - Magnitogorsk: MaSU, 2008. - 282 p. ISBN 978-5.86781-609-4 The textbook outlines knowledge representation models, the theory of expert systems, and the basics of logical and functional programming. Much attention is paid to the history of the development of artificial intelligence. The presentation of the material is accompanied by a large number of illustrations, exercises and questions for self-control are offered. The work is aimed at full-time and part-time students studying in the areas of “Informatics”, “Physics and mathematics education (Profile – computer science)”. UDC 681.142.1.01 BBK Z97 ISBN 978-5.86781-609-4  Maslennikova O.E., Popova I.V., 2008  Magnitogorsk State University, 2008 -2- CONTENTS CHAPTER 1. INTRODUCTION TO ARTIFICIAL INTELLIGENCE..... .............. 5 1.1. HISTORY OF THE DEVELOPMENT OF ARTIFICIAL INTELLIGENCE AS A SCIENTIFIC DIRECTION................................................................... ........................................................ .......... 9 1.2. MAIN DIRECTIONS OF RESEARCH IN THE FIELD OF ARTIFICIAL INTELLIGENCE................................................................... ........................................................ ............ 13 1.3. PHILOSOPHICAL ASPECTS OF THE PROBLEM OF ARTIFICIAL INTELLIGENCE....... 16 QUESTIONS FOR SELF-CONTROL.......................................... ........................................... 21 REFERENCES...... ........................................................ .......................................... 21 CHAPTER 2. MODELS OF KNOWLEDGE REPRESENTATION.................................... 22 2.1. KNOWLEDGE................................................. ........................................................ ....... 22 2.2. LOGICAL MODEL OF KNOWLEDGE REPRESENTATION.................................................... 25 2.3. SEMANTIC NETWORKS.................................................... ............................................. 58 2.4. FRAMES......................................................... ........................................................ ...... 59 2.5. PRODUCT MODEL.................................................... ....................................... 62 2.6. OTHER MODELS OF KNOWLEDGE REPRESENTATION.................................................................... .... 64 EXERCISES................................................. ........................................................ ......... 78 QUESTIONS FOR SELF-CONTROL..................................... ..................................... 83 REFERENCES......... ........................................................ ............................................... 84 CHAPTER 3. EXPERT SYSTEMS................................................................. .......... 86 3.1. THE CONCEPT OF AN EXPERT SYSTEM.................................................................... ............... 86 3.2. TYPES OF EXPERT SYSTEMS AND TYPES OF PROBLEMS SOLVED.................................... 89 3.3. STRUCTURE AND OPERATING MODES OF THE EXPERT SYSTEM.................................................. 99 3.4. TECHNOLOGY FOR EXPERT SYSTEMS DEVELOPMENT.................................................... 102 3.5. EXPERT SYSTEM TOOLS.............................................. 113 3.6. INTELLIGENT INFORMATION SYSTEMS.............................................. 129 EXERCISES............ ........................................................ ..................................... 135 QUESTIONS FOR SELF-CONTROL....... ........................................................ ................. 136 LITERATURE.................................... ........................................................ ....................... 138 CHAPTER 4. PROLOGUE AS A LOGIC PROGRAMMING LANGUAGE................... ........................................................ .......... 139 4.1. INTRODUCTION TO LOGIC PROGRAMMING.................................... 139 4.2. REPRESENTATION OF KNOWLEDGE ABOUT THE SUBJECT DOMAIN IN THE VIEW OF FACTS AND RULES OF THE PROLOGUE KNOWLEDGE BASE...................................................... ................................................... 140 4.3 . DESCRIPTIVE, PROCEDURAL AND MACHINE MEANING OF A PROLOGUE PROGRAM................................................................ ........................................................ ............ 148 4.4. BASIC PROGRAMMING TECHNIQUES IN PROLOGUE.................................... 151 4.5. VISUAL PROLOG ENVIRONMENT.................................................... ................................ 154 EXERCISES................... ........................................................ .................................... 194 REFERENCES............ ........................................................ ......................................... 197 -3- CHAPTER 5. INTRODUCTION FUNCTIONAL PROGRAMMING. ........................................................ ........................... 199 5.1. HISTORY OF FUNCTIONAL PROGRAMMING.................................................. 200 5.2. PROPERTIES OF FUNCTIONAL PROGRAMMING LANGUAGES.................................. 203 5.3. FUNCTIONAL PROGRAMMING PROBLEMS..................................... 207 EXERCISES......... ........................................................ ........................................ 210 SELF-TEST ANSWERS...... ........................................................ ..................... 210 REFERENCES............................... ........................................................ ........................... 211 GLOSSARY.................................... ........................................................ ........................... 213 APPENDIX 1 .................. ........................................................ ........................... 221 APPENDIX 2 ..................... ........................................................ ....................... 252 APPENDIX 3 ............................ ........................................................ ..................... 265 -4- PREFACE Recently, there has been an increase in interest in artificial intelligence, caused by increasing requirements for information systems. Humanity is steadily moving towards a new information revolution, comparable in scale to the development of the Internet. Artificial intelligence is a branch of computer science whose goal is to develop hardware and software that allows a non-programmer user to set and solve their own, traditionally considered intellectual, problems by communicating with a computer in a limited subset of natural language. The history of artificial intelligence as a new scientific direction begins in the middle of the 20th century. By this time, many prerequisites for its origin had already been formed: among philosophers there had long been debate about the nature of man and the process of understanding the world, neurophysiologists and psychologists had developed a number of theories regarding the work of the human brain and thinking, economists and mathematicians asked questions about optimal calculations and the presentation of knowledge about the world in in a formalized form; finally, the foundation of the mathematical theory of calculations - the theory of algorithms - was born and the first computers were created. The purpose of this manual is to outline the main directions and methods used in artificial intelligence, as well as to determine the possibility of their use in professional teaching activities. This study guide consists of five chapters. The first provides a brief introduction to artificial intelligence: the history of its development as a scientific direction is considered, the main areas of artificial intelligence are highlighted, and such philosophical aspects of the problem as the possibility of existence, safety, and usefulness of artificial intelligence are considered. The second chapter is devoted to the description of classical models of knowledge representation: logical, semantic, frame, production and neural network. The third chapter discusses theoretical and practical issues in the development of expert systems; provides a description of the XpertRule shell. The fourth chapter outlines the basic principles of programming in the Prolog language and describes the Visual Prolog environment. The fifth chapter describes the basics of functional programming with examples in LISP. The manual contains a large number of illustrations, exercises and questions for self-control. To make it easier to study the material, a glossary is provided. -5- CHAPTER 1. INTRODUCTION TO ARTIFICIAL INTELLIGENCE Artificial intelligence (AI) is a new direction in computer science, the subject of study of which is any intellectual human activity that obeys pre-known laws. Figuratively, this direction is called “the eldest son of computer science,” since many unsolved problems are gradually finding their solution within the framework of artificial intelligence. It is known that the subject of computer science is information processing. The field of AI includes such cases (tasks) from this processing that cannot be performed using simple and accurate algorithmic methods, and of which there are a great many. AI relies on knowledge about the human thought process. At the same time, it is not known exactly how the human brain works, but to develop effectively working programs with AI elements, the knowledge about the characteristics of human intelligence that science has today is already sufficient. At the same time, AI does not try to exactly copy the work of the human brain, but tries to simulate its functions using computer technology. Since its birth, AI has been developing as an interdisciplinary field, interacting with computer science and cybernetics, cognitive sciences, logic and mathematics, linguistics and psychology, biology and medicine (Fig. 1). Computer science and cybernetics. Many specialists came to AI from computer science and cybernetics. Also, many combinatorial problems that cannot be solved by traditional methods in computer science have migrated to the field of AI. In addition, the results obtained in AI are borrowed when creating software and become part of Computer Science. Cognitive Sciences. Cognitive sciences are the sciences of knowledge. AI is also about knowledge. But cognitive sciences use not only informational and neurobiological approaches, but also consider social and psycholinguistic aspects of the use of knowledge. Logic and mathematics. Logic underlies all known knowledge representation formalisms, as well as programming languages ​​such as Lisp and Prolog. To solve AI problems, methods of discrete mathematics, game theory, and operations theory are used. In turn, AI can be used to prove theorems and solve problems in various fields of mathematics: geometry, integral calculus. Psychology and linguistics. Recently, AI experts have become interested in the psychological aspects of human behavior in order to model it. Psychology helps to build models of value assessments and subjective decision-making. Of interest is the psychology of communication -6- “human-computer”, psycholinguistics. Computational linguistics is a part of AI that is based on mathematical methods for processing natural and artificial languages, on the one hand, and on the phenomenology of language, on the other hand. Biology and medicine allows us to better study and understand the functioning of the brain, vision systems, hearing and other natural sensors and give new impetus to the modeling of their work. Rice. 1. Interaction of AI with other disciplines There is no single definition of AI, just as there is no single definition of natural intelligence. Among the many points of view on this scientific field, three currently dominate. 1. Research in the field of AI is fundamental research, within the framework of which models and methods for solving problems are developed that have traditionally been considered intelligent and were previously not amenable to formalization and automation. 2. AI is a new direction in computer science associated with new ideas for solving problems on a computer, with the development of a fundamentally different programming technology, with the transition to a computer architecture that rejects the classical architecture, which dates back to the first computers. 3. As a result of work in the field of AI, many application systems are being born that solve problems for which previously created systems were not suitable. -7- To illustrate the first approach, we can give an example with a calculator. At the beginning of the century, arithmetic calculations with multi-digit numbers were the lot of a few gifted individuals, and the ability to perform such arithmetic operations in the mind was rightfully considered a unique gift of nature and was the object of scientific research. Nowadays, the invention of the calculator has made this ability accessible even to a third grader. It’s the same in AI: it enhances a person’s intellectual capabilities by taking on the solution of previously unformalized problems. To illustrate the second approach, we can consider the story of an attempt to create a fifth-generation computer. In the mid-80s, Japan announced the start of an ambitious project to create a fifth-generation computer. The project was based on the idea of ​​a hardware implementation of the PROLOG language. However, the project ended in failure, although it had a strong influence on the development and spread of PROLOG as a programming language. The reason for the failure was the hasty conclusion that one language (albeit a fairly universal one) could provide the only solution for all problems. Practice has shown that a universal programming paradigm for solving all problems has not yet been invented and it is unlikely to appear. This is due to the fact that each task is a part of the subject area that requires careful study and a specific approach. Attempts to create new computer architectures continue and are associated with parallel and distributed computing, neurocomputers, probabilistic and fuzzy processors. Work in the field of creating expert systems (ES) can be classified as the third, most pragmatic direction in AI. Expert systems are software systems that replace a human specialist in narrow areas of intellectual activity that require the use of special knowledge. The creation of an electronic system in the field of medicine (such as MYCIN) allows the dissemination of knowledge to the most remote areas. Thus, in combination with telecommunications access, any rural doctor can receive advice from such a system, which replaces his communication with a specialist on a narrow issue. In Russia, AI has found its supporters almost from the moment of its appearance. However, this discipline did not immediately receive official recognition. AI has been criticized as a sub-branch of cybernetics, considered a "pseudoscience". Until a certain point in time, the shocking name “artificial intelligence” also played a negative role. Thus, there was a joke in the Presidium of the Academy of Sciences that “those who lack natural intelligence are engaged in artificial intelligence.” However, today AI is an officially recognized scientific direction in Russia, the journals “Control Systems and Machines” and “AI News” are published, scientific conferences and seminars are held. There is a Russian AI Association with about 200 members, whose president is Doctor of Technical Sciences D. A. Pospelov, and -8- RAS Academician G.S. Pospelov as honorary president. There is a Russian Institute of Artificial Intelligence under the Council of the President of the Russian Federation on Informatics and Computer Science. Within the RAS there is a Scientific Council on the problem of “Artificial Intelligence”. With the participation of this Council, many books on the topic of AI and translations have been published. The works of D.A. Pospelov, Litvintseva and Kandrashina are well known - in the field of knowledge representation and processing, E.V. Popov and Khoroshevsky - in the field of natural language processing and expert systems, Averkin and Melikhov in the field of fuzzy logic and fuzzy sets, Stefanyuk - in the field of learning systems, Kuznetsov, Finn and Vagin - in the field of logic and knowledge representation. In Russia there is a traditionally strong computer linguistic school, which originates from the work on the “SenseText” model of Melchuk. Among the famous computer linguists one can name Apresyan, Gorodetsky, Paducheva, Narignani, Leontyeva, Shalyapina, Zaliznyak Sr., Kibrik Sr., Baranov and many others. etc. 1.1. History of the development of artificial intelligence as a scientific direction The idea of ​​​​creating an artificial likeness of the human mind to solve complex problems and simulate thinking ability has been in the air since ancient times. In ancient Egypt, a “come to life” mechanical statue of the god Amun was created. In Homer's Iliad, the god Hephaestus forged humanoid creatures, automata. This idea has been played out many times in literature: from Pygmalion’s Galatea to Pope Carlo’s Pinocchio. However, the ancestor of artificial intelligence is considered to be the medieval Spanish philosopher, mathematician and poet R. Lull (c.1235-c.1315), who in the 14th century. tried to create a machine for solving various problems based on a universal classification of concepts. In the 18th century G. Leibniz (1646 - 1716) and R. Descartes (1596 - 1650) independently developed this idea, proposing universal languages ​​for the classification of all sciences. These ideas formed the basis for theoretical developments in the field of artificial intelligence (Fig. 2). The development of artificial intelligence as a scientific direction became possible only after the creation of computers. This happened in the 40s. XX century At the same time, N. Wiener (1894 - 1964) created his fundamental works on the new science of cybernetics. The term artificial intelligence was proposed in 1956 at a seminar with the same name at Stanford University (USA). The seminar was devoted to the development of logical, rather than computational problems. Soon after artificial intelligence was recognized as an independent branch of science, a division occurred into two main areas: neurocybernetics and “black box” cybernetics. And only at the present -9- time tendencies towards combining these parts again into a single whole have become noticeable. In the USSR, in 1954, at Moscow State University, under the leadership of Professor A.A. Lyapunov (1911 - 1973), the seminar “Automata and Thinking” began its work. This seminar was attended by prominent physiologists, linguists, psychologists, and mathematicians. It is generally accepted that it was at this time that artificial intelligence was born in Russia. As abroad, the areas of neurocybernetics and “black box” cybernetics have emerged. In 1956 -1963. Intensive searches were carried out for models and algorithms of human thinking and the development of the first programs. It turned out that none of the existing sciences - philosophy, psychology, linguistics - can offer such an algorithm. Then cybernetics proposed creating their own models. Various approaches have been created and tested. The first research in the field of AI was associated with the creation of a program for playing chess, as it was believed that the ability to play chess was an indicator of high intelligence. In 1954, the American scientist Newell conceived the idea of ​​creating such a program. Shannon proposed, and Turing refined, a method for creating such a program. Americans Shaw and Simon, in collaboration with a group of Dutch psychologists from Amsterdam under the leadership of de Groot, created such a program. Along the way, a special language IPL1 (1956) was created, designed to manipulate information in symbolic form, which was the predecessor of the Lisp language (MacCarthy, 1960). However, the first artificial intelligence program was the Theoretical Logician program, designed to prove theorems in the propositional calculus (August 9, 1956). A program for playing chess was created in 1957 (NSS - Newell, Shaw, Simon). Its structure and the structure of the Logic-Theorist program formed the basis for the creation of the Universal Problem Solving program (GPS-General Problem Solving). By analyzing the differences between situations and constructing goals, this program is good at solving Tower of Hanoi puzzles or calculating indefinite integrals. The EPAM (Elementary Perceiving and Memorizing Program) program is an elementary program for perception and memorization, conceived by Feigenbaum. In 1957, an article on transformational grammars by Chomsky, one of the founders of computational linguistics, appeared. At the end of the 50s. The labyrinth search model was born. This approach represents the problem as a graph reflecting the state space1, and in this graph the optimal path from the input data to the resultant data is searched. Much work has been done to develop this model, but the idea has not gained wide acceptance in solving practical problems. 1 State space is a graph whose vertices correspond to situations encountered in the problem (“problem situations”), and solving the problem comes down to finding a path in this graph. - 10 - Early 60s. - the era of heuristic programming. Heuristics are a rule that is not theoretically justified, but allows you to reduce the number of searches in the search space. Heuristic programming is the development of an action strategy based on known, predetermined heuristics. In the 60s, the first programs were created that worked with queries in natural language. The BASEBALL program (Green et al., 1961) responded to requests for results of past baseball matches, and the STUDENT program (Bobrow, 1964) was able to solve algebraic problems formulated in English. Rice. 2. Milestones in the development of AI as a scientific direction Great hopes were placed on work in the field of machine translation, the beginning of which is associated with the name of the domestic linguist Belskaya. However, it took many years for researchers to realize that automatic translation is not an isolated problem and requires a necessary step called understanding to be successful. Among the most significant results obtained by domestic scientists in the 60s, it should be noted the “Cora” algorithm by M. Bongard, which models the activity of the human brain in pattern recognition. In 1963 - 1970 Methods of mathematical logic began to be used to solve problems. A new approach to formal logic, based on bringing reasoning to a contradiction, appeared in 1965 - 11 - (J. Robinson). Based on the resolution method, which made it possible to automatically prove theorems in the presence of a set of initial axioms, the Prolog language was created in 1973. In the USSR in 1954 - 1964. separate programs are created and the search for solutions to logical problems is explored. In Leningrad (LOMI - Leningrad Department of the V.A. Steklov Mathematical Institute), a program is being created that automatically proves theorems (ALPEV LOMI). It is based on the original inverse derivation of S.Yu. Maslov, similar to Robinson’s resolution method. In 1965-1980 a new science is being developed - situational management (corresponds to the representation of knowledge in Western terminology). The founder of this scientific school is Professor D.A. Pospelov. Special models for representing situations have been developed - representing knowledge. Abroad, research in the field of AI is accompanied by the development of new generation programming languages ​​and the creation of increasingly sophisticated programming systems (Lisp, Prolog, Plannar, QA4, Macsyma, Reduce, Refal, ATNL, TMS). The results obtained are beginning to be used in robotics, when controlling robots, stationary or mobile, operating in real three-dimensional space. This raises the problem of creating artificial organs of perception. Until 1968, researchers worked mainly with individual “microspaces”, they created systems suitable for such specific and limited application areas as games, Euclidean geometry, integral calculus, “cube world”, processing of simple and short phrases with a small vocabulary . Almost all of these systems used the same approach - simplification of combinatorics, based on reducing the necessary search of alternatives based on common sense, the use of numerical evaluation functions and various heuristics. In the early 70s, there was a qualitative leap in artificial intelligence research. This is due to two reasons.  Firstly. All researchers gradually realized that all previously created programs lacked the most important thing - deep knowledge in the relevant field. The difference between an expert and an ordinary person is that an expert has experience in a given field, i.e. years of accumulated knowledge.  Secondly. A specific problem arises: how to transfer this knowledge to a program if its direct creator does not possess this knowledge. The answer is clear: the program itself must isolate them from the data received from the expert. Research on problem solving and natural language understanding has one common problem: knowledge representation. By 1970, there were - 12 - many programs created based on these ideas. The first of these is the DENDRAL program. It is designed to generate structural formulas of chemical compounds based on information received from the mass spectrometer. The program was developed at Stanford with the participation of Nobel laureate D. Lederberg. She gained experience in the process of her own functioning. The expert put into it many thousands of elementary facts, presented in the form of separate rules. The system in question was one of the first expert systems and the results of its work are amazing. Currently, the system is supplied to consumers along with a spectrometer. In 1971, Terry Winograd developed the SHRDLU system, which simulates a robot that manipulates cubes. You can speak English with the robot. The system is interested not only in the syntax of phrases, but also correctly understands their meaning thanks to semantic and pragmatic knowledge about its “world of cubes.” Since the mid-80s, artificial intelligence has been commercialized abroad. Annual capital investments are growing, industrial expert systems are being created. There is growing interest in self-learning systems. In our country 1980-1990. Active research is being carried out in the field of knowledge representation, knowledge representation languages ​​and expert systems are being developed (more than 300). The REFAL language is being created at Moscow State University. In 1988, AAI - Association of Artificial Intelligence - was created. Its members include more than 300 researchers. President of the Association - D.A. Pospelov. The largest centers are in Moscow, St. Petersburg, Pereslavl-Zalessky, Novosibirsk. 1.2. Main directions of research in the field of artificial intelligence Currently, AI is a rapidly developing and highly ramified scientific field. More than 40 conferences are held annually in the world on computational linguistics alone. National AI conferences are regularly held in almost every European country, as well as the USA, Canada, Japan, Russia, and Southeast Asia. In Russia, this event is held every two years under the auspices of the Russian Association for AI (RAAI). In addition, the International Joint Conference on AI (IJCAI) is held every two years. More than 3 thousand periodicals publish scientific results in this area. There is no complete and strict classification of all areas of AI; an attempt to classify the problems that AI solves is presented in Fig. 3. According to the classification of D.A. Pospelov in AI there are two dominant approaches to research in the field of AI: neurobionic and informational (Fig. 4 and 5). - 13 - tasks General Formal Expert Perception Games (Chess, Go, puzzles) Engineering Natural language processing Mathematics Scientific analysis Common sense reasoning geometry Financial analysis Robot control Program verification Medical diagnostics Fig. 3. Objectives of AI Proponents of the first set themselves the goal of artificially reproducing the processes that occur in the human brain. This direction is at the intersection of medicine, biology and cybernetics. At the same time, they study the human brain, identify how it works, create technical means to replicate biological structures and processes occurring in them. The field of AI can be divided into five large sections: − neural-like structures; − programs for solving intellectual problems; − knowledge-based systems; − intelligent programming; − intelligent systems. Each section can be represented as follows (see Figure 4-9). - 14 - Fig. 4. Neuron-like structures Fig. 5. Programs for solving intellectual problems Fig. 6. Knowledge-based systems - 15 - Fig. 7. Intelligent programming Fig. 8. Intelligent systems 1.3. Philosophical aspects of the problem of artificial intelligence The main philosophical problem in the field of artificial intelligence is related to the search for an answer to the question: is it possible or not to simulate human thinking. If the answer to this question is ever negative, then all other questions in the field of AI will not make the slightest sense. Therefore, when starting artificial intelligence research, a positive answer is assumed in advance. Evidence of the possibility of modeling human thinking. 1. Scholastic: consistency of artificial intelligence and the Bible. Apparently, even those who are far from religion know the words of the Holy Scripture: “And the Lord created man in his own image and likeness...”. Based on these words, we can conclude that since the Lord, firstly, created people, and secondly, they are essentially similar to him, then people are quite capable of creating someone in the image and likeness of a person. 2. Biological. Creating a new mind biologically is quite common for humans. Observing children, we see that - 16 - they acquire most of their knowledge through learning, and not as inherent in them in advance. This statement has not been proven at the modern level, but from external signs everything looks exactly like this. 3. Empirical. What previously seemed like the pinnacle of human creativity - playing chess, checkers, recognizing visual and sound images, synthesizing new technical solutions - turned out to be not such a difficult task in practice. Now the work is not at the level of possibility or impossibility of implementing the above, but about finding the most optimal algorithm - often these problems are not even considered problems of artificial intelligence. It is hoped that a complete simulation of human thinking is also possible. 4. Possibility of self-reproduction. The ability to reproduce itself has long been considered the prerogative of living organisms. However, some phenomena that occur in inanimate nature (for example, the growth of crystals, the synthesis of complex molecules by copying) are very similar to self-reproduction. In the early 50s, J. von Neumann began a thorough study of self-reproduction and laid the foundations for the mathematical theory of “self-reproducing automata.” He also proved the theoretical possibility of their creation. There are also various informal proofs of the possibility of self-reproduction, but for programmers, the most striking proof, perhaps, will be the existence of computer viruses. 5. Algorithmic. The fundamental possibility of automating the solution of intellectual problems using a computer is ensured by the property of algorithmic universality. This property of computers means that they can implement programmatically (i.e., present in the form of a machine program) any information conversion algorithms. Moreover, the processes generated by these algorithms are potentially feasible, i.e., that they are feasible as a result of a finite number of elementary operations. The practical feasibility of algorithms depends on the available tools, which may change as technology advances. Thus, in connection with the advent of high-speed computers, algorithms that were previously only potentially feasible have become practically feasible. In addition, the content of this property is predictive in nature: whenever in the future any prescription is recognized by an algorithm, then, regardless of the form and means in which it is initially expressed, it can also be specified in the form of a machine program. However, one should not think that computers and robots can, in principle, solve any problem. Analysis of various problems led mathematicians to a remarkable discovery. It has been rigorously proven that there are types of problems for which a single effective algorithm that solves all problems of a given type is impossible; in this sense, it is impossible to solve problems of this type with the help of computers. This fact contributes to a better understanding of what machines can do and what they cannot do. In fact, a statement about the algorithmic unsolvability of a certain class of problems is not simply an admission that such an algorithm is unknown and has not yet been found by anyone. Such a statement is at the same time a forecast for all future times that this kind of algorithm is not known to us and will not be indicated by anyone or, in other words, that it does not exist. AI can be considered among the tools (intelligent and non-intelligent) that were created and mastered by humanity along the path of its historical development. These include:  hand tools;  machines and machines;  language and speech;  counting machines;  means of VT and telecommunications. Philosophers argue that tool production (in the broad sense of the word) is the most important activity that distinguishes our ancestors from other primates. Human beings stand out among animals in their ability to produce knowledge and tools. No other technological or socio-political invention has caused such a gigantic gap in the development of the homo sapiens species from other species of living nature. The development of computer technology can be broadly divided into two areas: digital processing and symbolic processing. The first direction made information much more convenient to store, process and transmit than all previous improvements in paper technology. The computer surpassed all computing tools of the past (abacus, abacus, adding machine) in speed, variety of functions, and ease of use. Consistently expanding the scope of automation in the field of monotonous mental work, digital information processing has expanded the scope of the printing press and the industrial revolution to new frontiers. The second branch of computer technology, sign processing (Newell and Simon's term) or artificial intelligence, allowed the computer to imitate the processes of sensory perception and orientation, reasoning and problem solving, natural language processing, and other human abilities. In other words, AI is the new kind tools alternative to existing ones. This reality has forced AI philosophers to move beyond the question “Is it possible to create an intelligent machine?” to the problem of the influence of intellectual tools on society. In particular, the possible social effect from the development of AI is considered, namely: - 18 - increasing the level of intelligence of the entire society, which will give new discoveries, inventions and a new understanding of humanity for itself.  changing the situation where the majority of people are a means and instrument of production. The next philosophical question about AI is the purpose of creation. In principle, everything we do in practical life is usually aimed at doing nothing else. However, with a sufficiently high standard of living (a large amount of potential energy) a person’s primary role is no longer laziness (in the sense of the desire to save energy), but search instincts. Let us assume that a person has managed to create an intellect that exceeds his own (even if not in quality, but in quantity). What will happen to humanity now? What role will the person play? What is it used for now? And in general, is it necessary to create AI in principle? Apparently, the most acceptable answer to these questions is the concept of an “intelligence enhancer” (IA). According to S.L. Sotnik, an analogy with the president of the state is appropriate here - he is not required to know the valency of vanadium or the Java programming language to make a decision on the development of the vanadium industry. Everyone does their own thing - the chemist describes technological process , a programmer writes a program; the economist tells the president that by investing money in industrial espionage, the country will receive 20%, and in the vanadium industry - 30% per annum. I think that with this formulation of the question, anyone can make the right choice. In this example, the president uses a biological UI - a group of specialists with their protein brains. But already now non-living UIs are also used - for example, computers, on-board computers. In addition, a person has long been using force amplifiers (SA) - a concept in many ways similar to FE. Cars, cranes, electric motors, presses, guns, airplanes and much, much more serve as force amplifiers. The main difference between UI and CS is the presence of will: the former can have his own “desires” and act differently from what is expected of him. This raises the issue of security for AI systems. How to avoid the negative consequences that accompany any new achievement of scientific and technological revolution? This problem has haunted the minds of humanity since the time of Karel Capek, who first used the term “robot.” Other science fiction writers also made a major contribution to its discussion. The most famous are a series of stories by science fiction writer and scientist Isaac Asimov, in whom you can find the most developed solution to the security problem that is accepted by the majority of people. We are talking about the three laws of robotics. 1. A robot cannot cause harm to a person or, through inaction, allow a person to be harmed.  - 19 - 2. A robot must obey the commands given to it by a person, except in cases where these commands contradict the first law. 3. A robot must take care of its safety, as far as this does not contradict the first and second laws. Asimov subsequently adds the “Zero Law” to this list: “A robot cannot cause harm to humanity or, through inaction, allow humanity to come to harm.” At first glance, such laws, if fully observed, should ensure the safety of humanity. However, upon closer examination, some questions arise. First, the laws are formulated in human language, which does not allow for their easy translation into algorithmic form. Let's assume this problem is solved. Now, what would an AI system mean by the term “harm”? Will she decide that the very existence of man is a complete harm? After all, he smokes, drinks, grows old over the years and loses his health, suffers. Wouldn't it be the lesser evil to quickly end this chain of suffering? Of course, you can introduce some additions related to the value of life and freedom of expression. But these will no longer be the simple three laws that were in the original. Next: what will the AI ​​system decide in a situation where saving one life is possible only at the expense of another? Particularly interesting are those cases when the system does not have complete information about who is who. However, despite the problems listed above, these laws are a pretty good informal basis for checking the reliability of the security system for AI systems. So, is there really no reliable security system? If we start from the concept of UI, we can offer the following option. According to numerous experiments, despite the lack of reliable data on what each individual neuron in the human brain is responsible for, many of the emotions usually correspond to the firing of a group of neurons (neural ensemble) in a completely predictable area. Reverse experiments have also been conducted where irritation of a specific area produces the desired result. These could be emotions of joy, oppression, fear, aggressiveness. Thus, it seems possible to take the degree of satisfaction of the human host brain as the objective function. If you take measures to eliminate self-destructive activities in a state of depression, and also provide for other special mental states, you will get the following. Since it is assumed that a normal person will not harm himself and, without any particular reason, others, and the UI is now part of a given individual (not necessarily a physical community), then all three laws of robotics are automatically satisfied. At the same time, security issues are shifting to the field of psychology and law enforcement, since - 20 - the system (trained) will not do anything that its owner does not want. Questions for self-control 1. What is artificial intelligence? 2. What scientific areas does artificial intelligence interact with? 3. Describe approaches to understanding the subject of artificial intelligence as a scientific discipline. 4. Describe the current state of AI in Russia. 5. Describe the “pre-computer” stage of the development of artificial intelligence. 6. Describe the development of artificial intelligence in the 40s. XX century 7. Describe the development of artificial intelligence in the 50s. XX century 8. Describe the development of artificial intelligence in the 60s. XX century 9. Describe the development of artificial intelligence in the 70s. XX century 10. Describe the development of artificial intelligence in the 80s. XX century 11.Describe the main tasks of artificial intelligence. 12.What sections are distinguished in the field of artificial intelligence? 13. Provide evidence of the possibility of modeling human thinking. 14. What is the rationale for the transition to the problem of the influence of intellectual tools on society? 15.What causes and how can the problem of security of artificial intelligence systems be solved? Literature 1. Luger, J, F. Artificial intelligence: strategies and methods for solving complex problems: trans. from English / George F. Luger. - M.: Williams Publishing House, 2003. - 864 p. 2. Fundamentals of artificial intelligence / B.V. Kostrov, V.N. Ruchkin, V.A. Fulin. – M.: “DESS”, “Techbook”, 2007. – 192 p. 3. Website of the Russian Association of Artificial Intelligence. – Access mode: http://www.raai.org/ 4. Sotnik, S.L. Fundamentals of designing artificial intelligence systems: lectures. – Access mode: http://newasp.omskreg.ru/intellect/f25.htm 5. Russell, S. Artificial intelligence: a modern approach / Stuart Russell, Peter Norvig. – M.: Williams Publishing House, 2006. – 1408 p. - 21 - CHAPTER 2. MODELS OF KNOWLEDGE REPRESENTATION 2.1. Knowledge What types of knowledge are needed to enable "intelligent" behavior? The “secret” of the phenomenology of the knowledge model lies in the world around us. In the general case, the knowledge representation model should provide various descriptions of the objects and phenomena that make up the subject area in which the intelligent agent has to work. Subject area is a part of reality associated with solving a problem. An intelligent agent is a system (person, program) with intellectual abilities. Knowledge is the identified patterns of the subject area (principles, connections, laws). Knowledge has a more complex structure than data (metadata). In this case, knowledge is specified both extensionally (i.e. through a set of specific facts corresponding to a given concept and relating to the subject area) and intensionally (i.e. through properties corresponding to a given concept and a diagram of connections between attributes). Types of knowledge Objects. Typically, a person represents knowledge in terms of facts about the objects around him. For this reason, there must be ways to represent objects, classes (categories, types) of objects, describe properties and interact with objects. One way to classify objects is through a class hierarchy. In addition, it is necessary to distinguish between abstract objects that are used to designate groups (sets, classes) of individuals. Example “Birds have wings” “Pigeons are birds” “Snow is white” “This book is new” - individual object Situations - all types of interactions between objects. Example “It rained yesterday” “The train was 10 minutes late” An example of the classification of situations proposed by Paducheva is shown in Fig. 9. In addition, in order to be able to describe situations in themselves, the representation model must allow one to describe the location of events on the time axis, as well as their cause-and-effect relationship. Situations Static States Permanent properties and relationships Dynamic Processes Stable Incidents Temporary Results Events Fig. 9. An example of the classification of situations proposed by Paducheva When representing the hierarchy of objects and relationships, the main difficulty is the choice of basis, i.e. properties (characteristics) by which division occurs. Usually, even if a person easily distinguishes between different types of objects and situations in life, the attempt at verbal classification poses a big problem. Procedures. Behavior (eg: riding a bicycle) requires knowledge that is beyond declarative knowledge about objects and the relationships between them. This is knowledge about how to do this or that action, which is called procedural knowledge, or experience (skill). Like riding a bicycle, most conscious behaviors (eg, communicating, understanding, or proving theorems) involve procedural knowledge, and it is often difficult to clearly distinguish between procedural knowledge and object knowledge. Example The term “discipline” - describes the situation of a lack of procedural knowledge in a person who poses as a specialist. Meta-knowledge - knowledge about knowledge: about the volume and origin of knowledge about a particular object, about the reliability of specific information, or about the relative importance of individual facts. Meta-knowledge also includes - 23 - what people know about their own ability as a knowledge processor: strengths, weaknesses, level of experience in various areas, and sense of progress in solving problems. Classification of knowledge By depth:  Superficial knowledge (a set of empirical associations and cause-and-effect relationships between the concepts of the subject area).  In-depth knowledge (abstractions, images, analogies, which reflect an understanding of the structure of the subject area and the relationship of individual concepts). By way of existence:  Facts (well-known circumstances).  Heuristics (knowledge from the experience of experts). By rigidity:  Hard knowledge (allows you to receive unambiguous, clear recommendations under given initial conditions).  Soft knowledge (allows for multiple, vague decisions and various recommendations). By forms of presentation:  Declarative knowledge (facts in the form of sets of structured data).  Procedural knowledge (algorithms in the form of procedures for processing facts). By method of acquisition:  Scientific knowledge (obtained through systematic teaching and/or study).  Everyday, everyday knowledge (gained in the course of life). To host a knowledge base for the purpose of using it to solve applied problems, it is necessary to formally describe it using mathematical models. As already mentioned, knowledge representation is possible using declarative and procedural models. Typical declarative models usually include network and frame models; to procedural ones – logical and production. From the point of view of the approach to the representation of knowledge in a computer, knowledge representation models can be classified as follows: Based on a heuristic approach: “troika”, production, frame, network models Based on a theoretical approach: based on formal logic and based on “human logic” - modal and multi-valued. - 24 - 2.2. Logical model of knowledge representation Basic concepts of logic Most people believe that the word “logical” means “reasonable”. Thus, if a person reasons logically, then his reasoning is reasonable, so he does not allow hasty conclusions. Logic is the science of the forms and methods of correct thinking. This means that given the required number of true facts, the conclusion must always be true. On the other hand, if a logical conclusion is invalid, it means that a false conclusion has been reached based on true facts. It is necessary to distinguish between the concepts of formal and informal logic. A distinctive feature of informal logic is that it is used in everyday life. A complex logical proof is a chain of logical conclusions in which one conclusion leads to another, and so on. In formal logic, also called symbolic logic, what is important is how the logical conclusion is made and how other factors are taken into account to ensure that the final conclusion is proven true or false in an acceptable way. Logic also needs semantics to give meaning to symbols. Formal logic uses semantics that is based not on the use of words that carry emotional content, but on the choice of meaningful names for variables, similar to programming. Like mathematics, logic directly studies not empirical, but abstract objects. This raises the question: What is the nature or ontological status of abstract objects? What kind of abstract objects are we talking about? In (classical) logic, two fundamental types of abstract objects are distinguished: − concepts (properties); − relationships. Concepts can be either simple or complex. Complex concepts are a set of relatively simpler concepts (simple properties) interconnected by certain relationships. More complex abstract objects are judgments, the structural elements of which are also concepts and certain relationships. Judgments, in turn, are structural elements of inferences (systems of judgments), and inferences are structural elements of concepts and theories (systems of inferences). In Fig. Figure 10 shows the hierarchy of types of abstract objects in classical logic. The specificity of logic lies in the fact that it studies the most general, universal relations, or relationships, between abstract objects. In accordance with this, there is the following objective - 25 - definition of logic: “Logic is the science of universal (generally valid) relationships between concepts, judgments, inferences and other abstract objects.” Concepts and theories (systems of inferences) Inferences (system of judgments) Judgments Concepts (properties) Relationships Fig. 10. Hierarchy of types of abstract objects in classical logic Example “Student” is a concept. “Diligence” is a property. “Diligent student”, “4th year student” – relationships. “A person studies at a university” is a judgment. “If a person studies at an institute, then he is either a student or a graduate student” is an inference. “First-order predicate calculus theory” is a concept. Concept Concepts are abstract objects that are accessible to human understanding as simple and complex properties (signs) of empirical objects. The concept is contrasted with such entities as: “word”, “perception”, “empirical object”. The concept is a universal unit of thinking and the basis of intellectual activity. The most important characteristics of a concept are content and volume. All logical characteristics and logical operations are the result of inferential knowledge from the law of an inversely proportional relationship between the content and scope of a concept. Every concept has a scope of the concept (conceptual scope) and an addition to the scope of the concept (Fig. 11, 12). The scope of a concept is the totality (set) of all those empirical (individual objects) to which a given concept is inherent (as a property, attribute). - 26 - Addition to volume is the totality of all those empirical objects that do not have a given concept. Concept X a1 a2 V Volume a3 Fig. 11. Concept X, volume of concept X, volume element (a1, a2, a3) X Not X Fig. 12. Scope and its addition Example Concept: factual data model. Scope of the concept: relational, network, hierarchical data models Addition of the scope: documentary data models (descriptive, thesaurus, document format-oriented data models) Concepts can be of the following types: 1) in scope: a. single (U = 1 element, Kamaz); b. general (U>1 element, Moscow Automobile Plant); 2) according to the existence of elements: a. nonempty(student); b. empty (kolobok); 3) according to the structure of the elements: a. non-gathering (North Pole); b. collective (debtor); 4) by content: a. irrelevant(audience); b. correlative (parents); 5) by the presence of qualities, properties, relationships a. positive (virtue); b. negative (offense); 6) according to the quality of elements: a. registered (Open Systems magazine, 1/2008); b. unregistered (intelligentsia), abstract; 7) by the nature of the object: a. specific(handle); - 27 - b. abstract (model). Based on the listed types, it is possible to give a logical description of any concept, that is, to show the use of the concept in all seven senses. For example, the concept debtor is general, non-empty, collective, correlative, positive, unrecordable and specific. Basic techniques for comprehending concepts The basic techniques for comprehending concepts include: − abstraction; − comparison; − generalization; − analysis; − synthesis. Abstraction is the mental selection (understanding) of a certain property or relationship by abstraction from other properties or relationships of an empirical object. Comparison - establishing similarities or differences between objects. Generalization is the mental isolation of a certain concept by comparing some other concepts. Abstraction, comparison and generalization are techniques that are closely related to each other. These can be called “cognitive procedures.” Comparison is impossible without regard to abstraction. Generalization presupposes comparison and at the same time is nothing more than a type of complex abstraction, etc. Analysis is the mental division of an empirical or abstract object into its constituent structural components (parts, properties, relationships). Synthesis - mental unification various objects into some integral object. Examples 1. Comparing people by height involves abstracting the concept “person” to isolate the “height” property. 2. Generalization: “chair” and “table” - “furniture”. Relationship between concepts To explain the relationships between concepts, you can use diagrams in the form of Euler circles (Fig. 13). Examples Uniform (uniform): Kazan is the capital. Independent (crossing): passenger – student. Subordination: tree - birch. Opposite (contrast): white and black. - 28 - Conradictor: white – not white. Subordination (subordination): officers (major-captain). The logical division of a concept is the division of the scope of the concept into non-overlapping parts based on some attribute. Concepts X, Y Incompatible M(X)M(Y)= Compatible M(X)M(Y) Independent Contradictory Y=Not-X X Y X M(X)M(Y); M(X)M(Y)M(X); M(X)M(Y)M(Y) M(X)M(Y)=U Contrary Identical (uniform) X, Y X Y M(X)= M(Y) M(X)M(Y) U X is subordinated to Y X Y M(X)M(Y)=M(X) Fig. 13. Correlation of concepts In this case, there are: − generic concept X; − members of division (species concepts A and B); − basis of division (i.e. sign). - 29 - Three rules of logical division. 1. Rule of incompatibility. The volumes of species concepts should not overlap (i.e., division members should not be incompatible with each other); 2. Consistency rule. You cannot divide on several grounds at once; 3. Rule of proportionality. The sum of the volumes of specific concepts must be equal to the volume of the generic concept. Dichotomous division (the most strict type) is the division of concepts according to the principle of contradictorship (A, non-A). Classifications are certain systems (ordered collections) of species concepts. Classifications are used to search for new relationships between concepts, as well as to systematize existing knowledge. Example 1. The periodic table is an example of a scientific classification of chemical elements. 2. An example of information systems (IS) classification is presented in the figure below. Bases of division: functional purpose. A, B, C are examples of information systems according to this classification. IS Factual systems Artificial intelligence systems Documentary systems IS “University” Lingvo “Consultant Plus” A B C Fig. 14. Example of classification Techniques for comprehending concepts (abstraction, comparison, generalization, analysis, synthesis, division) are universal and fundamental cognitive procedures that have not yet been successfully modeled within the framework of artificial intelligence. This is one of the fundamental sections of classical logic, which should be integrated into the theory of knowledge bases. After this, the tasks of modeling such mental acts as putting forward hypotheses, teaching declarative knowledge will become available, and inference procedures will become more capacious. - 30 - Judgment A judgment is a structurally complex object that reflects the objective connection between the object and its property. Judgment is contrasted with such entities as: “sentence”, “perception”, “scenes from the real world”. Example. The following sentences express the same proposition: − “A shark is a predatory fish”; − “All sharks are predatory fish.” − “Sharks are predatory fish.” Classical logic considers the structure of a simple judgment in a slightly different interpretation than is accepted in modern logical-linguistic research. Thus, in accordance with the concepts of classical logic about the structure of a judgment, a simple judgment is an abstract object, the main structural elements of which are: − individual concept (IC); − predicate concept (PC); − predication relation (PR). Examples Given the sentence: “Plato is a philosopher.” In this sentence expressing the judgment S: “Plato” is a logical subject, i.e. symbol denoting the individual concept of judgment S. “Philosopher” is a logical predicate, i.e. symbol denoting the predicate concept of the judgment S. “To appear” is a subject-predicate connective, i.e. symbol denoting a predication relation. Thus, we can draw the following intermediate conclusion: − an individual concept is a system of concepts considered as a conceptual entity, some empirical object; − predicate concept – a concept considered as a property of a particular empirical object; − predication relation – a relation that connects the individual and predicate concepts of some empirical object into a holistic abstract object. In addition, several types of simple judgments can be distinguished (See Fig. 15). There are several ways to formalize elementary judgments. - 31 - 1st method. Natural language is traditionally considered cumbersome and imprecise, but no formal method has yet been invented that can match the versatility of natural language. Simple judgments Attributive About relationships Existence Monks, as a rule, are modest Magnitogorsk south of Chelyabinsk There are blue spruce trees Fig. 15. Types of simple judgments 2nd method. Traditional Aristotelian logic. 3rd method. Modern symbolic logic. Main types of complex judgments In addition to judgments expressed in Aristotelian logic by statements of the form A, E, I, O (see. p. Aristotle's Logic), there are also various kinds of complex judgments. The more complex the judgment, the more difficult it is to formalize it accurately using traditional Aristotelian logic, and in some cases such formalization is simply impossible. Therefore, it is advisable to analyze the logical structure of complex judgments using the means of modern symbolic logic, including the means of propositional logic and predicate logic (see the corresponding paragraphs of the paragraph). The main types of complex judgments include − conjunctive; − disjunctive; − implicative; − modal: o alethic (necessary, perhaps accidental); o epistemic (know, believe, believe, believe); o deontic (decided, forbidden); o axiological (good, bad); o temporal (in the past, before, yesterday, tomorrow, in the future); − questions: o whether- questions; o what- questions. Here there is also a continuity of classes of logic and methods of artificial intelligence. - 32 - Inferences Inference (in traditional logic) is understood as a certain form of thinking through which a mental transition (called a “conclusion”) is made from one or more judgments (called a “premise”) to some other judgment (called a “conclusion”) . Thus, an inference is a complex abstract object in which, with the help of certain relationships, one or more judgments are combined into a single whole. The term syllogism is used to denote inference in logic. Syllogisms can be formal or informal. Aristotle used the first formal syllogisms. The syllogistics he developed (the theory of formal syllogisms, i.e. inferences) had a significant influence on the development of ancient and scholastic logic and served as the basis for the creation of a modern logical theory of inferences. To consolidate the concepts of logic, you need to complete the exercises on page 78. Laws of logic The most important logical laws include: − identities (any object is identical only to itself); − non-contradictory (statements that contradict each other cannot be true at the same time); − excluded third (of two statements concordant with each other, one is true, the other is false, and the third is not given); − sufficient reason (any true statement has a sufficient reason by virtue of which it is true and not false). Let's take a closer look at each of the designated positions. I. The Law of Identity The Law of Identity proves that every thought is identical to itself, “A is A” (A → A), where A is any thought. For example: “Table salt NaCl consists of Na and Cl.” If this law is violated, the following errors may occur. Amphiboly (from the Greek amphibolos - ambiguity, duality) is a logical error based on the ambiguity of linguistic expressions. Another name for this error is “substitution of thesis.” Example “They say correctly that language will take you to Kyiv. And I bought smoked tongue yesterday. Now I can confidently go to Kyiv.” - 33 - Equivocation is a logical error based on the use of the same word in different meanings. Equivocation is often used as an artistic rhetorical device. In logic, this technique is also called “concept substitution.” Example “The old sea wolf is really a wolf. All wolves live in the forest." Here the error is due to the fact that in the first proposition the word “wolf” is used as a metaphor, and in the second premise – in its literal meaning. Logomachy is a dispute about words, when during the discussion the participants cannot come to a common point of view due to the fact that the initial concepts have not been clarified. Thus, the law of identity expresses one of the most important requirements of logical thinking - certainty. II. Law of non-contradiction This law expresses the requirement of consistency of thinking. The law of non-contradiction states: two propositions, one of which affirms something about the subject of thought (“A is B”), and the other denies the same thing about the same subject of thought (“A is not B”), cannot be simultaneously true , if at the same time the attribute B is affirmed or denied about the object of thought A, considered at the same time and in the same relation. For example, the propositions “The Kama is a tributary of the Volga” and “The Kama is not a tributary of the Volga” cannot be simultaneously true if these propositions refer to the same river. There will be no contradiction if we affirm something and deny the same thing regarding the same person, who, however, is considered at different times. Thus, the judgments “This person is a student at MaSU” and “This person is not a student at MaSU” can be simultaneously true if the first of them refers to one time (when this person studies at MaSU), and the second - another ( when he graduated from university). The law of non-contradiction indicates that of two opposing propositions, one is necessarily false. But since it extends to both opposite and contradictory judgments, the question of the second judgment remains open: it cannot be both true and false: paper cannot be white and non-white. III. The Law of the Excluded Middle The Law of the Excluded Middle states that two contradictory propositions cannot be simultaneously false: one of them is necessarily true; the other is necessarily false; the third judgment is excluded, i.e. Either A is true or not-A is true. - 34 - The law of excluded middle formulates an important requirement for your thinking: you cannot deviate from recognizing one of two contradictory statements as true and look for something third between them. If one of them is recognized as true, then the other must be recognized as false and not look for the third. Example: animals can be either vertebrates or non-vertebrates, there can be nothing third. IV. Law of Sufficient Reason The content of this law can be expressed as follows: in order to be considered completely reliable, any position must be proven, i.e. sufficient reasons must be known for which it is considered true. A sufficient basis may be another thought, already tested by practice and recognized as true, the necessary result of which is the truth of the position being proven. Example. The logical basis for the judgment “The room has become warmer” is the fact of expansion of the mercury of the thermometer. In science, the following are considered sufficient grounds: a) provisions on certified facts of reality, b) scientific definitions, c) previously proven scientific provisions, d) axioms, and e) personal experience. Logical inference Logical inference is the derivation of a certain formula based on many other logical formulas by applying inference rules. The interpreter of logical expressions, using logical inference, itself builds the necessary chain of calculations based on the original description. The significance of the logical approach lies in the possibility of constructing an interpreter whose operation does not depend on logical formulas. The rules in logical representation have the form: P0←P1, …, Pn. P0 is called the target, and P1, P2, ..., Pn is the body of the rule. Predicates P1, P2, ..., Pn are conditions that must be met for the achievement of goal P0 to be successful. Let's look at the basics of logical inference using the example of performing the procedure for determining the correctness of reasoning. Definition of logically correct reasoning When we say that one sentence D logically follows from another P, we mean the following: whenever the sentence P is true, then the sentence D is also true. In propositional logic we deal with the formulas P and D, depending on some variables X1, X2,.., Xn. Definition. We will say that from the formula P(X1, X2,...,Xn) the formula D(X1, X2,...,Xn) logically follows and denote P├ D if for - 35 - any sets of values ​​X1, X2 ,...,Xn under the condition P(X1, X2,...,Xn) = I2, the condition D(X1, X2,...,Xn) = I is satisfied. Formula P is called the premise, and D is the conclusion of the logical reasoning . Usually in logical reasoning, not one premise P is used, but several; in this case, the reasoning will be logically correct; from the conjunction of the premises, the conclusion logically follows. Checking the correctness of logical reasoning The first method is by definition: a) write down all premises and conclusions in the form of propositional logic formulas; b) create a conjunction of formalized premises P1& P2&…& Pn,; c) check using the truth table whether conclusion D follows from the formula P1&P2&...&Pn. The second method is based on the following criterion of logical consequence: “Formula D follows logically from formula P if and only if the formula P |- D is a tautology.” Then checking the correctness of logical reasoning comes down to answering the question: is the formula a tautology? This question can be answered by constructing a truth table for the formula, or by reducing this formula using equivalent transformations to a known tautology. We will call the third method of checking the correctness of logical reasoning shortened, because it does not require a complete enumeration of variable values ​​to construct a truth table. To justify this method, we formulate a condition under which logical reasoning is incorrect. The reasoning is incorrect if there is a set of values ​​of the variables X01, X02,.., X0n such that the premise D(X01, X02,.., X0n) = А 3, and the conclusion P(X01, X02,.., X0n) = AND. Example. The reasoning is given: “If it rains, then the cat is in the room or in the basement. The mouse is in the room or in the hole. If the cat is in the basement, then the mouse is in the room. If the cat is in the room, then the mouse is in the hole, and the cheese is in the refrigerator. It's raining now, and the cheese is on the table. Where is the cat and where is the mouse? Let us introduce the following notations: D – “it is raining”; K – “cat in the room”; P – “cat in the basement”; M – “mouse in the room”; N – “mouse in a hole”; X – “cheese in the refrigerator”; ¬Х – “cheese on the table”. We get the following reasoning scheme: D→K|R M|N K→H&X 2 3 True False - 36 - R→M D&¬X --- -? Let's use the rules of inference 1) D&¬X├D; 2) D&¬X├¬X; 3) D→K|R, D├ K|R. Next, we consider two options. Option A. Let K take place. Then 4a) К, К→Н&Х, К├ Н&Х; 5а) Н&Х ├ Х; 6а) ¬Х, Х├Х&¬Х - we got a contradiction, which means that the assumption was wrong and this option is impossible. Option B, Let P take place. Then 4b) P, P →M├M; 5b) R,M├R&M The R&M conclusion was received, i.e. “The cat is in the basement and the mouse is in the room” Example Check the correctness of the reasoning in a shortened way. What other ways can this problem be solved? The reasoning is given: “If it’s frosty today, I’ll go to the skating rink. If there is a thaw today, I will go to the disco. Today there will be frost or thaw. Therefore, I will go to the disco.” Solution. Let us formalize the condition of the problem by introducing the following notation: M – “today it will be frosty”; K – “I’ll go to the skating rink”; O – “today there will be a thaw”; D - “I’ll go to the disco.” The reasoning scheme has the form: M→K O→Д M|O ---Д The reasoning is logically correct if for any sets of values ​​of the variables (M, K, O, D) for which all premises are true, the conclusion is also true. Let's assume the opposite: there is a set (M0,K0,O0.D0) such that the premises are true and the conclusion is false. Applying definitions logical operations , let's try to find this set. We are convinced that the assumption is valid for the values ​​of the variables - 37 - M0 = I, K0 = I, O0 = A, D0 = A (Table 1). Therefore, the reasoning is not logically correct. Table 1 Scheme for solving logical problem No. 1 2 3 4 5 6 7 True M0 →K0 O0 →Д0 M0 ˅ O0 M0 К0 False Notes we assume that the premises are true, Д0 О0 and the conclusion is false from 2.4 and the definition of implication from 3, 5 and the definition of disjunction from 1, 6 and the definition of implication Another way to solve the problem: build a truth table for the formula (M→K)&(O→D)&(M˅O) →D and make sure that it is not a tautology. Then, based on logical consequence, the reasoning is not logically correct. Since four propositional variables (M, K, O, D) are involved in the reasoning, the truth table will contain 16 rows, and this method is labor-intensive. Using the rules of inference, you can construct a logically correct reasoning, but it is not always possible to prove the incorrectness of logical reasoning. Therefore, for this task, the most convenient way is to check the correctness of logical reasoning. To consolidate the rules of logical inference, you must complete the exercises on page 78. The main sections of modern symbolic logic In the development of classical logic, the following three main stages are distinguished: ancient logic (about 500 BC - early AD), scholastic logic ( beginning of our era - first half of the 19th century), modern symbolic logic (mid-19th-20th centuries) Modern symbolic logic is divided into main sections, the essence of which is revealed below. Propositional logic (propositional calculus). It studies simple judgments considered without taking into account their internal structure, as well as elementary inferences that are most accessible to human understanding. In natural language, such simple judgments are represented by sentences that are considered only from the point of view of their truth or falsity, and inferences are represented by corresponding systems of statements. - 38 - Predicate logic (predicate calculus). More complex objects of study are judgments considered taking into account their internal structure. The section of logic in which not only the connections between judgments are studied, but also the internal conceptual structure of judgments, is called “predicate logic.” Metalogic. Metalogic is an extension of predicate logic. The subject of its study is the entire sphere of relations as a whole, all those universal relations that can take place between concepts, judgments, conclusions, as well as the symbols that designate them. The following paragraphs of the paragraph present the key positions of propositional logic and first-order predicates. In order to better understand modern logics, it is necessary to consider the main provisions defined by Aristotle's syllogisms. Aristotle's logic In Aristotle's logic, the structure of elementary judgments is expressed by the following structures: − S is P (1); − S is not P (2), where S is some logical subject (from the Latin Subjectum); P - some logical predicate (from the Latin Predicatum). The types of judgments in Aristotle's logic are listed below. 1. General affirmative propositions – A “All S are P” – All poets are impressionable people. The words “is” and “is not” serve as a subject-predicate connective. From statements (1) and (2), using the words “all” and “some”, statements of the form are constructed: − all S is P: Type A (Affirmo); − some S are P: Type I (AffIrmo); − all S are not P: Type N (Nego); − some S is not P: Type O (NegO). 2. General negative judgments – E (N) “No S is P” - No person is omniscient. 3. Particular affirmative proposition – I “Some S are P” – Some people have curly hair. 4. Partial negative judgment – ​​O “Some S are not P” – Some people don’t know how to listen. Statements of type A, E, I, O are simple categorical statements that form the foundation of all Aristotelian logic. Between the truth and falsity of statements of type A, E, I, O there are functional-integral relations, which are usually depicted in the form of a logical square (Fig. 16, Table 2). - 39 - When using a logical square, it is important to take into account the following subtlety: the word “some” is understood in a broad sense - as “some, and maybe all.” Table 2 Truth table for judgments of Aristotle’s logic A I L L E L L I I I I L O L I I Fig. 16. Logical square Explanations of Aristotle’s logical square In the left top corner The logical square contains statements of type A (general affirmative). In the upper right corner are statements of type E (general negative). In the lower left corner (under A) are statements of type I (particular affirmative). In the lower right corner (under E) are statements of type O (partial negatives). Statements of types A and O, as well as statements of types E and I, are related to each other in a relation of contradictorship, or contradiction (diagonal relations). Statements of types A and E are in a relation of contrariety, or opposition. - 40 - Statements of type I are subordinate to (therefore imply) statements of type A. Statements of type O are subordinate to statements of type E. While contradictory statements have opposite truth values ​​(one is true, the other is false), contradictory statements cannot be simultaneously true, but can be false at the same time. Using a logical square, you can derive opposite, contradictory and subordinate propositions to data, establishing their truth or falsity. Example 1. Every judgment is expressed in the sentence A →1. 2. No judgment is expressed in the sentence E→ 0. 3. Some judgments are not expressed in the sentence O → 0. 4. Some judgments are expressed in the sentence I → 1. In addition, with the help of Aristotle’s logical square, it is possible to establish types of relations between judgments: 1) obtaining inferential knowledge; 2) comparison of different points of view on controversial issues; 3) editing texts and in other cases. Formalisms of propositional calculus Many knowledge representation models are based on formalisms of propositional and predicate calculus. A rigorous presentation of these theories from the point of view of classical mathematical logic is contained in the works of Schoenfield and Taze; in Pospelov one can find a popular presentation of these theories, which can be recommended as an initial introduction. By Thaize's definition, logical propositions are a class of sentences in natural language that can be true or false, and propositional calculus is the branch of logic that studies such sentences. A natural question arises: What to do with sentences of language, about the truth of which nothing definite can be said? Example. “If it rains tomorrow, I will stay at home.” For now, we will simply assume that all the sentences with which we have to deal belong to the class of logical statements. We will denote statements using capital letters of the Latin alphabet and an index, if the presentation requires it. Examples of notation of statements: S, S1, S2, H, H1, H2. As already noted, a logical statement is either true or false. A true statement is assigned the logical value - 41 - TRUE (or AND), a false statement is assigned the logical value FALSE (or L). Thus, the truth value forms the set (I, L). In propositional calculus, five logical connectives are introduced (Table 3), with the help of which logical formulas are compiled in accordance with the rules of construction. Table 3 Logical connectives Common Name Type Other notation designation Negation Unary -, ~, NOT, NOT  Conjunction ^ Binary & , ., AND , AND * Disjunction  Binary OR OR Implication  Binary => -> Equivalence  Binary<=> <-> ~ * Note: not to be confused with the truth value I. The set of rules for constructing logical formulas based on statements includes three components: − basis: every statement is a formula; − induction step: if X and Y are formulas, then X, (X ^ Y), (X  Y), X Y and X  Y are formulas; − limitation: the formula is uniquely obtained using the rules described in the basis and induction step. Formulas are indicated by capital letters of the Latin alphabet with indices. Samples of logical formulas are given in the example. Examples a) T = S1 ^ S2; b) N = H1H2. Expression a) can be read as follows: “The logical formula T is the conjunction (logical connective AND) of the logical statements S1 and S2.” The interpretation of expression b) is as follows: “The logical formula N is the disjunction (logical connective OR) of the negation (NOT) of the logical statement H1 and the logical statement H2.” The truth value of a logical formula is a function of the truth values ​​of its constituent statements and can be determined uniquely using truth tables. Below are truth tables for negation and binary connectives (Tables 4, 5). Thus, if the truth values ​​for statements from example a) are known, for example S1 = I, S2 = L, then the truth value for the formula - 42 - T can be found at the intersection of the second row and the third column in Table 5, that is, T = L. Table 4 Truth table for negation ¬X I L L I Table 5 Truth table for binary connectives X Y X^Y X Y XY XY AND AND AND AND I I I I L I L L I I I I L L L I I First-order predicate logic Relations between objects are described using special mathematical concepts called logical predicates, and predicate calculus is the branch of logic that studies them . Any logic is a formal system for which the following must be defined: − the alphabet of the system - a countable set of symbols; − system formulas - a certain subset of all words that can be formed from the symbols included in the alphabet (usually a procedure is specified that allows formulas to be composed from symbols of the system alphabet); − axioms of the system - a selected set of formulas of the system; − rules of inference of the system - a finite set of relations between the formulas of the system. The dictionary of predicate calculus in its standard presentation includes the following concepts: − variables (we will denote them by the last letters of the English alphabet u, v, x, y, z); − constants (we will denote them by the first letters of the English alphabet a, b, c, d): o individual constants; o functional constants; o predicate constants; − statements; - 43 - − logical connectives (¬ (negation), conjunction, disjunction, implication); − quantifiers: (existence, universality); − thermal waters; − functional forms; − predicate forms; − atoms; − formulas. Individual Constants and Individual Variables These are similar to the constants and variables from calculus, with the only difference being that their range of variation represents individuals rather than real numbers. In the theory of artificial intelligence, named constants and variables in the agent’s memory that correspond to objects and concepts in the real world are usually called concepts. In first-order languages, variables can only be individual, so they are simply called variables. As will be shown below, the use of first-order languages ​​and the refusal to use higher-order languages ​​imposes additional restrictions on the class of natural language sentences under consideration. Individual constants will be denoted by lowercase letters a, b, c, u, v, w of the Latin alphabet with indices or mnemonic names taken from the text. To designate variables, lowercase letters x,y,z, Latin alphabet with indices will be used. Example. Individual constants: a1, b1, c, u, v1, seller_w, k22, purchase_l, m10, book_a1. Variables: x, y2, z33. Predicate constants Predicate constants denote the relation that the predicate describes. A predicate constant does not change its truth value. It is associated with a suitable number of arguments or parameters, called terms, forming a predicate form. Predicate constants are denoted by mnemonic names or the letter of the Latin alphabet P with indices. The language of predicates contains the language of statements, since a statement is nothing more than a predicate constant without arguments, or a null-place predicate form. The semantic area of ​​the predicate form coincides with the area of ​​change of the statement, i.e. (I, L). Functional Constants A functional constant (f, g, h) as well as a predicate constant, when combined with a suitable number of terms, forms a functional form. The difference between a functional form and a predicate form is that - 44 - its semantic domain consists of a set of individual constants. A null-place functional constant is simply an individual constant. logical connectives in predicate calculus serve to form formulas. Quantifiers. Predicate calculus uses two quantifiers: the general quantifier () and the existence quantifier (). The expression xP reads as “for every x P is true.” The expression xP reads as “there is an x ​​for which P is true.” A term is an expression formed from variables and constants, possibly using functions. Terms, forms, atoms and formulas in predicate calculus are constructed using the following rules: - every variable or constant is a term; − if t1,...,tn are terms, and f is an n-ary function symbol, then f(t1,...,tn) is a term; − there are no other terms. In fact, all objects in first-order predicate logic are represented precisely in the form of terms. If a term does not contain variables, then it is called a basic or constant term. A term (t1,t2 ...tn) is any variable and any functional form. A functional form is a functional constant connected to a suitable number of terms. If f is a functional n-ary constant and t1 ..., tn are terms, then the corresponding form is usually denoted by f(t1, ...,tn). If n=0, then simply write f. A predicate form is a predicate constant concatenated with a suitable number of terms. If p is the corresponding m -ary constant and t1, ..., tn are terms, then the corresponding form is denoted by p(t1,...,tm). An atom is a predicate form or some equality, i.e. an expression like (s=t), where s and t are terms. An atomic or elementary formula is obtained by applying a predicate to terms, more precisely, this is the expression p(t1,...,tn), where p is an n-ary predicate symbol (formula), and t1,...,tn are terms. The concept of a formula is defined recursively (inductively) by the following rules: - an atom is a formula; - if A is a formula, A is a formula; - if A and B are formulas, then (A ^ B), (A  B), (A  B) and (A  B) formulas; - if A is a formula and x is a variable, then xA and xA are formulas. Let us represent the alphabet of predicate logic through concepts. Constants. They serve as names of individuals (as opposed to names of aggregates): objects, people or events. Constants are represented by - 45 - symbols like Jacques_2 (the addition of 2 to the word Jacques indicates a very specific person among people with that name), Book_22, Parcel_8. Variables. They denote names of aggregates, such as a person, a book, a parcel, an event. The symbol Book_22 represents a very specific instance, and the symbol book indicates either the set of “all books” or the “concept of a book.” The symbols x, y, z represent the names of collections (certain sets or concepts). Predicate names (predicate constants). They define the rules for connecting constants and variables, for example, grammar rules, procedures, and mathematical operations. For predicative names, symbols like the following phrases are used: Send, Write, Plus, Divide. Function names (function constants) represent the same rules as predicates. To avoid confusion with predicate names, functional names are written in lowercase letters only: phrase, send, write, plus, divide. The symbols used to represent constants, variables, predicates and functions are not “Russian words”. They are symbols of some representation - the words " object language"(in our case, the language of predicates). The presentation must exclude any ambiguity of language. Therefore, the names of individuals contain numbers that are assigned to the names of aggregates. Jacques_1 and Jacques_2 represent two people with the same names. These representations are concretizations of the name of the aggregate “Jacques”. A predicate is a predicate name along with a suitable number of terms. A predicate is also called a predicate form. Example. In Russian: Jacques sends a book to Marie, logically: Parcel (Jacques_2, Marie_4, Book_22). Fuzzy logic The emergence of fuzzy logic, fuzzy set theory and other “fuzzy” theories is associated with the work of the American scientist Zadeh. Zadeh's main idea was that the human way of reasoning, based on natural language, cannot be described within the framework of traditional mathematical formalisms. These formalisms are characterized by strict unambiguity of interpretation, and everything related to the use of natural language has a multi-valued interpretation. Zadeh's goal was to build a new mathematical discipline, which would be based not on classical set theory, but on the theory of fuzzy sets. By consistently pursuing the idea of ​​fuzziness, according to Zadeh, it is possible to construct fuzzy analogies of all basic mathematical concepts and create the necessary formal apparatus for modeling human reasoning and the human way of solving problems (Fig. 17). - 46 - Creation of the theory of fuzzy sets - Solution Mathematical theory of fuzzy sets - Basis of the mechanism Formalization of reasoning of the human way - Problem Thesis - a person in his daily life - Problem thinks and makes decisions based on fuzzy concepts Fig. 17. The logic of the emergence of the theory of fuzzy sets Currently, the theory of fuzzy sets and fuzzy logic (fuzzy set & fuzzy logic) occupies a strong place among the leading areas of artificial intelligence. The concept of “fuzzy”, applied initially to sets and then to logic, was successfully extended to other areas of mathematics and computer science and now already exists: - the theory of fuzzy relations; - theory of fuzzy sets; - theory of fuzzy measures and integrals; - theory of fuzzy numbers and equations: - theory of fuzzy logic and approximate reasoning: - theory of fuzzy languages; - theory of fuzzy algorithms; - theory of fuzzy models of optimization and decision making. The following packages are most popular among Russian customers: 1) CubiCalc 2.0 RTC – one of the most powerful commercial expert systems based on fuzzy logic, which allows you to create your own applied expert systems; 2) CubiQuick – academic version of the CubiCalc package; 3) RuleMaker – a program for automatically extracting fuzzy rules from input data; 4) FuziCalc - a spreadsheet with fuzzy fields that allows you to make quick estimates with inaccurately known data without accumulating errors; 5) OWL – a package containing the source texts of all known types of neural networks, fuzzy associative memory etc. The main “consumers” of fuzzy logic in the Russian market are: bankers, financiers and specialists in the field of political and economic analysis. - 47 - Most human tasks do not require high precision. Often you have to find a reasonable compromise between the concepts of “accuracy” and “importance” when communicating with the real world. For example: to make a decision about crossing the street, a person does not estimate the speed of an approaching car with an accuracy of tenths of meters per second. He defines for himself the speed of the car as “very fast”, “fast”, “slow”, etc., i.e. uses linguistic variables to indicate speed. The theory of fuzzy sets offers the following methods for formalizing fuzzy concepts. The first method (based on the work of Zadeh) involves abandoning the basic statement of classical set theory that an element can either belong or not belong to a set. In this case, a special characteristic function of the set is introduced - the so-called membership function, which takes values ​​from the interval. This method leads to continuum logic. In the second, more general method of formalizing fuzziness, it is assumed that the characteristic functions of a set take a value not from the interval , but in a finite or infinite distributive lattice. This generalization is called fuzzy sets in the sense of Gauguin. The third method is P-fuzzy sets. With this generalization, each element of the universal set is associated not with a point in the interval, but with a subset or part of this interval. The algebra of P-fuzzy sets can be reduced to the algebra of classes. The fourth method is heterogeneous fuzzy sets. Here, in the general case, the elements of the universal set are assigned values ​​in various distributive lattices. Each element can be associated with the rating that best matches it. Moreover, the values ​​of the estimates themselves can be fuzzy and specified in the form of functions. A general idea of ​​fuzzy logic has been obtained. Now about everything in more detail. Let us consider the conceptual apparatus, which is based on the concept of “linguistic variable”. Definition of a Linguistic Variable (Intuitive)4 If a variable can take on the meaning of words in natural language (for example, “small”, “fast”, etc.), then this variable is defined as a linguistic variable. Words whose values ​​are taken by a linguistic variable usually denote fuzzy sets. 4 Intelligent information systems: Guidelines for laboratory workshop on the course "Intelligent information systems" for students of specialty 071900 - Information systems in economics / Ufimsk. state aviation tech. University; comp.: G.G.Kulikov, T.V.Breikin, L.Z.Kamalova. - Ufa, 1999. -40 p. - 48 - A linguistic variable can take either words or numbers as its values. Definition of a linguistic variable (formal) A linguistic variable is called a quintuple (x, T(x), X, G, M), where x is the name of the variable; T(x) – many names linguistic meanings variable x, each of which is a fuzzy set on the set X; G – syntactic rule for the formation of names of x values; M is a semantic rule for associating each value with its concept. The purpose of the concept of a linguistic variable is to formally say that a variable can take as values ​​words from a natural language. In other words, each linguistic variable consists of: − name; − a set of its values, which is also called the basic term set T. The elements of the basic term set are the names of fuzzy variables; − universal set X; − syntactic rule G, according to which new terms are generated using words of a natural or formal language; − semantic rule P, which assigns each value of a linguistic variable to a fuzzy subset of the set X. For example, if we say “fast speed”, then the variable “speed” should be understood as a linguistic variable, but this does not mean that the variable “speed” is not can take real values. A fuzzy variable is described by a set (N,X,A), where N is the name of the variable, X is a universal set (area of ​​reasoning), A is a fuzzy set on X. The values ​​of a linguistic variable can be fuzzy variables, i.e. . the linguistic variable is at a higher level than the fuzzy variable. The main approach to formalizing fuzziness is as follows. A fuzzy set is formed by introducing a generalized concept of belonging, i.e. expanding the two-element set of values ​​of the characteristic function (0,1) to a continuum. This means that the transition from complete belonging of an object to a class to its complete non-membership does not occur abruptly, but smoothly, gradually, and the membership of an element in a set is expressed by a number from the interval . - 49 - A fuzzy set (FS) is defined mathematically as a set of ordered pairs composed of elements x of the universal set X and the corresponding degrees of membership μа(x) or (since the membership function is an exhaustive characteristic of the SM) directly in the form of a function of the Universal set X of the fuzzy set A is the domain of definition of the membership function μa. In Fig. 18 presents the main types of membership functions. Rice. 18. Type of membership functions According to the type of membership functions, they are distinguished into: - submodal (Fig. 1. c); − amodal (Fig. 1. a); − multimodal (Fig. 1. m); − unimodal (Fig. 1. u). − Example. 1) A =((x1,0.2),(x2,0.6),(x3,1),(x4,0.8)); 2) A = 0.2|x1 + 0.6|x2 + 1|x3 + 0.8|x4. 3) The same example can be presented in the form of a table. Table 6 A= Table of description of the membership function x1 x2 x3 x4 0.2 0.6 1 0.8 Example “Many tall people” In real life, such a concept as “the height of a tall person” is subjective. Some believe that a tall person should be more than 170 cm tall, others - more than 180 cm, others - more than 190 cm. Fuzzy sets allow us to take into account such vagueness of estimates. - 50 - Let x be a linguistic variable denoting “person’s height”, its membership function to the set of tall people A:X(0,1), where X is a set that includes all possible values ​​of a person’s height, is given as follows: Then the set of “tall people” is given by the expression A=(x| A(x)=1), x ϲ X. This is represented graphically in Fig. 19 (solid line), i.e. depends on the individual making the assessment. Let the membership function A:X(0,1) have the form represented in the figure by the dotted line. Rice. 19. Fuzzy set of tall people Thus, a person 145 cm tall will belong to set A with degree of membership A(145)=0, a person 165 cm tall - A(165) = 0.3, 185 cm tall -A (185)= 0.9, and height 205 cm - A(205)=1. Example. “Are you cold now?” A person perceives a temperature of +60oF (+12oC) as cold, and a temperature at +80oF (+27oC) as hot. Temperatures of +65oF (+15oC) may seem cold to some, but quite comfortable to others. We call this group of definitions the function of membership in sets that describe a person’s subjective perception of temperature. Machines are not capable of such fine gradation. If the standard definition of cold is “temperature below +15oC”, then +14.99oC will be regarded as cold, but +15oC will not. In Fig. 20. A graph is presented that helps to understand how a person perceives temperature. It is just as easy to create additional sets that describe human perception of temperature. For example, you can add sets such as “very cold” and “very hot.” It is possible to describe similar functions for other concepts, such as open and closed states, chiller temperature - 51 - or cooler tower temperature. Rice. 20. Fuzzy set “Temperature” Thus, we can draw the following conclusions on the essence of the concept “fuzzy set”: 1) fuzzy sets describe vague concepts (fast runner, hot water, hot weather); 2) fuzzy sets allow the possibility of partial belonging to them (Friday is partly a day off (shortened), the weather is rather hot); 3) the degree of membership of an object to a fuzzy set is determined by the corresponding value of the membership function on the interval (Friday belongs to the weekend with a degree of membership of 0.3); 4) the membership function associates an object (or a logical variable) with the value of the degree of its membership in a fuzzy set. Forms of curves for specifying membership functions There are over a dozen standard curves for specifying membership functions. The most widely used are: triangular, trapezoidal and Gaussian membership functions. The triangular membership function is defined by a triple of numbers (a,b,c), and its value at point x is calculated according to expression (1).  bx 1  b  a , a  x  b;  c  x MF (x)   , b  x  c; c  b  0, in all other cases   - 52 - (1) When (b-a)=(c-b) we have the case of a symmetric triangular membership function (Fig. 21), which can be uniquely specified by two parameters from the triple (a ,b,c). Rice. 21. Triangular membership function Similarly, to specify a trapezoidal membership function, a quadruple of numbers (a,b,c,d) is needed.  bx 1  b  a , a  x  b;  1, b  x  c; MF (x)   d  x , c  x  d; d c 0, in all other cases  (2) When (b-a)=(d-c) the trapezoidal membership function takes on a symmetrical form (Fig. 22). Rice. 22. Trapezoidal Membership Function The collection of membership functions for each term in the underlying term set T is usually plotted together on a single graph. In Fig. 23 presents a formalization of the imprecise concept of “Human Age”. Thus, for a 48-year-old person, the degree of membership in the set “Young” is 0, “Average” – 0.47, “Above average” – 0.20. - 53 - Fig. 23. Description of the linguistic variable “Human Age” Basic operations on fuzzy sets Basic operations on fuzzy sets from the class of all fuzzy sets F(X)=( | :X  ) of the universal set X are presented below. 1. Addition5  2 =   = 1-  1,  x  X Fig. 24. Graph of the operation “Addition” over the function M 2. Intersection I (minimum: non-interacting variables).  3 = ( 1   2) (x)= min( 1(x),  2(x)) ,  x  X 3. Union I (maximum: non-interacting variables).  3 = ( 1   2) (x)= max( 1(x),  2(x)) ,  x  X 4. Intersection II (limited product).  3 = ( 1   2) (x)= max(0,  1(x) +  2(x)-1) , x  X 5. Pooling II (maximum: limited amount).  3 = ( 1   2) (x)= min(1,  1(x) +  2(x)) ,  x  X 6. Intersection III (algebraic product). 5 Here and below, operations that are the same for all three bases are displayed on a yellow background. - 54 -  3 = ( 1   2) (x)=  1(x) *  2(x) ,  x  X 7. Union III (algebraic sum).  3 = ( 1   2) (x)=  1(x) +  2(x)-  1(x)   2(x) ,  x  X A B Fig. 25. Graph of the operation of intersection I (A) combining I (B) of functions M and M1 A B Fig. 26. Graph of the operation of intersection II (A) combining II (B) functions M and M1 A B Fig. 27. Graph of the operation of intersection III (A) combining III (B) functions M and M1 - 55 - 8. Difference.  3 =  1(x) -  2(x) = max(0,  1(x) -  2(x)) ,  x  X 9. Concentration.  3 =  2(x) ,  x  X Fig. 28. Graph of the difference between functions M and M1 Fig. 29. Graph of concentration of function M1 Unlike Boolean algebra, in F(X) the laws of exclusion of the third are not satisfied. When constructing operations of union or intersection in F(X), it is necessary to discard either the laws of exclusion of the middle, or the properties of distributivity and idempotency. Fuzzy objects can be classified according to the type of range of values ​​of the membership function. And here the X options are distinguished: - grille; - semigroup; - ring; - category. Important for practical applications in terms of expressing qualitative ideas and assessments of a person in the process of making a solution to a problem is the case of S-fuzzy sets defined by a pair (X, ), where - 56 - :XS is a mapping from X to a linearly ordered set S It is natural to impose the requirements of finiteness and completeness on S. An example of a finite linearly ordered set is a set of linguistic values ​​of the linguistic variable “QUALITY” = (bad, average, good, excellent). N 1 2 3 4 5 6 7 8 9 Table 7 Correspondence table of operations on fuzzy sets and logical functions Name of operation Modifier/link Addition NOT Intersection (minimum: AND (AND, ..., AND) non-interacting variables) Union I (maximum: OR non-interacting variables) (EITHER, ... , OR) Intersection II (limited AND product) Union II (limited sum) OR Intersection III (algebraic AND product) Union III (algebraic sum) OR Difference Concentration VERY As has been shown, depending Depending on the methods of introducing the operations of union and intersection of NM, there are three main theories of NM. In accordance with similar criteria, they divide: - fuzzy logic with maximin operations (operations 1,2,3,8,9); − fuzzy logic with limited operations (operations 1,4,5,8,9); − probabilistic fuzzy logic (operations 1,6,7,8,9). The treatment of truth as a linguistic variable leads to fuzzy logic with the values ​​“true”, “very true”, “completely true”, “more or less true”, “not very true”, “false”, etc. , i.e. to fuzzy-valued logic, on which the theory of approximate reasoning is based. Areas of application of the theory of fuzzy sets in various areas of human knowledge. Philosophically, the theory of fuzzy sets is notable for the fact that it opens







2024 gtavrl.ru.