Научная статья на тему 'Некоторые эффективно разрешимые классы вычисления формул темпоральных и модальных логик'

Некоторые эффективно разрешимые классы вычисления формул темпоральных и модальных логик Текст научной статьи по специальности «Математика»

CC BY
112
52
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по математике, автор научной работы — Алифанов Дмитрий Владимирович

Представлены полиномиальные алгоритмы решения частных проблем выполнимости формул темпоральных и модальных логик с ограничением для Крипкеграфов. Использована игровая интерпретация выполнимости и результат Цермело о наличии равновесия в позиционных играх с полной информацией.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The article deals with polynomial algorithms private problems solutions of feasibility formulas of temporal and modal logics with limitation for Kripke structure. There used a game interpretation of feasibility and Zermelo's result about balance in position games with full information.

Текст научной работы на тему «Некоторые эффективно разрешимые классы вычисления формул темпоральных и модальных логик»

© Д.В. Алифанов, 2009

МАТЕМАТИКА

УДК 519.6

НЕКОТОРЫЕ ЭФФЕКТИВНО РАЗРЕШИМЫЕ КЛАССЫ

ВЫЧИСЛЕНИЯ ФОРМУЛ ТЕМПОРАЛЬНЫХ И МОДАЛЬНЫХ ЛОГИК

Д.В. Алифанов

Представлены полиномиальные алгоритмы решения частных проблем выполнимости формул темпоральных и модальных логик с ограничением для Крипке-графов. Использована игровая интерпретация выполнимости и результат Церме-ло о наличии равновесия в позиционных играх с полной информацией.

Введение

Правильность программы предполагает ее надежность. Традиционным методом обеспечения надежности является простое тестирование. Однако этот метод уже не удовлетворяет растущим потребностям практики. Использование формальной верификации — проверка моделей — в процессе разработки позволяет достигнуть качественно нового уровня в повышении надежности программного обеспечения вычислительных систем. Суть этого метода заключается в использовании темпоральных и модальных логик, которые оказываются достаточно выразительными средствами для построения модели системы и проверки ее наиболее важных свойств — справедливости, безопасности, конечности, живости и др., обеспечивающих корректность и надежность ее функционирования. Общая схема решения задачи верификации программ с использованием логик выглядит следующим образом. Анализируемая программа вместе с глобальными состояниями памяти представлена Крипке-графом. Сами же свойства системы описываются с помощью логических формул. Основная задача — определить значение формулы на заданном значении переменных (переменные соответствуют событиям вычислительного процесса).

Примером может служить следующая задача [9]. Имеется несколько компьютеров и только один принтер. Ни один компьютер не осведомлен о существовании других компьютеров. Как правильно организовать их взаимодействие, чтобы со всех компьютеров можно было пользоваться этим принтером?

Предполагается также, что у принтера есть единственный однобитовый регистр R, общедоступный для считывания и записи. Этот регистр может находиться в одном из двух состояний — busy (принтер занят) и free (принтер свободен).

Прежде чем писать программу (драйвер), обеспечивающую взаимодействие каждого компьютера с принтером, нужно сформулировать требования, предъявляемые к этой программе:

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

2) Всякий раз, после того как принтер оказался занят, он должен когда-нибудь приступить к печати.

3) Компьютер, завершивший печать, должен когда-нибудь освободить принтер.

4) Данные на печать всегда передаются не более чем с одного компьютера.

Для связи с принтером программист предложил снабдить каждый компьютер одной и той же программой:

L1: while R = free do wait;

L2: R = busy;

L3: output(X, printer);

L4: R = free.

Это простая и разумная программа. Но будет ли система компьютеров, снабженных этой программой, вести себя в соответствии с указанными требованиями?

Верификацию распределенных систем нужно автоматизировать. Это можно сделать, например, так:

• Выбрать логический язык L, на котором можно описывать требования, предъявляемые к программе. Представить эти требования в виде формул р1,ф2, ■■■,pn.

