QUOTE (Lost_Stranger @ 16.07.13 - 08:13) |
QUOTE (onehalf3554) | Сразу встаёт вопрос на какую шину? |
Халф, не тупи. Адресация для КК пока возможна строго по шине АДРЕСА, поскольку другие шины реализованы лишь для обычных ПК/СК, а для КК нет даже теоретических подходов к их практической реализации, потому речь за них тут вообще не ведётся. Ты напостил кучу картинок, которые совершенно НЕ ИМЕЮТ никакого отношения к КК, о котором идёт речь, но зато позволяют тебе потешить своё ЧСВ. Я прекрасно знаю про адресацию памяти в нынешних ПК/СК, но речь не о них совершенно. Сейчас для КК нет иного подхода, кроме физической адресации подсистем кубитов (по твоим же слова "было когда-то давно" :D), и поэтому здесь твоя отсылка к VM совершенно неуместна.
QUOTE (onehalf3554) | Как выполнить такую комманду: xchg eax,ebx '(поменять содержимое регистров местами)
|
А никак!.. Я тебе уже говорил, что классические алгоритмы неприменимы к КК:
QUOTE | Упрощённая схема вычисления на квантовом компьютере выглядит так: берется система кубитов, на которой записывается начальное состояние. Затем состояние системы или её подсистем изменяется посредством унитарных преобразований, выполняющих те или иные логические операции. В конце измеряется значение, и это результат работы компьютера. Роль проводов классического компьютера играют кубиты, а роль логических блоков классического компьютера играют унитарные преобразования. Данные в процессе вычислений представляют собой квантовую информацию, которая по окончании процесса преобразуется в классическую путём измерения конечного состояния квантового регистра. Выигрыш в квантовых алгоритмах достигается за счёт того, что при применении одной квантовой операции большое число коэффициентов суперпозиции квантовых состояний, которые в виртуальной форме содержат классическую информацию, преобразуется одновременно. |
Далее:
QUOTE | В квантовой механике состояние квантовой системы описывается вектором в гильбертовом пространстве. Норма вектора состояния изолированной квантовой системы описывает вероятность найти систему хоть в каком-либо состоянии, а значит, она обязана равняться единице. Соответственно, эволюция квантовой системы во времени — это некоторый оператор, зависящий от времени, и, из-за требования сохранения нормы, он является унитарным. Неунитарные операторы эволюции (или, что то же самое, неэрмитовые гамильтонианы) для изолированной квантовой системы запрещены в квантовой механике. |
Так и в итоге (на примере алгоритма Гровера - GSA):
QUOTE | Смысл GSA состоит в «подскоке амплитуды» (amplitude amplification) целевого состояния за счет убывания амплитуды всех других состояний. Геометрически GSA заключается во вращении текущего вектора состояния квантового компьютера по направлению точно к целевому состоянию (движение по наикратчайшему пути обеспечивает оптимальность GSA). Каждый шаг дает вращение на определённый угол. Дальнейшее продолжение итераций оператора G даст продолжение обхода окружности в вещественной плоскости, порождённой данными векторами. Гроверовский «подскок амплитуды» является, по-видимому, фундаментальным физическим феноменом в квантовой теории многих тел. Например, его учет необходим для оценки вероятностей событий, которые кажутся «редкими». Процесс, реализующий схему GSA, приводит к взрывному росту первоначально пренебрежимо малой амплитуды, что способно быстро довести ее до реально наблюдаемых величин. |
Иными словами в отдельно взятый кубит не пишется ничего в принципе, но меняется состояние ВСЕЙ подсистемы кубитов ЦЕЛИКОМ, которая и может рассматриваться как ячейка памяти, но любое обращение к ней (даже на чтение) изменит её состояние тоже, и потому нет никакого смысла менять содержимое ячеек местами, ибо это содержимое в них УЖЕ содержит ВСЕ допустимые состояния(содержания). Управляющий обычный ПК принимает стандартные команды, о которых пишешь ты, но они нужны ему лишь для управления квантовым вычислением (т.е. последовательностью унитарных операторов), которое меняет состояние подсистемы или их множества в КК. Отсюда (из понимания состояний квантовых систем), я надеюсь, тебе должно быть понятно, что, если М-теория верна, то любая известная нам элементарная частица - это лишь вариация одной единственной, которая есть квантовая система с набором характеристик в 10 (а возможно и 12) штук. Меняя эти характеристики исходной квантовой системы, мы получим любую из возможных элементарных частиц (вернее её конкретную реализацию, поскольку остальной набор всех возможных состояний/реализаций так же будет присутствовать в ней, но в квантовой суперпозиции). И в этом смысле элементарная частица есть куэнк, т.е. квантовая ячейка (элемент для хранения информации), который мы можем заюзать в подсистеме куэнков. Например, диаграммы Фейнмана - это ни что иное, как фиксация двух состояний квантовой подсистемы, для которой выполнен один унитарный оператор. Другими словами это графическое отображение изменения информации, которую мы пока не можем правильно интерпретировать.
QUOTE (onehalf3554) | в нашем мухосранске |
|
Короч. Напостил я кучу картинок , чтобы тебе стало хоть чуть-чуть понятно КАК
происходит адресация в современном мире. Не в том который был 1000 лет назад.
Если нет ардесации кубитов - непонятно зачем нужна память адресация в которой невозможна в принципе - т.е. в туда можно что-то записать(теоретически а вот сделать fetch уже никак) - а вот считать уже никак.
Смысл любой программы в том, чтобы чётко управлять каждым её шагом.
т.е. программа в которой каждое изменение кубита , влечёт за собой изменение
состояния всей памяти(причём это марковский процесс -
http://ru.wikipedia.org/wiki/%D0%9C%D0%B0%...%B5%D1%81%D1%81)
Зачем эти кубиты тогда? Quitter который ты тут весьма надменно пытался демонстрировать ничто иное как интерпретатор с кода на haskel а вот как уже с хаскела всё
компилируется в исполнимый код КК - совершенно непонятно. Зачем Quitter если можно
писать сразу на haskel???
Для крутости и экзотики? Это примерно как я буду писать на китайском , чтобы переводчик тебе переводил это на русский, окромя потери производительности - ничего.
Код писанный на Quitter - однопоточен, циклы организуются очень проблематично,
из-за этого предлагается использовать рекурсию.
Просто для любого цикла нужна адресация.
Ведь программа - это данные, которые читаются и исполняются.
Следовательно процессор читает команды в зависимоти от состояния некоторых регистров в частности ip и выполняет их какимто образом, в случае с КК.
Получить цикл или переход по адресу невозможно,
что делает цыклы просто невозможными,
да и рекурсия весьма проблематична.
В текущем состоянии дел насколько я понял К.К. - это большой набор марковских процессов,
с большим трудом управляемых. Ub в чистом виде.
mr1 очень оптимистично настроен по отношению к К.К. Если не возможно работать с памятью - нет адресации нет памяти-
если нет внутренних регистров. Таких как например аккумулятор, программировать такое барахло-очень сложно.Возможно трудоёмкость написания простейших программ будет выше чем на чём угодно другом. Это примерно как первые ламповые компьютеры.Может лет через 100 что-то и изменится но пока всё не оптимистично ниразу.