0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Wolfram语言与Mathematica 13.2 版本(6)

哲想软件 来源:哲想软件 2023-02-21 09:33 次阅读

国际象棋作为可计算数据

我们使用Wolfram 语言的目标是使尽可能多的可计算性。版本13.2 添加了另一个域- 国际象棋 -支持导入 FEN和 PGN 国际象棋格式:

e7ae2426-b183-11ed-bfe3-dac502259ad0.png

PGN文件通常包含许多游戏,每个游戏都表示为FEN字符串的列表。这将计算特定PGN文件中的游戏数量:

e7da0f6e-b183-11ed-bfe3-dac502259ad0.png

这是文件中的第一个游戏:

e7f65fd4-b183-11ed-bfe3-dac502259ad0.png

鉴于此,我们现在可以使用Wolfram 语言的视频功能来制作游戏视频:

e812f964-b183-11ed-bfe3-dac502259ad0.png

控制失控计算

早在1979 年,当我开始构建SMP(Wolfram语言的前身)时,我做了一件对某些人来说似乎非常大胆,甚至可能是鲁莽的事情:我建立系统从根本上进行“无限评估”,也就是说,继续使用任何给定的定义,直到无能为力。换言之,评价过程将一直持续到达到一个固定点。“但是如果x没有值,你说x= x + 1会发生什么?”人们会问。“那样的话,系统不会爆炸吗?”嗯,从某种意义上说是的。但我赌了一把,人们真正想做的对普通计算进行无限评估的好处将远远超过任何看似“毫无意义的极端情况”(如x = x + 1)可能出现的问题。好吧,43年后,我想我可以自信地说,那场赌博成功了。无限评估的概念- 结合 Wolfram语言的符号结构 -一直是巨大力量的源泉,大多数用户根本就没有遇到过,也永远不必考虑x = x + 1 的“极端情况”。

但是,如果您键入x = x +1,则系统显然必须执行某些操作。从某种意义上说,最纯粹的事情就是永远继续计算。但是34年前,这导致了实际计算机上的灾难性问题-事实上今天仍然如此。因为一般来说,这种重复评估是一个递归过程,最终必须使用操作系统为每个程序实例设置的调用堆栈来实现。但是操作系统的工作方式(仍然!)是为堆栈只分配固定数量的内存- 如果这被溢出,操作系统只会让你的程序崩溃(或者,在早期,操作系统本身可能会崩溃)。这意味着从版本1 开始,我们就需要在无限评估方面有一个限制。在早期版本中,我们试图给出“到目前为止的计算结果”,包装在Hold 中。回到版本10,我们开始只返回原始表达式的保留版本:

e834730a-b183-11ed-bfe3-dac502259ad0.png

但即使这样在某种意义上也不安全。因为有了其他无限的定义,人们最终可能会遇到这样一种情况:即使试图返回持有的形式也会触发额外的无限计算过程。

最近,特别是随着我们对多计算的探索,我们决定重新审视如何限制无限计算的问题。在某个理论层面上,人们可以想象使用超限数之类的东西明确表示无限计算。但这充满了困难,并且具有明显的不可判定性(“这个无限计算输出真的和那个一样吗?”等)。但是在版本13.2 中,作为一种新的“纯符号”“失控计算”方法的开始,我们引入了构造TerminatedEvaluation——正如它所说,它只是象征性地表示终止计算。

所以这是现在x = x + 1 发生的情况:

e84f607a-b183-11ed-bfe3-dac502259ad0.png

这样做的一个显着特征是它是“独立封装的”:计算的一部分的终止不会影响其他部分,因此,例如,我们得到:

e871b47c-b183-11ed-bfe3-dac502259ad0.png

终止评估和延迟评估之间存在复杂的关系,我们正在开发该领域一些有趣且可能强大的新功能。但就目前而言,终止评估是在计算失控的极端情况下提高系统“安全性”的重要结构。引入它使我们能够解决多年来围绕复杂失控计算的“理论上无法解决”的问题。

终止评估是如果您遇到像$RecursionLimit这样的系统范围的“护栏”,您会遇到的情况。但在版本13.2 中,我们还加强了对显式请求中止的处理— 通过将新选项“PropagateAborts 添加到CheckAbort”。一旦生成了中止(直接使用Abort[ ]),或者由于TimeConstrained[ ] 或MemoryConstrained[]之类的结果生成了中止,就会出现中止应该传播多远的问题。默认情况下,它会一直向上传播,因此您的整个计算最终将被中止。但是从版本2(1991年)开始,我们就有了函数CheckAbort,它检查给定表达式中的中止,然后停止中止的进一步传播。