• Выбрать математическую модель M, адекватно представляющую все вычисления программы. Модель должна быть устроена так, чтобы каждое вычисление в модели M являлось интерпретацией языка L.

• Проверить выполнимость формул ^1, ^2, ■■■, ^n на всех вычислениях модели M. Для проверки выполнимости формул языка L на модели программы M должен быть разработан эффективный алгоритм.

При верификации распределенных систем, как правило, требуется проверить, что в каждом вычислении системы некоторые события (выполнение того или иного действия, прием/передача сообщений и пр.) происходят в определенной последовательности. Каждое событие можно охарактеризовать булевой переменной, которая принимает значение истины в том и только том случае, когда осуществляется событие. Таким образом, в логическом языке L не нужны предметные переменные, термы, кванторы. Однако осуществимость событий (значения булевых переменных) изменяется со временем. Значит, в логическом языке L должен быть явно учтен феномен времени. Следовательно, для описания требований, которые предъявляются к распределенной системе, достаточно воспользоваться языком пропозициональной темпоральной логики ветвящегося времени.

В [8] проверка выполнимости формул темпоральной логики ветвящегося времени на заданной модели была применена для формальной верификации параллельной программы Дейкстры разделения множеств. Два процесса осуществляют сортировку целочисленных множеств, обмениваясь элементами множеств по синхронным каналам связи. Предполагается, что по окончании совместного выполнения процессов в множестве S наименьшие числа, а в множестве T — наибольшие числа совокупности S U T. Показана

тотальная некорректность этой программы. А именно, найдены такие начальные значения множеств S и Т, при которых один из процессов завершает работу, а другой процесс при этом оказывается блокированным на операторе обмена сообщением по синхронному каналу.

В настоящей работе рассматривается проблема выполнимости формул темпоральных логик и ^-исчисления с ограничениями и предлагаются алгоритмы их решения. Некоторыми изменениями, используя результат [4], можно получить сведение: 1) решения выполнимости формулы темпоральной логики к решению циклической игры с однородными сильно связанными компонентами с максимальным критерием (максимальный платеж по циклу); 2) решения выполнимости формулы модальной логики к решению циклической игры с равномерным критерием (сумма максимального и минимального платежа по циклу). Построенные алгоритмы основаны на решении позиционных игр с полной информацией [5].

1. Основные понятия

1.1. Синтаксис и семантика темпоральной логики

Рассмотрим темпоральную логику линейного времени. Множество формул над заданным множеством переменных Х определено индуктивно [8; 9]. Синтаксис: каждая переменная и логические константы {0,1} — формулы. Если / и д — формулы, тогда выражения следующего вида: —/, /Ад, /Уд, / —>д, X/, Г/, С/, /ид, /Яд — также формулы темпоральной логики.

Семантика: конкретизируем значение формулы для V в момент времени 1 Оно определяется индуктивно по построению:

1) /Ад|« = 1 /к = 1 и «к = 1-

2) —/1„ = 1 ^ /1„ = 0.

Для формул вида /Уд, / —>д отношение выполнимости в темпоральной модели определяется точно также, как и в классической логике высказываний.

3)/ид|^ = 1 3т>£, д^ = 1, < т, /1^, = 1, / остается верной, пока не

станет верной д.

4)Х/|^ = 1 /|ш+1 = 1 в следующий момент будет верно /.

5)Г/|^ = 1 3т > £, /|^т = 1 когда-то в будущем будет верно /.

6)С/|^ = 1 Vт > г, /|^т = 1 всегда верно /.

7)/Яд|^ = 1 если 3т>г, д|^т = 0, то 3г<г' < т, /1^, = 1, д может перестать

быть верной только после того, как станет верной /.

Опишем темпоральную логику ветвящегося времени. Синтаксис включает в себя следующие наборы кванторов пути и темпоральных операторов:

• Кванторы пути.

