НАУЧНОЕ ИЗДАНИЕ МГТУ ИМ. Н. Э. БАУМАНА
НАУКА и ОБРАЗОВАНИЕ
Эл № ФС77 - 48211. Государственная регистрация №0421200025. ISSN 1994-0408
электронный научно-технический журнал
Снижение вентильной сложности обратимых схем
без использования таблиц эквивалентных замен
композиций вентилей
# 03, март 2014
DOI: 10.7463/0314.0699195
Закаблуков Д. В.
УДК 004.312, 530.145
Россия, МГТУ им. Н.Э. Баумана [email protected]
Введение
Обратимость вычислений может потребоваться в совершенно различных областях науки и техники, таких как квантовые вычисления и нанотехнологии. Данное требование зачастую обусловлено необходимостью максимально снизить величину тепловых потерь. Обратимость вычислений является необходимым условием нулевого уровня тепловых потерь, т. к. потеря информации во время вычислительного процесса приводит к рассеянию энергии, что было доказано в работе [1]. В работе [5] показывается, что величина тепловых потерь, вызванных необратимостью вычислений, в будущем может стать весьма существенной и составлять порядка 106 Вт для устройства, состоящего из 1017 логических вентилей и работающего при комнатной температуре на частоте 10 ГГц (при условии потери 1 бита информации в каждом из логических вентилей на каждом такте работы устройства). Как следствие, схемы из обратимых вентилей могут найти широкое применение в устройствах, работающих в условиях ограниченных вычислительных ресурсов, в том числе и в устройствах защиты информации.
Если алгоритм защиты можно описать обратимым преобразованием и его можно реализовать в обратимой схеме, то в таком случае в одной и той же схеме за счет обратимости реализуется прямой алгоритм и обратный к нему, поэтому можно говорить об оценке сверху для вентильной сложности реализации этих алгоритмов.
Обратимые вентили изучались во многих работах: к примеру, в работе [2] Фейнманом изучаются вентили инверсии NOT и управляемой инверсии CNOT (1-CNOT); в работе [3] изучается элемент Тоффоли (2-CNOT). В работах [4] и [5] доказывается, во-первых, что вентили NOT, 1-CNOT и 2-CNOT задают четные подстановки на множестве Z^ в схемах
с четырьмя и более входами, и во-вторых, что множество подстановок, задаваемых всеми возможными вентилями NOT, 1-CNOT и 2-CNOT в схеме с n > 3 входами, генерирует знакопеременную группу A2n. Другими словами, любую четную подстановку h £ A2n при n > 3 можно реализовать обратимой схемой, состоящей из вентилей NOT, 1-CNOT и 2-CNOT. Алгоритмы синтеза обратимых схем рассматриваются в работах [4, 6, 8, 9, 10, 11, 12, 13]. В работах [6, 9, 13] показывается, что задачу синтеза обратимой схемы, реализующей заданную четную подстановку, можно свести к задаче декомпозиции этой подстановки в композицию транспозиций определенного вида. В работе [7] рассматриваются вопросы эквивалентных замен композиций вентилей, позволяющих привести обратимую схему к определенному виду без изменения результирующего преобразования схемы в целом.
Перед любым алгоритмом синтеза обратимых схем может встать задача снизить по возможности вентильную сложность синтезированной схемы. В большинстве случаев эта задача решается при помощи поиска в схеме композиции вентилей определенного вида и замены ее на эквивалентную композицию вентилей меньшей сложности из заранее сформированной таблицы замен. Такой подход применяется, к примеру, в алгоритмах синтеза, предложенных в работах [7] и [10]. Недостатком такого способа решения задачи снижения вентильной сложности является необходимость построения и хранения больших таблиц замен, а также долгое время поиска замены по таблице. Также стоит отметить неуниверсальность данного подхода в том смысле, что заменяемая композиция вентилей должна строго соответствовать композиции вентилей из таблицы.
В данной работе предлагается способ решения задачи снижения вентильной сложности обратимых схем без использования таблиц замен, основанный на использовании обобщенного представления вентиля k-CNOT для случая нулевого значения на некоторых контролирующих входах.
1. Базовые понятия
Логический вентиль n х m — устройство с n входами и m выходами, дающее на выходах результат булевого преобразования f: Щ ^ Щ1 над входами. Обратимый вентиль n х n (далее просто обратимый вентиль) — логический вентиль n х n, для которого реализуемое им булево преобразование является биекцией. Далее по тексту n обозначает количество входов и выходов обратимого вентиля, если не оговорено иначе. В данной статье среди всех обратимых вентилей будут рассматриваться только вентили NOT и k-CNOT:
1) Nj — вентиль NOT, инвертирующий свой j-й вход:
/not( (xi, ..., Xj, ..., Xn)) = {xi, ..., Xj 0 1, ..., Xn);
2) Cil,...,ik;j — вентиль k-CNOT (инвертор с k контролирующими входами), инвертирующий свой j-й вход тогда и только тогда, когда значение на всех входах i1, ..., ik равно 1:
fk-cnot ((xi, ..., Xj, ... , Xn)) = (xi, ... , Xj 0 Xii Л ... Л Xik, ... , Xn).
Правильно сформированная обратимая схема — ациклическая комбинационная логическая схема, в которой все вентили обратимы и соединены друг с другом последовательно без ветвлений. Вентильная сложность схемы — количество вентилей в ней.
В данной статье рассматриваются только те обратимые схемы, в которых все вентили имеют одинаковое количество входов, при этом выходы одного вентиля напрямую соединяются со входами следующего за ним вентиля. В этом случае входами обратимой схемы являются входы первого вентиля в композиции, выходами — выходы последнего вентиля в композиции. Соединение вентилей (операцию композиции вентилей) будем обозначать *. Пример обратимой схемы при п > 4: С4;1 * С2,з;4 * N4.
2. Обобщенное представление вентиля k-CNOT
Классический вентиль к-СКОТ С^ инвертирует значение на контролируемом входе, когда значение на всех контролирующих входах равно 1. В данной работе предлагается обобщить представление вентиля к-СКОТ для случая нулевого значения на некоторых контролирующих входах.
Определение 1. С/ ;^ 4 — вентиль к-СКОТ, реализующий булево преобразование вида:
fk-cnot ((x1, . . . , xti
Xi ,
Xt ® (л Xi) Л (л j , ..., Xn
где I — множество прямых контролирующих входов; J — множество инвертированных контролирующих входов; t £ I U J; I П J = 0; |I| + | J| = k.
Для удобства примем следующие обозначения: E(t) — вентиль Nt; E(t, I) — вентиль Cj;t; E(t,I,J) — вентиль Cj;J;t. Тогда можно считать, что E(t,I) = E(t,I, 0), E(t) = = E(t, 0, 0). Также вектор (x1, ..., xn) входных значений вентиля будем обозначать x.
Вентиль E(t,I,J) инвертирует значение на контролируемом входе только тогда, когда значение на всех прямых контролирующих входах равно 1 и значение на всех инвертированных контролирующих входах равно 0. Графически прямые контролирующие входы будем обозначать белым кружочком, инвертированные — серым кружочком, контролируемый вход — кружочком со знаком <<+>> внутри; вентиль NOT — кружочком со знаком <<х>> внутри (рис. 1).
а
г
Л'2
А'4 -Ф-•Т5 -Об
г
Х1
ЛЬ Лз
^ -о-
в
Рис. 1. Графическое обозначение обратимых вентилей (n = 5):
а — E(2); б — E(4, {1, 2, 5}); в — E(4, {1}, {2, 5})
Вентили E(t, I, J) могут найти применение в алгоритмах синтеза, основанных на теории групп подстановок, предложенных в работах [6] и [13]. Любой вентиль E(t, I, J) можно представить в виде композиции классических вентилей NOT и k-CNOT (рис. 2).
Рис. 2. Представление вентиля Е(4, {1}, {2, 5}) в виде композиции вентилей Е(2), Е(5) и Е(4, {1, 2, 5}) (п = 5)
В общем случае вентиль Е(£, I, 7) можно заменить без изменения результирующего
преобразования на композицию вентилей ^
* E (t,I U J) * (д 3. Независимые обратимые вентили
При решении задачи снижения вентильной сложности обратимой схемы часто необходимо выяснить, можно ли два подряд идущих вентиля поменять местами без изменения преобразования, реализуемого схемой.
Определение 2. Обратимые вентили Ех и Е2 являются независимыми, если их композицию Ех * Е2 можно заменить на композицию Е2 * Ех без изменения результирующего преобразования. Иначе вентили Ех и Е2 являются зависимыми.
В работе [7] были рассмотрены условия независимости для классических вентилей к-СКОТ. Рассмотрим, при каких условиях являются независимыми вентили Е(£, I, 7). Утверждение 1. Вентили Е(£х, Д, 7х) и Е(£2, 12, 72) являются независимыми, если: 1) = *2;
2) ¿1 £ 12 и 72 и ¿2 £ II и ;
3) Д п 72 = 0 или 12 П = 0.
Доказательство. Для каждого случая рассмотрим функции / (х) = /2 (/х (х)), соответствующую композиции Е(£х, Д, 7х) * Е(£2, 12, 72), и д(х) = /х(/2(х)), соответствующую композиции Е(£2, 12, 72) * Е(£х, Д, 7х), где х — входной вектор значений. Вентили Е(£х, Д, 7х) и Е (£2, 12, 72) будут независимыми, если / (х) = д (х). 1. Обозначим £ = = £2.
/1 (х) = у; у = х при г = £; у = х* © ( Л хЛ Л ( Л X
\7 ¿Л / \3 ¿>1
/(х) = /2(у) = z; = у = X; при г = £.
2 = у © (Л хЛ Л ( Л хЛ = х* © (Л хЛ Л ( Л х7 ) \7 е/2 ) \7 ) \7 е/1 v \.7 ¿Л v
/2 (х) = у7; у = х; при г = £; У = х*
д(х) = /1(у/) = z/; 2 = у; = х; при г = £.
2 = у © (7Лц 7 Л (. л 1^ = х © (. л 7 Л ¿>2 х7
J GJi J
Л x7 ) Л ( Л x. j g/2 v Vj GJ J
j G/2
Л хЛ Л Ax
j GJ2
Vj G/i
z = z' ^ f (x) = g(x).
Л хЛ © Л x. Л Л x
j G/i
j GJi
2. / (х) = у; у = XI при г = ¿1; у^ = х^ Ф ( Л хЛ Л ( Л хЛ.
\7 ел / \з ез 1 /
/(х) = /2(у) = z; . = уг = х4 при г = ¿1, ¿2; = у^ = ж*1 Ф
*2 = у,2 Ф (. Л/2 ) Л (. Л 2 ) = ^ Ф (. Л/2 X-) Л (. Ля х;) .
/2 (х) = у7; уг = хг при г = ¿2; у[2 = х^ Ф ( Л хЛ Л (л хл.
\7 е/2 / \7 ел /
Л х7 Л Л х7 7 е/1 V V/ ел 7
Л х7 Л Л х7 7е/2 V \7ел 7
\7 е/2 / \7 ел
/ (х) = /2 (уг) = zZ; . = уг = хг при г = ¿1М; = уг2 = х^2 Ф < = у,1 Ф (7 Л/1 х7) Л (7 еЛл х7) = х^1 Ф (7 Л/1 х7) Л Л х) .
z = Z/ ^ /(х) = д(х).
3. Пусть 11 П /2 = 0, тогда Зк б 11 П /2, /1 (х) = х при = 0, /2(х) = х при х& = 1. Рассмотрим случай = 0: / (х) = /2 (/1 (х)) = /2 (х). д (х) = /1 (/2 (х)) = /1 (у).
к е /1 П <2 ^ = = 0 ^ д(х) = /1 (у) = у = /2(х) ^ /(х) = д(у).
Рассмотрим случай = 1: / (х) = /2 (/1 (х)) = /2 (у).
к е /1 П <2 ^ ук = = 1 ^ /(х) = /2(у) = у = /1 (х). д(х) = /(/2(х)) = /(х) ^ /(х) = д(у).
Таким образом, для всех значений /(х) = д(у). Аналогично доказывается для случая /2 П /1 = 0. Утверждение доказано.
Примеры независимых вентилей показаны на рис. 3.
Рис. 3. Три случая независимых вентилей
1
2
3
4. Эквивалентные замены композиций вентилей
В работе [7] было предложено несколько эквивалентных замен одной композиции вентилей Е/) на другую. В некоторых случаях такая замена уменьшает вентильную сложность схемы, а в некоторых случаях уменьшает количество контролирующих входов у вентилей. Далее будут приведены эквивалентные замены композиций вентилей Е /, /). Стоит отметить, что словосочетание «композиция вентилей может быть заменена» означает, что результат замены не меняет результирующего преобразования исходной композиции вентилей.
Замена 1. Композиция вентилей Е/) * Е) может быть исключена из схемы.
Доказательство тривиально и следует из определения функции, задаваемой вентилем Е(¿, I, 7). По сути, замена 1 — исключение дублирующих вентилей из схемы.
Замена 2 (слияние). Если Д = !2 и {к}, 72 = и {к}, к £ !2 и то композиция вентилей Е(¿, Д, 7^ * Е(¿, !2, 72) может быть заменена одним вентилем Е(¿, I2, 7х).
Доказательство. Пусть /х(х) задается вентилем Е(£,Д, 71), /2(х) — вентилем
Е (£, !2, 72). Рассмотрим функцию / (х) = /2(/х(х)).
/х(х) = у; у = х7 при г = £; у = © ( Л хЛ Л ( Л хЛ.
07е/1 / 07е> /
11 = Д и {к}, к £ Д ^ у = х4 © хк Л ( Л х^ Л ( ,Л х^.
/(х) = /2(у) = z; = у = х; при г = 24 = у © ( Л хЛ Л ( Л хЛ.
07€/2 / \7eJ2 /
^2 = и {к}, к £ ^ 24 = у © ( Л х^ Л Л ( ^ х^.
24 = х4 © хк Л ( Л х Л Л ( Л х Л © ( Л х Л Л хк Л ( Л х Л.
\7е/2 7 0 \7eJ1 7 0 \7ei2 V \7ел 70
= х4 © (хк © хк) Л ( Л х^ Л ( Л х^ = х4 © ( Л х^ х^.
Функция /(х) = z задается вентилем Е(£, Д, 7^.
Замена 3 (уменьшение количества контролирующих входов). Если существуют такие индексы р и д, что р £ Д П 72, 5 £ 71 П I2, Д = Il \ {р} и {д}, /2 = \ {д} и {р}, то композиция вентилей Е(¿, I1, 71) * Е(¿, I2, 72) может быть заменена композицией вентилей
Е(£, Il, 7з) * Е(£, Д, 7з), где 7з = 71 \ {д} = 72 \ {р}.
Доказательство. Пусть /1(х) задается вентилем Е(£,Д, 71), /2(х) — вентилем Е (£, Д, 72). Рассмотрим функцию / (х) = /2(/1(х)).
/1 (х) = у; у = х; при г = £; у = х4 © ( Л хЛ Л ( Л хЛ.
\7eO1 / \7eJ1 /
5 £ 71 ^ у = х4 © (Л хЛ Л (1 © х„) Л ( Л хЛ.
5 £ Il ^ у = х4 ^ Л х7 © Л хЛ М Л хЛ.
\7е/1 7 7е/1и{д} V \7е> 70
/(х) = /2(у) = z; = у; = х; при г = 24 = у © ( Л хЛ Л ( Л хЛ.
\7е/2 / \7eJ2 /
р £ 72 ^ 24 = у © (Л хЛ Л (1 © х„) Л ( Л хЛ.
07е/2 V р> \7eJ2\W 7/
р £ I2 ^ 24 = у © (Л х 7 © Л хЛ Л ( Л хЛ .
\7е/2 7 7е/2и{Р} V \7е> V
24 = х4 © ( Л х7 © Л хЛ Л ( Л хЛ © ( Л х7 © Л хЛ Л ( Л хЛ.
07е/1 7 7е/1и{д} V \7е>э V \7е/2 7 7е/2и{Р} V \7eJs )
24 = х4 ^ ( Л х 7 © Л х 7 © Л х7 © Л хЛ Л (л хЛ.
\7е/1 ¿е/1и{д} 7е/г 7е/2и{Р} V \7е>э )
12 = Il \ {р} и {д}, р £ Д ^ I2 и{р} = Д и{д} ^ 24 = х4 ©( Л х, © Л хЛ ^ Л х Л.
\7ei1 7^/2 / \7е>з /
24 = х4 ^ Л х л ^ Л х л © Л х л ^ Л х7 .
\7е/1 V \7е>з V \7е/2 V \7е>з 7/
Функция /(х) = z задается композицией вентилей Е(£, Д, 73) * Е(£, I2, 73).
Замена 4 (перестановка зависимых вентилей). Если ¿1 е /2 и <2, ¿2 £ Д и <1, то композиция зависимых вентилей Е (¿1, Д, /1) * Е (¿2, /2, /2) может быть заменена композицией
Е(¿2, /1 и /2 \ {¿1}, <1 и <2 \ {¿1}) * Е(¿2, /2, <2) * Е(¿1, /1, <1).
Доказательство. (/1 и /2) П (< и /2) = (/1 П /1) и (/2 П /1) и (/1 П /2) и (/2 П /2) = = (/2 П /1) и (/1 П /2) = 0, так как в противном случае вентили Е(¿1, /1, /1) и Е(¿2, /2, /2) будут независимыми. Следовательно, вентиль Е(¿2, /1 и /2 \ {¿1}, /1 и /2 \ {¿1}) не нарушает требований, накладываемых на множества прямых и инвертированных контролирующих входов (см. определение 1).
Пусть /1(х) задается вентилем Е(¿1,/1,/1), /2(х) — вентилем Е^2,/2, /2), /з(х) — вентилем Е(¿2, /1 и /2 \ {¿1}, /1 и /2 \ {¿1}). Рассмотрим две функции: /(х) = /2(/1(х)) и д(х) = /1(/2(/з(х))).
/1 (х) = у; уг = хг при г = ¿1; у41 = х41 Ф ( Л хЛ Л ( Л хЛ.
\7е/1 / (ел /
/ (х) = /2 (у) = z; .г = уг = хг при г = ¿2; ^ = у4з Ф ( Л уЛ МЛ у7 у .
\7е/2 / \jeJ2 /
Пусть ¿1 е /2, тогда = х*2 ф у41 Л ( Л х7 ) Л ( Л х Л.
.и = х42 Ф х41 Ф Л х7 Л Л хл Л Л хл Л Л х7 . 2 2 1 1 )7е/1 V )7ел V / Ч^еМ^} V Ч^ез 7
.¿2 = х4 2 Ф Л х л МЛ х л Ф Л х л Л Л х7 .
2 2 \7е/2 V \ieJ2 V Ч^д и/Д^} V Ч^еЛи) 7
¿1 £ <2 ^ = хи Ф ( Л хЛ Л (Л хЛ Ф ( Л хЛ Л ( Л хЛ.
2 2 \7е/2 V \ieJ2 V Ч^ели/Д^} 7) 4^3^32^} 7/
Если же ¿1 е <2, то = х¿2 Ф у41 Л ( Л хЛ Л ( Л хЛ.
\7е/2 / мезд^} /
= х4 2 Ф ( (1 Ф х ^) Ф (Л х Л мл х Л ) мЛ хЛ Л ( Л х Л. 22 ( м'е/1 V \7е31 V) 4^/2 V 47)32^1} V
= х4 2 Ф Л х л МЛ х л Ф Л х л М Л х 7 .
2 2 \7е/2 V \7е32 V Ч7е/1 и/2 7( У^изЛ^ 1} 7
¿1 £ /2 ^ = х42 Ф (Л хЛ МЛ хЛ Ф ( Л хЛ М Л хЛ.
2 2 \7е/2 V \7е32 V 4^/^/2\{*1} 7/ 4^3^32^} 7/
Таким образом, во всех случаях:
.и = х4 2 Ф Л х л МЛ х л Ф Л х л Л Л х 7 . 2 2 \7е/2 V \7е32 V Ч^ед и/2\{*1} V Ч^Ли^и* 1} 7
/"2(/з(х)) = уг; уг = хг при г = ¿2.
у/2 = х4 2 ф л хЛ л л х 7 ф л х Л Мл х, .
2 2 \7е/1и/2\{*1} V \7е31и32\{*1} V \7е/2 V Ч^ез V
д(х) = /1(уг) = z/; .г = у/ при г = ¿1; ./1 = у^ Ф (д у/) Л (д .
¿2 £ /1 и <1 ^ ./1 = х41 ^ л х^ ^ л х^.
z/ = z ^ /(х) = д(х) ^ замена 4 не меняет результирующего преобразования исходной композиции вентилей.
Замена 5 (следствие замены 4). Если в условии замены 4 /1 С /2 и <1 С <2, то композиция зависим^1х вентилей Е (¿1, /1, <1) * Е (¿2, /2, <2) может быть заменена композицией вентилей Е(¿2,/2 и {¿1}, <2 \ {¿1}) * Е(¿1,/1, <1), если ¿1 е <2, и композицией вентилей Е(¿2, /2 \ {¿1}, <2 и {¿1}) * Е^1, /1, <1), если ¿1 е /2.
Доказательство. Согласно условию замены 4, композиция вентилей Е (¿1, Д, 71) *
Е (¿2, I2, 72) может быть заменена композицией Е (¿2, I1 и I2\{£1}, 71 и 72\{Д}) * Е (¿2, I2, 72) * Е (tl,Il,7l).
Il С Д, 71 С 72 ^ Е(¿2, Д и Д \ {¿1}, 71 и 72 \ {¿1}) = Е(¿2, Д \ {¿1}, 72 \ {¿1}).
Пусть Д £ 72, тогда Е(Д, I2 \ {Д}, 72 \ {Д}) = Е(¿2, I2, 72 \ {Д}). Рассмотрим функцию
/(х) = /2(Д(х)), задаваемую композициейЕ(¿2, I2, 72\{Д})*Е(¿2, I2, 72), где Д(х) задается
вентилем Е(¿2, I2, 72 \ {Д}), а /2(х) — вентилем Е(¿2, I2, 72).
/1(х) = у; у; = х; при г = ¿2; у42 = х42 © ( Л хЛ л( Л хл.
\7е/2 / 07еМ{41} /
/(х) = /2(у) = z; 2; = у; = х; при г = ¿2; 242 = ^ © ( .Л х7 ) л (. л х7 ) .
242 = х42 © Л х7- Л Л х7 © Л х7- Л Л х7 .
2 2 \7е/2 V \7eJ2\{41} V \7е/2 V \7eJ2 7
242 = х42 © Л хЛ Л Л хЛ © х4-, Л Л х7
2 2 \7е/2 V \^'е>2\{41} Ч 1 \7е>2\{41} 7
242 = х42 © Л х7 Л Л х7 .
2 2 Ч7е/2и{41} Ч \7е>2\{41} V
Таким образом, при Д £ 72 функция /(х) задается вентилем Е(¿2, I2 и {Д}, 72 \ {Д}). Пусть Д £ I2, тогда Е(¿2, I2 \ {Д}, 72 \ {Д}) = Е(¿2, !2 \ {Д}, 72). Рассмотрим функцию д(х) = д2(д1(х)), задаваемую композицией Е(¿2, I2\{Д}, 72) *Е(¿2, I2, 72), где д1(х) задается вентилем Е(¿2, Д \ {Д}, 72), а д2(х) — вентилем Е(¿2, !2, 72).
д1(х) = у7; у = х пРи г = ¿2; у^ = х42 © ( Д хЛ л (Д хЛ.
^е/2\{41} / \jeJ2 /
д(х) = д2(у0 = z/;2 = у; = х приг = ¿2; 4 = у[2 © (дх) л (дх).
2/ = х 42 © ( Л хЛ Л I Л хЛ © (Л хЛ л (л хЛ.
42 2 \7е/2\{41} 7/ \7eJ2 V \7е/2 V \7е>2 V
242 = х42 ф ( Л х7 ) Л ( ( Л х Л ф х4Л ( Л х7 2 2 07е>2 Ч V ^'е/2\{41} Ч 1 \7е/2\{41} 7
242 = х42 © Л х7 Л Л х7
2 2 \?е/2\{41} Ч \7eJ2 и{41} 7
Таким образом, при Д £ I2 функция д(х) задается вентилем Е(¿2, !2 \ {Д}, 72 и {Д}).
Замена 6 (зеркальное отображение замены 4). Если ¿2 £ I1 и 7х, Д £ I2 и 72, то композиция зависимых вентилей Е(Д, Д, 7х) * Е(¿2, I2, 72) может быть заменена композицией вентилей Е(Д, Д, 72) * Е(¿1, Д, 7х) * Е(¿1,71 и Д \ {¿2}, 7х и 72 \ {¿2}).
Доказательство этой замены аналогично доказательству для замены 4.
Замена 7 (следствие замены 6). Если в условии замены 6 Д С Д и 72 С 7х, то композиция зависимых вентилей Е(Д, Д, 7х) * Е(¿2, I2, 72) может быть заменена композицией вентилей Е(¿2,Д,72) * Е(Д,Д и {¿2},7х \ {¿2}), если Д £ 7х, и композицией вентилей Е(¿2, Д, 72) * Е(¿1, Il \ {¿2}, 71 и {¿2}), если ¿2 £ Д.
Доказательство аналогично доказательству для замены 5.
Замена 8. Вентиль Е(¿, I, 7) можно заменить на композицию вентилей:
Е«) *Е <'•' и 7) *0 * Е <4
Доказательство следует из рис. 2 и определения вентиля Е(¿, /, <).
Замена 9. Если к е <, то вентиль Е (¿, /, <) можно заменить на композицию вентилей
Е(¿, / и {к}, < \ {к}) * Е(¿, /, < \ {к}).
Доказательство. Пусть / (х) задается вентилем Е(¿,/и {к}, < \ {к}), /2(х) — вентилем Е(¿, /, < \ {к}). Рассмотрим функцию /(х) = /2(/1 (х)).
/1 (х) = у; уг = хг при г = ¿; уг = х* Ф ( Л хЛ Л ( Л хЛ.
\7е/и{&} / \7eJ\ifc} /
47 е/и{&}
/(х) = /2(у) = z; .г = уг = хг при г = ¿; ^ = у4
^ = х* Ф ( Л х7 Л Л х7 Ф Л х7 \7'е/и{&> V ел){&} V \7е/ 7
Л
7 ез ){&}
Л х7 ) Л ( Л х7 7е/ V ез\{&} 7
Л х7 7ез\{&} 7
^ = х^ Ф Л х7 Ф Л х7 Л Л х
7е/и{&}
7 е/
7 ез\{&}
х7
к е / ^ * =х ф (о. ф ) л (.Л/ х-)) л (. е х) =х ф (.Л/х) л (.л
Функция / (х) = z задается вентилем Е (¿, /, <).
Стоит также отметить, что вентиль к-СКОТ, к < п — 1, может быть заменен композицией не более чем 8(п — 5) вентилей 2-СКОТ без использования дополнительных входов в схеме [4].
Примеры эквивалентных замен показаны на рис. 4.
Рис. 4. Примеры эквивалентных замен композиций вентилей Можно выделить еще два частных случая замены «слиянием».
Замена 10 (обратная к замене 9). Если /1 = /2 и{к}, то композиция вентилей Е (¿,/1, <) * Е(¿, /2, <) может быть заменена одним вентилем Е(¿, /2, < и {к}).
Замена 11. Если <1 = <2 и {к}, то композиция вентилей Е(¿, /, <1) * Е(¿, /, <2) может быть заменена одним вентилем Е(¿, / и {к}, <2).
Доказательство корректности замен 10 и 11 вытекает из доказательства корректности замен 1 и 9. Примеры замен 10 и 11 показаны на рис. 5.
1
2
3
4
5
6
7
8
9
10
11
Рис. 5. Частные случаи замены композиций вентилей «слиянием»
5. Снижение вентильной сложности
Предложенные эквивалентные замены композиций вентилей позволяют в некоторых случаях снизить вентильную сложность обратимой схемы. В основном для этого используется замена, исключающая дублирующие вентили (1), и замены слиянием (2, 10 и 11). Замены 3-7 позволяют получить новую обратимую схему с новыми вентилями, для которой можно снова попробовать использовать замены 1,2, 10 и 11. В случае, когда вентильную сложность уже невозможно снизить, то можно использовать замены 8 и 9, чтобы заменить все вентили E(t,I,J) на классические вентили NOT и k-CNOT и получить обратимую схему, не содержащую вентилей E(t, I, J).
Пусть обратимая схема представляет собой композицию вентилей * E^, где l — вентиль-
i=1
ная сложность схемы. Если композиция вентилей Ei * Ej удовлетворяют условию какой-либо замены, i < j, и при этом существует такой индекс s, i ^ s < j, что вентили Ei и Ek являются независимыми для всех i < k ^ s, и вентили Ej и Ek являются независимыми для всех s < k < j, то вентили Ei и Ej можно исключить из схемы, а результат замены композиции Ei * Ej вставить в схему между вентилями Es и Es+.
На рис. 6 в качестве примера показан процесс применения эквивалентных замен композиций вентилей для некоторой абстрактной схемы.
Рис. 6. Процесс снижения вентильной сложности схемы: 1 — исходная схема; 2 — схема после применения замены 5; 3 — схема после применения замены 11; 4 — схема после применения замены 1
Заключение
Предложенные в данной статье эквивалентные замены композиций обратимых вентилей позволяют решать задачу снижения вентильной сложности обратимой схемы без применения таблиц замен. Использование обобщенных вентилей Е(£, I, J) позволяет существенно расширить набор замен, по сравнению с набором замен, предложенным в работе [7]. Достоинством описанного способа решения задачи снижения вентильной сложности обратимой
схемы является отсутствие необходимости в предварительном построении и последующем использовании таблиц замен, что может существенно сократить время работы алгоритма снижения вентильной сложности схемы и требуемый этим алгоритмом объем памяти. Также стоит отметить, что предложенный подход применим для обратимых схем с любым количеством входов и содержащих вентили k-CNOT с любым количеством контролирующих входов, в отличие от подхода, использующего таблицы замен.
Направлением дальнейших исследований является изучение временной сложности алгоритма снижения вентильной сложности обратимой схемы, использующего предложенные замены. Планируется проведение экспериментов по снижению вентильной сложности известных на данный момент обратимых схем, состоящих из вентилей NOT и k-CNOT.
Список литературы
1. Bennett C.H. Logical Reversibility of Computation // IBM Journal of Research and Development. 1973. Vol. 17, no. 6. P. 525-532. DOI: 10.1147/rd.176.0525
2. Feynman R.P. Quantum Mechanical Computers // Foundations of Physics. 1986. Vol. 16, no. 6. P. 507-531. DOI: 10.1007/BF01886518
3. Toffoli T. Reversible Computing // In book: Automata, Languages and Programming. Springer Berlin Heidelberg, 1980. P. 632-644. DOI: 10.1007/3-540-10003-2.104 (Ser. Lecture Notes in Computer Science; vol. 85).
4. Shende V.V., Prasad A.K., Markov I.L., Hayes J.P. Synthesis of Reversible Logic Circuits // IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. 2006. Vol. 22, no. 6. P. 710-722. DOI: 10.1109/TCAD.2003.811448
5. Закаблуков Д.В., Жуков A.E. Исследование схем из обратимых логических элементов // Информатика и системы управления в XXI веке: сб. трудов молодых ученых, аспирантов и студентов. Вып. 9. М.: МГТУ им. Н.Э. Баумана, 2012. С. 148-157.
6. Закаблуков Д.В. Синтез схем из обратимых элементов // XX Всероссийская научно-практическая конференция «Проблемы информационной безопасности в системе высшей школы», МИФИ (Москва, 01-06 февраля 2013 г.): тез. докл. М.: МИФИ, 2013. С. 100-101.
7. Iwama K., Kambayashi Y., Yamashita S. Transformation Rules for Designing CNOT-based Quantum Circuits // Proceedings of the 39th annual Design Automation Conference (DAC'02). 2002. P. 419-424. DOI: 10.1145/513918.514026
8. Khlopotine A.B., Perkowski M.A., Kerntopf P. Reversible Logic Synthesis by Iterative Compositions // Proc. of the International Workshop on Logic Synthesis. 2002. P. 261-266.
9. Yang G., Song X., Hung W.N., Perkowski M.A. Fast Synthesis of Exact Minimal Reversible Circuits Using Group Theory // Proceedings of the 2005 Asia and South
Pacific Design Automation Conference (ASP-DAC'05). 2005. P. 1002-1005. DOI: 10.1145/1120725.1120777
10. Miller D.M., Maslov D., Dueck G.W. A Transformation Based Algorithm for Reversible Logic Synthesis // Proceedings of the 40th annual Design Automation Conference (DAC'03). 2003. P. 318-323. DOI: 10.1145/775832.775915
11. Miller D.M. Spectral and Two-Place Decomposition Techniques in Reversible Logic // Proceedings of the 45th Midwest Symposium on Circuits and Systems Conference (MWSCAS'02). 2002. P. 493-496. DOI: 10.1109/MWSCAS.2002.1186906
12. Saeedi M., Sedighi M., Zamani M.S. A Novel Synthesis Algorithm for Reversible Circuits // Proceedings of International Conference on Computer-Aided Design (ICCAD'07). 2007. P. 65-68. DOI: 10.1109/ICCAD.2007.4397245
13. Yang G., Song X., Hung W.N., Xie F., Perkowski M.A. Group Theory Based Synthesis of Binary Reversible Circuits // Proceedings of the Third international conference on Theory and Applications of Models of Computation (TAMC'06). 2006. P. 365-374. DOI: 10.1007/11750321_35
SCIENTIFIC PERIODICAL OF THE BAUMAN MSTU
SCIENCE and EDUCATION
EL № FS77 - 48211. №0421200025. ISSN 1994-0408
electronic scientific and technical journal
Reduction of the reversible circuits gate complexity
without using the equivalent replacement tables
for the gate compositions
# 03, March 2014
DOI: 10.7463/0314.0699195
Zakablukov D. V.
Bauman Moscow State Technical University 105005, Moscow, Russian Federation [email protected]
The subject of study of this paper is reversible logic circuits. The irreversibility of computation can lead in the future to significant energy loss during the calculation process. Reversible circuits can be widely used in devices operating under conditions of limited computational resources.
Presently, the problem of reversible logic synthesis is widely studied. The task a synthesis algorithm can face with is to reduce the gate complexity of synthesized circuit. One way to solve this problem is to use equivalent replacement tables for the gate compositions. The disadvantage of this approach is that it is necessary to build replacement tables, it takes a long time to find the replacement in the table, and there is no way to build an appropriate universal replacement table for arbitrary reversible circuit. The aim of this paper is to develop the solution for the problem of gate complexity reduction for the reversible circuits without using equivalent replacement tables for the gate compositions.
This paper makes a generalization of the k-CNOT gate for the case of zero value at some of the gate control inputs. To describe such gates it suggests using a set of direct control inputs and a set of inverted ones. A definition of the independence of two reversible gates is introduced. Two independent gates standing next to each other in the circuit can be swapped without changing the circuit result transformation. Various conditions of the independence of two reversible gates are considered including conditions imposed to the set of direct control inputs and the set of inverted ones. It is proved that two gates are independent if there is, at least, one common control input, which differs only by the type (direct or inverted).
Various equivalent replacements of two k-CNOT gates compositions and its conditions imposed to the set of direct control inputs and to the set of inverted ones are considered. The proof of correctness for such replacements is provided by comparing result transformations of the gate compositions before and after replacement. Operations on the set of direct control inputs and on
the set of inverted ones are widely used in the proof. The paper shows that two identical gates being nearby in the circuit can be excluded from it. It also shows that sometimes a composition of two gates can be replaced with the one gate, if the gates differ from each other by only one control input. The part of the equivalent replacements suggests in the paper does not reduce the gate complexity, but allows the new reversible gates to be available. In some cases after applying such replacements a new pair of gates can be found to satisfy the condition of another replacement reducing the gate complexity. The set of equivalent replacements proposed in this paper is significantly expanded comparing to the sets of equivalent replacements described in other papers.
The paper describes the algorithm to reduce the reversible circuit gate complexity using the conditions of the gates independence and the proposed equivalent replacements of gate compositions. The algorithm is based on searching the pair of gates, which satisfy a condition of some replacement and which can be moved to each other without changing the circuit resultant transformation (conditions of gates independence proposed in this paper are checked). An example of using this algorithm in some abstract reversible circuit is offered.
The advantage of the proposed approach is that it does not require replacement tables to be built, and the gate complexity can be reduced for the arbitrary circuit consisted of k-CNOT gates. Further, an assessment of the time complexity of the proposed algorithm of the gate complexity reduction is supposed to be given.
Publications with keywords: reversible logic, equivalent replacement, complexity reduction Publications with words: reversible logic, equivalent replacement, complexity reduction
References
1. Bennett C.H. Logical Reversibility of Computation. IBM Journal of Research and Development, 1973, vol. 17, no. 6, pp. 525-532. DOI: 10.1147/rd.176.0525
2. Feynman R.P. Quantum Mechanical Computers. Foundations of Physics, 1986, vol. 16, no. 6, pp. 507-531. DOI: 10.1007/BF01886518
3. Toffoli T. Reversible Computing. In book: Automata, Languages and Programming. Springer Berlin Heidelberg, 1980, pp. 632-644. DOI: 10.1007/3-540-10003-2.104 (Ser. Lecture Notes in Computer Science; vol. 85).
4. Shende V.V., Prasad A.K., Markov I.L., Hayes J.P. Synthesis of Reversible Logic Circuits. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2006, vol. 22, no. 6, pp. 710-722. DOI: 10.1109/TCAD.2003.811448
5. Zakablukov D.V., Zhukov A.E. [Study of reversible logic elements schemes]. Informatika i sistemy upravleniya v 21 veke: sb. trudov molodykh uchenykh, aspirantov i studentov [Informatics and control systems in the 21st century: collection of papers of young scientists, postgraduates and students]. Iss. 9. Moscow, Bauman MSTU Publ., 2012, pp. 148-157. (in Russian).
6. Zakablukov D.V. [Synthesis of schemes of invertible elements]. 20 Vserossiyskaya nauchno-prakticheskaya konferentsiya "Problemy informatsionnoy bezopasnosti v sisteme vysshey shkoly": tez. dokl. [Abstracts of 20 International Scientific andPractical Conference "Problems of Information Security in the Higher School"], MIFI, Moscow, 1-6 February 2013. Moscow, MIFIPubl., 2013, pp. 100-101. (in Russian).
7. Iwama K., Kambayashi Y., Yamashita S. Transformation Rules for Designing CNOT-based Quantum Circuits. Proceedings of the 39th annual Design Automation Conference (DAC'02), 2002, pp. 419-424. DOI: 10.1145/513918.514026
8. Khlopotine A.B., Perkowski M.A., Kerntopf P. Reversible Logic Synthesis by Iterative Compositions. Proc. of the International Workshop on Logic Synthesis, 2002, pp. 261-266.
9. Yang G., Song X., Hung W.N., Perkowski M.A. Fast Synthesis of Exact Minimal Reversible Circuits Using Group Theory. Proceedings of the 2005 Asia and South Pacific Design Automation Conference (ASP-DAC'05), 2005, pp. 1002-1005.
10. Miller D.M., Maslov D., Dueck G.W. A Transformation Based Algorithm for Reversible Logic Synthesis. Proceedings of the 40th annual Design Automation Conference (DAC'03), 2003, pp. 318-323. DOI: 10.1145/775832.775915
11. Miller D.M. Spectral and Two-Place Decomposition Techniques in Reversible Logic. Proceedings of the 45th Midwest Symposium on Circuits and Systems Conference (MWSCAS'02), 2002, pp. 493-496. DOI: 10.1109/MWSCAS.2002.1186906
12. Saeedi M., Sedighi M., Zamani M.S. ANovel Synthesis Algorithm for Reversible Circuits. Proceedings of International Conference on Computer-Aided Design (ICCAD'07), 2007, pp. 6568. DOI: 10.1109/ICCAD.2007.4397245
13. Yang G., Song X., Hung W.N., Xie F., Perkowski M.A. Group Theory Based Synthesis of Binary Reversible Circuits. Proceedings of the Third international conference on Theory and Applications of Models of Computation (TAMC'06), 2006, pp. 365-374. DOI: 10.1007/11750321_35