Functional programming 从应用程序程序员的角度来看,函数式编程可以用来编程量子计算机吗?

Functional programming 从应用程序程序员的角度来看,函数式编程可以用来编程量子计算机吗?,functional-programming,quantum-computing,Functional Programming,Quantum Computing,我不是函数式编程专家。事实上,我才刚开始学 所以,真正的问题是:因为,FP是从数学推导出来的,而不是从von推导出来的。诺依曼机器,这种编程风格/范例可以用来编程量子计算机吗?这更多是从应用程序程序员的角度来看的,因为低级机器指令可能完全不同。不。功能程序仍然执行经典计算。我们目前定义的功能性风格与叠加、量子力学门或干涉没有任何相似之处。虽然可以将高阶和一级函数的一般概念引入量子计算领域,人们现在正在研究这一点,就像量子图灵机一样,就我所知,结果与经典函数编程的区别就像量子算法与经典算法的区别一

我不是函数式编程专家。事实上,我才刚开始学


所以,真正的问题是:因为,FP是从数学推导出来的,而不是从von推导出来的。诺依曼机器,这种编程风格/范例可以用来编程量子计算机吗?这更多是从应用程序程序员的角度来看的,因为低级机器指令可能完全不同。

不。功能程序仍然执行经典计算。我们目前定义的功能性风格与叠加、量子力学门或干涉没有任何相似之处。虽然可以将高阶和一级函数的一般概念引入量子计算领域,人们现在正在研究这一点,就像量子图灵机一样,就我所知,结果与经典函数编程的区别就像量子算法与经典算法的区别一样。例如,在QML中,如果。。。然后其他的被移除,以支持类似的条件,其中条件为qbit,结果是then和else值的叠加


现在,量子计算机当然是图灵完备的,理论上可以执行任何经典算法。但你到底为什么要这么做?我们已经有了经典计算机,它们现在和将来在执行经典计算时都会更加高效。编写量子计算机程序的唯一原因是让它运行一种算法,该算法以一种非平凡的方式利用量子效应的奇异性。要表达这一点,不管你工作的抽象程度如何,你都需要一种非常不同的语言。

你的问题相当于,量子计算机能完成吗?。答案是,量子计算机实际上相当于许多图灵完备计算机。这就是它的威力。@Aron从图灵完备性的角度来看,原则上它可以计算出,一个QC精确地等同于一个TM,增加许多磁带或读/写磁头也不会改变TMs的威力。计算复杂度计算效率是另一回事,但它远比QC并行尝试指数级的多种可能性复杂。据任何人所知,BQP不包含NP,尤其不包含EXP或其他类似的类。@delnan I给出了简化的流行科学解释。更准确地说,QM是一个包含许多磁带的TM,完成后,您随机选取一个磁带并从中读取,销毁所有其他磁带。随机选择磁带的方法可能会偏向于你真正想要的磁带。@Aron Pop sci不是在人们大脑中植入错误想法的借口。不管怎么说,你修改后的解释仍然让我感到不舒服:它谈论了TMs和磁带相当的CS-y细节,但关于随机选择是如何产生偏差的,它没有任何细节。我认为问题在于我们与函数编程相关联的属性,例如引用透明性或懒散性,或将函数视为值,都能很好地转化为量子计算机。例如,任何克隆都不会导致引用透明性的实现问题,函数值的叠加可能很难使用。你似乎回答了一些不同的问题。@Strilanc我得到的印象是,OP希望他们可以用自己最喜欢的函数式编程语言编程,并利用量子计算的魔力,而不必学习任何新东西。我回答了。你提到的方面似乎很难回答我,因为关于这个问题的研究才刚刚开始。无论如何,我不能对此发表评论。