1) V. Квантор всеобщности, указывающий на то, что данное свойство выполнено для всех путей.

2) 3. Квантор существования, указывающий на то, что данное свойство выполнено для некоторого пути.

• Темпоральные операторы —/, / Ад,/ Уд, / —>д, 9Х/, 9Г/, 9С/, /9ид, /9Яд,

здесь 9 — или 3, или V. Например: /3ид|^ = 1 3Р : v0 = V...., /ид|^ = 1 в

смысле логики линейного времени на пути Р.

Формула — это утверждение о том, в какой последовательности должны происходить события по ходу вычисления программ. Чтобы оценивать, в какой мере Крипке-система удовлетворяет заданному требованию (формуле), необходимо определить отношение выполнимости формулы темпоральной логики на данной вычислительной системе.

1.2. Синтаксис и семантика модальной логики

Синтаксис и семантика ^-исчисления [6]. Множество формул ^-исчисления над заданным множеством переменных X определено индуктивно. Каждая переменная — формула. Если / и д — формулы, тогда —/, / Ад,/ Уд, [Я]/, (Я)/ — также формулы ^-исчисления. Кроме того, если / — формула, в которой переменная х находится под четным числом отрицаний, тогда ^х(/) и ^х(/) — также формула. Основным моментом семантики ^-исчисления является утверждение Тарского о наличии неподвижной точки монотонного оператора, заданного на полной решетке [7].

Определение 1. Оценкой называется назначение каждой переменной определенного подмножества (включая 0 — пустое) вершин Крипке-графа (обозначается р); р(х) — назначение переменной х в оценке р.

Конкретизируем значение / на р (обозначается /|р или /(р)). Оно определяется индуктивно по построению формулы. Если формула / — переменная х, то

/^ = х|р = р(х) С £.

Пусть известны /1 |р, /2|р, /|р, тогда справедливы следующие результаты:

1) —/|р = £ \ / |р;

2) Л А /2|р = /1|р П /2|р;

3) Л у /2|р = /1|р и /2|р;

4) (Я)/|р = {з € £ : 3зз' € Я, з' € /|р}, то есть это множество состояний, из которых возможен переход в /|р;

5) [Я]/|р = {з € £ : Vss' € Я, з' € /|р}, то есть это множество состояний, из которых все переходы ведут в /|р.

Определение 2. Неподвижной точкой функции / : 2я х ■ ■ ■ х 2я —> 2я по переменной х на назначении р называется подмножество Н С £

/1рн = Н’ где рн(х) = Н, рн(У) = р(У) ^ = х-

Определение 3. Функция, сохраняющая отношение принадлежности между множествами вершин Крипке-графа, называется монотонной.

Определение 4. Пусть задана функция / : 2я х ■ ■ ■ х 2я —> 2я, тогда наименьшей неподвижной точкой функции / по переменной х на назначение р (обозначается ^х(/)|р) называется соответствующая неподвижная точка /, которая содержится в любой другой неподвижной точке функции / по переменой х на назначение р. Аналогично определяется наибольшая неподвижная точка функции / по переменой х на назначение р (обозначается ^х(/)|р).

Определение 5. Переменная х называется свободной в формуле /, если есть вхождение х в / вне области подформул вида 6х(/). Здесь 6 — или или V. В противном случае х называется ограниченной.

Область определения и значения формулы есть подмножества вершин Крипке-графа (£, Я), где Б — вершины, Я С Б х Б — ориентированные ребра. При этом считаем, что граф нетупиковый /(х1, ...,хп) : 2я х ■ ■ ■ х 2я —> 2я. В работе рассматривается случай, где /(х1,..., хп) — формула от переменных х1,..., хп, со следующей особенностью — путь

из операторов наибольшей и наименьшей неподвижной точки £ж($) в переменную, по которой они ограничены, не содержит операторов [Д]/ и (Д)/.

Задача найти /|р, где р — произвольная оценка переменных.

