Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сборник работ конкурса Лобачевского.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
24.49 Mб
Скачать

Разработка базы данных учета инвентаря предприятия

В рамках данного проекта разрабатывается база данных с целью повышения производительности работы компании. При помощи вычислительной техники автоматизирован учет инвентаря.

Главное назначение автоматизированной системы обработки информации (АСОИ) в том, чтобы улучшить оперативность принятия решений, повысить производительность труда, снизить количество вычислительных ошибок при помощи автоматизации процесса обработки информации, содействовать эффективному и безопасному хранению и доступу к информации.

Целью АСОИ является создание единой информационной сети, позволяющей эффективно хранить, обрабатывать информацию по учету инвентаря.

В состав технологических операций входят:

  1. загрузка программы;

  2. ввод данных;

  3. контроль информации и возможность корректировки;

  4. справочно-информационное обслуживание;

  5. формирование информационных массивов;

  6. вывод информации.

Функции, которые реализованы в программе:

  1. Обеспечение сохранности входящей информации, предотвращение искажения данных.

  2. Хранение и выдача необходимой информации.

В данной работе представлены две схемы, позволяющие визуально понять суть работы.

На схеме «сущность-связь» показаны взаимоотношения объектов. Схема «ER-диаграмма». Выделены ключевые сущности и обозначены связи, установленные между этими сущностями.

Также в работе представлены скриншоты интерфейса программы и само приложение.

Маннапов И.М.

«Казанский (Приволжский) федеральный университет»

Создание эмулятора вычислителя квантовых схем с использованием графического и центрального процессоров

Мозг современного компьютера – это процессор. На данном этапе развития процессор представляет собой множество, состоящее из транзисторов размером в несколько микрон – одна миллионная метра. Близится период нанотранзисторов. Однако современные компьютерные технологии в классическом представлении подходят к своему кризисному этапу. Использование микронных вычислителей не оправдывает себя в некоторых областях, а нановычислители, которые еще не применяются, заведомо являются слепой ветвью эволюции вычислительной техники; ибо решение задач, оперирующих с огромным количеством данных (например, задачи искусственного интеллекта), на процессорах с наноэлементами не дадут ощутимый выигрыш.

Казалось бы, компьютерный бум, бурно начавшись в 70-х годах 20-го века, постепенно заходит в тупик... Но... Человеческий разум, за всю свою историю, никогда не сдавался, данное направление не исключение. И вот, конец XX, начало XXI веков представила возможности сразу в нескольких направлениях.

Особое внимание среди них заслуживает теория квантового компьютера. Ибо теоретические выкладки показывают, что некоторые классы задач решаются на них во много раз быстрее.

Упрощённая схема вычисления на квантовом компьютере выглядит так: берётся система кубитов, на которой записывается начальное состояние. Затем состояние системы или её подсистем изменяется посредством унитарных преобразований, выполняющих те или иные логические операции. В конце измеряется значение, и это результат работы компьютера. Роль проводов классического компьютера играют кубиты, а роль логических блоков классического компьютера играют унитарные преобразования.

С помощью базовых квантовых операций можно симулировать работу обычных логических элементов, из которых сделаны обычные компьютеры. Поэтому любую задачу, которая решена сейчас, квантовый компьютер решит, и почти за такое же время. Следовательно, новая схема вычислений будет не слабее нынешней.

Нужно отметить, что в задачах, для которых известны квантовые алгоритмы, удалось так подобрать квантовые преобразования, что приближение к ответу происходит очень быстро. К сожалению, таких ситуаций в математике и информатике буквально единицы. Квантовый компьютер идеально подходит для решения задач расспараллеливания.

Примером таких задач можно указать, например, алгоритм Гровера (поиск данных в неупорядоченном множестве элементов).

Возникновения сложностей при практической реализации квантового вычислителя сподвигла многих теоретиков заняться эмуляцией квантовых процессоров на классических компьютерах. На сегодняшний день существует много замечательных “задумок” в этом направлении. Основным принципом данных эмуляторов является реализация основных квантовых гейтов и операций на стандартных вычислительных устройствах. Несмотря на то, что исследования данного вопроса с каждым днем увеличиваются, проблем, ожидающих своего решения великое множество. Например, реализация эмулятора на существующих многоядерных процессорах, в частности, GPU.

