
- •Введение
- •Предмет теории процессов
- •Верификация процессов
- •Спецификация процессов
- •Понятие процесса
- •Представление поведения динамических систем в виде процессов
- •Неформальное понятие процесса и примеры процессов
- •Неформальное понятие процесса
- •Пример процесса
- •Другой пример процесса
- •Действия
- •Определение понятия процесса
- •Понятие трассы
- •Достижимые и недостижимые состояния
- •Замена состояний
- •Операции на процессах
- •Префиксное действие
- •Пустой процесс
- •Альтернативная композиция
- •Параллельная композиция
- •Ограничение
- •Переименование
- •Свойства операций на процессах
- •Эквивалентность процессов
- •Понятие эквивалентности процессов и связанные с ним задачи
- •Трассовая эквивалентность процессов
- •Сильная эквивалентность
- •Критерии сильной эквивалентности
- •Логический критерий сильной эквивалентности
- •Критерий сильной эквивалентности, основанный на понятии бимоделирования
- •Алгебраические свойства сильной эквивалентности
- •Распознавание сильной эквивалентности
- •Полиномиальный алгоритм распознавания сильной эквивалентности
- •Минимизация процессов
- •Минимальные процессы относительно
- •Алгоритм минимизации процессов
- •Наблюдаемая эквивалентность
- •Определение наблюдаемой эквивалентности
- •Логический критерий наблюдаемой эквивалентности
- •Критерий наблюдаемой эквивалентности, основанный на понятии наблюдаемого БМ
- •Алгебраические свойства наблюдаемой эквивалентности
- •Другие критерии эквивалентности процессов
- •Наблюдаемая конгруэнция
- •Мотивировка понятия наблюдаемой конгруэнции
- •Определение понятия наблюдаемой конгруэнции
- •Логический критерий наблюдаемой конгруэнтности
- •Критерий наблюдаемой конгруэнтности, основанный на понятии НБМ
- •Алгебраические свойства наблюдаемой конгруэнции
- •Распознавание наблюдаемой конгруэнтности
- •Минимизация процессов относительно наблюдаемой конгруэнции
- •Рекурсивные определения процессов
- •Процессные выражения
- •Понятие рекурсивного определения процессов
- •Вложение процессов
- •Предел последовательности вложенных процессов
- •Процессы, определяемые процессными выражениями
- •Эквивалентность РО
- •Доказательство эквивалентности процессов при помощи РО
- •Проблемы, связанные с понятием РО
- •Примеры доказательства свойств процессов
- •Потоковые графы
- •Мастерская
- •Неконфликтное использование ресурса
- •Планировщик
- •Семафор
- •Процессы с передачей сообщений
- •Действия с передачей сообщений
- •Вспомогательные понятия
- •Типы, переменные, значения и константы
- •Функциональные символы
- •Выражения
- •Понятие процесса с передачей сообщений
- •Множество переменных процесса
- •Начальное условие
- •Операторы
- •Определение процесса
- •Функционирование процесса
- •Пример процесса с передачей сообщений
- •Понятие буфера
- •Представление поведения буфера в виде процесса
- •Операции на процессах с передачей сообщений
- •Префиксное действие
- •Альтернативная композиция
- •Параллельная композиция
- •Ограничение
- •Переименование
- •Эквивалентность процессов
- •Понятие конкретизации процесса
- •Понятие эквивалентности процессов
- •Процессы с составными операторами
- •Мотивировка понятия процесса с составными операторами
- •Понятие составного оператора
- •Понятие процесса с СО
- •Функционирование процесса с СО
- •Операции на процессах с СО
- •Преобразование процессов с передачей сообщений в процессы с СО
- •Конкатенация СО
- •Редукция процессов с СО
- •Пример редукции
- •Понятие конкретизации процесса с СО
- •Отношения эквивалентности на процессах с СО
- •Метод доказательства наблюдаемой эквивалентности процессов с СО
- •Пример доказательства наблюдаемой эквивалентности процессов с СО
- •Дополнительные замечания
- •Другой пример доказательства наблюдаемой эквивалентности процессов с СО
- •Рекурсивные определения процессов
- •Примеры процессов с передачей сообщений
- •Разделение множеств
- •Задача разделения множеств
- •Распределённый алгоритм решения задачи разделения множеств
- •Процессы Small и Large
- •Анализ алгоритма разделения множеств
- •Вычисление квадрата
- •Сети Петри
- •Протоколы передачи данных в компьютерных сетях
- •Понятие протокола
- •Методы исправления искажений в кадрах
- •Методы обнаружения искажений в кадрах
- •Пример протокола
- •Протокол с чередующимися битами
- •Двунаправленная передача
- •Дуплексный протокол с чередующимися битами
- •Двунаправленная конвейерная передача
- •Протокол скользящего окна с возвратом
- •Протокол скользящего окна с выборочным повтором
- •Криптографические протоколы
- •Понятие криптографического протокола
- •Шифрование сообщений
- •Формальное описание КП
- •Примеры КП
- •Представление структур данных в виде процессов
- •Понятие структуры данных
- •Семантика языка параллельного программирования
- •Описание языка параллельного программирования
- •Конструкции языка L
- •Программы на языке L
- •Семантика языка L
- •Семантика выражений
- •Семантика деклараций
- •Семантика операторов
- •Исторический обзор и современное состояние дел
- •Робин Милнер
- •Исчисление взаимодействующих систем (CCS)
- •Теория взаимодействующих последовательных процессов (CSP)
- •Алгебра взаимодействующих процессов (ACP)
- •Процессные алгебры
- •Мобильные процессы
- •Гибридные системы
- •Другие математические теории и программные средства, связанные с моделированием процессов
- •Бизнес-процессы
4.7.3Алгоритм минимизации процессов
Описанный в параграфе 4.6.2 алгоритм можно использовать также для решения задачи минимизации конечных процессов, которая заключается в том, чтобы по заданному конечному процессу P построить процесс с наименьшим числом состояний, который сильно эквивалентен P .
Для построения такого процесса сначала строится процесс P 0, получаемый из P удалением недостижимых состояний. Искомый процесс имеет вид P 0 .
Множество состояний процесса P 0 может быть построено, например, следующим образом. Пусть P имеет вид
P = (S, s0, R)
Рассмотрим последовательность подмножеств множества S
S0 S1 S2 . . . |
(4.44) |
определяемую следующим образом.
• |
def |
{s0} |
S0 = |
• для каждого i ≥ 0 множество Si+1 получается добавлением
к Si всех состояний s0 S, таких, что |
|
|
|
||||||
s |
S, a |
|
Act : ( s a |
- s0 |
) |
|
R |
||
|
|
|
|
|
|
|
|
|
|
Поскольку множество S по предположению конечно, то последовательность (4.44) не может неограниченно возрастать. Пусть Si
– тот член последовательности (4.44), на котором эта последовательность стабилизируется. Очевидно, что
•все состояния из Si достижимы, и
•все состояния из S \ Si недостижимы.
Поэтому множеством состояний процесса P 0 является множество
Si.
Пусть S0 - множество состояний процесса P 0. Заметим, что при вычислении отношения µ(P 0, P 0) требуется вычислить не более чем |S0| членов последовательности (4.33). Это верно потому,
94
что в данном случае каждое из отношений в последовательности (4.33) является эквивалентностью (так как если бинарное отношение µ на множестве состояний произвольного процесса является эквивалентностью, то отношение µ0 тоже будет эквивалентностью). Поэтому каждый из членов последовательности (4.33) определяет некоторое разбиение множества S0, и для каждого i ≥ 1, если µi+1 6= µi, то разбиение, соответствующее отношению µi+1, является измельчением разбиения, соответствующего отношению µi. Нетрудно показать, что таких измельчений может быть не больше, чем количество элементов в множестве S0.
Теорема 12.
Процесс P 0 имеет наименьшее число состояний среди всех конечных процессов, которые сильно эквивалентны P .
Доказательство.
Пусть P1 – некоторый конечный процесс, такой, что P1 P . Выделим из P1 достижимую часть P10 и построим процесс (P10) . Как было установлено выше,
P1 P10 (P10)
Кроме того, поскольку P P 0 P 0 и P P1, то, следовательно,
P 0 (P10) |
(4.45) |
Как было доказано в теореме 11, процессы P 0 и (P10) минимальны. Отсюда и из (4.45) по теореме 10 следует, что процессы P 0 и (P10) изоморфны. В частности, они имеют одинаковое число состояний. Поскольку
•число состояний процесса (P10) не превосходит числа состояний процесса P10, так как состояния процесса (P10) являются классами разбиения множества состояний процесса P10, и
•число состояний процесса P10 не превосходит числа состояний процесса P1, так как множество состояний процесса P10 является подмножеством множества состояний процесса P1,
95