![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|
Технологии, технические аспекты, алгоритмы, схемы, описания системы мира Матрицы.
В начало | Страницы: | 1 2 3 4 5 | В конец |
Сентябрь 2000 года | Первая технология. Данный материал основан на сообщениии о ДНК компьютерах из раздела events Трудность задачи в комбинаторике
определяется временем, необходимым для её решения на детерминированной
и недетерминированной машинах Тьюринга (ДМТ и НДМТ). Эти воображаемые
устройства принципиально отличаются друг от друга. ДМТ исполняет детерминированные
алгоритмы, где все операции выполняются последовательно и предопределены
заранее. Примером может служить сложение векторов. НДМТ, напротив, исполняет
недетерминированные алгоритмы. В них имеются узловые точки, где происходит
выбор направления дальнейших действий из некоторого множества вариантов.
Рассматриваемая в теории сложности НДМТ может создавать в каждой точке
новые копии самой себя в количестве = числу ветвлений алгоритма. Дальнейшие
вычисления производятся этими копиями параллельно и возможны ещё и ещё
деления копий копии и т.д. На основе того, известен или нет для данной
задачи эффективный алгоритм для ДМТ и НДМТ, выделяют классы сложности
P, NP, NP-Complate (NPC). К типу P (polynomial) относятся задачи, решаемые
на ДМТ за полиномиальное время, т.е. за время порядка n в степени s,
где n - определяет масштаб задачи (скажем длину ключа шифрования или
количество вершин графа), а s - некоторое число, характеризующее алгоритм.
К NP (nodetermministic polynomial) относятся задачи, которые решаются
за экспонециальное время на ДМТ (т.е. за время порядка s в степени n)
и за полиномиальное время на ДМТ. Такой например является задача о разложении
числа на простые множители, на трудности которой базируется алгоритм
RSA. Естественно, что любая задача, относящаяся к P, относится и к NP,
ведь каждый детерминированный алгоритм можно рассматривать и как не
детерминированный, но с одним вариантом выбора в том или ином узле.
Поэтому НДМТ может решить за полиномиальное время задачу, на которую
ДМТ потребуется экспоненциальное время. Математически доказано также,
что множество NP\P не пустое, что существует хотя бы одна проблема,
входящая в NP и не входящая в P. Математик Стивен Кук в 1971 г. показал,
что существует подмножество задач, обладающих интересным свойством,
что если находится детерминированный полиномиальный алгоритм для одной
из них, то должны существовать алгоритмы для всех задач NP, то есть
P = NP. Кук назвал этот класс NP-Complate (NPC). Все задачи, входящие
в этот класс эквивалентны с вычислительной точки зрения, и можно показать,
что любая задача из NP сводится к NPC проблеме за полиномиальное время.
NPC задачи считаются наиболее сложными в NP и математики верят, что
для этих задач полиномиальных детерминированных алгоритмов вообще не
существует (ну и не надо). К NPC задачам относятся, например, проблемы
нахождения Гамельтонова пути в графе (на этом алгоритме основано много
различных криптостойких шифров). Суть проблемы отыскания Гамельтонова
пути: Имеется граф с n вершинами, срединные рёбрами. Нужно найти путь
из одной заданной вершины в другую (или из любой вершины в другую, отличную
вершину, обойдя все остальные), проходя все остальные вершины ТОЛЬКО
ОДИН РАЗ или доказать отсутствие такого пути. Задача дискретная, решать
её можно только перебором, она имеет прикладное значение (к ней можно
свести задачу разложения числа на множители) и все существующие для
неё детерминированные алгоритмы имеют экспоненциальное время исполнения.
Практическая важность проблем NP в том, что на детерминированной машине
они перестают быть физически решаемыми при n гораздо меньшем, чем у
задач класса P. Этот принцип широко используется в современной криптографии.
Между тем новые типы вычислительных машин - квантовые и молекулярные
компьютеры - являются ограниченными реализациями НДМТ и теоретически
способны решать такие NP задачи за полиномиальное время, что, несомненно
очень сильно уменьшает необходимое время на решение таких задач. |
Сентябрь 2000 года | 1) Так сказать, аналоговый био-ДНК-компьютер.
Принцип построения, действия и выполняемые задачи: Данные кодируются определённым образом уникальными последовательностями олигонуклеотидов A, T, C, G. И создаются цепи ДНК, представляющие эти данные в "компьютере". Так же отдельно создаются дополнения Ватсона-Крика для каждого отдельного элемента данных. Синтезировать все эти ДНК на современной бимолекулярной аппаратуре проще простого. Есть даже коммерческие фирмы, которым достаточно послать написанную на бумажке последовательность (что-нибудь типа GTATATCCGAGCTATTCG...), а на следующий день они уже пришлют пробирку с синтезированными молекулами. Поэтому стоит полагать лет через сто это можно будет уже делать в домашних условиях особо себя не утруждая. Далее нужны ещё некоторые химические природные химикаты. Например, лигаза, склеивающая разрывы в двойной спирали ДНК. Если смешать раствор, содержащий ДНК, кодирующий информацию с раствором, содержащим дополнение Ватсона-Крика, то произойдёт слияние ДНК и и его дополнения по определенным законам, в этом им поможет лигаза. В результате получится огромный набор полных или не полных решений проблемы и останется только выбрать нужное и прочесть его (далее может потребоваться произвести дополнительные преобразования по примерной схеме). Осталось только выбрать НУЖНОЕ решение из огромного количества мусорных вариантов (найти иголку в стоге сена, нет точнее в бескрайнем поле). Путь решения только один, нужно размножить иголки и сделать их на порядки больше чем сена, чтобы теперь поле стало "иголкой" в стоге ИСКОМЫХ ИГОЛОК. Тут применяется метод Polymeraza Chain Reaction (PCR) - цепочечная реакция полимеразы на внешние раздражители. Для каждого конкретного случая дальнейшие действия будут различны, но все они направлены на фильтрацию искомых решений определённой операции из числа не нужных. Для достижения этих целей возможно применение нагрева, охлаждения, добавлением различных химикатов, помещением раствора в электростатические и магнитные поля и т.д. В конечном итоге в пробирке будут в основном ДНК, содержащие решение операции. Теперь можно считать полученные данные и проводить следующую операцию. Например операция нахождения Гамильтонова пути для графа с n вершинами таким методом практически не зависит от числа вершин (ну это сильно сказанно, так как число вершин - это длинна цепи ДНК, и поэтому чем больше n, тем больше времени уйдёт на создание такой ДНК и на каждую операцию фильтрации и размножения, но скорость увеличения необходимого времени ничтожно меньше чем скорость роста значения n, поэтому отличия в скорости решения скажем для графа с т = 10 в 6 степени почти не заметно если n = 10 в 9 степени, и приемлемо отличается от n = 10 в 20 степени. Но при очень малых n < 100000 этот способ не годится по той же самой причине (есть стартовая точка увеличения требуемого времени и у такой системы она слишком велика). Например для не простого графа с n = 6 в эксперименте ушло 7 дней (можно было бы в идеале сократить до одного), но мощному современному компьютеру потребовались бы доли секунды, ну а скажем x286 процессору с тактовой частотой 5Mhz потребовалось несколько секунд. Но уже при n = 100000 суперкомпьютеру потребуются уже года. А для такого био-ДНК-компьютера неделя другая в самом худшем случае и при сегодняшнем развитии технологии био-ДНК-компьютеров (очень пока ещё убогом) и её новизны и не совершенства. Разница очевидна. Но как видно все аналоговые био-ДНК-компьютеры тупо специализированны под определённую операцию, очень сложны и требуют расходных материалов. Поэтому они всё же не являются повседневными системами будущего, хотя бесспорно будут применяться для таких вот сложных однородных параллельных вычислений. Ну что, ещё не разочаровались в ДНК компьютерах. Читайте дальше и вы поймёте, что не всё ещё потеряно. |
Октябрь 2000 года | 2) Бинарный био-ДНК-компьютер.
Это ещё один вариант аналоговые ДНК компьютеров, но на этот раз оперирующий чисто с бинарной информацией - битами данных, как обычный кремниевый ПК. Принцип построения, действия и выполняемые задачи: Строим граф (опять граф!!!), у которого вершины отображают единичные и нулевые положения начальных значений входных переменных(возможно введение дополнительных вспомогательных переменных), а рёбра - пути возможных присвоении. Всё это опять строится посредством олигонуклеотидов. Перемешивания этого раствора даст множество всех решений проблемы. Осталось лишь выделить нужное решение в зависимости от поставленной задачи и входных параметров. Надо провести определённые логические операции (в зависимости от задачи), сводящиеся к извлечению конкретных ДНК, содержащих нужные биты в нужно месте и задача сводится к обычной аналоговой, описанной выше. На основе такой системы был создан алгоритм взламывания DES шифра (поиска кодирующего ключа) посредством таких вот бинарных био-ДНК-компьютеров по известному исходному отрывку текста и закодированному (главное, чтобы их длины были больше, чем длинна самого ключа). Для достижения результата потребуется совершить около 900 таких вот бинарных операций. При современном уровне технологий это всего 4 месяца для поиска DES ключа почти любой длинны!!! А если развить био-ДНК-технологии до современного уровня развития кремневых конкурентов, то это будут минуты или даже секунды для мощного ДНК компьютера!!! Это дело очень перспективное, но процессы в такой системе не обратимы и после каждой операции приходится готовить раствор заново с новыми входными данными - результатом предыдущей операции. Это есть существенный минус для технологии. Ну что уже ближе к реальным компьютерам? Но всё равно не то. Нет до боли знакомого духа цифры и цифровой структуры. Тогда читаем дальше. Вперёд к цифровым компьютерам. |
Ноябрь 2000 года | 3) Цифровой био-ДНК-компьютер.
Это пока наивысшая точка развития био-ДНК-компьютеров. В ней применяется оригинальная технология стикеров см. ftp://hope.caltech.edu/pub/roweis/DIMACS/stickers.ps. Она касается того, как построить ДНК компьютер, не требующий ни полимеразы, ни лигазы, ни энзимов рестрикции, применяемые в аналоговых био-ДНК-компьютерах, т.е. "многоразовые". Более того, в таком компьютере можно будет использовать ДНК-память с произвольным доступом. Принцип построения, действия и выполняемые задачи: Суть идеи очень проста - кодировать нулевые и единичные состояния бита нужно не разными олигонуклеотидами, а присоединением или отсоединением дополнением Ватсона-Крика к ним. Иначе говоря надо сделать следующее: 1) Задать длину отрезка ДНК, представляющей 1 бит (скажем M оснований). 2) Если объём памяти в цепочке будет N бит, то построить нужную цепочку олигонуклеотидов длиной N*M оснований, такую, чтобы дополнение к любому из этих отрезку длинной M смогло образовать двойную спираль только с этим отрезком. 3) Тогда эту цепочку ДНК можно логически разделить на отрезки длинной M и назвать их битами. Если к данному отрезку присоединено дополнение Ватсона-Крика (так называемы стикер), то бит хранит единицу, в противном случае - 0. Последовательность олигонуклеотидов, ................................................... Разрыв, продолжение >>> |
В начало | Страницы: | 1 2 3 4 5 | В конец |
Внимание, самые последние технологии находятся на страницах с самыми высокими номерами. По умолчанию показывается страница начала последнего обновления, с самыми последними технологиями.