0% found this document useful (0 votes)
25 views28 pages

Synopsis Part 2

Uploaded by

Ali Mohammad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views28 pages

Synopsis Part 2

Uploaded by

Ali Mohammad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 28

Lecture.

Probabilistic approach to uncertainty representation

The probability approach is one way of presenting uncertain information. One of the main concepts used is conditional
probability.
The conditional probability of the event dunder this s is the probability of the event d, provided that the event s has occurred, for
example, the probability of the patient suffering from d if he has a symptom s.
In probability theory, the following formula is used to calculate the conditional probability of a dc event:
P (d ∧ s )
P(d∨s )= (7.1)
P (s)
Conditional probability is the ratio of the probability of the occurrence of events d and s. From (7.1) follows:
P(d ∧ s)=P (s∨d )P (d) .
If you divide both parts of the last expression into and substitute in (7.1), you get the Bayesaw rule in the simplest form: P(s)
P (s∨d )P (d )
P(d∨s )= (7.2)
P(s)
This rule determines the probability through a known conditional probability. In the resulting expression - a priori probability of occurrence
of the event d, a - a posterior probability, i.e. probability that the event d will occur if it is known that the event s2 has occurred. P(d∨s )
P(s∨d )P(d)P(d∨s )
Formula (7.2) is more practical than formula (7.1).
Suppose the patient has some symptom of the disease,
for example, chest pain, and you need to know what is the likelihood that this symptom
is a consequence of a certain disease, such as myocardial infarction. In order to calculate the probability P ( myocardial infarction | chest pain ) by formula
(7.1), you need to know (or estimate in any way), how many people in the world complain of chest pain and how many people are suffering from
myocardial infarction, and are suffering from chest pain. This information is generally not available. Thus formula (7.1) is not applicable in practice.
In probability theory, probability is defined as an objective frequency (frequency of occurrence of an event in sufficiently long
independent tests). However, in terms of practical applications, a subjective approach to the notion of probability is more applicable, allowing
one to deal with estimates of the frequency of occurrence of events rather than with actual frequency.
For example, a doctor may not know or not be able to determine how many patients complaining of chest pain suffer from myocardial infarction,
but based on his own experience, he can assess which part of his patients with this disease have experienced such a symptom. Therefore, he can estimate
the probability value of P ( chest pain|myocardial infarction ), i.e. probability , where smeans symptom and d means disease. Then by formula (7.2) the
probability can be calculated. Estimation of probability can be taken from published medical statistics, and the doctor can estimate the value on the basis
of his own observations. P(s∨d )P(d∨s )P(d)P(s)
Computation is easy when it comes to a single symptom. Suppose there are many Dí diseases and many S symptoms, and for
each element of Dí it is necessary to calculate the conditional probability that patients suffering from this disease have one definite S. If
the set of Dm elements, and in the set S - nelements, you need to calculate probability estimates. P(d∨s )mn + m+ n
But computation becomes much more complicated if more than one symptom is included in the diagnosis process.
In a more general form, the Bayes rule takes the form of:
P (s 1 ∧ .. .∧ s k ∨d ) P (d )
P(d∨s 1 ∧ .. .∧ s k )= (7.3)
P( s1 ∧. .. ∧ s k )
and requires the computation of probability estimates, because in general, the product of the ¿ P(s1 ∧. .. ∧ s k )
P(s1 ∨s 2 ∧. . .∧ s k ) P(s2∨s 3 ∧. . .∧ s k ). .. P(sk ).
However, assuming that some symptoms are independent of each other, the amount of computation is significantly reduced.
Независимость любой пары симптомов si и sj означает, что P(si )=P(s i ∨s j ), из чего следует соотношение
P(si ∧ s j)=P (s i )P( s j) .
If all symptoms are independent, the amount of computation will be the same as in the case of the diagnosis of a single symptom.
Conditional independence can be assumed in most cases. This means that the pair of symptoms si and sj is independent from any
additional evidence or fundamental knowledge of E. Thus. P(si ∨s j , E)=P(si ∨E)
For example, if the car has no fuel and no lighting, then based on knowledge of the car, these symptoms can be considered independent. But
if the car does not start and the lighting does not work, then claim that these symptoms are not independent, because they can be the result of the same
battery failure. The need to track this kind of connection greatly increases the amount of computation in general.
Thus, the use of the probability approach makes one of two choices:
 or assume the independence of data and use less time-consuming methods of calculation, which will reduce the reliability of the results;
 or track the relationship between the data used, quantify the relationship, i.e. make calculations more difficult, but obtain more
reliable results.
The probabilistic approach for reporting uncertainty has the following disadvantages:
 Assigning probability to certain events requires information we do not have;
 It is not clear how to quantify the qualitative characteristics and concepts often encountered in practice, such as «in most cases», «in
rare cases», «low», «high»;
 Updating probability estimates requires a lot of computation.
These difficulties in using the probabilistic approach gave rise to a new formal apparatus for dealing with undefined information
called fuzzy logic (fuzzy logic). This machine is widely used in solving artificial intelligence problems.
Lecture. Fuzzy sets
When solving problems, the person in some cases operates qualitative characteristics of objects (many, few, strong, weak, etc.).
These characteristics are vague and cannot be unambiguously interpreted, but provide important information for decision-making.
In addition, imprecise knowledge is often used that cannot be considered entirely true or false. Their reliability is characterized
by an intermediate value (from 0 to 1). The fuzzy logic (fuzzy logic) device is designed for the formal presentation of such information.
This line of artificial intelligence was later called soft computing (soft computing).
The basic concept in fuzzy logic is that of a linguistic variable.
A linguistic variable (LP) is a variable whose values are determined by a set of verbal (verbal) characteristics of a certain
property. For example, LP «growth» is defined through a set of {dwarf, low, medium, high}.
Fuzzy set concept
The values of a linguistic variable are defined by the so-called fuzzy sets (HM), which in their turn are defined on some basic set
of values or a basic numerical scale of dimension. Each LP value is defined as a fuzzy set (e.g., HM «low growth»).
The fuzzy set is defined by some basic scale (universal set U) and the fuzzy set ownership function ( u ), u U, which takes values on the
interval [0, 1]: (x) [0,1]. The fuzzy set determines the subjective degree of certainty that the fuzzy set belongs to a particular value of the base
scale. 
Consider the concept of «human growth». A valid interval [0 can be used as a universal set U; 300] covering any possible
human growth in cm. Let’s determine on this universal set the fuzzy sets of «low growth» and «high growth». People with low height
are those whose height is less than 150 cm, and people with height more than 180 cm are definitely tall. Between 150 cm and 180 cm, a
person’s height can be attributed to low or high with some degree of certainty. For example, the height of 170 cm can be attributed to a
high with some degree of membership 1, and to a low - with degree 2. While the height of 140 cm belongs to the fuzzy set of «high
growth» with degree 0, and the set of «low growth» with degree 1. 
Thus, for the assignment of HM it is necessary to determine:
1. universal set U, which contains all the elements under consideration;
2. A set of Ufu degree values
set ([0.1]);
3. rule that defines the composition of the fuzzy set, i.e. the rule according to which each element from the set U1 corresponds to an
element from the interval [0,1].
For discrete universal sets, the fuzzy set represents
with the set of pairs {ui, ( ui)}, uiU , ( ui) [0.1], i = 1, 2, ... , n,  
where n is the number of elements (power) of the set U.
For continuous universal sets, the rule is an analytically defined map: A: U [0,1]. 
So, the fuzzy set of the Auniversal set Uuus is called the map A: U [0,1] which corresponds to each element of udegree of its
belonging to the fuzzy set Ai called the accessory function of the clear set A: A( u), u u. 
To define a fuzzy set, it is sufficient to specify its accessory function A( u). To emphasize the discrete or continuous character of
n
μ μ A (u)
the fuzzy set, use respectively the notation with the sign of sum or integral: ; .  ∑ ui ∫ u
i=1 i U
The fuzzy set differs from the ordinary set by a set of possible values of the accessory function. If the membership function
accepts only two values for a normal set: 1 - if the element belongs to the set, 0 - otherwise, the fuzzy set ownership function takes values
in the interval [0.1]This means that an element may belong to a fuzzy set with some degree less than 1.
Besides the concept of fuzzy set in fuzzy logic are also defined
a few more concepts and terms.
The carrier (base) Anazyme is a subset of the universal set, such as 0. S A ⊂ U ∀ s ∈ S A : μ A ( s ) 
-the level of the fuzzy subset of the Uwnersal set Ucalled this subset , for which is true: . A α ⊂ U ∀ u ∈ Aα : μ A ( u ) ≥ α
Consider the base of the fuzzy set to be its zero level:. S A = A0
The height of the fuzzy set The upper bound of the values is analized
its accessories function: . If the height of fuzzy set sup μ A ( u )
u ∈U
μ A ( u)
is 1, then it is called normal if less than 1 is subnormal. Subnormal fuzzy set can be normalized:
sup μ A (u) .
u ∈U
Fig. 7.2 shows the fuzzy sets illustrating the human growth and the data above the definition.

μA ( u) Low growth
1

0 u
40 80 120 160 200 240 280 300
А0,5 - 0,5 уровень НМ
SA
Fig. 7.2 Examples of fuzzy sets
Both fuzzy sets have height 1, i.e. are normal. The basis of HM «high growth» is the interval [150; 300], а НМ «низкий рост» – [0; 180]
respectively. The latter also includes an example of a level. 
For both fuzzy sets, the analytical expressions of their membership functions are as follows:

0 , u ≤ 0 или u ≥ 180 0 , u ≤150 или u  300


180 −u μ B (u)=¿ 180 −u
μ A ( u ) =¿ , u ∈ ( 150 , 180 ) 1− , u ∈ ( 150 , 180 )
30 30
1, u ∈¿ 1 ,u ∈ [ 180 ,300 ]
It is now possible to accurately determine the extent to which a value belongs to a fuzzy set. For example, the height of 170 cm may be
high with a degree of 2/3, and low - with a degree of 1/3. (, ). Thus, a person of such stature would be considered high rather than low.
1 2
μ A ( 170 ) = μ B ( 170 )=
3 3
The belonging function of the fuzzy set should not be confused with the probability, which is objective and subordinate to other
mathematical dependencies.
Operation with fuzzy sets
A subset of the fuzzy Aya set is an fuzzy set C if the condition is met: ∀ u ∈U : μC ( u ) ≤ μ A ( u )
In addition to the fuzzy set Anazyme fuzzy set D, which has a membership function. μ D ( u )=1 − μ A ( u ) , u ∈U
By the union of fuzzy sets of Ai, an fuzzy set is provided having a membership function: D= A ∪ C
μ D ( u )=max ( μ A ( u ) , μ C ( u ) ) , u ∈U .
The intersection of fuzzy sets Ai C is called the fuzzy set D= with the accessory function . A ∩C
μ D ( u )=min ( μ A ( u ) , μC (u ) ) ,u ∈ U
The difference of the fuzzy Ai sets is the fuzzy set D= A C with the accessory function .
μ D ( u )=max ( 0 , μ A ( u ) − μC (u ) ) ,u ∈ U
The Cartesian product of fuzzy sets of universal sets is called the fuzzy uni set A1 , A 2 ,. .. , A nU 1 , U 2 , . .. , U n
D= A 1 × A 2 × .. .× A n
universal set , having the function of accessories: U 1 ×U 2 ×. .. ×U n
μ A × A ×. ..× A ( u1 ,u 2 , .. . , un )=min ( μ A ( u 1) , . .. , μ A ( un ) ).
1 2 n 1 n

Fig. 7.3 illustrates some of the above definitions.


For fuzzy sets special operations are also introduced.
The sum of fuzzy sets Ai Cq is called fuzzy set, which has a membership function: D= A +C
μ D ( u )=min(1 , μ A ( u ) + μC ( u ) ), u ∈U .
The inner product of the fuzzy Ai sets is a fuzzy set which has the attachment function: D= A ⋅C
μ D ( u )=μ A ( u ) ⋅ μC ( u ) , u∈ U .

(u) (u)
WITH B=A AC
1 1
A
A(u) B(u) A(u) C(u)
C(u)
u 0 u
0 a) Subset and addition c) Union of fuzzy sets
fuzzy set
(u) AC (u) AC
1 1
A (u) C (u) A (u) C (u)

0 u 0 u
b) Fuzzy set difference r) Intersection of fuzzy sets
Fig. 7.3 Operations with fuzzy sets
α
The degree of the fuzzy set Anazyme fuzzy set with the function of belonging .  D= A α μ D ( u )= ( μ A ( u ) ) ,u ∈ U
2
D=CON ( A )= A
By concentrating the fuzzy set the fuzzy set Anaciles the fuzzy set.
An expansion of the fuzzy set Anazyme fuzzy multiplier. D=DIL ( A ) =A 0 ,5
Concentration and expansion operations are widely used when working with linguistic variables.
The special operations with fuzzy sets listed are illustrated in Fig. 7.4.

(u) D=A+C (u)


DIL (A)
1 1
A (u) C (u)
A (u)

u 0 u
0 a) Sum of fuzzy sets c) Fuzzy set concentration

(u) (u)
A (u)
D=AC
1 1
A (u) C (u) CON (A)

0 u 0 u
b) Inner product of fuzzy r) Fuzzy set expansion
sets
Lecture. Linguistic Variables
Linguistic variables (LP) are a way of describing complex systems, the parameters of which are considered as qualitative rather
than quantitative. At the same time, linguistic variables make it possible to bring some quantitative interpretation into conformity with
qualitative characteristics with a given degree of confidence, which allows the possibility of processing qualitative data on computers.
Another field of application of linguistic variables is the fuzzy logical inference, which differs from the usual one in that the truth of
logical statements is determined not by two values 0 and 1, but by a set of values in the interval [0, 1].
The concept of a linguistic variable is based on the concept of an odd variable.
A fuzzy variable is a set of three elements:
< X, U, µA(u) >,
where X is the name of the fuzzy variable; U- universal set; µA(u) is a fuzzy subset of the Auniversal set U. In other words, a fuzzy
variable is a named fuzzy set.
The linguistic variable consists of a set of five elements:
< L, T(X), U, G, M >,
where L is the name of the linguistic variable;
T(X) is a set of base thermos of a linguistic variable consisting of a set of names of meanings of linguistic variables {T1, T2, ... , Tn}, each of which
corresponds to a fuzzy Huniversal variable U;
U is a universal set on which a linguistic variable is defined;
G is a syntax rule that generates the Xvalues of a variable;
M is a semantic rule that matches each fuzzy Xher variable to M(X), i.e. a fuzzy subset of the universal set U.
К термам лингвистической переменной предъявляется требование упорядоченности: T1 < T2 < … < Tn.
The ownership functions of the fuzzy sets that make up the quantitative meaning of the base thermoses of a linguistic variable
must satisfy the following conditions:
1. μT 1(umin )=1 , μ T n (u max )=1;