1.3. Сведение к циклическим играм

Циклические игры на графах — классическая постановка. Пусть О = (V; Е; с) будет ориентированный, двудольный граф с долями А и В, Е — множество ребер, с : Е ^ N — функция стоимости. Ориентированное ребро с началом в вершине V и концом в вершине ю обозначим (V, ю). Далее Е(Уі, У2) обозначает ребра с началами в вершинах

V и концами в вершинах У2; Е(У1) обозначает ребра с началами в вершинах У1; V(У1)

— множество концевых вершин ребер с началами в вершинах У1. Мы предполагаем беступиковость графа, то есть множество Е(V) не пусто для каждой вершины V графа.

Вершины А (В) называют вершинами первого (второго) игроков. Рассматривается следующая позиционная антагонистическая игра двух лиц. Имеется фишка, которая в начальный момент располагается в некоторой вершине Vo Є V. Игроки шаг за шагом передвигают фишку по ребрам графа по следующему правилу.

Если в текущий момент времени фишка находится в позиции V Є А (V Є В), тогда первый (второй) выбирает некоторое ребро ^,ю) Є Е(V) и передвигает ее в следующую вершину ю. Как только игра попадает в вершину, в которой была ранее, игра завершается. Пусть с(С) (где С — полученный цикл) будет стоимость цикла в

О. Тогда в разыгранной партии платеж второго первому есть величина с(С). Таким образом, первый максимизирует с(С), а второй минимизирует это значение. Определение 6. Стационарной стратегией для второго игрока в графе Е, с) бу-

дем называть функцию а : В ^ V такую, что VV Є В ^,а^)) Є Е. В этом случае, когда фишка попадает в вершину V Є В, второй игрок передвигает ее вдоль одного и того же ребра ^,а^)). Стационарная стратегия для первого игрока определяется аналогичным образом.

Определение 7. (О = V; Е) — ориентированный граф. Разобьем множество его вершин

V на такие классы эквивалентности V, 1 < і < г, что узлы V и и эквивалентны тогда и только тогда, когда на графе есть пути из V в и и обратно. Графы О* = (V*, Е*) называются сильно связными компонентами.

Определение 8. Тупиковой сильно связной компонентой называется компонента, в вершинах которой нет переходов, ведущих за пределы данной компоненты.

Некоторыми изменениями, используя результат [4], можно получить сведение:

1) решения выполнимости формулы темпоральной логики к решению циклической игры с однородными (веса всех вершин одной компоненты либо все равны 0, либо все равны 1) сильно связанными компонентами с максимальным критерием (максимальный платеж по циклу), в [3] показано наличие равновесия в стационарных стратегиях для более общей постановки игровой задачи (игры с запретами) и представлен полиномиальный алгоритм их решения;

2) решения выполнимости формулы модальной логики к решению циклической игры с равномерным критерием (сумма максимального и минимального платежа по циклу). Циклические игры с таким платежным функционалом изучались в работе [2]. Там же показано наличие стационарного равновесия в таких играх и принадлежность задачи к классу ^Р П со — ^Р (полиномиальный алгоритм решения таких задач не известен).

2. Игровые методы решения задачи выполнимости формул

темпоральной логики

Рассмотрим случай циклических игр, когда платежный функционал равен:

с(С) = тах с(е).

ебС

В данной статье мы даем линейный алгоритм поиска оптимальных стационарных стратегий в циклической игре на максимум, со следующими особенностями: 1) функция стоимости с : V ^ {0; 1} задана на вершинах, 2) сильно связные компоненты графа однородные (вершины компоненты либо целиком веса 0, либо веса 1).

В работе [1] представлен алгоритм нахождения сильно связных компонент ориентированного графа. Легко видеть, что структура графа имеет древесный вид, где компоненты связности можно рассматривать как единое целое.

