本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

重磅 | Edge 2017年度人工智能话题预测:从算法、迁移学习到自产生程序(4)

时间:2017-01-25 17:29来源:本港台直播 作者:开奖直播现场 点击:
翻开 Ada Lovelace 在 1843 年关于 Charles Babbage 未建成的分析引擎 (Analytical Engine) 的论文,如果你足够「极客」的话,你依然能够应付 19 世纪的长难句——令人

翻开 Ada Lovelace 在 1843 年关于 Charles Babbage 未建成的分析引擎 (Analytical Engine) 的论文,如果你足够「极客」的话,你依然能够应付 19 世纪的长难句——令人惊讶的是,它们到如今仍然具有可读性。

这个分析引擎是完全机械的。设置一个具有十个齿的重金属盘来存储数字,五十个这样的盘堆叠后可以存储五十位数字,并且存储器将包含 100 个这样的堆叠。添加两个数字的基本指令将它们从存储器移动到 CPU 中,在那里它们将被添加在一起,而后移回到存储器中的新位置等待进一步使用,这些过程全都是机械的。它用冲孔卡来编程,代表了变量和操作,并进一步用精心设计的机制来移动冲孔卡,在需要循环时以组为单位重新使用。Babbage 估测认为这个巨大的机器将两个 20 位的数字相乘需要三分钟的时间。

这篇论文可读性非常高,因为 Lovelace 所描述的机器使用抽象——存储、mill、变量、操作等,而非精心制作的铁器。这些抽象及它们之间的关系在识别主要组件和组件间传递的数据的过程中捕获了机器的本质。他们用当时的语言捕获当时和现在计算中的一个核心问题——使用不同的机器可计算和不可计算的内容。本文确定了「若所有智力执行的操作本身能够被精确定义,则重现这些操作以获得确定结果」所需的元素,并且算术、条件分支等恰恰是百余年后阿兰·图灵证明其关于计算力量的结果所需要的元素。

仅在代表它们的机械行为中,你不能在 Babbage 的机器中指向一个变量或一个附加指令。在 20 世纪 60 年代,曾经 Lovelace 只能用来应对官方解释的抽象已被改进得更加精良。牛津大学的 Dana Scott 和 Christopher Strachey 等计算机科学家使用单一抽象来对机器和运行的程序建模,使得精确的数学推理能够预测其行为。这些概念已经进一步完善,如计算机科学家 Samson Abramsky 使用先进的逻辑和数学来捕获更微妙的抽象,不仅可以用于经典计算机,也可用于量子计算。

为实际问题确立一个优质的抽象不仅是一门科学,也是一门艺术。确立过程需要捕捉问题的构建块和连接它们的元素,这些元素应具有恰到好处的细节量;确立过程提取的是远离块内部复杂区域的部分,所以设计者只需关注与其他组件交互所需的元素即可。Jeannette Wing 将这些技能描述为计算思维,而这个概念可以在编程之外的许多情况下被指出。

Lovelace 发现了更广泛的抽象力,希望通过发展「利用法则建立大脑分子的相互作用」来理解神经系统,实现自己的理想。并且如今的计算机科学家确实在为此扩展技术开发并建立合适的抽象。

Samuel Arbesman,复杂性(Complexity)科学家;拉克斯资本公司(Lux Capital)住宅研究方面科学家;《Overcomplicated》一书作者

科学主题:自产生程式/奎因(Quines)

在计算机程序的无限空间中有一个特殊的代子集:当执行程序时输出该程序本身。换句话说,这是一些自复制程序;当你运行它们时,它们会输出自身。这些短小的程序通常被称为「自产生程式/奎因(quines)」,来源于哲学家韦拉德·范·奥曼·奎因(Willard Van Orman Quine)的名字,基于侯世达(Douglas R. Hofstadter)所著的《哥德尔、埃舍尔、巴赫:一条永恒的金带(Gödel, Escher, Bach: an Eternal Golden Braid)》一书中的术语。

Quines 一词给人的第一印象往往显得不可思议。你要是曾经写过代就更会有这种感觉,因为如果你不了解创建 quines 的技巧,便可能会觉得难以构建。它们往往是优雅的小东西,而现在有大量的计算机语言写出了各种各样的 quines 案例,从简短可爱型到不可思议之长。

不过它们为什么如此重要呢?quines 是计算机科学、语言学及其他学科思想的精华。简单点说,quines 可以被认为是定点,即数学中的 fixed point:一个输出自身而保持函数值不变的数学函数的值(想想 1 的平方根为什么仍然为是 1)。

不过我们可以进一步地讨论一下。Quines 表明计算机所产生的语言既可以是操作符也可以是操作数——一个 quine 文本运行并通过一个向自身反馈的过程输出原始代码。文本可以是有意义的单词,也可以是「有意义的单词」,思考这个句子「This sentence has five words.」,我们很高兴地看到,此句中的单词不仅是在描述(充当一个操作符)也是在被描述(充当一个操作数)。不过这个文字游戏也很有用。文本和功能之间的这种关系是 Kurt Gödel 在不完备性数学研究中用到的一个基本组成部分,而这又与阿兰·图灵在解决停机问题时所用的方法有关。这些基本思想显示出数学和计算机科学中的某种局限性:我们不能证明某些陈述在一个给定系统中的对与错,并且也没有任何算法可以确定任何给定的计算机程序是否将会永远地终止运行。

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容