2. ∀ i, i+1=1 , n: 0< max μ T ∩ T (u)< 1;


i i+ 1
u ∈U
3. ∀ i=1 , n ∃u ∈ U : μT (u)=1 i

4. ∀ i=1 , n: 0<∫ μ T (u)∂ u< ∞.i


U
Here n is the number of base thermons of the linguistic variable; umin, umax is the boundary of the universal set U, on which the
linguistic variable is defined. Если U R (R – множество действительных чисел, то U = [umin, umax].⊂
Синтаксическое правило G представляет собой совокупность четырех элементов: G = < VT, VN, T, P >,
where VT is the set of terminal characters or words; VN- collection of non-terminal characters or phrases; T is the set of base thermos;
P is the set of substitution rules that determine the equivalence of phrases.
The semantic Mstavit rule according to each phrase is a new no-
clear set, determined based on the ownership functions of the base thermos and the sum of operations with fuzzy sets.
As an example, consider the numerical linguistic variable «human growth». Let the values of the variable be set by three basic
thermos: «low», «medium», «high». Thermae are ordered. The universal numeric set Uin this case is the interval U= [0; 300].
Thermo attachment functions are given in Fig. 7.6 and meet the requirements discussed above.

μ(u) Medium
Low High
1
Fig. 7.6 Linguistic variable «Human growth»
As a syntactic rule, we define that the words «and», «or», «more or less», «not», «very», which can be combined with the base
terms «low», «medium», «high», and the following rules should be followed:
 the symbols «and» and «or» can connect only two phrases or basic terms, and the remaining non-terminal symbols are unary, i.e.
can precede a phrase or basic term; for example, «not high», «very low», «low or medium»;
 Simultaneous negation of two base thermons, for example, «not low and not high», is equivalent to the remaining base term, i.e.
«medium».
By applying these rules, you can construct many phrases and substitution rules. In the case that a syntactic rule cannot be
algorithmically defined, all possible phrases are simply listed.
As a semantic rule, define the correspondence between non-terminal characters and operations on fuzzy sets:
«Not» - supplement;
«and» - intersection;
«or» - association;
«very» - concentration;
«more or less» - extension.
Using the linguistic variable considered, you can estimate
We need to measure human growth without using accurate measurements.
Thus, linguistic variables can describe objects whose precise characterization is either extremely laborious or impossible.
The formation of a linguistic variable is usually carried out on the basis of a survey of experts - specialists in the field for which
the PL is built. Particular attention is paid to the formation of belonging functions of fuzzy sets, which are the basic terms of the
linguistic variable, because the definition of syntactic and semantic rules for most linguistic variables is standardized and in practice
reduced to listing all possible phrases and interpreting non-terminal characters, as shown above.
The process of forming a linguistic variable involves the following steps:
1. Determination and ordering of the set of thermoses of LP.
2. Construction of the numerical domain of the LP definition.
3. Ascertain the pattern of the expert survey and conduct the survey.
4. Construction of accessories functions for each term of LP.
Step 1 requires the expert to specify the number of PL thermos and the names of the fuzzy variables corresponding to them. The
number of thermos is selected from the range n= 7 2.
Step 2 describes a universal set U, which can be numeric and non-numeric. The type of universal set depends on the objects described and
determines the way of formation of functions of belonging of thermo PL.
Stage 3 is the key to the formation of PL. There are two types
Expert interviews: direct and indirect. Each of these methods can be individual or group. The simplest in terms of organization and
software implementation is an individual method of questioning experts.
All parameters of ownership functions are directly indicated in direct expert interviews. The disadvantage here is the
manifestation of subjectivity in judgments, as well as the need for the expert to know the bases of fuzzy logic. In indirect poll ownership
functions are formed on the basis of the expert’s answer to «suggestive» questions. This increases the objectivity of the assessment and
does not require knowledge of fuzzy logic, but increases the risk of inconsistency of expert judgment.
При групповых методах опроса результат формируется на основе объединения мнений нескольких экспертов. На
практике наиболее часто используется индивидуальный косвенный опрос.
Содержанием этапа 4 является обработка результатов опроса экспертов и построение функций принадлежности термов
ЛП.

Лекция. Нечеткие вычисления


Понятие нечеткого числа
Одной из областей применение нечеткой логики является выполнение арифметических операций с нечеткими множествами. Для
снижения трудоемкости таких операций используется специальный тип нечетких множеств – нечеткие числа.
Нечетким числом (НЧ) называется нечеткая переменная, имеющая следующие свойства: U ⊂ R=(− ∞,+ ∞);
μ A (u):U →[0 , 1].
Другими словами, нечеткое число – именованное нечеткое множество, для которого универсальное множество U
представляет собой интервал действительной оси R.
В реальных задачах используются кусочно-линейные нечеткие числа.Для упрощения арифметических операций
кусочно-линейные функции принадлежности дополнительно аппроксимируют, чтобы получить специальный вид нечетких
чисел – параметрические нечеткие числа или нечеткие числа
(L–R)–типа, которые характеризуются компактностью представления и просто-
той реализации арифметических операций.
Нечеткое число А называется нечетким числом (L–R)–типа, если его функция принадлежности имеет следующий вид
(рис. 7.8):

0, u ∈¿ ∪ ¿
µA(u) =
1, u ∈[b ; c ],
L(u), u ∈(a ; b)
R(u) u ∈(c ; d)
,

где a< b ≤ c< d – параметры нечеткого числа; L(x), R(x) – некоторые функции.
Нечеткое параметрическое число обозначается (a, b, c, d)LR.
Таким образом, нечеткое число (L–R)–типа описывается шестью параметрами: четырьмя числами, обозначающими его
границы, и двумя функциями, определяющими форму его функции принадлежности.

μ(u)
1

L(u) R(u)

a b c d a b=c d u
Рис.7.8 Параметрические нечеткие числа
Нечеткое число называется унимодальным, если оно имеет только одну точку, в которой функция принадлежности равна
единице, т.е. его параметры b и c равны, в противном случае нечеткое число называется толерантным (см. рис. 7.8).
Унимодальные нечеткие числа обозначаются пятью параметрами (a, b, d)LR.
В качестве LR–функций наиболее часто используют линейные зависимости, задаваемые следующими соотношениями:
u −a u−d
L(u , a , b)= , R(u , c , d)= .
b−a c−d
LR – функции также могут задаваться квадратичными, экспоненциальными и другими зависимостями.
В случае использования линейных функций унимодальные и толерантные нечеткие числа называют соответственно
треугольными и трапециевидными и обозначают (a, b, d) и (a, b, c, d).
Для нечетких чисел особым образом определяется понятие знака и нулевого значения.
Нечеткое число А называется положительным, если его основание лежит в положительной действительной полуоси
+¿ ¿
SA ⊂ R или
∀ u ∈ R and. μ A (u)> 0: u>0
Нечеткое число А называется отрицательным, если его основание лежит в отрицательной действительной полуоси

SA ⊂ R или
∀ u ∈ R and. μ A (u)> 0: u<0
Для параметрических нечетких чисел знак определяется значениями параметров: положительное нечеткое число, если a
> 0; отрицательное, если d < 0; нечеткий ноль, если 0 ∈[b , c ].
Операции с нечеткими числами
Одной из важнейших операций с нечеткими числами является их сравнение. Результат сравнения очевиден лишь в том
случае, если основания сравниваемых нечетких чисел M и N не пересекаются, т.е S M ∩ S N =¿∅ . В этом случае большим
считается то число, чье основание на действительной оси расположено правее (рис. 7.9).
μ(u) M N>M
N
1

u
SM SN

Рис. 7.9 Сравнение НЧ с непересекающимися основаниями


Однако в большинстве случаев основания нечетких чисел пересекаются,
поэтому их сравнение происходит следующим образом. Для каждого из сравниваемых нечетких чисел M и N вычисляют
специальные меры Н(М), Н(N), которые затем сравнивают:
Н (М )− Н (N )≥ 0 ⇒ M ≥ N .
Вычисление меры Н выполняется двумя способами:
 поиск точки максимума;
 поиск центра тяжести.
В случае поиска максимума величина Н является точкой на действительной оси, которая соответствует максимальному
значению функции принадлежности (рис. 7.10). Используются три разновидности максимума: наибольший из максимумов (LOM),
наименьший из максимумов (SOM) и центр максимумов (MOM).
μ(u) M N
1

H(M)
Рис. 7.10 Сравнение по максимуму функций u
H(N) принадлежности
Центр тяжести нечеткого числа M = ∫ μ M ¿¿ вычисляется по формуле:
[u , u ]
u

∫ u⋅ μ M (u) du
u
H (M )= u . (7.4)

∫ μ M (u)du
u
Физическим аналогом этой формулы является нахождение центра тяжести плоской фигуры, ограниченной осями
координат и графиком функции принадлежности нечеткого множества.
Сравнение нечетких чисел более предпочтительно выполнять на основе поиска центра тяжести.
Еще одной важной операцией с нечеткими множествами, в том числе нечеткими числами, является определение меры
сходства. Обычно данную операцию применяют для этого, чтобы определить какое из двух нечетких множеств больше похоже
на третье. Прикладное значение такой операции заключается в следующем. При задании параметров некоторой системы могут
использоваться лингвистические переменные, тогда значениями параметров являются нечеткие множества. Обработка и анализ
параметров требует выполнения над ними некоторых преобразований, в результате которых также получаются нечеткие
множества. Но представлять их в качестве результата нецелесообразно. Результат лучше представить с помощью
лингвистических переменных. Чтобы выяснить, на какой из термов лингвистической переменной больше похож результат, и
применяется процедура вычисления меры сходства. Терм, для которого она окажется максимальной, считается результатом.
Указанная процедура получила название лингвистической аппроксимации и служит средством обратного преобразования
количественных данных в качественные.
Мера сходства для совпадающих нечетких множеств должна быть равна 1, а для непересекающихся – 0.
Общая формула для вычисления меры сходства двух нечетких множеств M и N имеет следующий вид:
∫ min { μ M (u), μN (u) } du
SM ∩ SN
μS ( M , N )= ,
∫ max { μ M (u) , μ N (u) } du
SM∪SN
где μ M (u), μ N (u) – функции принадлежности нечетких множеств M и N;
S M , S N – основания нечетких множеств M и N.
Данное выражение интерпретируется как отношение площадей функций принадлежности пересечения и объединения
рассматриваемых нечетких множеств (рис. 7.11).

μ(u) M N μ(u) M N
1 1
M N M N

0 u 0 u
Рис. 7.11 Графическое представление меры сходства НМ

Лекция. Применение нечеткой логики в системах управления


Последовательность выполнения нечеткого вывода
Используемый в различного рода экспертных и управляющих системах механизм нечетких выводов в своей основе
имеет базу знаний, формируемую
специалистами предметной области в виде совокупности нечетких правил сле-
дующего вида:
П1: если x есть A1, то y есть B1;
П2: если x есть A2, то y есть B2;

Пn: если x есть An, то y есть Bn,
где x– входная лингвистическая переменная (имя для известных значений данных); y – выходная лингвистическая переменная
(имя для значения данных, которое будет вычислено); Ai, Bi – функции принадлежности (нечеткие подмножества),
определенные соответственно на x и y; «x есть A» – нечеткое высказывание, называемое предпосылкой правила; «y есть B» –
нечеткое высказывание, называемое заключением правила.
Пример подобного правила:
Если цена высокая, то спрос низкий.
Здесь цена – входная переменная x; спрос – выходное значение y; высокая, низкий – функции принадлежности (нечеткие
подмножества), определенные на множествах значений цены и спроса соответственно.
В нечетких управляющих системах все правила работают одновременно, но степень их влияния на результат различна.
Поэтому основой функциониро-
вания нечетких управляющих систем является вычисление обобщенного ре-
зультата, учитывающего влияние всех правил.
Процесс обработки нечетких правил вывода в управляющих системах состоит из четырех этапов:
1. Введение нечеткости (фазификация). Функции принадлежности, определенные на входных переменных, применяются к
их фактическим значениям для определения степени истинности предпосылки каждого правила.
2. Нечеткий вывод. Вычисленное значение истинности для предпосылок каждого правила применяется к заключениям
правил. Это дает нечеткое подмножество для переменной вывода каждого правила. В качестве правил логического вывода
используются операции min (МИНИМУМ) или prod (ПРОИЗВЕДЕНИЕ). В логическом выводе МИНИМУМА функция
принадлежности заключения правила «отсекается» по высоте, соответствующей вычисленной степени истинности
предпосылки правила. В логическом выводе ПРОИЗВЕДЕНИЯ степень истинности предпосылки правила используется как
коэффициент, на который умножаются значения функции принадлежности заключения правила.
3. Композиция. Все нечеткие подмножества, определенные для каждой переменной вывода (во всех правилах), объединяются
вместе и формируют одно нечеткое подмножество для каждой переменной вывода. При таком объединении используется
операция max (МАКСИМУМ) или sum (СУММА). При композиции МАКСИМУМ выполняется объединение функций принадлежности
нечетких подмножеств m 1 F (x), m 2 F (x ),. .. , m nF (x ) по формуле:
m sumF (x)=max { m iF (x ) }, i=1 , .. . ,n
При композиции СУММА выполняется суммирование значений всех функций принадлежности по формуле:
n
msumF (x)=∑ miF (x), i=1 ,. .. , n
i=1
Скаляризация осуществляется различными способами. Чаще всего используется определение «центра тяжести» Н функции
принадлежности нечеткого подмножества по формуле (7.4). Другой способ скаляризации – использование максимального значения
функции принадлежности.
Алгоритмы нечеткого вывода
Рассмотрим наиболее часто используемые модификации алгоритма нечеткого вывода, полагая, для простоты, что база
знаний включает два нечетких правила вида:
П1: если x есть A1 и y есть B1 то z есть C1,
П2: если x есть A2 и y есть B2 то z есть C2,
где x, y – имена входных переменных; z – имя переменной вывода; A1, A2, B1, B2, C1, C2 – некоторые заданные функции
принадлежности.
Необходимо определить четкое значение z0 на основе указанных правил вывода и четких значений x0, y0.
Алгоритм Мамдани
Данный алгоритм соответствует рассмотренному примеру и рис. 7.15. Математически он может быть описан следующим
образом.
1. Нечеткость: определяются степени истинности для предпосылок каждого правила: A1(x0), A2(x0), B1(y0), B2(y0).
2. Нечеткий вывод: определяются уровни «отсечения» для предпосылок каждого из правил с использованием операции
МИНИМУМ:
α 1= A1 (x 0 )∧ B1 ( y 0), α 2= A2 (x 0 )∧ B 2( y 0),
где через « » обозначена операция взятия минимума (min), затем вычисляются «усеченные» функции принадлежности
' '
C 1( z)=α 1 ∧C1 ( z ), C 2 (z)=α 2 ∧C 2( z).
3. Композиция: с использованием операции МАКСИМУМ (max, далее обозначаемой как « ») производится объединение
найденных усеченных функций, в результате определяется итоговое нечеткое подмножество для переменной вывода с
функцией принадлежности:
μ∑ ❑(z )=C( z)=C ( z)∨ ¿¿
'
1

4. Приведение к четкости: для нахождения z0 вычисляется центр тяжести μ∑ ❑(z ).


Алгоритм Цукамото
Исходные посылки – как у предыдущего алгоритма, но в данном случае
предполагается, что функции C1(z) и C2(z) являются монотонными. Алгоритм включает следующие шаги:
1. Первый этап такой же, как в алгоритме Мамдани.
2. На втором этапе сначала определяются (как в алгоритме Мамдани) уровни «отсечения» α 1 и α 2, затем в результате решения
уравнений α
1 =С 1( z1 ), α 2=С 2 (z2 ) вычисляются четкие значения (z1 и z2) для каждого из исходных правил.
3. Определяется четкое значение переменной вывода как взвешенное среднее z1 и z2:
α 1 z 1+ α 2 z 2
z 0=
α 1+ α 2
В случае n нечетких множеств используется следующая формула:
z 0=¿ .
Пример. Пусть имеем A1 (x 0 )=0 , 7, A2 (x 0 )=0 , 6, B1 ( y 0 )=0 , 3, B2 ( y 0 )=0 , 8.
Степени истинности предпосылок правил определяются следующим образом:
α 1=min ( A1 (x 0 ), B1 ( y 0 ))=min (0 ,7 ; 0 ,3)=0 ,3 ,
α 2=min ( A2 (x 0 ), B2 ( y 0 ))=min (0 , 6 ; 0 , 8)=0 , 6
и значения z 1=8 и z 2=4 вычисляются в результате решения уравнений
C 1( z1 )=0 , 3, С 2 (z2 )=0 , 6 .
При этом четкое значение переменной вывода
z 0=¿ .
Алгоритм Сугено
Алгоритм Сугено использует набор нечетких правил следующего вида:
П1: если x есть A1 и y есть B1 то z 1=a 1 x +b1 y ,
П2: если x есть A2 и y есть B2 то z 2=a 2 x +b2 y .
Алгоритм включает следующие шаги.
1. Первый шаг такой же, как в алгоритме Мамдани.
2. На втором шаге вычисляются α = A (x )∧ B ( y 0), α 2= A2 (x 0 )∧ B 2( y 0)
1 1 0 1 и индивидуальные выходы правил:
❑ ❑
z 1 =a 1 x 0 +b1 y 0, z 2 =a 2 x 0 +b2 y 0.
3. На третьем шаге определяется четкое значение переменной вывода по формуле:
❑ ❑
α z + α 2 z2
z 0= 1 1 .
α 1+ α 2
Алгоритм Ларсена
В этом алгоритме нечеткий вывод выполняется с использованием операции ПРОИЗВЕДЕНИЯ. Алгоритм включает
следующие шаги.
1. Первый этап такой же, как в алгоритме Мамдани.
2. На втором этапе сначала определяются (как в алгоритме Мамдани) уровни «отсечения» α 1 и α 2: α 1= A1 (x 0 )∧ B1 ( y 0),
α 2= A2 (x 0 )∧ B 2( y 0), а затем – нечеткие подмножества α 1 С 1 (z), α 2 C 2 (z).
3. Вычисляется обобщенное нечеткое подмножество с функцией принадлежно-
сти μ∑ ❑(z )=C( z)=(α C 1( z))∨ (α2 C 2 (z)) .
1

В случае n правил
μ
V (αi C i ( z)) .
n
∑ ❑(z )=C( z)=i=1
Выполняется приведение к четкости методом центра тяжести.

Лекция. Основные направления исследований в области искусственного интеллекта


Основные направления исследований в области искусственного интеллекта следующие:
1. Разработка ИИС или систем, основанных на знаниях. Целью построения таких систем является применение знаний
высококвалифицированных специалистов - экспертов для решения сложных практических задач. При этом используются
знания, накопленные экспертами в виде конкретных правил решения тех или иных задач. В таких системах воспроизводится
человеческий способ анализа неструктурированных и слабоструктурированных проблем. В рамках данного направления
разрабатываются модели представления, извлечения и структурирования знаний, изучаются проблемы создания баз знаний,
являющихся ядром систем, основанных на знаниях.
Разработка естественно-языковых интерфейсов и машинный перевод. Системы машинного перевода предназначены
для повышения доступности информации и оперативности перевода больших объемов научно-технических текстов. В основе
таких систем лежит база знаний в определенной предметной области и сложные модели, обеспечивающие трансляцию
«исходный язык оригинала – язык смысла – язык перевода». В этих системах осуществляется анализ и синтез естественно-
языковых сообщений.
1 Данное направление охватывает разработку методов и систем, обеспечивающих общение человека с компьютером на
естественном языке.
3. Генерация и распознавание речи. Системы речевого сообщения создаются для ускорения ввода информации в ЭВМ,
разгрузки зрения и рук пользователя, для реализации речевого общения на значительном расстоянии.
4. Обработка визуальной информации. В этом направлении решаются задачи обработки, анализа и синтеза изображений.
Задача обработки изображения связана с трансформированием графических образов в новые изображения. Задача анализа
состоит в преобразовании исходного изображения в данные другого типа, например в текстовые описания. При синтезе
изображений на вход системы поступает алгоритм построения изображения, а выходными данными являются графические
объекты (системы машинной графики).
5. Обучение и самообучение. Эта область включает модели, методы и алгоритмы, ориентированные на автоматическое
накопление и формирование знаний с использованием процедур анализа и обобщения данных.
6. Распознавание образов. Решение этой задачи состоит в отнесении объектов к классам, которые описываются
совокупностями определенных значений признаков.
7. Игры и машинное творчество. Это направление охватывает сочинение компьютерной музыки, стихов, изобретение новых
объектов, создание интеллектуальных компьютерных игр.
8. Программное обеспечение систем искусственного интеллекта. Это инструментальные средства для разработки
интеллектуальных систем. Такие средства включают: специальные языки программирования, ориентированные на обработку
символьной информации (LISP, SMALLTALK, РЕФАЛ); языки логического программирования (PROLOG); языки представления
знаний (OPS5, KRL, FRL); интегрированные программные среды для создания интеллектуальных систем (КЕ, ARTS, GURU);
оболочки экспертных систем (BUILD, EMYCIN, ЭКСПЕРТ), позволяющие создавать прикладные экспертные системы (ЭС), не
прибегая к программированию.
9. Интеллектуальные роботы. Для создания автономных интеллектуальных роботов необходимо решить проблемы в
области интерпретации знаний, машинного зрения, адекватного хранения и обработки трёхмерной визуальной информации.

Лекция. Классификация ИИС

Для интеллектуальных информационных систем характерны следующие признаки:


 развитые коммуникативные способности;
 умение решать сложные плохо формализуемые задачи;
 способность к самообучению;
 адаптивность.
Коммуникативные способности определяют способ взаимодействия пользователя с системой.
Решение сложных плохо формализуемых задач требует построения оригинальных алгоритмов решения в зависимости от
конкретной ситуации, характеризующейся неопределенностью и динамичностью данных и знаний.
Способность к самообучению – умение системы автоматически извлекать знания из накопленного опыта и применять их
для решения задач.
Адаптивность – способность системы к развитию в соответствии с изменениями области знаний.
Каждому из перечисленных признаков соответствует свой класс интеллектуальных систем. Различные системы могут
обладать одним или несколькими признаками интеллектуальности с разной степенью проявления.
На рис 1 приведена классификация ИИС на основе указанных признаков.

Интеллектуальные ИС

Системы с интеллектуальным Экспертные системы Самообучающиеся системы Адаптивные


интерфейсом (коммутативные (решение сложных плохо (способность к информационные
способности) формализуемых задач) самообучению) системы
(адаптивность)

Классифицирующие Индуктивные CASE –


Интеллектуальные БД
системы технологии
Естественно-языковой Доопределяющие Нейронные сети
интерфейс Компонентные
Трансформирующие Системы, основанные технологии
на прецедентах
Когнитивная Мультиагентные
графика Информационные
хранилища

Рис. 1 Классификация интеллектуальных информационных систем

Системы с интеллектуальным интерфейсом


Системы с интеллектуальным интерфейсом делят на три разновидности.
Интеллектуальные базы данных позволяют в отличие от традиционных БД выполнять выборку информации, не
присутствующей в явном виде, а выводи-
мой из совокупности хранимых данных.
Естественно-языковой интерфейс применяется для доступа к интеллектуальным базам данных, голосового ввода команд в
системах управления, в системах машинного перевода с иностранных языков. Для реализации естественно-языкового интерфейса
необходимо решить проблемы морфологического, синтаксического и семантического анализа, а также задачу синтеза
высказываний на естественном языке. При морфологическом анализе осуществляется распознавание слов. В результате
синтаксического анализа определяется структура предложения. Семантический анализ обеспечивает установление смысла
синтаксических конструкций. Синтез высказываний заключается в преобразовании цифрового представления информации в
представление на естественном языке.
Системы когнитивной графики ориентированы на общение с пользователем посредством графических образов, которые
генерируются в соответствии с изменением параметров моделируемых или наблюдаемых процессов. Когнитивная графика
позволяет в наглядном виде представить множество параметров, характеризующих изучаемое явление; применяется в
системах мониторинга и оперативного управления, в обучающих и тренажерных системах.
Экспертные системы
Экспертные системы (ЭС) предназначены для решения трудных прикладных задач, требующих привлечения знаний и
опыта экспертов, т.е. для решения неформализованных проблем, к которым относят задачи, обладающие одной (или
несколькими) из следующих характеристик:
 задача не может быть представлена в числовой форме;
 исходные данные и знания предметной области обладают неточностью, неоднозначностью, противоречивостью;
 не существует однозначного алгоритма решения задачи;
 алгоритм решения существует, но его нельзя использовать из-за большой размерности пространства решений и ограничений на
ресурсы времени и памяти.
Одним из важных свойств ЭС является способность объяснить ход своих рассуждений понятным для пользователя
образом.
ЭС применяются в разных предметных областях – в бизнесе, производстве, медицине, проектировании и системах
управления.
ЭС является инструментом, усиливающим интеллектуальные способности эксперта. Экспертная система может
выступать в роли:
 консультанта для непрофессиональных пользователей;
 ассистента эксперта – человека в процессе анализа вариантов решений;
 партнера эксперта в процессе решения задач, требующих привлечения знаний из разных предметных областей.
Выделяют четыре класса экспертных систем.
Классифицирующие ЭС решают задачи распознавания ситуаций. Основным методом решения является дедуктивный
логический вывод.
Доопределяющие ЭС используются для решения задач с не полностью определенными данными и знаниями. В качестве методов
обработки неопределенных знаний используются вероятностный подход, коэффициенты уверенности, нечеткая логика.
Трансформирующие ЭС относятся к синтезирующим динамическим экспертным системам. В таких системах используются следующие
способы обработки знаний:
 генерация и проверка гипотез;
 логика предположений и умолчаний, когда по неполным данным формируются представления об объектах
определенного класса, которые затем адаптируются к условиям конкретных ситуаций;
 использование метазнаний (более общих закономерностей) для устранения неопределенностей ситуаций.
Мультиагентные системы – это динамические ЭС, основанные на объединении нескольких различных источников
знаний. Эти источники обмениваются
между собой получаемыми результатами в ходе решения задач. Системы данного класса имеют следующие возможности:
 реализация альтернативных рассуждений на основе использования различных источников знаний и механизма
устранения противоречий;
 распределенное решение задач, декомпозируемых на параллельно решаемые подзадачи с самостоятельными
источниками знаний;
 применение различных стратегий вывода заключений в зависимости от типа решаемой задачи;
 обработка больших массивов информации из баз данных.
Самообучающиеся системы
Самообучающиеся системы основаны на методах автоматической классификации ситуаций из реальной практики или на
методах обучения на примерах. Примеры реальных ситуаций составляют так называемую обучающую выборку. Элементы
обучающей выборки описываются множеством классификационных признаков. Используются стратегии обучения «с учителем» и
«без учителя».
При обучении «с учителем» для каждого примера задаются значения признаков, показывающие его принадлежность к
определенному классу ситуаций.
При обучении «без учителя» система сама выделяет классы ситуаций по степени близости значений классификационных
признаков.
Самообучающиеся системы, построенные на этих принципах, имеют следующие недостатки:
 относительно низкую адекватность баз знаний реальным проблемам из-за неполноты и/или зашумленности обучающей
выборки;
 низкую степень объяснимости полученных результатов;
 поверхностное описание предметной области и узкую направленность применения из-за ограничений размерности
пространства признаков.
Индуктивные системы позволяют обобщать примеры на основе принципа индукции «от частного к общему».
Обобщение сводится к классификации примеров по значимым признакам.
Нейронные сети представляют собой группу алгоритмов, обладающих способностью обучаться на примерах. Нейронные сети
используются при решении задач обработки сигналов и изображений, распознавания образов, прогнозирования.
Нейронная сеть – это кибернетическая модель нервной системы, представляющая собой совокупность сравнительно
простых элементов - нейронов. Способ соединения нейронов зависит от типа сети. Чтобы ее построить нейронную сеть для
решения какой-либо конкретной задачи, следует выбрать способ соединения нейронов друг с другом и подобрать значения
параметров межнейронных соединений.
В системах, основанных на прецедентах, база знаний содержит описания конкретных ситуаций (прецеденты). Прецеденты
описываются множеством признаков. Поиск решения осуществляется на основе аналогий и включает сопоставление информации о
текущей проблеме со значениями признаков прецедентов из базы знаний, выбор прецедента, наиболее близкого к рассматриваемой
проблеме, адаптацию выбранного прецедента к текущей проблеме, проверку корректности полученного решения и занесение
информации о полученном решении в базу знаний.
Информационные хранилища представляют собой хранилища информации, регулярно извлекаемой из оперативных баз
данных. В отличие от оперативных баз данных, где данные постоянно меняются и присутствуют только в последней версии,
хранилище данных – это предметно-ориентированное, привязанное ко времени, неизменяемое собрание данных, применяемых для
поддержки процессов принятия управленческих решений. Технологии обработки информации в хранилище ориентированы на поиск
закономерностей и отношений, скрытых в совокупности данных. Эти закономерности могут использоваться для оптимизации
деятельности предприятия. Для извлечения информации из хранилищ данных используются специальные методы анализа данных,
основанные на применении математической статистики, нейронных сетей, построении деревьев решений и др.
Адаптивные информационные системы
Адаптивные информационные системы используются в тех случаях, когда поддерживаемые ими предметные области
постоянно развиваются. В связи с этим адаптивные системы должны удовлетворять следующим требованиям:
 адекватно отражать знания предметной области в каждый момент времени;
 быть пригодными для легкой и быстрой реконструкции при изменении предметной области.
В процессе разработки адаптивных систем применяется оригинальное или типовое проектирование. Оригинальное
проектирование предполагает разработку информационной системы с нуля, на основе сформулированных требований. При
этом используются системы автоматизированного проектирования или CASE – технологии.
При типовом проектировании осуществляется адаптация типовых разработок к особенностям предметной области. При
этом применяются средства компонентного (сборочного) проектирования информационных систем.

Лекция. Способы представления задач в ИИС


Процесс решения задач включает два этапа: представление задачи и поиск (перебор вариантов) решения.
Успех решения задачи в значительной мере определяется формой её представления. Формы или способы представления
задачи могут быть различными и зависят как от природы самой задачи, так и от её решателя. Однако характер человеческого
мышления таков, что этап и форма представления задачи, которую он использует, не всегда им осознаются. Так, шахматист не
может четко объяснить форму представления шахматной ситуации, позволяющую ему не перебирать все возможные варианты
продолжения при поиске очередного хода. Поэтому этап представления задачи часто выпадает из поля зрения человека. Тем не
менее важность этого этапа осознается сразу же при попытке построить программно реализуемый алгоритм решения задачи.
Поиск формы представления задачи, удобной для её машинного решения, является трудно формализуемым творческим
процессом. Используются следующие наиболее употребительные формы: представление в пространстве состояний,
представление путем сведения задачи к подзадачам, представление в виде теоремы, комбинированное представление.
Представление в пространстве состояний
Представление задач в пространстве состояний включает описание всех состояний или только начальных, задание
операторов, отображающих одни состояния в другие, и задание целевого состояния. Возможны различные формы описания
состояний задачи. В частности, могут быть использованы строки, векторы, матрицы, графы. Форму описания состояний задачи
выбирают так, чтобы применение оператора, преобразующего одно состояние в другое, было достаточно простым.
Операторы могут быть заданы с помощью таблицы, связывающей каждое входное состояние с некоторым выходным.
Для больших задач такое задание оператора практически непригодно. При описании состояний в форме строки (вектора)
оператор удобно задавать в виде правил переписывания.
Процедура поиска решения в пространстве состояний заключается в том, чтобы найти последовательность операторов,
преобразующих начальное состояние в целевое. Решением задачи является указанная последовательность операторов.
Представление задачи в пространстве состояний определяется совокупностью трех составляющих – ( S0, F, G), где S0 –
множество начальных состояний; F – множество операторов, отображающих одно состояние в другое (т.е. пространство
состояний в себя); G – множество целевых состояний.
Рассмотрим примеры представления задач в пространстве состояний.
1. Задача о выборе маршрута или задача о коммивояжере.
Транспортный робот должен построить маршрут так, чтобы побывать в каждом из n заданных пунктов по одному разу и
возвратиться в исходный пункт. При этом, если таких маршрутов несколько, надо выбрать маршрут минимальной
протяженности. На рис. 8.1 приведена схема расположения пунктов A, B, C, D, маршрутов и расстояний.
A 5 IN

6 10
11
12 8
WITH 8 D

Рис. 8.1 Схема маршрутов.


Состояния в этой задаче можно задавать строкой, обозначающей список пунктов, пройденных к текущему моменту.
Если начальный пункт А, то начальное состояние задается строкой из одной буквы А. Не допускается, чтобы в строке какой-
либо пункт упоминался более одного раза. Исключением является строка, соответствующая целевому состоянию, в которой в
конце повторно указывается исходный пункт после перечисления всех остальных пунктов.
Операторы – это отображения, соответствующие решению робота направиться из данного пункта в какой-либо
следующий.
Целевым состоянием, если не требуется минимизировать протяженность маршрута, является любое состояние, описание
которого начинается и заканчивается A и содержит названия всех других пунктов. Таким, например, является состояние
ABCDA.
Задача о манипуляции предметами.
Пусть состояние (мир) задачи включает некоторое число площадок с расположенными на них блоками, а также робот -
манипулятор, перемещающий блоки с одной площадки на другую и устанавливающий их друг на друга.
Текущее состояние задачи можно интерпретировать как текущее расположение блоков на площадках. Способы
перемещения блоков роботом, т.е. переход из одного состояния в другое, подчиняются некоторым требованиям. Так, может
быть ограничено число блоков на конкретной площадке, для перемещения следует выбирать блоки, лежащие сверху, и т.д. На
основе таких требований строится множество F допустимых операторов перехода, которые представляют совокупность
разрешенных действий робота. Желаемое расположение блоков на площадках есть целевое состояние задачи. Решением задачи
является последовательность операторов F1,…, Fn, с помощью которой можно переставить блоки из некоторого начального
расположения (начального состояния) в желаемое, т.е. целевое состояние.
При описании пространства состояний и методов поиска решений широко используется граф и особенно одна его
разновидность, называемая деревом.
Дерево – это ориентированный граф, в каждую вершину которого входит только одна дуга, за исключением одной
вершины, называемой корнем дерева. В корень не входит ни одна дуга. Если v – какая-либо вершина дерева и вершины
v i ( i=1 , .. . m) являются концами дуг, выходящих из вершины v , то говорят, что вершина v
порождает вершины v i.
Введем понятие уровня. Будем считать, что корень находится на нулевом уровне; вершины, порожденные корнем, – на
первом уровне; вершины, порожденные вершинами к- го уровня, находятся на ( k +1 ) - м уровне.
Представление, сводящее задачу к подзадачам
Такое представление предусматривает разбиение исходной задачи на множество подзадач, раздельное решение которых
дает решение исходной задачи. Каждая из подзадач может в свою очередь также разбиваться на подзадачи. Разбиение
продолжается до получения на нижнем уровне множества подзадач, способ решения которых известен. Такие задачи
называются элементарными.
Существует два типа структур взаимосвязи подзадач: И – структуры и И/ИЛИ – структуры. В И – структурах для
решения основной задачи требуется решить все подзадачи. В И/ИЛИ – структурах подзадачи разбиваются на группы, внутри
которых они связанны отношением И, а между группами – отношением ИЛИ. В этом случае для решения исходной задачи
достаточно решить все подзадачи какой-либо одной группы.
Для описания представления путем сведения задач к подзадачам используют граф, называемый И/ИЛИ графом.
Вершинам графа соответствуют задачи, а дугам – операторам разбиения задач. Причем корню графа соответствует исходная
задача, вершинам первого уровня – задачи, непосредственно порожденные исходной задачей, вершинам второго уровня –
задачи, порожденные задачами первого уровня, и т.д.
Предположим, что задача A может быть решена, если будут решены задачи B и C или задача D; задача B будет решена,
если решены задачи E или F; задача C – если решена G; задача D – если решены H и I. Граф такого представления задачи А
приведен на рис. 8.2.
A

BCD

EFG HI

Рис. 8.2 И/ИЛИ–граф для задачи А


Для обозначения вершин, связанных отношением И, на графе дуги, входящие в эти вершины, соединяются перемычками (в
примере связаны вершины В и С, Н и I).
Структурно И/ИЛИ – граф отличается от графа состояния наличием связанных вершин, которые также называются И–
вершинами, а несвязанные вершины – ИЛИ–вершинами. Вершины, соответствующие элементарным задачам, называются
заключительными или терминальными вершинами. Вершины, не имеющие дочерних вершин и не являющиеся
заключительными, называются тупиковыми. Тупиковым вершинам соответствуют задачи, которые в рамках данного
представления не разрешимы. Разрешимой вершине соответствует разрешимая задача. Вершина, не являющаяся ни тупиковой,
ни заключительной, будет разрешимой, когда все ее дочерние вершины разрешимы, если они являются связанными, или хотя
бы одна из дочерних вершин разрешима, если они являются несвязанными. Задача А (рис. 8.2) разрешима, если вершины H и I
являются заключительными, или заключительными являются вершины Е и G или F и G.
Представление в виде теорем
Многие задачи, особенно задачи логического типа, могут быть сформулированы как теоремы, подлежащие
доказательству. При таком представлении задаются посылки, т.е. множество известных истинных утверждений (аксиом). Затем
формулируется теорема, доказательство которой дает решение исходной задачи. Поиск решения выполняется следующим
образом: комбинируя по-разному две аксиомы или более, выводятся утверждения, которые можно получить из посылок. Затем
проверяется, не содержит ли полученное множество утверждений теорему или ее отрицание. Если содержит, то теорема
доказана или соответственно отвергнута. Если теорема или ее отрицание не содержится, то полученное множество
утверждений добавляется к посылкам и процедура повторяется. Такой метод поиска решения (доказательства) фактически
является методом полного перебора. На практике применение этого метода ограничено, так как при полном переборе может
потребоваться чрезмерно большой объем памяти и большое время решения.
Комбинированное представление
В общем случае необязательно использовать какое-либо одно представление. Более эффективным для решения
отдельных задач может оказаться комбинированное (смешанное) представление. Например, если задача легко разбивается на
ряд подзадач, то естественно сначала свести ее к подзадачам, а для представления подзадач использовать различные формы
описания в пространстве состояний или в виде теорем.
Лекция. Методы поиска решений
Поиск решений в пространстве состояний
Поиск решений в пространстве состояний сводится к определению последовательности операторов, отображающих
начальные состояния в целевые. Если такая последовательность не одна и задан критерий оптимальности, то поиск сводится к
нахождению оптимальной последовательности, т.е. последовательности операторов, обеспечивающей экстремум заданного
критерия оптимальности. Для поиска решений в пространстве состояний удобно использовать дерево (граф) состояний. На
дереве состояний поиск решения сводится к определению пути (оптимального, если задан критерий оптимальности) от корня
дерева к целевой вершине. Наглядно поиск можно проиллюстрировать на дереве состояний, когда начальное состояние одно.
Поэтому сначала рассмотрим задачи, определяемые тройкой (S0, F, G), где множество S0 начальных состояний состоит из
одного элемента. В указанной тройке F-множество операторов, G – множество целевых состояний.
Для построения дерева состояний следует, используя операторы из множества F, применимые к начальному состоянию
(корню дерева), построить вершины первого уровня. Затем используя, операторы из F, применимые к вершинам первого
уровня, построить вершины второго уровня и т.д. Применение операторов к какой-либо вершине дерева для построения всех ее
дочерних вершин называется раскрытием вершины, поэтому операторы из множества F рассматриваются как правила
раскрытия вершин. После порождения дочерних вершин производится проверка, не являются ли они целевыми. Если целевая
вершина не обнаружена, то выполняется следующий этап раскрытия путем применения правил раскрытия к каждой вершине,
порожденной на предыдущем этапе. Полученное множество вершин вновь анализируется на присутствие целевой вершины.
Процесс продолжается до обнаружения целевой вершины.
Рассмотрим процедуру построения графа состояний на примере выбора маршрута транспортным роботом. Схема
маршрутов представлена на рис. 8.1.
А – начальный пункт. Состояние обозначается строкой, в которой перечисляются все пункты, пройденные к текущему моменту.
Операторы соответствуют выбору того или иного маршрута. Так как из каждого пункта можно попасть в любые другие 3
пункта, то множество состоит из 12 операторов, причем применимыми к любому данному состоянию являются не более трех
операторов.
На графе состояний этой задачи (рис. 8.3) начальной вершине (корню дерева) соответствует состояние А. Корень
дерева порождает три дочерние вершины, соответствующие состояниям AB, AC и AD. Каждая из вершин, порожденных корнем,
порождает по две вершины и каждая из вершин второго и третьего уровней – по одной. На дугах указаны расстояния, которые
проходит робот при переходе из одного состояния в другое. На концевых вершинах, соответствующих целевым состояниям,
указаны также длины маршрутов из начального состояния в целевое.

A
ABA 6
5
12 AD
AC 11 ADB
11 10 8
ABD ACB 10 8 ACD
ABC ADC 10
8 11 11 101
ABDC ABCD 8 ACBD ACDB ADCB ADBC
011
12 6 6 5 5 12
ABDCA ABCDA ACBDA ACDBA ADCBA ADBCA
36336 29 39 36 29 39
Рис. 8.3 Граф состояний задачи о выборе маршрута
Поиск решений имеет итеративный характер, причем число итераций и вершин, раскрытых до нахождения целевой вершины,
существенно зависит от порядка раскрытия вершин. Порядок раскрытия вершин называют стратегией поиска.
Выделяют два основных типа стратегий поиска: «слепой» перебор и упорядоченный перебор вершин – кандидатов на
раскрытие. Слепой перебор характеризуется тем, что расположение целевых вершин или их близость не влияют на порядок
раскрытия. Существует несколько алгоритмов слепого перебора. Рассмотрим три наиболее типичных: алгоритм полного
перебора, алгоритм равных цен, алгоритм перебора в глубину.
Алгоритм полного перебора
Вершины раскрываются в том порядке, в котором они были порождены. Первой раскрывается начальная вершина.
Проверяется среди порожденных вершин наличие целевой. Если есть, поиск заканчивается. Если нет, то раскрывается первая из
порожденных вершин и проверяется наличие целевых вершин. Затем раскрывается вторая из порожденных вершин и т.д.
Для записи алгоритмов поиска в пространстве состояний введем понятия списков открытых (ОТК) и закрытых (ЗКР)
вершин. Список закрытых вершин – это список, где размещаются идентификаторы раскрытых вершин и идентификатор
вершины, которую предстоит раскрыть в данный момент. Вершины из списка ЗКР, кроме последней, раскрывать нельзя.
Список открытых вершин – это список, где размещаются идентификаторы вершин, которые могут и должны быть раскрыты.
Стратегии поиска различаются правилами размещения вершин в списке ОТК и выбора очередной вершины для
раскрытия.
Алгоритм полного перебора включает следующие шаги.
1. Поместить начальную вершину в список ОТК.
2. Если список ОТК пуст, выдать сообщение о неудаче поиска, иначе перейти к следующему шагу.
3. Взять первую вершину из списка ОТК и перенести ее в список ЗКР, присвоить вершине идентификатор v .
4. Раскрыть вершину v . Поместить все дочерние неповторяющиеся (т.е. не встречающиеся в списке ЗКР) вершины в конец
списка ОТК и построить указатели, ведущие от них к вершине v . Если вершина v не имеет дочерних вершин, то перейти к
шагу 2.
5. Проверить, не является ли одна из дочерних вершин v целевой. Если является, то выдать решение, в ином случае перейти
к шагу 2.
В этом алгоритме предполагается, что начальная вершина не может быть
целевой. Алгоритм позволяет найти оптимальное (минимальное по числу дуг) решение. Например, использование этого
алгоритма для решения задачи о выборе маршрута (минимальной длины) сводится к построению графа состояний (см. рис. 8.3).
Имея этот граф и сравнивая длины различных маршрутов, ведущих к целевым состояниям, можно выбрать оптимальные
маршруты. Как следует из графа состояний, таких маршрутов два – маршруты, ведущие к целевым состояниям ABCDA и
ADCBA.
Алгоритм равных цен
Пусть каждой дуге поставлена в соответствие некоторая функция стоимости c ij . Требуется найти путь минимальной
стоимости. Раскрытие вершин осуществляется в порядке возрастания их стоимости. Обозначим g (v ) – стоимость некоторой
вершины v .
Алгоритм равных цен включает следующие шаги.
1. Поместить начальную вершину s0 в список ОТК.
2. Если список ОТК пуст, выдать сообщение о неудаче поиска, иначе перейти к шагу 3.
3. Взять из списка ОТК ту вершину, для которой величина g ( v ) имеет наименьшее значение, и поместить ее в список ЗКР.
Присвоить этой вершине идентификатор v .
4. Если v – целевая вершина, то выдать решающий путь, в противном случае перейти к шагу 5.
5. Раскрыть вершину v . Если v не имеет дочерних вершин, перейти к шагу 2. В противном случае для каждой дочерней
вершины vi вычислить стоимость g (vi ) по формуле g ( v i ) =g ( v ) +c ( v , v i ). Поместить эти вершины вместе с
соответствующими им g ( v i ) в список ОТК и построить указатели, ведущие от них к вершине v . Перейти к шагу 2.
Алгоритм равных цен является обобщением алгоритма полного перебора и сводится к нему при условии, что стоимости
раскрытия всех вершин равны. При применении этого алгоритма к задаче о выборе маршрута раскрывается меньшее число вершин.
Граф решения приведен на рис. 8.4, где на дугах указаны стоимости c (v , v i ), а на вершинах кроме обозначения состояния –
значение функции g ( v i ), а также (в скобках) номер, определяющий порядок раскрытия вершин.

A (1)
5 0 6
12
AB (2) AD (3)
5 AC (4) 12 8 11
11 10 10 8 6 ADB (8)
ABD (7) ABC (6) ACB(10) ACD (9) ADC (5) 17
16 15 10 14 10
8 22 20
8 11 11 ADCB ADBC
ABDC ABCD(11) ACBD ACDB 24
24 27
23 33 31
6
ABCDA
29
Рис. 8.4 Граф решения задачи о выборе маршрута при использовании алгоритма равных цен

Алгоритм перебора в глубину


Определим глубину вершины числом, равным номеру ее уровня. При переборе в глубину всегда раскрывается вершина,
имеющая наибольшую глубину. По тем или иным соображениям задается граничная глубина. Вершины, имеющие глубину, равную
граничной, не раскрываются. Таким образом, метод перебора в глубину можно определить как метод перебора, при котором всегда
раскрывается та из вершин, которая имеет наибольшую глубину, меньшую граничной.
Алгоритм перебора в глубину включает следующие шаги.
1. Поместить начальную вершину в список ОТК.
2. Если список ОТК пуст, выдать сообщение о неудаче поиска, иначе перейти к шагу 3.
3. Взять первую вершину из списка ОТК и поместить в список ЗКР. Присвоить этой вершине идентификатор v .
4. Если глубина вершины v равна граничной глубине, то перейти к шагу 2, иначе – к шагу 5.
5. Раскрыть вершину v . Поместить все дочерние вершины в начало списка ОТК и построить указатели, идущие от них к
вершине v . Если v не имеет дочерних вершин, то перейти к шагу 2.
6. Если одна из этих вершин целевая, то выдать решение, в ином случае перейти к шагу 2.
Один из возможных графов решения задачи выбора маршрута с помощью алгоритма перебора в глубину приведен на
рис. 8.5. При применении этого алгоритма решение зависит от способа упорядочения вершин в списке ОТК. В приведенном
решении найден неоптимальный маршрут.
A
5 6
AB AD
11 10 12
ABD ABC AC
8
ABDC
12
ABDCA
36
Рис. 8.5 Граф решения задачи о выборе маршрута при использовании алгоритма перебора в глубину

Во всех рассмотренных алгоритмах перебора предполагается, что начальная вершина только одна. Если начальных
вершин несколько, то эти алгоритмы изменяются только на шаге 1: на шаге 1 в список ОТК помещаются все начальные
вершины.
Достоинством методов слепого перебора являются, во-первых, простота алгоритмической реализации, во-вторых,
обязательность получения решения, если оно существует. Недостатком этих методов является резкое возрастание числа
вершин, которые необходимо раскрыть в процессе поиска решения, с увеличением размерности задачи. Это существенно
сужает круг практических задач, которые могут быть решены методами слепого перебора.
Алгоритмы упорядоченного перебора
Для большинства практических задач удается сформулировать эмпирические правила, позволяющие уменьшить объем
перебора. Эти правила используют специфическую информацию о решаемой задаче, формируемую на основе опыта, интуиции
и здравого смысла исследователя. Информацию такого рода называют эвристической, а основанные на ней алгоритмы –
эвристическими.
Основная идея эвристических алгоритмов заключается в упорядочении списка открытых вершин в соответствии с
некоторой мерой, оценивающей «перспективность» вершины или пути, на котором находится данная вершина. Такую меру
называют оценочной функцией. Для очередного раскрытия из списка ОТК выбирается вершина, имеющая минимальное
значение оценочной функции. После каждого шага раскрытия производится переупорядочивание вершин в списке в
соответствии со значениями оценочной функции. Процедуру такого типа называются алгоритмом упорядоченного перебора.
Существуют различные идеологии построения оценочных функций. Рассмотрим наиболее распространенную.
Пусть g ( v ) – стоимость кратчайшего (оптимального) пути из любой начальной вершины s0 ∈ S 0 до некоторой
вершины v . Стоимость кратчайшего пути из вершины v до ближайшей целевой вершины g0 ∈G обозначим h ( v ). Функция
f (v )=g(v )+ h(v) выражает стоимость кратчайшего пути из начальной вершины в целевую при условии, что он проходит
через вершину v .
Введем следующие оценочные функции:
g ( v ) – оценка стоимости кратчайшего пути из начальной вершины в вершину v ;
h(v )– оценка стоимости кратчайшего пути из вершины v до ближайшей целевой.
Тогда функция
f ( v )=g ( v )+ h ( v ) (8.1)
является оценкой функции f ( v ), т.е. оценкой стоимости кратчайшего пути из начальной вершины в целевую при условии, что
он проходит через вершину v . В качестве значения функции g ( v ) естественно выбрать действительную стоимость пути из
начальной вершины в вершину v , найденного алгоритмом перебора к данному моменту. Заметим, что если граф состояний не
имеет структуру дерева, то значение g ( v ) может меняться в процессе раскрытия вершин. Поясним это на примере (рис. 8.6).
a) b) s0
s0
3 7 3 7
v1 3 v2
v1 v2
2 (v1) = 3
(v1) = 3 (v2) = 7 (v2) = 6
v3
(v3) = 5
Рис. 8.6 Граф состояний, не имеющий структуру дерева

