Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
4.6. ПРЕДСТАВЛЕНИЕ «И/ИЛИ» ГРАФОВ С ПОМОЩЬЮ НЕДЕТЕРМИНИРОВАННЫХ ПРОГРАМММы можем ввести некоторые дополнительные элементы недетерминированных программ, с тем чтобы эти программы можно было использовать для представления процесса построения «И/ИЛИ» графа. По аналогии с оператором присваивания ВЫБОР (в котором программная переменная принимается равной любому элементу некоторого множества) мы можем определить оператор присваивания ВСЕ. В последнем программная переменная принимается равной всем элементам некоторого множества. (Представьте себе, что вычисление после оператора ВСЕ разветвляется на множество фиктивных параллельных про? цессов, в каждом из которых в качестве значения программной переменной берется своя величина.)
Рис. 4.7. Недетерминированная программа, определяющая «И/ИЛИ» граф. ИСХОДНОЕ ПОЛОЖЕНИЕ: Программная переменная у (принимающая значения из области описаний задач) полагается равной входной структуре данных х, описывающей; задачу. ВЫБОР: Значение программной переменной На рис. 4.7 изображена блок-схема недетерминированной программы, определяющей «И/ИЛИ» граф. Для простоты здесь опущены условия окончания, но они состояли бы в совершенна очевидных проверках, разрешимы вершины или неразрешимы. В общем случае оператор ВСЕ обозначается на блок-схемах следующим образом:
Структура данных х служит входом в эту программу, структура данных у — программной переменной, а функция новые значения программной переменной у равными всем членам множества Мы также вводим обозначение Д-ветвления. Это ветвление на
И опять, обычные детерминированные ветвления являются частными случаями Д-ветвлений. Точно так же, когда значением функции При конкретном осуществлении недетерминированной программы делается один определенный выбор в Использование всех этих недетерминированных (и детерминированных) элементов дает возможность применять для описания задач недетерминированные программы. Как пример рассмотрим задачу, о восьми ферзях. В этой задаче требуется на обычной шахматной доске расставить восемь ферзей так, чтобы ни один из них не находился под ударом других ферзей. Недетерминированная блок-схема программы для этой задачи показана на рис. 4.8. На этой блок-схеме координаты Рис. 4.8. (см. скан) Недетерминированная программа для задачи в восьми ферзях. Предикат «побить
|
1 |
Оглавление
|