Bernstein-Vazirani算法

news2024/9/22 20:50:57

B-V算法

(1) 问题描述

  给定布尔函数 f : { 0 , 1 } n → 0 , 1 f:{\left\{ {0,1} \right\}^n} \to{0,1} f:{0,1}n0,1, 函数 f f f的值是由输入比特串 x x x和确定的比特串 s s s做模2意义下的内积: f ( x ) = x ⋅ s (   m o d   2 ) , f\left( x \right) = x \cdot s\left( {\bmod 2} \right), f(x)=xs(mod2),其中 x ⋅ s = ∑ i ( x i ⊕ s i ) x \cdot s = \sum\limits_i {\left( {{x_i} \oplus {s_i}} \right)} xs=i(xisi)
前提:可以调用访问函数 f f f的黑盒
问题:计算出比特串 s s s

经典意义下
  依次输入比特串 x x x:
00...00 00...01 00...10 . . . 01...00 10...00 \begin{array}{l} 00...00\\ 00...01\\ 00...10\\ ...\\ 01...00\\ 10...00 \end{array} 00...0000...0100...10...01...0010...00
对于第 i i i次输入:
000100...00 → x ⋅ s (   m o d   2 ) = s i 000100...00 \to x \cdot s\left( {\bmod 2} \right) = {s_i} 000100...00xs(mod2)=si
重复该流程 n n n次,即可确定比特串 s s s,上述方法的查询复杂度为 O ( n ) O\left( n \right) O(n)

(2) 量子算法核心思路:

基础知识: H ⊗ n ∣ s ⟩ = 1 2 n 2 ∑ x ( − 1 ) s ⋅ x ∣ x ⟩ H^{\otimes n}|s\rangle=\frac{1}{2^{\frac{n}{2}}} \sum_{x}(-1)^{s \cdot x}|x\rangle Hns=22n1x(1)sxx

Step1:制备初始量子比特 ∣ Φ 0 ⟩ = ∣ 0 ⟩ ⊗ n \left| {{\Phi _0}} \right\rangle ={\left| 0 \right\rangle ^{ \otimes n}} Φ0=0n
Step2:作用 H ⊗ n {H^{ \otimes n}} Hn,得到量子态 ∣ Φ 0 ⟩ = 1 2 n 2 ∑ x ∣ x ⟩ \left| {{\Phi _0}} \right\rangle = \frac{1}{{{2^{\frac{n}{2}}}}}\sum\limits_x {|x\rangle } Φ0=22n1xx
Step3:作用量子黑盒 O f {O_f} Of O f : ∣ x ⟩ → ( − 1 ) x ⋅ s ∣ x ⟩ {O_f}:\left| x \right\rangle \to {\left( { - 1} \right)^{x \cdot s}}\left| x \right\rangle Of:x(1)xsx,此时系统状态为 ∣ Φ 1 ⟩ = 1 2 n 2 ∑ x ( − 1 ) s ⋅ x ∣ x ⟩ \left| {{\Phi _1}} \right\rangle = \frac{1}{{{2^{\frac{n}{2}}}}}\sum\limits_x {{{\left( { - 1} \right)}^{s \cdot x}}|x\rangle } Φ1=22n1x(1)sxx
Step4:作用 H ⊗ n {H^{ \otimes n}} Hn,系统状态变为 ∣ s ⟩ |s\rangle s
此时测量量子系统即可得到比特串 s s s,该算法的查询复杂为 O ( 1 ) O(1) O(1)

备注:上述量子黑盒 O f O_f Of的实现方法与Deutsh算法相似,具体方法如下

在这里插入图片描述

