Добрый день можно поинтересоваться где брать литературу предложенную в курсе ?Большинство книг я не могу найти в известных источниках |
Жадный алгоритм поиска индивидуальных масок
Рассмотрим работу алгоритма на примере схемы 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 | - |
Работа алгоритма закончена. В результате получены маски:
Из приведенного примера ясно, что алгоритм не является точным, т. к. в маске точка проверки является избыточной.