量子计算在编程教学中的应用与探索研究

2023-11-08 11:04:52杨杨邹天锐程鸿陈昭昀
创新创业理论研究与实践 2023年20期
关键词:本源课程设计量子

杨杨,邹天锐,程鸿,陈昭昀

(1.安徽大学 电子信息工程学院,安徽合肥 230601;2.本源量子计算科技有限责任公司,安徽合肥 230093;3.合肥国家综合性科学中心 人工智能研究院,安徽合肥 231299)

目前的CPU 芯片,业内已经能够达到5nm 的工艺节点,但是随着芯片元件集成度的不断提高,芯片内部单位体积内散热也相应增加,由于现有材料散热速度有限,就会因“热耗效应”产生计算上限;另外,元器件尺寸的不断缩小,在纳米甚至更小尺度下经典计算世界的物理规律将不再适用,产生“尺寸效应”。因为这两个“效应”,加上计算数据的海量增长,需采用新的计算方式,即量子计算[1-3]。

量子计算是遵循量子力学规律,调控量子信息单元进行计算的新型计算模式[4-5]。量子计算机相较于当前的经典计算机,在一些具体问题上,有更快的处理速度和更强的处理能力[6]。随着量子计算技术研究的不断深入[7-8],人类能够使用的量子比特数量逐步增长,导致量子线路图的编程方式无法适应研究需要,故量子汇编语言应运而生。目前,高校的量子计算与编程教学课程主要培养学生初步软件设计和系统开发的能力,为了培养应用型、创新型人才,课程教学改革势在必行[9-10]。

目前,量子计算作为一门多学科交叉的新兴学科,高校多面向研究生开设,暂未普及至本科生基础教学[11]。然而,随着量子计算的兴起,社会对量子计算人才的需求增加,因此,亟须加强大学生量子计算教学。从教学目标来看,量子编程、算法设计及理论学习是培养应用型、创新型人才的主要方向;从教学资源来看,安徽大学依托开设多年的程序设计与算法综合训练课程,与合肥本源量子计算科技有限责任公司合作,采用其提供的QPanda 软件平台以及本源量子云[12],对原有课程教学内容和方式进行了有益补充和扩展。通过探索量子计算在编程教学中的应用,培养量子计算方面的人才。

1 基于QPanda和本源量子云平台的量子计算编程教学设计

1.1 QPanda 及本源量子云平台简介

QPanda 是合肥本源量子计算有限责任公司研发的量子计算编程框架,其集成了量子计算底层逻辑需求,如量子逻辑门、量子线路、测量等操作,以及用于处理各类需求的量子虚拟机,例如较为通用的全振幅虚拟机、加入噪声的含噪声量子虚拟机等。而本源量子云平台则集成了QPanda 框架、集群处理后端及真实量子芯片后端,为教学提供了简洁便利的可视化编程操作,为高质量量子编程教学提供了强有力的支撑[13-14]。

QPanda 量子编程框架构建如图1 所示,包含了应用层、工具层、核心层、计算后端。具体逻辑为:

图1 QPanda 量子编程框架示意图

应用层:包含量子化学、量子机器学习、量子金融应用、量子计算流体动力学、量子加解密等。

工具层:主要包括工具模块和转换模块。工具模块的主要作用是获取量子程序的相关信息,主要包含:判断逻辑门是否可交换、量子程序分层、判断逻辑门是否适配元数据、统计逻辑门个数、获取连续量子门矩阵、量子程序子线路替换、量子逻辑门有效性验证、量子程序时钟周期统计等功能。量子程序转换模块包括是否把量子程序文本化、把目标量子语言转化为量子程序、适配目标量子计算平台。

核心层:核心层主要分为两个模块——量子虚拟机模块和量子线路模块。量子虚拟机模块提供了不同类型量子虚拟机实现框架,研究人员可根据不同量子虚拟机框架的规则编写自己的计算后端;量子线路模块提供了量子程序构建的开发框架,研究人员可基于开发框架进行量子编程,同时也可以重写量子线路模块的基本类型构建自己的开发框架。量子线路模块包括QProg、QCircuit、QMeasure、QGate、QIf、QWhile、ClassicalProg 七种类型。

