基于Visio的量子电路矢量图自动绘制

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:mnbvcxzxzh
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:目前量子可逆逻辑电路的绘制工作十分复杂。虽然现有的自动绘图工具只能满足基本的绘图需求,但是它们绘制出的是低分辨率的点阵图,而这种点阵图很难满足研究者们在论文发表时对高清图像的要求。因此,用C#对Visio绘图功能进行二次开发,解析并描述用户提供的量子电路TFC文件, C#读取用户对电路多种格式的自定义参数,依次画出所需的量子门,则可自动绘制出符合高清要求的矢量量子电路图。因为可逆逻辑量子电路的操作是为了得到特定的信号,所以真值表的计算可以验证这个电路是否已经达到事先设置的要求。所以还提供该量子电路的真值表,方便用户查看并分析产生的量子电路。
  关键词:量子电路;点阵图;量子门;TFC文件;Visio二次开发;真值表
  中图分类号:TN91 文献标识码:A 文章编号:1009-3044(2015)12-0237-04
  Visio-based Automatically Drawing of Vector Quantum Circuit
  WANG Qiu-li, CAI Song-cheng, JI Yan-yu, CHEN Zhou-ling, WU Yang-yang, LI Zhi-qiang, FENG Xiao-xia
  (College of Information Engineering, Yangzhou University, Yangzhou 225009, China)
  Abstract: Drawing quantum reversible logic circuits are very complicated at present. The existing automatic drawing tools meet the needs of the basic drawing, but it can only draw the low-resolution bitmaps. But these kinds of bitmaps are difficult to meet the requirements of high-definition images when the paper was published. Therefore, further development of the Visio’s drawing function is achieved by using C#, the description files of quantum circuits--TFC files are parsed, the parameters of many user-defined formats for circuits are read by c#, then the required quantum gates are drawn in turn, finally the high-definition vector graphs meeting the requirements are drew automatically. The operation of quantum reversible logic circuits is for a specific signal, so the truth table can verify whether the circuit has to meet the requirements set in advance. It also provides a truth table of the quantum circuit for users to view and analyze the result of quantum circuits.
  Key words: quantum circuit; bitmaps; quantum gates; TFC file; Visio secondary development; truth table
  量子逻辑门的组合与级联是组成量子计算机的基本元素,科研人员做了大量的工作来研究构造代价最小的量子电路[1-3]。但是量子电路的绘制一直是一项繁琐的工作,如果动手绘制,工作效率低下;如果使用现有的绘图工具,只能得到清晰度不高的点阵图,不能够满足科研人员撰写论文的需要。
  Microsoft Office Visio[4]是一款功能强大的矢量图绘图与建模工具。它能够提供多样的模板和形状,使用户能以拖拽的方式绘制流程图和类图等图形。Visio绘制出来的图也可以直接进行拖拽修改,而且清晰度高、图像质量好,能满足各期刊发表论文的要求。由于Visio提供了编程接口,因此我们可以使用C#编程语言调用这些接口对Visio进行二次开发[5],将复杂的绘图工作交给计算机自动实现。
  1 基本概念
  1.1 量子电路可逆逻辑综合
  量子电路可逆逻辑综合,主要是研究在给定量子门及给定量子电路的约束条件及限制下,生成代价最小的量子可逆逻辑电路,以及它的可逆逻辑综合理论和电路生成方法。它包含合成和优化两个方面,现在很多方法是将合成与优化这两个过程同时进行,在不改变可逆电路函数功能的条件下,对电路进行重组、替换,来减少电路逻辑门数量,从而降低量子可逆电路的代价。当然,如果使用不同的实现技术,通常量子可逆门的代价是不相同的。为此人们提出了若干可逆逻辑电路综合的算法,如穷举法[6-8]、基于代数的方法、基于模板的方法、基于真值表的方法等。这些方法各有优缺点,但不管专家们用何方法生成了最优量子电路,最终需要将生成的量子电路图绘制出来,方便检查、核对、展现。本文则根据专家们生成的最优量子电路的TFC文件,完成量子电路图的绘图功能。   1.2 量子逻辑门
  在经典计算机中,二进制信息以比特(bit)形式存储,物理上可以是在晶体管电子电路中的电压信号;数学上可以是布尔值或者变量。但在量子计算领域中,这样的二进制信息均以量子状态形式存储,比如光子的偏振和围绕单个原子核电子的两种状态(基态/激发态)或者均匀电磁场中的电子/原子核的自旋(向上/向下)等。不同于经典比特,量子比特能够以其经典比特的叠加态的形式存在。量子门的操作可以用代表量子门的矩阵与代表量子比特状态的向量相乘来表示。
  量子逻辑门是处理量子信息的基本单元,其级联构成可逆的量子电路。量子计算中,一个量子逻辑门对应一个幺正变换。量子门常使用矩阵表示,例如操作K个量子比特门可以表示成2k * 2k的酉矩阵[9]。一个量子电路的输入与输出数量必须相等。根据量子输入输出的个数,逻辑门可分为单量子比特门[10]与多量子比特门。
  1)非门(NOT门)
  如图1所示。非门为单量子门,即一个输入与一个输出。输入的a经过非门之后则输出a的相反状态。
  此类单量子门很多,如:Hadamard门、Pauli-X门、Pauli-Y门等都是单量子门。多比特量子系统则是单比特系统的推广,量子力学的基本原理指出单独的状态向量可以通过张量积形式和其他状态向量结合起来。
  2)控制V门
  控制V门如图2所示,两个输入与两个输出则为2比特量子门。a为控制端,b为受控端。当控制信号a=0时,则b的输出不变,即Q=b。当控制信号a=1时,则输出为[V=i 12 1-i -i 1],是b的幺正操作,即Q=V(b)。
  3)量子异或门
  即控制非门(CNOT门),它和经典异或门非常类似。如图3所示,它有2个输入比特,a表示控制比特,b表示受控条件反转比特。当控制比特等于1,即在上能级时,受控比特状态发生反转,否则保持不变。
  4)Toffoli量子门
  Toffoli是CNOT门的受控行为的推广,是一个具有两个控制量子比特、一个目标量子比特的常用量子门。不同于CNOT门,Toffoli门目标量子比特只有在两个控制量子比特都置为“1”时才翻转,即实现变换[A,B;C→A,B;AB⊕C]。如图4所示。
  5)控制交换门
  如图5所示,即Fredkin门。当C’=0时,a与b的输出保持不变,当C’ =1时,a与b的值交换。
  2 Visio编程接口的各种函数的功能与调用方法
  为了实现软件的画图功能,需要引用各类命名空间来配置系统。其中一些特殊的命名空间所包含的功能对实现程序功能起着重要作用。
  程序需要用到Visio命名空间,在这个命名空间里包含了所有画图所需要的方法。比如DrawOval方法,这个方法可以画出一个圆,一共四个参数,前面两个参数为坐标,后面两个参数为高度和宽度。除此之外,我们还用到了其他的方法让程序更适合用户使用。
  在使用Visio的时候,如果打开了Visio软件窗口,在自动完成绘图的情况下,窗口难免显得多余,所以调用了InvisibleAppClass方法,创建一个不可见的应用程序,也就是在不打开Visio窗口的情况下打开Visio软件,并控制程序的环境。让画图过程在后台完成,保证了程序界面的简洁。
  在程序中,使用了Document方法[11-12]。Document表示一个绘图、模具或模板文件。在打开Visio文档或创建新文档时,都会创建一个新的Document对象,并将其添加到Application对象的Documents集合中。在绘制图像的时候,使用Page 对象表示前景或背景的绘图区域,也就是当前绘制电路图的绘图区域。利用Shape创建一个图形对象,这个对象可以接收画出的线条或者图形,并通过调用相应方法对这个对象进行一定的调整。然后再利用DrawOval、DrawRect等方法画出需要的图形。在图像中所需要的文字信息的字体和大小,分别用void set_CharProps和Cell get_CellsSRC方法来设置。
  3 量子电路描述的TFC文件格式
  TFC文件是一种包含量子电路信息的文件。它为量子电路提供了一种统一的、格式化的文件存储方式,方便我们快速地读取、识别并画出量子电路图。
  TFC文件主要可以分为两个部分。第一部分为前四行,主要描述了电路的基本信息。第一行.v给出所绘制的电路图的行数;第二行.i给出输入端(即Input);第三行.o给出输出端(即Output);第四行.c给出剩余电路的标号。第二部分在BEGIN和END之间为需要绘制的量子逻辑门,量子逻辑门的每一行先给出所要画的门的种类,再给出其控制端和受控端信号。
  如图6所示为TFC文件内容格式,第一行.v包含a,b,c,d,表示这个电路一共有a,b,c,d四行;第二行.i包含a,b,c,表示信号由a,b,c这三个端口输入;第三行.o包含d,表示信号由d端输出;剩余的电路信息则为0。紧接着BEGIN和END之间则是画出完整电路图的内容格式。下一节具体介绍门电路的绘制。
  4 系统实现
  4.1 TFC文件的算法
  程序在识别TFC文件时,以行为单位进行逐行读取。当读完TFC文件的第一部分时绘制出电路的基本框架,当读到BEGIN时则开始正式画门及电路。以行为单位,每一行的开头如T1,f3,V,p3等均表示量子门的门类型,程序通过量子门名称的匹配判断分别调用相应电子门绘制函数,其后的端口信息则作为参数传递给所调用的绘制函数,画出相应的门电路。
  本软件所能识别的量子逻辑门种类包括T门、F门、H门、V门、V 门、P3门、S门、T门以及T 门。T类门可识别T1~T21这21种门,对应的端口个数分别为1~21。F类门可识别F2,F3,F4,F5四种门,对应的端口个数分别2个,3个,4个和5个。H门、S门、T门、T 门对应的端口个数均为1个。V门、V 门的端口个数为2个。P3门端口个数为3个。   4.2 调用Visio接口函数绘制电路图的算法
  同一类型的量子门为一个类(如所有以通用Toffoli门的形式画出的量子门为一个类),在类里面实现一个量子门的绘制。在正式介绍各类门画法之前要设置绘制量子门时的参数变量,如控制点半径,受控点半径,行间距,门间距,换行基数,这些变量都可以自行设置来调整电路图的美观。
  程序在匹配并调用相应的量子门绘制函数后,若控制端和受控端的个数与已匹配的量子门所应有的个数不符,则出错。上述TFC文件将如何调用量子门函数:首先,程序识别到.v a b c d时,确定整个电路的行数,接着确定电路的输入与输出标识并画出,如图7的a,b,c等;再判断BEGIN后面一共几个函数(即一共几个门),用门数确定整个电路横线的长度并画出;接着依次调用门函数画出量子电路门。得到的量子电路图如图7所示。接下来介绍程序如何依次调用门函数画出所需的量子电路图。
  1)通用Toffoli门
  绘图过程中,若将绘制的门在电路图中为第一个门(如图7第一个门)则规定它在纵向上为第一个位置,横向由控制端与受控端决定。
  当通用Toffoli类门只含一个参数时,如T1(a),则被认定为受控端,即一个非门。
  如图7中,第一个门调用函数为T2(b,d),即控制非门。在图中,b点为控制点,d点为受控点。通用Toffoli类规定最后一个参数对应的是受控制端,其他均为控制端。
  图7中,第二个门调用函数为T3 (a’,c,b),此通用Toffoli门为电路的第二个门,从开始位置将纵轴将向后移一个门的位置开始绘制。前面两个参数a’, c对应的是控制端,其中a’表示一个空心圆的控制端,即表示非,c用实心圆表示(注:此文章中所有带单引号的参数都表示空心圆);b则对应受控制端,受控制端则用一个带“十”字的圆来表示。然后比较三个参数的大小,确定一个最大值和一个最小值,此处最小值为a’,最大值为c。在a’和c所代表的两条水平线上画一条竖线,从而形成一个Toffoli量子门。当参数变多时,绘图的过程也是如此。
  由上述可知,带三个参数的Toffoli量子门相应的函数见算法1:
  [算法1 类通用Toffoli量子门图形的绘制函数Toffoli(c1,c2,c3)\
其他文献
摘要:以阜新高等专科学校计算机多媒体技术专业为例,从构建创新创业教育的目标体系、创新创业教育的内容体系、创新创业教育的实践体系三个方面,阐述如何构建高职创新创业教育的新模式。  关键词:高职;创新创业;新模式  中图分类号:G710 文献标识码:A 文章编号:1009-3044(2016)30-0112-02  Building a New Pattern of Creative and Ente
摘要:应用XML与WebService技术实现HIS与异地医保接口,实现省内异地就诊实时结算,方便患者异地就医。  关键词: HIS;异地医保  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)13-0052-02  Abstract:Application of XML and web service technology to achieve HIS and r
摘要:微课是现代计算机互联网的新型学习资源。明确微课的含义,通过完成高职多媒体技术专业微课作品《摄影曝光基础》的设计与制作,探讨高职院校微课设计思路,高职院校微课的制作技术,高职院校微课的制作流程,以及建设高职院校微课的现实意义,从而找到一种更加科学化和规范化的适合高职院校微课教学资源的开发体系。  关键词:微课;学习资源;高职院校;微课资源开发体系  中图分类号:TP37 文献标识码:A 文章编
摘要:“数据湖”是通过将原始数据分类存储到不同数据池,并在各数据池里将数据整合转化成容易分析的统一存储格式进行存储,以方便用户对大量原始数据池中原本几近废弃的数据加以分析利用,从而产生经济效益。该文首先介绍了数据湖的结构,其次介绍了数据湖中各数据池的特点及应用;最后介绍了各数据池之间的联系并举例说明了数据湖的架构。  关键词:数据湖;数据池  中图分类号:TP391 文献标识码:A 文章编号:10
摘要:在组网工程课程教学过程中,出现专业人才培养目标定位太低,教学内容与社会需要相脱节,理论和实践教学分离等突出问题,该文针对应用型本科院校组网工程课程的教学改革提出基本思路,教学计划的修订、课程内容的增删、实践环节教学改革以及师资队伍建设等具体措施,大大提高了学生工程实践能力和创新素质。  关键词:组网工程;网络生命周期;双师型  中图分类号:G424 文献标识码:A 文章编号:1009-304
理性思维是一种有明确的思维方向,有充分的思维依据,能对事物或问题进行观察、比较、分析、综合、抽象与概括的一种思维。简言之,理性思维就是建立在证据和逻辑推理基础上的思维方式。“语文教育本质上是一种感性教育,需要语文教师具有感性的气质,充满活动和激情,还需要理性地审视,发现文本的独特价值。”事实上,小学语文课堂上,师生往往沉浸于教学情境中,在语言文字的品味与运用中不断升华情感,却往往忽视了学生理性思维
摘要:《Access 数据库》课程现如今已经成为很多高校开设的计算机基础课程,该文主要探索如何将项目教学法引入《Access 数据库》课程教学过程,最终达到良好教学效果,提高学生使用Access解决实际问题的综合能力。  关键词:项目教学法;Access数据库;教学过程  中图分类号:G642 文献标识码:A 文章编号:1009-3044(2014)31-7244-02  1 概述  随着计算机使
摘要:对于高职院校而言,公文处理工作非常重要,随着校园网络技术的发展,越来越多的高职院校都开发专门公文处理平台,关于平台的研究与实现提出了新的需求。高职院校每天要处理很多的公文文件,传统的公文流转方式己不再满足业务工作的实际需求,还停留在纸质的处理模式,导致效率低下、成本高现象。  关键词:高职院校;公文处理系统;B/S  模式中图分类号:TP315 文献标识码:A 文章编号:1009-3044(
摘要:针对当前在线课程教学和在线学习正被人们广泛接受,该文以中山中专《计算机应用基础》课在线课程的设计与应用为例,对在线课程的设计原则与设计步骤进行了探讨,提出了在线课程设计网络平台化,在线课程应用学习模块化的基本思想与应用策略。  关键词:在线课程;网络课程建设平台;教学设计;教学应用  中图分类号:G424 文献标识码:A 文章编号:1009-3044(2014)07-1454-02  近几年
摘要:受韦伯局部描述子和LBP特征的启发,针对Haar特征维度高、冗余度大以及对光照变化适应性差等缺点,提出了一种于显著性的局部二值化Haar特征。首先将8种Haar特征组合形成一个3*3的块,利用局部二值化思想得到二值化Haar特征;然后根据韦伯定律求取该块的显著性因子;最后把显著性因子作为权重将二值化Haar特征统计成直方图而得到SLBH特征。通过在INRIA行人样本库上实验,表明该特征具有较