ОКО ПЛАНЕТЫ > Размышления о науке > Вычисления в колбе

Вычисления в колбе


16-04-2011, 07:56. Разместил: god
Химические волны в реакции Белоусова-Жаботинского
Химические волны в реакции Белоусова-Жаботинского

Вычисления в колбе

Прошлое, настоящее и будущее химических компьютеров

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

Появление ЭВМ перевернуло представление человека о счете как таковом и, как может показаться, навсегда определило направление развития вычислительной техники - манипулирование с токами в полупроводниках и проводниках. Вместе с тем альтернативные подходы к построению вычислительных машин никуда не делись, и вот почему: еще в 1941 году математики Рихард Курант и Герберт Роббинс в своей книге "Что такое математика?" писали о том, что разные математические задачи полезно реализовывать в виде разных физических устройств. То есть, альтернативные подходы нужны потому, что (как верят некоторые ученые) найдутся задачи, которые с их помощью будут решаться лучше, чем с помощью традиционных электронных вычислительных машин. Эта простая мысль стала идеологической основой для развития того, что сегодня называют нетрадиционными вычислениями (unconventional computing).

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

 

История

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

В 1969 другому советскому химику - Анатолию Жаботинскому - удалось построить математическую модель "невозможного" процесса (уравнения, кстати, оказались похожими на модель Лоттки-Вольтера, описывающую в упрощенном виде конкуренцию между биологическими видами). Ему же удалось наблюдать удивительный эффект - в тонком слое реакция происходила таким образом, что невооруженным глазом были видны волны изменения концентрации. Именно эти волны и их взаимодействие и натолкнули ученых на идею химического компьютера.

 

Теория

Лидером области изучения химических компьютеров сейчас является Университет Западной Англии - именно здесь располагается Международный центр по нетрадиционным вычислениям, который регулярно организует конференции для специалистов со всего мира, а также публикует сборники трудов (посмотреть статьи можно здесь). В этом же университете работает один из главных идеологов химических компьютеров профессор Энди Адамацки, на счету которого множество результатов в этой области.

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

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

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

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

 

Практика

Диаграмма Вороного для пузырьков полидиметилсилоксана и масла в воде с добавлением родамина. Иллюстрация Эндрю Адамацкого
Диаграмма Вороного для пузырьков полидиметилсилоксана и масла в воде с добавлением родамина. Иллюстрация Эндрю Адамацкого

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

Например в 2009 году вышла статья Эндрю Адамацкого, в которой в качестве основного рабочего тела компьютера выступал перенасыщенный раствор ацетата натрия. Работа машины выглядела следующим образом - в тонкий слой раствора помещались алюминиевые штыри (их взаимное расположение - начальное условие задачи). В результате из точек, где штыри попадали в раствор, в стороны расползались волны кристаллизации. При помощи подобного компьютера, например, ученые получали так называемую диаграмму Вороного - объект, который используется в разного рода задачах. Если на плоскости имеется конечный набор точек (роль которых играли штыри), то для каждого элемента набора можно определить так называемую ячейку Вороного - множество точек плоскости, для которых данный элемент является ближайшим из всех точек набора. Границы ячеек Вороного (которые представляют собой хорошо различимые места "встреч" волн кристаллизации) образуют разбиение плоскости, которое и называют диаграммой Вороного.

Спустя два года Адамацкий вместе с коллегами выпустил другую работу, в которой предложил рассматривать так называемый нерегулярный пузырьковый компьютер. Регулярный пузырьковый компьютер - это, по сути, химическая реализация клеточного автомата. Предполагается, что в растворе плавают одинаковые пузырьки с активными химическими веществами внутри. В результате диффузии вещества соседние пузырьки могут подобными веществами обмениваться, что приводит к химической реакции. Как показала практика, главная трудность в реализации такой вычислительной машины - невозможность получить устойчивую систему одинаковых пузырьков. Авторам работы удалось показать, что разного рода вычислительные схемы можно воспроизводить и на нерегулярном пузырьковом компьютере. В частности, им удалось получить отрицание "или" (NOR) и отрицание исключающего "или" (NXOR).

 

Заключение

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

Андрей Коняев

Вернуться назад