ФЕДЕРАЛЬНОЕ АГЕНСТВО МОРСКОГО И РЕЧНОГО ТРАНСПОРТА
ФЕДЕРАЛЬНОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
МОРСКОЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
имени адмирала Г.И. Невельского
Морской институт информационных технологий
Кафедра «Автоматических и
информационных систем»
По дисциплине: «Системы искусственного интеллекта»
Тема: Разработка нечеткой системы
расхождения надводных судов со стационарными объектами
Выполнила: студентка 14.51 группы
Шальнова А.И.
Владивосток 2014
Список обозначений
НЧС - нечеткая система;
ИС - искусственная система;
НЛ - Нечеткая логика;
ЛП - лингвистическая переменная;
ВЛП - входная лингвистическая переменная;
Т - базовое терм-множество;
I - универсальное множество;
M - подмножество;
C - столкновение с препятствием спереди;
ОС - препятствие спереди близко;- до препятствия спереди меньше полпути;-
препятствие спереди на полпути;- препятствие спереди близко;- нет препятствий
спереди.- столкновение с препятствием спереди;ОС - препятствие слева близко;-
до препятствия слева меньше полпути;- препятствие слева на полпути;-
препятствие слева близко;- нет препятствий слева.- столкновение с препятствием
справа;ОС - препятствие справа близко;- до препятствия справа меньше полпути;-
препятствие справа на полпути;- препятствие справа близко;- нет препятствий;-
полное лево;- влево;- левее;- прямо;- правее;- вправо;- полное право.
Разработать НЧС расхождения надводных судов со стационарными объектами.
В ходе выполнения лабораторной работы предстоит разработать нечёткую
систему расхождения надводных судов со стационарными объектами, которая
способствует самостоятельному движению судна в надводном пространстве, не
сталкиваясь с препятствиями (Рис.1).
Рисунок
1. Схематичное изображение процесса расхождения судна со стационарными
объектами (а - судно, б, с - стационарные объекты)
Нечеткая система позволит надводному судну управлять самим собой, избегая
препятствий. Этого можно добиться путем выбора соответствующих
входов/выходов[4]. Для определения маневра расхождения судна с препятствием
требуется знать наличие расстояние до препятствия (близко, далеко, на полпути и
т.д.) и положение препятствия относительно судна (слева, справа, спереди). На
выходе получаем направление судна [4].
2. Анализ задачи
Направление движения судна зависит от того, с какой стороны и на каком расстоянии находится препятствие. Следуя из этого, для данной НЧС можно вывести три основных принципа определения направления:
. Чем ближе препятствие справа, тем круче поворот влево (Рис. 2).
. Чем ближе препятствие слева, тем круче поворот вправо (Рис. 3).
. Чем ближе препятствие спереди, тем круче поворот влево/вправо.
Рисунок
2. Схематичное изображение принципа «Чем ближе препятствие справа, тем круче
поворот влево». (a - само судно, b - стационарный
объект в положении «касание препятствия», c - стационарный
объект в положении «препятствие близко», d - стационарный
объект в положении «препятствие ближе, чем на полпути», e -
направление «левее», f - направление «влево», g - направление
«полное лево»)
Рисунок
3. Схематичное изображение принципа «Чем ближе препятствие слева, тем круче
поворот вправо». (a - само судно, b - стационарный
объект в положении «касание препятствия», c - стационарный
объект в положении «препятствие близко», d - стационарный
объект в положении «препятствие ближе, чем на полпути», e -
направление «правее», f - направление «вправо», g - направление
«полное право»)
3. Описание входных и выходных ЛП
Для управления транспортным средством требуется знать положение препятствия по отношению к судну. Это положение слева, справа от судна или перед ним. Следующее что требуется знать это расстояние от нашей позиции до объекта. Если объект находится далеко, мы будем продолжать движение, пока он не приблизится, после мы выбираем направление дальнейшего движения в зависимости от того где находится стационарный объект. Это именно та информация, которую будет использовать для нейронной сети.
Вводим три положения объекта: слева, спереди и справа (Рис. 4). А также
расстояния от судна до препятствия[4].
Рисунок
4. Положение объектов по отношению к судну (L - положение
слева, F - положение спереди, R - положение
справа)
Спереди «Front» Т = {Т1 - касание, Т2 - близко, Т3 - меньше полпути, Т4 - на полпути, Т5 - далеко, Т6 - нет препятствий}
Для наиболее удобного описания расстояния лучше использовать проценты.
Поэтому универсальным множеством является отрезок I = [0; 100], измеряемый в процентах. На нём определены семь
функций принадлежности: для значений T1, T2, T3, Т4, Т5, Т6 носителями которых являются подмножества соответственно:
M1 = [0; 6] - C «crash» (с англ. - «столкновение с препятствием»);
M2 = [3; 16] - ОС «obstacle close» (с англ. - «препятствие близко»);
M3 = [13; 26] - OILTH «obstacle is less than halfway» (с англ. - «до препятствия меньше полпути»);
М4 = [23; 56] - HTTO «halfway to the obstacle» (с англ. - «препятствие на полпути»);
М5 = [53; 96] - OF «obstacle far» (с англ. - «препятствие близко»);
М6 =
[93; 100] - TANO «there are no obstacles» (с англ. - «нет препятствий»).
Рисунок 5. Входная ЛП «Спереди» в среде FuzzyTECH
Слева «Left» Т = {Т1 - касание, Т2 - близко, Т3
- меньше полпути, Т4 - на полпути, Т5 - далеко, Т6 - нет препятствий}
M1 = [0; 6] - LC «crash» (с англ. - «столкновение с препятствием»);
M2 = [3; 16] - LОС «obstacle close» (с англ. - «препятствие близко»);
M3 = [13; 26] - LOILTH «obstacle is less than halfway» (с англ. - «до препятствия меньше полпути»);
М4 = [23; 56] - LHTTO «halfway to the obstacle» (с англ. - «препятствие на полпути»);
М5 = [53; 96] - LOF «obstacle far» (с англ. - «препятствие близко»);
М6 =
[93; 100] - LTANO «there are no obstacles» (с англ. - «нет препятствий»).
Рисунок 6. Входная ЛП «Слева» в среде FuzzyTECH
Справа «Right» Т = {Т1 - касание, Т2 - близко, Т3
- меньше полпути, Т4 - на полпути, Т5 - далеко, Т6 - нет препятствий}
M1 = [0; 6] - RC «crash» (с англ. - «столкновение с препятствием»);
M2 = [3; 16] - RОС «obstacle close» (с англ. - «препятствие близко»);
M3 = [13; 26] - ROILTH «obstacle is less than halfway» (с англ. - «до препятствия меньше полпути»);
М4 = [23; 56] - RHTTO «halfway to the obstacle» (с англ. - «препятствие на полпути»);
М5 = [53; 96] - ROF «obstacle far» (с англ. - «препятствие близко»);
М6 =
[93; 100] - RTANO «there are no obstacles» (с англ. - «нет препятствий»).
Рисунок 7. Входная ЛП «Справа» в среде FuzzyTECH
3.2 Выходные лингвистические переменные
Выходной ЛП является направление движения судна.
Направление «Course» Т = {Т1 - полное лево, Т2 - влево, Т3 - левее, Т4 - прямо, Т5 - правее, Т6 - вправо, Т7 - полное право}.
Для написания направления лучше использовать градусы. Поэтому
универсальным множеством является отрезок I = [0; 100], измеряемый в градусах. На нём определены семь
функций принадлежности: для значений T1, T2, T3, Т4, Т5, Т6, Т7 носителями которых являются подмножества
соответственно (Рис. 8):
M1 = [0; 15] - LLL «полное лево»;
M2 = [14; 29] - LL «влево»;
M3 = [28; 43] - L «левее»;
М4 = [42; 57] - F «прямо»;
М5 = [56; 71] - R «правее»;
М6 = [70; 85] - RR «вправо»;
М7 = [84; 100] - RRR «полное право».
Рисунок 8. Схематичное изображение ЛП «Направление»
Рисунок 9. Выходная ЛП «Направление» в среде FuzzyTECH
интеллектуальный нечеткий логика судно
Количество правил определяется как произведение термов всех входных лингвистических переменных:
* 6 * 6 = 216
Так как в этом проекте нет исключительных ситуаций, то в создании СИИ
участвуют все 216 правил.
.1 Правила в виде таблицы
Таблица 1
№
Входные данные
Выходные данные
ВЛП «Слева»
ВЛП «Прямо»
ВЛП «Справа»
ВЛП «Направление»
1
Нет препятствий
Нет препятствий
Нет препятствий
Прямо
2
Нет препятствий
Нет препятствий
Далеко
Прямо
3
Нет препятствий
Нет препятствий
На полпути
Прямо
4
Нет препятствий
Нет препятствий
Меньше полпути
Левее
5
Нет препятствий
Нет препятствий
Близко
Влево
6
Нет препятствий
Нет препятствий
Касание
Полное лево
7
Нет препятствий
Далеко
Нет препятствий
Прямо
8
Нет препятствий
Далеко
Далеко
Прямо
9
Нет препятствий
Далеко
На полпути
Прямо
10
Нет препятствий
Далеко
Меньше полпути
Левее
11
Нет препятствий
Далеко
Близко
Влево
12
Нет препятствий
Далеко
Касание
Полное лево
13
Нет препятствий
На полпути
Нет препятствий
Прямо
14
Нет препятствий
На полпути
Далеко
Прямо
15
Нет препятствий
На полпути
На полпути
Прямо
16
Нет препятствий
На полпути
Меньше полпути
Левее
17
Нет препятствий
На полпути
Близко
Влево
18
Нет препятствий
На полпути
Касание
Полное лево
19
Нет препятствий
Меньше полпути
Нет препятствий
Левее
20
Нет препятствий
Меньше полпути
Далеко
Левее
21
Нет препятствий
Меньше полпути
На полпути
Левее
22
Нет препятствий
Меньше полпути
Меньше полпути
Левее
23
Нет препятствий
Меньше полпути
Близко
Влево
24
Нет препятствий
Меньше полпути
Касание
Полное лево
25
Нет препятствий
Близко
Нет препятствий
Влево
26
Нет препятствий
Близко
Далеко
Влево
27
Нет препятствий
Близко
На полпути
Влево
28
Нет препятствий
Близко
Меньше полпути
Влево
29
Нет препятствий
Близко
Близко
Влево
30
Нет препятствий
Близко
Касание
Полное лево
31
Нет препятствий
Касание
Нет препятствий
Полное лево
32
Нет препятствий
Касание
Далеко
Полное лево
33
Нет препятствий
Касание
На полпути
Полное лево
34
Нет препятствий
Касание
Меньше полпути
Полное лево
35
Нет препятствий
Касание
Близко
Полное лево
36
Нет препятствий
Касание
Касание
Полное лево
37
Далеко
Нет препятствий
Нет препятствий
Прямо
38
Далеко
Нет препятствий
Далеко
Прямо
39
Далеко
Нет препятствий
На полпути
Прямо
40
Далеко
Нет препятствий
Меньше полпути
Левее
41
Далеко
Нет препятствий
Близко
Влево
42
Далеко
Нет препятствий
Касание
Полное лево
43
Далеко
Далеко
Нет препятствий
Прямо
44
Далеко
Далеко
Далеко
Прямо
45
Далеко
Далеко
На полпути
Прямо
46
Далеко
Далеко
Меньше полпути
Левее
47
Далеко
Далеко
Близко
Влево
48
Далеко
Далеко
Касание
Полное лево
49
Далеко
На полпути
Нет препятствий
Прямо
50
Далеко
На полпути
Далеко
Прямо
51
Далеко На полпути
Прямо
52
Далеко
На полпути
Меньше полпути
Левее
53
Далеко
На полпути
Близко
Влево
54
Далеко
На полпути
Касание
Полное лево
55
Далеко
Меньше полпути
Нет препятствий
Левее
56
Далеко
Меньше полпути
Далеко
Левее
57
Далеко
Меньше полпути
На полпути
Левее
58
Далеко
Меньше полпути
Меньше полпути
Левее
59
Далеко
Меньше полпути
Близко
Влево
60
Далеко
Меньше полпути
Касание
Полное лево
61
Далеко
Близко
Нет препятствий
Влево
62
Далеко
Близко
Далеко
Влево
63
Далеко
Близко
На полпути
Влево
64
Далеко
Близко
Меньше полпути
Влево
65
Далеко
Близко
Близко
Влево
66
Далеко
Близко
Касание
Полное лево
67
Далеко
Касание
Нет препятствий
Полное лево
68
Далеко
Касание
Далеко
Полное лево
69
Далеко
Касание
На полпути
Полное лево
70
Далеко
Касание
Меньше полпути
Полное лево
71
Далеко
Касание
Близко
Полное лево
72
Далеко
Касание
Касание
Полное лево
73
На полпути
Нет препятствий
Нет препятствий
Прямо
74
На полпути
Нет препятствий
Далеко
Прямо
75
На полпути
Нет препятствий
На полпути
Прямо
76
На полпути
Нет препятствий
Меньше полпути
Левее
77
На полпути
Нет препятствий
Близко
Влево
78
На полпути
Нет препятствий
Касание
Полное лево
79
На полпути
Далеко
Нет препятствий
Прямо
80
На полпути
Далеко
Далеко
Прямо
81
На полпути
Далеко
На полпути
Прямо
82
На полпути
Далеко
Меньше полпути
Левее
83
На полпути
Далеко
Близко
Влево
84
На полпути
Далеко
Касание
Полное лево
85
На полпути
На полпути
Нет препятствий
Прямо
86
На полпути
На полпути
Далеко
Прямо
87
На полпути
На полпути
На полпути
Прямо
88
На полпути
На полпути
Меньше полпути
Левее
89
На полпути
На полпути
Близко
Влево
90
На полпути
На полпути
Касание
Полное лево
91
На полпути
Меньше полпути
Нет препятствий
Левее
92
На полпути
Меньше полпути
Далеко
Левее
93
На полпути
Меньше полпути
На полпути
Левее
94
На полпути
Меньше полпути
Меньше полпути
Левее
95
На полпути
Меньше полпути
Близко
Влево
96
На полпути
Меньше полпути
Касание
Полное лево
97
На полпути
Близко
Нет препятствий
Влево
98
На полпути
Близко
Далеко
Влево
99
На полпути
Близко
На полпути
Влево
100
На полпути
Близко
Меньше полпути
Влево
101
На полпути
Близко
Близко
Влево
102
На полпути
Близко
Касание
Полное лево
103
На полпути
Касание
Нет препятствий
Полное лево
104
На полпути
Касание
Далеко
Полное лево
105
На полпути
Касание
На полпути
Полное лево
106
На полпути
Касание
Меньше полпути
Полное лево
107
На полпути
Касание
Близко
Полное лево
108
На полпути
Касание
Касание
Полное лево
109
Меньше полпути
Нет препятствий
Нет препятствий
Правее
110
Меньше полпути
Нет препятствий
Далеко
Правее
111
Меньше полпути
Нет препятствий
На полпути
Правее
112
Меньше полпути
Нет препятствий
Меньше полпути
Прямо
113
Меньше полпути
Нет препятствий
Близко
Влево
114
Меньше полпути
Нет препятствий
Касание
Полное лево
115
Меньше полпути
Далеко
Нет препятствий
Правее
116
Меньше полпути
Далеко
Далеко
Правее
117
Меньше полпути
Далеко
На полпути
Правее
118
Меньше полпути
Далеко
Меньше полпути
Прямо
119
Меньше полпути
Далеко
Близко
Влево
120
Меньше полпути
Далеко
Касание
Полное лево
121
Меньше полпути
На полпути Правее
122
Меньше полпути
На полпути
Далеко
Правее
123
Меньше полпути
На полпути
На полпути
Правее
124
Меньше полпути
На полпути
Меньше полпути
Прямо
125
Меньше полпути
На полпути
Близко
Влево
126
Меньше полпути
На полпути
Касание
Полное лево
127
Меньше полпути
Меньше полпути
Нет препятствий
Правее
128
Меньше полпути
Меньше полпути
Далеко
Правее
129
Меньше полпути
Меньше полпути
На полпути
Правее
130
Меньше полпути
Меньше полпути
Меньше полпути
Левее
131
Меньше полпути
Меньше полпути
Близко
Влево
132
Меньше полпути
Меньше полпути
Касание
Полное лево
133
Меньше полпути
Близко
Нет препятствий
Вправо
134
Меньше полпути
Близко
Далеко
Вправо
135
Меньше полпути
Близко
На полпути
Вправо
136
Меньше полпути
Близко
Меньше полпути
Вправо
137
Меньше полпути
Близко
Близко
Влево
138
Меньше полпути
Близко
Касание
Полное лево
139
Меньше полпути
Касание
Нет препятствий
Полное право
140
Меньше полпути
Касание
Далеко
Полное право
141
Меньше полпути
Касание
На полпути
Полное право
142
Меньше полпути
Касание
Меньше полпути
Полное право
143
Меньше полпути
Касание
Близко
Полное лево
144
Меньше полпути
Касание
Касание
Полное лево
145
Близко
Нет препятствий
Нет препятствий
Вправо
146
Близко
Нет препятствий
Далеко
Вправо
147
Близко
Нет препятствий
На полпути
Вправо
148
Близко
Нет препятствий
Меньше полпути
Вправо
149
Близко
Нет препятствий
Близко
Прямо
150
Близко
Нет препятствий
Касание
Полное лево
151
Близко
Далеко
Нет препятствий
Вправо
152
Близко
Далеко
Далеко
Вправо
153
Близко
Далеко
На полпути
Вправо
154
Близко
Далеко
Меньше полпути
Вправо
155
Близко
Далеко
Близко
Прямо
156
Близко
Далеко
Касание
Полное лево
157
Близко
На полпути
Нет препятствий
Вправо
158
Близко
На полпути
Далеко
Вправо
159
Близко
На полпути
На полпути
Вправо
160
Близко
На полпути
Меньше полпути
Вправо
161
Близко
На полпути
Близко
Прямо
162
Близко
На полпути
Касание
Полное лево
163
Близко
Меньше полпути
Нет препятствий
Вправо
164
Близко
Меньше полпути
Далеко
Вправо
165
Близко
Меньше полпути
На полпути
Вправо
166
Близко
Меньше полпути
Меньше полпути
Вправо
167
Близко
Меньше полпути
Близко
Прямо
168
Близко
Меньше полпути
Касание
Полное лево
169
Близко
Близко
Нет препятствий
Вправо
170
Близко
Близко
Далеко
Вправо
171
Близко
Близко
На полпути
Вправо
172
Близко
Близко
Меньше полпути
Вправо
173
Близко
Близко
Близко
Вправо
174
Близко
Близко
Касание
Полное лево
175
Близко
Касание
Нет препятствий
Полное право
176
Близко
Касание
Далеко
Полное право
177
Близко
Касание
На полпути
Полное право
178
Близко
Касание
Меньше полпути
Полное право
179
Близко
Касание
Близко
Полное право
180
Близко
Касание
Касание
Полное лево
181
Касание
Нет препятствий
Нет препятствий
Полное право
182
Касание
Нет препятствий
Далеко
Полное право
183
Касание
Нет препятствий
На полпути
Полное право
184
Касание
Нет препятствий
Меньше полпути
Полное право
185
Касание
Нет препятствий
Близко
Полное право
186
Касание
Нет препятствий
Касание
Прямо
187
Касание
Далеко
Нет препятствий
Полное право
188
Касание
Далеко
Далеко
Полное право
189
Касание
Далеко
На полпути
Полное право
190
Касание
Далеко
Меньше полпути
Полное право
191
Касание
Далеко
Близко 192
Касание
Далеко
Касание
Прямо
193
Касание
На полпути
Нет препятствий
Полное право
194
Касание
На полпути
Далеко
Полное право
195
Касание
На полпути
На полпути
Полное право
196
Касание
На полпути
Меньше полпути
Полное право
197
Касание
На полпути
Близко
Полное право
198
Касание
На полпути
Касание
Прямо
199
Касание
Меньше полпути
Нет препятствий
Полное право
200
Касание
Меньше полпути
Далеко
Полное право
201
Касание
Меньше полпути
На полпути
Полное право
202
Касание
Меньше полпути
Меньше полпути
Полное право
203
Касание
Меньше полпути
Близко
Полное право
204
Касание
Меньше полпути
Касание
Прямо
205
Касание
Близко
Нет препятствий
Полное право
206
Касание
Близко
Далеко
Полное право
207
Касание
Близко
На полпути
Полное право
208
Касание
Близко
Меньше полпути
Полное право
209
Касание
Близко
Близко
Полное право
210
Касание
Близко
Касание
Прямо
211
Касание
Касание
Нет препятствий
Полное право
212
Касание
Касание
Далеко
Полное право
213
Касание
Касание
На полпути
Полное право
214
Касание
Касание
Меньше полпути
Полное право
215
Касание
Касание
Близко
Полное право
216
Касание
Касание
Касание
Полное право
1. ЕСЛИ «нет препятствий слева» И «нет препятствий спереди» И «нет
препятствий справа» ТО «прямо»;
. ЕСЛИ «нет препятствий слева» И «нет препятствий спереди» И
«препятствие справа далеко» ТО «прямо»;
. ЕСЛИ «нет препятствий слева» И «нет препятствий спереди» И
«препятствие справа на полпути» ТО «прямо»;
. ЕСЛИ «нет препятствий слева» И «нет препятствий спереди» И
«препятствие справа ближе чем на полпути» ТО «левее»;
. ЕСЛИ «нет препятствий слева» И «нет препятствий спереди» И
«препятствие справа близко» ТО «влево»;
. ЕСЛИ «нет препятствий слева» И «нет препятствий спереди» И
«столкновение с препятствием справа» ТО «полное лево»;
. ЕСЛИ «нет препятствий слева» И «препятствие спереди далеко» И
«нет препятствий справа» ТО «прямо»;
. ЕСЛИ «нет препятствий слева» И «препятствие спереди далеко» И
«препятствие справа далеко» ТО «прямо»;
. ЕСЛИ «нет препятствий слева» И «препятствие спереди далеко» И
«препятствие справа на полпути» ТО «прямо»;
. ЕСЛИ «нет препятствий слева» И «препятствие спереди далеко» И «препятствие
справа ближе, чем на полпути» ТО «левее»;
. ЕСЛИ «нет препятствий слева» И «препятствие спереди далеко» И
«препятствие справа близко» ТО «влево»;
. ЕСЛИ «нет препятствий слева» И «препятствие спереди далеко» И
«столкновение с препятствием справа» ТО «полное лево»;
. ЕСЛИ «нет препятствий слева» И «препятствие спереди на полпути»
И «нет препятствий справа» ТО «прямо»;
. ЕСЛИ «нет препятствий слева» И «препятствие спереди на полпути»
И «препятствие справа далеко» ТО «прямо»;
. ЕСЛИ «нет препятствий слева» И «препятствие спереди на полпути»
И «препятствие справа на полпути» ТО «прямо»;
. ЕСЛИ «нет препятствий слева» И «препятствие спереди на полпути»
И «препятствие справа ближе, чем на полпути» ТО «левее»;
. ЕСЛИ «нет препятствий слева» И «препятствие спереди на полпути»
И «препятствие справа близко» ТО «влево»;
. ЕСЛИ «нет препятствий слева» И «препятствие спереди на полпути»
И «столкновение с препятствием справа» ТО «полное лево»;
. ЕСЛИ «нет препятствий слева» И «препятствие спереди ближе, чем
на полпути» И «нет препятствий справа» ТО «левее»;
. ЕСЛИ «нет препятствий слева» И «препятствие спереди ближе, чем
на полпути» И «препятствие справа далеко» ТО «левее»;
. ЕСЛИ «нет препятствий слева» И «препятствие спереди ближе, чем
на полпути» И «препятствие справа на полпути» ТО «левее»;
. ЕСЛИ «нет препятствий слева» И «препятствие спереди ближе, чем
на полпути» И «препятствие справа ближе, чем на полпути» ТО «левее»;
. ЕСЛИ «нет препятствий слева» И «препятствие спереди ближе, чем
на полпути» И «препятствие справа близко» ТО «влево»;
. ЕСЛИ «нет препятствий слева» И «препятствие спереди ближе, чем
на полпути» И «столкновение с препятствием справа» ТО «полное лево»;
. ЕСЛИ «нет препятствий слева» И «препятствие спереди близко» И
«нет препятствий справа» ТО «влево»;
. ЕСЛИ «нет препятствий слева» И «препятствие спереди близко» И
«препятствие справа далеко» ТО «влево»;
. ЕСЛИ «нет препятствий слева» И «препятствие спереди близко» И
«препятствие справа на полпути» ТО «влево»;
. ЕСЛИ «нет препятствий слева» И «препятствие спереди близко» И
«препятствие справа ближе, чем на полпути» ТО «влево»;
. ЕСЛИ «нет препятствий слева» И «препятствие спереди близко» И
«препятствие справа близко» ТО «влево»;
. ЕСЛИ «нет препятствий слева» И «препятствие спереди близко» И
«столкновение с препятствием справа» ТО «полное лево»;
. ЕСЛИ «нет препятствий слева» И «столкновение с препятствием
спереди» И «нет препятствий справа» ТО «полное лево»;
. ЕСЛИ «нет препятствий слева» И «столкновение с препятствием
спереди» И «препятствие справа далеко» ТО «полное лево»;
. ЕСЛИ «нет препятствий слева» И «столкновение с препятствием
спереди» И «препятствие справа на полпути» ТО «полное лево»;
. ЕСЛИ «нет препятствий слева» И «столкновение с препятствием
спереди» И «препятствие справа ближе, чем на полпути» ТО «полное лево»;
. ЕСЛИ «нет препятствий слева» И «столкновение с препятствием
спереди» И «препятствие справа близко» ТО «полное лево»;
. ЕСЛИ «нет препятствий слева» И «столкновение с препятствием
спереди» И «столкновение с препятствием справа» ТО «полное лево»;
. ЕСЛИ «препятствие слева далеко» И «нет препятствий спереди» И
«нет препятствий справа» ТО «прямо»;
. ЕСЛИ «препятствие слева далеко» И «нет препятствий спереди» И
«препятствие справа далеко» ТО «прямо»;
. ЕСЛИ «препятствие слева далеко» И «нет препятствий спереди» И
«препятствие справа на полпути» ТО «прямо»;
. ЕСЛИ «препятствие слева далеко» И «нет препятствий спереди» И
«препятствие справа ближе, чем на полпути» ТО «левее»;
. ЕСЛИ «препятствие слева далеко» И «нет препятствий спереди» И
«препятствие справа близко» ТО «влево»;
. ЕСЛИ «препятствие слева далеко» И «нет препятствий спереди» И
«столкновение с препятствием справа» ТО «полное лево»;
. ЕСЛИ «препятствие слева далеко» И «препятствие спереди далеко» И
«нет препятствий справа» ТО «прямо»;
. ЕСЛИ «препятствие слева далеко» И «препятствие спереди далеко» И
«препятствие справа далеко» ТО «прямо»;
. ЕСЛИ «препятствие слева далеко» И «препятствие спереди далеко» И
«препятствие справа на полпути» ТО «прямо»;
. ЕСЛИ «препятствие слева далеко» И «препятствие спереди далеко» И
«препятствие справа ближе, чем на полпути» ТО «левее»;
. ЕСЛИ «препятствие слева далеко» И «препятствие спереди далеко» И
«препятствие справа близко» ТО «влево»;
. ЕСЛИ «препятствие слева далеко» И «препятствие спереди далеко» И
«столкновение с препятствием справа» ТО «полное лево»;
. ЕСЛИ «препятствие слева далеко» И «препятствие спереди на
полпути» И «нет препятствий справа» ТО «прямо»;
. ЕСЛИ «препятствие слева далеко» И «препятствие спереди на
полпути» И «препятствие справа далеко» ТО «прямо»;
. ЕСЛИ «препятствие слева далеко» И «препятствие спереди на
полпути» И «препятствие справа на полпути» ТО «прямо»;
. ЕСЛИ «препятствие слева далеко» И «препятствие спереди на
полпути» И «препятствие справа ближе, чем на полпути» ТО «левее»;
. ЕСЛИ «препятствие слева далеко» И «препятствие спереди на
полпути» И «препятствие справа близко» ТО «влево»;
. ЕСЛИ «препятствие слева далеко» И «препятствие спереди на
полпути» И «столкновение с препятствием справа» ТО «полное лево»;
. ЕСЛИ «препятствие слева далеко» И «препятствие спереди ближе,
чем на полпути» И «нет препятствий справа» ТО «левее»;
. ЕСЛИ «препятствие слева далеко» И «препятствие спереди ближе,
чем на полпути» И «препятствие справа далеко» ТО «левее»;
. ЕСЛИ «препятствие слева далеко» И «препятствие спереди ближе,
чем на полпути» И «препятствие справа на полпути» ТО «левее»;
. ЕСЛИ «препятствие слева далеко» И «препятствие спереди ближе,
чем на полпути» И «препятствие справа ближе, чем на полпути» ТО «левее»;
. ЕСЛИ «препятствие слева далеко» И «препятствие спереди ближе,
чем на полпути» И «препятствие справа близко» ТО «влево»;
. ЕСЛИ «препятствие слева далеко» И «препятствие спереди ближе,
чем на полпути» И «столкновение с препятствием справа» ТО «полное лево»;
. ЕСЛИ «препятствие слева далеко» И «препятствие спереди близко» И
«нет препятствий справа» ТО «влево»;
. ЕСЛИ «препятствие слева далеко» И «препятствие спереди близко» И
«препятствие справа далеко» ТО «влево»;
. ЕСЛИ «препятствие слева далеко» И «препятствие спереди близко» И
«препятствие справа на полпути» ТО «влево»;
. ЕСЛИ «препятствие слева далеко» И «препятствие спереди близко» И
«препятствие справа ближе, чем на полпути» ТО «влево»;
. ЕСЛИ «препятствие слева далеко» И «препятствие спереди близко» И
«препятствие справа близко» ТО «влево»;
. ЕСЛИ «препятствие слева далеко» И «препятствие спереди близко» И
«столкновение с препятствием справа» ТО «полное лево»;
. ЕСЛИ «препятствие слева далеко» И «столкновение с препятствием
спереди» И «нет препятствий справа» ТО «полное лево»;
. ЕСЛИ «препятствие слева далеко» И «столкновение с препятствием
спереди» И «препятствие справа далеко» ТО «полное лево»;
. ЕСЛИ «препятствие слева далеко» И «столкновение с препятствием
спереди» И «препятствие справа на полпути» ТО «полное лево»;
. ЕСЛИ «препятствие слева далеко» И «столкновение с препятствием
спереди» И «препятствие справа ближе, чем на полпути» ТО «полное лево»;
. ЕСЛИ «препятствие слева далеко» И «столкновение с препятствием
спереди» И «препятствие справа близко» ТО «полное лево»;
. ЕСЛИ «препятствие слева далеко» И «столкновение с препятствием
спереди» И «столкновение с препятствием справа» ТО «полное лево»;
. ЕСЛИ «препятствие слева на полпути» И «нет препятствий спереди»
И «нет препятствий справа» ТО «прямо»;
. ЕСЛИ «препятствие слева на полпути» И «нет препятствий спереди»
И «препятствие справа далеко» ТО «прямо»;
. ЕСЛИ «препятствие слева на полпути» И «нет препятствий спереди»
И «препятствие справа на полпути» ТО «прямо»;
. ЕСЛИ «препятствие слева на полпути» И «нет препятствий спереди»
И «препятствие справа ближе, чем на полпути» ТО «левее»;
. ЕСЛИ «препятствие слева на полпути» И «нет препятствий спереди»
И «препятствие справа близко» ТО «влево»;
. ЕСЛИ «препятствие слева на полпути» И «нет препятствий спереди»
И «столкновение с препятствием справа» ТО «полное лево»;
. ЕСЛИ «препятствие слева на полпути» И «препятствие спереди
далеко» И «нет препятствий справа» ТО «прямо»;
. ЕСЛИ «препятствие слева на полпути» И «препятствие спереди
далеко» И «препятствие справа далеко» ТО «прямо»;
. ЕСЛИ «препятствие слева на полпути» И «препятствие спереди
далеко» И «препятствие справа на полпути» ТО «прямо»;
. ЕСЛИ «препятствие слева на полпути» И «препятствие спереди
далеко» И «препятствие справа ближе, чем на полпути» ТО «левее»;
. ЕСЛИ «препятствие слева на полпути» И «препятствие спереди
далеко» И «препятствие справа близко» ТО «влево»;
. ЕСЛИ «препятствие слева на полпути» И «препятствие спереди
далеко» И «столкновение с препятствием справа» ТО «полное лево»;
. ЕСЛИ «препятствие слева на полпути» И «препятствие спереди на
полпути» И «нет препятствий справа» ТО «прямо»;
. ЕСЛИ «препятствие слева на полпути» И «препятствие спереди на
полпути» И «препятствие справа далеко» ТО «прямо»;
. ЕСЛИ «препятствие слева на полпути» И «препятствие спереди на
полпути» И «препятствие справа на полпути» ТО «прямо»;
. ЕСЛИ «препятствие слева на полпути» И «препятствие спереди на
полпути» И «препятствие справа ближе, чем на полпути» ТО «левее»;
. ЕСЛИ «препятствие слева на полпути» И «препятствие спереди на
полпути» И «препятствие справа близко» ТО «влево»;
. ЕСЛИ «препятствие слева на полпути» И «препятствие спереди на
полпути» И «столкновение с препятствием справа» ТО «полное лево»;
. ЕСЛИ «препятствие слева на полпути» И «препятствие спереди ближе,
чем на полпути» И «нет препятствий справа» ТО «левее»;
. ЕСЛИ «препятствие слева на полпути» И «препятствие спереди
ближе, чем на полпути» И «препятствие справа далеко» ТО «левее»;
. ЕСЛИ «препятствие слева на полпути» И «препятствие спереди
ближе, чем на полпути» И «препятствие справа на полпути» ТО «левее»;
. ЕСЛИ «препятствие слева на полпути» И «препятствие спереди
ближе, чем на полпути» И «препятствие справа ближе, чем на полпути» ТО «левее»;
. ЕСЛИ «препятствие слева на полпути» И «препятствие препятствие
спереди ближе, чем на полпути» И «препятствие справа близко» ТО «влево»;
. ЕСЛИ «препятствие слева на полпути» И «препятствие спереди
ближе, чем на полпути» И «столкновение с препятствием справа» ТО «полное лево»;
. ЕСЛИ «препятствие слева на полпути» И «препятствие спереди
близко» И «нет препятствий справа» ТО «влево»;
. ЕСЛИ «препятствие слева на полпути» И «препятствие спереди
близко» И «препятствие справа далеко» ТО «влево»;
. ЕСЛИ «препятствие слева на полпути» И «препятствие спереди
близко» И «препятствие справа на полпути» ТО «влево»;
. ЕСЛИ «препятствие слева на полпути» И «препятствие спереди
близко» И «препятствие справа ближе, чем на полпути» ТО «влево»;
. ЕСЛИ «препятствие слева на полпути» И «препятствие спереди
близко» И «препятствие справа близко» ТО «влево»;
. ЕСЛИ «препятствие слева на полпути» И «препятствие спереди
близко» И «столкновение с препятствием справа» ТО «полное лево»;
. ЕСЛИ «препятствие слева на полпути» И «столкновение с
препятствием спереди» И «нет препятствий справа» ТО «полное лево»;
. ЕСЛИ «препятствие слева на полпути» И «столкновение с
препятствием спереди» И «препятствие справа далеко» ТО «полное лево»;
. ЕСЛИ «препятствие слева на полпути» И «столкновение с
препятствием спереди» И «препятствие справа на полпути» ТО «полное лево»;
. ЕСЛИ «препятствие слева на полпути» И «столкновение с
препятствием спереди» И «препятствие справа ближе, чем на полпути» ТО «полное
лево»;
. ЕСЛИ «препятствие слева на полпути» И «столкновение с
препятствием спереди» И «препятствие справа близко» ТО «полное лево»;
. ЕСЛИ «препятствие слева на полпути» И «столкновение с
препятствием спереди» И «столкновение с препятствием справа» ТО «полное лево»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «нет
препятствий спереди» И «нет препятствий справа» ТО «правее»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «нет
препятствий спереди» И «препятствие справа далеко» ТО «правее»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «нет
препятствий спереди» И «препятствие справа на полпути» ТО «правее»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «нет
препятствий спереди» И «препятствие справа ближе, чем на полпути» ТО «прямо»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «нет
препятствий спереди» И «препятствие справа близко» ТО «влево»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «нет
препятствий спереди» И «столкновение с препятствием справа» ТО «полное лево»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «препятствие
спереди далеко» И «нет препятствий справа» ТО «правее»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «препятствие
спереди далеко» И «препятствие справа далеко» ТО «правее»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «препятствие
спереди далеко» И «препятствие справа на полпути» ТО «правее»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «препятствие
спереди далеко» И «препятствие справа ближе, чем на полпути» ТО «прямо»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «препятствие
спереди далеко» И «препятствие справа близко» ТО «влево»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «препятствие
спереди далеко» И «столкновение с препятствием справа» ТО «полное лево»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «препятствие
спереди на полпути» И «нет препятствий справа» ТО «правее»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «препятствие
спереди на полпути» И «препятствие справа далеко» ТО «правее»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «препятствие
спереди на полпути» И «препятствие справа на полпути» ТО «правее»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «препятствие
спереди на полпути» И «препятствие справа ближе, чем на полпути» ТО «прямо»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «препятствие
спереди на полпути» И «препятствие справа близко» ТО «влево»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «препятствие
спереди на полпути» И «столкновение с препятствием справа» ТО «полное лево»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «препятствие
спереди ближе, чем на полпути» И «нет препятствий справа» ТО «правее»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «препятствие
спереди ближе, чем на полпути» И «препятствие справа далеко» ТО «правее»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «препятствие
спереди ближе, чем на полпути» И «препятствие справа на полпути» ТО «правее»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «препятствие
спереди ближе, чем на полпути» И «препятствие справа ближе, чем на полпути» ТО
«левее»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «препятствие
спереди ближе, чем на полпути» И «препятствие справа близко» ТО «влево»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «препятствие
спереди ближе, чем на полпути» И «столкновение с препятствием справа» ТО
«полное лево»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «препятствие
спереди близко» И «нет препятствий справа» ТО «вправо»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «препятствие
спереди близко» И «препятствие справа далеко» ТО «вправо»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «препятствие
спереди близко» И «препятствие справа на полпути» ТО «вправо»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «препятствие
спереди близко» И «препятствие справа ближе, чем на полпути» ТО «левее»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «препятствие
спереди близко» И «препятствие справа близко» ТО «влево»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «препятствие
спереди близко» И «столкновение с препятствием справа» ТО «полное лево»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «столкновение с
препятствием спереди» И «нет препятствий справа» ТО «полное право»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «столкновение с
препятствием спереди» И «препятствие справа далеко» ТО «полное право»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «столкновение с
препятствием спереди» И «препятствие справа на полпути» ТО «полное право»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «столкновение с
препятствием спереди» И «препятствие справа ближе, чем на полпути» ТО «полное
право»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «столкновение с
препятствием спереди» И «препятствие справа близко» ТО «полное лево»;
. ЕСЛИ «препятствие слева ближе, чем на полпути» И «столкновение с
препятствием спереди» И «столкновение с препятствием справа» ТО «полное лево»;
. ЕСЛИ «препятствие слева близко» И «нет препятствий спереди» И
«нет препятствий справа» ТО «вправо»;
. ЕСЛИ «препятствие слева близко» И «нет препятствий спереди» И
«препятствие справа далеко» ТО «вправо»;
. ЕСЛИ «препятствие слева близко» И «нет препятствий спереди» И
«препятствие справа на полпути» ТО «вправо»;
. ЕСЛИ «препятствие слева близко» И «нет препятствий спереди» И
«препятствие справа ближе, чем на полпути» ТО «вправо»;
. ЕСЛИ «препятствие слева близко» И «нет препятствий спереди» И
«препятствие справа близко» ТО «прямо»;
. ЕСЛИ «препятствие слева близко» И «нет препятствий спереди» И
«столкновение с препятствием справа» ТО «полное лево»;
. ЕСЛИ «препятствие слева близко» И «препятствие спереди далеко» И
«нет препятствий справа» ТО «вправо»;
. ЕСЛИ «препятствие слева близко» И «препятствие спереди далеко» И
«препятствие справа далеко» ТО «вправо»;
. ЕСЛИ «препятствие слева близко» И «препятствие спереди далеко» И
«препятствие справа на полпути» ТО «вправо»;
. ЕСЛИ «препятствие слева близко» И «препятствие спереди далеко» И
«препятствие справа ближе, чем на полпути» ТО «вправо»;
. ЕСЛИ «препятствие слева близко» И «препятствие спереди далеко» И
«препятствие справа близко» ТО «прямо»;
. ЕСЛИ «препятствие слева близко» И «препятствие спереди далеко» И
«столкновение с препятствием справа» ТО «полное лево»;
. ЕСЛИ «препятствие слева близко» И «препятствие спереди на
полпути» И «нет препятствий справа» ТО «вправо»;
. ЕСЛИ «препятствие слева близко» И «препятствие спереди на
полпути» И «препятствие справа далеко» ТО «вправо»;
. ЕСЛИ «препятствие слева близко» И «препятствие спереди на
полпути» И «препятствие справа на полпути» ТО «вправо»;
. ЕСЛИ «препятствие слева близко» И «препятствие спереди на
полпути» И «препятствие справа ближе, чем на полпути» ТО «вправо»;
. ЕСЛИ «препятствие слева близко» И «препятствие спереди на
полпути» И «препятствие справа близко» ТО «прямо»;
. ЕСЛИ «препятствие слева близко» И «препятствие спереди на
полпути» И «столкновение с препятствием справа» ТО «полное лево»;
. ЕСЛИ «препятствие слева близко» И «препятствие спереди ближе,
чем на полпути» И «нет препятствий справа» ТО «вправо»;
. ЕСЛИ «препятствие слева близко» И «препятствие спереди ближе,
чем на полпути» И «препятствие справа далеко» ТО «вправо»;
. ЕСЛИ «препятствие слева близко» И «препятствие спереди ближе,
чем на полпути» И «препятствие справа на полпути» ТО «вправо»;
. ЕСЛИ «препятствие слева близко» И «препятствие спереди ближе,
чем на полпути» И «препятствие справа ближе, чем на полпути» ТО «вправо»;
. ЕСЛИ «препятствие слева близко» И «препятствие спереди ближе,
чем на полпути» И «препятствие справа близко» ТО «прямо»;
. ЕСЛИ «препятствие слева близко» И «препятствие спереди ближе,
чем на полпути» И «столкновение с препятствием справа» ТО «полное лево»;
. ЕСЛИ «препятствие слева близко» И «препятствие спереди близко» И
«нет препятствий справа» ТО «вправо»;
. ЕСЛИ «препятствие слева близко» И «препятствие спереди близко» И
«препятствие справа далеко» ТО «вправо»;
. ЕСЛИ «препятствие слева близко» И «препятствие спереди близко» И
«препятствие справа на полпути» ТО «вправо»;
. ЕСЛИ «препятствие слева близко» И «препятствие спереди близко» И
«препятствие справа ближе, чем на полпути» ТО «вправо»;
. ЕСЛИ «препятствие слева близко» И «препятствие спереди близко» И
«препятствие справа близко» ТО «вправо»;
. ЕСЛИ «препятствие слева близко» И «препятствие спереди близко» И
«столкновение с препятствием справа» ТО «полное лево»;
. ЕСЛИ «препятствие слева близко» И «столкновение с препятствием
спереди» И «нет препятствий справа» ТО «полное право»;
. ЕСЛИ «препятствие слева близко» И «столкновение с препятствием
спереди» И «препятствие справа далеко» ТО «полное право»;
. ЕСЛИ «препятствие слева близко» И «столкновение с препятствием
спереди» И «препятствие справа на полпути» ТО «полное право»;
. ЕСЛИ «препятствие слева близко» И «столкновение с препятствием
спереди» И «препятствие справа ближе, чем на полпути» ТО «полное право»;
. ЕСЛИ «препятствие слева близко» И «столкновение с препятствием
спереди» И «препятствие справа близко» ТО «полное право»;
. ЕСЛИ «препятствие слева близко» И «столкновение с препятствием
спереди» И «столкновение с препятствием справа» ТО «полное лево»;
. ЕСЛИ «столкновение с препятствием слева» И «нет препятствий
спереди» И «нет препятствий справа» ТО «полное право»;
. ЕСЛИ «столкновение с препятствием слева» И «нет препятствий
спереди» И «препятствие справа далеко» ТО «полное право»;
. ЕСЛИ «столкновение с препятствием слева» И «нет препятствий
спереди» И «препятствие справа на полпути» ТО «полное право»;
. ЕСЛИ «столкновение с препятствием слева» И «нет препятствий
спереди» И «препятствие справа ближе, чем на полпути» ТО «полное право»;
. ЕСЛИ «столкновение с препятствием слева» И «нет препятствий
спереди» И «препятствие справа близко» ТО «полное право»;
. ЕСЛИ «столкновение с препятствием слева» И «нет препятствий
спереди» И «столкновение с препятствием справа» ТО «прямо»;
. ЕСЛИ «столкновение с препятствием слева» И «препятствие спереди
далеко» И «нет препятствий справа» ТО «полное право»;
. ЕСЛИ «столкновение с препятствием слева» И «препятствие спереди
далеко» И «препятствие справа далеко» ТО «полное право»;
. ЕСЛИ «столкновение с препятствием слева» И «препятствие спереди
далеко» И «препятствие справа на полпути» ТО «полное право»;
. ЕСЛИ «столкновение с препятствием слева» И «препятствие спереди
далеко» И «препятствие справа ближе, чем на полпути» ТО «полное право»;
. ЕСЛИ «столкновение с препятствием слева» И «препятствие спереди
далеко» И «препятствие справа близко» ТО «полное право»;
. ЕСЛИ «столкновение с препятствием слева» И «препятствие спереди
далеко» И «столкновение с препятствием справа» ТО «прямо»;
. ЕСЛИ «столкновение с препятствием слева» И «препятствие спереди
на полпути» И «нет препятствий справа» ТО «полное право»;
. ЕСЛИ «столкновение с препятствием слева» И «препятствие спереди
на полпути» И «препятствие справа далеко» ТО «полное право»;
. ЕСЛИ «столкновение с препятствием слева» И «препятствие спереди
на полпути» И «препятствие справа на полпути» ТО «полное право»;
. ЕСЛИ «столкновение с препятствием слева» И «препятствие спереди
на полпути» И «препятствие справа ближе, чем на полпути» ТО «полное право»;
. ЕСЛИ «столкновение с препятствием слева» И «препятствие спереди
на полпути» И «препятствие справа близко» ТО «полное право»;
. ЕСЛИ «столкновение с препятствием слева» И «препятствие спереди
на полпути» И «столкновение с препятствием справа» ТО «прямо»;
. ЕСЛИ «столкновение с препятствием слева» И «препятствие спереди
ближе, чем на полпути» И «нет препятствий справа» ТО «полное право»;
. ЕСЛИ «столкновение с препятствием слева» И «препятствие спереди
ближе, чем на полпути» И «препятствие справа далеко» ТО «полное право»;
. ЕСЛИ «столкновение с препятствием слева» И «препятствие спереди
ближе, чем на полпути» И «препятствие справа на полпути» ТО «полное право»;
. ЕСЛИ «столкновение с препятствием слева» И «препятствие спереди
ближе, чем на полпути» И «препятствие справа ближе, чем на полпути» ТО «полное
право»;
. ЕСЛИ «столкновение с препятствием слева» И «препятствие спереди
ближе, чем на полпути» И «препятствие справа близко» ТО «полное право»;
. ЕСЛИ «столкновение с препятствием слева» И «препятствие спереди
ближе, чем на полпути» И «столкновение с препятствием справа» ТО «прямо»;
. ЕСЛИ «столкновение с препятствием слева» И «препятствие спереди
близко» И «нет препятствий справа» ТО «полное право»;
. ЕСЛИ «столкновение с препятствием слева» И «препятствие спереди
близко» И «препятствие справа далеко» ТО «полное право»;
. ЕСЛИ «столкновение с препятствием слева» И «препятствие спереди
близко» И «препятствие справа на полпути» ТО «полное право»;
. ЕСЛИ «столкновение с препятствием слева» И «препятствие спереди
близко» И «препятствие справа ближе, чем на полпути» ТО «полное право»;
. ЕСЛИ «столкновение с препятствием слева» И «препятствие спереди
близко» И «препятствие справа близко» ТО «полное право»;
. ЕСЛИ «столкновение с препятствием слева» И «препятствие спереди
близко» И «столкновение с препятствием справа» ТО «прямо»;
. ЕСЛИ «столкновение с препятствием слева» И «столкновение с
препятствием спереди» И «нет препятствий справа» ТО «полное право»;
. ЕСЛИ «столкновение с препятствием слева» И «столкновение с
препятствием спереди» И «препятствие справа далеко» ТО «полное право»;
. ЕСЛИ «столкновение с препятствием слева» И «столкновение с
препятствием спереди» И «препятствие справа на полпути» ТО «полное право»;
. ЕСЛИ «столкновение с препятствием слева» И «столкновение с
препятствием спереди» И «препятствие справа ближе, чем на полпути» ТО «полное
право»;
. ЕСЛИ «столкновение с препятствием слева» И «столкновение с
препятствием спереди» И «препятствие справа близко» ТО «полное право»;
. ЕСЛИ «столкновение с препятствием слева» И «столкновение с
препятствием спереди» И «столкновение с препятствием справа» ТО «полное право»;
. Описание разработки интеллектуальной системы
Для разработки интеллектуальной системы на базе нечеткой логики
воспользуемся программным продуктом FuzzTECH 5.54d. Так
как программа FuzzyTECH не имеет ввода на русском языке, то
все подписи будут делаться с использованием букв английского языка. Так как
условные обозначения ЛП нечеткой системы изначально были на английском, в
середе FuzzTECH они будут обозначаться также. Ниже
приведены обозначения лингвистических переменных (Рис.10-Рис.13):
. Спереди препятствие - Front
. Слева препятствие - Left
. Справа препятствие - Right
. Направление, для расхождения с препятствием - Course
Все входные и выходная лингвистические переменные, а также блок правил были
объединены в блок схему(Рис.14)[3].
Рисунок 10. Входная ЛП «Front»
в среде FuzzyTECH Рисунок 11. Входная ЛП «Left»
в среде FuzzyTECH
Рисунок 12. Входная ЛП «Right»
в среде FuzzyTECH
Рисунок 13. Выходная ЛП «Course»
в среде FuzzyTECH
Рисунок 14. Схематичное определение направления движения судна в среде FuzzyTECH
Далее представлены сформированные в базе нечёткие правила (Рис.15).
Рисунок 15. База нечетких правил в среде FuzzyTECH
Тестирование системы с данными, подходящими под правило: ЕСЛИ
«препятствие слева на полпути» И «препятствие спереди далеко» И «препятствие
справа ближе, чем на полпути» ТО «левее».
Допустим, что движется судно, у которого на пути встречаются препятствия:
слева, спереди и справа. Препятствие слева находится на полпути до судна.
Препятствие спереди находится далеко от судна. Препятствие справа находится на
расстоянии меньше, чем полпути.
Рисунок 16. правило: ЕСЛИ «препятствие слева на полпути» И «препятствие
спереди далеко» И «препятствие справа ближе, чем на полпути» ТО «левее» (a -
судно, b - «препятствие слева на полпути», c - «препятствие спереди далеко» , d
- «препятствие справа ближе, чем на полпути», e - направление «левее»).
Данная ситуация соответствует маневру «левее». Вносим в систему следующие
данные:
Front
= 75.0000
Left =
40.0000
Right
= 20.0000
Рисунок 17. Ввод данных
Рисунок 18. Значение ВЛП «Спереди»
Рисунок 19. Значение ВЛП «Слева»
Рисунок 20. Значение ВЛП «Справа»
Рисунок 21. Значение входной ЛП «Направление»
Рисунок 22. Правило выполняется
Рисунок 23. Зависимость от ВЛП «Спереди» и «Слева»
Рисунок 24. Зависимость от ВЛП «Спереди» и «Справа»
Рисунок 25. Зависимость от ВЛП «Справа» и «Слева»
Из Рис.21-Рис.22 следует, что НЧС сделала выбор в пользу маневра «Левее»,
т.е. выдала предполагаемый правильный результат.
Тестирование системы с данными, подходящими под правило: ЕСЛИ
«препятствие слева близко» И «нет препятствий спереди» И «препятствие справа на
полпути» ТО «вправо».
Допустим, что движется судно, у которого на пути встречаются препятствия:
слева и справа. Препятствие слева находится близко к судна. Препятствий спереди
нет. Препятствие справа находится на полпути.
Рисунок 26. Правило ЕСЛИ «препятствие слева близко» И «нет препятствий
спереди» И «препятствие справа на полпути» ТО «вправо». (a - судно, b - «препятствие слева близко», d - «препятствие справа на полпути», c - направление «вправо»).
Данная ситуация соответствует маневру «вправо». Вносим в систему
следующие данные:
Front
= 99.0000
Left =
10.0000
Right
= 40.0000
Рисунок 27. Ввод данных
Рисунок 28. Значение ВЛП «Спереди»
Рисунок 29. Значение ВЛП «Слева»
Рисунок 30. Значение ВЛП «Справа»
Рисунок 31. Значение входной ЛП «Направление»
Рисунок 32. Правило выполняется
Рисунок
33. Зависимость от ВЛП «Спереди» и «Слева»
Рисунок 34. Зависимость от ВЛП «Спереди» и «Справа»
Рисунок 35. Зависимость от ВЛП «Справа» и «Слева»
Из Рис.31-Рис.32 следует, что НЧС сделала выбор в пользу маневра «Влево»,
т.е. выдала предполагаемый правильный результат.
Тестирование системы с данными, подходящими под правило: ЕСЛИ
«препятствие слева близко» И «препятствие спереди на полпути» И «препятствие
справа близко» ТО «прямо».
Допустим, что движется судно, у которого на пути встречаются препятствия:
слева, спереди и справа. Препятствие слева находится близко к судну.
Препятствие спереди находится на полпути. Препятствие справа находится близко к
судну.
Рисунок 36. Правило ЕСЛИ «препятствие слева близко» И «препятствие
спереди на полпути» И «препятствие справа близко» ТО «прямо» (a - судно, b - «препятствие слева близко», c - «препятствие спереди на полпути» , d - «препятствие справа близко», e - направление «прямо»).
Данная ситуация соответствует маневру «прямо». Вносим в систему следующие
данные:
Front
= 40.0000
Left =
10.0000
Right
= 10.0000
Рисунок 37. Ввод данных
Рисунок 38. Значение ВЛП «Спереди»
Рисунок 39. Значение ВЛП «Слева»
Рисунок 40. Значение ВЛП «Справа»
Рисунок 41. Значение входной ЛП «Направление»
Рисунок 42. Правило выполняется
Рисунок 43. Зависимость от ВЛП «Спереди» и «Слева»
Рисунок 44. Зависимость от ВЛП «Спереди» и «Справа»
Рисунок 45. Зависимость от ВЛП «Справа» и «Слева»
Из Рис.38-Рис.39 следует, что НЧС сделала выбор в пользу маневра «Прямо»,
т.е. выдала предполагаемый правильный результат.
1. Седова Н.А., Разработка ИС базе НЛ в FuzzyTech -
Владивосток: МГУ им. адм. Невельского,2012г. - 56с.
2. Седова Н.А., Курс лекций по СИИ.
. Березкин П.С., Отчёт по лабораторной работе №1 - Владивосток:
МГУ им. адм. Невельского, 2013г. - 37с.
. Управление транспортным средством с помощью
нейронной сети
4.2 Правила в виде списка
6. Тестирование НЧС
Тест 1
Тест 2
Тест 3
Список литературы