但是在诸如时间约束[]之类的问题上总是有很多棘手之处。由这些生成的中止是否应该以与中止[] 中止相同的方式传播?在版本13.2 中,我们现在已经清理了所有这些,并使用显式选项PropagateAborts forCheckAbort。使用PropagateAborts→True,所有中止都会被传播,无论是由Abort[]还是TimeCompated[]或其他什么启动。传播中止→错误传播不中止。但也有PropagateAborts→Automatic,它从TimeConstrained[]等传播中止,但不从Abort[]传播中止。

另一个小列表函数

在我们永无止境的扩展和完善Wolfram语言的过程中,我们一直在寻找人们反复想要做的“大量计算工作”,我们可以为此创建具有易于理解的名称的函数。如今,我们经常在Wolfram 函数存储库中对此类函数进行原型设计,然后进一步简化其设计, 并最终在永久核心 Wolfram语言中实现它们.在版本13.2 中,此过程只产生了两个新的基本列表操作函数:PositionGreatest和 PositionSmallest。

自版本1 以来,我们一直拥有Position 函数,以及Max。但多年来,我经常发现自己需要做的事情是将这些结合起来来回答这个问题:“这个列表的最大值在哪里?当然,在Wolfram 语言中做到这一点并不难——Position[list,Max[list]]基本上就是这样做的。但是有一些边缘情况和扩展需要考虑,只有一个函数来做到这一点很方便。而且,更重要的是,现在我们有了像TakeLargest这样的函数,这个函数有一个明显的、一致的名称:PositionLargest。(我所说的“显而易见”,是指你听完之后显而易见;我们直播的设计评审会议的档案会揭示——就像经常发生的情况一样——我们实际上花了相当长的时间才确定“显而易见”。

这是位置最大和在行动:

e89d8962-b183-11ed-bfe3-dac502259ad0.png

而且,是的,它必须返回一个列表来处理“关系”:

e8ac0e88-b183-11ed-bfe3-dac502259ad0.png

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Wolfram
    +关注

    关注

    0

    文章

    16

    浏览量

    7703
  • 操作系统
    +关注

    关注

    37

    文章

    6394

    浏览量

    122292
  • 函数
    +关注

    关注

    3

    文章

    4117

    浏览量

    61547

原文标题:Wolfram 语言与Mathematica 13.2 版本(6)

文章出处:【微信号:哲想软件,微信公众号:哲想软件】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    iOS版ChatGPT支持首选语言设置中文

    近日,iOS版ChatGPT迎来了1.2024.129版本的重要更新。此次更新最显著的变化是新增了对App首选语言设置中文的支持,打破了之前仅限于其他语言的限制。
    的头像 发表于 05-17 09:31 319次阅读

    商汤将发布日日新大模型5.0粤语版本

    商汤科技即将迎来一项重要更新,他们将发布日日新大模型5.0的粤语版本。这一版本是基于商汤科技现有的大装置和日日新大模型5.0的先进能力而打造的,旨在粤语语言处理领域实现新的突破。据悉,新版本
    的头像 发表于 05-08 09:33 275次阅读

    华为MatePad Pro 13.2英寸平板电脑体验官招募,启用隔空手势功能

    华为近日启动了MatePad Pro 13.2英寸平板电脑同期验官招募,旨在收集“隔空手势”功能的使用反馈。本次活动报名时间为自2024年4月25日起至2024年5月15日止。
    的头像 发表于 04-29 15:06 607次阅读

    辐射和SEE硬化3V至13.2V,9A降压调节器ISL 7000000ASEH 数据表

    电子发烧友网站提供《辐射和SEE硬化3V至13.2V,9A降压调节器ISL 7000000ASEH 数据表.pdf》资料免费下载
    发表于 04-23 10:04 0次下载
    辐射和SEE硬化3V至<b class='flag-5'>13.2</b>V,9A降压调节器ISL 7000000ASEH 数据表

    微软宣布推出一个27亿参数的语言模型Phi-2

    Phi-2 是微软 “小语言模型(SLM)” 系列中的最新版本。第一个版本是拥有 13 亿参数的 Phi-1,针对基本的 Python 编码任务进行了微调。
    发表于 12-15 09:46 184次阅读
    微软宣布推出一个27亿参数的<b class='flag-5'>语言</b>模型Phi-2

    C语言和C++中那些不同的地方

    标准。根据不同的标准,它们的功能也会有所不同,但是越新的版本支持的编译器越少,所以本文在讨论的时候使用的C语言标准是C89,C++标准是C++99.我们来介绍C语言和C++中那些不同的地方。
    的头像 发表于 12-07 14:29 612次阅读
    C<b class='flag-5'>语言</b>和C++中那些不同的地方

    总投资13.2亿!威远一半导体项目开工

    据了解,威远县半导体封装高端球形硅微粉新材料项目由四川豫顺新材料有限公司投资建设。项目总投资13.2亿元,分两期建设,一期总投资约为3.2亿元,建设年产球硅2万吨、超细硅微粉4万吨生产线;二期总投资约为10亿元,建设年产球硅3万吨、球铝2万吨以及其他配套产品生产线。
    的头像 发表于 12-01 16:09 509次阅读

    windows7可以安装python什么版本

    :Python 3是新一代Python语言版本。它在语法和功能上与Python 2有一些不同。Python 3.x系列是目前主要支持的版本,并且是Python生态系统中新项目的首选。Python 3.4、
    的头像 发表于 11-23 17:15 2w次阅读

    高度灵活的以太网控制器|LAN Module 13.2上线!

    。LANModule13.2LANModule13.2是一款功能强大的以太网控制器模块,其内置了W5500全硬件TCP/IP嵌入式以太网控制器(通过SPI通信接口),支持多种通信协议,适用于工业自动化
    的头像 发表于 10-28 08:30 733次阅读
    高度灵活的以太网控制器|LAN Module <b class='flag-5'>13.2</b>上线!

    Gradle中的版本使用

    版本号的。 当我们使用javac编译一个Java程序时,我们可以为版本处理提供以下两个关闭版本的编译选项。 -source 指的是我们的 Java 代码的语言版本和编译的 JDK 相匹
    的头像 发表于 09-25 15:32 388次阅读

    华为秋季全场景新品发布会 华为MatePadPro13.2巅峰性能

    华为MatePadPro13.2巅峰性能,搭载灵犀天线,具有多模融合天线技术和模式分立天线技术,拥有业界最强Wi-Fi信号,88W有线超快充和高压驱动双电芯电池,有着10100mAh超大电池容量。华为MatePadPro13.2业界首创多驱动阵列扬声器,全球首获权威机构平
    的头像 发表于 09-25 15:29 971次阅读
    华为秋季全场景新品发布会 华为MatePadPro<b class='flag-5'>13.2</b>巅峰性能

    华为发布会下午2点30闪耀登场,华为MatePadPro13.2详细参数

    华为MatePad Pro 13.2的12GB+256GB版本售价将为4999元,包括有雅川青、晶钻白以及耀金黑三种配色。
    的头像 发表于 09-25 14:47 2801次阅读
    华为发布会下午2点30闪耀登场,华为MatePadPro<b class='flag-5'>13.2</b>详细参数

    DSP算法大全C语言版本

    DSP算法大全C语言版本
    发表于 09-13 16:43 13次下载

    Wolfram语言之父:ChatGPT到底能做什么?

    来源:大数据文摘人类语言及其背后的思维模式在结构上比我们想象的更简单、更“符合规律”。ChatGPT大火,甚至已经开始改变人类的工作和思考方式,充分了解并且认识它,同时看到未来的机会,已经成为每个人
    的头像 发表于 07-31 23:44 401次阅读
    <b class='flag-5'>Wolfram</b><b class='flag-5'>语言</b>之父:ChatGPT到底能做什么?

    Wolfram语言之父:ChatGPT到底能做什么?

    来源: 大数据文摘 人类语言及 其 背后的思维模式在结构上比我们想象的更简单、更“符合规律”。 ChatGPT大火,甚至已经开始改变人类的工作和思考方式,充分了解并且认识它,同时看到未来的机会
    的头像 发表于 07-24 17:35 251次阅读
    <b class='flag-5'>Wolfram</b><b class='flag-5'>语言</b>之父:ChatGPT到底能做什么?