不二如是 发表于 2017-1-18 08:19:02

人工智能在厉害,总有个硬伤!因为。。。【高智商推理】

本帖最后由 不二如是 于 2017-1-18 19:14 编辑



计算机可以驾驶汽车,可以控制火星探测器登陆,还可以在《危险边缘》智力问答节目里击败人类......

但是,有没有什么事情是计算机永远都做不到的呢?

计算机当然会被它们的硬件所限制,比如我的智能手机,(暂时)并不能同时当杠铃、哑铃用。

但是这些只是物理上的限制,如果我们一心想做,总是能够克服的。

所以让我把问题描述得更准确一点:

有没有什么计算机永远无法给出解答的问题?

当然了,现在有很多问题计算机都很难给出解答。

例如,在学校,我们会学习因数分解(30 = 2 × 3 × 5,42 = 2 × 3 × 7),小孩子们都知道要按照一个简单的程序去进行计算。

但是对巨大数字进行因数分解并不容易,直到2007年,如果有人能对以下的数字进行因数分解,就能得到十万美元的奖金。

这个数字是:

135066410865995223349603216278805969938881475605667027524485143851526510604859533833940287150571909441798207282164471551373680419703964191743046496589274256239341020864383202110372958725762358509643110564073501508187510676594629205563685529475213500852879416377328533906109750544334999811150056977236890927563

不仅如此,直到2014年,没有一个人公开宣布自己解决了这个问题。

这不是因为我们不知道解决问题的方法,仅仅是因为要花太长时间而已。

我们的计算机太慢了。

事实上,正是因为计算机难以处理这些天文数字,互联网加密算法才成为可能。

所以,有些问题,机器智能,真的解决不了:

永远无法证明计算机程序会在一段时间后停止运行,还是会永远运行下去。

这是个很实际的问题,因为无限循环是一类很常见的 bug,经常不动声色地出现在某人的代码里。

在1936年,一位强大的数学家兼密码破译学家,艾伦·图灵就已经证明:(会被传送到,小天才养殖场大牛录)

让一台计算机检查你输入的全部代码,然后准确地告诉你这串代码会不会陷入无限循环是不可能的。

换句话讲,图灵证明了:

对于计算机而言,停机问题永不可解。

你也许经历过这样的场景:你正在复制文件,然而进度条突然不动了(经常是停在了99%)。

你要等多久才会放弃呢?

你怎么才能知道,它是永远都不会前进了,还是,哪怕在几百年后,会终于完成你文件的拷贝呢?

“如果你和你朋友打赌说你的表永远不会停,要等到什么时候你才能宣告胜利呢?”

受够了对进度条的持续等待之后,你就会想:

如果能有人写出一个调试程序,搞定所有这些烦人的 bug,那该有多好啊!

不管是谁,如果真的写出了类似的程序并卖给微软,他肯定会赚钱到手软。

但是在你兴冲冲地自己去开发软件之前,还是要注意一下图灵的建议:

一台计算机不可能检查代码并给出它是否会停止运行的靠谱结论。

这是一条异常坚定的断言:

图灵在讨论的不是当前科技的界限,而是对于计算机能做什么提出了一项基本的限制。

现在不行,2450年还是不行,现在不行,未来也永远不行。

计算机永远无法解决停机问题。

在他的论证中,图灵首先要在数学上定义我们通常所说的计算机和程序。

当基础工作完成之后,他就可以用屡试不爽的反证法给出最后一击。

在理解图灵的论证过程之前,我们先来热热身,思考一下更简单的“说谎者悖论”。

想象有人告诉你“这句话是错的”,会怎样?

如果这句话是对的,那么联系这句话的内容,它明显是错误的。

这个就是,下面推荐阅读,两头堵问题的另一个维度解读。

同样,如果这句话是错的,那么它事实上已经准确地描述了自己,所以一定是正确的。

但是它不能同时是正确的和错误的,矛盾就这样产生了。

这种通过自我指涉形成矛盾的思想正是图灵的论据的精髓。

(图灵的)论证是一个漂亮的自我指涉的例子。

它完成了对一个古老观点“一个人不可能完全理解自身”的标准化论证。

