2. Model Checking. Вериф. парал. и распределенных программных систем. Карпов (2010) (1185529), страница 68
Текст из файла (страница 68)
(рнс. 10.41. Гэмев Ю 00нмю 3. Нвд получившимся ограниченным опюшеннем выполняем опервцию "Обратный обрвУ, получая характеристическую функцию, звдмошую первые компоненты построенного ограничения опюшення Хч (т) Ху г и (д 1л)(У) (Эт')У(0 1яф„э)(тг Ррмыпр 10.0 рассмотрим пример построения множестве сосюшшй структуры Кринке„ удовлегворшощнх СП. формуле ВХр. Далгх Д н Я.
Найми: Ягхе. Не рис. 105, а представлен пример миакествв Я, н отношение Я. Состояния, в которых выполняется формула р, выделены. Квк мнакестао йе, твк н отношение й эвдвны хярввтернстическнми булевыми функциямн и представлены в форме ВРР. Нв рпс. 10.5, б поквэвно ограничение отношения й нв множестве Я . Его составляют только такие переходы 'из Я. у которых второй компонент приашлежит множеству Д . Для того чтобы получпгь множесшо состояний Дкхе, которые удовлепюряют формуле ВХр, пушно у этих переходов взять первый компонент (рис.
10,5, в). Это делается с помощью опервцин кввнтификвции характеристической функции по переменным второго компоненте. Твены обрезом, всего две операции с ВРР, предстввлмошнми Я, и Я, поэволшот построить хврмгшржтнческую фующшо множестве состояний й)эге Формула КР0 (состояние з удовлетворяет этой формуле, если иэ э существует путь, ив котором когдв-нибудь в будущем встрппггтл состояние, ня ко. тором формула р выполняется). Дало: хвряктеристичесяне функцяи множества сосцаннй ц структуры Криппс н множества Я переходов этой структуры.
Нейли; характеристическую функцию множестве состояний Дкве. Это клвсаическвя задача досппкимости: нвйтн нв системе переходов (с заданным отношением переходов и) то множество соспмннй, ю которых достижимо некоторое зяааное множество состояний (которые удовлетворяют условию р), ее 10 при~ней !ннй иет. : за- пое~ЯЮТ Рне. 165. а) Мионеетао еоетоаннй Я и отноаинне й; а и Я Ц|е> йд М ряаее ю Явный алгоритм иахакдения множаетэа состояний 1'„Ркв по заДаннЫм множеству состояний Я, н множеству переходов й рассматримшса в гл. 3.
Алгоритм нахождения множества таких состояний Я~ге, нз аоторых за произвольное конечное число шагов достижимы состояния из Де, можно схематично предстввизь так: ю Пгг 4$Э в:-лг л: илгеппг г* ~е<л1 - зтс ииоеесеео ссстоммв, опчем есть лерехол в состояния ыежества л) '/ «Мхе гл ~ В] яиаязя а Этот алгоритм основывавгсв на рекурсивном определении формулы Ер Р: Ерр=ртЕХ(ЕРр), откупы Ерр ртЕХрчЕХ(ЕХЕ)чЕХ(ЕХ(ЕХр))т...
и состоит в следующем. Сначала за искомое множество А состояний принимапгся мнвкеспю Де, т. е. те состояния, которые помечены формулой р. Затем к мнакесеу состояний А добавляигюя те состояния, из которых есть переход (за один пщг) в соспжнив из л, Такое преобразование делается многояратно до тех пор, пока не пслучиюя множество Д, применение преобразования к которому его не изменяет (рис.
10.6). Аргумент, который не изменяется при применении к нему преобраювания, назмаастся леиодеижиой мочжгй яого преобразования. В данном алгоритме таким аргументом является полученное после нескольких шагов итераций множество состояний л, а преобразование, кторое применяется к нему, зто йе Орте(Л), Алгоритм останавливается, когда л = Д иРге(А). Все алюрнтмы построения подмножеств состояний, удовлетворяющих оставшимся шести формулам ЕРр, АРр, Е(ргПрз), А(ргПрз). Ебр и АО~Р ишуг именно неподвюкные точки соответствующих преобразований. Построение подобного неявиоуо аягоригма, оперирующего не состоянивми и переходамн, а характеристическими булевыми функциямн множеств состояний и мнщасствв переходов М, может быль вьиюлнено по аналогии с алгоритыом, изложенным в аь 3, н не представляет принципиальных трудностей.
Однако повторг состоял лучани~ (все ли и иожщ Ответь пения преобр иа реш 10.6 И НЕ Пусть Подмя 3 (а, 2 =(1 рядочс множе гое. Н! Однако вознмкаст вопрос: всегда ли аагоритм будет сходиться (т. е. всегда лн повторякнцееся применение некоторого преобразования к подмнвкеству состояний струкгуры Кринке приведет к неподвижной точке), и будет ли по. лученное в результате множество состояний мменно шм, которое нам нужно (всели состояния, удовлетворяющие соопмтсгвующей формуле, войлуг в эш множество). ла 3.
кема- ЕРВ Ечйпсчйхйхвч . 8~ Еьийхй, йрй, ы ЕХ 8, нни- Ф р. Рис ЗВД. Постро ннс йав Ответы на зти вопросы, иными словами, теоретическое обоснование приме. пения неявных алгоритмов, которые состоят в повтормощемсн применении преобразований к множествам, дает теория неподвижной точки операторов на решетках преднмпов.
есть ано- бра- ния, пме цнй 10.6. Ойераторы на множествах и неподвижные точки ~ни 1ГО- мй. Пусть б — конечное мншкество, 2З вЂ” совокупность всех его подмншкеств. Под миоамстна кем еч ного маанества н диаграмма Хассе. Пусть Ьш(а, Ь, с, Н~. Обозначим 2 множество его подмножеств: 2 (З,(и~,(Ь), Ц,(И~,(а,Ь~,... (а,Ь,с,гг)), Множество 2 частично упорядочено, если считать, что опюшением частичного порядка к связаны два множества, находящиеся в отношении включення одного мншкества в лругое. Некоторые пари элементов мшхкества 2Я всех подмножеств 8 нвходят- гэммг зс зная~ те(2 Посз тора един либо рве.!6.7. Дямрняма Хассе полинсмесш миакеспм (а,Ь,с,г(» ' Онераторы ва мвежестваъ Оператор т на Я в Я вЂ” зто отображение т: 2х -ь 2, т. е.
оператор на Я вЂ” зто функция, которал переводит одно подмнвкестао мнакества Я в другов епз подмноласпю: т(г,)-гз ся в отношении я (например, (а) я(а Ь) ), другие — нет (например, (а Ь) и (а,с,г(~ несравнимы). Таким обршом, множество всея подмножеств любого мнолмства частично упорядочено по включению. Построим диаграмму Хассе — наглядное графичесшм предспшление комеч- ного частично упорядоченного множеспш. В диаграмме Хассе каждому элементу сопоставшмтся точка плоскости таким образом, что меньший элемент всегда изобряжаеюя ншке большего злементя Два элемента х и у в диаграмме Хассе соединены ребром тогда и только тогда, когда х я у и не существует такого элемента х, что х я х я у (т.
е. в диаграмме Хассе не отражена траюитнвность отношения частичного порядка). Димрамма Хассе множества 2 для Я (гь Ь, с, г(~ представлена на рнс. 10.7. ее гп ггле. кена ннс меч зле" мент диа- Что будет, если оператор т применить к множеепгу 8 несвиько раз2 Обо- значим т~(У) Ф-кратное применение оператора т к У грие. 10.8), причем те(г) =г, тг'(г)-т(тл(г)). т"(2) т(тб..т(Е))) й рпа Рпс. 18А Мисгчкратнае применение оаерпора к миоиестеу Поскольку множество Я конечно, многократное применение любого опера- тора к некоторому подмножеству Я либо будет приводить в резулюппе к единстаенному пределу — так называемой "лелодвнзсиой точке онеражора", либо к конечной циклически поаторжопыйгя последовательности множеств.
о 10.1 неподенмиап точка пг Неподвижной точкой оператора т на множестее Я назыааетсл такое подмнвкество л множества 8, которое не нзменаегса прн применении к нему оператора т: Е ~ 8 — неподвижнал точка оператора т, если т(Я) У, рлмм го Как уже было сказано, итеративные алгоритмы построения многкесгв состояний, в которых выполняхпся формулы ЕР, Е(Г, АС и др. строят именно неподвижные точки операторов на множестве состояний структуры Кринке, поскольку итерация в этих алгоритмах выполняется до тех пор, пока преобразование, применяемое к множеству состояний, перестанет изменять зто множество.
Изучение теории неподвижных точек операторов необходимо для понимания и обоснования правильности этих алгоритмов. Пусть дано конечное множество Я =(а, Ь. с, Н) и множество переходов й нв нем (рис. 10.9). Рассмотрим несколько примеров операторов на этом множестве. Приме тз(( У опер Прива тз (мз) ' множа Рвс 1Е.В. Пример мнонестВа о е онюшеинем перехоав Непал~ Пример 10.6 т, (Я = Д сг(а, Ь) П((а,И)) (а,й,гг) г,((а,Ь,с)) (а,Ь,с) (множество (а,Ь,с) — неподвижимг ючка). т,((а,Ь)) =(а,Ь) (неподвижная точка). т,(Я) =Я (иеподвижюм точка).' тг(И) (а,Ь); тг(т,(И)) т,з(И) (а,Ь) пРи Ь и! .
Таким обрмкзм, у оператора т, несколько неподвижных точек. Приве те( Расее и Из рассмотрения примеров 1О.б — 10.9 мекка сделать следующие амаоды: П у оператора молит быть несколько неподвюкных точек; О не всегда многократное повторное применение оператора к аргумеитан даст в результате неподавкную точку. Например, многократное применение т~ и тз к любому аргументу всегда даст какую-нибудь неподвижную точку, а многократное првкенение тз к некоторым аргументам (например, Я, (а,4г) и т. п.) приводит к циклу.