Дискретная математика & математическая логика
..pdfНейрон рис. 5.22 возбуждается в случае ∑wi хi ≥ Т. Система неравенств И:
(00): ∑ = w1 х1 + w2 х2 = 0 < T, (01): ∑ = w1 х1 + w2 х2 = w2 < T, (10): ∑ = w1 х1 + w2 х2 = w1 < T,
(11): ∑ = w1 х1 + w2 х2 = w2 + w1 ≥ T,
w1 = w2 = 1,
T = 1,5.
Схема нейрона, настроенного на моделирование логического ИЛИ, представлена на рис. 5.20:
Рис. 5.20. Схема нейрона, настроенного на моделирование логического ИЛИ
Система неравенств ИЛИ: (00): ∑ = w1 х1 + w2 х2 = 0 < T, (01): ∑ = w1 х1 + w2 х2 = w2 ≥ T, (10): ∑ = w1 х1 + w 2 х2 = w1 ≥ T,
(11): ∑ = w1 х1 + w2 х2 = w2 + w1 ≥ T, w = 1,
T = –1.
Схема нейрона, настроенного на моделирование логического НЕ, представлена на рис. 5.21:
191
НЕ (¬, –, ~)
Рис. 5.21. Схема нейрона, настроенного на моделирование логического НЕ
Система неравенств НЕ: w = –1,5,
T = –1,
(0): ∑ = w х = 0 ≥ T (–1),
(1): ∑ = w х = w = –1,5 < T (–1).
Автоматы и имитация искусственного интеллекта
Эта область теории автоматов связана с именем Марвина Ли Минского (род. 9 августа 1927 года) – рис. 5.22.
Рис. 5.22. Марвин Ли Минский
Минский написал книгу «Персептроны» (совместно с Сеймуром Папертом), которая стала фундаментальной работой для последующих разработок в области искусственных нейронных сетей.
192
Персептрон – это модель технического устройства для автоматического распознавания образов, предложенная американским ученым Ф. Розенблатом в 1957 году. Его книга «Принципы нейродинамики» была издана в 1962 году и переведена на русский язык издательством «Мир» в 1966 году.
Искусственный нейрон (математический нейрон, формальный нейрон) − узел искусственной нейронной сети, являющийся упрощённой моделью естественного нейрона. Математический, искусственный нейрон обычно представляют как некоторую нелинейную функцию f от единственного аргумента – линейной комбинации ∑ всех входных сигналов ω .
Данную функцию f(S) называют функцией активации или функцией срабатывания, передаточной функцией. Полученный результат посылается на единственный выход. Такие искусственные
Рис. 5.23. Искусственный нейрон
нейроны объединяют в сети – соединяют выходы одних нейронов с входами других. Искусственные нейроны и сети являются основными элементами идеального нейрокомпьютера (рис. 5.23).
Нейрокомпьютер
Нейрокомпьютер – вычислительная система, в которой:
– упрощен до уровня нейрона процессорный элемент однородной структуры,
193
–резко усложнены связи между элементами,
–программирование заключается в изменении весовых связей между элементами.
Нейроматематика – новый перспективный раздел дискретной математики, решающий математические задачи в нейросетевом логическом базисе.
Нейронная сеть
Нейронная сеть – это сеть с конечным числом слоев из однотипных элементов – аналогов нейронов с различными типами связей между слоями нейронов. При этом количество нейронов в слоях выбирается необходимым для обеспечения заданного качества решения задачи, а число слоев нейронов – как можно меньшим для уменьшения времени решения задачи. По существу, нейронная сеть – тоже однородная среда с высокой степенью регулярности.
Примеры использования нейросетей:
–контроль кредитных карточек (диагностика принадлежности хозяину карточки с настройкой нейронной сети в пространстве признаков покупаемых товаров);
–скрытое обнаружение веществ с помощью устройств на базе тепловых нейронов и нейрокомпьютера на заказных цифровых нейрочипах; подобная система эксплуатируется во многих аэропортах США при досмотре багажа для выявления наркотиков, взрывчатых веществ, ядерных материалов и т.д.;
–обработка изображений, например выделение на изображении движущихся целей, поиск и распознавание объектов заданной формы.
194
6.СИНТЕЗ ЛОГИЧЕСКИХ АВТОМАТОВ
6.1.АБСТРАКТНЫЙ СИНТЕЗ ПОСЛЕДОВАТЕЛЬНОСТНОГО
АВТОМАТА ПРИ НЕДЕТЕРМИНИРОВАННОЙ ВХОДНОЙ ПОСЛЕДОВАТЕЛЬНОСТИ
Иногда автоматы, в которых функции переходов и выходов двоичные, называют логическими. В их структуре имеется так называемый логический преобразователь – комбинационный автомат, реализующий функции переходов и выходов.
Рассмотрим абстрактный синтез такого последовательностного автомата при недетерминированной входной последовательности на примере.
Пример. Требуется спроектировать схему управления счетчиком для подсчета количества рабочих в цехе. Имеется для фотодиода Ф1 и Ф2 и два источника света Л1 и Л2 – как в метро, счетчик СТ2 и индикатор ИН.
Выполним сначала блочный синтез автомата (рис. 6.1):
Рис. 6.1. Разбиение автомата на блоки z1
195
Проведём абстрактный синтез – спроектируем дискретный автомат ДА, имеющий два входа (а, b) и два выхода (z1, z2). Очевидно, что последовательности недетерминированные. Могут быть неполные проходы-возвраты («пропуск дома забыл»).
Вначале рассматриваются все возможные последовательности входов-выходов (процессы):
1. Вход за входом: вход, вход, вход – « строем в колонну по одному» на работу:
аb |
00 |
10 |
11 |
01 |
00 |
10 |
11 |
01 |
00 |
… |
z1z2 |
00 |
00 |
00 |
00 |
10 |
00 |
00 |
00 |
10 |
… |
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|
|
|
|
|
|
|
2 |
3 |
4 |
5 |
|
Выявляем эквивалентные такты – применяется второе условие эквивалентности: при одинаковых последовательностях и выходные последовательности одинаковы.
2. Неполный вход. Он может быть на разных этапах (тактах) вплоть до 4-го:
аb |
00 |
10 |
00 |
|
|
|
|
|
z1z2 |
00 |
00 |
00 |
|
|
|
|
|
|
1 |
2 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
аb |
00 |
10 |
11 |
|
10 |
00 |
|
|
z1z2 |
00 |
00 |
00 |
|
00 |
10 |
|
|
|
1 |
2 |
3 |
|
2 |
1 |
|
|
|
|
|
|
|
|
|
|
|
аb |
00 |
10 |
11 |
|
01 |
11 |
10 |
00 |
z1z2 |
00 |
00 |
00 |
|
00 |
00 |
00 |
00 |
|
1 |
2 |
3 |
|
4 |
3 |
2 |
1 |
Выход, выход, выход– « строемв колонну поодному» наобед.
аb |
00 |
01 |
11 |
10 |
00 |
01 |
11 |
10 |
00 |
… |
z1z2 |
00 |
00 |
00 |
00 |
01 |
00 |
00 |
00 |
01 |
… |
|
1 |
6 |
7 |
8 |
9 |
6 |
7 |
8 |
9 |
|
|
|
4 |
3 |
2 |
? |
|
|
|
|
|
196
Такты 6, 7, 8 неэквивалентны 4, 3, 2, так как выходной сигнал при кодах 00→ 01 (последовательность неполного прохода до 4-го такта). В связи с этим приходится вводить новые такты (строки).
3. Неполные выходы. Этот процесс может быть реализован на разных этапах – вплоть до 8-го такта (1, 6, 7, 8):
аb |
00 |
01 |
00 |
|
|
|
|
|
z1z2 |
00 |
00 |
00 |
|
|
|
|
|
|
1 |
6 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
аb |
00 |
01 |
11 |
|
01 |
00 |
|
|
z1z2 |
00 |
00 |
00 |
|
00 |
00 |
|
|
|
1 |
6 |
7 |
|
6 |
1 |
|
|
|
|
|
|
|
|
|
|
|
аb |
00 |
01 |
11 |
|
10 |
11 |
01 |
00 |
z1z2 |
00 |
00 |
00 |
|
00 |
00 |
00 |
00 |
|
1 |
6 |
7 |
|
8 |
7 |
6 |
1 |
4. Перемежающиесявходы-выходы: вход, выход, вход, выход… После 9-го такта во 2-й: вход за выходом, после 5-го такта
в 6-й: выход за входом.
Построим первичную таблицу переходов:
|
N |
|
|
|
|
аb |
|
z1 |
z2 |
|
|
|
||||
|
|
|
00 |
|
10 |
|
11 |
|
01 |
|
|
|
|
|
||
|
1 |
|
1 |
|
|
2 |
|
|
|
|
6 |
0 |
0 |
|
входы |
|
|
2 |
|
1 |
|
|
2 |
|
|
3 |
|
|
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
3 |
|
|
|
2 |
|
3 |
|
4 |
0 |
0 |
|
|
|
|||
4 |
|
5 |
|
|
|
|
3 |
|
4 |
0 |
0 |
|
|
|
||
5 |
|
5 |
|
2 |
|
|
|
|
6 |
1 |
0 |
+ 1 |
|
|||
6 |
|
1 |
|
|
|
|
7 |
|
6 |
0 |
0 |
|
выходы |
|
||
|
7 |
|
|
|
|
8 |
|
|
7 |
|
6 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
8 |
|
9 |
|
8 |
|
7 |
|
|
0 |
0 |
|
|
|
|||
9 |
|
9 |
|
2 |
|
|
|
|
6 |
0 |
1 |
|
–1 |
Произведём сжатие этой таблицы. Построим граф объединения строк (рис. 6.2):
197
Рис. 6.2. Граф объединения строк
Получаем 6 групп совместимости.
Строим минимизированную таблицу переходов:
|
|
|
ab |
|
|
|
N |
00 |
10 |
|
11 |
01 |
|
a (1, 2) |
1 |
2 |
|
3 |
6 |
000 |
b (3, 4) |
5 |
2 |
|
3 |
4 |
001 |
с (5) |
5 |
2 |
|
– |
6 |
011 |
d (6, 7) |
1 |
8 |
|
7 |
6 |
010 |
е (8) |
9 |
8 |
|
7 |
– |
110 |
f (9) |
9 |
2 |
|
– |
6 |
100 |
Закодируем элементы памяти, обеспечив соседнее кодирование всех переходов. Число элементов памяти
S = intlog26 = 3.
Построим карту Карно для трёх переменных:
198
Построим реализуемую таблицу переходов:
|
|
|
|
|
|
y3y2y1(t) |
|
|
|
|
|
|
аb |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
00 |
10 |
|
|
11 |
|
01 |
|
|
||||||||
|
|
а |
000 |
|
|
|
1 |
|
2 |
|
|
3 |
|
6 |
|
|
||||||||
|
|
b |
010 |
|
|
|
5 |
|
2 |
|
|
3 |
|
4 |
|
|
||||||||
|
|
с |
011 |
|
|
|
5 |
|
2 |
|
|
– |
6 |
|
|
|||||||||
|
|
d |
001 |
|
|
|
1 |
|
8 |
|
|
7 |
|
6 |
|
|
||||||||
|
|
e |
101 |
|
|
|
9 |
|
8 |
|
|
7 |
|
|
|
– |
|
|
||||||
|
|
f |
100 |
|
|
|
9 |
|
2 |
|
|
– |
6 |
|
|
|||||||||
Получим таблицу переходов-выходов: |
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
y3y2y1(t) |
|
|
|
|
|
|
|
|
|
аb |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
00 |
|
|
10 |
|
|
11 |
|
|
|
01 |
|
|
|
|
|
|
||||||
|
000 |
|
0 |
|
2 |
|
3 |
|
|
1 |
|
|
|
|
|
|||||||||
|
|
|
000 |
|
|
000 |
|
|
010 |
|
|
|
001 |
|
|
|
|
|
||||||
|
|
|
|
|
00 |
|
|
00 |
|
|
00 |
|
|
|
00 |
|
|
|
|
|
|
|||
|
010 |
|
10 |
|
12 |
|
13 |
|
|
11 |
|
|
|
|
|
|||||||||
|
|
011 |
|
000 |
|
|
010 |
|
|
|
010 |
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
10 |
|
|
00 |
|
|
00 |
|
|
|
00 |
|
|
|
|
|
|
||||
|
011 |
|
14 |
|
16 |
|
17 |
|
|
15 |
|
|
|
|
|
|||||||||
|
|
011 |
|
010 |
|
|
– |
|
001 |
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
00 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
10 |
|
|
|
|
|
|
|
|
00 |
|
|
|
|
|
|
|||||
|
001 |
|
4 |
|
6 |
|
7 |
|
|
5 |
|
|
|
|
|
|||||||||
|
|
|
000 |
|
|
101 |
|
001 |
|
|
001 |
|
|
|
|
|
||||||||
|
|
|
|
|
00 |
|
|
|
|
|
|
00 |
|
|
|
00 |
|
|
|
|
|
|
||
|
|
|
|
|
|
00 |
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
y3y2y1 (t) |
|
|
|
|
|
|
|
|
|
а |
b |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
00 |
|
|
10 |
|
|
11 |
|
|
|
01 |
|
|
|
|
|
|
||||||
|
101 |
|
24 |
|
26 |
|
27 |
|
|
25 |
|
|
|
|
|
|||||||||
|
|
100 |
|
|
101 |
|
|
001 |
|
|
– |
|
|
|
|
|
||||||||
|
|
|
|
|
01 |
|
|
|
00 |
|
|
00 |
|
|
|
|
|
|
|
|
|
|
||
|
100 |
|
20 |
|
22 |
|
23 |
|
|
21 |
|
|
y3 y2 y1 (t + 1) |
|
||||||||||
|
|
100 |
|
|
000 |
|
|
– |
|
000 |
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
z1z2 |
|
||||||||||||
|
|
|
|
|
01 |
|
|
00 |
|
|
|
|
|
|
00 |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
199
Обратим внимание на то, что кодировка клеток этой таблицы восьмеричная:
21 |
20 |
22 |
21 |
|
20 |
|
|
y3 |
y2 |
y1 |
а |
|
b |
|
|
После того как получаем все пять функций |
y3 y2 y1 (t + 1) |
в сим- |
|||||
|
|||||||
|
|
|
|
|
z1 z2 |
волической форме, абстрактный синтез считается законченным.
6.2. АБСТРАКТНЫЙ СИНТЕЗ ПОСЛЕДОВАТЕЛЬНОСТНОГО АВТОМАТА ПРИ ДЕТЕРМИНИРОВАННОЙ ВХОДНОЙ ПОСЛЕДОВАТЕЛЬНОСТИ
Проведём абстрактный синтез автомата для управления нагревом воздуха в помещении. Если температура воздуха ниже нормы (сработало реле № 1), то включается нагреватель. Начинается подогрев воздуха до тех пор, пока температура воздуха не превысит верхний предел (сработает реле № 2) – рис. 6.3.
Обозначим реле нижней температуры № 1 (нижний предел) x1, реле верхней температуры № 2 (верхний предел) – x2.
Рис. 6.3. Автомат нагрева воздуха
Построим первичную таблицу тактов:
х2х1 |
00 |
01 |
00 |
10 |
00 |
z |
0 |
1 |
1 |
0 |
0 |
Такты |
1 |
2 |
3 |
4 |
1 |
200