当前位置: 首页 > 编程日记 > 正文

量子计算机 漫画,漫画 | 10分钟看懂量子比特、量子计算和量子算法

原标题:漫画 | 10分钟看懂量子比特、量子计算和量子算法

请做好准备,即将进入烧脑模式!

76746b81989f118d166e2cd9fd5496e0.png

b560fb113187c6d312260c3e8bb30c88.png

宏观世界的生活经验很多都是表象。比如,你可能认为世界的运行是确定的、可预测的;一个物体不可能同时处于两个相互矛盾的状态。

在微观世界中,这种表象被一种叫做量子力学的规律打破了。

量子力学指出,世界的运行并不确定,我们最多只能预测各种结果出现的概率;一个物体可以同时处于两个相互矛盾的状态中。

量子计算,就是直接利用量子力学的现象(例如量子叠加态)操纵数据的过程。

在本文中,我们简单地介绍量子叠加态、量子比特、量子测量和一种实现随机数据库搜索的量子算法。

夏天到了,烈日炎炎。当你带上偏振墨镜时,从某种程度上讲,你就已开始接触量子计算了。

82213c58886dec01b62c25990a298732.png

为什么这么说呢?因为光的偏振正好“同时处于两个相互矛盾的状态”中,也就是量子叠加态。在量子计算中,光子的偏振就可以用来实现量子比特。

首先,光是一种电磁波,组成它的粒子叫做光子。电磁波的振动就像绳子抖动一样,可以朝这儿偏也可以朝那儿偏,形成各种各样的偏振。

7896e72d04a0a18080e8ca719295fb61.png

175d5ef2779dccda7919e6d2a2eb2577.png

其次,偏振墨镜就像一个筛子,只有跟筛子的缝隙方向一致,光子才能“钻过去”。如果跟筛子的缝隙方向垂直,光子就被完全“拦住”了。

用绳子的抖动比喻光子的偏振,你就很容易理解了。

f2d3f22525a4e7d26c2a085e217c8acc.png

如果光子偏振方向跟缝隙方向既不垂直也不平行,而是呈一定角度,又会怎样呢?

如果你在钻过去的朝↗方向偏振的光子后面,再放一个只过滤↑光子的偏振镜,就会发现一个非常诡异的量子力学现象:大约有一半儿↗偏振光子穿过了偏振镜,而且偏振方向都变成了↑。

a822f534d449cb24f4324637dfd97138.png

这个时候,运用高中学过的矢量合成知识,我们可以试着解释这个现象。

由于光子的偏振既有方向又有大小,我们可以将每个光子的偏振看做一个矢量。于是,它们满足矢量的加法。

88ed134a6abeb2e2b10de0052dbc7b85.png

由于↗方向的振动等于↑方向的振动加上→方向的振动,我们就可以说,↗偏振的光子可以看作是同时在朝↑和→方向振动。

c3274cff259f151e7c97a5f4bd8f072d.png

如果你不理解什么叫同时进行两种振动,想想你耳朵里的鼓膜,正是它同时进行多种振动,你才能同时听到各种各样的声音。

90ecd875d327c947c08ce0774ac0270c.png

这个时候,我们就可以试着解释那个奇怪的量子现象了。如果把一个↗偏振的光子看作是一个光子同时进行↑和→两种振动,那么我们可以说,当这个光子路过↑偏振镜的时候,其中一半儿→振动被挡住了,另一半儿↑振动通过了。

bb8a67838bf57ae7b966c2011164d4d9.png

然而,这个解释并不完全对。

如果你朝这个偏振镜发出一个↗光子,在偏振镜之后,你并不会接收到一个振动能量减弱了一半儿的光子。而是有50%的几率接收到一个↑光子;50%的几率什么也没接收到。

c6bdc245db760aea587b2598db951e67.png

说到这里你可能想起来了,这就是量子力学常说的“上帝掷骰子”。

bfdb67821c060a432b9235d878a69568.png

