ОКО ПЛАНЕТЫ > Размышления о науке > Вычисления в колбе
Вычисления в колбе16-04-2011, 07:56. Разместил: god |
|||
Химические волны в реакции Белоусова-Жаботинского Вычисления в колбеПрошлое, настоящее и будущее химических компьютеров В основе первых вычислительных машин лежали принципы действия, разительно отличающиеся от принципов их современных аналогов. Арифмометры, счеты, даже электромеханические табуляторы - во всех этих устройствах математические и логические операции производились при помощи достаточно простых манипуляций (выполняемых зачастую руками оператора). С точки зрения современной техники, скорость таких устройств была, конечно, смешной, однако их эффективность недооценивать все-таки не стоит - не зря говорят, что "водородная бомба была рассчитана на арифмометрах". Появление ЭВМ перевернуло представление человека о счете как таковом и, как может показаться, навсегда определило направление развития вычислительной техники - манипулирование с токами в полупроводниках и проводниках. Вместе с тем альтернативные подходы к построению вычислительных машин никуда не делись, и вот почему: еще в 1941 году математики Рихард Курант и Герберт Роббинс в своей книге "Что такое математика?" писали о том, что разные математические задачи полезно реализовывать в виде разных физических устройств. То есть, альтернативные подходы нужны потому, что (как верят некоторые ученые) найдутся задачи, которые с их помощью будут решаться лучше, чем с помощью традиционных электронных вычислительных машин. Эта простая мысль стала идеологической основой для развития того, что сегодня называют нетрадиционными вычислениями (unconventional computing). Охватить весь спектр необычных подходов к вычислительным машинам и задач, которые с их помощью можно решать, в рамках одной статьи просто невозможно. Тут и гидромеханические машины, и квантовые компьютеры, и вычислительные устройства на мемристорах, и множество других экзотических названий. Поэтому мы поговорим об одном-единственном, но очень интересном классе устройств - химических компьютерах.
ИсторияС чего вообще ученые взяли, что химический компьютер можно построить? В 1951 году советский химик Борис Белоусов, изучая окисление лимонной кислоты броматом калия в кислотной среде в присутствии ионов церия, обнаружил у этой химической системы автоколебания - цвет раствора менялся от бесцветного к желтому и обратно. С точки зрения химиков того времени, подобное поведение химической системы считалось попросту невозможным, поэтому работу на эту тему Белоусову удалось издать с большим трудом и то лишь спустя семь лет. В 1969 другому советскому химику - Анатолию Жаботинскому - удалось построить математическую модель "невозможного" процесса (уравнения, кстати, оказались похожими на модель Лоттки-Вольтера, описывающую в упрощенном виде конкуренцию между биологическими видами). Ему же удалось наблюдать удивительный эффект - в тонком слое реакция происходила таким образом, что невооруженным глазом были видны волны изменения концентрации. Именно эти волны и их взаимодействие и натолкнули ученых на идею химического компьютера.
Теория
Перейдем непосредственно к определениям. Химический компьютер представляет собой систему, в которой данные кодируются химическими свойствами веществ (концентрация, цвет, кристаллическая структура и так далее), а вычислительные процессы протекают в виде химических реакций, распространяющихся волнами. Химические компьютеры появились не вчера, но именно в последнее десятилетие исследования приобрели практический характер - одна за другой стали появляться работы, в которых рассматривалась практическая реализация устройств. Следуя логике Куранта и Робинса, главный вопрос, которым тут следует задаться: какие задачи можно решать с помощью таких вычислительных машин? Оказывается, спектр их применения чрезвычайно широк. Например, в 90-х годах прошлого века француз Бриан Клото доказал, что химические компьютеры являются универсальными аппроксиматорами - с их помощью можно приблизительно изучать любую систему дифференциальных уравнений с любой наперед заданной точностью. Или, как показали исследования последних лет, химические компьютеры могут использоваться для анализа изображений и построения разного рода геометрических схем, например диаграмм Вороного (подробнее речь о них пойдет ниже). Более того, химические компьютеры оказались тесно связаны с так называемыми клеточными автоматами, на которых стоит остановится подробнее. Представим себе таблицу ячеек, каждая из которых может находиться в двух состояниях, которые мы будет кодировать нулем и единичкой. Считаем, что у нас задано некоторое начальное состояние, а также правило изменения состояния конкретной клетки в зависимости от состояния соседних. Именно клеточный автомат был взят за основу для описания распространения подобных волн - раствор условно поделили на ячейки, а состояние фиксированной ячейки (например, ее средняя плотность) в каждый момент времени определяется состояниями ее соседей. Надо понимать, что клеточные автоматы - очень мощная штука. Например, в 2002 году Пауль Чапмен показал, что с помощью клеточного автомата можно реализовать машину Тьюринга, которая является стандартной математической моделью ЭВМ. Таким образом, любая задача, разрешимая на цифровом ЭВМ, в теории разрешима при помощи клеточного автомата (быть может, правда, эта реализация будет сама по себе сложнее и займет больше времени). Более того, ученым удалось установить, что клеточные автоматы можно приспособить для изучение рынка обмена валют или автомобильного движения по шоссе (pdf).
Практика
Что касается практики, то тут пока не все так замечательно. Оно и понятно - теория химических компьютеров фактически ничего не говорит о том, существуют ли вообще подходящие для работы растворы и реакции. Вообще, вся эта область находится сегодня на той стадии, когда ученые озабочены поиском конкретных реализаций тех или иных задач, а не эффективностью или, тем более, скоростью работы этих реализаций. Например в 2009 году вышла статья Эндрю Адамацкого, в которой в качестве основного рабочего тела компьютера выступал перенасыщенный раствор ацетата натрия. Работа машины выглядела следующим образом - в тонкий слой раствора помещались алюминиевые штыри (их взаимное расположение - начальное условие задачи). В результате из точек, где штыри попадали в раствор, в стороны расползались волны кристаллизации. При помощи подобного компьютера, например, ученые получали так называемую диаграмму Вороного - объект, который используется в разного рода задачах. Если на плоскости имеется конечный набор точек (роль которых играли штыри), то для каждого элемента набора можно определить так называемую ячейку Вороного - множество точек плоскости, для которых данный элемент является ближайшим из всех точек набора. Границы ячеек Вороного (которые представляют собой хорошо различимые места "встреч" волн кристаллизации) образуют разбиение плоскости, которое и называют диаграммой Вороного. Спустя два года Адамацкий вместе с коллегами выпустил другую работу, в которой предложил рассматривать так называемый нерегулярный пузырьковый компьютер. Регулярный пузырьковый компьютер - это, по сути, химическая реализация клеточного автомата. Предполагается, что в растворе плавают одинаковые пузырьки с активными химическими веществами внутри. В результате диффузии вещества соседние пузырьки могут подобными веществами обмениваться, что приводит к химической реакции. Как показала практика, главная трудность в реализации такой вычислительной машины - невозможность получить устойчивую систему одинаковых пузырьков. Авторам работы удалось показать, что разного рода вычислительные схемы можно воспроизводить и на нерегулярном пузырьковом компьютере. В частности, им удалось получить отрицание "или" (NOR) и отрицание исключающего "или" (NXOR).
ЗаключениеПриведенные примеры показывают, что работающие над химическими компьютерами ученые сталкиваются с большим количеством проблем. Из этого, в частности, следует, что в ближайшие годы появления химических вычислительных машин в домах обычных людей ожидать не стоит. Да и сам Адамацкий говорит, что подобные машины не заменят современные компьютеры, а могут только дополнить их. Вместе с тем, во многих прикладных вопросах подобные системы могут оказаться очень эффективны, а это отличный повод верить в будущее технологии химических компьютеров. Вернуться назад |