加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 动态 > 正文

最高管理层高管们认为,为应对COVID-19做出的调整将会永久

发布时间:2021-02-11 14:45:23 所属栏目:动态 来源:互联网
导读:Grover 算法通常被描述为一个数据库搜索过程,即检查一个包含 N 项的列表,找到其中满足所需性质的一项。如果该列表已按某种标签进行了排序(比如按字母顺序排列),那么通过不断连续减半地切分列表,就可以找到任意标签;这个过程所需的查询次数为 logN。但

Grover 算法通常被描述为一个数据库搜索过程,即检查一个包含 N 项的列表,找到其中满足所需性质的一项。如果该列表已按某种标签进行了排序(比如按字母顺序排列),那么通过不断连续减半地切分列表,就可以找到任意标签;这个过程所需的查询次数为 log₂N。但是,对于无序列表,检查完每一项平均需要 N/2 步(有可能需要多达 N 步)。

和其它量子算法一样,Grover 算法也会同时操作整个量子比特集,同时保留它们之间的关系(过早地查询任意量子比特会使其状态确定下来,从而将其转换成一个普通比特,这会消除量子计算所带来的优势)。但是,Grover 的研究表明:通常仅需次全局操作就能找到所需的项。

这样的提升没有秀尔算法所带来的提升多,因为秀尔算法带来的是指数级的提升。但 Brown 强调说:Grover 算法可应用于更一般的、非结构化的问题。

Grover 算法的计算首先是对所有 N 个量子比特进行均等混合。然后,该算法会反复让所有量子比特进行两种轮流交替的操作。第一个操作是嵌入该目标:它会反转一个特定但未知的比特的状态。该任务的目标是确定哪个比特被修改了,但方法不是观测所有比特。第二个操作不需要有关该目标的任何信息。Grover 发现每次重复该序列时,该目标在混合结构中的权重都会增大(尽管这无法被观测到)。重复了适当的次数之后,此时执行一次观测,则有非常高的可能性能得到正确结果。

弹性球

这些复杂的量子操作似乎和弹性球没有关系。但是,Brown 在研究与 Grover 算法相关的问题时看到了数学科普者 Grant Sanderson 做的一个动画,让他注意到了两者之间的相似性。Brown 在自己的论文中表明这两个问题之间存在一种精准的映射关系。

Sanderson 的动画解释了东伊利诺伊大学数学家 Gregory Galperin 在 2003 年描述的一个出人意料的观察结果。在论文《Playing Pool with π》中,他想象有两个能在水平面上无摩擦地运动的理想弹性球,它们能彼此以及与左侧的墙发生完全弹性碰撞(即总动能守恒)。

如果右侧的球向左撞向左侧更轻的静止球,则左侧小球会向左运动,同时右侧大球的速度并不会变慢多少。小球会在撞上墙后反弹,然后再次撞击大球,这个过程会重复很多次。最后,这样的碰撞会让大球调转方向,直到它最终以比小球更快的速度向右远去。

在此之前,碰撞的次数会随着大球与小球的质量比的增大而变多。如果两个球的质量相等,碰撞会发生 3 次:第一次右侧球会把所有运动转移给左侧球,左侧球则在撞墙后反弹,然后又通过碰撞将动量完全返还给右侧球。如果大球的质量是小球的 100 倍,则该过程会发生 31 次碰撞。如果这一质量比为 10000,则会有 314 次碰撞。根据计算(这个实验无法实际进行),质量比每增加 99 倍,碰撞的次数除以质量比的平方根后就能让 π 的数字表示多一位数:3.141592654...。

当 Brown 偶然看到 Sanderson 的动画(动画里使用的方块)时心里正想着 Grover 算法,然后他发现两者之间存在显著的相似性。举个例子,Grover 算法的两个量子操作可以分别对应于球球碰撞和球墙碰撞。质量比对应于数据库的大小。此外,最终的结果是:操作数(或碰撞数)正比于 π 以及数据库规模(质量比)的平方根。(还有两个 2 的因数只是反映了两个问题的表记方法的差异)。

除了在这两种如此不同的系统之间存在惊人的联系之外,π 在这两种情况中究竟发挥了怎样的作用?当然,π 这个无理数最出名的地方是它是圆的周长与其直径的比,不过它也出现在椭圆以及球等更高维对象的对应比值中。定义球的方法之一是通过代数在横纵坐标 x 和 y 给出限定条件:半径为 r 的圆上的点满足限定条件:x² + y² = r²。

事实证明,不管是上面的碰撞问题,还是 Grover 算法,都具有这种形式的限定条件。球的碰撞或操作量子系统对应于由这些限定条件定义的圆上的旋转。

例如,对于两个质量为 m(速度为 v_m)和 M(速度为 v_M)的弹性球,弹性碰撞会保留两者的总动能。完全保留大球的动能需要在坐标 v_m 和 v_M 的平面中进行 180° 转向,而 180° 就等于 π 弧度。

类似地,在量子系统中,观察到某个特定结果的概率正比于对应该结果的「波函数」的平方。目标与其它所有结果的概率(振幅平方)之和必然为 1。
 

让我们解释一下以上代码。

首先,该程序的核心仍然是直接调用 Ebiten。这些尚未封装。因此,你将在 main 和 Run 函数中看到,我们基本上已经制作了 MyApp 结构的实例,然后调用 SetupUI,设置一些 Ebiten 标志,然后调用 MainLoop。

NewMyApp 函数调用 pkg.NewWindow 函数。这是应用程序的主窗口。一旦添加了模态/其他窗口,这可能会更改,但是就目前而言,这将创建给定大小的主 UI 窗口。

SetupUI 是你需要注意的地方。我们要做的第一件事是创建一个 VPanel。请记住,VPanel 把小部件垂直堆叠放置。我们将 vPanel 添加到主窗口。实际上(当前),我们应该只在主窗口中添加 1 个面板,其他所有内容都应放入该面板中。因此,在这种情况下,我们创建 button1(新的 TextButton)并将其添加到 vPanel。

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!