Пусть на шаге 1 поиска раскрыта вершина s0 и порождены вершины v1 и v2 со значениями стоимостей g(v 1)=3 и
g(v 2)=7 (рис.8.6,а). На шаге 2 раскрывается вершина v1 и порождаются вершина v3 и снова вершина v2, причем из v1 в v2
ведет путь стоимостью 3 (рис. 8.6,б). Очевидно, стоимость кратчайшего пути из s0 в v2 равна g(v 2)=6.
Как следует из определения и приведенного примера, g ( v ) ≥ g ( v ). Оценочная функция g ( v ) вычисляется в процессе
работы алгоритма перебора.
При построении оценочной функции h(v ) опираются на любую эвристическую информацию о решаемой задаче,
поэтому h(v ) называют эвристической функцией. Если h ( v )=0 , то алгоритм перебора сводится к алгоритму равных цен, что
соответствует полному отсутствию эвристической информации.
Не существует общих рекомендаций к способам определения функции h(v ), поэтому рассмотрим ее смысл на примере.
Конкретизируем задачу о манипуляции предметами следующим образом. Три пронумерованных блока располагаются на трех
площадках. Робот может перемещать с одной площадки на другую по одному блоку. Блоки могут устанавливаться друг на
друга. Для перемещения можно брать только верхний блок. Заданы начальное и целевое расположение блоков. Задача
заключается в определении плана перемещения блоков, позволяющего за минимальное число шагов (шаг – одно перемещение
блока) перейти от начального расположения к целевому. На рис. 8.7 представлены целевое и начальное расположение блоков
на площадках.
1
3 2
2 1 3
Начальное состояние Целевое состояние
Рис. 8.7 Расположение блоков на площадках
В качестве эвристической функции h(v ) примем сумму числа блоков, расположенных не на своем месте, и общего
числа блоков, препятствующих установке каждого из них на свое место. Препятствующими считаются блоки, расположенные
сверху какого-либо блока, который надо переместить, и блоки, занимающие «чужие» места в целевой конфигурации, т.е. места,
в которые должны быть установлены блоки, расположенные не на своем месте.
Граф решения задачи с помощью алгоритма упорядоченного перебора при указанной эвристической функции приведен
на рис. 8.8. Для удобства вершины пронумерованы.
Эвристическая функция вершины 1 равна h (1) = 7, так как не на своем месте расположены два блока (2 и 3). Места,
которые они должны занять, заняты другими блоками и над блоком 2 расположены два блока, а над блоком 3 – один ( h (1) = 2 +
2 + 2 + 1 = 7). Поэтому оценочная функция f (1) = g(1) + h (1) = 8. Аналогично считаются значения оценочной функции на
других вершинах первого уровня.
Среди вершин первого уровня наименьшее значение функции f имеет вершина 3. Поэтому на шаге 2 раскрывается эта
вершина. При этом повторяющиеся
вершины не строятся и значения функции f таких вершин сохраняются, так как функция g с каждым шагом возрастает, а функция

