Wolfram|Alpha,菱形六十面体背后的细节

阅读数:1605 2009 年 5 月 25 日

话题:方法论架构DevOps语言 & 开发文化 & 方法

Wolfram|Alpha尝试用符号计算使世界上的系统知识变得可计算。它的输入不是一组方程,而是语言。该系统的主要部分包括一个数据整理(data curation)管道,一个算法计算系统、一个语言学处理系统,还有一个自动化的呈现系统。

Wolfram|Alpha 并不是那种返回已有网页的链接的搜索引擎,也不是像 Wikipedia 那样提供“大众化”知识叙述的海洋。它的目标是通过对提供给它的事实进行实时计算,去回答用户提出的问题。

Wolfram|Alpha 不靠搜索 Web 来找答案,它的源数据也并非来自 Web。它内部所用的数据经过整理和审核,大部分来自系统化的第一手来源。即使是实时数据(天气、股票、地震)也经过整理,并与有效数据作比较,如果发现偏差,就会特别标示出来(比如用虚线)。

Wolfram|Alpha 用了“超过 10T 的数据,超过 5 万种算法和模型,还具有超过 1 千个领域的语言学处理能力”。作为 Wolfram|Alpha 引擎基础的Mathematica引擎从 1986 年开始持续发展,现在已经有超过 5 百万行的符号代码,运行在世界排名第 66 位的超级计算机上,每天可处理 1.75 亿条请求。服务由R Systems提供,可以每秒执行 39.6T 条数学运算,细节如下:

据 Top500 网站和 Dell 一份关于此系统的案例研究(PDF)所说,系统名为R Smarr,有 4,608 个处理器核心,用了 576 台“Harpertown” Xeon 机器,共 65,536GB 内存,采用高速的 InfiniBand 数据传输连接。该系统同时使用了 Red Hat Enterprise Linux 和 Microsoft Windows HPC Server 两种操作系统。

Wolfram Research 说,处理 Alpha 请求的将是位于同一地点的 5 套设备。项目中实际上包括两台超级计算机,合起来将近 10,000 个处理器核心以及数百 T 的硬盘。

数据通过统一的 Mathematica 语言接口以及一种按需加载机制取得,取回的数据表示成Mathematica 表达式,这是一种S-expressions(符号表达式)。它的大量数据涵盖了很多领域:“数学、物理、化学、天文、地理、语言学、金融等等。”据作者所说,Wolfram|Alpha 和 Mathematica 两种技术的区别在于:

Wolfram|Alpha 在 Web 界面上给出简短、快速、一次性的结果。Mathematica是一个更深更广的计算环境,用户可以处理任意类型的复杂问题。对 Wolfram|Alpha 和Mathematica的扩展会使两者联系得更紧密。

目前 Wolfram|Alpha 的输入语言是英语,但计划未来支持其他语言。用户输入的的歧义性是这样解决的:

它将各种可能的理解作高低排列,然后对它认为最有可能的理解给出答案,并给出其他理解的答案链接。它在排列的时候还会考虑你所在的地理位置——比如离你较近的城市排位会较高。

地理位置根据用户的 IP 地址得出,数据来自GeoIP,精度为 5 英里。

每位用户分得的处理时间有限制。如果过了时限而请求还没处理完,它会返回部分的结果。计划中的Wolfram|Alpha 专业版将没有计算时限列为特性之一。专业版的其他特性还有:

  • 可下载多种格式(例如电子表格、XML、3D 模型、TeX 等等。)
  • 可上传要分析的数据(例如电子表格、文字、图片、网页等等。)
  • 多种可选的显示格式
  • 保存个人或企业的偏好设置
  • 可存储实体定义
  • 动态交互能力
  • 会话历史

Wolfram 未来还有更多计划:“提供给开发者的 APIs专业版和企业版针对内部数据的定制版连接其他形式的内容部署到移动平台等新兴平台。”

以下是使用 Wolfram|Alpha 的一个例子,查询“Hurricane Katrina”会得到以下结果:

每个带标题的段落被称为“pod”,其下又可以有“sub-pod”。在查询结果的底部还有信息来源的连接,以及将结果保存为 PDF 格式的选项。

Wolfram|Alpha 的标志是一个菱形六十面体(rhombic hexecontahedron)。

最后为您提供一些有用的链接:Wolfram|Alpha 博客(提供最新消息)社区网站参与者网站(反馈、贡献、建议等)

查看英文原文:Wolfram|Alpha, the Details Behind the Rhombic Hexecontahedron