103
Естественные модели параллельных вычислений Лекция 8 :: Мембранные вычисления Ершов Н.М. [email protected] Проект комиссии Президента РФ по модернизации и техническому развитию экономики России Создание системы подготовки высококвалифицированных кадров в области суперкомпьютерных технологий и специализированного программного обеспечения Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 1 / 54

Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Естественные моделипараллельных вычислений

Лекция 8 :: Мембранные вычисления

Ершов Н.М.

[email protected]

Проект комиссии Президента РФпо модернизации и техническому развитию экономики России

«Создание системы подготовки высококвалифицированных кадров вобласти суперкомпьютерных технологий и специализированного

программного обеспечения»

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 1 / 54

Page 2: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Мембранные системы

Теория мембранных вычислений являетсяотносительно новой областью естественныхвычислений. Впервые понятие мембранной системыбыло предложено Георгием Пауном в 1998 г.

Мембранные системы (или P-системы) являютсявычислительной моделью, основанной напростейшей аналогии с биологическими клетками.

В центре данной теории лежит понятие мембраны —некоторого контейнера, содержащего в себенеупорядоченный набор объектов. Мембраны могутвкладываться друг в друга, образуя мембраннуюструктуру. Для содержимого мембран опредяляютсяправила эволюции, также вводятся правила дляобмена информацией мембраны с окружающей еесредой, и правила деления и уничтожения мембран.

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 2 / 54

Page 3: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Мембранные системы

Основным вопросом теории мембранных систем являетсяисследование вычислительных возможностей такихклеткоподобных структур.В частности, известно, что P-системы обладают значительнымвстроенным параллелизмом, позволяющим решать NP-полныезадачи за полиномиальное время.Небольшая часть исследований в области мембранныхвычислений посвящена собственно моделированию с помощьюразного рода мембранных систем природных (прежде всего,биологических) процессов и систем.

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 3 / 54

Page 4: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Мембранная структура

В основе мембранных систем лежит понятие мембраннойструктуры, которая определяется рекурсивным образом:1) [ ] — мембранная структура;2) если s1, s2, . . . , sk — мембранные структуры, то [s1s2 . . . sk ] —

мембранная структура;

По сути, мембранная структура представляет собой правильнуюскобочную запись:

[ [ ] [ ] [ [ ] ] ].

Для идентификации отдельных мембран им могут бытьприписаны некоторые метки:

[1

[2

]2

[3

]3

[4

[5

]5

]4

]1.

Относительное расположение мембран внутри любой другоймембраны является несущественным.

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 4 / 54

Page 5: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Дерево мембранной структуры

Очевидно, что любой мембраннойструктуре соответствует некотороедерево, узлами которого являютсяотдельные мембраны.Корню такого дерева соответствуетсамая внешняя мембрана,называемая скин-мембраной.Две вершины u и v дерева связаныдугой (u, v), только если мембранаv непосредственно вложена вмембрану u. Листья деревасоответствуют элементарныммембранам, не содержащим внутрисебя других мембран.

1

2 3 4

5

Дерево, соответствующеемембранной структуре[1

[2

]2

[3

]3

[4

[5

]5

]4

]1

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 5 / 54

Page 6: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Графическое представление мембранной структуры

Помимо перечисленных терминов в мембранных системахиспользуются также понятия среды и региона.Область вне скин–мембраны называется средой.Мембрана вместе со всеми вложенными в нее другимимембранами называется регионом.

1

2

3 4

5

скин-мембрана

мембрана

регион

среда

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 6 / 54

Page 7: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Объекты

Каждая мембрана может содержать внутри себя помимо другихмембран некоторые объекты. Обычно под объектами понимаютсясимволы некоторого алфавита A. Хотя в некоторых приложенияхиногда рассматриваются и более экзотические виды объектов.В классическом варианте, содержимое мембраны трактуется каксимвольное мультимножество (multiset), т. к. возможно наличиенескольких одинаковых символов, порядок расположения которыхв мембране является несущественным.Для записи таких множеств используются строки или их краткиеобозначения с использованием знака степени. Например,множество {a, a, b, c , a, b} может быть представлено строкойaabcab (или aaabbc и т. д.), которая кратко записывается какa3b2c (или b2ca3 и т. д.).

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 7 / 54

Page 8: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Эволюция объектов

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

V → U,

где V и U — два мультимножества над заданным алфавитом.Если V содержит более одного символа, то правило называетсякооперативным.Частный случай правила: V → ε, где через ε обозначено пустоемножество.

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 8 / 54

Page 9: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Принцип максимального параллелизма

В мембранных вычисления принята жадная стратегия примененияправил эволюции, так называемый принцип максимальногопараллелизма: на каждом шаге применяются все те правила,которые могут быть применены. Причем, считается, что всеправила применяются параллельно за один такт времени.В принципе, возможно возникновение конфликтов, когда ктекущему множеству одновременно могут быть применены два (иболее) взаимоисключающих правила. Например, оба правилаab → a, a2 → b применимы к мультимножеству a2b2, но только поотдельности (либо одно, либо другое).Для исключения подобных конфликтов иногда вводится понятиеприоритета правила. Если все же конфликт возникает, то онразрешается недетерминированным способом.

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 9 / 54