计算后端:计算后端指完成量子程序计算所用的计算单元,QPanda 的计算后端既可以通过CPU 加速,也可通过GPU 加速,同时还支持超级计算机及集群模拟,也可以调用本源量子云选择使用真实芯片服务,使用户切实体验量子程序在真实量子芯片上的运行效果。

1.2 量子计算编程教学设计

量子计算编程教学设计的主要思路是将理论实验内容进行分层,包括将实验的内容分为基础、拓展以及创新等层次,如图2 所示。每位学生必须完成的实验内容是基础实验。在保证基础任务完成的前提下,进一步利用QPanda 量子编程框架完成拓展实验。综合能力较强同时对编程具有浓厚兴趣的学生可以开展创新实验,即在已有量子算法拓展学习的基础上,对实际问题应用开展进一步探索,完成创新挑战。这种实验任务分层布置的方法,有利于针对处于不同学习层次的学生因材施教。加强实验课的教学,培养学生实际动手能力;加强实践教学,独立设置量子计算设计实验课程,强调理论与实验并重,在实验内容上安排一些基础性的验证型实验,作为必须完成的项目,帮助学生理解基本的知识点,培养学生动手能力及创新应用能力。

图2 量子计算编程教学设计流程图

同时,量子计算编程教学设计可以分为三个阶段完成,分别为课前预习、授课、课程设计。

课前预习:教师通过推送预习知识点,并通过有效反馈及答疑,获取学生预习情况,以此调整授课内容。学生可以通过本源量子云平台对课前内容进行实验后记录所遇到的问题,并带着问题听课。

授课:教师通过收取本源量子云平台所运行的量子程序任务,针对性讲解所需量子计算前置知识,根据学生在课堂中的互动情况,进行答疑。主要方式有:(1)授课PPT 同步发放;(2)本源云平台任务检查;(3)随机点名;(4)匿名弹幕,适度讨论。

课程设计:布置几大类量子算法实现任务,并由学生进行选取,完成相应调研报告以及在本源量子云平台的算法设计任务。教师通过定期检查进度,对学生进行有效督促,解答学生所遇到的问题,达到使学生巩固所学知识的目的。

2 量子计算编程教学实施方案

由于量子计算不同于其他学科,其研究涉及数学基础、计算机硬件系统、算法与编程、量子计算信息科学。通过基础数学内容和量子编程工具的安装与配置方法,将量子系统“状态”所包含的物理信息,进行信息编码、计算和传输,进而讨论在编程类课程中量子计算的应用与探索。

2.1 理论教学实施

为了让学生更好地在课堂上吸收知识,教师采用课前知识预备及重难点勾划的方法,让学生更早、更有效地开展量子计算的理论学习。当然,由于量子计算是一门多学科交叉的课程,教师会在课前预习的过程中添加线性代数、统计分析、量子物理基础知识的回顾环节,以及量子编程的内容及目标介绍,并介绍量子计算诞生背景及其所涉及领域,如大数据检索、汽车行业设计、化学模拟等,激发学生对所学知识的学习兴趣。

教师分为三个阶段进行授课:(1)介绍量子计算原理,即学生预习内容。如量子物理基础的讲授,主要内容为对量子计算背景及相对经典计算的优越性进行剖析和阐述;线性代数基本知识讲授,为之后的量子算法推导奠定基础;基础程序设计的学习,为之后的量子编程奠定基础。(2)通过一些经典量子算法理论的推导,让学生进一步熟悉量子计算的核心,并通过学生与教师在课堂或课后的答疑互动,完成对量子计算核心理论的巩固。(3)介绍QPanda 量子编程框架及本源量子云平台。教师通过在课堂上进行量子线路演示及实际运行,实践操作,带领学生进一步开展量子计算编程,并对他们进行创新性引导,促使学生可以将所学量子计算知识用于应用性研究及探索。

2.2 课程设计教学实施