Неформальное описание алгоритма следующее: алгоритм основывается на построении шлейфа. Построение производится от листьев к корню дерева. На первом шаге рассматриваем листья. На них игра решена, если листом является тупиковая компонента связности, то цена игры равна весу вершин данной компоненты. К первому слою шлейфа отнесем все компоненты, выигрышные для первого игрока (максимизирующего). Ко второму слою отнесем белые вершины, из которых существует ребро в уже построенный шлейф, и вершины второго игрока, у которых все ребра ведут туда же. Таким образом, первый игрок, играя по этому выбранному ребру, при любой игре второго, так как все его ребра ведут в шлейф, добивается выигрыша в шлейфе. Тем самым мы производим прореживание компонент. Если новые вершины с помощью максиминной процедуры отнести в шлейф нельзя, помечаем еще не помеченные тупиковые компоненты в дереве и повторяем максиминную процедуру. Аналогично для второго (минимизирующего) игрока. Построение шлейфа для обоих игроков ведется одновременно.

Формальное описание рекурсивного шага: на первом шаге множества вершин V) и Ш0 пусты. На к-й итерации будет в наличии два множества V; и и две стационарные стратегии и (ак — позволяет выиграть первому в графе С(Ук) и — позволяет выиграть второму в графе С(Ш;)). Тогда Ук+1 = V, и V, где V — множество вершин первого игрока, у которых существует переход в V; и множество вершин второго, у которых все ребра ведут в . И Ш;+1 = и Ш, где Ш — множество вершин второго,

у которых существует переход в и множество вершин первого, у которых все ребра ведут в . Для новых вершин первого V рассмотрим любое ребро, ведущее в V;, так доопределенную стационарную стратегию первого игрока в графе С^^) обозначим ак+1. Аналогично для вк+1 в С(Ш;+1).

Если множества V и Ш пусты, то рассмотрим оставшиеся тупиковые компоненты сильной связанности. Они обязательно есть в силу того, что структура графа имеет древесный вид, где компоненты связности рассматриваются как единое целое. Пусть Н

— еще не помеченная тупиковая компонента связности с весом 1 на вершинах. Тогда ^+1 = V; и Н. Для каждой вершины первого игрока из Н рассмотрим любое ребро, ведущее в эту же компоненту, и доопределим им его стратегию ак+1. Аналогично для второго игрока в тупиковых компонентах веса 0. Переходим к новой итерации.

В результате такой процедуры все вершины графа будут помечены.

Утверждение 1. Пусть V; и — вершины, помеченные на к-й итерации, и —

стационарные стратегии первого и второго игроков на к-й итерации. Тогда должны быть выполнены условия:

1) В графе (Vk; ak U E(Bk, Vk)), где Bk = Vk П B, все циклы веса 1.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

В графе (Wk; ek U E(Ak, Wk)), где Ak = Wk П A, все циклы веса 0.

2) E(Bk, Vk) = 0, где Vk = V — Vk;

E(Ak, Wk) = 0, где Wk = V — Wk.

Доказательство. Индукция по номеру итерации: пусть утверждение выполнено для k-й итерации. Возможны два случая. Первый: V не пусто. Рассмотрим любую вершину v Є V на k +1 итерации. Если v Є A, то существует переход в множество Vk, если v Є B, то все переходы ведут в Vk. Поэтому все циклы в графе (Vk+l; ak+l UE(Bk+l, Vk+l)) будут целиком содержаться в графе (Vk; ak U E(Bk, Vk)), которые по предположению индукции равны l. У первого игрока есть возможность оставаться в выигрышном для него множестве Vk, а у второго нет возможности его покинуть в силу условия 2). Аналогично для v Є W.

Во втором случае V пусто. Рассмотрим тупиковую компоненту H с единичным