Page 10: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Пример 1

Рассмотрим простой пример мембранной системы с двумяправилами: {

R1 : ca3 → cx ,R2 : ca→ cz , R2 < R1.

Нетрудно заметить, что результатом применения этой системы кмультимножеству can является вычисление целого (символы x) иостатка (символы z) от деления n на 3.

c a

aa

a

a

a

a

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 10 / 54

Page 11: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Пример 1

Рассмотрим простой пример мембранной системы с двумяправилами: {

R1 : ca3 → cx ,R2 : ca→ cz , R2 < R1.

Нетрудно заметить, что результатом применения этой системы кмультимножеству can является вычисление целого (символы x) иостатка (символы z) от деления n на 3.

R1

c aa a

a

a

a

a

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 10 / 54

Page 12: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Пример 1

Рассмотрим простой пример мембранной системы с двумяправилами: {

R1 : ca3 → cx ,R2 : ca→ cz , R2 < R1.

Нетрудно заметить, что результатом применения этой системы кмультимножеству can является вычисление целого (символы x) иостатка (символы z) от деления n на 3.

R1

x c aa a

a

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 10 / 54

Page 13: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Пример 1

Рассмотрим простой пример мембранной системы с двумяправилами: {

R1 : ca3 → cx ,R2 : ca→ cz , R2 < R1.

Нетрудно заметить, что результатом применения этой системы кмультимножеству can является вычисление целого (символы x) иостатка (символы z) от деления n на 3.

R2

xx

ca

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 10 / 54

Page 14: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Пример 1

Рассмотрим простой пример мембранной системы с двумяправилами: {

R1 : ca3 → cx ,R2 : ca→ cz , R2 < R1.

Нетрудно заметить, что результатом применения этой системы кмультимножеству can является вычисление целого (символы x) иостатка (символы z) от деления n на 3.

xx

z c

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 10 / 54

Page 15: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Пример 2

Тот же результат (не считая полного отсутствия в системевспомогательного символа c), используя систему правил{

R1 : a3 → x ,R2 : a→ z , R1 > R2,

можно было бы получить согласно принципу максимальногопараллелизма за один шаг:

a

aa

a

a

a

a

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 11 / 54

Page 16: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Пример 2

Тот же результат (не считая полного отсутствия в системевспомогательного символа c), используя систему правил{

R1 : a3 → x ,R2 : a→ z , R1 > R2,

можно было бы получить согласно принципу максимальногопараллелизма за один шаг:

R1

R1

R2

aa a

a

a a

a

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 11 / 54

Page 17: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Пример 2

Тот же результат (не считая полного отсутствия в системевспомогательного символа c), используя систему правил{

R1 : a3 → x ,R2 : a→ z , R1 > R2,

можно было бы получить согласно принципу максимальногопараллелизма за один шаг:

xx

z

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 11 / 54

Page 18: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Перемещение объектов

Объекты в процессе их эволюции могут перемещаться междурегионами. Этот процесс регулируется специальными метками,приписываемыми к правилами эволюции.Обычно допускаются три вида таких перемещений:1) объект остается в том же самом регионе (метка here);2) объект перемещается во внешний регион (метка out);3) объект перемещается в k-ый вложенный регион (метка ink).

Метки here обычно в правилах не указываются. Для последнихдвух типов правил часто используются альтернативныеобозначения:

[kV ]

k→ [

k]kU ∼ V → U(out),

V → [kU ]

k∼ V → U(ink).

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 12 / 54

Page 19: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Перемещение объектов

1 2

U

VU

U U

here

out

in1in2

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 13 / 54

Page 20: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Пример 3

Система правил имеет вид:R1 : [

1a3 ]

1→ [

1]1x ,

R2 : [1a ]

1→ [

1]1z , R1 > R2,

R3 : [0x ]

0→ [

2a ]

2,

R4 : [0z ]

0→ [

3a ]

3.

Начальная конфигурация: [0

[1an ]

1[2

]2[3

]3

]0.

01

2

3

aa a

aaaa

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 14 / 54

Page 21: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Пример 3

Система правил имеет вид:R1 : [

1a3 ]

1→ [

1]1x ,

R2 : [1a ]

1→ [

1]1z , R1 > R2,

R3 : [0x ]

0→ [

2a ]

2,

R4 : [0z ]

0→ [

3a ]

3.

Начальная конфигурация: [0

[1an ]

1[2

]2[3

]3

]0.

01

2

3

R1

R2

aa a

aaaa

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 14 / 54

Page 22: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Пример 3

Система правил имеет вид:R1 : [

1a3 ]

1→ [

1]1x ,

R2 : [1a ]

1→ [

1]1z , R1 > R2,

R3 : [0x ]

0→ [

2a ]

2,

R4 : [0z ]

0→ [

3a ]

3.

Начальная конфигурация: [0

[1an ]

1[2

]2[3

]3

]0.

01

2

3

R3

R4

x

x

z

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 14 / 54

Page 23: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Пример 3

Система правил имеет вид:R1 : [

1a3 ]

1→ [

1]1x ,

R2 : [1a ]

1→ [

1]1z , R1 > R2,

R3 : [0x ]

0→ [

2a ]

2,

R4 : [0z ]

0→ [

3a ]

3.

Начальная конфигурация: [0

[1an ]

1[2

]2[3

]3

]0.

01

2

3

aa

a

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 14 / 54

Page 24: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Операции над мембранами: уничтожение мембран

Существует несколько специальных типов правил, позволяющихменять в процессе эволюции структуру мембран.Простейшее правило такого типа приводит к уничтожениюмембраны: [kV ]k → U.Смысл — если в k-ом регионе возникает комбинация символов V ,то 1) эта комбинация заменяется на мультимножество U; 2) k-аямембрана исчезает, и все ее содержимое оказывается во внешнемпо отношению к ней регионе.

kV U

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 15 / 54

Page 25: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Операции над мембранами: деление мембран

Еще одна операция, приводящая к изменению мембраннойструктуры — деление мембран: [kV ]k → [kU]k [kW ]k .Смысл — при возникновении в k-ом регионе комбинации Vпроисходит деление данной мембраны на две (после того, какпроизведутся все эволюции внутри мембраны), причем, в первойдочерней мембране комбинация V заменяется на U, во второй —на W , все остальные символы копируются в обе мембраныполностью.

k k kV U W

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 16 / 54

Page 26: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Пример 4

Рассмотрим мембранную системуR1 : a3 → x , R2 : a→ z (R1 > R2),R3 : [1d ]1 → [1p]1[1q]1,R4 : zp → p, R5 : p → λ (R4 > R5),R6 : xq → q, R7 : q → λ (R6 > R7),

которая выполняет деление на 3 еще одним способом.

0

1

da

aa

aa

a

a

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 17 / 54

Page 27: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Пример 4

Рассмотрим мембранную системуR1 : a3 → x , R2 : a→ z (R1 > R2),R3 : [1d ]1 → [1p]1[1q]1,R4 : zp → p, R5 : p → λ (R4 > R5),R6 : xq → q, R7 : q → λ (R6 > R7),

которая выполняет деление на 3 еще одним способом.

0

1

dx

x z

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 17 / 54

Page 28: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Пример 4

Рассмотрим мембранную системуR1 : a3 → x , R2 : a→ z (R1 > R2),R3 : [1d ]1 → [1p]1[1q]1,R4 : zp → p, R5 : p → λ (R4 > R5),R6 : xq → q, R7 : q → λ (R6 > R7),

которая выполняет деление на 3 еще одним способом.

0

1 1

px

xz

qx

x z

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 17 / 54

Page 29: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Пример 4

Рассмотрим мембранную системуR1 : a3 → x , R2 : a→ z (R1 > R2),R3 : [1d ]1 → [1p]1[1q]1,R4 : zp → p, R5 : p → λ (R4 > R5),R6 : xq → q, R7 : q → λ (R6 > R7),

которая выполняет деление на 3 еще одним способом.

0

1 1

px

x

q

x z

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 17 / 54

Page 30: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Пример 4

Рассмотрим мембранную системуR1 : a3 → x , R2 : a→ z (R1 > R2),R3 : [1d ]1 → [1p]1[1q]1,R4 : zp → p, R5 : p → λ (R4 > R5),R6 : xq → q, R7 : q → λ (R6 > R7),

которая выполняет деление на 3 еще одним способом.

0

1 1

x

x

q

z

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 17 / 54

Page 31: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Пример 4

Рассмотрим мембранную системуR1 : a3 → x , R2 : a→ z (R1 > R2),R3 : [1d ]1 → [1p]1[1q]1,R4 : zp → p, R5 : p → λ (R4 > R5),R6 : xq → q, R7 : q → λ (R6 > R7),

которая выполняет деление на 3 еще одним способом.

0

1 1

x

x z

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 17 / 54

Page 32: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Вычислительные возможности мембран

Из рассмотренных выше примеров понятно, что мембранныесистемы способны выполнять вычисления.На самом деле, проведенные исследования показали, что принекоторых ограничениях и условиях на используемые наборыправил мембранные системы являются алгоритмическиуниверсальными моделями, совместимыми, например, с модельюТьюринга.А тот факт, что эволюция отдельных мембран производитсяпараллельно позволяет рассматривать мембранные системы вкачестве модели параллельных вычислительных систем.

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 18 / 54

Page 33: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

P-системы

Дадим формальное определение мембранной P-системы.P-системой называется набор

Π = (V ;µ;ωi , i ∈ [1 . . . n]; (Rj , ρj), j ∈ [1 . . .m]),

состоящий изI алфавита системы V ;I мембранной структуры µ;I набора мультимножеств ω1, . . . , ωn для каждого региона (входные

данные);I набора правил R1, . . .Rm эволюции (с приоритетами ρ1, . . . ρm).

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 19 / 54

Page 34: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Эволюция P-системы

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

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 20 / 54

Page 35: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Алгоритмическая универсальность

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

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 21 / 54

Page 36: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: команды

Напомним, что программа для машины Минского состоит изпоследовательности команд трех типов Inc, Dec и Halt,которые будем представлять в виде отдельных мембран:

I i : Inc a, j представляется мембраной [iIaj ]

i;

I i : Dec a, j , k — мембраной [iDaj+k− ]

i;

I i : Halt — мембраной [iH ]

i.

i

I aj

i

Da

j+

k−i

H

i : Inc a, j i : Dec a, j , k i : Halt

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 22 / 54

Page 37: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: команды

Например, программа, прибавляющая содержимое регистра b крегистру a (регистр b при этом обнуляется)1: Dec b, 2, 32: Inc a, 13: Halt

будет представлена следующим системой

[1Db2+3− ]

1[2Ia1 ]

2[3H ]

3.

1

Db

2+

3−2

I a1

3

H

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 23 / 54

Page 38: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: регистры

Каждому регистру также поставим в соответствие отдельнуюмембрану, помеченную именем этого регистра, внутри которойбудут находится единичные символы, их число и будетпредставлять модержимое данного регистра.Для рассматриваемой программы система мембран дляпредставления используемых двух регистров a и b, в которых вначальный момент времени хранятся числа n и m, будет иметьвид: [

a1n ]

a[b1m ]

b.

a

1b

11

Мембранная система для случаяa = 1, b = 2.

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 24 / 54

Page 39: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: мембранная структура

Все перечисленные мембраны помещаются внутрьскин–мембраны, помеченной нулем.Туда же помещается символ π, служащий для управлениявычислительным процессом, и символ 1, представляющий меткупервой выполняемой команды (которую будем называть активнойкомандой, а соответствующую ей мембрану — активноймембраной).Таким образом, полная мембранная конфигурация длярассматриваемой программы и заданных значений регистровa = 1 и b = 2 принимает следующий вид:[

0π 1 [

1Db2+3− ]

1[2Ia1 ]

2[3H ]

3[a1 ]

a[b11 ]

b

]0.

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 25 / 54

Page 40: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: мембранная структура

0

π 1

1

Db

2+

3−2

I a1

3

H

a

1b

11

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 26 / 54

Page 41: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: система правил

Опишем теперь систему правил эволюции построенного наборамембран. Заметим, что эти правила зависят только от двухиспользуемых алфавитов — меток команд C = {1, 2, 3} и метокрегистров R = {a, b}, и не зависят от самой программы.

R1 : πi → [iα ]

i— инициализация активной мембраны,

R2 : [iα ]

i→ [

i]i[iδ ]

i— деление активной мембраны,

R3 : [iδ ]

i→ π — уничтожение копии активной мембраны,

R4 : Ir → [r1 ]

r— выполнение инкремента,

R5 : Dr → [rβ ]

r— инициализация декремента,

R6 : [r1β ]

r→ [

r]rϕ — если регистр не пуст ,

R7 : ϕi+j− → i — формируем метку следующей команды,R8 : [

rβ ]

r→ [

r]rψ — если регистр пуст ,

R9 : ψi+j− → j — формируем метку следующей команды,R8 < R6.

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 27 / 54

Page 42: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: эволюция системы

Выполнение активной команды начинается с активациисоответствующей мембраны (правило R1).Активная мембрана делится на две копии (правило R2), втораякопия уничтожается (правило R3), что приводит к перемещениюсимволов, описывающих параметры активной команды, вскин-мембрану.Если активная команда — инкремент, то работает правило R4,увеличивающее число единичных символов в соответствующеймембране. При этом одновременно начинает выполнятьсяследующая команда программы.

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 28 / 54

Page 43: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: эволюция системы

Если активная команда — декремент, то сначала внутрьсоответствующей мембраны внедряется символ β (правило R5), идалее срабатывают либо команды R6, уменьшающая содержимоерегистра на единицу, и за ней команда R7, устанавливающаяметку i следующей команды, либо команды R8, определяющая,что регистр пуст, и команда R9, устанавливающая метку jследующей команды.Если же активная команда — останов, то в скин-мембранеоказывается символ H, т. к. нет ни одного правила для этогосимвола, то эволюция системы на этом завершается.

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 29 / 54

Page 44: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: пример выполненияпрограммы

0

1

D

b2+

3−2

I a1 3

H

a b

π 1 1 11

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 30 / 54

Page 45: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: пример выполненияпрограммы

0

1

D

b2+

3−2

I a1 3

H

a b

α

1 11

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 30 / 54

Page 46: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: пример выполненияпрограммы

0

1

D

b2+

3−2

I a1 3

H

a b

δ

1 11

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 30 / 54

Page 47: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: пример выполненияпрограммы

0

1

D

b2+

3−2

I a1 3

H

a b

πDb2+3− 1 11

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 30 / 54

Page 48: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: пример выполненияпрограммы

0

1

D

b2+

3−2

I a1 3

H

a b

π2+3− 1 β11

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 30 / 54

Page 49: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: пример выполненияпрограммы

0

1

D

b2+

3−2

I a1 3

H

a b

πϕ2+3− 1 1

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 30 / 54

Page 50: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: пример выполненияпрограммы

0

1

D

b2+

3−2

I a1 3

H

a b

π 2 1 1

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 30 / 54

Page 51: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: пример выполненияпрограммы

0

1

D

b2+

3−2

I a1 3

H

a b

α

1 1

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 30 / 54

Page 52: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: пример выполненияпрограммы

0

1

D

b2+

3−2

I a1 3

H

a b

δ

1 1

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 30 / 54

Page 53: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: пример выполненияпрограммы

0

1

D

b2+

3−2

I a1 3

H

a b

πIa1 1 11

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 30 / 54

Page 54: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: пример выполненияпрограммы

0

1

D

b2+

3−2

I a1 3

H

a b

α

11 1

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 30 / 54

Page 55: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: пример выполненияпрограммы

0

1

D

b2+

3−2

I a1 3

H

a b

δ

11 1

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 30 / 54

Page 56: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: пример выполненияпрограммы

0

1

D

b2+

3−2

I a1 3

H

a b

πDb2+3− 11 1

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 30 / 54

Page 57: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: пример выполненияпрограммы

0

1

D

b2+

3−2

I a1 3

H

a b

π2+3− 11 β1

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 30 / 54

Page 58: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: пример выполненияпрограммы

0

1

D

b2+

3−2

I a1 3

H

a b

πϕ2+3− 11

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 30 / 54

Page 59: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: пример выполненияпрограммы

0

1

D

b2+

3−2

I a1 3

H

a b

π 2 11

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 30 / 54

Page 60: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: пример выполненияпрограммы

0

1

D

b2+

3−2

I a1 3

H

a b

α

11

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 30 / 54

Page 61: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: пример выполненияпрограммы

0

1

D

b2+

3−2

I a1 3

H

a b

δ

11

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 30 / 54

Page 62: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: пример выполненияпрограммы

0

1

D

b2+

3−2

I a1 3

H

a b

πIa1 11

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 30 / 54

Page 63: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: пример выполненияпрограммы

0

1

D

b2+

3−2

I a1 3

H

a b

α

111

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 30 / 54

Page 64: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: пример выполненияпрограммы

0

1

D

b2+

3−2

I a1 3

H

a b

δ

111

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 30 / 54

Page 65: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: пример выполненияпрограммы

0

1

D

b2+

3−2

I a1 3

H

a b

πDb2+3− 111

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 30 / 54

Page 66: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: пример выполненияпрограммы

0

1

D

b2+

3−2

I a1 3

H

a b

π2+3− 111 β

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 30 / 54

Page 67: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: пример выполненияпрограммы

0

1

D

b2+

3−2

I a1 3

H

a b

πψ2+3− 111

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 30 / 54

Page 68: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: пример выполненияпрограммы

0

1

D

b2+

3−2

I a1 3

H

a b

π 3 111

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 30 / 54

Page 69: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: пример выполненияпрограммы

0

1

D

b2+

3−2

I a1 3

H

a b

α

111

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 30 / 54

Page 70: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: пример выполненияпрограммы

0

1

D

b2+

3−2

I a1 3

H

a b

δ

111

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 30 / 54

Page 71: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Счетчиковая машина Минского: пример выполненияпрограммы

0

1

D

b2+

3−2

I a1 3

H

a b

π 111

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 30 / 54

Page 72: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Алгоритмическая универсальность

Таким образом, показано, что данная разновидность мембранноймодели является алгоритически универсальной.В принципе, можно построить аналогичную P-систему, неиспользующую операций деления и уничтожения мембран (засчет некоторого увеличения числа правил и алфавита системы).Однако, применение приоритета правил является в данном случаесущественным.От приоритетов можно отказаться, используя другие механизмы,например, поляризацию мембран (которая заключается, по сути,в динамическом изменении меток мембран) и т. п.

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 31 / 54

Page 73: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Решение NP-полных задач

Особенностью мембранных систем, поддерживающих операциюделения мембран, является то, что степень параллелизма такихсистем является динамической величиной: чем больше мембранделятся, тем больший объем вычислений производитсяP-системой за единицу времени.Т. к. процесс деления может приводить к экспоненциальномуросту числа мембран, и следовательно, рост степенипараллелизма может быть также экспоненциальным.Оказывается, что это свойство можно использовать дляпостроения P-систем, решающих различные NP-полные задачи заполиномиальное время.В качестве примера рассмотрим P-систему, позволяющую решатьза полиномиальное время задачу поиска гамильтонова пути.

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 32 / 54

Page 74: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Задача поиска гамильтонова пути

Гамильтонов путь (или гамильтонова цепь) — путь (цепь),содержащий каждую вершину графа ровно один раз.Гамильтонов путь, начальная и конечная вершины которогосовпадают, называется гамильтоновым циклом.Пусть задан ориентированный граф G = (V ,E ), где V —множество вершин, пронумерованных от 1 до n, E ⊆ V × V —множество дуг.Требуется определить, имеется ли в графе цикл вида

v1 → v2 → · · · → vn → v1,

такой что (vi , vi+1) ∈ E для всех i ∈ [1 . . . n − 1] и (vn, v1) ∈ E .

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 33 / 54

Page 75: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Поиск гамильтонова цикла: мембранная структура

Рассмотрим следующую P-систему

Π = (V ,T , µ, ω0, ω1,R),

гдеI V = {t, xik , aij , ui , vi | i , j ∈ [1 . . . n], k ∈ [1 . . . n + 1]} — алфавит

системы;I T = {t} — алфавит терминальных символов;I µ = [0[1]1]0 — мембранная структура;I ω0 = λ, ω1 = x11u1 . . . un + A, где

A =∑

(i,j)∈E(G)

aij

— начальное состояние мембран (строка A содержит символ aijтогда и только тогда, когда в графе имеется ребро (i , j) ∈ E ;

I R — набор правил, определяемый ниже.

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 34 / 54

Page 76: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Поиск гамильтонова цикла: набор правил

Рассматриваемая P-система содержит правила трех видов:R1 : [xijaijuj ]→ [xi ,j+1uj ][xj1vi ], i , j ∈ [1 . . . n];R2 : xij → xi ,j+1, i , j ∈ [1 . . . n], R2 < R1;R3 : [v1v2 . . . vnx11]→ [ ] t.

Правила R1 и R2 предназначены для выполненияпоследовательной проверки наличия в графе дуг (i , j), которыевыходят из текущей i-ой вершины и ведут в еще не посещеннуюj-ую вершину (признаком непосещенности является наличие вмембране символа uj).Если граф не имеет такой дуги, то сработает правило R1, чтоприведет к делению этой мембраны — в первой копии будетпродолжен поиск дуг из i-ой вершины, а во второй i-ая вершинастанет посещенной (vi ) и начнется просмотр дуг из j-ой вершины.

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 35 / 54

Page 77: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Поиск гамильтонова цикла: эволюция системы

Описанная система правил гарантирует, что каждая вершинабудет посещена только один раз.Поэтому, если на каком-то шаге в некоторой мембране окажутсявсе символы v1, . . . , vn (посещены все вершины) и символ x11(вернулись на старт), то это будет означать, что в графеобнаружен гамильтонов цикл.В этом случае сработает правило R6, которое поместиттерминальный символ t в скин-мембрану.Наличие терминального символа в скин-мембране послезавершения процесса эволюции и будет ответом на поставленнуюзадачу.

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 36 / 54

Page 78: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Поиск гамильтонова цикла: пример

В качестве простого примера рассмотрим простой граф,кодируемый строкой A = a12a13a23a31:

1

2 3

t = 0

x11u1u2u3

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 37 / 54

Page 79: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Поиск гамильтонова цикла: пример

В качестве простого примера рассмотрим простой граф,кодируемый строкой A = a12a13a23a31:

1

2 3

t = 1

x12u1u2u3

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 37 / 54

Page 80: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Поиск гамильтонова цикла: пример

В качестве простого примера рассмотрим простой граф,кодируемый строкой A = a12a13a23a31:

1

2 3

t = 2

x13u1u2u3 v2x21u1u3

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 37 / 54

Page 81: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Поиск гамильтонова цикла: пример

В качестве простого примера рассмотрим простой граф,кодируемый строкой A = a12a13a23a31:

1

2 3

t = 3

x14u1u2u3 v3x31u1u2 v2x22u1u3

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 37 / 54

Page 82: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Поиск гамильтонова цикла: пример

В качестве простого примера рассмотрим простой граф,кодируемый строкой A = a12a13a23a31:

1

2 3

t = 4

x14u1u2u3

v3x32u1u2 v3v1x11u2 v2x23u1u3

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 37 / 54

Page 83: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Поиск гамильтонова цикла: пример

В качестве простого примера рассмотрим простой граф,кодируемый строкой A = a12a13a23a31:

1

2 3

t = 5

x14u1u2u3

v3x33u1u2 v3v1x12u2 v2x24u1u3 v2v3x31u1

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 37 / 54

Page 84: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Поиск гамильтонова цикла: пример

В качестве простого примера рассмотрим простой граф,кодируемый строкой A = a12a13a23a31:

1

2 3

t = 6

x14u1u2u3

v2x24u1u3

v3x34u1u2 v3v1x13u2 v3v1v2x21 v2v3x32u1 v2v3v1x11

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 37 / 54

Page 85: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Поиск гамильтонова цикла: пример

В качестве простого примера рассмотрим простой граф,кодируемый строкой A = a12a13a23a31:

1

2 3

t = 7

x14u1u2u3

v2x24u1u3

v3x34u1u2 v3v1x14u2 v3v1v2x21 v2v3x33u1 v2v3v1x11

t

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 37 / 54

Page 86: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Поиск гамильтонова цикла: пример

В качестве простого примера рассмотрим простой граф,кодируемый строкой A = a12a13a23a31:

1

2 3

t = 8

x14u1u2u3

v2x24u1u3

v3x34u1u2 v3v1x14u2 v3v1v2x21 v2v3x34u1 v2v3v1x11

t

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 37 / 54

Page 87: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Поиск гамильтонова цикла

Несложно показать, что вся процедура занимает порядка O(n2)шагов (в случае, если в графе имеется гамильтонов цикл), послечего все мембраны становятся неактивными и процесс эволюциисистемы завершается.Таким образом, построена P-система, позволяющая решатьNP-полную задачу о гамильтоновом цикле за полиномиальноевремя.Понятно, что эта полиномиальность времени достигается толькоза счет использования экспоненциального пространства(экспоненциального числа мембран). Поэтому практическоеприменение описанной схемы (например, с использованиемДНК-вычислений) все равно будет ограничено относительнонебольшими значениями n.

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 38 / 54

Page 88: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Вариации мембранных систем

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

1) однородные P-системы;

2) импульсные нейронные P-сети;

3) распределенные системы (dP-автоматы).

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 39 / 54

Page 89: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Однородные P–системы

Основная идея однородных Р-систем (tissue P-systems)заключается в том, что все мембраны в системе образуют одинуровень — все они вложены в среду, никакая мембрана не вложенав другую мембрану.Для коммуникации мембраны используют специальные каналы,обеспечивающие перенос символов из одной мембраны в другую.Таким образом, структура однородных P-систем представляетсяне деревом, а графом, в котором ребра соответствуют каналам,связывающим пары мембран.Среда в P-системах служит пассивным источником одних(входных) символов и приемников других (выходных) символов.Именно наличие тех или иных символов в среде и определяетрезультат работы данной P-системы.

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 40 / 54

Page 90: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Структура однородных P–систем

среда

2 3

1

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 41 / 54

Page 91: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Система правил однородных P–систем

В классическом варианте каждая мембрана системыхарактеризуется некоторым состоянием σ (которое трактуется какотдельный символ, принадлежащий мембране) и имеет свойсобственный набор правил вида σV → σ′UXgoYout , где σ текущеесостояние мембраны, σ′ — состояние, в которое эта мембранапереходит после применения данного правила, V , U, X и Y —символьные мультимножества над заданным алфавитом.Все символы в правой части правила, помеченные индексом go,пересылаются в мембраны, связанные каналами с данноймембраной. Символы с индексом out перемещаются в среду.Таким образом, каналы передачи информации являютсяодносторонними.

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 42 / 54

Page 92: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Система правил однородных P–систем

В более простом варианте однородных P-систем мембраны неимеют внутренних состояний, правила привязываются к каналами имеют вид chij : V ↔ U, где chij — двусторонний канал междуi-ой и j-ой мембранами, V и U — два мультимножества(возможно пустые) над заданным алфавитом.Данное правило применяется, если в i-ой мембране имеется наборсимволов V , а в j-ой — набор U, и заключается в переносе набораV в j-ую мембрану (с удалением его из i-ой мембраны), а набораU — в i-ую.С каждым каналом можно связать несколько различных правил.Любая мембрана может взаимодействовать со средой, котораяобозначается нулевым номером.

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 43 / 54

Page 93: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Импульсные нейронные P–сети

Развитием однородных систем являются импульсные нейронныеP-системы (Spiking Neural P Systems).Устроены такие искусственные нейронные сети аналогичнооднородным P-системам, т.е. представляют собой системумембран (называемых нейронами), вложенных в среду, исвязанных друг с другом каналами (называемыми в данномслучае синапсами).Алфавит таких систем состоит из единственного символа a,называемого импульсом.

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 44 / 54

Page 94: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Импульсные нейронные P–сети

Каждый нейрон характеризуется парой (n,R), где n — начальноеколичество импульсов, R — набор правил двух типов:

I E/ar → (a, t), где E — некоторое регулярное выражение надалфавитом {a}, r > 0, t ≥ 0.

I as → λ.

Смысл первого правила заключается в следующем: еслисодержимое нейрона описывается регулярным выражением E , тоиз него изымаются r символов a, единичный импульс передаетсявсем соседним нейронам спустя промежуток времени t. Отмомента применения данного правила до момента пересылкиимпульса нейрон считается закрытым.Второе правило предназначено для сброса части импульсов в томслучае, если не может быть применено правило вида 1.

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 45 / 54

Page 95: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Распределенные P-системы

Понятие распределенной P-системы (dP-система) в некоторомсмысле объединяет (классические) иерархические P-системы иоднородные P-системы.Распределенная P-система представляет собой набор мембран,каждая из которых является скин-мембраной отдельнойиерархической P-системой, т.е. может содержать в себе другиемембраны, для которых поддерживается весь спектр возможныхопераций.Между собой такие скин-мембраны образуют однороднуюP-систему, т. е. имеются каналы, связывающие напрямую этимембраны. Для каналов определяются свои правилакоммуникации.Распределенные P-системы рассматриваются, как некаябиологическая модель крупнозернистой параллельной обработкиинформации.

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 46 / 54

Page 96: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Структура распределенных P–систем

среда

2 3

1

ab

c

g

d

e

f

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 47 / 54

Page 97: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Параллельная реализация мембранных систем

Как уже говорилось выше, мембранные системы большей частьюиспользуются для теоретических исследований в области теорииалгоритмов.Однако, имеется некоторая тенденция к применению P-систем исобственно к моделированию.Соотвественно возникает задача компьютерной реализациимембранных систем.В силу высокого внутреннего параллелизма этой моделиестественным является вопрос параллельной реализации P-системна многопроцессорных вычислительных системах.

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 48 / 54

Page 98: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Параллельная реализация мембранных систем

Любая из рассмотренных вариаций мембранных систем можетбыть описана графом, вершины которого соответствуютотдельным мембранам, а ребра (или дуги) — обобщеннымканалам мембранной связи.Для иерархической мембранной системы таким графом будетдерево, для однородных систем и импульсных нейросетей —ориентированный или неориентированный граф общего вида, дляраспределенных систем — граф общего вида для мембранверхнего уровня, к каждой вершине которого прицеплено дерево(лес из деревьев, корни которых связаны своей подсистемойребер).Такая интерпретация мембранных систем определяет схему ихвозможной параллельной реализации.

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 49 / 54

Page 99: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Параллельная реализация мембранных систем

Предположим, что мембранная структура (граф системы)сохраняется неизменной в процессе эволюции заданнойP-системы.Очевидным способом распараллеливания тогда являетсяобработка каждой мембраны отдельным процессором, который накаждом шаге 1) вычисляет новое состояние мембраны исходя изее внутренних правил; 2) формирует пакеты (состоящие изсимвольных мультимножеств) для передачи их соседниммембранам; 3) пересылает подготовленные пакеты и принимает отсоседних мембран пакеты для себя; 4) добавляет содержимоепринятых пакетов к своему содержимому.Проблемой скорее всего будет то, что вычисления в каждом узлебудут небольшими, соответственно, передаваемые пакеты будутиметь небольшой размер, но их будет много.

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 50 / 54