h не изменяется. На шаге 3 возникает задача выбора вершины для раскрытия, поскольку три вершины (5, 6 и 4) имеют
минимальную оценку f =6 . Условимся, что при одинаковых значениях f предпочтение отдается тем вершинам, у которых
меньше h . Вершины 5 и 6 имеют одинаковые значения f и h . Граф на рис. 8.8 соответствует случаю, когда эти вершины
упорядочены так, что сначала раскрывается вершина 5.
Рассмотрим некоторые свойства алгоритмов упорядоченного перебора. Алгоритм называют гарантирующим или
допустимым, если для произвольного графа состояний он заканчивает работу построением оптимального пути.
Для сравнения эффективности алгоритмов перебора используется понятие эвристической силы. Пусть A1 и A2 –
произвольные гарантирующие алгоритмы перебора, а f 1 ( v )=g ( v ) +h 1 ( v ), f 2 ( v )=g ( v ) + h2 ( v ) – используемые ими
оценочные функции. Алгоритм A1 называют эвристически более сильным, чем алгоритм A2 , если на всех вершинах, кроме
целевой, выполняется неравенство h1 ( v ) h2 ( v ) . Эвристически более сильный алгоритм A1 раскрывает меньшее число
вершин при поиске минимального пути, чем алгоритм A2 . Обозначим B – множество гарантирующих алгоритмов, которые