如果我们把↑光子看做比特0,→光子看做比特1,那么,一个↗光子就处于比特0和比特1光子的叠加状态之中。

如果你硬要用一个偏振镜去测量它到底是比特0还是比特1,就会发现,测量结果有50%的概率是比特0,还有50%的概率是比特1。

↗光子所携带的这种诡异的“比特”就叫做量子比特。

4c9f5d94181767c60c7b0f09e57d6ddb.png

电子计算机所做的计算,就是在操纵经典比特。同样的道理,所谓量子计算机,就是在量子力学允许的范围内操纵量子比特。

2b80dd14b4a0c51b9a57acd2b21bdc8a.png

不知道你发现了没有,由于量子比特可以同时处于比特0和比特1的状态,量子门操纵它时,实际上同时操纵了其中的比特0和比特1的状态。

所以,操纵1个量子比特的量子计算机可以同时操纵2个状态。如果一个量子计算机可以同时操纵N个量子比特,那么它实际上可以同时操纵2N个状态,其中每个状态都是一个N位的经典比特。

这就是量子计算机传说中的并行计算能力。

51836913b1a2291e92a651ca5b4aaa27.png

最后,让我们用量子计算的Grover算法来说明它是如何并行计算的。

假设我们有N个未经排序的数据。如果使用经典算法寻找其中的某个数据x,条件是它(并且只有它)满足P(x)=TRUE,比方说x代表一个人的工号,P(x)是看他是不是现任CEO。那么你只能从第一个数据开始,一个一个地看它是不是CEO的工号,直到你瞎猫碰上死耗子。

在这种算法中,计算复杂度是O(N)。

2492f5453a323a65cf07794f3ecc8a42.png

在Grover算法中,我们可以将N个数据同时储存在log2N个量子比特中,然后同时计算N个函数P( )的取值,也就是同时看它是不是CEO的工号。

3fd6f4583b4b5b5b256b38a7e00b55e2.png

在N个计算结果中,必然有1个结果是CEO的工号,其他结果都不是。但如果你这个时候贸然去“读取”结果,就会发现,每个结果发生的概率都是1/N。

这就好比你用↑偏振镜去测量↗光子,得到↑和→的概率各为1/2。

aa154fdcdeab4d0529f589f9dbbfda57.png

Grover算法的思想是,同时计算了N个P( )的取值后,先不要读取,而是通过量子操作略微增加结果为CEO工号的那个数据发生的概率。

113c09306bab6850d9489af0e858694c.png

数学计算证明,反复重复以上过程 (π√N)/4次之后,你要找的那个数据发生的概率就会达到最大,最终达到(1-2-N)。这个时候如果你再去读取数据,就会以极大的概率读到你要找的数据。

c279125c486acc605033e1346991dcd6.png

所以,Grover的量子搜索加速算法,可以将搜索复杂度降低到O(√N),但你成功读取那个数据的概率永远也不会达到100%,而是会略小于100%。

从目前的情况看,量子计算只是在少数计算任务中表现的比经典计算更快,例如大数质因子(Shor算法)、随机数据库搜索(Grover算法),并且,这种快法不能挣脱量子力学的约束,达到十全十美。

注:为什么Grover算法的操作必须且最多只能重复(π√N)/4次?

请你想象一个N维空间,每个维度代表log2N个量子比特所存储的一个状态。由于这种空间在纸上画不出来,我们需要进行一些简化,假设右边这个二维空间代表那个N维空间。其中一个维度|X>表示你要搜索的数据对应的状态,另一个维度|s’>表示除|X>以外所有其他N-1个数据相叠加所对应的状态。

Grover算法的初始状态,就代表其中一个矢量|s>。

c7b5f24b73442b90b44bbdeb13ee0d07.png

Grover算法采用的量子操作,就是像拨动表盘上的时针一样,不断将矢量|s>朝着|X>的方向拨过去,每次拨动的角度只能是θ,其中。θ=2arcsin(1/√N)。

