科学与数学scottaaronson.com编辑精选
谁能说出更大的数?
Who Can Name the Bigger Number?
2010 — 2020,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
Scott Aaronson 的经典短文:在'十五秒内谁说出的数更大'的游戏中,胜负不取决于嗓门或运气,而取决于谁掌握更深的数学范式——从指数、迭代指数(阿克曼函数)一路到忙碌海狸函数 BB(n)。文章用通俗语言展示了'命名大数'背后递归与可计算性的思想。
为什么经久不衰:它把抽象的递归论和可计算性理论变成一场人人可懂的游戏,每次重读都能体会'范式升级'的乐趣,因此十年来反复登上 HN 首页。
HN 评论精选
介绍了文中思想的一次真实竞赛(BIGNUM BAKEOFF),赢家正是用更深范式的理论计算机科学家
'谁能说出更大的数?谁拥有更深的范式。'2001 年 David Moews 在 comp.lang.c 新闻组办过一场 BIGNUM BAKEOFF 竞赛:每个参赛程序不超过 512 个非空白字符,从 main() 返回一个数(假设整数类型可以任意大),返回最大数者获胜。读完 Aaronson 这篇文章你不会意外:赢家是理论计算机科学家 Ralph Loader(第二名 Heiner Marxen 正是文中提到的忙碌海狸研究者)。
robinhouston查看英文原文
“Who can name the bigger number? Whoever has the deeper paradigm.” In 2001, David Moews ran a BIGNUM BAKEOFF competition on the comp.lang.c newsgroup, where each entry had to be a C program (512 non-whitespace characters or fewer) returning a number from main(). The winner is the program that returns the largest number, assuming an arbitrarily-large int type. http://groups.google.com/group/comp.lang.c/browse_thread/thread/1511694ab8570ccc/540218fdfa4b2ab8 After reading Scott Aaronson's wonderful essay, you won't be surprised to hear that the contest was won by a theoretical computer scientist, Ralph Loader. (Second place was taken by Heiner Marxen, who is mentioned in Scott's article in connection with the Busy Beaver problem.) Ralph Loader's remarkable program is at http://homepages.ihug.co.nz/~suckfish/busy/reduced.c, and the documented and unmangled version in http://homepages.ihug.co.nz/~suckfish/busy/busy.tar.gz David Moews' discussion of the entries is at http://djm.cc/bignum-results.txt
给出一个可能的最优策略,并指出抽象层级存在'到头'的顶点
我想说的是'用二阶逻辑在 1000 个符号内可命名的最大数'。但除非你能在十五秒内同时给出二阶逻辑的标准表述和算术的标准公理化,否则'哪种二阶逻辑?'这个问题就会让它变成含糊的规范。'用 HOL(高阶逻辑)加后继符号在 1000 个符号内可命名的最大数'也许可行。有趣的是:这是从一阶逻辑的一次根本跃迁,而一阶逻辑又是对忙碌海狸的根本跃迁;在那之后还能做的改进本质上都只是'加一',而非质的抽象升级——据我所知,抽象到二阶逻辑就到头了。
Eliezer查看英文原文
What I'd want to say here is "the largest number nameable using 1000 symbols in second-order logic" (not original, I think someone else won a contest that way). But the fact that someone can ask "Which formulation of second-order logic?" probably defeats this unless you can also, in those fifteen seconds, cite a standard formulation of second-order logic and a standard axiomatization of number in that formulation, otherwise it's an ambiguous specification. HOL is a standard and formal formulation of higher-order logic that I can think of in fifteen seconds, but I wouldn't be able to think of a standard formulation of Peano Arithmetic that was already in HOL. Actually, now that I think of it, "the largest number nameable using 1000 symbols in HOL plus a successor symbol" might work, since you can define addition, multiplication, etc. in higher-order logic using only a successor symbol. Interesting fact: This is a fundamental jump up from first-order logic, which is a fundamental jump up from Busy Beaver, and then once you're there, it's operating at the highest level of abstraction that I know about or have ever heard of. There are things you can do to make that number bigger - picking a different ordinal for the order of logic, recursing over how you get the number of symbols - but they all amount to saying "plus one", and not jumping to a qualitatively different level of abstraction. Once you abstract over second-order logic you are, so far as I know, done.
尝试把各种大数技巧统一为'构造快速膨胀的状态空间'这一元算法
看了其他评论,我想'大数元算法'大概是:构造一个随参数尽可能快膨胀的状态空间,再把状态空间的某种性质作为结果。这样看,超指数(阿克曼、迭代幂等)就是在数一个良定义状态空间的状态数;BB(X) 则相当于自动生成状态空间(搜索 X 状态图灵机可构造的所有状态空间)并返回最大者。而 BB(X+1) 已经'知道'这个把状态空间大小求和的技巧,所以不如直接把 X 加一。
dmichulke查看英文原文
Given the other comments I wonder whether the Meta-Algorithm for big numbers is basically: Compose a state space that expands as quickly as possible in terms of the argument(s) and define some property of the state space as the result. Looking at it this way, I'd say: "Hyper-exponentiation" (Ackermann, tetration and so on) is basically counting the number of states in a well-defined state space. BB(X) is equivalent to generating automatically the state space (via a search over all possible state spaces that can be constructed with a TM with X states) and returning the size of the maximum. This means that BB(X) is smaller than the sum of the sizes of all possible state spaces constructible via that TM. But BB(X+1) is aware of that trick (summing state space sizes) and uses it already (or more probably something better), so it doesn't really matter and you might as well just increase X by one to include all the tricks you had in mind for BB(X). Anyone thoughts on that?
提供文中竞赛的实际规则与结果链接
曾有一场比赛,规则是在一种整数类型可任意大的 C 方言里写程序生成大数:http://djm.cc/bignum-rules-posted.txt 结果见 http://djm.cc/bignum-results.txt,里面有些有意思的东西!
panic查看英文原文
There was a contest to produce programs generating large numbers in a version of C with integral types that hold arbitrarily-large integers: http://djm.cc/bignum-rules-posted.txt You can see the results here: http://djm.cc/bignum-results.txt -- there's some interesting stuff in there!
历次讨论
同类还值得读
如果月球只有 1 像素:一个极其精确的太阳系模型(2014)
If the moon were only 1 pixel: A tediously accurate solar system model (2014)
一个网页版太阳系模型,以“如果月亮只有 1 像素”的真实比例呈现:你必须一路横向滚动,才能体会行星之间空旷到何等程度。
科学与数学上首页 7 次 · 2014–2025joshworth.com编辑精选沉浸式线性代数(2016)
Immersive Linear Algebra (2016)
《Immersive Linear Algebra》是一本完全免费、开放在线的线性代数“超文本教科书”,其最大特色是大量可交互的图形:读者可以直接拖动、操作图中的向量、矩阵和变换…
科学与数学上首页 5 次 · 2015–2024immersivemath.com编辑精选如何将贝果切成两个相连的半环(2009)
How to Slice a Bagel into Two Linked Halves (2009)
数学家 George Hart 的经典教程,演示如何用一刀把贝果切成两个相互扣住的环,并附上切割步骤与数学原理。
科学与数学上首页 5 次 · 2009–2022georgehart.com“犹太问题”:一组用于歧视的数学题
Jewish problems
一篇 arXiv 论文,整理并讨论苏联时期犹太学生在申请大学数学系时被问到的特殊数学难题:这些题往往有简单解法却极难想到,被用作面试中拒绝犹太考生的手段。
科学与数学上首页 5 次 · 2011–2021arxiv.org你的身体并非为长久而造:人类死亡率数据的一课
Your body wasn’t built to last: a lesson from human mortality rates
文章从人类死亡率随年龄变化的统计规律出发,解释身体并非为长久使用而设计:年轻时死亡风险较低,之后随年龄近似指数上升,像复杂系统在不断累积损伤。
科学与数学上首页 5 次 · 2009–2018gravityandlevity.wordpress.com