Научная статья на тему 'Использование интерпретатора ДНК-вычислений для решения задачи о выполнимости пропозициональных формул'

Использование интерпретатора ДНК-вычислений для решения задачи о выполнимости пропозициональных формул Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
154
57
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БИОКОМПЬЮТЕРЫ / ДНК-ВЫЧИСЛЕНИЯ / NP-ПОЛНАЯ ЗАДАЧА / ВЫПОЛНИМОСТЬ ПРОПОЗИЦИОНАЛЬНЫХ ФОРМУЛ / BIOCOMPUTERS / DNA-COMPUTING / NP-COMPLETENESS / FEASIBILITY OF PROPOSITIONAL FORMULAS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ракитин Александр Георгиевич, Смирнова Татьяна Сергеевна

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

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

The Use of the Interpreter DNA Computing to Solve the Problem Propositional Formulae

Currently, in connection with the development of molecular computing, there is a necessity in creation of interpreters of nonclassical computer models that simulate the existing biological processes. It is assumed that in the future molecular computation can affect the development of science and education, as well as to compete with the classical computational models.

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

СПИСОК ЛИТЕРАТУРЫ

1. Асафьев Б. В. Русская музыка о детях и для детей // Избранные труды. М.: Из-во Академии Наук СССР, 1955. Т. 4. 442 с.

2. Веймарн П. П. Цезарь Антонович Кюи как романсист. СПб.: Печатня Е. Евдокимова, 1896. 16 с.

3. ДоломановаН. Н. Музыка в дошкольных учреждениях. М.; Пг.: Гос. изд., 1923. 70 с.

4. ДоломановаН. Н. Музыкальное воспитание детей от 9 до 12 лет. JL: Мысль, 1925. 148 с.

5. Доломанова Н. Н. Снегурочка к детям на елку пришла. Сценка у елки для маленьких детей с прил. музыки Римского-Корсакова, Лядова, Кюи. Пг.: Начатки знаний, 1923. 16 с. (с нотами).

REFERENCES

1. Asaf'ev В. V. Russkaja muzyka о detjah i dlja detej // Izbrannye trudy. M.: Iz-vo Akademii Nauk SSSR, 1955. T. 4. 442 s.

2. Vejmarn P. P. Tsezar' Antonovich Kjui kak romansist. SPb.: Pechatnja E. Evdokimova, 1896. 16 s.

3. Dolomanova N. N. Muzyka v doshkol'nyh uchrezhdenijah. M.; Pg.: Gos. izd., 1923. 70 s.

4. Dolomanova N. N. Muzykal'noe vospitanie detej ot 9 do 12 let. L.: Mysl', 1925. 148 s.

5. Dolomanova N. N. Snegurochka k detjam na elku prishla. Stsenka u elki dlja malen'kih detej s pril. mu-zyki Rimskogo-Korsakova, Ljadova, Kjui. Pg.: Nachatki znanij, 1923. 16 s. (s notami).

А. Г. Ракитин, Т. С. Смирнова

ИСПОЛЬЗОВАНИЕ ИНТЕРПРЕТАТОРА ДНК-ВЫЧИСЛЕНИЙ ДЛЯ РЕШЕНИЯ ЗАДАЧИ О ВЫПОЛНИМОСТИ ПРОПОЗИЦИОНАЛЬНЫХ ФОРМУЛ

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

Ключевые слова: биокомпьютеры, ДНК-вычисления, NP-полная задача, выполнимость пропозициональных формул.

A. Rakitin, Т. Smirnova

THE USE OF THE INTERPRETER DNA COMPUTING TO SOLVE THE PROBLEM PROPOSITIONAL FORMULAE

Currently, in connection with the development of molecular computing, there is a necessity in creation of interpreters of nonclassical computer models that simulate the existing biological processes. It is assumed that in the future molecular computation can affect the development of science and education, as well as to compete with the classical computational models.

Keywords: biocomputers, DNA-computing, NP-completeness, feasibility of propositional formulas.

В настоящее время КР-полные задачи решаются при помощи компьютеров, основанных на так называемой классической

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

движения электрических сигналов. При помощи электрических сигналов возможно получить значения 0 и 1 по принципу: 0 — означает отсутствие сигнала, 1 — означает наличие сигнала. Затем при помощи нулей и единиц может быть закодирована некоторая информация. Далее, управляющие команды по определенным правилам преобразуют данные, что приводит к выполнению определённого алгоритма и к получению некоторого результата.