因为如果你能做到,你就可以预知自己要在未来的十秒钟内做什么。

而刻意做出不符合预测的行为就可以推翻“你能够完全理解自身”的前提。

图灵设想有一台特殊的,可以解决停机问题的机器。

之后,他描述了我们如何让这台机器对自己进行分析。

因此,如果它可以一直运行下去,就必须停下来(以显示结果)。

而如果它将会停机,就要一直运行下去。

这台设想中的神秘机器也就在矛盾中消失了。

------------逻辑证明------------

**** Hidden Message *****



推荐阅读:

搞几个烧脑的,两头堵问题 | 【聪明人看】

无忌,你还记得多少?

你是三维人,不要老把观念停在一维,好不~

第二页,有一首高智商的中英双语诗,任君自愿




对循环检测程序的检测SCOOPING THE LOOP SNOOPER

关于停机问题不可解的一项证明A proof that the Halting Problem is undecidable
Geoffrey K. Pullum

No general procedure for bug checks will do.
没有程序能替你捉虫。

Now, I won’t just assert that, I’ll prove it to you.
这不只是断言,我要证明给你看:

I will prove that although you might work till you drop,
即便你的努力不息不止,

you cannot tell if computation will stop.
也算不出程序是否会终止。

------------------

For imagine we have a procedure called P
想象你有一个程序 P,

that for specified input permits you to see
它能将任意程序记心里,

whether specified source code, with all of its faults,
看透源代码,挑出所有问题,

defines a routine that eventually halts.
经过分析告诉你,程序是否陷入循环里。

------------------

You feed in your program, with suitable data,
你输入了程序,填入了数据,

and P gets to work, and a little while later
于是 P 开始工作,我们一起等一会儿,

(in finite compute time) correctly infers
(有限的计算时间过后)正确结果显现,

whether infinite looping behavior occurs.
告诉你无限循环是否会出现。

------------------

If there will be no looping, then P prints out ‘Good.’
无限循环不出现,P 就输出“好”

That means work on this input will halt, as it should.
说明程序会停机,正如 P 所料。

But if it detects an unstoppable loop,
倘若出现死循环,

then P reports ‘Bad!’ — which means you’re in the soup.
P 就输出“糟”——你的程序一团乱。

------------------

Well, the truth is that P cannot possibly be,
然而我会告诉你,根本没有这个 P,

because if you wrote it and gave it to me,
你若给我一个 P,

I could use it to set up a logical bind
我就还你一道逻辑题,

that would shatter your reason and scramble your mind.
保你立场尽失,大脑宕机。

------------------

Here’s the trick that I’ll use — and it’s simple to do.
以下是我的小把戏——操作起来并不难。

I’ll define a procedure, which I will call Q,
我要构建一个程序 Q,

that will use P’s predictions of halting success
用它调用程序 P,

to stir up a terrible logical mess.
由此带来大混乱。

------------------

For a specified program, say A, one supplies,
给定一个程序 A,

the first step of this program called Q I devise
我们让 Q 开始第一步,

is to find out from P what’s the right thing to say
调用 P 来判断 A,

of the looping behavior of A run on A.
看 A 是否会循环。

------------------

If P’s answer is ‘Bad!’, Q will suddenly stop.
如果 P 回答说“糟”,Q 就当场被停掉。

But otherwise, Q will go back to the top,
如果答案正相反,Q 就回头再一遭,

and start off again, looping endlessly back,
回头一遭再一遭,陷入无限循环大监牢,

till the universe dies and turns frozen and black.
再难停机到地老。

And this program called Q wouldn’t stay on the shelf;
程序 Q 也别想跑;

I would ask it to forecast its run on itself.
它是跑是停也要考一考。

When it reads its own source code, just what will it do?
当它自己考自己,结果究竟会怎样?

What’s the looping behavior of Q run on Q?
循环与否你来想:

------------------

If P warns of infinite loops, Q will quit;
如果 P 说 Q 不停,Q 就马上被停机;

yet P is supposed to speak truly of it!
那么 P 的判断不合理!

And if Q’s going to quit, then P should say ‘Good.’
如果 Q 它会停机,所以 P 它说了“好”,