весом на вершинах. Тогда Vk+l = Vk U H и ak+l = ak U p, где p : ((v,w) : Vv Є

H U A, w Є H). Все ребра вершин второго игрока в G(H) ведут либо в H, либо в Vk в силу определения тупиковых компонент, а из Vk в Vk (и поэтому в Н) нет переходов по условию 2). Поэтому все циклы в графе (Vk+l; ak+l U E(Bk+l, Vk+l)) будут целиком содержаться либо в (H; p U E(H П B; H), либо в графе (Vk; ak U E(Bk, Vk)), которые, соответственно, из-за однородности сильно связной компоненты H и по предположению индукции равны l. Условие l) доказано.

Докажем условие 2). Пусть утверждение выполнено для k-й итерации. Рассмотрим любую вершину v Є Bk+l на k + 1 итерации, тогда, если V не пусто, все переходы из нее ведут в Vk по построению, а следовательно E(v, Vk+l) = 0. Если V пусто, рассмотрим тупиковую компоненту H с единичным весом на вершинах и любую вершину v Є H П B. Тогда все ребра вершины v второго игрока в G(H) ведут либо в H, либо в Vk в силу определения тупиковых компонент. Аналогично для Vv Є Ak+l. Условие 2) доказано.

Сложность алгоритма нахождения сильно связных компонент графа линейная [l], а всего алгоритма — полиномиальная O(po/\E\).

3. Игровые методы решения задачи выполнимости некоторого класса формул модальной логики

В [4] показано, что задача выполнимости s Є f(p) для любых s Є S и оценки p полиномиально эквивалентна некоторой игре с полной информацией на ориентированном графе.

Рассмотрим случай циклических игр, когда платежный функционал равен:

c(C) = max c(e) + min c(e)

еЄС еЄС

На формулу f накладывается ограничение, что путь из операторов наибольшей и наименьшей неподвижной точки £x(g) в переменную, по которой они ограничены, не содержит операторов [R]f и (R)f.

Позициями игры служат всевозможные пары s, ^; s Є S — состояние Крипке-системы, ^ — подформула, s, f — начальные позиции, которые будут изменяться согласно установленным правилам. Позиции разбиваются на два подмножества. Для первого игрока V1 — это всевозможные пары s, ^, где ^ — определяется на основе следующих

альтернативных представлений: /У д, (Я)/, 6х(^),х. Позиции второго игрока ^ — это пары з, ^, где ^ — либо / А д, либо [Я]/.

Правила перехода в очередную позицию следующие:

1) з, ^1 У ^2 —> з, ^1 или з, ^2; з, 6(^) —> з, ^; з, х —> з, х; з, х — свободная —>

