V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
akfish
V2EX  ›  程序员

果然科技树只能按照顺序点:量子计算机上的程序无法调试,无法测试,只能依靠编译器在编译时形式化验证

  •  
  •   akfish ·
    akfish · 2014-05-27 08:11:08 +08:00 · 8079 次点击
    这是一个创建于 3866 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在看一些量子计算机相关的文献,看到这么一段:

    来源: http://www.monoidal.net/papers/tutorialqpl-2.pdf

    Speci cation and veri cation.
    In classical programming languages, debuggers
    are useful tools while writing programs. In quantum computation, due to
    impossibility to watch quantum information without modifying it, a debugger
    for a program is a lost cause.
    In classical programming languages, one can develop test suites to analyze
    the behavior of a program and check whether it (statistically) behaves
    correctly in the expected input data-range. In the case of embedded software, if
    it is not possible to do it with the actual device, one can usually perform these
    tests o -site. In quantum computation, because of the cost of running code
    early quantum computers and the impossibility to e efficiently simulate quantum
    computation on large inputs, test suites are not an option.
    In typed classical programming languages, one has the choice between
    strong type systems, dynamic type systems, or even blends of these, bearing the
    fact that run-time errors can be captured and potentially resolved by the user
    (as in LISP, for example). In quantum computation, due to the cost of the run
    of a quantum computation and the difficulty to keep stable quantum memory,
    the programmer cannot afford run-time errors in his code, specially if they come
    from something as simple as the attempt to clone a quantum bit.
    The conclusion is that the work have to be done upstream.

    简单的说就是由于观察者效应,对量子态的观察必定会造成结果的改变,你不可能设个断点然后把量子CPU上的寄存器内容撸出来看了,还能继续正确运行,你一观察内容就变了。所以调试器是不可能有的。

    由于运行成本高,以及不可能有效的对输入数据规模很大时的运算过程进行模拟,所以测试也是不可能。

    唯一的出路只有在编译时验证。

    所以如果人类一开始捡到了外星人的黑科技,尝试在没有电子计算机的情况下,直接去点量子计算机的科技树,可能根本无法做到自举,因为要写出一定规模的量子程序,需要首先有另外一种运算能力强的设备去撸编译器。
    第 1 条附言  ·  2014-05-27 19:34:08 +08:00
    发这个贴的主要目的也就感叹下人类科技的进展而已,无奈有人积极歪楼。

    歪楼请先看完原文,除最后一段,均来源于原文观点,本人谨慎同意,但不负责护犊子不参与对喷。如果因自身阅读理解能力无法成功在原文里找到,本人不负责帮助阅读理解。

    有人认为很多YY成分,认为离发展到这一步还很远,事实上,量子计算机并不是想象中的遥不可及,据我目前的了解,这当中大多数概念已经有实验、工程、甚至产品级的验证。

    量子编程语言都已经有很多种了,量子电路、量子逻辑门运算均有定义,Google已经买了D-Wave的商用化量子计算机在撸着玩了。

    Google已经给了一个在线的量子计算机模拟器:
    http://qcplayground.withgoogle.com/#/home
    看各种量子计算的文献其实就是为了玩这个模拟器。

    讨论前,先了解,不顾上下文一味在自己逻辑里绕,就不叫讨论而是钻牛角尖。
    第 2 条附言  ·  2014-05-28 00:10:40 +08:00
    增加个简单的导读吧。

    贴这篇文章的主要原因是因为它是少数从开发者视角来描述量子计算机理论的文章,同时又不是停留在简单的科普水平上。

    和这篇文章同系列的还有一篇(第一部分):
    http://www.monoidal.net/papers/tutorialqpl-1.pdf
    侧重对量子计算机相关理论的形式化描述,里面的内容是作为阅读帖子里所发这篇(第二部分)的理论基础。要理解第二部分的内容,需要对第一部分里的内容有一定程度的了解。

    第一部分有一定阅读难度,可以以wiki的词条作为补充:
    http://en.wikipedia.org/wiki/Quantum_computer
    http://en.wikipedia.org/wiki/Qubit
    http://en.wikipedia.org/wiki/Bloch_sphere
    http://en.wikipedia.org/wiki/Quantum_gate

    第二部分内容:

    第2章 描述了量子计算机的计算模型,阅读这章可以了解量子计算机与电子计算机的不同之处,知道由于基本物理定律的不同,决定了量子计算机是一种不同的体系结构,进而意识到传统计算机的编程模型、工程经验可能会不适用。

    2.1 几种量子计算模型
    * 量子电路模型 和数字电路的概念大致对应,wiki词条有更详细的描述(http://en.wikipedia.org/wiki/Quantum_circuit)
    * 量子随机存取机模型 量子计算机和电子计算机的关系,量子计算机作为电子计算机的一个外设。“量子数据,传统控制”
    * 基于测量的模型 初始化量子比特-建立纠缠态-测量-纠错,这个模型与硬件实现关系密切,并且等效于量子电路模型

    这些模型都是有潜力能有效的指导硬件实现和编程语言的设计。

    2.2 物理/逻辑量子比特

    这部分着重于纠错的问题,指出了量子计算机体系与电子计算机体系几个显著的不同点。

    第3章 量子编程

    这部分针对量子计算机在体系上的不同,分析了量子编程语言的设计需求与约束,并提出了一个“玩具”语言作为讨论案例。
    这部分基本上就是程序员熟悉的领域了,无需多介绍。

    全文的结论是:
    量子计算机虽然处于早期发展阶段,可规模化扩展的量子计算机还没能造出来,但量子计算理论已经得到充分理解了(well-understood),结合已有的传统计算机科学理论积累,相关的计算科学理论研究可以(已经)先行展开,量子编程语言及相关分析技巧已经在开发当中,只需要坐等硬件了。
    52 条回复    2014-06-04 17:55:06 +08:00
    chengxiao
        1
    chengxiao  
       2014-05-27 08:29:37 +08:00
    外星人说不定用的是灵能或者是原力,怎么破?May the force be with you
    yangff
        2
    yangff  
       2014-05-27 08:40:05 +08:00
    为毛要调试,你需要证明啊亲。。
    rannnn
        3
    rannnn  
       2014-05-27 08:52:11 +08:00
    po主兴趣真广泛。。。
    notcome
        4
    notcome  
       2014-05-27 09:03:12 +08:00 via iPhone
    @chengxiao The Force gives us answers.
    tonyup
        5
    tonyup  
       2014-05-27 09:03:51 +08:00
    嗯……看来只能打printf了!233
    sinxccc
        6
    sinxccc  
       2014-05-27 09:06:46 +08:00
    @tonyup printf 也算是“观察者”吧…
    akfish
        7
    akfish  
    OP
       2014-05-27 09:07:18 +08:00
    @tonyup printf也不行,因为print之前也要先对量子态进行测量。
    量子计算机只能一个算法从头跑到尾,然后才能取结果,所以中间任何问题都无法在运行时发现。
    se77en
        8
    se77en  
       2014-05-27 09:07:44 +08:00
    表示即使是普通计算机调试在多线程下也没什么用,更多的是靠打 log 来观察的,一旦涉及到线程竟态,调试就几乎没作用了
    akfish
        9
    akfish  
    OP
       2014-05-27 09:09:29 +08:00
    @rannnn 主要是为了搞懂Google的Quantum Computing Playground(http://qcplayground.withgoogle.com/)是怎么一回事
    akfish
        11
    akfish  
    OP
       2014-05-27 09:19:11 +08:00
    @se77en 不能调试对发展早期技术的自举过程会有比较严重的影响,不管是验证硬件的正确性还是软件的正确性都很困难,电子计算机刚开始也并没有多线程,而且多线程程序的除错调试也不见得完全无用,因为bug可能出在非并发代码中。
    tossking
        12
    tossking  
       2014-05-27 09:19:41 +08:00 via Android
    函数式编程可以大显身手了?
    akfish
        14
    akfish  
    OP
       2014-05-27 09:23:21 +08:00
    @tossking 貌似。
    现在量子编程语言也就两个流派,指令式和函数式。
    guotie
        15
    guotie  
       2014-05-27 09:42:48 +08:00
    这充分说明了量子计算机不是给人用的,而是给智能人用的。
    williamx
        16
    williamx  
       2014-05-27 10:37:29 +08:00
    同一段代码运行两次能给出相同的结果吗?
    akfish
        17
    akfish  
    OP
       2014-05-27 10:44:22 +08:00
    @williamx 不会,量子计算机是非决定性的,给出的解是只是一定的概率。这是由不确定性原理决定的。
    HowardMei
        18
    HowardMei  
       2014-05-27 10:49:42 +08:00
    少见多怪,有些硬件也是不能直接引出调试接口的,比如大多数小信号模拟/射频微电路,
    只能从数字控制端进行调试输入,从很多级放大之后的大信号端放测试输出,这种不透明的
    级联黑盒测试,也没妨碍你手机正常工作呀?

    原因在于,实际应用不需要全透明穷举测试,只需要正常工作模式下批量可靠性超过一个阈值,
    那就是合格了;追求完全透明可靠,那是科学派的洁癖和偏执,如果搞工程的也这么做事,
    技术根本别想发展、手机会是目前价格的百倍、很多科学理论的工程实证基础也会显得过于
    粗糙而摇摇欲坠。
    akfish
        19
    akfish  
    OP
       2014-05-27 11:02:55 +08:00
    @HowardMei No no no 你的关注点偏了,这个帖子说的主要是要按顺序点科技树,和你说的完全不是同一个话题。
    你举的例子之所以不是问题,是因为人类已经按顺序点完了科技树,理论储备、工程设施已经这么完备了,才可能做到,说得好像人类一来就撸得出射频电路造手机一样。
    量子计算机的这些问题最后应该都能解决,因为人类已经有技术储备,有足够强的运算设备了。
    loading
        20
    loading  
       2014-05-27 11:28:45 +08:00 via Android
    将程序切片,先输出,再把结果给下一个子程序。

    类似 linux 用管道把一大堆工具协同使用的方法!
    do one thing and do it well.
    wwqgtxx
        21
    wwqgtxx  
       2014-05-27 11:48:16 +08:00 via Android
    放心,这个问题一定会在量子计算机流行之前解决的
    shyrock
        22
    shyrock  
       2014-05-27 12:01:35 +08:00
    可不可以这样理解,量子计算的不确定性中其实包涵了设计逻辑上的不完备?因此只要你的代码大体上是正确的就行了,本来你得到的计算结果就每次都不一样,只是指向理想结果的概率更大而已。
    akfish
        23
    akfish  
    OP
       2014-05-27 12:24:06 +08:00
    @shyrock 这不是设计逻辑的问题,而是由基础物理理论决定的。
    也不是说不完备,而应该认为是一种不同的计算模型。
    计算结果以概率密度的形式出现,并不代表对代码只需要大体正确,也不代表结果的正确性没有保证。
    量子计算机的非决定性来源于量子比特是处于叠加态,即可能同时处于0,1或者01叠加态,这满足非决定性图灵机的定义:即对于当前状态以及一个特定的输入,可能有多种状态转移方案。这并不代表计算过程本身不确定。
    事实上量子逻辑门的一个很独特的特征就是可逆性,即完成一系列的量子逻辑运算后,如果再逆向执行一遍,可以恢复到最初状态。而数字电路里的逻辑门则不行,你不能从1 OR 0的结果1,逆向得到最初的输入1和0.
    HowardMei
        24
    HowardMei  
       2014-05-27 12:27:26 +08:00   ❤️ 3
    @akfish 顺不顺序,都是事后诸葛亮,有些东西就是试错试出来,十几年后才有完备理论解释,半导体发展史就是典型例子,你不能说因为现代计算机建立在半导体基础上,并顺势生长了几十年,就说科技树只会顺势增长,这种历史决定论,无法解释科技突破中的偶然性和劈叉生长。

    科技树有缓变生长期和突变分叉期,之所以叫树,当然是因为它的新芽生长方向不定,如果完全是顺序攀爬,那只会在主干一个分支上发展,根本不会分叉,只能叫科技棒。

    最早的半导体器件,就是撸出来的,没有任何理论支持那些器件会和传统电子管一样工作,更别说工作得更好,晶体管本身是肖克利凭经验、直觉和偏执,弄出来的,那个时候谁知道沟道里面量子效应是什么,外部特性“像”电子管就行了。

    手机整体固然是科技顺序生长的结果,但里面有些器件仍然不是,射频器件的很多设计,就没办法进行顺序攀爬和推论,某些新器件,只能作为新特例,反复黑盒测试、迭代修改,凑出来。试错不够多,就做不出来,工程实践就是这么残酷,很多东西要用真金白银烧,烧出来就叫科技树顺势生长,烧不出来就是枯死的末端。

    科技树生长,除了不完全是顺序的、经常出乎意料地分叉,甚至都不完全是连续的,任何一粒别处的种子都有可能长出另一颗科技树,至今物理学和生物学这两颗大树,都是孤立生长的,就算物理学与化学都也没能完美合体,联系两棵树的价键理论,人工嫁接痕迹就非常重。
    akfish
        25
    akfish  
    OP
       2014-05-27 12:34:59 +08:00
    @HowardMei 你的关注点再次偏了,科技树的顺序决定的是发展难易程度,点错了可能会走弯路甚至死胡同,但总是可以回头换个方向。
    不是说顺序有个是非对错,而是有好坏之分。

    这不叫历史决定论,而是怎样从历史中学习进步。
    假如说人类当初真是直接先点了射频电路,然后不断试错最终用了更长的时间撸到了今天的水平。这个时候如果回头再讨论其实有更好的顺序,意义不在于站在上帝视角诋毁人类的伟大成就,而是总结经验教训下次学聪明点。

    这个讨论本来就是事后诸葛亮,人类已经有电子计算机了。
    wodemyworld
        26
    wodemyworld  
       2014-05-27 12:39:20 +08:00
    好能yy,学过量子力学吗,学过测试相关理论么。。。。。。。。。。。
    akfish
        27
    akfish  
    OP
       2014-05-27 12:44:44 +08:00
    @wodemyworld
    YY?写那些论文的作者们要哭了,原来别人努力学了这么多年终于可以靠这个吃饭了,到头随便一个只知道两个名词的人就能跳出来说人家没学过,233。
    HowardMei
        28
    HowardMei  
       2014-05-27 12:55:07 +08:00
    最早图灵机的程序,也是图灵自己大脑充当模拟器和调试、测试器。楼主所谓自举,那是多少年后,计算机科学化才催生的奢侈玩意儿。创造C,不必有比C更强大的语言做基础。

    这篇文章作者,犯了学院派常见错误,过早担忧,总想找什么最优发展路径。其实只要量子计算机作为黑盒,在一些简单计算上,能足够可靠替换传统计算机,那么后续发展到一定程度,天然就能自举。

    比如:算法里包含一些校验子算法,只要这些子算法得出的结果符合传统计算结论,就可以相信整个计算是可靠的,这跟网络传输协议有什么太大不同吗?
    akfish
        29
    akfish  
    OP
       2014-05-27 12:59:46 +08:00
    @HowardMei

    第一,此自举非彼自举。
    第二,喷前先看原文?你说的那些原文完全就没提到过,原作者也根本没那个意思。

    你说的这些,放在完全不同的语境下面,我都表示同意。
    放在这里,只能说你理解各种偏差了。
    不再回了,讨论的完全不是同一个话题。
    HowardMei
        30
    HowardMei  
       2014-05-27 13:07:47 +08:00
    @akfish 没得到你的意思

    按我的大概猜测,你大概和多数中国父母教育小孩一样,足够自信能从历史中总结一套‘正确’方式来保证不走弯路,但是科技本质上是探索未知,对错的判断,很多都是马后炮,所谓判断对错的经验,自然也无从谈起。

    我已经在上面说了,科技缓变期,你这种方式可能收到很好投入产出比,但是忽略那些‘错误’的路径,也会让你错过科技突破和分叉。人类在和平时期,科研投入都是这种倾向,但在战争时期,就会出现病急乱投医的大胆试错,科技会发生突变,这种现象不是偶然的。

    另外,人类点燃射频电路和数字电路的进程,基本上是同步的,并没有以数字电路为基础,才发展出射频,后面的融合是后面的事,数字长得快,射频长得慢,都有足够道理,两种发展路径很难比较优劣。
    nybux
        31
    nybux  
       2014-05-27 13:08:47 +08:00
    量子计算机如何实现 i++
    akfish
        32
    akfish  
    OP
       2014-05-27 13:14:48 +08:00   ❤️ 1
    @HowardMei 我来告诉你在这个帖子的做了一件什么事情:

    一个人从山上下来,运气好选了一条容易的路走完了,回头发现有一条很难的路,然后他感叹了下:“还好当初没有走那条路,显然这个世界上有的路容易有的路难。”
    这个时候出来一个路人甲跳出来一阵说教:“别总是想着一来就找到最好的路,你这是犯了学院派错误,blah,blah,blah。”他的这些话可能本身都是正确的,但在这个场合下就是绝对无用的废话。

    你就是那个路人甲,这还不懂那我就没办法了。
    akfish
        33
    akfish  
    OP
       2014-05-27 13:32:17 +08:00
    Panic
        34
    Panic  
       2014-05-27 13:33:43 +08:00
    @akfish 不懂为什么好好的帖子被歪成现在这个样子
    akfish
        35
    akfish  
    OP
       2014-05-27 13:34:33 +08:00
    akfish
        36
    akfish  
    OP
       2014-05-27 13:37:08 +08:00
    @Panic 没办法,都容易陷入自己的想法不能自拔,人之常情。
    bengol
        37
    bengol  
       2014-05-27 13:42:19 +08:00
    不得不说lz是个好人,脾气好,正在撸这个google链接中。。。
    HowardMei
        38
    HowardMei  
       2014-05-27 14:12:00 +08:00
    @akfish 你自己的观点是:“果然...” 和 “所以...”,这两部分,我的回应完全切合主题,讨论的就是科技树怎么长,怎么爬,不存在关注点偏了的问题。

    这篇文章是你拿来作为例证的,反映的是这篇文章作者的观点,不能算你自己的观点。如果你本来意图是让大家针对文章或者内容本身,主题应该是“这篇文章水准...” 或 “该文xxx提到的...” 如何如何。

    针对这个意图,我的看法:
    文章本身:很水,等同国内常见的综述文;扯了一堆不可能性,唯一结论是"the work have to be done upstream";

    文章内容:没什么有用信息,他扯的那些稍微关注量子计算的都应该知道,结论也不新,upstream该怎么做,才是最有价值的部分。

    而且在你复述的时候,结论upstream那段变成“唯一的出路只有在编译时验证”,与原文意思风马牛不相及。

    谁告诉你量子计算语言一定和通用计算机的C语言一样,要静态编译时验证了?动态语言里广泛使用的单元测试、行为测试等非侵入式查错手段,就一定不能用?实际上量子计算根本还没到这步,最起码把我前面说的校验算法这类可靠性基石先搞定,再扯什么语法级的调试。

    基本上,你自己不清楚想要表达些什么,只会说别人不懂你的心思,却不管自己打出来的字在别人眼里是什么意思。
    HowardMei
        39
    HowardMei  
       2014-05-27 14:23:04 +08:00   ❤️ 1
    @akfish 呵呵,你的“果然...”、"所以..." 可真是很强的感慨啊,这既然是你的观点,我来驳斥你的观点,不正切合主题?你也承认我说的对,是正确的废话,那不一个回复就结了?

    自己歪楼而不自知,中文论坛里的常见病,引述作者结论,就是表达了自己观点?拜托,那是原作者的观点,不是你的。两个观点之间,并没有显然的不言自明效果。

    如果希望大家讨论原作者的观点,你应该针对那些观点发表评论,而不是感什么慨。
    akfish
        40
    akfish  
    OP
       2014-05-27 14:24:02 +08:00
    @HowardMei 读懂/读完原文再说,OK?

    实际上就在我引用的那一段紧接着就有两条:
    * A program needs to be specified and verified beforehand. A quantum programming language therefore needs to come up with a well-defined and sound semantics, in which one can specify a particular behavior for a piece of code, and eventually prove that the code behave as expected.
    * Because of the cost of each run, the compiler of the programming language should catch most of the standard causes of run-time errors: the language needs a strong type system.

    我引用的这一段所处位置文章都还没过半,你就能理解成这是“唯一的结论”,后文对现有量子编程语言的评价分析被你吃了?

    还扯什么动态语言,基础物理原理都不同,计算体系结构都不同,你这种逻辑就等于说猪肉都可以烤着吃,砖头凭什么不能油炸。

    不看文章先说文章水,自己理解能力有限就怪别人表达不清,真是放之四海而皆准总能立于不败之地的流氓逻辑。

    真是懒得跟你扯了,给你个台阶下,你过去说的,即将说的,已经说的,还没说的都是对的行了吧。
    dong3580
        41
    dong3580  
       2014-05-27 14:28:08 +08:00
    @loading
    速度太快了,切都切不出来,这个时候是不是可以考虑给人工智能来使用.
    jianghu52
        42
    jianghu52  
       2014-05-27 14:32:42 +08:00
    除了观察者校验能看得懂,其他的完全不懂。我是不是太low了。
    HowardMei
        43
    HowardMei  
       2014-05-27 15:22:50 +08:00
    @akfish 好吧,基本上沟通是很困难的一件事,承认这点并不伤自尊。

    其一:你犯了一个错误,主题措辞和心中想讨论的问题本身完全不符,从字面上看,你想讨论爬科技树;觉得歪楼了,指明一下就是了,你只是重复“关注点”偏了,并不能把楼正过来。

    其二:我并没有声称自己完全对,特意写了“我的看法”。不对的地方,你完全可以逐条指出来,打滚撒泼不是讨论。

    事实上,之前我确实没仔细看完这篇文章,特别3.2部分,作者在结论的地方都没提他们的Propose,我评价成水文,确实武断了,但这也正是你应该指出来给大家,说3.2节是最有价值的地方,否则你给这个链接有什么意义呢?

    我对量子计算的了解只局限于这篇文章前面的Model部分,以及传统编程语言也很有可能被用在这个模型上。再看了一遍,我对作者结论的只有“强类型语言”才适用,仍然有怀疑。如果你有更深理解,分享一下,当然欢迎。

    代入情绪,恐怕没法真正讨论。
    edwardro
        44
    edwardro  
       2014-05-27 16:40:37 +08:00
    @HowardMei “有些东西就是试错试出来,十几年后才有完备理论解释”——有些东西就是试错试出来就代表所有的东西都是试错出来的?

    人类没有发明计算机之前拿到一台外星人的量子计算机,能试错试出来一个量子程序编译器?

    感觉自己在带着情绪以及偏见在讨论问题,结果说成别人带情绪。
    HowardMei
        45
    HowardMei  
       2014-05-27 17:32:18 +08:00
    @edwardro 破折号后面是你的结论,不是我的,你把“有些”毫无障碍地引申为“所有”,然后归谬树靶子打自己,真得很神奇。

    楼主说“科技树只能按照顺序点”,并用量子计算机必须以电子计算机为基础这个个例来
    证明所有东西都是积累出来的,我举了个射频的反例,并且后面还说明了,突破性的进展,
    通常跟积累无关,楼主说的顺序点,只合乎缓变阶段。所以,我结论是楼主的观点不完全成立,
    “有些”东西是试错出来的,而不是积累出来的。反过来,这里除了你,没人荒唐到说所有东西都是
    试错试出来的,那不叫科技,叫炼金术。

    就此结束吧,表达精确、逻辑严密是沟通和讨论的基础,不然就是像你这样把自己的话塞到别人嘴里,
    然后加以鄙视。
    windylcx
        46
    windylcx  
       2014-05-27 19:10:27 +08:00
    @HowardMei
    表达精确、逻辑严密是沟通和讨论的基础。同意。
    edwardro
        47
    edwardro  
       2014-05-27 20:48:41 +08:00
    @HowardMei 既然知道有些东西不是靠试错试出来的,结果反而拿着不一定正确的逻辑来反驳别人,我看你说的话正好就是在说你自己,“把自己的话塞到别人嘴里,
    然后加以鄙视”说的就是你这种人,打自己嘴巴打得真响!好!!
    sharpnk
        48
    sharpnk  
       2014-05-27 23:08:02 +08:00
    @HowardMei 赞~ 好久没在网上看到这么多逻辑清晰的汉字了。
    wodemyworld
        49
    wodemyworld  
       2014-06-04 14:43:52 +08:00
    @akfish 我不是说他们怎样,我是说你的理解太狭义了,调试有很多方法,测试又有很多方法,不是量子信息不可被完美重发就不能调试和测试的,量子信息保证了发出的信息只能被观察到一次,但是如果引入第三方并且信任他,一致认定第三方重发的信息作为有效信息,那么调试和测试就不存在什么问题,哪有调试的时候程序不信任调试器的呢。。。。。
    akfish
        50
    akfish  
    OP
       2014-06-04 16:00:31 +08:00
    @wodemyworld 还第三方,搞量子密码学的要哭了,别YY了好不。
    恩,测试有很多方法,你怎么不说编译时静态验证也是测试的一种,我的标题是自己打脸呢?

    量子计算最基本的就是量子纠缠态的建立量子比特,中间的任何量子逻辑运算的前提都是这个纠缠态的完整性,第三方必然导致对纠缠态的干扰。你可以设个断点,你可以假装信任所谓的“第三方”,但你取出来的东西根本不可靠,你也无法从断点处恢复继续运行。

    至于说(量子计算机早期)测试的不可行,那是由于量子计算的成本,和模拟运算量大的不可行性导致的。量子计算机的发展早期会经历一个较长的阶段,它会是地球上计算能力最强的设备,在它上面进行的计算会完全榨干其性能。在这个阶段内,根本没有任何设备有足够的运算量(在合理的成本范围内)去跑有效的测试。
    你的想法就等于用算盘来测试电子计算机,理论上可行,前提是要有足够多的时间、人力和算盘。

    这不是信任问题,不是方法论问题,而是可行性问题。
    不要用经典领域的眼光,去看待完全不同的领域。
    wodemyworld
        51
    wodemyworld  
       2014-06-04 17:06:29 +08:00
    @akfish 还密码学,真是没救了。。。。。。
    akfish
        52
    akfish  
    OP
       2014-06-04 17:55:06 +08:00
    @wodemyworld 没救的是你,局限在自己那点知识里,量子计算机也就有生之年内能看到的东西,无需多言,谁是井底之蛙自有分晓。就这样吧,看你对量子力学一点基本了解都没的样子,实在也不会有什么建设性的讨论。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1054 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 20:08 · PVG 04:08 · LAX 12:08 · JFK 15:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.