【问题标题】:Is Haskell suitable for quantum computing?Haskell 适合量子计算吗?
【发布时间】:2013-08-30 05:11:28
【问题描述】:

我刚刚阅读了一篇关于量子物理学的文章。一件有趣的事情是,在 Haskell 程序员看来,这两个领域之间有一些相似之处。

首先,量子世界中的测量似乎类似于 Haskell 中的惰性求值:如果你不测量,你就不知道猫是活的还是死的。不求值,不知道值是定义还是undefined

其次,在量子方面,我们有EPR paradox,这可以通过与速度高于光速的相互作用来解释,或者相当于一台时间机器。在 Haskell 中,正如我们在 Assembly: Circular Programming with Recursive do -Monad.Reader issue 6 中看到的那样,我们可以通过使用递归 do 来访问来自未来的值。

最后,在量子中,我们必须区分熵永不减少的可观察世界和时间在两个方向上等价的“纯”量子世界。在 Haskell 中,我们有 IO() 世界,它描述了程序实际所做的事情,以及永远不会有副作用的纯函数世界,并且值从不依赖于评估顺序。

所以我猜上述事实表明这两个领域之间存在一些相互联系。这会产生更有趣的后果吗?例如,虽然我谈到了 EPR 悖论,但我不知道如何创建一个 Haskell 程序来模拟这种情况:一个函数创建两个值,稍后对其中一个的求值会影响另一个(我认为这些值必须有IO() 类型,但我不知道如何将它们放在一起)。

【问题讨论】:

  • 计算机语言不仅仅包含一个理论概念。即使两个概念(或看起来)相似,也不一定与一个是否以任何可用的方式适合另一个有关。
  • 使用“时间机器”这个短语表明你还没有完全理解 EPR 悖论。有关非常清晰的解释,请参阅 Mermin 的文章:theorie.physik.uni-konstanz.de/juan/pub/…
  • 所有这些类比都是......好吧,启发式的,老实说,在大多数情况下都是错误的。但这仍然是一个好问题。
  • @DominicSteinitz 不,我读过的一本书提出了“时间机器”的解释。作者建议测量的效果实际上是回溯到两篇相关文章分开的时间。
  • 在不使用量子物理学的情况下,“相互作用比光快”意味着“对于某些观察者来说,结果发生在它的原因之前”并且意味着“时间机器”。因此,如果“交互速度比光快”可以解释,那么“时间机器”也可以。

标签: haskell quantum-computing


【解决方案1】:

Haskell 被用作量子编程语言已有一段时间了。

主要参考点是 Haskell 中的 Quipper DSL。

还有更多有趣的东西 - http://www.kurzweilai.net/quipper-language-makes-quantum-computers-easier-to-program

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2011-03-19
  • 1970-01-01
  • 2022-07-13
  • 2015-06-17
  • 1970-01-01
  • 2021-03-28
  • 2016-11-09
  • 1970-01-01
相关资源
最近更新 更多