Which makes Q start to loop! (P denied that it would.)
那么 Q 将进入死循环!(P 的预测成玩笑)

------------------

No matter how P might perform, Q will scoop it:
无论 P 的判断是怎样,都给 Q 的找茬留余地:

Q uses P’s output to make P look stupid.
Q 利用 P 的输出让 P 像儿戏。

Whatever P says, it cannot predict Q:
不管 P 有多努力,Q 的结果它还是难捉摸:

P is right when it’s wrong, and is false when it’s true!
P 正确的时候会出错,出错的时候才能对!

------------------

I’ve created a paradox, neat as can be —
我制造了一个小悖论,下面的概括让它变简洁——

and simply by using your putative P.
全靠你的程序 P。

When you posited P you stepped into a snare;
只要你承认 P 存在,就无法逃脱这陷阱;

Your assumption has led you right into my lair.
自己的假设让你遇寒冰。

------------------

So where can this argument possibly go?
争论的终点在何方?

I don’t have to tell you; I’m sure you must know.
就算我不说,你也知道会怎样。

A reductio: There cannot possibly be
一个反证就说明:

a procedure that acts like the mythical P.
这个判断循环的程序 P,它的存在不可能。

------------------

You can never find general mechanical means
你永远无法找到一台通用机,

for predicting the acts of computing machines;
让它判断任意程序是否会停机;

it’s something that cannot be done. So we users
电脑无法成此事。所以用户

must find our own bugs. Our computers are losers!
还需自己来捉虫。电脑终究还是输!

wei_Y 发表于 2017-1-18 12:32:02

应该无解。

我的想法:

程序无法自身知道自己是不是陷入了无限循环中。
但是可以找第三方来让自己知道是否是陷入无限循环。

不过始终没有一个完全可靠的第三方,就如睡觉时,大脑不叫醒你一样。

小狗吃到自己的尾巴,大脑给他一个"疼"的信号,他或许会停止吃尾巴。但是大脑坏了呢?

所以我觉得在总体范围内是无解的。不过在相对范围内应该有解。

A P Q,A运行,P监控A,Q监控P。

A 会停机-> P发出good, Q接受到P的good,Q不停机继续监控P。
此时A停机: P继续发出good, Q继续监控。 .
.....
此时会无限循环下去。

但是为什么A, Q都可停机,P不能停机呢?
A P Q ,A运行,P监控A,Q监控P。
A停机,P发出good,并增加一个计数,Q接受good,并继续运行。
A已经停机, P此时有一个计数并确认A停机,P此时发出bad,并自己停机,Q接受bad,停机。

下次A启用时 会启用P,P启用时会启用Q。
但是其实也不会很可靠,
A也会出问题,错误的将停机信息发出,但自身还没停机。
P也会出问题,错误的将本该发送的bad,发送成good。
Q也会出问题,接收到bad但是没有停机。

当然如果A, P, Q相互监控,那么除了同时出现问题,基本就不会有问题。
随着相互监控的增多,这个"同时"的几率会逐渐减少。成本也是逐渐增多。
---。

没有一个可以解决自身停机问题的机器,但是可以找第三方。

人工智能自身不能知道自己是不是陷入无限循环,但是制造他的人可以知道。制造他的人无法知道自己是不是大脑出问题,但是他的朋友可以知道....
第三方越多,第三方越可靠,这个问题越趋近有解。因为"同时"出问题的几率越来越小,也越趋近无。

还是说,不考虑环境问题,就像计算机炸了,他的进程运行不运行还有什么考虑的必要?

扯淡完毕。

不二如是 发表于 2017-1-18 08:23:20

@小甲鱼 @阁龙1427 @零度非安全 、 @无符号整形@拈花小仙 @wei_Y

敢来试试吗?@~风介~ @小树

不二如是 发表于 2017-1-18 08:29:54

@alltolove @小甲鱼的二师兄 @小树 @~风介~ @康小泡 @pcode @joker11111

不二如是 发表于 2017-1-18 08:29:57

@alltolove @小甲鱼的二师兄 @小树 @~风介~ @康小泡 @pcode @joker11111

清和微风 发表于 2017-1-18 09:07:27

{:10_287:},花花送给你。天天都那么辛苦