можно использовать для решения данной задачи. Алгоритм A ∈ B называют оптимальным, если он не раскрывает большее
число вершин, чем любой другой алгоритм A ∈ B .
Оптимальность в указанном смысле не является исчерпывающей характеристикой эффективности алгоритма, так как не
учитывает сложность вычисления эвристической функции h ( v ). В большинстве практических задач более объективной
характеристикой является оценка объема вычислений, необходимых для определения значений h(v) на всех шагах к целевой
вершине.

3
2 1 _
1 2 3 4
1
=1 3 3 3
2_ _ 2 1 _ 2 3 1 2 _ 1

=8 5 =7 6 7 =5 8 =6

=2 2 2 1 1
_ 3 1 _ 3 1 2 3 _ 2 3 _

9 = 6 100 =11
6 = 8 12 =7
1 3
=3 2 2 2 2
1 3 _ _ 3 _ 3 _ 1 _ _ 1

=8 =9 =13
6 =14
9

=4 2
3 _ 1 3 2 1

=5 =6
Рис. 8.8 Граф решения задачи о манипуляции предметами
Лекция. Генетические алгоритмы
Генетические алгоритмы – перспективное и динамично развивающееся направление интеллектуальной обработки
данных, связанное с решением задач поиска и оптимизации.
Область применения генетических алгоритмов достаточно обширна. Финансовые компании используют их для
прогнозирования развития финансовых рынков при управлении пакетами ценных бумаг. Генетические алгоритмы
применяются для решения комбинаторных задач, для оценки значений непрерывных параметров моделей большой
размерности, для оптимизации моделей, включающих одновременно непрерывные и дискретные параметры. Другая
область применения – использование в системах извлечения новых знаний из больших баз данных, обучение нейронных
сетей, оценка параметров в задачах многомерного статистического анализа.
Сейчас при решении очень сложных задач основной целью является поиск уже не оптимального, а более «хорошего»
решения по сравнению с решением, полученным ранее или заданным в качестве начального. Именно для этих целей и
применяются генетические алгоритмы. Они не гарантируют обнаружения глобального экстремума целевой функции (или
оптимального решения) за определенное время. Основное их преимущество в том, что они позволяют найти более “хорошие”
решения очень трудных задач за меньшее время, чем другие методы. Генетические алгоритмы оказались достаточно эффектив-
ными для решения ряда реальных задач инженерного проектирования, планирования, маршрутизации и размещения,
управления портфелями ценных бумаг, прогнозирования, а также во многих других областях.
Отрицательной чертой генетических алгоритмов является то, что они представляют собой скорее подход к решению задач
оптимизации, чем алгоритм. И вследствие этого требуют адаптации к каждому конкретному классу задач путем выбора
определенных характеристик и параметров.
Основные определения и свойства
Генетические алгоритмы имеют целью нахождение не оптимального, а лучшего решения по сравнению с имеющимся
решением задачи. Это связано с тем, что для сложной задачи часто требуется найти хоть какое-нибудь удовлетворительное
решение, а проблема достижения оптимума отходит на второй план. При этом другие методы, ориентированные на поиск
именно оптимального решения, вследствие чрезвычайной сложности задачи становятся вообще неприменимыми.
Основные отличия генетических алгоритмов от традиционных методов:
1. Генетические алгоритмы работают с кодами, в которых пред процессе работы манипуляции с кодами происходят
независимо от их интерпретации, код рассматривается просто как битовая строка.ставлен набор параметров, напрямую
зависящих от аргументов целевой функции. Причем интерпретация этих кодов происходит только перед началом работы
алгоритма и после завершения его работы для получения результата. В
2. Для поиска генетический алгоритм использует несколько то– опасность попадания в локальный экстречек поискового
пространства одновременно, а не переходит от точки к точке, как это делается в традиционных методах. Это позволяет преодо -
леть один из их недостатков мум целевой функции, если она не является унимодальной, т. е. имеет несколько таких
экстремумов.
3. Генетические алгоритмы в процессе работы не используют никакой дополнительной информации, что повышает
скорость работы. Единственной используемой информацией может быть область допустимых значений параметров и целевой
функции в произвольной точке.
4. Генетический алгоритм использует как вероятностные правила для порождения новых точек, так и детерминированные
правила для перехода от одних точек к другим. Одновременное использование элементов случайности и детерминированности
дает значительно больший эффект, чем раздельное.
Прежде чем рассматривать непосредственно работу генетического алгоритма, введем ряд терминов, которые широко
используются в данной области.
Выше было показано, что генетический алгоритм работает с кодами безотносительно их смысловой интерпретации.
Поэтому сам код и его структура описываются понятием генотип, а его интерпретация, с точки зрения решаемой задачи, –
понятием фенотип. Каждый код представляет, по сути, точку пространства поиска. С целью максимально приблизиться к
биологическим терминам, экземпляр кода называют хромосомой, особью или индивидуумом.
На каждом шаге работы генетический алгоритм использует несколько точек поиска одновременно. Совокупность этих
точек является набором особей, который называется популяцией. Количество особей в популяции называют размером популяции.
Размер популяции является фиксированным и представляет одну из характеристик генетического алгоритма. На каждом шаге
работы генетический алгоритм обновляет популяцию путем создания новых особей и уничтожения ненужных. Чтобы отличать
популяции на каждом из шагов и сами эти шаги, их называют поколениями и обычно идентифицируют по номеру. Например,
популяция, полученная из исходной популяции после первого шага работы алгоритма, является первым поколением, после
следующего шага – вторым и т. д.
В процессе работы алгоритма генерация новых особей происходит на основе моделирования процесса размножения. При
этом, естественно, порождающие особи называются родителями, а порожденные – потомками. Родительская пара порождает пару
потомков. Непосредственная генерация новых кодовых строк из двух выбранных происходит за счет работы оператора
скрещивания. При порождении новой популяции оператор скрещивания может применяться не ко всем парам родителей. Часть
этих пар может переходить в популяцию следующего поколения непосредственно. Насколько часто будет возникать такая
ситуация, зависит от значения вероятности применения оператора скрещивания, которая является одним из параметров
генетического алгоритма.
Моделирование процесса мутации новых особей осуществляется за счет работы оператора мутации. Основным
параметром оператора мутации также является вероятность мутации.
Поскольку размер популяции фиксирован, то порождение потомков должно сопровождаться уничтожением других
особей. Выбор пар родителей из популяции для порождения потомков производит оператор отбора, а выбор особей для
уничтожения – оператор редукции. Основным параметром их работы является качество особи, которое определяется значением
целевой функции в точке пространства поиска, описываемой этой особью.
Таким образом, можно перечислить основные понятия и термины, используемые в области генетических алгоритмов:
• генотип и фенотип;
• особь и качество особи;
• популяция и размер популяции;
• поколение;
• родители и потомки.
К характеристикам генетического алгоритма относятся:
• размер популяции;
• оператор скрещивания и вероятность его использования;
• оператор мутации и вероятность мутации;
• оператор отбора;
• оператор редукции;
• критерий останова.
Операторы отбора, скрещивания, мутации и редукции называют еще генетическими операторами.
Критерием останова работы генетического алгоритма может быть одно из трех событий:
1. Сформировано заданное пользователем число поколений.
2. Популяция достигла заданного пользователем качества (например, значение качества всех особей превысило
заданный порог).
3. Достигнут некоторый уровень сходимости, т. е. особи в популяции стали настолько подобными, что дальнейшее их
улучшение происходит чрезвычайно медленно.
Характеристики генетического алгоритма выбираются таким образом, чтобы обеспечить малое время работы, с одной
стороны, и поиск как можно лучшего решения, с другой.
Последовательность работы генетического алгоритма
Общая схема работы генетического алгоритма представлена на рис. 9.1.
Формирование исходной популяции происходит с использованием какого-либо случайного закона, на основе которого
выбирается нужное количество точек поискового пространства. Исходная популяция может также быть результатом работы
какого-либо другого алгоритма оптимизации.
В основе оператора отбора, который служит для выбора родительских пар и уничтожения особей, лежит принцип
“выживает сильнейший”. В качестве примера можно привести следующий оператор. Выбор особи для размножения
производится случайно. Вероятность участия особи в процессе размножения вычисляется по формуле:
n
Pi=f i / ∑ f j ,
j=1
где Рi – вероятность участия особи в процессе размножения, i – номер особи,
п – размер популяции, fi – значение целевой функции для i-ой особи. В данном случае целью поиска является
нахождение максимума целевой функции. Одна особь может быть задействована в нескольких родительских парах.

