Універсальність воріт Тоффолі


20

Щодо квантових воріт Тоффолі :

  1. це класика універсальна, і якщо так, то чому?
  2. чи квантово універсальний, і чому?

У неквантній логіці ви показуєте, що інший набір булевих операторів, який, як відомо, є універсальним, може бути імітований набором. Я не знаю, чим це то ж саме у квантовому світі, але я би так вважав.
Рафаель

8
У квантовій логіці ворота Тоффолі не є універсальними, тому що ви можете робити тільки класичні обчислення з ним. Вам також потрібні квантові ворота, які, якщо вхід знаходиться в базовому стані, ставлять вихід у суперпозицію базових станів.
Пітер Шор

Я усвідомлюю, що питання може бути заплутаним, можливо, його слід редагувати, щоб задати різницю між універсальністю у квантовому / класичному світі.
Ран Г.

Я відредагував свою відповідь, щоб висвітлити квантовий випадок. Що ти думаєш зараз?
Віктор Стафуса

1
@RanG. Ми повинні показати шлях для майбутніх запитань, це питання позначене темою домашнього завдання, але, здається, ви не пояснюєте, чому ви не могли його вирішити самостійно (і де криється проблема). Я думаю, що це не гарне питання для приватної бета-версії (див. Мета-дискусію ). Я голосую за закриття цього питання.
Гопі

Відповіді:


13

Toffoli є універсальним для класичних обчислень (як показав @Victor). Однак Тоффолі НЕ є універсальним для квантових обчислень (якщо тільки у нас є щось божевільне, як ).P=BQP

Щоб бути універсальним для квантових обчислень (за звичайним визначенням), група, породжена вашими воротами, повинна бути щільною в одиницях. Іншими словами, з огляду на довільну та цільову унітарну U є певний спосіб застосувати кінцеве число ваших квантових воріт, щоб отримати одиничне U ' таке, що |ϵUU .||UU||<ϵ

Тоффолі сам по собі очевидно не є універсальним за цим визначенням, оскільки він завжди приймає базові стани до базових станів, і, таким чином, не може реалізувати щось, що вимагає , наприклад. Іншими словами, він не може створити суперпозицію.|012(|0+|1)


10

З статті, яку ви цитували у Вікіпедії :

Ворота Тоффолі універсальні; це означає, що для будь-якої булевої функції f (x1, x2, ..., xm) існує схема, що складається з воріт Toffoli, яка приймає x1, x2, ..., xm та деякі додаткові біти, встановлені на 0 або 1 та виводи x1, x2, ..., xm, f (x1, x2, ..., xm) та деякі додаткові біти (звані сміттям). По суті, це означає, що можна використовувати ворота Toffoli для побудови систем, які будуть виконувати будь-які бажані булеві функції обчислення зворотним чином.

Що означає простою думкою, що будь-яка булева функція може бути побудована лише з воротами Toffoli.

Булові функції, як правило, будуються з воріт АБО, І, І НЕ, які можуть бути об'єднані для формування будь-якої булевої функції. Загальновідомо, що те саме можливо лише з воротами NOR або лише з воротами NAND.

Ворота Тоффолі можуть бути зведені як:

Toffoli(a,b,c)={(a,b,¬c)when a=b=1(a,b,c)otherwise.

Оскільки перший та другий виходи завжди рівні першого та другого входів, ми можемо їх розглянути. Отже, у нас є:

Toffoli(a,b,c)={¬cwhen a=b=1cotherwise.

З цим можна визначити ворота NAND як:

NAND(a,b)=Toffoli(a,b,1)

Оскільки ворота NAND є універсальними і ворота NAND можуть бути визначені як ворота Toffoli, то ворота Toffoli є універсальними.

Є ще один спосіб довести, що Toffoli є універсальним, шляхом прямої побудови воріт AND і NOT:

NOT(x)=Toffoli(1,1,x)

AND(a,b)=Toffoli(a,b,0)

Тоді ми можемо побудувати ворота АБО, використовуючи закони Де Моргана :

OR(a,b)=NOT(AND(NOT(a),NOT(b))=Toffoli(1,1,Toffoli(Toffoli(1,1,a),Toffoli(1,1,b),0))


EDIT, оскільки питання було відредаговано та його зміна:

По-перше, я не розумію кількісних обчислень, тому, якщо щось не так, будь ласка, додайте коментар. Я зробив невелике дослідження, щоб спробувати виконати цю відповідь і закінчився цим:

Ворота Тоффолі є оборотними (але вищевказані тоффолі не використовуються). Це означає, що будь-які обчислення, зроблені з ним, можна скасувати. Це:

(a,b,c)=Toffoli(Toffoli(a,b,c))

Що означає, що для будь-якої трійки (a, b, c), якщо Toffoli застосовується двічі, вихідний вхід отримується як вихід.

Оборотність важлива, оскільки квантові ворота повинні бути оборотні, тому (класичні) ворота Тоффолі можуть використовуватися як квантові ворота завдяки цьому.

Як продемонстровано тут , ворота Deutsch визначені аналогічно, що і ворота Toffoli, але замість класичних воріт вони є кількісними:

Deutsch(a,b,c)=|a,b,c{icos(θ)|a,b,c+sin(θ)|a,b,1cfor a=b=1|a,b,cotherwise.

Таким чином, ворота Тоффолі є особливим випадком воріт Deutsch, де:

Toffoli(a,b,c)=Deutsch(π2)(a,b,c)

π2

Універсальний квантовий набір Tgate може бути отриманий, якщо поєднати ворота Тоффолі з воротами Адамара. Саме цим займаються ворота Deutsch.

Цікаві посилання можна знайти тут , тут і тут . Можливим цінних довідковим, показуючи основи Дойч перетворення повинні бути тут , однак посилання захищений паролем.


Тоффоллі не є універсальним для квантових обчислень, а також не є CNOT сам по собі. Це легко помітити, оскільки вони не можуть створити суперпозицію.
Артем Казнатчеєв

{}

Ваша посилання в редакції 2 невірна. У цій статті чітко сказано, що Тоффолі + Адамард є універсальним, а не Тоффолі сам по собі
Артем Казнатчеєв

@ArtemKaznatcheev: У статті йдеться про "Тоффолі та Адамард". Тоді я подумав, що це означає "Тоффолі - приклад, а Хадамарт - ще один". У будь-якому випадку це вже зрозуміло.
Віктор Стафуса

Я це відредагував, зараз має бути добре.
Віктор Стафуса
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.