Естественные модели параллельных вычислений Лекция 4 :: Марковские системы Ершов Н.М. [email protected]Проект комиссии Президента РФ по модернизации и техническому развитию экономики России Создание системы подготовки высококвалифицированных кадров в области суперкомпьютерных технологий и специализированного программного обеспечения Ершов Н.М. (ВМК МГУ) Лекция 4 :: Марковские системы ЕМПВ :: 2011 1 / 48
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Марковские системы (кратко M-системы) являютсяразновидностью строковых перезаписывающих систем, работакоторых основана на использовании строковых подстановок.Как и все рассмотренные выше модели, марковские системыхарактеризуются высокой степенью встроенного параллелизма.Свое название эта модель получила в силу большой ее схожести салгоритмической моделью Маркова.Принципиальным отличием M-систем от других подобныхмоделей является их стохастичность — применение подстановокопределяется вероятностным образом.
Особенностью марковских систем по сравнению с другимистроковыми перезаписывающимим системами является способприменения подстановок.Текущая цепочка символов на каждом шаге эволюции случайнымобразом разрезается на подцепочки и все такие подцепочкиодновременно заменяются на новые согласно заданному наборуподстановок.Как и в стохастических системах Линденмайера, наборподстановок может содержать более одной подстановки содинаковой левой частью — выбор нужной осуществляетсявероятностным образом.
Назовем подстановкой тройку σ = (α, β, p), в которой α и β —цепочки в некотором алфавите, цепочка α называется левойчастью подстановки, цепочка β — ее правой частью; p —действительное число из интервала (0, 1], называемоевероятностью применения подстановки.Для подстановки σ будем использовать обозначение
σ : αp−→ β или σ : α→ β, если p = 1.
Назовем M–системой набор подстановок
Σ = {σi , i ∈ [1 . . .N]},
для которого выполняется следующее свойство: суммарнаявероятность всех подстановок, имеющих одинаковую правуючасть, не превышает единицы.
Алгоритм состоит из трех шагов:I Разбиение цепочки случайным образом на подцепочки: для
каждого символа цепочки, кроме последнего, с некоторойзаданной вероятностью ω решается вопрос — присоединяется лиэтот символ к следующему символу цепочки или нет.
I Каждая подцепочка α, полученная на первом шаге, заменяется нановую с помощью заданной системы подстановок. Для этоговыбираются все подстановки, левая часть которых совпадает с α.Из них выбирается одна с вероятностью равной вероятности этойподстановки.
I Все новые подцепочки соединяются вместе и образуютрезультирующую цепочку.
Моделирование с помощью марковской системы заключается ввыборе начальной цепочки и последовательном применении к нейописанного алгоритма.
Применение этой системы к цепочкесимволов an (символ a повторенный nраз) приводит к постепенной заменевсех символов a исходной цепочки на«пустые» символы λ. Так каквероятность такой замены все времясохраняется постоянной, токонцентрация символов a (ихколичество, отнесенное к длине n всейцепочки) будет убывать поэкспоненциальному закону. → λ; → a.
Применение этой системы к цепочкесимволов an (символ a повторенный nраз) приводит к постепенной заменевсех символов a исходной цепочки на«пустые» символы λ. Так каквероятность такой замены все времясохраняется постоянной, токонцентрация символов a (ихколичество, отнесенное к длине n всейцепочки) будет убывать поэкспоненциальному закону.
Под действием данной системыкаждый одиночный символ aсовершает случайные блуждания позаданной цепочке. Если в начальнойцепочке символы a образуютнепрерывный кластер, то результатомприменения данной системы будетпостепенное размытие этого кластера(при том, что количество символов aбудет сохраняться постоянным).
Непустые символы — частицы, вотсутствие помех движущиеся (r1 иr2) с постоянной скоростью вправо (u)или влево (v). При столкновениичастицы обмениваются скоростями(r3). Цепочка ограничена справа ислева символами x — стенками, откоторых упруго отражаются частицы(r4 и r5).
Объекты (например, бактерии)представляются символами a.Каждый объект совершает случайныеперемещения с вероятностью p поцепочке (r1 и r2). С вероятностью qэти объекты создают свои копии, т.е.делятся на два объекта (r3 и r4), еслирядом с ними есть свободное место. → λ; → a.
Объекты (например, бактерии)представляются символами a.Каждый объект совершает случайныеперемещения с вероятностью p поцепочке (r1 и r2). С вероятностью qэти объекты создают свои копии, т.е.делятся на два объекта (r3 и r4), еслирядом с ними есть свободное место.
Зависимость концентрациисимволов a от времени
«+» – сигмоидальный рост (p > q),«×» – линейный рост (p < q).
M-системы, несмотря на их принципиальную стохастичность,могут демонстрировать весьма широкий спектр типов поведения— от недетерминированного (неупорядоченного), додетерминированного (упорядоченного).Последнее оказывается возможным благодаря алгоритмическойуниверсальности данной модели.Более того, использование в M-системах специальныхсимволов–разделителей (мембран) позволяет совместить в однойM-системе сразу несколько типов различных поведений.
Рассмотрим M-систему, которая содержит перемешивающуюподсистему подстановок вида
aiajθ−→ ajai ,
меняющих с вероятностью θ местами любые два соседнихсимвола цепочки, при этом вероятности всех остальныхподстановок системы много меньше θ.Поведение такой системы, которое мы будем называтьнеупорядоченным, определяется концентрациями символов, т.к.расположение отдельных символов в цепочке становится неважным и вся цепочка может рассматриваться в этом случае каксимвольное мультимножество.
В том случае, если в системе имеется несколько подстановок, топри составлении кинетических уравнений надо учитывать вкладкаждой из подстановок, просуммировав в правой частидифференциального уравнения соответствующие произведенияконцентраций.В качестве примера такой системы рассмотрим простую модельтипа «хищник–жертва», в которой жертвы представленысимволами x , хищники — символами y (перемешивающаяподсистема для краткости опущена):
С учетом того, что сумма концентраций всех трех символовравна 1, можно сразу положить, что λ = 1− x − y .Тогда система кинетических уравнений для данной модели будетвыглядеть следующим образом{
Если понизить вероятностьперемешенивания θ, то системастанет чувствительна кпространственному расположениюотдельных символов. Болееподходящим средством непрерывногоописания таких систем являютсяуравнения в частных производных. → λ; → x ; → y .
Для того, чтобы показать алгоритимическую полноту M-систем,рассмотрим каким образом машина Тьюринга может бытьсведена к соответствующей ей марковской системе.Пусть МТ задана стандартным образом в виде набора
{AT ,QT , q1, q0,PT},
где AT — внешний алфавит (алфавит символов ленты МТ),который содержит «пустой» символ Λ; QT — внутреннийалфавит, то есть множество состояний; q1, q0 ∈ QT — начальноеи конечное состояния; PT : AT × (QT\{q0})→ AT × QT ×M —программа для МТ, здесь M = {R, L,H} есть множестводвижений МТ (вправо, влево и на месте).Примем, что в начальный момент времени все ячейки ленты, заисключением конечного их числа, являются пустыми (λ), и приэтом автомат МТ указывает на первую непустую ячейку ленты.
Алфавит A марковской системы, моделирующей заданную МТ,есть объединение внутреннего и внешнего алфавитов МТ идополнительного граничного символа β: A = AT ∪ QT ∪ {β}.Система подстановок M-системы Σ строится по следующемуалгоритму.
I Для каждой команды МТ вида ai , qj → ak ,H, ql в Σ добавляетсяподстановка qjai → qlak .
I Для каждой команды МТ вида ai , qj → ak ,R, ql в Σ добавляетсяподстановка qjai → akql .
I Для каждой команды МТ вида ai , qj → ak ,R, ql и для каждогосимвола as ∈ AT в Σ добавляется подстановка asqjai → qlasak .
I Для каждого состояния qj ∈ QT , за исключением конечного, в Σдобавляются подстановки qjβ → qjΛβ и βqj → βΛqj .
Начальная цепочка X 0 = βq1Sβ, где S — последовательностьсимволов в непустой части ленты МТ.
Идея предложенного преобразования состоит в следующем. Вкаждый момент времени цепочка M-системы состоит (слеванаправо) из 1) символа β, представляющего левуюполубесконечную пустую часть ленты МТ, 2) последовательностисимволов из непустой части ленты (возможно с несколькимипустыми символами справа и слева), 3) еще одного символа β,представляющего теперь правую полубесконечную пустую частьленты.Автомат МТ, находящийся в состоянии qj и указывающий наячейку ленты с символом ai , представляется символом qj ,стоящим перед соответствующим символом ai .Подстановки, построенные согласно пунктам 1–3 вышеописанногоалгоритма, представляют программу МТ. Подстановки,полученные согласно пункту 4, обрабатывают ситуациюдостижения автоматом правого или левого края цепочки,вставляя в нее новые пустые символы.
Нетрудно убедиться, что поведение построенной M-системы будетполностью эквивалентным поведению моделируемой МТ.Единственное отличие состоит в том, что применение подстановокв M-системе проиходит в случайные моменты времени, в то времякак выполнение соответствующих команд программы для МТпроизводится строго регулярно.С другой стороны, выполнение шагов в M-системы представляетсобой алгоритм, который может быть реализован с помощьюлюбого вычислительного устройства, т. е. и с помощью МТ.Таким образом, показано, что марковские системы являютсяалгоритмически универсальными и могут служить модельюпараллельных вычислений.
Пусть ΣA и ΣB два M-системы над алфавитами A и Bсоответственно, причем A ∩ B = ∅, и m — символ не входящий нив A, ни в B .Построим систему Σ над алфавитом A ∪ B ∪ {m}, включающуювсе подстановки из ΣA и ΣB , и применим ее к цепочке видаX = XAmXB , где XA ∈ A+ и XB ∈ B+.Очевидно, что процесс применения Σ к X сведется кпаралелльному и независимому применению систем ΣA и ΣB кподцепочкам XA и XB соответственно, так как символ m невходит ни в одну подстановку в Σ. Исходя из таких соображений,будем называть символ m (непроницаемой) мембраной.Таким образом, описанный способ объединения системподстановок позволяет реализовать в рамках одного автомата дваи более разных поведения, например, упорядоченное инеупорядоченное.
Принципиальный недостаток предложенной выше схемызаключается в том, что отдельные подцепочки, разделенныемембранами, никак не влияют друг на друга.Чтобы организовать их взаимодействие, добавим в систему Σдополнительный набор подстановок ΣC вида
αmβ → αmβ,
где α, α ∈ A∗, β, β ∈ B∗.При наличии хотя бы одной нетривиальной подстановки такоговида, естественно будет говорить о символе m как ополунепроницаемой мембране. Такой символ обеспечиваетвзаимодействие символов из правой и левой подцепочек, но невсех подряд, а только тех, которые указаны явно в ΣC .
Относительным недостатком рассмотренной выше стандартноймодели M-систем является ее одномерность.Вместе с тем, полноценное моделирование естественныхпроцессов (физических, химических, биологических) должновыполняться как минимум в двумерном пространстве, а в идеале,даже в трехмерном.Далее мы рассмотрим два простых обобщения марковскихсистем, позволяющих выйти за пределы одного измерения:
Будем представлять пространство M-системы в видепрямоугольной решетки (матрицы) размера n ×m, в каждуюячейку которой помещен символ заданного алфавита.Состояние M-системы меняется со временем по следующемуалгоритму: на каждом шаге эволюции с вероятностью p = 1/2выбирается способ разбиения матрицы символов на цепочки —вертикально (на столбцы) или горизонтально (на строки), послечего, каждая цепочка преобразуется вышеописанным(одномерным) образом.По умолчанию предполагается ориентация слева-направо длястрок матрицы и сверху-вниз — для столбцов.Основное требование к набору подстановок такого рода систем —каждая подстановка должна сохранять длину цепочки.
АПП представляет собой систему, аналогичную M-системам.Основой АПП также служит система подстановок, однако схемаих применения отличается: на каждом шаге применяются всеподстановки, которые могут быть применены к текущей цепочке(матрице) — принцип максимального параллелизма.Отсюда возникает проблема конфликтов, которая приводит кнетривиальной задаче составления бесконфликтных систем.Поведение АПП (в отличие от МА) является абсолютнодетерминированным.Классический пример АПП – параллельный двоичный сумматор.
Альтернативный вариант построения нелинейных M-систем —соединение отдельных символьных цепочек в графоподобнуюструктуру.Такая M-система представляет собой набор символьных цепочек,каждая из которых развивается по стандартным правилам дляодномерных M-систем.Информационная взаимосвязь между цепочками реализуется спомощью механизма общих точек. Назовем знакоместом пару,содержащую идентифкатор цепочки и номер символа в этойцепочке. Тогда, общей точкой будет называться любоеподмножество знакомест, размер которого больше одного.Изменение любого знакоместа, т.е. запись в него нового символа,приводит к тому, что этот же символ записывается и во всеостальные знакоместа той же общей точки.
Таким образом, структура описанной M-системы может бытьпредставлена графом, в котором вершинами являются всезнакоместа системы, и имеется два типа (направленных) ребер:одни ребра связывают символы в каждой цепочке в линейныйподграф, вторые — соединяют вершины принадлежащие однойобщей точке.Эволюция такой системы выполняется по следующей схеме: накаждом шаге в случайном порядке перебираются все цепочки,каждая цепочка преобразуется стандартным образом согласносистеме подстановок, если эта цепочка содержит какие-тосимволы из общих точек, то производится обновлениесоответствующих символов в других цепочках.
В качестве простого примера рассмотрим систему,моделирующую дорожное движение со светофором.Дорога представляется цепочкой символов видаBλλ . . . λLλ . . . λλE , где B — источник, генерирующий машины(символы c), λ — пустой участок дороги, L — светофор, которыйможет находится в двух состояниях {R,G}, E — сток,поглощающий машины.Движение моделируется следующим набором подстановок:
Σ =
Bλ
p1−→ Bc — генерация машины,cλ
p2−→ λc — поглощение машины,cE → λE — движение машины,cGλ→ λGc — проезд на зеленый свет.
Светофор представляется отдельной цепочкой вида Axλλ . . . λL,эволюция которой описывается следующим набором подстановок:
Σ =
xλ→ λx , xG → yR,λy → yλ, xR → yG ,Ay → Ax .
Эти подстановки определяют движение специального символавправо (x) и влево (y) по цепочке. Когда этот символ доходит доправого конца цепочки, он переключает сигнал L с красного назеленый и обратно.Чем длинее будет длина цепочки, тем больше будет периодработы светофора.Общей точкой данной системы является символ L, которыйразделяется обеими цепочками.