(1) 制备量子态 ∣ Ψ 0 ⟩ = ∣ 0 ⟩ n ∣ 1 ⟩ \left| {{\Psi _0}} \right\rangle = {\left| 0 \right\rangle ^n}\left| 1 \right\rangle Ψ0=0n1
(2) 作用 H ⊗ n {H^{ \otimes n}} Hn,量子系统变为 ∣ Ψ 1 ⟩ = 1 2 n 2 ∑ x ∣ x ⟩ ∣ − ⟩ \left| {{\Psi _1}} \right\rangle = \frac{1}{{{2^{\frac{n}{2}}}}}\sum\limits_x {|x\rangle } \left| - \right\rangle Ψ1=22n1xx
(3) 作用 U f : ∣ x ⟩ ∣ y ⟩ → ∣ x ⟩ ∣ y ⊕ f ( x ) ⟩ U_f:\left|x\right\rangle\left|y\right\rangle \to\left|x\right\rangle\left|y\oplus f\left( x \right)\right\rangle Ufxyxyf(x),量子系统演变为 ∣ Ψ 2 ⟩ = 1 2 n 2 ∑ x ∣ x ⟩ 1 2 1 2 ( ∣ 0 ⊕ f ( x ) ⟩ − ∣ 1 ⊕ f ( x ) ⟩ ) \left| {{\Psi _2}} \right\rangle = \frac{1}{{{2^{\frac{n}{2}}}}}\sum\limits_x {|x\rangle } \frac{1}{{{2^{\frac{1}{2}}}}}\left( {\left| {0 \oplus f\left( x \right)} \right\rangle - \left| {1 \oplus f\left( x \right)} \right\rangle } \right) Ψ2=22n1xx2211(0f(x)1f(x))
f ( x ) = 0 {f\left( x \right)}=0 f(x)=0时, ∣ x ⟩ 1 2 1 2 ( ∣ 0 ⊕ f ( x ) ⟩ − ∣ 1 ⊕ f ( x ) ⟩ ) = ∣ x ⟩ 1 2 1 2 ( ∣ 0 ⟩ − ∣ 1 ⟩ ) = ∣ x ⟩ ∣ − ⟩ \left|x\right\rangle \frac{1}{{{2^{\frac{1}{2}}}}}\left( {\left| {0 \oplus f\left( x \right)} \right\rangle - \left| {1 \oplus f\left( x \right)} \right\rangle } \right) = |x\rangle \frac{1}{{{2^{\frac{1}{2}}}}}\left( {\left| 0 \right\rangle - \left| 1 \right\rangle } \right) = |x\rangle \left| - \right\rangle x2211(0f(x)1f(x))=x2211(01)=x
f ( x ) = 1 {f\left( x \right)}=1 f(x)=1时, ∣ x ⟩ 1 2 1 2 ( ∣ 0 ⊕ f ( x ) ⟩ − ∣ 1 ⊕ f ( x ) ⟩ ) = ∣ x ⟩ 1 2 1 2 ( ∣ 0 ⟩ − ∣ 1 ⟩ ) = − ∣ x ⟩ ∣ − ⟩ \left|x\right\rangle \frac{1}{{{2^{\frac{1}{2}}}}}\left( {\left| {0 \oplus f\left( x \right)} \right\rangle - \left| {1 \oplus f\left( x \right)} \right\rangle } \right) = |x\rangle \frac{1}{{{2^{\frac{1}{2}}}}}\left( {\left| 0 \right\rangle - \left| 1 \right\rangle } \right) = -|x\rangle \left| - \right\rangle x2211(0f(x)1f(x))=x2211(01)=x
不难发现 U f U_f Uf的作用为: ∣ x ⟩ ∣ − ⟩ → ( − 1 ) f ( x ) ∣ x ⟩ ∣ − ⟩ = ( − 1 ) s ⋅ x ∣ x ⟩ ∣ − ⟩ |x\rangle \left| - \right\rangle \to {\left( { - 1} \right)^{f\left( x \right)}}|x\rangle \left| - \right\rangle={\left( { - 1} \right)^{s \cdot x}}|x\rangle \left| - \right\rangle x(1)f(x)x=(1)sxx
舍弃掉最后一个量子比特(辅助比特) ∣ − ⟩ \left| - \right\rangle ,即实现了Step3中的黑盒 O f O_f Of

参考资料
[1] Bernstein-Vazirani Algorithm 学习笔记
[2] 量子计算【算法篇】第7章 Deutsch-Josza算法及实现
(3) 由 Fourier Sampling 到 Deutsch-Jozsa Algorithm & Bernstein-Vazirani Algorithm

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/351304.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Node.js】 npm与包

npm与包什么是包包的来源为什么需要包从哪里下载包怎么下载包初体验在项目中安装包的命令npm的注意点包的语义化版本规范包管理配置文件(package.json)当第三方包的体积过大时快速创建package.jsondependencies节点devDependencies节点卸载包解决下载包速…

H.264视频隐写中可用于隐藏的场地(变换过程)

与静止图像中的信息隐藏类似,通过位平面替换的方式,亮度DCT系数通常被用于信息隐藏。 Ma等[77]提出将信息嵌入在I-frame中量化的DCT系数中(亮度)。在分析DCT系数与像素值产生的失真之间的关系的基础上,对几个系数进行配对,以达到数…

Web前端的未来发展怎样?

在求职的道路上,很多人都会经历漫长的迷茫期,如何找到职业方向成为人很多正在探索的事情!当我们决定学习一个技能的时候,首先会考虑到零基础是否可以学,这个技术的前景怎么样,薪资高不高,未来发…

JavaSE学习day8 API的使用和String的内存原理

1.API 1.1API概述 什么是API API (Application Programming Interface) :应用程序编程接口 java中的API 指的就是 JDK 中提供的各种功能的 Java类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这…

基于机器学习的推荐算法研究与实现

摘要随着互联网的普及,人们可以通过搜索引擎、社交网络等方式获取大量的信息资源。但是,面对如此之多的信息,人们往往会感到迷失和困惑,无法快速准确地找到自己需要的信息。在这种情况下,推荐算法的出现为我们提供了一…