В отличие от классической фон-неймановской архитектуры, биокомпьютеры работают иначе. В таких компьютерах информация кодируется не последовательностью нулей и единиц, а молекулами ДНК. За хранение информации отвечают молекулы (нуклеотиды) Аденина, Гуанина, Тимина и Цитозина. Такое хранение информации дает колоссальное преимущество — за счет небольших размеров (доли нанометра), в небольшом объеме биоматериала может быть закодировано существенно больше информации по сравнению с классической архитектурой. Вычисления на ДНК происходят за счет выполнения определенных операций над молекулами. С использованием таких особенностей ДНК, как массовый параллелизм, небольшой размер, комплементарность Уотсона — Крика, проведение выборок над одинаковыми подпоследовательностями появляется возможность проводить вычисления неклассическими методами.

В свою очередь, с возникновением новых, перспективных методов вычислений появляется необходимость в подготовке студентов, обладающих необходимыми знаниями в смежных областях. Так, в 2012 году на факультете информационных технологий РГПУ им. А. И. Герцена в обучении новым неклассическим вычислительным моделям были применены интерпретаторы ДНК-вычислений на базе языке 1С и языка программирования Haskell [2].

Интерпретаторы, написанные на языках 1С и Haskell, могли проводить основные

операции над цепочками ДНК: ввести заданную пробирку, ввести случайную пробирку, «слить» пробирки, «размножить» пробирки, обнаружить ДНК в пробирке, «разделить» («извлечь»), «выделить по длине», «выделить по префиксу», «выделить по суффиксу» [1, с. 98]. Программа на языке 1С позволяла выполнять операции, используя графический интерфейс пользователя, в то время как программа на языке Haskell позволяла выполнять операции на ДНК только при помощи интерфейса командной строки. Графический интерфейс взаимодействия с пользователем оказался более удобным для студентов, и дальнейшее развитие получил интерпретатор на языке 1С.

Дальнейшим развитием интерпретатора на языке 1С стала возможность моделирования опыта Эдельмана для решения задачи о коммивояжере [1, с. 53]. При помощи последовательности ДНК и последовательности операций, которые были закодированы в txt-файле, удалось воспроизвести данный опыт. Пошаговое выполнение алгоритма и визуализация процесса вычислений позволила наглядно объяснить основную идею опыта и вызвать интерес студентов к изучению материалов по теме. Графическая реализация интерпретатора заинтересовала студентов, студенты начали сверх нормативной программы создавать похожий интерпретатор для ДНК-вычислений на других языках программирования. Это, в свою очередь, является важным методическим достижением.

С 2013 года на базе интерпретатора на языке 1С, появилась возможность обучать студентов неклассическим методам решения задачи о выполнимости пропозициональных формул. С использованием возможностей интерпретатора по чтению команд из файла были созданы файлы с текстами программ для данного интерпретатора для решения NP-полной задачи [3].

Файл, который загружается в интерпретатор, состоит из нескольких разделов:

• Раздел описания задами. В данном разделе описываются:

(1) формула, для которой проверяется выполнимость;

(2) граф, соответствующий формуле;

(3) строки, кодирующие вершины и пути в заданном графе.

Формула В = (х1ух2)л(~х1у~х2) Граф:

XI х2

г & ч

УСп'п) VI у(ои1:)

^ У \ У

~х1 ~х2

Вершины кодируются:

XI - АТЙТТА

~Х1 - САС ССА

х2 - ТСТАСС

~х2 - СТТААС

Пути:

х1х2 - АТСТТДТСТАСС - 11

х1~х2 - АТСТТАСТТААС - 10

~х1х2 - САСССАТеТАСС - 01

-х1-х2 - САС ССАЬТТААС - 00

Рис 1. Пример раздела описания задачи

• Раздел операций. В этом разделе приведен перечень операций над цепочками

ДНК, которые необходимо выполнить для проверки выполнимости формул.

Операции по Паун, Розенбрг, Счаломаа (стр. 68)

