Добрый день можно поинтересоваться где брать литературу предложенную в курсе ?Большинство книг я не могу найти в известных источниках |
Жадный алгоритм поиска индивидуальных масок
Рассмотрим работу алгоритма на примере схемы C17 и ДИ, заданной для этой схемы в виде СПР из табл. 27.5.
В табл. 32.1 - табл. 32.10, представленных ниже, иллюстрируется выбор точек проверки на шаге 2 в процедуре при сокращении ДИ для схемы С17.
На первом шаге алгоритма создается множество пустых масок

На следующем шаге происходит вызов процедуры :

производящая поиск точки проверки по значению величины из вариантов, перечиcленных в табл. 32.1. Первому максимальному значению
соответствует точка проверки
и значение
.
Выбираем эту точку проверки. Для нее вычисляем
и
. Добавляем точку проверки
в маску
, после чего производятся рекурсивные вызовы.
- вызов завершается без внесения изменений в маски.

из той же табл. 32.1 выбираем следующее максимальное значение
, соответствующее точке проверки
и значению
(значение
, соответствующее точке проверки
и значению
не выбирается, так как
). Вычисляем
,
. Добавляем
в маску
.
- вызов завершается без внесения изменений в маски.

- следующее максимальное значение (не превышающее 7) в табл. 32.1 равно 5 и соответствует точке проверки
и значению
.
,
. Добавляем
в маску
.

- значения для данного вызова приведены в табл. 32.2. Первое максимальное значение
равно 0 для точки проверки
и значения
.
,
.
Точка проверки
добавляется в
.
- вызов завершается без внесения изменений в маски.
- вызов завершается без внесения изменений в маски.

- следующее максимальное значение (не превышающее 5) в табл. 32.1 равно 3 и соответствует точке проверки
и значению
.
,
. Добавляем
в маски
,
и
.

- значения для этого вызова приведены в табл. 32.3. Первое максимальное значение
равно 1 и соответствует точке проверки
и значению
.
,
. Вносим
в
.
- вызов завершается без внесения изменений в маски.

- из табл. 32.3 выбираем следующее значение для
и значения
.
,
. Вносим
в
.
- вызов завершается без внесения изменений в маски.

- из табл. 32.3 следующее значение , не превышающее 1 и для которого
, равно -1 и соответствует точке проверки
и значению
.
,
. Вносим
в
.

- из табл. 7.4 выбираем для точки проверки
и значения
.
,
. Вносим
в
.
- вызов завершается без внесения изменений в маски.
- вызов завершается без внесения изменений в маски.
- вызов завершается без внесения изменений в маски.

- максимальное значение не превышающее 3 в табл. 32.1 равно 1 и соответствует точке проверки
и значению
.
,
. Точка проверки
помещается в маску
.

- значения для данного вызова приведены в табл. 32.5. Первое максимальное значение
равно 0 для точки проверки
и значения
.
,
. Точка проверки
добавляется в
.

- значения для данного вызова приведены в табл. 32.6. Первое максимальное значение
равно 0 для точки проверки
и значения
.
,
.
Точка проверки
добавляется в
.
- вызов завершается без внесения изменений в маски.
- вызов завершается без внесения изменений в маски.
- вызов завершается без внесения изменений в маски.

- максимальное значение не превышающее 1 в табл. 32.1 равно 1 и соответствует точке проверки
и значению
.
,
. Точка проверки
помещается в маску
.

-значения для данного вызова приведены в табл. 32.7. Первое максимальное значение
равно 0 для точки проверки
и значения
.
,
.
Точка проверки
добавляется в
.

- значения для данного вызова приведены в табл. 32.8 . Первое максимальное значение
равно 0 для точки проверки
и значения
.
,
.
Точка проверки
добавляется в
.

- вызов завершается без внесения изменений в маски.

- вызов завершается без внесения изменений в маски.

- вызов завершается без внесения изменений в маски.

- следующее максимальное значение не превышающее 1 в табл. 32.1 равно 1 и соответствует точке проверки
и значению
.
,
.
Точка проверки
помещается в маску
.

- значения для данного вызова приведены в табл. 32.9. Первое максимальное значение
равно 0 для точки проверки
и значения
.
,
.
Точка проверки
добавляется в
.

- значения для данного вызова приведены в табл. 32.10. Первое максимальное значение
равно 0 для точки проверки
и значения
.
,
.
Точка проверки
добавляется в
.

- вызов завершается без внесения изменений в маски.

- вызов завершается без внесения изменений в маски.

- вызов завершается без внесения изменений в маски.

- вызов завершается без внесения изменений в маски.
Точка проверки | 1:1 | 1:2 | 2:1 | 2:2 | 3:1 | 3:2 | 4:1 | 4:2 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
![]() |
-1 | 1 | 1 | -1 | -5 | 5 | -7 | 7 | 1 | -1 | 3 | -3 | 7 | -7 | -9 | - |
Точка проверки | 1:1 | 1:2 | 2:1 | 2:2 | 3:1 | 3:2 | 4:1 | 4:2 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
![]() |
- | -2 | 0 | - | - | -2 | 0 | - | - | -2 | - | -2 | - | -2 | -2 | - |
Точка проверки | 1:1 | 1:2 | 2:1 | 2:2 | 3:1 | 3:2 | 4:1 | 4:2 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
![]() |
-1 | 1 | -1 | 1 | -3 | - | -3 | - | -1 | 1 | -3 | - | - | -3 | -3 | - |
Точка проверки | 1:1 | 1:2 | 2:1 | 2:2 | 3:1 | 3:2 | 4:1 | 4:2 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
![]() |
-2 | - | 0 | - | -2 | - | -2 | - | -2 | - | -2 | - | - | -2 | -2 | - |
Точка проверки | 1:1 | 1:2 | 2:1 | 2:2 | 3:1 | 3:2 | 4:1 | 4:2 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
![]() |
- | -4 | - | 0 | 0 | - | -2 | - | - | -4 | - | -2 | - | -4 | -4 | - |
Точка проверки | 1:1 | 1:2 | 2:1 | 2:2 | 3:1 | 3:2 | 4:1 | 4:2 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
![]() |
- | -2 | - | -2 | 0 | - | 0 | - | - | -2 | - | -2 | - | -2 | -2 | - |
Точка проверки | 1:1 | 1:2 | 2:1 | 2:2 | 3:1 | 3:2 | 4:1 | 4:2 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
![]() |
0 | - | -4 | - | -2 | - | -4 | - | - | -2 | - | 0 | - | -4 | -4 | - |
Точка проверки | 1:1 | 1:2 | 2:1 | 2:2 | 3:1 | 3:2 | 4:1 | 4:2 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
![]() |
-2 | - | -2 | - | -2 | - | -2 | - | - | 0 | - | 0 | - | -2 | -2 | - |
Точка проверки | 1:1 | 1:2 | 2:1 | 2:2 | 3:1 | 3:2 | 4:1 | 4:2 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
![]() |
-4 | - | - | -2 | -4 | - | -4 | - | -4 | - | - | 0 | - | -2 | -4 | - |
Точка проверки | 1:1 | 1:2 | 2:1 | 2:2 | 3:1 | 3:2 | 4:1 | 4:2 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
![]() |
-2 | - | - | -2 | -2 | - | -2 | - | -2 | - | - | -2 | - | 0 | -2 | - |
Работа алгоритма закончена. В результате получены маски:

Из приведенного примера ясно, что алгоритм не является точным, т. к. в маске точка проверки
является избыточной.