为了让学生进一步巩固在课堂上所学的知识,教师在课后布置了课程设计作业。首先,教师根据学生课堂表现情况,以及对量子计算基础知识的掌握程度,进行基础知识考核,其中包括量子力学及其数学表达形式考核,在进行初步考核后,帮助学生巩固基础知识,为之后的量子算法复现奠定基础,其中,所选量子算法均已被证明具有量子优势,包括量子搜索算法(Grover 算法)、量子解密算法(shor 算法),以及量子线性求解器HHL 算法等;其次,教师根据学生实验情况,对学生进行创新性引导,让其将所学算法进行应用性推广,并通过报告形式论述其应用方向及优势。

学生通过访问本源量子云平台,可使用其提供的真实量子计算云(本源悟源,超导量子计算机),以及仿真开发训练云(包含量子计算模拟所需的全振幅、部分振幅、单振幅、含噪声等量子虚拟机计算服务),不同的量子虚拟机对应不同应用需求,具体应用环境如图3 所示:

图3 量子虚拟机应用简介

之后,学生可开展简洁易用的图形化量子编程,这里以仿真开发训练云全振幅虚拟机为例,在首页选择仿真开发训练云,进入到本源图形界面,如图4 所示:

图4 本源量子云编程

学生通过所提供的量子逻辑门组件,自由构建量子算法所需的量子线路,并通过图5 提供的概率直方图、密度矩阵分布图以及振幅相位直方图,快速确认其算法的最终量子态及概率分布。然而,由于真实量子计算包含多种类型噪声,量子算法的抗噪声性能也成为一个不可或缺的性能指标。因此,教师要求学生在本源真实量子计算云提交课程设计作业,并通过最终的算法保真度来判定成绩。

图5 量子态概率及振幅直方图

最后,教师结合学生平时成绩以及课程设计报告和最后的答辩情况进行综合学评分,并要求学生完成创新性任务,让学生将所学量子算法应用至不同领域,并针对量子算法在该领域的应用优势进行阐述以及模拟实现所需的量子算法。部分优秀设计报告文档如图6 所示:

图6 优秀设计文档展览

通过QPanda 和本源量子云平台提供的量子计算编程教学演示,以及相关行业背景的知识补充,可拓宽学生的学习思路,激发学习兴趣。学生通过利用QPanda 和本源量子云平台可完成对所学知识的实践检验及量子算法构建、运行、结果分析,从而巩固所学知识。在课程设计过程中,教师定期召开答疑会,与学生充分互动,加快课程设计进度,为学生答疑解惑,理论与实践并行,进而完成教学目标,培养应用型、创新型人才。

3 结语

本文将量子计算应用到编程教学实践中,增强了程序设计与算法综合训练课程的创新性。通过其具有的底层兼容特性,可以对原有课程教学内容和方式进行有益补充和扩展,同时其丰富的资源将会对其他课程教学改革起到示范引领作用。本文的主要研究思路是:将理论实验内容进行分层,包括将实验的内容分为基础、拓展以及创新等层次;加强实验课的教学,培养学生实际动手能力;加强实践教学,独立设置量子计算课程设计,强调理论与实验并重;在现有实验内容的基础上安排基础性的验证型实验,将其作为学生必须完成的项目,帮助学生理解和掌握基本的知识点,培养学生动手能力,为培养应用型、创新型人才起到示范作用。

猜你喜欢
本源课程设计量子
2022年诺贝尔物理学奖 从量子纠缠到量子通信
决定未来的量子计算
龙凤元素系列课程设计
少儿美术(2019年1期)2019-12-14 08:01:34
保函回归本源
中国外汇(2019年6期)2019-07-13 05:44:12
新量子通信线路保障网络安全
追溯本源,自然生成*——《两角差的余弦公式》的教学设计
析错因找方法 溯本源寻对策
纤维新材料:本源与生机
一种简便的超声分散法制备碳量子点及表征
基于Articulate Storyline的微课程设计与开发
中小学电教(2016年3期)2016-03-01 03:40:53