(13 Ввести(чО)

(2) N1 = 5(М0, 1, 13

(3) N01 = .£(N0, 1, 1)

(4) N2 = 5(N01, 2, 1)

(5) Слить№1,ч2) = N3

(6) N4 = 5(ЫЗ, 1, 0)

(7) N04 = _5(чЗ, 1, 0) (83 N5 = э№04 ,2,0)

(9) Слить(м4,N5) = N6

(10) Обнаружить(Мб)

Рис 2. Пример раздела операций

• Раздел команд для интерпретатора. В данном разделе описаны команды для интерпретатора с подробными комментариями

После загрузки файла в интерпретатор и выполнения последней команды «обнаружить» на экране появляется информация о наличии или отсутствии ДНК в пробирке, что позволяет определить выполнимость или невыполнимость заданной формулы (см. рис. 4).

// Шаг 1. Создадим всевозможные интерпретации // Создадим начальную пробирку.

0. 1 # АТйТТАТСТАС С # АТСТТАСГТААС # С АС СС АТСТАС С # б АС СС АСТТААС #

// Шаг 2,3.

// Б пробирку 1 помещаем ДНК из начальной пробирки, где литерал XI, в пробирку 2, // где указанного литерала нет. // Введем вершину XI 0.2 #АТСТТА#

// Поместим в пробирку 1, ДНК с отбором по литералу XI, в пробрирку 2 с литералом ~Х1

4.1 2

// Шаг 4. Поместим в пробирку 2 ДНК из шага 2, где второй литерал Х2 - "Истина" // Введем вершину Х2 0. ЗГГСТАСС#

4.2 3

// Шаг 5. В пробирку 1 помещаем результаты с шага 2 и 4. // Сливаем в пробирку 1 пробирку из 1 и 2. 1.1 2

// Шаг 6,7. В пробирку 1 помещаем ДНК с шага 5, которые содержат литерал ~Х1, в пробирку 2, // где указанного литерала нет. // Введем вершину ~Х1 0.2#САСЙСА#

// Поместим в пробирку 1, ДНК с отбором по литералу ~Х1, в пробрирку 2 с литералом XI 4,12

// Шаг 8. Поместим в пробирку 2 ДНК из шага 7, где второй литерал Х2 - "Ложь" // Введем вершину ~Х2 0.3#ЙТТААе# 4.2 3

// Шаг 9. В пробирку 1 помещаем результаты с шага 2 и 4. // Сливаем в пробирку 1 пробирку из 1 и 2. 1.1 2

// Шаг 10. Пробуем обнаружить ДНК в пробирке 1. 3.1

Рис 3. Пример раздела команд для интерпретатора

0. Генерация 3. Обнаружить б. Выделить по префиксу

1. Слить 4. Разделить 7. Выделить по суффиксу

2. Размножить 5. Выделить по длине S. Помыть пробирку

Двойные цепочки

ЕМ С\Опыт липтона .txt

Команда: ДЦ=1

N Цепочка ДНК Количество

GACGCATGTACC 76 376

2 ATGTTAGTTAAG 91 411

N Цепочка ДНК

Количество

1С:Предгривп№ X

Цепочка

1 ATGTT

Пробирка не пуста!

ОК

N Цепочка ДНК Количество

N Цепочка ДНК Количество

улочка

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

Рис. 4. Фрагмент ДНК интерпретатора, после выполнения операций из файла

Таким образом, использование интерпретатора 1С позволяет наглядно продемонстрировать операции над цепочками ДНК, опыт Эдельмана, опыт решения задачи о выполнимости пропозициональных формул.

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

СПИСОК ЛИТЕРАТУРЫ

1. Паун Г., Розеяберг Г., Саломею А. ДНК-компьютер. Новая парадигма вычислений. М.: Мир, 2004. 528 с.

2. Ракштт А. Г. Интерпретатор языка пробирок для ДНК-вычислений / А. Г. Ракитин, Т. С. Стефа-нова, М. В. Швецкий // Научное мнение. 2013. № 10. С. 214-219.

3. Upton R. Using DNA to Solve NP-Complete Problems // Science. 1995. 265. P. 542-545.

REFERENCES

1. Paun G., Rozenberg G., Salomaa A. DNK-komp'juter. Novaja paradigma vychislenij. M.: Mir, 2004. 528 s.

2. Rah it in A. G. Interpretator jazyka probirok dlja DNK-vychislenij / A. G. Rakitin, T. S. Stefanova, M. V. Shvetskij //Nauchnoe mnenie. 2013. № 10. S. 214-219.

3. Upton R. Using DNA to Solve NP-Complete Problems // Science. 1995. 265. P. 542-545.

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