Создание исходной популяции

Выбор родителей для процесса размножения


(работает оператор отбора)

Создание потомков выбранных пар родителей


(работает оператор скрещивания)

Мутация новых особей


(работает оператор мутации)

Расширение популяции за счет добавления


порожденных особей

Сокращение расширенной популяции до исходного


Рис. 9.1 Процесс работы генетического алгоритма

Аналогично может быть решен вопрос уничтожения особей. Только вероятность уничтожения, соответственно, должна
быть обратно пропорциональна качеству особей. Однако обычно просто уничтожают особей с наихудшим качеством. Таким
образом, выбирая для размножения наиболее качественные особи и уничтожая наиболее слабые, генетический алгоритм
постоянно улучшает популяцию, приводя к формированию лучших решений.
Оператор скрещивания призван моделировать природный процесс наследования, т. е. обеспечивать передачу свойств
родителей потомкам.
Рассмотрим простейший оператор скрещивания. Он выполняется в два этапа. Пусть особь представляет собой строку из
т элементов. На первом этапе равновероятно выбирается натуральное число k от 1 до m–1. Это число называется точкой
разбиения. В соответствии с ним обе исходные строки разбиваются на две подстроки. На втором этапе строки обмениваются
своими подстроками, лежащими после точки разбиения, то есть элементами с k+1-го по m-й. Так получаются две новые строки,
которые наследовали частично свойства обоих родителей. Этот процесс проиллюстрирован ниже.
Line 1 X1X2. . . . XkXk+1. . . . XmX1X2. . . . XkYk+1. . . . . . Ym

Line 2 Y1 Y2. . . YkYk+1. . . YmY1Y2. . . YkXk+1. . . . . Xm


Вероятность применения оператора скрещивания обычно выбирается достаточно большой, в пределах от 0,9 до 1, чтобы
обеспечить постоянное появление новых особей, расширяющих пространство поиска.
Оператор мутации служит для моделирования природного процесса мутации. Его применение в генетических
алгоритмах обусловлено следующими соображениями. Исходная популяция, какой бы большой она ни была, охватывает
ограниченную область пространства поиска. Оператор скрещивания, безусловно, расширяет эту область, но все же до
определенной степени, поскольку использует ограниченный набор значений, заданный исходной популяцией. Внесение
случайных изменений в особи позволяет преодолеть это ограничение и иногда значительно сократить время поиска и улучшить
качество результата.
Как правило, вероятность мутации, в отличие от вероятности скрещивания, выбирается достаточно малой. Сам процесс
мутации заключается в замене одного из элементов строки на другое значение. Это может быть перестановка двух элементов в строке,
замена элемента строки значением элемента из другой строки, в случае битовой строки может применяться инверсия одного из битов
и т. д.
В процессе работы алгоритма все указанные выше операторы применяются многократно и ведут к постепенному
изменению исходной популяции. Поскольку операторы отбора, скрещивания, мутации и редукции по своей сути направлены на
улучшение каждой отдельной особи, то результатом их работы является постепенное улучшение популяции в целом.
После завершения работы генетического алгоритма из конечной популяции выбирается та особь, которая дает
экстремальное (максимальное или минимальное) значение целевой функции и является, таким образом, результатом работы
генетического алгоритма. За счет того, что конечная популяция лучше исходной, полученный результат представляет собой
улучшенное решение.
Пример решения задачи коммивояжера
Задача коммивояжера является классической оптимизационной задачей. Суть ее заключается в следующем. Дано
множество из n городов и матрица расстояний между ними или стоимостей переезда (в зависимости от интерпретации). Цель
коммивояжера – объехать все эти города по кратчайшему пути или с наименьшими затратами на поездку. Причем в каждом
городе он должен побывать один раз и свой путь закончить в том же городе, откуда начал.
Для решения предлагается следующая задача: имеется пять городов, стоимость переезда между которыми представлена
следующей матрицей:
04629
40329
63059
22508
99980
Для решения задачи применим следующий генетический алгоритм. Ре5, отображающей последовательность посещения
городов. Значение целевой функции бу514235 стоимостью 25.шение представим в виде перестановки чисел от 1 до дет равно
стоимости всей поездки, вычисленной в соответствии с вышеприведенной матрицей. Сразу заметим, что одним из оптимальных
решений задачи является последовательность
В качестве оператора отбора будем использовать традиционный оператор, описанный выше. При этом заметим, что чем меньше
значение целевой функции, тем лучше, т. е. целью в данном случае является поиск минимума целевой функции.
В качестве оператора скрещивания выберем процеду5, переходим на начало перестановки и выбираем число 1. В итоге
вместо (* | 452 | *) получаем (34521) , аналогичру, похожую на двухточечный оператор скрещивания. Поясним его работу на
примере. Пусть есть две родительские перестановки (12345) и (34521). Случайно и равновероятно выбираются две точки
разрыва. Для примера возьмем ситуацию, когда первая точка разрыва находится между первым и вторым элементами
перестановки, а вторая точка – между четвертым и пятым: (1|234|5), (3|452|1). На первом этапе перестановки обмениваются
фрагментами, заключенными между точками разрыва: (* | 4 52 | *), (* | 234 | *). На втором этапе вместо звездочек
вставляются соответствующие числа из исходной родительской перестановки, начиная со второго числа выделенного
фрагмента и пропуская уже имеющиеся в новой перестановке числа. В данном случае в первой перестановке (1|234|5) таким
начальным числом является 3, за ним идет 4, которое есть в новой перестановке, и мы его пропускаем, также пропускаем число
но из (3|452|1) и (* | 234 | *) получаем (52341).
Оператор мутации будет представлять собой случайную перестановку двух чисел в хромосоме, также выбранных
случайно по равномерному закону. Вероятность мутации 0,01. Размер популяции выберем равным 4.
Исходная популяция представлена в таблице 9.1.
Пусть для скрещивания были выбраны следующие пары: (1, 3) и (2, 4). В результате были получены потомки,
представленные в таблице 9.2.

Таблица 9.1
№ строки Код Значение целевой функции Вероятность участия в процессе размножения
1 12345 29 32/122
2 21435 29 32/122
3 54312 32 29/122
4 43125 32 29/122

Таблица 9.2
Значение целевой функции
№ строки Родители Потомки
для потомков
1 1|234|5 5|431|2 32
1|23|54 28
3 5|431|2
мутация 13254
2 2|143|5 4|312|5 32
4 4|312|5 2|143|5 29
Пусть для потомка (12354) сработал оператор мутации, и обменялись местами числа 2 и 3. В данном случае строка (12354)
изменилась и приняла значение (13254). Популяция первого поколения после отсечения худших особей в результате работы
оператора редукции приняла вид, представленный в таблице 9.3.
Таблица 9.3
№ строки Код Значение целевой функции Вероятность участия в процессе размножения
1(1) 12345 29 28/115
2(2) 21435 29 28/115
3(n) 13254 28 29/115
4(n) 21435 29 28/115
Пусть для получения второго поколения были выбраны следующие пары строк: (1,4) и (2, 3). И в результате были
получены потомки, показанные в таблице 9.4.
Таблица 9.4
Родител Значение целевой функции
№ строки Потомки
и для потомков
1 |123|45 |214|35 29
4 |214|35 |123|45 29
2 |21|435 |13|452 32
3 |13|254 |21|354 29
Популяция второго поколения после отсечения худших особей приняла вид, показанный в таблице 9.5.
Таблица 9.5
№ строки Код Значение целевой функции Вероятность участия в процессе размножения
1(1) 12345 29 28/115
2(2) 21435 29 28/115
3(3) 13254 28 29/115
4(n) 21354 29 28/115
Таким образом, после двух итераций значение целевой функции для лучшего решения изменилось с 29 на 28, среднее
значение изменилось с 30,5 до 28,75, а общее качество с 122 до 115. Таким образом, имеем незначительное, но улучшение
популяции.