з, х; з, х — ограниченная —> з, 6х(^); з, (Я)^ —> з', ^(з' : (зз') € Я);

2) з, ^1 А ^2 —> з, ^1 либо з, ^2; з, [Я]^ —> з', ^(з' : (зз') € Я).

Таким образом, игра проходит по вершинам графа формулы с изменением состояния Крипке-графа только в вершинах [Я]^ (Я)^, согласно отношению Я. Игра проходит до первого цикла, то есть как только некоторая позиция з, ^ повторяется, партия завершается.

Первый игрок побеждает в такой партии, когда повторяются позиции (з, х) при з ^ р(х) или (з,х) при з € р(х) (х — свободная переменная /); либо повторяется позиция з^х(^) [4]. В остальных случаях выигрывает второй игрок.

Дерево формулы Г получается из графа формулы удалением ребер (создающих циклы) х, 6х().

Утверждение 2. Если в игре з, Г, р выигрывает первый игрок, то и в игре з, /, р выигрывает он же, и наоборот.

Доказательство. Игра проходит по вершинам дерева формулы Г, переходы осуществляются по ребрам графа, изменение состояний Крипке-системы происходит в вершинах [Я]^ (Я)^, согласно отношению Я.

Сведение исходной игры к игре на дереве Г корректно, так как для ограниченной переменной в следующий момент времени игра завершается в силу ограничения, накладываемого на формулу / (путь из операторов наибольшей и наименьшей неподвижной точки 6х(д) в переменную, по которой они ограничены, не содержит операторов [Я]/ и (Я)/). Таким образом, на всем пути из операторов наибольшей и наименьшей неподвижной точки в переменную, по которой они ограничены, состояние Крипке-системы остается неизменным, и в следующий момент времени повторится позиция (з,6х(^)) и игра закончится.

Все конечные вершины дерева Г разобьем на два множества Ь1 и Ь2, где Ь1 — все свободные вершины х : з ^ р(х),х : з € р(х) и все V — ограниченные вершины х; Ь2 — все остальные вершины (свободные х : з € р(х),х : з ^ р(х) и все ^ — ограниченные вершины х). Назовем вершины Ь1 — выигрышными для первого игрока, а Ь2 — для второго игрока. Если заключительная вершина принадлежит Ь1, то выиграл первый игрок, если Ь2 — второй. Заметим, что для вершин множества Ь1 и Ь2 игра решена для любого состояния Крипке-системы.

Если в игре з, Г, р выигрывает первый участник, то применяя максиминный алгоритм меток снизу вверх, можно получить стационарную стратегию £1 первого игрока, которая позволяет ему достигнуть выигрышного для него множества Ь1, независимо от игры противника (это следует из теоремы Цермело [5]).

И наоборот, если в игре з, Г, р выигрывает второй игрок, то он имеет стационарную стратегию £2, которая позволяет ему форсировать переход в позицию Ь2.

Сложность алгоритма меток 0(|Г||Е|), где |Г| — число вершин в дереве Г, |Е| — число ребер в Крипке-графе.

Список литературы

1. Ахо, А. Построение и анализ вычислительных алгоритмов / А. Ахо, Дж. Хопкрофт, Дж. Ульман. — М. : Мир, 1979. — С. 216-223.

2. Лебедев, В. Н. Поиск и структура стационарных равновесий в циклических играх /

B. Н. Лебедев // Мат. заметки. — 2000. — Т. 67. — № 6. — С. 913-921.

3. Karzanov, A. V. Cyclical games with prohibitions / A. V. Karzanov, V. N. Lebedev

// Mathematical Programming. — 1993. — V. 60. — P. 277-293.

4. Emerson, E. A. On model-checking for fragments of ^-calculus. / E. A. Emerson,

C. S. Jutla, A. P. Sistla // Computer Aided Verification, Proc. 5lh Int. Workshop. — V. 697. — P. 385-396. Elounda, Crete, June 1993. Lecture Notes in Computer Science, Springer-Verlag.

5. Zermelo, E. Uber eine Anwendung der Mengenlehre auf die Theorie des Schachspiels / E. Zermelo // Proc. 5th Congr. Mathematicians. — Cambridge Univ. Press., 1912. — P. 501-504.

6. Лебедев, В. Н., Игровые аспекты верификации программ / В. Н. Лебедев, М. С. Чер-ничкин // Известия РАН. Теория и системы управления. — 2005. — № 5. — C. 4045.

7. Биркгоф, Г. Теория решеток / Г. Биркгоф. — М. : Наука, 1984. — 568 с.

8. Захаров, В. А. Эффективные алгоритмы проверки выполнимости формул темпо-

ральной логики CTL и их применение для верификации параллельных программ / В. А. Захаров, Д. В. Царьков // Программирование. — 1998. — № 4. — С. 3-18.

9. Захаров, В. А. Математическая логика и логическое программирование / В. А. Захаров. — Режим доступа: http://mathcyb.cs.msu.su/courses/logprog.html.

Summary

SOME EFFICIENTLY SOLVABLE CLASS CALCULUS FORMULAS OF TEMPORAL AND MODAL LOGICS

D.V. Alifanov

The article deals with polynomial algorithms private problems solutions of feasibility formulas of temporal and modal logics with limitation for Kripke structure. There used a game interpretation of feasibility and Zermelo’s result about balance in position games with full information.

i Надоели баннеры? Вы всегда можете отключить рекламу.