使用已知算法下载 OEIS 序列以生成它们
Download OEIS sequences with known algorithm to produce them
我正在阅读一些关于主题 "Can we make a program that, given a particular sequence, produces the next terms" 的有趣问题,例如 this one, and I really like the detailed answer of this one。我知道答案是 "That's impossible without more restrictions",并且给定一些限制(多项式、有理函数或布尔映射)我们知道一些好的算法,正如我 linked 解释的第二个答案。
现在,一个自然的问题是我们能解决多少问题,即使我们不能总是解决它也要尽最大努力来回答最初的一般性问题。当面对一个困难的序列时,我通常做的是试图看看它是否在 OEIS 中,如果它似乎在那里,看看是否有任何公式或算法可以在其中产生它。您可以下载 small version of OEIS with the first terms of each sequence, and you can make queries 来查找特定序列的公式或 maple 算法。我的问题是,您认为下载一个小版本的 OEIS 是否可行,该版本在第一个条款中包含一个生成它的小算法?
这里的自然问题是我还没有看到任何 link 下载 OEIS 的整个数据库的所有细节,这也许值得自己提问。即使我们有这个,您也需要阅读 formulas/algorithms(可以用不同的语言编写,据我所知)并正确解释它们。但我想也许这里有人知道如何解决这个问题,无论如何先谢谢了。
如您所述,您可以从此处提到的 link 下载序列及其 A 编号:https://oeis.org/wiki/Welcome#Compressed_Versions
搜索并找到一个感兴趣的序列(或少量序列)后,您可以抓取相应页面以查找公式。 Maple 和 Mathematica 有特定的字段,这可能会有所帮助,否则,当 PROGRAM 字段中的条目不是数据库中具有自己字段的标准语言之一时,它应该包含标识信息。参见:http://oeis.org/wiki/Style_Sheet
非正式地,但考虑到 OEIS 的利益,我不建议尝试完整下载或抓取 OEIS。无论是一个人,还是一大群人,我们肯定会建议使用数据库的压缩版本,首先通过 A 编号识别感兴趣的序列,然后 提取他们的整个条目使用您已经提到的方法抓取网站或查询 OEIS:Programmatic access to On-Line Encyclopedia of Integer Sequences
如果这听起来很费力,也许替代方案是 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
我正在阅读一些关于主题 "Can we make a program that, given a particular sequence, produces the next terms" 的有趣问题,例如 this one, and I really like the detailed answer of this one。我知道答案是 "That's impossible without more restrictions",并且给定一些限制(多项式、有理函数或布尔映射)我们知道一些好的算法,正如我 linked 解释的第二个答案。
现在,一个自然的问题是我们能解决多少问题,即使我们不能总是解决它也要尽最大努力来回答最初的一般性问题。当面对一个困难的序列时,我通常做的是试图看看它是否在 OEIS 中,如果它似乎在那里,看看是否有任何公式或算法可以在其中产生它。您可以下载 small version of OEIS with the first terms of each sequence, and you can make queries 来查找特定序列的公式或 maple 算法。我的问题是,您认为下载一个小版本的 OEIS 是否可行,该版本在第一个条款中包含一个生成它的小算法?
这里的自然问题是我还没有看到任何 link 下载 OEIS 的整个数据库的所有细节,这也许值得自己提问。即使我们有这个,您也需要阅读 formulas/algorithms(可以用不同的语言编写,据我所知)并正确解释它们。但我想也许这里有人知道如何解决这个问题,无论如何先谢谢了。
如您所述,您可以从此处提到的 link 下载序列及其 A 编号:https://oeis.org/wiki/Welcome#Compressed_Versions
搜索并找到一个感兴趣的序列(或少量序列)后,您可以抓取相应页面以查找公式。 Maple 和 Mathematica 有特定的字段,这可能会有所帮助,否则,当 PROGRAM 字段中的条目不是数据库中具有自己字段的标准语言之一时,它应该包含标识信息。参见:http://oeis.org/wiki/Style_Sheet
非正式地,但考虑到 OEIS 的利益,我不建议尝试完整下载或抓取 OEIS。无论是一个人,还是一大群人,我们肯定会建议使用数据库的压缩版本,首先通过 A 编号识别感兴趣的序列,然后 提取他们的整个条目使用您已经提到的方法抓取网站或查询 OEIS:Programmatic access to On-Line Encyclopedia of Integer Sequences
如果这听起来很费力,也许替代方案是 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