Лекция. Нейросетевые системы


Основные компоненты искусственных нейронных сетей моделируют структуру мозга. Элементом структуры мозга
является нервная клетка (нейрон). Нейрон отличается от других клеток биоткани по функциональному назначению. Нейрон
выполняет прием, элементарное преобразование и передачу информации другим нейронам. Информация передается в виде
импульсов нервной активности, имеющих электрохимическую природу.
Тело нейрона содержит множество отростков двух типов. Отростки первого типа, называемые дендритами, служат в
качестве входных каналов для нервных импульсов от других нейронов. Эти импульсы поступают в тело нейрона, вызывая его
возбуждение, которое затем распространяется по выходному отростку второго типа – аксону. Возбуждение нейрона передается
другим нейронам, которые таким образом объединены в проводящую нервные импульсы сеть. Участки контакта данного нейрона
с дендритами других нейронов называют синапсами. В области синапса происходит обмен информации о возбуждении между
нейронами. Поступающие в тело нейрона входные сигналы суммируются, причем одни входы стремятся возбудить нейрон, а
другие препятствуют его возбуждению. Когда суммарное возбуждение в теле нейрона превысит некоторый порог, нейрон
возбуждается, посылая по аксону сигнал другим нейронам. Эта основная функциональная схема моделируется с помощью
искусственных нейронных сетей.
Задачи, решаемые с использованием нейросетей
Нейронные сети используют для решения следующих типов задач.
1. Распознавание образов
Задача состоит в отнесении входного набора данных, представляющих распознаваемый объект, к одному из заранее
известных классов. К числу таких задач относятся распознавание рукописных и печатных символов при оптическом вводе в
ЭВМ, распознавание типов клеток крови, распознавание речи и другие.
2. Кластеризация данных
Задача состоит в группировке входных данных по присущей им близости. Нейронная сеть разделяет данные на заранее
неизвестное число кластеров. Кластеризация применяется при сжатии данных, анализе данных и поиске в них закономерностей.
3. Ассоциативная (контекстно – адресуемая ) память
Эта память позволяет считывать содержимое по частичному или искаженному представлению запомненных данных.
Основная область применения – мультимедийные базы данных.
4. Аппроксимация функций
Имеется набор экспериментальных данных {(X 1 , y 1),. . .,( X n , y n)}, представляющий значения y i неизвестной функции от
аргумента X i =(x i 1 , . .. , x im ), i=1 , .. . ,n . Требуется найти функцию, аппроксимирующую неизвестную и удовлетворяющую
некоторым критериям. Эта задача решается при моделировании сложных систем и создании систем управления сложными
динамическими объектами.
5. Прогнозирование
Имеется набор { y (t1 ), y (t 2) , .. . , y (tn )} значений y, представляющих поведение системы в моменты времени
t 1 , t 2 , .. . , t n . Требуется по предыдущему поведению системы предсказать ее поведение y(tn+1) в момент времени tn+1. Эта задача
решается при управлении складскими запасами и в системах принятия решений.
6. Оптимизация
Цель оптимизационной задачи – найти решение, удовлетворяющее ряду ограничений и оптимизирующее значение
целевой функции. Нейронные сети применяются для решения оптимизационных задач, относящихся к классу NP–полных задач,
для которых не существует другого точного метода решения, кроме полного перебора n! возможных вариантов решения, где n –
размерность задачи. К числу подобных задач относится, например, задача коммивояжера.
Понятие искусственного нейрона
Искусственный нейрон имитирует приближенно свойства биологического нейрона. На вход искусственного нейрона
поступает некоторое множество сигналов. Каждый вход умножается на соответствующий вес, аналогичный синаптической силе,
и все произведения суммируются, определяя уровень активации нейрона. На рис. 10.1 представлена модель, реализующая эту
идею. Здесь множество входных сигналов x 1 , x 2 ,. .. , x n в совокупности обознены вектором Х. Каждый сигнал умножается на
соответствующий вес w 1 , w 2 ,. .. , w n и поступает в суммирующий блок, обозначенный ∑
❑. Множество весов в
совокупности обозначают вектором W. Суммирующий блок, соответствующий телу биологического нейрона, складывает
взвешенные входы алгебраически, создавая выход NET. В векторных обозначениях это можно записать следующим образом:

.
Сигнал NET далее преобразуется активационной функцией F и дает выходной сигнал нейрона OUT (см. рис.10.2).

x1 w1 F

w2 NET
x2 ∑
OUT  f (NET )
wn Искусственный нейрон
xn
Рис. 10.2 Искусственный нейрон с активационной функцией
Активационная функция может быть линейной функцией
OUT=K (NET),
где K – постоянная; пороговой функцией
если NET >T ,
OUT={ 1 ,|
если NET ≤T ,
где T – некоторая постоянная пороговая величина.
В качестве активационной функции может также использоваться нелинейная функция, более точно моделирующая
нелинейную передаточную характеристику биологического нейрона.
Если активационная функция сужает диапазон изменения величины NET так, что при любых значениях NET значения
OUT принадлежат некоторому конечному интервалу, то F называется сжимающей функцией. В качестве сжимающей функции
часто используется логистическая или сигмоидальная (S –

−x
образная) функция F ( x)=1 /(¿ 1+e ) ¿, показанная на рис.10.3. Таким образом,
1
OUT= − NET .
OUT
1+ e
1

0,5
Рис. 10.3 Логистическая функция

Активационную функцию можно считать нелинейной усилительной характеристикой искусственного нейрона.


0
Коэффициент усиления равен отношению приращения
NET
величины OUT к вызвавшему его небольшому приращению величины
NET. Коэффициент усиления выражается наклоном кривой при определенном уровне возбуждения и изменяется от малых
значений при больших отрицательных возбуждениях (кривая почти горизонтальна) до максимального значения при нулевом
возбуждении и снова уменьшается, когда возбуждение становится большим положительным. Нейрон с такой функцией может
обрабатывать как слабые сигналы, которые он усиливает, так и сильные, которые усиливать не нужно.
Другой широко используемой нелинейной активационной функцией является гиперболический тангенс (см. рис. 10.4). В
качестве активационной функции искусственного нейрона она записывается следующим образом:
u −u
e −e
OUT=th (NET)= u −u ,
e +e
где u=g ⋅ NET ; g – приращение. Например, g=1 /T (Т – пороговое значение).
OUT
1

NET

-1
Рис. 10.4 Функция гиперболического тангенса

Подобно логистической функции гиперболический тангенс является S – образной функцией, но он симметричен


относительно начала координат и в точке NET = 0 значение выходного сигнала OUT равно нулю (см. рис. 10.4). В отличие от
логистической функции гиперболический тангенс принимает значения различных знаков, OUT находится в интервале (-1, 1).

Построение нейронных сетей


Нейронная сеть образуется путем объединения выходов одних нейронов с входами других нейронов. Нейроны в сетях
группируются по слоям. Послойная организация нейронных сетей копирует слоистые структуры мозга. Проектирование
нейронной сети включает следующее:
 упорядочение нейронов по слоям;
 определение связей между нейронами разных слоев, а также между нейронами внутри слоя;
 решение о том, как нейрон создает выход;
 определение силы связей внутри сети.
В каждом слое нейронной сети располагаются нейроны одного типа. Нейроны в слое могут иметь или не иметь связи
между собой. Нейроны одного слоя связаны с нейронами другого слоя. Используются различные типы связей: полная связь,
частичная связь, прямое распространение, двунаправленная, иерархическая и резонансная связи.
При полной связи каждый нейрон первого слоя связан с каждым нейроном второго слоя. При частичной связи слоев
нейрон первого слоя необязательно связан со всеми нейронами второго слоя. При прямом распространении нейроны первого
слоя посылают свои выходы нейронам второго слоя, но не наоборот. При двунаправленной связи нейроны первого слоя связаны с
нейронами второго слоя, которые, в свою очередь, связаны с нейронами первого слоя.
Нейронная сеть может иметь один или несколько слоев. При иерархической связи нейроны первого слоя связаны с
нейронами следующего слоя. Если связь не иерархического типа, то нейроны одного слоя могут посылать свои выходы не только
нейроном следующего слоя, но и другим слоям. В резонансном типе связей два слоя имеют двунаправленную связь с
дополнительным усложнением, что они продолжают передачу сигналов по связям некоторое число раз до выполнения
определенного условия.
Однослойные и многослойные нейронные сети
Простейшая сеть состоит из группы нейронов, образующих слой, как показано в правой части рис. 10.6. Вершины – круги
слева служат только для распределения входных сигналов. Нейроны на схеме обозначены квадратами. Каждый элемент из
множества входов Х отдельным весом соединен с каждым нейроном. А каждый нейрон выдает взвешенную сумму входов. В целях
общности показаны все соединения. В конкретной сети некоторые соединения могут отсутствовать. Могут иметь место также
соединения между выходами и входами нейронов в слое. Веса будем считать элементами матрицы W размера m х n, где m – число
входов, n – число нейронов. Например, w23 – это вес связи, соединяющей второй вход с третьим нейроном. Таким образом,
вычисление выходного вектора N, компонентами которого являются выходы OUT нейронов, сводится к матричному умножению
N=XW , где N и X – векторы – строки.
w11 Σ
x1 y1
w12
w21
x2 w22 Σ y2

… wm1 …
xt wmn Σ yp

Рис. 10.6 Однослойная нейронная сеть


Многослойные сети образуются каскадами слоев. Выход одного слоя является входом для последующего слоя.
Подобная сеть показана на рис. 10.7.
Многослойные нейронные сети обладают большими вычислительными возможностями, чем однослойные сети, но
только в том случае, если активационная функция между слоями нелинейная. Вычисление выхода слоя заключается в
умножении входного вектора на первую весовую матрицу с последующим умножением (если отсутствует нелинейная
активационная функция) результирующего вектора на вторую весовую матрицу: (XW1)W 2 = X (W 1 W 2). Таким образом,
двухслойная линейная сеть эквивалентна однослойной сети с весовой матрицей, равной произведению двух весовых матриц.
Следовательно, любая многослойная линейная сеть может быть заменена эквивалентной однослойной сетью. Однослойные
сети весьма ограничены по своим вычислительным возможностям. Для расширения возможностей сетей по сравнению с
однослойной сетью необходима нелинейная активационная функция.
w11 k11
x1
w12 Σ k12 Σ y1
w1n
w21
x2
w22
w2n
Σ Σ y2

wm1
… … …
wm2
xt wmn Σ knp Σ yp

массив весовых массив весовых


коэффициентов коэффициентов
W K
Рис. 10.7 Двухслойная нейронная сеть
До сих пор рассматривались сети прямого распространения, у которых нет обратных связей, т.е. соединений, идущих от
выходов некоторого слоя к входам этого же слоя или предшествующих слоев. Сети более общего вида, имеющие такие
соединения, называют сетями с обратными связями. У сетей без обратной связи нет памяти. Их выход полностью определяется
текущими входами и значениями весов. В некоторых конфигурациях сетей с обратными связями предыдущие значения выходов
возвращаются на входы. Выход, следовательно, определяется как текущим входом, так и предыдущими выходами, поэтому сети с
обратными связями могут обладать свойствами, сходными с кратковременной человеческой памятью, сетевые выходы частично
зависят от предыдущих входов.
Персептрон Розенблатта
Одной из первых искусственных сетей, способных к перцепции (восприятию) и формированию реакции на воспринятый
стимул, явился персептрон Розенблатта (1957). Простейший классический персептрон содержит нейроподобные элементы трех
типов (см. рис. 10.8), назначение которых в целом соответствует нейронам рефлекторной нейронной сети. S-элементы
формируют слой сенсорных клеток, принимающих двоичные сигналы от внешнего мира. Далее сигналы поступают в слой
ассоциативных или A-элементов (для упрощения изображения часть связей от входных S-клеток к A-клеткам не показана).
Только ассоциативные элементы, представляющие собой формальные нейроны, выполняют нелинейную обработку
информации и имеют изменяемые веса связей. R-элементы с фиксированными весами формируют сигнал реакции персептрона
на входной стимул.
А-элементы
S-элементы R-элементы
Рис. 10.8 Персептрон Розенблатта.
Розенблатт называл такую нейронную сеть трехслойной, однако по современной терминологии представленная сеть называется
однослойной, так как имеет только один слой нейропроцессорных элементов. Однослойный персептрон характеризуется матрицей
синаптических связей W от S- к A-элементам. Элемент матрицы w ijотвечает связи, ведущей от i-го S-элемента к j-му A-элементу.
В работах Розенблатта был сделано заключение о том, что нейронная сеть рассмотренной архитектуры будет способна к
воспроизведению любой логической функции, однако, как было показано позднее М.Минским и С.Пейпертом (1969), этот
вывод оказался неточным. Были выявлены принципиальные неустранимые ограничения однослойных персептронов, и в
последствии стал в основном рассматриваться многослойный вариант персептрона, в котором имеются несколько слоев
процессорных элементов.
С сегодняшних позиций однослойный персептрон представляет скорее исторический интерес, однако на его примере
могут быть изучены основные по-
нятия и простые алгоритмы обучения нейронных сетей.
Обучение персептрона
Обучение сети состоит в подстройке весовых коэффициентов каждого нейрона. Пусть имеется набор пар векторов
α α
( x , y ), α =1 , .. . , p, называемый обучающей выборкой. Будем называть нейронную сеть обученной на данной обучающей
выборке, если при подаче на входы сети каждого вектора x α на выходах всякий раз получается соответсвующий вектор y α .
Предложенный Ф.Розенблаттом метод обучения состоит в итерационной подстройке матрицы весов, последовательно
уменьшающей ошибку в выходных векторах. Алгоритм включает следующие шаги:
Шаг 0. Начальные значения весов всех нейронов W (t=0) полагаются случайными.
Шаг 1. Сети предъявляется входной x α образ, в результате формируется выходной образ ~ α α
y ≠y .
Шаг 2. Вычисляется вектор ошибки δ α =( y α − ~ α
y ), делаемой сетью на выходе. Идея состоит в том, что изменение вектора
весовых коэффициентов в области малых ошибок должно быть пропорционально ошибке на выходе, и равно нулю если
ошибка равна нулю.
Шаг 3. α
Вектор весов модифицируется по следующей формуле: W ( t+ Δt )=W (t)+η ⋅ x ⋅ ¿, где 0< η<1 - темп обучения.
Шаг 4. Шаги 1 – 3 повторяются для всех обучающих векторов. Один цикл последовательного предъявления всей выборки
называется эпохой. Обучение завершается по истечении нескольких эпох, а) когда итерации сойдутся, т.е. вектор
весов перестает изменяться, или б) когда суммарная абсолютная ошибка станет меньше некоторого малого
значения.
Используемая на шаге 3 формула учитывает следующие обстоятельства:
а) модифицируются только компоненты матрицы весов, отвечающие ненуле-
вым значениям входов; б) знак приращения веса соответствует знаку ошибки, т.е. положительная ошибка ( δ > 0, значение
выхода меньше требуемого) приводит к усилению связи; в) обучение каждого нейрона происходит независимо от обучения
остальных нейронов.
Данный метод обучения был назван Ф.Розенблаттом “методом коррекции с обратной передачей сигнала ошибки”.
Позднее более широко стало известно название “ δ – правило”. Представленный алгоритм относится к широкому классу
алгоритмов обучения с учителем, поскольку известны как входные векторы, так и требуемые значения выходных векторов
(имеется учитель, способный оценить правильность ответа ученика).
Доказанная Розенблаттом теорема о сходимости обучения по δ – правилу говорит о том, что персептрон способен
обучиться любому обучающему набору, который он способен представить.