如何使用Xshell巧妙的连接服务器

最近一直在想到底写那些技术性文章,正好我之前买的一台服务器还没怎么使用,所以准备打算出一期在Xshell上使用服务器的教程的。 首先,为什么要使用Xshell连接云服务器呢? 1、自己打开服务器很麻烦,每次都要在网页进行登录操作&…

2023美赛C题:预测 Wordle 结果

以下内容全部来自本人人工翻译,仅供参考。 文章目录背景要求附件数据文件条目描述纽约时报网站上发布的Wordle指导方针词汇表参考文献服务背景 Wordle是目前纽约时报每天提供的一种受欢迎的谜题。玩家试图通过在六次或更少的机会内猜测一个五个字母的单词来解决谜题…

SAC代码 pytorch框架,2023年了还在用假的SAC?

呀他温,博主这次真要红温了,中路一个红温兰博请求对线!!!!!! 莫烦老师的强化学习视频不出SAC,我只能去看看别的程序员讲解SAC算法。结果。。。。 唉,&#…

后端,我是认真的

web框架介绍 1. 什么是web框架 应该叫web应用框架(web application framework)是一种开发框架。 通俗点来说,就是用来开发web应用的程序。 2. 为什么要使用框架来开发 互联网行业流行一句话叫“不要重复造轮子”,特别是对于新手和应用层开发人员。对于w…

TLP5754的代替品SLM343兼容光耦的单通道隔离驱动 应用解决方法

TLP5754的代替品SLM343兼容光耦的单通道隔离驱动应用解决方法是一种光兼容的单通道隔离MOSFET、IGBT具有不同驱动电流能力的栅极驱动器,以及UVLO电压电平。峰值输出电流为4.0A。主要特点和特点带来显著的性能和可靠性。性能亮点包括高共模瞬态抗扰度(CMT…

给 “rm” 命令添加个“回收站”,再也不用担心误删文件了!

1.rm命令解析 rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。 注意:使用rm命令要格外小心。因为一旦删除了…

WebSocket内存马之tomcat-websocket源码实现(内存马系列篇七)

写在前面 这篇主要是分析一下WebSocket协议在Tomcat容器中的源码实现,方便大家在后面能够更好的了解下一篇Websocket型内存马的原理。 这个也是内存马系列第七篇 Websocket 什么是websocket? 首先来了解一下什么是websocket WebSocket全双工通信协…

2023-2-16 刷题情况

神经网络 题目背景 人工神经网络(Artificial Neural Network)是一种新兴的具有自我学习能力的计算系统,在模式识别、函数逼近及贷款风险评估等诸多领域有广泛的应用。对神经网络的研究一直是当今的热门方向,兰兰同学在自学了一本…

Airtest自动化测试工具介绍

官方网站:http://airtest.netease.com/ Airtest IDE: 跨平台的UI自动化测试编辑器,适用于游戏和App,详细参见官网文档:http://airtest.netease.com/docs/cn/index.html 这是Airtest测试工具标配的IDE,目…

Eclipse插件安装全方式介绍(优化版)

Eclipse插件安装方式 Eclipse插件安装有很多种方式,常见的有以下四种: [在线安装] -使用插件地址安装[在线安装] - 通过插件市场查找插件安装[离线安装]- 下载插件文件后复制文件Eclipse目录[离线安装]- 外部引用 本篇以安装Eclipse Tomcat插件为例进…

#8排序算法#

1.排序 1概念 排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起 来的操作。 稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排…

AWS攻略——使用ACL限制访问

文章目录确定出口IP修改ACL修改主网络ACL修改入站规则修改子网ACL创建子网ACL新增入站规则新增出站规则关联子网假如我们希望限制只有公司内部的IP可以SSH登录到EC2,则可以考虑使用ACL来实现。 我们延续使用《AWS攻略——创建VPC》的案例,在它的基础上做…

Spring 系列 - AOP

Spring 系列 - AOP Spring 框架从使用到现在已经有相当的长的一段时间了,但总是在使用的时候,感觉一直停留在表面,对框架的底层了解的并不多,最近一段时间,打算好好折腾一下 Spring 的底层,想对 Spring 有…

智能家居项目(二)之工厂模式的实现

目录 一、举例说明:把下面的代码转换成工厂模式的方式来实现 二、用工厂模式的方式来实现 1、创建三个函数的文件 2、创建一个 Animal.h文件,把上述三个函数名都放在这个文件中 3、创建一个main主函数文件 4、用工厂模式创建的文件浏览 一、举例说…

用主动游泳的三维水母模型量化美杜莎的(medusan)机械空间的性能(三)(2017)

文章目录用主动游泳的三维水母模型量化美杜莎的(medusan)机械空间的性能(三)(2017)原文链接:https://doi.org/10.1017/jfm.2017.34. 讨论小结用主动游泳的三维水母模型量化美杜莎的(medusan)机械…