Моноид истории
В математике и информатике — моноид истории это способ представления истории одновременно выполняемых компьютерных процессов в виде набора строк , каждая строка представляет индивидуальную историю процесса. истории Моноид предоставляет набор примитивов синхронизации (таких как блокировки , мьютексы или объединения потоков ) для обеспечения точек встречи между набором независимо выполняющихся процессов или потоков .
Моноиды истории встречаются в теории параллельных вычислений и обеспечивают низкоуровневую математическую основу для исчислений процессов , таких как CSP (язык взаимодействия последовательных процессов ) или CCS (исчисление взаимодействующих систем) . Моноиды истории были впервые представлены М.В. Шилдсом. [1]
Моноиды истории изоморфны ( моноидам трассировки свободным частично коммутативным моноидам) и моноиду зависимостей графов . По существу, они являются свободными объектами и универсальны . Моноид истории — это тип полуабелева категориального произведения в категории моноидов.
и проекция Моноиды продукта
Позволять
обозначают n -кортеж (не обязательно попарно непересекающихся) алфавитов . Позволять обозначаем все возможные комбинации одной строки конечной длины из каждого алфавита:
(Выражаясь более формальным языком, является произведением свободных моноидов декартовым . Звезда надстрочного индекса — это звезда Клини .) Состав в моноиде произведения покомпонентный, так что для
и
затем
для всех в . Определите алфавит объединения как
(Объединение здесь — это объединение множеств , а не непересекающееся объединение .) Учитывая любую строку , мы можем выбрать только буквы в некоторых используя соответствующую проекцию струны . Распределение это отображение, которое действует на со всеми , разделив его на компоненты в каждом свободном моноиде:
Истории [ править ]
Для каждого , кортеж называется историей элементарной . Он служит индикаторной функцией включения буквы а в алфавит. . То есть,
где
Здесь, обозначает пустую строку . истории Моноид является субмоноидом моноида произведения порожденные элементарными историями: (где надстрочная звезда — это звезда Клини, примененная с покомпонентным определением состава, как указано выше). Элементы называются глобальными историями , а проекции глобальной истории называются индивидуальными историями .
Связь с информатикой [ править ]
Использование слова «история» в этом контексте и его связь с параллельными вычислениями можно понимать следующим образом. Индивидуальная история — это запись последовательности состояний процесса (или потока , или машины ); алфавит представляет собой совокупность состояний процесса.
Буква, встречающаяся в двух или более алфавитах, служит примитивом синхронизации между различными отдельными историями. То есть, если такое письмо встречается в одной отдельной истории, оно должно произойти и в другой истории и служит для «связывания» или «свидания» их вместе.
Рассмотрим, например, и . Союзный алфавит, конечно, . Элементарные истории – это , , , и . В этом примере отдельная история первого процесса может быть в то время как индивидуальная история второй машины может быть . Обе эти отдельные истории представлены глобальной историей. , поскольку проекция этой строки на отдельные алфавиты дает отдельные истории. В мировой истории буквы и можно считать коммутацией с буквами и , в том смысле, что их можно переставлять без изменения индивидуальных историй. Такая коммутация — это просто утверждение, что первый и второй процессы выполняются одновременно и неупорядочены друг относительно друга; они (пока) не обменивались сообщениями и не выполняли синхронизацию.
Письмо служит примитивом синхронизации, поскольку его появление отмечает место как в глобальной, так и в индивидуальной истории, через которое невозможно переключиться. Таким образом, хотя буквы и можно перезаказать в прошлом и , их нельзя изменить в прошлом . Таким образом, мировая история и мировая история оба имеют индивидуальную историю и , что указывает на то, что выполнение может произойти до или после . Однако письмо синхронизируется, так что гарантированно произойдет после , Несмотря на то находится в другом процессе, чем .
Свойства [ править ]
Моноид истории изоморфен моноиду следа и, как таковой, является типом полуабелева категориального произведения в категории моноидов. В частности, моноид истории изоморфен моноиду следа с отношением зависимости, заданным
Проще говоря, это всего лишь формальное изложение неформального обсуждения, приведенного выше: буквы алфавита можно коммутативно переупорядочить буквы алфавита , если только это не буквы, встречающиеся в обоих алфавитах. Таким образом, следы – это именно глобальные истории, и наоборот.
И наоборот, для любого моноида следа , можно построить изоморфный моноид истории, взяв последовательность алфавитов где колеблется по всем парам в .
Примечания [ править ]
- ^ М.В. Шилдс «Параллельные машины», Computer Journal , (1985) 28 стр. 449–465.
Ссылки [ править ]
- Антони Мазуркевич, «Введение в теорию следов», стр. 3–41, в «Книге следов» , В. Дикерт, Г. Розенберг, ред. (1995) World Scientific, Сингапур ISBN 981-02-2058-8
- Фолькер Дикерт, Ив Метивье, « Частичная коммутация и следы », Г. Розенберг и А. Саломаа , редакторы, Справочник по формальным языкам , Vol. 3 , За гранью слов, страницы 457–534. Шпрингер-Верлаг, Берлин, 1997 г.