0

我正在阅读一些关于“我们可以制作一个程序,给定一个特定的序列,产生下一个术语”这个主题的有趣问题,比如这个,我真的很喜欢这个的详细答案。我知道答案是“没有更多限制这是不可能的”,并且考虑到一些限制(多项式、有理函数或布尔图),我们知道一些好的算法,正如我链接的第二个答案所解释的那样。

现在,一个自然的问题是我们能解决多少,即使我们不能总是解决它,也要尽力回答最初的一般问题。面对困难序列时,我通常会尝试查看它是否在 OEIS 中,如果它似乎在那里,看看是否有任何公式或算法可以在其中生成它。您可以下载带有每个序列第一个术语的 OEIS 的小版本,并且可以进行查询以查找特定序列的公式或枫树算法。我的问题是,你认为下载一个小版本的 OEIS 是否可行,其中包括第一个术语,一个小算法来生成它?

这里的自然问题是我没有看到任何链接来下载 OEIS 的整个数据库以及所有详细信息,这可能值得自己提出问题。即使我们有这个,您也需要阅读公式/算法(根据我所见,可以用不同的语言编写)并正确解释它们。但我想也许这里有人知道如何解决这个问题,无论如何提前谢谢。

4

1 回答 1

3

正如您所注意到的,您可以从此处提到的链接下载序列及其 A 编号:https ://oeis.org/wiki/Welcome#Compressed_Versions

在搜索并找到一个感兴趣的序列(或少量序列)之后,您可以抓取相应的页面以获取公式。Maple 和 Mathematica 的特定字段可能会有所帮助,否则,当 PROGRAM 字段中的条目不是数据库中具有自己字段的标准语言之一时,应包括识别信息。见: http: //oeis.org/wiki/Style_Sheet

非正式地,但考虑到 OEIS 的利益,我不建议尝试下载或抓取整个 OEIS。无论是一个人,还是一大群人,我们肯定会建议使用数据库的压缩版本首先通过 A 编号识别感兴趣的序列,然后通过抓取站点或使用以下方法查询 OEIS 来提取他们的整个条目您已经提到:以编程方式访问整数序列在线百科全书

如果这听起来很费力,也许替代方案是 Wolfram Cloud,它通过其他方式激活它。例如,您可以导航到云(您可能需要注册才能访问):https ://www.wolframcloud.com/

如果 Wolfram/Mathematica 能找到一个,输入类似的东西FindSequenceFunction[{1, 2, 3, 5, 17, 305, 34865}]会给你一个公式。FindSequenceFunction 的文档可以在这里找到:https ://reference.wolfram.com/language/ref/FindSequenceFunction.html

Wolfram/Mathematica 还可以使用此处描述的包调用 OEIS:https ://mathematica.stackexchange.com/questions/40/is-it-possible-to-invoke-the-oeis-from-mathematica

于 2020-01-29T21:07:50.030 回答