alltolove 发表于 2017-1-18 09:10:01

这就好比是体积无限小,质量无限大的黑洞理论,或者1除以0的结果到底是无穷还是没结果一样,到现在也没有科学的结论{:10_249:}

不二如是 发表于 2017-1-18 09:11:13

清和微风 发表于 2017-1-18 09:07
,花花送给你。天天都那么辛苦

谢谢,微风

你看了,比我辛苦,皂皂送给你{:10_273:}

不二如是 发表于 2017-1-18 09:12:17

alltolove 发表于 2017-1-18 09:10
这就好比是体积无限小,质量无限大的黑洞理论,或者1除以0的结果到底是无穷还是没结果一样,到现在也没有科 ...


科学的诞生,就带了悖论~

双生体,就像鸡生蛋,蛋生鸡,动态循环平衡。

跳出来,生不生蛋,关我屁事,反正有鸡翅~

~风介~ 发表于 2017-1-18 09:40:19

不二如是 发表于 2017-1-18 08:23
@小甲鱼 @阁龙1427 @零度非安全 、 @无符号整形@拈花小仙 @wei_Y

敢来试试吗?@~风介~ @小树

理论上说宇宙终究要变成稳态,所有的喧嚣都要归于沉寂。AI如此,人也如此~{:10_256:}

不二如是 发表于 2017-1-18 09:41:45

~风介~ 发表于 2017-1-18 09:40
理论上说宇宙终究要变成稳态,所有的喧嚣都要归于沉寂。AI如此,人也如此~

哈哈,但是在这之前,我们还是要生老病死、爱恨情仇。。。

湮灭既然每个人都一样,那就等于没有~

哈哈哈,是不是酱紫呢,介介~

~风介~ 发表于 2017-1-18 09:54:20

不二如是 发表于 2017-1-18 09:41
哈哈,但是在这之前,我们还是要生老病死、爱恨情仇。。。

湮灭既然每个人都一样,那就等于没有~


来都来了.......{:10_256:}

不二如是 发表于 2017-1-18 09:56:22

~风介~ 发表于 2017-1-18 09:54
来都来了.......


是啊,来都来了,就不要只聊聊天了~{:10_254:}

~风介~ 发表于 2017-1-18 11:00:03

不二如是 发表于 2017-1-18 09:56
是啊,来都来了,就不要只聊聊天了~

谈人生?谈理想?你想谈什么......{:10_304:}

不二如是 发表于 2017-1-18 11:02:25

~风介~ 发表于 2017-1-18 11:00
谈人生?谈理想?你想谈什么......



自己谈的理想,含着泪也要谈完{:10_266:}

~风介~ 发表于 2017-1-18 11:20:13

不二如是 发表于 2017-1-18 11:02
自己谈的理想,含着泪也要谈完

论强健体魄的重要性.......{:10_256:}

joker11111 发表于 2017-1-18 15:26:19

让我想起之前看过的一片文章,一双手套,一只寄给香港,一只寄到美国,没拆快递前,谁也不知道自己拿到的是左手的还是右手的,但一旦其中某一个人拆开了快递,那么另一个人的快递中的手套随之确定,其中,手套是左手的还是右手的这个信息就像从某一地点传递到了另外一个地点,这种信息的传递不许要介质,不需要时间,瞬时传递过去,抽象来说,人也是一种信息,谁知道未来会不会出现传送技能呢,这下真的就要德玛西亚万岁啦,哈哈哈哈哈哈{:10_256:}

不二如是 发表于 2017-1-18 15:27:49

joker11111 发表于 2017-1-18 15:26
让我想起之前看过的一片文章,一双手套,一只寄给香港,一只寄到美国,没拆快递前,谁也不知道自己拿到的是 ...

’大写的深井冰一枚‘

但我喜欢~{:5_101:}

joker11111 发表于 2017-1-18 15:32:54

{:10_273:}来呀来呀

joker11111 发表于 2017-1-18 15:33:26

不二如是 发表于 2017-1-18 15:27
’大写的深井冰一枚‘

但我喜欢~

{:10_273:}来呀来呀
页: [1] 2
查看完整版本: 人工智能在厉害,总有个硬伤!因为。。。【高智商推理】