注意我们说过,一个量子叠加态跟哪个方向的夹角越小,测量时得到哪个方向的结果的概率就越大。不难计算,将矢量|s>这样拨动π/2θ≃(π√N)/4次之后,它与|X>的夹角最小,测量时得到你要找的正确结果的概率最大。

注意,在这个比喻中,我们没有考虑N个状态之间的相位,但这并不影响讨论的结果。

6a198bdd3e31e2246e8fc3a95ad666f3.png

来源:Sheldon

编辑:Lixy

近期热门文章Top10

↓ 点击标题即可查看 ↓

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

责任编辑:

相关文章:

异步调用WCF的方法需要小心的地方

直接使用下面的代码,由于client对象占用的资源没有被释放,会导致内存泄露GetSimServiceReference.GetSimServiceClient client new GetSimServiceReference.GetSimServiceClient()client.computerSimAsync(DepartmentNo, FileID, F_intput.Length, Read…

中国电子学会青少年编程能力等级测试图形化四级编程题:打篮球

「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复【Scratch】或【Python】,即可进入。如果加入了之前的社群不需要重复加入。 我们将有关编程题目的教学视频已经发布到抖音号21252972100,小马老…

#读书笔记 Android-Activity启动模式

什么是Activity的启动模式?当启动一个Activity的时候,系统会创建一个实例,并把它放入到一个任务栈中,至于如何存放,就是由这个启动模式来决定的。Android系统支持多任务,所以系统中会同时存在多个任务&…

计算机专业PhD申请文书范文,美国留学博士申请文书怎么写之范文分享

【导语】对于计划申请美国博士学位的同学,美国博士申请文书的写作尤为重要。美国博士申请文书怎么写呢?本文无忧考网提供了一篇美国土木工程博士申请个人陈述范文,大家可以根据文章理清自己的写作思路。I am planning to pursue graduate studies towar…

ubuntu安装Android SDK,adb,fastboot

1,Eclips先安装:ADT: https://dl-ssl.google.com/android/eclipse/ 2,由于是64bit的系统,而Android sdk只有32bit的程序,需要安装ia32-libs,才能使用。 运行如下命令:sudo apt-get install ia32-libs 3,下载…

Eureka服务注册中心

Eureka服务注册中心 最近在研究Spring Cloud,发现其中的组件实在是太多了,真的是头大,只能一块一块看,像盲人摸象一样。要想很短时间内掌握Spring Cloud是不可能的,小编就学习一块就在这里分享一块,有什么不…

【组队学习】【32期】动手学数据分析

动手学数据分析 航路开辟者:陈安东、金娟娟、杨佳达、老表、李玲、张文涛、高立业领航员:范淑卷航海士:武者小路、曾心怡 基本信息 内容属性:精品入门课系列开源内容:https://github.com/datawhalechina/hands-on-d…

win8系统的计算机共享在哪里设置方法,怎么设置win8无线共享呢?

在windows8中怎么设置无线共享呢,接下来小编和大家一起来看看怎么设置windows8无线共享吧。1.以管理员模式运行CMD 输入命令行 netsh wlan show drive 如果支持会显示为是 。2.下面就搭建承载网络,输入 netsh wlan set hostednetwork mode allow ssid你想…

Android13.9.15

在创建android项目中&#xff0c;有一栏package name&#xff1a;——在Properties&#xff08;属性&#xff09;区域包名栏输入***.***。 &#xff08;包名至少应该包含两部分&#xff0c;中间用英文句点隔开&#xff09; 在main.xml文件中我们一定会看到下面这段代码 <?x…

【组队学习】【32期】李宏毅机器学习(含深度学习)

李宏毅机器学习&#xff08;含深度学习&#xff09; 航路开辟者&#xff1a;王茂霖、陈安东&#xff0c;刘峥嵘&#xff0c;李玲领航员&#xff1a;郭棉昇航海士&#xff1a;汪超、赵美 基本信息 开源内容&#xff1a;https://github.com/datawhalechina/leeml-notes开源内容…

SVN提交错误:working copy is not up-to-date解决方法

我在项目中删了2个jar&#xff0c;然后SVN提交&#xff0c;一直提交不成功 svn在提交时报错如下图: working copy is not up-to-date svn:commit failed(details follow): svn:file "xxxxx is out of date" item is out of date svn:item "xxxx" is out of…

西部数码买哪处线路的云服务器,云服务器买哪个区合适

根据用户所在地区对于国内大陆的应用&#xff0c;选择国内地区的服务器速度肯定好于海外地区节点的速度。对于中国香港及海外其他国家节点来说&#xff0c;由于地理位置相差较远和路由等因素&#xff0c;不同节点会有较长的访问延迟&#xff0c;可以按照以下方式选择&#xff1…

从原则、方案、策略及难点阐述分库分表

版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 https://blog.csdn.net/qq_34173549/article/details/79936693 一、分库分表原则 关系型数据库本身比较容易成为系统性能瓶颈&#xff0c;单机存储容量、连接数、处理能力等都很有限&#xff0c;数据…

.Net Framework中的委托与事件

using System; using System.Collections.Generic; using System.Text;namespace Delegate {// 热水器public class Heater {private int temperature;public string type "RealFire 001"; // 添加型号作为演示public string area "China Xian"; …

中国电子学会青少年编程能力等级测试图形化一级编程题:小鸡与鸭妈拥抱

「青少年编程竞赛交流群」已成立&#xff08;适合6至18周岁的青少年&#xff09;&#xff0c;公众号后台回复【Scratch】或【Python】&#xff0c;即可进入。如果加入了之前的社群不需要重复加入。 我们将有关编程题目的教学视频已经发布到抖音号21252972100&#xff0c;小马老…

坦克世界服务器未响应怎么解决,华硕笔记本老是程序未响应怎么处理

电脑型号 华硕 P45VJ 笔记本电脑操作系统 Windows 7 专业版 64位 ( DirectX 11 )处理器 英特尔 第三代酷睿 i7-3520M 2.90GHz 双核主板 华硕 P45VJ (英特尔 Ivy Bridge - HM76 Express 芯片组)内存8 GB ( 尔必达 DDR3 1600MHz )主硬盘 日立 HGST HTS541010A9E680 ( 1 TB / 540…

中国电子学会青少年编程能力等级测试图形化一级编程题:无奈的Jaime

「青少年编程竞赛交流群」已成立&#xff08;适合6至18周岁的青少年&#xff09;&#xff0c;公众号后台回复【Scratch】或【Python】&#xff0c;即可进入。如果加入了之前的社群不需要重复加入。 我们将有关编程题目的教学视频已经发布到抖音号21252972100&#xff0c;小马老…

解决jupyter中无自己创建的虚拟环境

最近看的教程都是用的jupyter&#xff0c;按理说都一样吧&#xff0c;但是pycharm中python有的模块就弃用了&#xff0c;而jupyter却都可以用&#xff0c;而且jupyter听说也不错&#xff0c;就配置了一下下 1.打开cmd&#xff0c;激活你的虚拟环境&#xff0c;我的是tensorflow…

从“如何学会做一只机械表”讲如何创新,如何做好产品

Version:0.9 StartHTML:-1 EndHTML:-1 StartFragment:00000099 EndFragment:00015862 为什么我总劝第一次创业的人先做山寨产品呢&#xff1f;因为游戏行业太多人太有理想了&#xff0c;因为玩过的好游戏很多&#xff0c;所以有冲动想自己做游戏&#xff0c;这样入行的人太多&a…

放大 旋转 css3,CSS3详解:transform 的旋转、旋转放大、放大、移动

CSS3 transform是什么&#xff1f;transform的含义是&#xff1a;改变&#xff0c;使…变形&#xff1b;转换CSS3 transform都有哪些常用属性&#xff1f;transform的属性包括&#xff1a;rotate() / skew() / scale() / translate(,) &#xff0c;分别还有x、y之分&#xff0c…

Web SCADA 电力接线图工控组态编辑器

前言 SVG并非仅仅是一种图像格式&#xff0c; 由于它是一种基于XML的语言&#xff0c;也就意味着它继承了XML的跨平台性和可扩展性&#xff0c;从而在图形可重用性上迈出了一大步。如SVG可以内嵌于其他的XML文档中&#xff0c;而SVG文档中也可以嵌入其他的XML内容&#xff0c;各…

IE6、IE7、IE8的CSS、JS兼容

Internet Explorer 6中查看使用 Microsoft JScript 的网页&#xff0c;可能会遇到web浏览器速度较慢的性能问题。原因是如果js脚本同时创建大量变量&#xff0c;jscript引擎执行垃圾收集算法时会监视脚本中变量分配的 数量、脚本中使用的文字值的数量和脚本中分配的字符串值的总…

中国电子学会青少年编程能力等级测试图形化一级编程题:海底世界

「青少年编程竞赛交流群」已成立&#xff08;适合6至18周岁的青少年&#xff09;&#xff0c;公众号后台回复【Scratch】或【Python】&#xff0c;即可进入。如果加入了之前的社群不需要重复加入。 海底世界 1. 准备工作 &#xff08;1&#xff09;背景&#xff1a;Underwater…

小说站 章节内容 ajax,第17章 作业分析与异步编程原理——2019年5月14日22:00

5月14日作业完善购物车的删除与编辑功能谈一下你对单线程,任务队列与事件循环, 同步与异步的理解单线程&#xff1a;单线程在程序执行时&#xff0c;所走的程序路径按照连续顺序排下来&#xff0c;前面的必须处理好&#xff0c;后面的才会执行。比如&#xff1a;JavaScript就是…

【转载】图像缩放与插值理论基础

图像的缩放 图像经过缩放后有可能在原图中招不到对应的像素点&#xff0c;这需要用图像插值来解决。 1.理论基础 假设图像的X轴方向缩放比例是Kx&#xff0c;Y轴方向的缩放比是Ky&#xff0c;则缩放后输出图像的点&#xff08;x , y&#xff09;对应原图中坐标&#xff08;u , …

【组队学习】【32期】SQL编程语言

SQL编程语言 航路开辟者&#xff1a;王复振、杨煜、闫钟峰、杨梦迪、苏鹏、红星、张晋、汪健麟领航员&#xff1a;李云龙航海士&#xff1a;蒋志强、闫钟峰 基本信息 开源内容&#xff1a;https://github.com/datawhalechina/wonderful-sql开源内容&#xff1a;https://hub.…

查找手机型号云服务器,查找手机型号云服务器

查找手机型号云服务器 内容精选换一换您可以通过“应用管理”页面的应用列表&#xff0c;快速查看应用状态&#xff0c;及相关异常信息&#xff0c;如图1所示。包括&#xff1a;应用状态&#xff1a;即图1中的①应用异常信息&#xff1a;即图1中的②云服务器异常信息&#xff1…

浅谈25种设计模式(4/25)(此坑未填)

设计模式汇总 创建型模式 这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式&#xff0c;而不是使用新的运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。 工厂模式&#xff08;Factory Pattern&#xff09;抽象工厂模式&#xf…

C#学习笔记8:HTML和CSS基础学习笔记

<!-- 1、<P>...</P>段落标签 2、<br/>折行标签。 3、<img src"" height"*px" width"*px" alt"图片描述">。 注意&#xff1a;不能写成<img ></img>的形式。 4、html注释&#xff1a;<!-- …

青少年编程竞赛交流群周报(第043周)

2021年12月26日&#xff08;周日&#xff09;晚20:00我们在青少年编程竞赛交流群开展了第四十三期直播活动。 一、直播内容 我们直播活动的主要内容如下&#xff1a; 讲解了上次测试中小朋友们做错的题目 Scratch青少年编程能力等级测试模拟题&#xff08;四级&#xff09;。…