УДК 519.713:681.326 И. В. ХАХАНОВА
КВАНТОВЫЙ ПРОЦЕССОР ОПТИМАЛЬНОГО ПОКРЫТИЯ
Предлагаются кубитные (квантовые) структуры данных и вычислительных процессов для существенного повышения быстродействия при решении задач поиска, распознавания, принятия решений, дискретной оптимизации и отказоустойчивого проектирования. Приводится суперпозиционный метод синтеза куба функциональности для ее имплемента-ции в кристаллы программируемой логики. Описываются аппаратно-ориентированные модели параллельного (за один цикл) вычисления булеана (множества всех подмножеств) на универсуме из п примитивов для решения задач покрытия, минимизации булевых функций, сжатия данных, синтеза и анализа цифровых систем за счет реализации процессорной структуры в форме диаграммы Хассе. Предлагается прототип квантового устройства, реализованного на основе программируемой логики, для оптимального решения задачи покрытия при анализе киберпространства.
1. Введение
Квантовые вычисления в последние годы становятся интересными для анализа кибернетического пространства, создания новых Интернет-технологий благодаря их некоторой альтернативности существующим моделям вычислительных процессов. Кроме того, рыночная привлекательность квантовых или кубитных моделей основывается на высоком параллелизме решения практически всех задач дискретной оптимизации, факторизации, минимизации булевых функций, эффективного сжатия, компактного представления и теле-портации данных, отказоустойчивого проектирования [1-10] за счет существенного повышения аппаратных затрат. Но такая плата в настоящее время вполне допустима, поскольку существуют проблемы заполнения площадей силиконового кристалла, который содержит до 1 миллиарда вентилей при толщине пластины, равной 5 микрон. При этом современные технологии допускают создание пакета или «сэндвича», содержащего до 7 кристаллов, что соизмеримо с объемом нейронов головного мозга человека. Практически «беспроводное» соединение таких пластин основывается на технологической возможности сверления порядка 10 тысяч сквозных отверстий (vias) на 1 квадратном сантиметре. Наполнить полезной функциональностью такой объем допустимых на кристалле вентилей в настоящее время проблематично. Поэтому можно и нужно использовать «жадные» к аппаратуре модели и методы для создания. Благодаря дискретности и многозначности алфавитов описания информационных процессов, свойство параллелизма, заложенное в квантовых вычислениях, является особенно востребованным при создании эффективных и интеллектуальных «движков» для киберпространства или Интернета [11]; средств синтеза отказоустойчивых цифровых примитивов и систем [12]; тестирования и моделирования цифровых систем на кристаллах [13-15]; технологий защиты информации и компьютерных систем [5-7]. Здесь не рассматривается физическая основа квантовых вычислений, изначально заложенная в трудах ученых, ориентированных на возможность использования недетерминированных квантовых взаимодействий на уровне атома [16-17].
2. Кубитные, квантовые модели данных и вычислительных процессов
Квантовый компьютер предназначен для отказоустойчивого проектирования и решения
оптимизационных задач, связанных с полным перебором на основе использования теории множеств. Особенность в том, что множество элементов в компьютере все равно упорядо-ченно, поскольку каждый байт имеет свой адрес. Поэтому теоретико-множественные операции сводятся к перебору всех адресов примитивных элементов. Адресный порядок структур данных хорош для задач, где компоненты моделей можно строго ранжировать, что дает возможность выполнять их анализ за один проход или одну итерацию. Там, где нет порядка в структуре, например, множество всех подмножеств, классическая модель памяти и вычислительных процессов наносит вред времени анализа ассоциации равных по рангу примитивов или, в лучшем случае, обработка ассоциативных групп является неэффективной. Что можно предложить для неупорядоченных данных вместо строгого порядка? 4
Процессор, где элементарной ячейкой служит образ или шаблон универсума из п примитивов, который генерирует Q = 2п всех возможных состояний такой ячейки в виде булеана или множества всех подмножеств. Прямое решение создания такой ячейки основано на унитарном позиционном кодировании состояний примитивов, которое с помощью суперпозиции последних образует множество всех подмножеств, формирующее в пределе универсум примитивов. Например, четыре примитива создают булеан, содержащий шестнадцать состояний (сочетаний), с помощью четырех двоичных разрядов:
Л=^=(1000), Е=(0100), Н=(0010), 1=(0001), 0=^,Н}=(1010), 1={Е,1}=(0101), Л=^,Е}=(1100), Б={НД}=(0011), 8=^Д}=(1001, Р={Е,Н}=(0110), С={Е,Н,1}=(1110), Р=^,НД}=(1011), Ь=^,ЕД}=(1101), У=^,Е,Н}=(1110), Y={Q,E,H,J} =(1111), и=(0000)}.
Другая интерпретация булеана из четырех примитивов (двоичные коды: 00, 01, 10, 11), представленная ниже:
00 0 000000 0 1111 11 11
01 0 0 0 0 1 1 1 1 0000 11 11
10 0 0 1 1 0 0 1 1 0 0 1 1 00 11
11 0 10 10 10 1 0 1 0 1 01 01
создает 16 различных функций от двух переменных. В то же время последнюю таблицу можно представить как коды символов многозначного алфавита, которыми легко оперировать для решения задач синтеза и анализа булевых функций:
Q Е Н I 000000001111111 1 000011110000111 1 001 100110011001 1 0101010101010101
0 JHBEIPCQS0FALVY
Такую таблицу легко построить для любого числа примитивов (п=2, 3,4, 5, 6, 7, 8 ...), где теоретико-множественные операции над символами сводятся к логическим операциям над векторами.
Кубит есть двоичный вектор, содержащий п битов, для задания булеана (множества всех подмножеств) состояний Q = 2п на основе использования п примитивных символов (элементов).
Кубит - совокупность равнозначных двоичных п битов, формирующих единичным значением п примитивов, для обозначения Q = 2 состояний, составляющих булеан -множество всех подмножеств от п примитивов.
Здесь нет чисел! Все биты кубита равны при создании примитивов и отличаются только адресом. Любая теоретико-множественная операция выполняется за один такт, что невозможно при задании ассоциации примитивов на счетном (упорядоченном) пространстве памяти компьютера. Метрика (векторная и скалярная) анализа расстояний, предложенная в [11,13], абсолютно пригодная для измерения взаимодействия многозначных (двоичных) кубитных объектов, процессов и явлений путем использования хог-операции.
В идеале применение кубитной структуры дает возможность представить любую функциональность в виде двух кубов, привязанных к нулю и единице. Такие кубы формируют КНФ и ДНФ соответственно. Можно упрощать и далее путем исключения из рассмотрения нуля и единицы, неявно имея их в виду. При этом два куба, формирующие входные условия, будут всегда взаимно инверсными, поскольку они дополняют друг друга до универсума примитивов. Следовательно, необходимо оставлять лишь одну букву (символ), а значит один двоичный код, который есть таблица истинности функционального (двухвходового) примитива:
00 0
01 1
10 1
11 0
Q 0
Е 1
Н 1
I 0
S 0
Р 1
1001 0
0110 1
^ Р =
0110
Y = Р = Е V Н = А1 V Л2 = Х1Х2 V Х1Х2.
3. Кубит-процессор (Квантовый процессор)
Цель создания кубит-процесора - существенное уменьшение времени при решении задач оптимизации путем параллельного вычисления векторных логических операций над множеством всех подмножеств от примитивных компонентов за счет увеличения памяти для хранения промежуточных данных.
Задачи: 1) Определение структур данных для взятия булеана при решении задачи
покрытия столбцов матрицы M = Mjj ,i = 1, m; j = 1,n единичными значениями строк. В частности, при m = n = 8 необходимо выполнить параллельно-логическую операцию над 256 вариантами всех возможных сочетаний векторов (строк матрицы), составляющих булеан. 2) Система команд процессора должна включать операции (and, or, xor) над векторами (словами) размерности m. 3) Разработка архитектуры кубит-процессора для параллельного вычисления 2n -1 вариантов сочетаний, направленных на оптимальное решение NP-полной задачи покрытия. 4) Реализация прототипа кубит-процессора на базе программируемой логики PLD и верификация (валидация) аппаратного решения на примерах минимизации булевых функций. 5) Приведение других практических задач дискретной оптимизации к форме задачи покрытия для последующего решения на кубит-процессоре.
В качестве примера предлагается решить задачи поиска оптимального единичного покрытия всех столбцов минимальным числом строк матрицы М, представленной ниже:
M 1 2 3 4 5 6 7 8
a 1 . . 1 . .
b . . 1 . 1 .
c 1 . . . 1 . 1 .
d . 1 . 1 . . . 1
e . 1 . . 1
f 1 . 1 1 1 .
g . 1 . 1 . . . 1
h . . 1 . 1
Для этого необходимо сделать перебор всех 255 сочетаний: из восьми по одной строке, по двум, трем, четырем, пяти, шести, семи и восьми. Минимальное количество примитивов (строк), формирующее покрытие, есть оптимальное решение. Таких решений может быть несколько. Диаграмма Хассе есть компромиссное предложение, относительно времени и памяти, или такая стратегия решения задачи покрытия, когда ранее полученный результат впоследствии используется для создания более сложной суперпозиции. Поэтому для каждой таблицы покрытия, содержащей п примитивов (строк), необходимо генерировать собственную мультипроцессорную структуру в форме диаграммы Хассе, которая далее должна быть использована для почти-параллельного решения КР-полной задачи. Например, для четырех строк таблицы покрытия диаграмма Хассе - структура мультипроцессора -будет иметь вид, представленный на рисунке.
Оптимальные решения задачи покрытия для матрицы М, которая генерирует 255 вариантов возможных сочетаний, представлены строками в форме ДНФ: С = fgh V efg V cdf .
Автомат управления вычислительным процессом для квантовой структуры путем восходящего анализа вершин графа основан на последовательном выполнении следующих шагов:
1. Занесение информации о примитивах в регистры (матрицы) Ц = Р- первого уровня с последующим анализом качества покрытия каждым примитивом в двоичном формате (1 -
т 1
есть покрытие, 0 - нет покрытия). Если один из примитивов организует покрытие л Ь-- = 1,
-=1 4
процесс анализа структуры Хассе заканчивается. Иначе - выполнение перехода (г = г + 1)
л, т 1 Р ч т т 1 [0 ^ п = п +1; на следующий уровень графа: Ц = Р- ^ л Ц- = ^ ^
Квантовая структура вычислительных процессов 2. Инициирование команды обработки очередного (второго) уровня. Последовательное
m
m
выполнение векторных (матричных) операций (or Li = L-- л Lt- , and л L-- = 1) в целях
i iJ j=i tj j=i ij
анализа покрывающей способности сочетаний примитивных элементов r-уровня. Здесь t = 1,m, i = 1,m, r = 1,n, n - число ярусов или количество строк в таблице покрытия, m -число столбцов в ней. Если существует сочетание на рассматриваемом уровне, создающее полное покрытие, которое формирует оценку, равную 1, то обработка всех последующих уровней процессора не выполняется. В противном случае выполняется переход для анализа следующего уровня процессорной структуры:
, m m гп ч , ,
т r тr_1 Tr_1 . Л Tr 10 ^ r = r +1;
L- = L-- л L. • ^ л L-- = < л _ , 1 4 j=1 t) j=1 4 [1 ^ end.
Достоинства кубитного Хассе процессора (Qubit Hasse Processor - QHP) заключаются в возможности использовать не более, чем двухвходовые схемы векторных логических операций (and, or, xor), а значит, в существенном уменьшении стоимости по Квайну реализации процессорных элементов (вершин) и памяти за счет применения последовательных вычислений и незначительного увеличения времени обработки всех вершин графа Хассе. Для каждой вершины используется критерий качества покрытия - наличие всех единиц в координатах вектора-результата. Если критерий качества выполняется, то все остальные вычисления можно не производить, поскольку диаграмма Хассе есть строго иерархическая структура по числу сочетаний в каждом ярусе. Это означает, что самое лучшее решение находится на более низком уровне иерархии. Варианты одного уровня равнозначны по реализации (стоимости), поэтому полученное первое качественное покры-
тие (Q = Z qi = n) есть лучшее решение, предполагающее остановку всех последующих 1=1
вычислений по стратегии диаграммы Хассе. Учитывая последовательно-параллельную стратегию анализа вершин графа, время (цикл) обработки всех примитивов QH-процессора определяется числом уровней иерархии (количеством битов (примитивов, строк в таблице покрытия) в кубитной переменной), умноженным на время анализа одной вершины:
T = log2 2n х t = t x n. При этом длина m строки таблицы покрытия не влияет на оценку быстродействия. Анализ вершины включает две команды: логическую (and, or, xor) и операцию вычисления критерия качества покрытия в форме скаляра путем применения функции and ко всем разрядам вектора-результата:
m
ir,j = My v Mr,j,(j = 1,n;{i * r} = 1,m;);
mir ^mirj =л(Му v Mj
Аппаратные затраты на реализацию QH-процессора зависят от суммарного числа вершин графа Хассе и от количества битов (разрядов) в строке таблицы покрытия:
H = 2n хkхm,
где k - коэффициент аппаратной реализации (сложности) одного разряда бинарной векторной логической операции и последующей команды вычисления критерия качества покрытия.
Таким образом, высокое быстродействие решения задачи покрытия достигается существенным повышением аппаратурных затрат (в 2n хkхm/kхmхn = 2n/n раз по сравнению с последовательной обработкой графовых вершин), которое обеспечивает компромиссный вариант между полностью параллельной структурой вычислительных процессов (здесь затраты аппаратуры определяются числом примитивов в каждой вершине
H = kхmхnх2n, а увеличение аппаратуры составляет 2n раз) и последовательными вычислениями однопроцессорного компьютера (здесь быстродействие обработки графа
Хассе равно T = t х 2n, а аппаратные затраты равны H* = k х m х n). Уменьшение аппаратуры по сравнению с параллельным вариантом обработки графа составляет
QH = k х m х n х 2n/k х m х 2 = n . Как следствие существенной аппаратной избыточности, уменьшение времени анализа вершин графа по сравнению с последовательной обработкой структуры имеет следующую оценку:
QT=t*^ =2*. t х n n
Реализация вычислительного устройства выполнена на основе кристалла FPGA фирмы Xilinx xc3s1600e-4-fg484, где основные параметры имеют следующий вид: Листинг Map-report Logic Utilization:
Number of Slice Flip Flops: 2,286 out of 29,504 7% Number of 4 input LUTs: 2,715 out of 29,504 9% Logic Distribution:
Number of occupied Slices: 1,514 out of 14,752 10%
Number of Slices containing only related logic: 1,514 out of 1,514 100%
Number of Slices containing unrelated logic: 0 out of 1,514 0%
*See NOTES below for an explanation of the effects of unrelated logic.
Total Number of 4 input LUTs: 2,715 out of 29,504 9%
Number of bonded IOBs: 321 out of 376 85%
Number of BUFGMUXs: 1 out of 24 4%
Timing parameters of project:
Tclk_to_clk = 4.672 ns
Tclk_to_pad_max = 11.552 ns
Period = max{ Tclk_to_clk , Tclk_to_pad_max };
Period = 11.552 ns
Fclk = 86,5 МГц
4. Заключение
Реализация квантового процессора на основе структуры Хассе позволила в n раз уменьшить аппаратурные затраты по сравнению с параллельной реализацией, что в свою очередь уменьшило быстродействие процессора также в n раз. Вывод - необходимо создавать новые структуры данных для снижения аппаратной стоимости квантовых вычислений и/или более интеллектуальные алгоритмы решения задачи покрытия на диаграммах Хассе. Синтез модели функциональности, представленной в форме одного куба, можно использовать при создании PLD-ориентированных прототипов вычислительных устройств, когда знание куба функциональности приводит к тривиальной технологии имплементации ее в кристалл.
Научная новизна - впервые предложена модель данных и структура аппаратной реализации квантового компьютера, которая характеризуется использованием структуры Хассе, что дает возможность существенно (х100) повысить быстродействие решения практических задач дискретной оптимизации. Предложен суперпозиционный метод синтеза куба функциональности, который характеризуется использованием структуры примитивных элементов и для определенного класса устройств позволяет существенно уменьшить время получения модели цифрового устройства, ориентированной на имплементацию в кристаллы PLD.
Список литературы: 1. Beth T. Quantum computing: an introduction // Proceedings of the IEEE International Symposium on Circuits and Systems, ISCAS. 2000. Geneva. Vol. 1. P. 735 - 736. 2. Jonker P., Jie Han. On quantum and classical computing with arrays of superconducting persistent current qubits // Proceedings of Fifth IEEE International Workshop on Computer Architectures for Machine Perception.2000. P. 69 - 78. 3. KeyesR. W. Challenges for quantum computing with solid-state devices // Computer. Jan. 2005. Vol. 38, Issue 1.P. 65 - 69. 4. GlassnerA. Quantum computing. 3. // IEEE Computer Graphics and Applications. Nov/Dec 2001. Vol. 21, Issue 6. P. 72 - 82. 5. Marinescu D.C. The Promise of Quantum Computing and Quantum Information Theory - Quantum Parallelism // Proceedings of the 19th IEEE International Parallel and Distributed Processing Symposium (IPDPS'05). 2005. P. 112-114. 6. OskinM., ChongF.T., ChuangI.L. A practical architecture for reliable quantum computers // Computer.Jan. 2002. Vol. 35, No.1. P.79-87. 7. A. Glassner. Quantum Computing, Part 1 // IEEE Computer Graphics and Applications.- July/August 2001. P.84-92. 8. P. Aliferis, F. Brito, D. P. DiVincenzo, J. Preskill, M. Steffen, B. M. Terhal. Fault-tolerant computing with biased-noise superconducting qubits // New Journal of Physics. January 30, 2009. 19 p. http:// iopscience.iop.org/1367-2630/11/1/013061 /pdf/1367-2630_11_1_013061.pdf. 9. Huntting B., Mertz D. Introduction to Quantum Computing // http://www.ibm.com/developerworks/linux/ library/l-quant/index.html. 10. DiVincenzo D. P. The Physical Implementation of Quantum Computation // IBM T.J. Watson Research Center, Yorktown Heights, NY 10598 USA. July 9, 2004. Preprint available online http://arxiv.org/PS_cache/ quant-ph/pdf/0002/0002077v3.pdf. 11. Инфраструктура мозгоподобных вычислительных процессов / М.Ф. Бондаренко, О. А. Гузь, В.И. Хаханов, Ю.П. Шабанов-Кушнаренко.Харьков: Новое слово.2010. 160 с. 12. Mark Gregory Whitney. Practical Fault Tolerance for Quantum Circuits. PhD Dissertation in Computer Science. Berkeley: University of California. 2009. 206p. 13. Хаханов В. И., Литвинова Е. И., Чумаченко С. В., Гузь О.А. Логический ассоциативный вычислитель. Электронное моделирование. 2011. № 1. С. 7390. 14. Hahanov V., Wajeb Gharibi, Litvinova E., Chumachenko S. Information analysis infrastructure for diagnosis. Information. An international interdisciplinary journal. 2011. Japan. Vol.14., No 7. Р. 2419-2433. 15. Хаханов В.И. Проектирование и тестирование цифровых систем на кристаллах / В.И. Хаханов, Е.И. Литвинова, О.А. Гузь. Харьков: ХНУРЭ, 2009. 484с. 16. StigStenholm, Kalle-Antti Suominen. Quantum approach to informatics. Published by John Wiley & Sons, Inc., Hoboken, New Jersey. 2005. 238p. 17. Michael A. Nielsen & Isaac L. Chuang. Quantum Computation and Quantum Information. Published in the United States of America by Cambridge University Press, New York. 2010. 676p.
Поступила в редколлегию 11.10.2012 Хаханова Ирина Витальевна, д-р техн. наук, профессор кафедры автоматизации проектирования вычислительной техники ХНУРЭ. Научные интересы: проектирование и тестирование цифровых систем и сетей на кристаллах. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-326. E-mail: [email protected].