Следовательно, назревает следующая постановка. Создать программу, эмулирующую работу вычислителя схем из квантовых гейтов (функций) на квантовом процессоре и использующую при вычислении многоядерные процессоры. При этом задачи, трудноразрешимые на обычном процессоре, должны получать решение заметно лучше. Сам эмулятор будет реализован в виде .dll библиотеки.

Ожидаемый итог работы - программный комплекс, эмулирующий вычисление квантовых схем с использованием многоядерных систем, поддерживающий многоядерные системы, основанные на GPU и CPU.

В результате кропотливой работы, проделанной в ходе бессонных морозных ночей, мы получили следующий результат:

  • три одноименной библиотеки формата .dll, написанных на языке С++, для работы с CPU, GPU (C++ AMP,CUDA);

  • промежуточная .jar библиотека для взаимодействия с .dll-ками, написана на Java;

  • проект для тестирования библиотек, также на Java.

Конечный пользователь имеет возможность переключаться между режимами вычислений. Схема работы представлена на рис. 1.

Рис. 1. Схема работы

В связи с тем, что каждая библиотека содержит одни и те же функции, можно описать только первую. О тонкостях каждой упомянем по мере объявления каждой функции.

  1. getNOT – функция, реализующая простейший нетривиальный логический гейт (классический эквивалент – NOT). Входные значения – квантовый регистр и количество кубитов. Реализация этого гейта схожа для каждой из этих библиотек. Нужно только отметить, что в С++ AMP и CUDA происходит распараллеливание этой процедуры.

  2. getUolAdom – функция, реализующая преобразование Уолша-Адомара. Когда оно применяется к состоянию , это преобразование производит равномерную суперпозицию двух состояний и . Входные значения - квантовый регистр и количество кубитов. Производит умножение регистра на матрицу преобразования.

  3. getRazm – функция вычисления размерности квантового регистра. Входное значение – количество кубитов.

  4. getUAMatr – возвращает матрицу преобразования Уолша-Адомара. Реализована в каждой из библиотек одинаково – рекурсивно. На вход подается количество кубитов и ссылка на саму матрицу.

  5. getAnyMatrM – умножение на матрицу произвольного гейта. Входные значения – матрица преобразования, регистр, количество кубитов.

  6. swapGate – одновременное многократное применение CNOT.

На входе – номера кубитов, регистр, количество кубитов, количество применяемого CNOT.

Рассмотрим пример использования данной библиотеки. Рассмотрим на примере алгоритма Дойча. Сперва схематично представим этот алгоритм.

Рис. 6. Квантовая схема алгоритма Дойча.

Приведем трактовку задачи:

Рассмотрим множество, состоящее из двух базисных векторов и и все возможные функции, отображающие это множество в себя. Таких функций существует четыре. Две функции и , называемые постоянными, принимают одно и то же значение при любых значения аргумента:

, , x=0, 1.

Назовем сбалансированными две другие функции и , определяемые равенствами

, , x=0, 1.

Легко видеть, что перечисленные функции исчерпывают все возможные отображения f:{ , }→{ , }. Требуется узнать, к какому из двух классов принадлежит неизвестная функция f. В классическом компьютере для этого требуется две операции - нужно рассчитать и . В квантовом компьютере достаточно одной операции. В случае значений аргумента классическому компьютеру нужно операций, квантовому – m операций. Соответствующий квантовый алгоритм называется алгоритмом Дойча.

Подведем итог по данному проекту. Данная библиотека является уникальной в том плане, что производит вычисления, используя не только центральный, но и графический процессор.

Также нужно отметить, что библиотеки, созданные в ходе данного проекта, являются составной частью программного продукта, который представляет из себя визуальный вычислитель квантовых схем, который будет акттуальным для людей, интересующихся квантовыми вычислениями.

Набиев И.И.

«Казанский национальный исследовательский технологический университет

им. А.Н. Туполева – КАИ»