2. Model Checking. Вериф. парал. и распределенных программных систем. Карпов (2010) (1185529), страница 63
Текст из файла (страница 63)
Пусть А — подмнщкество 8, А~В (рис.926). Рассмотрим, как решаются две задачи достижимости. 1) Поставим задачу найти множество В всех тех элементов В, которые дастнлснмы за один шаг отношения Я нз элементов множеспм А (рис. 926, а). С использованием характеристических булевых функций Хя(т,г') н Хх (т) хвракгеристическую функцию искомого множества В можно найти за две операции: копьюпкцнн и квапгификации, а после этого выполнить переименование переменных.
Формально эзо можно выразить следующим алгоритмом: 1. Определяем ограничение отношения Я на тех первых элементах Я из 5, которые принадваввт А: Хл(тМХя(же') 2. Ст сп ко~ Хв глава в ункцня ставлены до- рными пюше- харякгющих ~шение зервые знкция анино. ~ отно- н)а на Я, м, как рафом шение е кои- ).25, а. оншст- шлено и дос- 26. а). ~л(") ы дяе мнме- горит- 2. Строим мношество В=Рогмагк) бяаба(А, В), т.е.Пряной образ миома. ства А относительно бинарного отношения Я (выбрасываем все первые компоненты) и затем проводим переименование переменных; Хв(т)=Ха гв ~дя)(т)=(Бт)[Хл(т)~Хл(т т)1(т~"'). Рве. РАБ а) Бвнврное отношение Р; б) мвбяиства А; а) бинарное отношение А ~ В; я) бинарное отиошеяне В) А ." .' Гласа в лвющ Хл( ')~Хл(т ') Рне.9.ать а) Мшшество элементов Я, которые достнпнмы за один шаг отношения М ш элемшпов заданного множества; ВЗ множество элемшггов Г, нз которых лостнжимы за один шаг отновмннл М элементы заданного множества П) Поставим задачу найти множество А всех тех элемшпов Я, из которых досппкнмы за однн шаг отношеннл Ю элементы заданного мшикества В (рнс.9.26,б).
С нсполюованнше характеристических булевых функций Хл(т,т') н Хв(г) харвктернстпческуго функцию нскомого множества А можно найтн за две операции: конъюнкцию и каантнфнкацню, но до этого нужно выполннть' переименование переменных у харакюрнстнческой функции дв(т) с г на т'. С помощью формул это мшкно вырвзнтьтак: С Стронм ограничение пгношеннв Я на тех вторых элементах Н мз Я, ко. торые црннадлежат В: Опц карп накш Пред все з тройг коду в фгд отобг струк В=(, алфаг и мне предо харак сосен Основ (зуюЬ Почек Для о астор! Почем Тралл| герюш лругнь ем Пш предсз множе 2.
Строим А Вас(нчвэг'йжгйе(В,Я),т.е. обратный образ В опиююельно В (выбрасываем все вторые элементы): Х.(г)-Х. Э я ~яд)()=(Ь")[ХВ(')ВХя(эт)3(). Отшнпеннп общеге веда. Отношения общего вида — это подмножесша де. картона произведения нескольких конечных множеств (ие об шжельно одинаковых), например В~ МхЬГхР, где М, ЬГ и Р— конечные мнохиства.
Представление такого отношения с помощью булевых функций очевндног все элементы множеств М, ЬГ н Р кодируются двончнымн наборами, н если тройка (ж, н, Р) прннадямкнт В, то двоичному набору, соотвегствующмну колу этой тройки, сопоставляем ), в противном случае 0. Так, например, в форме В00 можно предстмнпь любые конечные отсбрнкения, поскольку отобрюкенне является частным случаем отношения.
Примером сложной структуры данных, представимой в виде набора булевых функций (н, следовательно, в форме нескольких В00), велаются конечные автоматы. Пусть А = (Я,Х,Яе, Ь, Р) конечный автомат с мнакеством состояний Я, входным алфавитом Х, множсспюм начальных состояний Бе, функцией переходов Ь и множеством заключитсхьных состоаний Р. Этот конечный автомат мснкно представить в форме В00 тремя характеристическими булевыми функциямн: характеристическими функциями множеств начввьных и заключительных состояний Хэ, и Хл, а такие харакюристнческой функцией Хв, прелставлхющей функцию переходов Ь как конечное отношение Ьш ЯхХхЯ.
горых тва В нкцнй ва А функ- 9.9. Символьные и неявные алгоритмы обработки данных Основанньге на В00 алгоригмм обработки данных называют свжеавьнммн (вуюйо! ю) или неявными (гшрйсй). Почему снэмаэьлые7 Для операций с обьектамн и отношениями вводвтсе булевы переменные, которые можно считать дополнительными параметрами, или симеизами. Почему неявные? Традиционные алгоритмы обмчно ссернруюг явным лрж)стаеленыем (ехр)(сй гергезепгвгюп) дискретных объекюв, перебирая ик последовательно, одни за другим. Алгоритмы, основанные на В00, работают с леяеньги представлением (нпрйси гершзепгайоп) множеств объектов с помощью булевых функций, представхенных в форме В00. Одна операция на В00, представляющей множеспю, заменшт асе операции, которые необходимо выполнигь г(оеледо- вательно для кшкдого элемента множестве.
Поскольку размер ВОР, представляющей множество объектов, с ростом числа элементов множества рас. тет не линейно, а чаще всего лоюрифмически, операции с ВОР выполняются очень эффективно. Два расомотренных выше примера нахождение всех элементов множества, достижимых за один шаг из любых элементов другого множества, являются примерамн неявных алгоритмов: поиск искомого множества производитсв с помощью только двух операций нвд ВРО, независимо ст числа элементов в представляемых ВОО множествах. Пример символьного алгоритма: анализ достижимости на графе Пусть Г = (Я, Р, Яс) — направленный граф, гле Я вЂ” конечное множество, й — бинарное отношение на о, в ~ — множесшо начальных вершин.
Поставим задачу лроверкк того, достижима ли в Г некоторая вершина хи о из какого-нибудь состояния множества Яв . Построим символьный алгоритм анализа достюкнмостн, работающий с характеристическими функциямн множеств и отношеннй, представленных в ВОО. Обозначим Я, — множество вершин, достижиммх шкле г' или ыеньшего числа шагов переходов из Яс, Очевидно, что яля любого П 8ш Я~ и Праной образ Я,Й). Алгоритм выглядит следующим обрвюм. !.
Представляем множества ое и Я в форме ВОО, т, е, определяем множество г переменных, кодирующих вершины из 8, а таюгш характеристические функции Хзе(т) и Хл(т,э') в форме ВОО. Строим также характеристическую фушшию х5 5(т), предсташшющую вершину д.
2, В цикле по г полагаем з = О, 8, = оэ, т. е.: Хд(т) Хи(э)- 3. В теле цикла вычнсшем ограничение М нв Я,: Харя(т,г')жХА(т)рзХ (жт'), ' и'мнохиство вершин графа Г, в которые июнем пгмрейтн из Я, за одни 5. Дя в фу Поск< н Р, это— множ Хя' '(т) ж Гук(т) т(Ээ)Хлаг(у,э)(т!т)1.
» нз 1НЫХ нли иче- »ДНИ рсд рас- ОТСА злегого юио;имо 4. Цикл по Г завершаетса, когда уз (г) уз (с), 5. Дла проверки того. достижима ли вершина й нз множества вершин б» в Г, нужно просто проверить, будет ли выполнима харакгернстнчсская фупкпив Х( )( ) уз,(г). Поскольку алгоритм использует характеристические булавы функции Лпя Ч» и д, а не работает с кшкдой отдельной вершиной и ребром»рафа Г, то это — неявный, символьный алгоритм. Е»о сложвкть полииомиальна на множествах, растущих экспоненпиально. Па рнс,929 показана лоашдова-1 б Рис.
9ЛТ, е и Ф. Последоаатсяымсть пахожзенна мнакыта вершин графа Г, лоспскимых из нвчааьиого мшгпсспа за О, »,2... шапш дай Рассл мнои ва А множ набе! (( Будеь пекет дуюи На рь лля н шин), Из рк нальн речке Рнс. Рдт, е. Послеломпвлькссть нахождения мнсжссгв вершки графа Г.
достижимых вз качалыюго мжяксства за С, 1, 2, ... шагав телыкмть множссш вершин, достижимых кз мншкества Д, за 1, 2 и т. и. ша- гов. Каждое мншкеспю Я, сиывольным алгоритмом строится за две операции иад характеристическими Функциами. Таким сбршюм, ВОЮ можно рассшпрнвать как кшюническое компактное прсдстввяение конечных множеств н отношений, шцпрсе лппусюмт очень эФФективную реализвцшо операций с этими данными. 9Л О. Бинарные решающие диаграммы с подавлением нулей Опыт применения ВОО показал, что зш форма не всегда дает наиболее экономное представление ленных для всех типов проблем.
Поэтому были разрабозвнм несколько модификаций ВОО, которые в конкретных приложениях дшот лучшее схспие информации: МТВОО (Мв!(БТегш(ла! ВОО), РВОВ (Рше ВОО) и др. Мы рассмотрим в этом разделе один нз примеров такой модификации — бинарные решжошие диаграммы с подавлением нулей (Еесознрршзшб Вшшу Оссиюп О!айшшз, ЛЮ). Прн работе с разреженными объектами ВОО не является удобной н эффективной структурой для предспшлення этих сбъекпш. Множество сбъекгов называется разреженным, если число элементов в нем много меньше того, что макет в нем быль.