Линейная разделимость и персептронная представляемость


Каждый нейрон персептрона является формальным пороговым элементом, принимающим единичные значения в случае,
если суммарный взвешенный вход больше некоторого порогового значения:

{
y j= 1 , ∑ W ij x j>θ j
j |
Таким образом, при заданных значениях весов и порогов, нейрон имеет определенное значение выходной активности
для каждого возможного вектора входов. Множество входных векторов, при которых нейрон активен (y=1), отделено от
множества векторов, на которых нейрон пассивен (y=0) гиперплоскостью, уравнение которой имеет вид:
∑ W ij x j −θ j=0
j
Следовательно, нейрон способен отделить (иметь различный выход) только такие два множества векторов входов, для
которых имеется гиперплоскость, отсекающая одно множество от другого. Такие множества называют линейно разделимыми.
Проиллюстрируем это понятие на примере.
Пусть имеется нейрон, для которого входной вектор содержит только две булевые компоненты (x 1 , x 2) , определяющие
плоскость. На данной плоскости возможные значения векторов отвечают вершинам единичного квадрата. В каждой вершине
определено требуемое значение выхода нейрона 1 (на рис. 10.9 белая точка) или 0 (черная точка). Требуется определить,
существует ли такой набор весов и порогов нейрона, при котором этот нейрон сможет отделить точки разного цвета?
На рис 10.9 представлена одна из ситуаций, когда этого сделать нельзя вследствие линейной неразделимости множеств
белых и черных точек.
Рис. 10.9. Белые точки не могут быть отделены одной прямой от черных.
Требуемые выходы нейрона для этого рисунка определяются таблицей, которая задает
логическую функцию “исключающее или”:
X1 X2 Y

0 0 0

1 0 1

0 1 1

1 1 0

Линейная неразделимость множеств аргументов, отвечающих различным значениям функции означает, что функция
“исключающее или”, широко использующаяся в логических устройствах, не может быть представлена формальным нейроном.
Итак, однослойный персептрон крайне ограничен в своих возможностях точно представить наперед заданную
логическую функцию. Позднее, в начале 70-х годов, это ограничение было преодолено путем введения нескольких слоев
нейронов, однако критическое отношение к классическому персептрону сильно заморозило общий круг интереса и научных
исследований в области искусственных нейронных сетей.

Многослойный персептрон
Выше было показано, что существуют ограничения на возможности однослойных сетей, в частности требование
линейной разделимости классов. Особенности строения биологических сетей подталкивают исследователя к использованию
более сложных, и в частности, иерархических архитектур. Идея относительно проста – на низших уровнях иерархии классы
преобразуются таким образом, чтобы сформировать линейно разделимые множества, которые в свою очередь будут успешно
распознаваться нейронами на следующих (высших) уровнях иерархии.
Рассмотрим иерархическую сетевую структуру, в которой связанные между собой нейроны (узлы сети) объединены в
несколько слоев (рис. 10.10). Межнейронные связи сети устроены таким образом, что каждый нейрон на данном уровне
иерархии принимает и обрабатывает сигналы от каждого нейрона более низкого уровня. Таким образом, в данной сети имеется
выделенное направление распространения нейроимпульсов – от входного слоя через один (или несколько) скрытых слоев к
выходному слою нейронов. Нейросеть такой топологии будем называть многослойным персептроном или просто
персептроном.

Рис.10.10. Структура многослойного персептрона с пятью входами, тремя нейронами в скрытом слое, и одним нейроном
выходного слоя.

Персептрон представляет собой сеть, состоящую из нескольких последовательно соединенных слоев формальных
нейронов. На низшем уровне иерархии находится входной слой, задачей которого является только прием и распространение по
сети входной информации. Далее имеются один или несколько скрытых слоев. Каждый нейрон в скрытом слое имеет
несколько входов, соединенных с выходами нейронов предыдущего слоя или непосредственно со входами x1,..., xn, и один
выход. Нейрон характеризуется уникальным вектором весовых коэффициентов w. Веса всех нейронов слоя формируют
матрицу, которую мы будем обозначать V или W. Функция нейрона состоит в вычислении взвешенной суммы его входов с
дальнейшим нелинейным преобразованием ее в выходной сигнал:
y=1 /(¿ 1+exp(−[ ∑ W i x i − θ])) ¿ (10.1)
i
Выходы нейронов последнего, выходного, слоя описывают результат классификации Y=Y(X). Особенности работы
персептрона состоят в следующем. Каждый нейрон суммирует поступающие к нему сигналы от нейронов предыдущего уровня
иерархии с определенными весами и формирует выходной сигнал (переходит в возбужденное состояние), если полученная
сумма выше порогового значения. Персептрон переводит входной образ, определяющий степени возбуждения нейронов самого
нижнего уровня иерахии, в выходной образ, определяемый нейронами самого верхнего уровня. Число последних, обычно,
сравнительно невелико. Выход нейрона на верхнем уровне говорит о принадлежности входного образа к той или иной
категории.
Легко заметить, что порог нейрона может быть сделан эквивалентным дополнительному весу, соединенному с
фиктивным входом, равным -1. Действительно, выбирая W0 = θ, x0 = -1 и начиная суммирование с нуля, можно рассматривать
нейрон с нулевым порогом и одним дополнительным входом:
n n n
y=f ( ∑ W i x i −θ)=f ( ∑ W i x i+(−1)⋅θ)=f (∑ W i x i+W 0 x 0 )=f ¿
i=1 i=1 i=1
Дополнительные входы нейронов, соответствующие порогам, изображены на рис. 10.10 темными квадратиками. С
учетом этого, все формулы суммирования по входам начинаются с нулевого индекса.
Традиционно используется аналоговая логика, при которой допустимые состояния связей определяются произвольными
действительными числами, а выходы нейронов – действительными числами между 0 и 1.
Опишем классический вариант многослойной сети с аналоговыми синапсами и сигмоидальной активационной функцией
нейронов, определяемой формулой (10.1).
Для обучения многослойной сети в 1986 г. был предложен алгоритм обратного распространения ошибок (error back
propagation). Многочисленные публикации о промышленных применениях многослойных сетей с этим алгоритмом обучения
подтвердили его принципиальную работоспособность на практике.
Для обучения многослойного персептрона нельзя применить уже известное δ - правило Розенблатта, т.к. для применения
метода Розенблатта необходимо знать не только текущие выходы нейронов y, но и требуемые правильные значения Y. В случае
многослойной сети эти правильные значения имеются только для нейронов выходного слоя. Требуемые значения выходов
для нейронов скрытых слоев неизвестны, что и ограничивает применение δ - правила.
Основная идея обратного распространения состоит в том, как получить
оценку ошибки для нейронов скрытых слоев. Заметим, что известные ошибки, делаемые нейронами выходного слоя,
возникают вследствие неизвестных ошибок нейронов скрытых слоев. Чем больше значение синаптической связи между
нейроном скрытого слоя и выходным нейроном, тем сильнее ошибка первого влияет на ошибку второго. Следовательно, оценку
ошибки элементов скрытых слоев можно получить, как взвешенную сумму ошибок последующих слоев. При обучении
информация распространяется от низших слоев иерархии к высшим, а оценки ошибок, делаемых сетью, – в обратном
направлении, что и отражено в названии метода.
Перейдем к подробному рассмотрению этого алгоритма. Для упрощения обозначений ограничимся ситуацией, когда
сеть имеет только один скрытый слой. Матрицу весовых коэффициентов от входов к скрытому слою обозначим W, а матрицу
весов, соединяющих скрытый и выходной слой – V. Для индексов примем следующие обозначения: входы будем нумеровать
только индексом i, элементы скрытого слоя – индексом j, а выходы, соответственно, – индексом k.
Пусть сеть обучается на выборке(X α , Y α ) , α =1 , .. . , p . Выходы нейронов будем обозначать малыми буквами y с
соответствующим индексом, а суммарные взвешенные входы нейронов – малыми буквами x.
Общая структура алгоритма имеет следующий вид.
Шаг 0. Начальные значения весов всех нейронов всех слоев V(t=0) и W(t=0) полагаются случайными числами.
Шаг 1.Сети предъявляется входной образ X α и формируется выходной образ y ≠Y α . При этом нейроны последовательно от
слоя к слою функционируют по следующим формулам:
скрытый слой
x j=∑ W ij X i ; y j=f (x j )
α

i
выходной слой
x k =∑ V jk y j ; y =f (x )
k k
j
Здесь f(x) - сигмоидальная функция, определяемая по формуле (10.1)
Шаг 2. Функционал квадратичной ошибки сети для данного входного образа имеет вид: E=1/2 ∑ ¿¿
k
Данный функционал подлежит минимизации. Классический градиентный метод оптимизации состоит в
итерационном уточнении аргумента согласно формуле:
∂E
V jk (t+ 1)=V jk (t )− h ⋅
∂ V jk
Функция ошибки в явном виде не содержит зависимости от веса Vjk, поэтому воспользуемся формулами неявного
дифференцирования сложной функции:
∂E α
=δ k =( y k −Y k )
∂ yk
∂ E ∂ E ∂ yk
= ⋅ =δ k ⋅ y k (1− y k )
∂ xk ∂ yk ∂ xk
∂E ∂ E ∂ yk ∂ xk
= ⋅ ⋅ =δ k ⋅ y k (1 − y k )⋅ y j
∂ V jk ∂ y k ∂ x k ∂ V jk
Здесь учтено полезное свойство сигмоидальной функции f(x): ее производная выражается только через само
значение функции, f ' =f (1− f ). Таким образом, все необходимые величины для подстройки весов выходного
слоя V получены.
Шаг 3. На этом шаге выполняется подстройка весов скрытого слоя. Градиентный метод дает:
∂E
W ij (t +1)=W ij (t)−h ⋅
∂ W ij
Вычисления производных выполняются по тем же формулам, за исключением некоторого усложнения формулы для
ошибки δ j :
∂ E ∂ E ∂ yk
= ⋅ =δ k ⋅ y k (1− y k )
∂ xk ∂ yk ∂ xk
∂E ∂ E ∂ xk
=δ j=∑ ⋅ =∑ δ k ⋅ y k (1 − y k )⋅V jk
∂ yj k ∂ xk ∂ y j k

∂E ∂E ∂ y j ∂x j
[ ]
=δ j ⋅ y j (1− y j )⋅ X i =¿ ∑ δ k ⋅ y k (1 − y k )⋅V jk ⋅ [ y j (1 − y j )⋅ X i ]
α α
= ⋅ ⋅
∂ W ij ∂ y j ∂ x j ∂W ij k
При вычислении δ j применен принцип обратного распространения ошибки: частные производные берутся только
по переменным последующего слоя. По полученным формулам модифицируются веса нейронов скрытого слоя. Если
в нейронной сети имеется несколько скрытых слоев, процедура обратного распространения применяется
последовательно для каждого из них, начиная со слоя, предшествующего выходному, и далее до слоя, следующего
за входным. При этом формулы сохраняют свой вид с заменой элементов выходного слоя на элементы
соответствующего скрытого слоя.
Шаг 4. Шаги 1-3 повторяются для всех обучающих векторов. Обучение завершается по достижении малой полной ошибки или
максимально допустимого числа итераций, как и в методе обучения Розенблатта.
Таким образом, обучение сводится к решению задачи оптимизации функционала ошибки градиентным методом. Суть
обратного распространения ошибки состоит в том, что для ее оценки для нейронов скрытых слоев можно принять взвешенную
сумму ошибок последующего слоя.
Параметр h имеет смысл темпа обучения и выбирается достаточно малым для сходимости метода. О сходимости
необходимо сделать несколько дополнительных замечаний. Во-первых, практика показывает, что сходимость метода обратного
распространения весьма медленная. Невысокий темп сходимости является “генетической болезнью” всех градиентных методов,
так как локальное направление градиента отнюдь не совпадает с направлением к минимуму. Во-вторых, подстройка весов
выполняется независимо для каждой пары образов обучающей выборки. При этом улучшение функционирования на некоторой
заданной паре может, вообще говоря, приводить к ухудшению работы на предыдущих образах. В этом смысле, нет
достоверных (кроме весьма обширной практики применения метода) гарантий сходимости.
Исследования показывают, что для представления произвольного функционального отображения, задаваемого
обучающей выборкой, достаточно всего два слоя нейронов. Однако на практике, в случае сложных функций, использование
более чем одного скрытого слоя может давать экономию полного числа нейронов.

You might also like