Page 100: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Параллельная реализация мембранных систем

Естественным решение указанной проблемы является назначениена отдельные процессоры системы сразу группы соседнихмембран.Каждый процессор при такой схеме на каждом шаге выполняеттакие действия: 1) вычисляет новое состояние каждой мембраныи формирует пакеты для передачи их другим мембранам; 2)объединяет все пакеты от своих мембран, предназначенныеодному адресату в один пакет; 3) соединяет все пакеты,предназначенные данному процессору в один макропакет; 4)пересылает свои макропакеты и получает такие же пакеты отдругих процессоров; 5) распаковывает полученные пакеты иобновляет содержимое своих мембран.Таким образом, увеличивается время обработки мембран,увеличивается вес пакетов, уменьшается их количество.

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 51 / 54

Page 101: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Параллельная реализация мембранных систем

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

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 52 / 54

Page 102: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Библиография

1 The Oxford handbook of membrane computing, edited by G. Paun,G. Rozenberg and A. Salomaa, Oxford University Press, 2010.

2 Gh. Paun, Computing with Membranes, Journal of Computer andSystem Sciences, 61, 1 (2000), 108-143.

3 Gh. Paun, P Systems with Active Membranes: Attacking NP CompleteProblems, CDMTCS Research Report Series, CDMTCS-102, May1999.

4 http://ppage.psystems.eu/ — домашняя страница мембранныхсистем.

5 http://ppage.psystems.eu/index.php/Papers — доступныепубликации по теме.

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 53 / 54

Page 103: Лекция 8 :: Мембранные вычисленияhpc-education.ru/files/lectures/2011/ershov/ershov_2011... · 2011. 11. 12. · Лекция 8 :: Мембранные вычисления

Спасибо за внимание!

Ершов Н.М. (ВМК МГУ) Лекция 8 :: Мембранные вычисления ЕМПВ :: 2011 54 / 54