МИНОБРНАУКИ РОССИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Чувашский государственный университет имени И.Н. Ульянова» Факультет дизайна и компьютерных технологий Кафедра компьютерных технологий ОТЧЕТ по научно-исследовательской работе Выполнил: магистрант гр. ДМП-01-14/1 Скворцов А.В. Проверил: профессор кафедры КТ Желтов В.П. № _______ __________ Чебоксары 2015 1 Содержание 1 Цели и задачи научно-исследовательской работы ............................... 3 2 План научно-исследовательской работы............................................... 6 3 Обзор литературы по теме магистерской диссертации ....................... 7 4 Подготовка публикаций по научно-исследовательской работе.......... 8 5 Публикации по научно-исследовательской работе .............................. 8 Заключение ............................................................................................ 13 Список литературы ............................................................................... 14 2 1 Цели и задачи научно-исследовательской работы Проведение научного исследования и подготовка магистерской работы проводится по следующей схеме: выбор и утверждение темы, составление рабочего и календарного планов работы, регистрация темы; обоснование актуальности выбранной темы, постановка цели и конкретных задач исследования; определение объекта и предмета исследования, выбор и обоснование методов проводимого исследования; работа с источниками информации и материалами практики; описание процесса исследования; обсуждение результатов; подготовка выводов и апробация полученных результатов; оформление работы в соответствии с требованиями ГОСТ; подготовка к защите, предварительная защита и защита магистерской работы в ГЭК. Цель исследования – желаемый конечный результат (главный), он может быть теоретико-познавательным или прикладным, практическим. Цель исследования должна конкретно формулироваться и находить свое выражение в описании того прогнозируемого состояния, в котором желательно видеть предмет исследования, т.е. цель выступает как качественно новое состояние - результат преодоления противоречия между должным и сущим. Не следует формулировать цель как “Исследование…”, “Анализ ”, “Изучение ” потому, что эти слова указывают на средство достижения цели, а не на саму цель. Цель работы связана с объектом и предметом исследования, а также с его конечным результатом и путями его достижения. Целью исследования является конечный результат, на достижение которого направлено исследование, разрешение проблем и устранение недостатков. 3 Существование проблемы (проблемной ситуации) является исходным моментом любого научного исследования. Недостаточность знаний, фактов, противоречивость научных представлений создает основания для проведения научного исследования. Задачи исследования. Задачи, поставленные и решенные в диссертации, должны быть выполнены на современном уровне развития науки и техники по выбранному направлению. Определение задач - это выбор путей и средств для достижения цели исследования. Они могут быть сформулированы как вопросы, ответы на которые позволят прийти к цели исследования. Выбор задач должен быть обусловлен делением цели исследования на подцели (цели второго порядка). Среди задач исследования должны быть как те, которые обеспечат нахождение новых фактов, так и те, что помогут включить их в систему имеющихся знаний. Исследование будет восприниматься как целостное и законченное в том случае, если изучаемое явление не будет выглядеть в вашем описании как изолированное от других явлений или как бесструктурное. Поэтому в число задач исследования надо включить такие, которые позволят определить место изучаемого явления в его взаимосвязи с другими явлениями. В определении задач надо стремиться к тому, чтобы в этой цепи стали известными как можно больше звеньев. Выявление отдаленных взаимосвязей без прояснения ближайших снижает ценность работы. Частая ошибка в формулировании задач исследования в том, что автор подменяет изложение исследовательских задач описанием плана предстоящей работы. В этом случае задачи формулируются примерно таким образом: 1) проанализировать литературу по теме; 2) провести эксперимент (обследование); 3) обработать эмпирические данные; 4) проанализировать полученные результаты и сделать выводы. 4 Это описание обычной последовательности шагов научного исследования. Перечисление задач должно помочь читателю понять характер работы и узнать сможет ли он найти в этой работе то, что ищет. Каждому читателю удобно с первых же шагов знакомства с текстом, который находится в руках, оценить полезность предстоящего чтения. Например, уже в начале важно узнать ставились ли задачи создать (модифицировать, адаптировать) методики для изучения феномена, взятого в качестве предмета исследования? Проводились или нет обучающие, формирующие эксперименты? Ставил ли автор задачу построить модель изучаемого явления или ограничивался получением новых данных о его характеристиках? Изучение каких именно сторон явления автор считал важнейшим в своей работе? Такого рода аспекты и должны быть отражены в перечисляемых исследовательских задачах. 5 2 План научно-исследовательской работы В диссертации мультимедийных будет рассматриваться образовательных систем, анализ выявление существующих достоинств и недостатков, анализ теоретического и практического материала для создания проекта. В первой части диссертации будет рассмотрены теоретические основы квантовых вычислений. Во второй части проанализируется современное состояние образовательных систем, выделятся достоинства и недостатки, выбирется программное обеспечение, на основе которого разрабатывается проект. В третьей части будет описываться разработка и проектирование образовательной системы. Заключение включит в себя подведение итогов, результаты разработки проекта и преимущества его использования. Результатом работы станет разработанный мультимедийный проект. 6 3 Обзор литературы по теме магистерской диссертации На текущий момент даже на русском языке уже существует несколько десятков источников, посвящённых модели квантовых вычислений, и в них можно запутаться. Во-первых, разные источники посвящены разным аспектам этой новой области знаний. Где-то рассказывается про математические основы модели. В каких-то книгах упор делается на перспективные физические разработки и поиск методов реализации математической модели в «железе». Ну а есть вообще такие источники, в которых собрана «сборная солянка» из всего, что удалось найти автору, всё это бессистемно перемешано и сдобрено к тому же какими-то комментариями, которые часто оказываются ещё и неграмотны [11]. Также есть источники, в которых вся тема разжёвывается с самых основ (к примеру, приводятся элементы линейной алгебры) [13], а в других читатель с первых страниц погружается в пучину глубокого и тяжёлого «матана» [12], понимание которого он должен был бы получить с молоком матери. 7 4 Подготовка публикаций по научно-исследовательской работе В процессе выполнения научно-исследовательской работы необходимо апробировать результаты путем публикации статей в различных научных журналах, на научно-практических конференциях. Далее приводятся список и текст публикаций, в которых приводятся результаты научно-исследовательской работы за первый семестр: 1. Моделирование квантовых вычислений //Теоретические и прикладные аспекты современной науки. 2014. № 6-3. С. 126-128. 2. Интерактивные технологии в обучении программированию //В сборнике: Наука и образование в жизни современного общества сборник научных трудов по материалам Международной научно-практической конференции: в 12 частях. 2015. С. 107-108. 3. Программирование квантовых вычислений на языке Quipper //Победа в науке. Сборник трудов Всероссийской 49-ой научной студенческой конференции, 2015 С. 73-74. 5 Публикации по научно-исследовательской работе 5.1 Моделирование квантовых вычислений В современном мире законы развития вычислительной техники, выдвинутые в прошлом веке, перестают работать, например: известный закон Мура о повышении производительности компьютеров каждые два года начал замедляться. Так оказалось, после испытаний процессоров с форм-фактором 22 нм, внутри необъясненные процессора ошибки появляются вычисления. непредсказуемые, Пока что это и пока компенсируется всевозможными средствами защиты, такими как дублирование вычисления в разных ядрах процессора, хранения контрольных сумм в пуле и др. Такой подход улучшает работу процессора, 8 но нивелирует увеличение вычислительной мощности. Которая необходима для решения самого широкого круга задач. Таким образом, возникает проблема и она актуальна, компенсация вычислительных мощностей, возникающих из-за несовершенства технологических процессов. Одним из способов улучшения эффективности являются так называемые «параллельные процессы», частным случаем которых являются квантовые вычисления. Так как данный процесс малоизучен, требует дополнительной подготовки, возникает необходимость изучения его программистами. Таких методических материалов очень мало, они имеют в основном глубоко теоретический характер и сложны в освоении. Как правило, такие работы представлены на английском языке. Примерами задач квантовых вычислений являются: алгоритм Шора, задача Дойча и др. Вкратце рассмотрим вышеперечисленные задачи. Алгоритм Шора представляет собой квантовый алгоритм для факторизации числа N за время O ((log(N ) ) и ресурсы O (log N ) [3]. То 3 есть задача факторизации, связанная с разложением целого числа на простые множители. Оказывается, что в то время как умножение многозначных чисел - это алгоритмически простая задача, обратная задача (разложение на множители) алгоритмически очень сложная (обладает экспоненциальной сложностью). Наилучший известный на сегодня классический алгоритм факторизации некоторого числа (так называемый метод решета числового поля - general number field sieve) требует для реализации следующее число операций: Lclaass exp ((64/9)1/3 n 1/3 (ln(n)) 2/3 ) где n = k ln(10) - число двоичных знаков, а k - число соответствующих десятичных знаков, задающих это число. 9 (1) Квантовый алгоритм факторизации, предложенный П. Шором в 1994 г. требует выполнения числа операций, выражаемым следующей формулой [4]: Lquant n 2 ln(n ) ln(ln( n )) (2), Сравнение формул (1) и (2) показывает, что алгоритм Шора превращает экспоненциально сложный алгоритм в алгоритм полиномиальной сложности. Например, современный классический суперкомпьютер петафлопсного диапазона (1015операций c плавающей запятой в секунду) позволяет разложить число с k = 500 десятичными знаками за 5 миллиардов лет. Ту же задачу квантовый компьютер мегагерцового диапазона (1 млн. операций в секунду) решает за 18 секунд. Аналогично, для числа с k = 1000 десятичными знаками трудоёмкость классического алгоритма составляет 4*1020 лет, а квантового – 84 секунды. Очевидно, что даже переход к суперкомпьютерам эксафлопсного диапазона (1018операций в секунду) не изменит существенно ситуацию [1]. Задача Дойча же заключается в том, чтобы определить является ли функция f: {0, 1}→{0, 1}, вычисляемая «черным ящиком» константой. Очевидно, что в классическом случае одного запроса для решения этой задачи не достаточно. В классическом случае необходимо вычислить оба значения: f(0) и f(1), тогда как в квантовом случае вычисляется только одно значение [2]. В различных ВУЗах проводятся работы по созданию методических материалов для подготовки специалистов, но они носят частный внесистемный характер. На программный продукт возлагаются следующие функции: моделирование и отображение результатов основных задач квантовых вычислений (задача Дойча и др.); возможность расширения языка пользователями за счет плагинов известных платформ разработки; 10 возможность создания платных дискуссионных вебинаров между обучаемыми и представителями работодателя. 11 5.2 Интерактивные технологии в обучении программированию Одними из основных задач университетского образования является подготовка студентов к непрерывному образованию, их ориентация на самообразование, формирование выработка готовности мотивации к к пополнению переквалификации в знаний зависимости и от потребностей рынка труда. Результатом обучения является формирование у выпускника университета наряду с общекультурными и профессиональными компетенциями и формирование узкоспециализированных компетенций, предусмотренных общеобразовательным стандартом. Число часов аудиторных занятий, согласно планам ФГОС ВПО третьего поколения, в том числе по основным дисциплинам, сокращено, что вызывает необходимость перестройки схемы изложения учебного материала, перенос значительной части на самостоятельное изучение. Следовательно, возрастает роль и значение оценки знаний и компетенций, приобретаемых студентами в процессе образования [5]. Важная часть в процессе образования является интерес студентов к учебному материалу, следовательно появляется желание к самостоятельному изучению. Необходимо, чтобы студенты сами захотели обучиться программированию. Этому способствуют: 1. Мотивация: студентов должен мотивировать преподаватель. Ведь если преподаватель рассказывает материал скучно, то большинство студентов перестают его слушать. А это, в свою очередь, вливается в то, что пройденный материал не усваивается и становится непонятным. Поэтому необходимо, чтобы рассматриваемый на учебном занятии материал дополнялся интересными задачами, примерами из жизни. 2. Игровое обучение. Эффективность обучения в игровой форме неоспорима. Во-первых, это помогает поддерживать интерес к предмету; вовторых, позволяет получить достаточный объем практического опыта, который необходим, чтобы получить 12 высокооплачиваемую работу профессионалом. Например, разнообразные многопользовательские онлайнигры, в которых современные студенты проводят больше времени, чем на занятия в Высшем Учебном Заведении. Все мы знаем, как преподаватели проверяют знания студентов и сколько времени это занимает. А если проверка результата преподавателем производится удалено, то она может растянуться до нескольких недель и больше, а студент в это время будет смиренно ожидать, не продвигаясь в постижении искусства программирования. Обучение программированию с помощью игры позволяет проверить получившийся результат всей аудитории практически мгновенно. Это все, кстати, абсолютно не противоречит определению высшего образования, которое на самом деле является высшим профессиональным образованием. Именно на похожих принципах реализовано обучение в лучших мировых вузах: много практики и узкая специализация. 5.3 Программирование квантовых вычислений на языке quipper В основе разработки квантовых вычислений лежит принцип применения гейтов (логических операций) к кубитам, содержащихся в переменных. На языке Quipper вычисления имеют вид функций. Рассмотрим простую квантовую функцию на Quipper: plus_minus :: Bool -> Circ Qubit plus_minus a = do r <- qinit a q <- hadamard r return q В первой строке мы определяем какой тип будет у функции. В нашем случае на входе мы получаем булевский параметр, а на выходе – Circ Qubit. Circ – во время исполнения функции может быть различные побочные эффекты. Qubit – функция возвращает кубит. Обычно квантовые операции, 13 которые должны быть исполнены в заданном порядке, располагаются в теле после ключевого слова do. Наше тело функции – plus_minus. В нем мы используем три операции. Оператором qinit мы инициализируем новый кубит, состояние которого соответствует параметру a. Если значение параметра a будет False, то a примет значение кубита |0>, а если True – кубиту |1>. Из записи мы понимаем, что в переменной r записывается наш новый кубит. В операторе Hadamard мы применяем к кубиту r гейт Адамара. А после этого сохраняем новое состояние кубита в q. В последней строке мы возвращаем кубит q. В итоге, мы получает кубит |+> или |-> в зависимости от того, какое значение было у входного булевского параметра. Как можно заметить, в теле функции переменные используются линейно, то есть кубит записывается и прочитывается только единожды. Это ограничение обусловлено законами квантовой физики. Заключение В результате выполнения научно-исследовательской работы были проанализированы: существующая литература, современное состояние мультимедийных возможности образовательных применения программированию систем; интерактивных квантовым вычислениям рассмотрены технологий и в вероятные обучении использование этих технологий при создании мультимедийной образовательной системы [14, 15]. Так же были проанализированы различные языки программирования квантовых компьютеров и был проведен подробный разбор простейшей функции на языке Quipper. Этим было начато структурирование учебного материала для разработки курса для мультимедийной образовательной системы [16]. 14 Список использованных источников 1. Богданов Ю.И. Кокин А.А., Лукичёв В.Ф., Орликовский А.А., Семенихин И.А., Чернявский А.Ю. Квантовая механика и развитие информационных технологий // Информационные технологии и вычислительные системы, –2012, № 1 – с. 17-31 2. Вялый М.Н. Квантовые алгоритмы: возможности и ограничения. Лекция 2 – Санкт-Петербург, весна 2011. – с. 12 3. Shor P.W. Polynomial-time algorithms for prime factorization and discrete logs on a quantum computer // SIAM J. Comput. – 1997. – Vol.26. – P.1484-1509. 4. Shor P. Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer. arXiv: quant-ph/ 9508027.1995. 28p. 5. Конова Е.А., Поллак Г.А. Интерактивный метод оценки знаний на основе применения технологии case study // Вестник ЮУрГУ. Серия: Образование. Педагогические науки . 2013. №3. 6. ГОСТ 2.105–95. ЕСКД. «Общие требования к текстовым документам» (с обновлением на 13. 01. 2010 г.) 7. ГОСТ 7.32–2001 «Отчет о научно-исследовательской работе. Структура и правила оформления» 8. ГОСТ 7.1–2003 «Библиографическая запись. Библиографическое описание. Общие требования и правила составления» 9. ГОСТ 7.82–2001 «Библиографическое описание электронных ресурсов: общие требования и правила составления» 10. ГОСТ 7.0.5–2008 «Библиографическая ссылка. Общие требования и правила составления» 11. Бауместер Д., Экерт А., Цайлингер А. Физика квантовой информации. Квантовая криптография. Квантовая телепортация. Кванто-вые вычисления. – М.: Постмаркет, 2002. – 376 с. 15 12. Валиев К. А., Кокин А. А. Квантовые компьютеры. Надежды и реальность. – Ижевск: НИЦ «Регулярная и хаотическая динамика», 2001. – 352 с. 13. Васильев А. В. Квантовые вычисления для программистов – Казань: Казанский Федеральный Университет, 2010. – 17 стр. Моделирование 14. квантовых вычислений //Теоретические и прикладные аспекты современной науки. 2014. № 6-3. С. 126-128. 15. Интерактивные технологии в обучении программированию //В сборнике: Наука и образование в жизни современного общества сборник научных трудов по материалам Международной научно-практической конференции: в 12 частях. 2015. С. 107-108. 16. Программирование квантовых вычислений на языке Quipper //Победа в науке. Сборник трудов студенческой конференции, 2015 С. 73-74. 16 Всероссийской 49-ой научной