萧箫 发自 凹非寺
量子位 报道 | 公众号 QbitAI

先来看一道简单的几何问题:

下图中,黑圆恰好将红圆的面积等分,且黑圆的圆心恰好在红圆上。假设红圆半径为R,黑圆半径为r,求r。

是不是感觉已经信手拈来,能在纸上演算一通了?

然而,就是这个看起来简单的数学难题,让数学家们想了几百年,都没能给出它的解析解

解析解,指用精确的数学表达式写出的方程解。有些方程难以求出解析解,只能写出近似解。如下图,x=cos(x)就没有解析解,方程的解只能近似为x≈0.7390…

x=cos(x),x没有解析解

这个难倒数学家的问题,叫做「山羊问题」 (goat problem),最初的问题描述是这样的:

将一只山羊拴在面积为1英亩的圆形草地的围栏上,请问栓多长的绳子,才能让山羊刚好吃到半英亩的草?

问题提出后,已有数学家给出了2种求解方程。

但,仅仅是“方程”:

这个问题的精确答案,即如何准确地用围栏半径来表示绳子长度,却一直悬而未解。

美国海军学院数学家Mark Meyerson曾表示,对于这一问题,此前“没人知道确切答案,解决方法只是大致给出的。”

直到今年,才有一位叫做Ingo Ullisch的德国数学家,给出了这个问题的解析解。

从迭代到积分,求出来的还是方程

如果用数学的语言来描述这个问题,它是这样的:

一个半径为R的圆A,与另一个半径为r的圆B相交,其中圆B的圆心在圆A上,且两个圆的相交面积为圆A面积的一半,求解r。

如果只是列出有关r的方程,目前已经有两种方案。

第一种方案,代入求解透镜面积的方程。

透镜由两个(半径相同或不同的)圆相交构成,求解它的面积A,目前已有这么一个公式(其中,两圆半径为R和r,圆心之间的距离为d):

显然,「山羊问题」也能用透镜面积方程来求解。

假设围栏的半径为1,那么在「山羊问题」中,求解条件将变成R=d=1,且A=1/2π,求解出来的r符合这一方程式:

这个方程需要用迭代法求解,能得到r=1.1587…的答案。

但这不是数学家想要的结果。

不愿意就此放弃的数学家们,试图用求积分来解决这一问题,并给出了第二种方案:

这次,他们求出了左边有r的式子,但遗憾的是,这其实是个超越方程 (指方程中有无法用自变数的多项式或开方表示的函数,类似于x=cosx):

这些看似都能求解出r,但实际上只能算出数值解,而非解析解。

最后用上了复变函数

直到今年,一个名为Ingo Ullisch的科学家,才终于给出了问题精准的解析解。

不过,为了求解这一问题,他甚至用上了复变函数的知识,这也使得式子变得复杂不已。

但也得益于他的贡献,这一问题自被提出以来,第一次有了解析解:

那么,这个式子是怎么被求解出来的呢?

根据Ullisch的思路,他以两个圆的圆心与其中一个交点相连,组成了一个三角形,如下图所示。

其中,三角形的两个底角分别被设为α/2和β/2。

在经过一系列复杂运算后,Ullisch将式子简化成了下面这个方程:

求解这一方程,就能得到解析解,但会用到复变函数相关的定理。

Ullisch表示,这一问题之所以复杂,是因为问题本质上相当于给定了一个面积固定值,并倒推出它的输入。

但如果想要逆转这一过程,反向求解出输入的定义,问题就会变得棘手。

CMU的数学教授Michael Harrison表示,这是他所知道的有关「山羊问题」的第一个明确的解析解。

“这绝对是一个进步。”

这也是山羊问题系列中,最原始、最根本,也是最难的问题之一。

有关山羊的问题,还有这么多

事实上,自1748年来,数学家们还从最原始的山羊问题中,思考出了各种问题的变体(换着花样找难题做)。

例如,除了让山羊在围栏内吃草,还让山羊到围栏外吃草,并计算它能吃到的最大草地面积(其中,绳索长度和围栏周长固定):

此外,甚至还让羊飞上了空中,让它在三维的世界里吃草(空间中的山羊问题):

当然,根本问题还是求解球的半径r,使得两个相交球的相交体积正好是单位球体积的一半。

不过,兰卡斯特大学的数学教授Graham Jameson表示:“三维问题实际上比二维问题更容易解决。”

数学家Fraser表示,这是因为,如果将问题放在无限的维度中,数学家们可以推论出一个更明确的答案。

例如,将这个问题放到n维空间时,Fraser就推算出,当n接近无穷大的时候,绳子与限定球体的半径比接近于√2。

然而在二维世界里,这种明确的答案反而很难找。

因此,这次Ullisch求出的解析解,也是「山羊问题」系列的重大突破。

不过Ullisch也承认,这一问题的解决,并不会颠覆教科书或数学的研究,因为它只是一个孤立问题,不仅与其他问题无关,也没有嵌入数学理论。

但数学家们仍然非常激动。

Mark Meyerson表示:

为数学题寻找新的解法,通常是很有价值的,这些解法不仅可以再次给已解决的问题带来新思路,还可以将之推广到其他问题上。

数学家Harrison则认为:

虽然解决放牧山羊的问题不会取得突破性的数学成果,但数学领域的新方向,永远可能来自任何地方。

而提出山羊问题超越方程的Hoffman,也有类似的看法:

并非所有的数学进步都来自于取得根本性突破的人。有时候,这种进步也包括研究经典方法并找到新的角度,最终可能会带来意想不到的效果。

当然,网友在祝贺之余,也有表示这一问题“不太符合生活常理”的:

我认为这个问题,是没有山羊相关的经验的人提出的。因为我一想到山羊,就会想到它们在拼命跳篱笆、嚼绳子……这让我没办法专心解决这个问题。

山羊问题解析解论文:
https://link.springer.com/article/10.1007/s00283-020-09966-0

参考链接:
https://news.ycombinator.com/item?id=25375575
https://www.quantamagazine.org/mathematician-solves-centuries-old-grazing-goat-problem-exactly-20201209/
https://en.wikipedia.org/wiki/Goat_problem#cite_note-1

本文系网易新闻•网易号特色内容激励计划签约账号【量子位】原创内容,未经账号授权,禁止随意转载。

量子位年度智能商业大会启幕,大咖已就位!

12月16日,李开复博士、谭建荣院士、清华唐杰教授,以及来自小米美团百度华为爱奇艺小冰亚信浪潮容联澎思地平线G7等知名AI大厂的大咖嘉宾将齐聚MEET2021大会,期待关注AI的朋友报名参会、共探新形势下智能产业发展之路。

早鸟票限时优惠,扫码锁定席位吧~

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

一键三连「分享」、「点赞」和「在看」

科技前沿进展日日相见~

两圆重叠问题你会求解吗?这个问题的准确答案,德国数学家最近才找到相关推荐

  1. 已知两圆圆心坐标及半径求两圆交点 (C语言|参数方程求解)

    已知两圆圆心坐标及半径求两圆交点 (C语言|参数方程求解) 在一个二维平面上给定两个圆的圆心横纵坐标.半径共6个参数, 求交点. 这个问题无非是解二元二次方程组.普通二元二次方程联立消元求解的困难在于 ...

  2. Java黑皮书课后题第3章:**3.29(几何:两个圆)编写程序,提示用户输入两个圆的中心坐标和各自的半径值,然后判断圆是在第一个圆内,还是和第一个圆重叠

    **3.29(几何:两个圆)编写程序,提示用户输入两个圆的中心坐标和各自的半径值,然后判断圆是在第一个圆内,还是和第一个圆重叠 题目 题目概述 运行示例 代码 题目 题目概述 **3.29(几何:两个 ...

  3. js求两圆交点_利用二项式通项公式求系数及综合运用(2)

    更多资料获取,添加qq群:639636957 更多精彩,请点击上方蓝字关注我们! 二项式通项公式的基本应用 1 题目 2 视频讲解 3 答案 4 知识点 往期视频汇总 每日一题第1题之数列对数型不等式 ...

  4. 求两圆相交的交点的方法

    最近研究三角定位算法,研究了下怎样求两圆的交点,现给出求解方法:

  5. 两个圆公切线求法_求两圆的公切线计算

    关于两圆的公切线计算我们首先需要搞清楚的是两个圆之间有哪些位置关系,两个圆的位置包括内含.内切.外切.外离几种方式,可以看出位置关系可以根据"两圆心之间的距离"与"两圆半 ...

  6. 确定一组矩形是否有两个重叠的算法

    注:更正一下:在英文原版书中."请给出一个能在O(nlgn)"时间里确定一组矩形中是否有两个重叠的算法. "而不是中文版的 O(lgn).由于这个问题里涉及的排序算法就至 ...

  7. Square Card 计算几何-两圆相交面积

    题意 : 给两个圆,分别代表得分区域和奖励区域,边长为a的正方形以均等概率扔到平面后绕中心旋转,保证一定会有某时刻正方形完全在得分区域内. 如果某时刻正方形完全落在区域内,获得相应分数,求正方形 既获 ...

  8. [codevs 3273] 两圆的交

    题解 需要考虑几种情况: 外切或外离.面积为0,注意要输出 0.000. 内切或内含或重合.面积为较小圆的面积. 相交,还需要讨论交点位置: 交点在两圆心中间 即异侧 交点在两圆心同侧 在求三角形面积 ...

  9. 两圆相交求面积 hdu5120

    转载 两圆相交分如下集中情况:相离.相切.相交.包含. 设两圆圆心分别是O1和O2,半径分别是r1和r2,设d为两圆心距离.又因为两圆有大有小,我们设较小的圆是O1. 相离相切的面积为零,代码如下: ...

最新文章

  1. 三十六亿的《哪吒》历时五年,如何用AI解决动画创作难题?
  2. 苹果系统怎么降低版本_1903、1809...到底怎么看系统版本?
  3. 团队-象棋游戏-模块开发过程
  4. nanopi磁盘烧写
  5. 使用pycharm在本地开发,并实时同步到服务器(亲测)
  6. aspnet还有人用吗_别盲目跟风!理性分析:超火的小香风外套真的适合你吗?
  7. N皇后问题的解(洛谷P1219题题解,Java语言描述)
  8. AOP就是面向切面编程,我们可以从几个层面来实现AOP。 ![](https://upload-im
  9. (53)FPGA基础编码D触发器(二)
  10. linux下的malloc申请的是虚拟还是物理的,关于malloc申请内存
  11. Hibernate【3】——Service层
  12. android调用本地js文件上传,原生JS实现前端本地文件上传
  13. python中re模块的span_python3正则模块re的使用方法详解
  14. python 3 5的值_杨桃Python基础教程第5章:Python数据类型(3)列表s[M:n]值,的,三,smn,取值...
  15. GANs奇思妙想TOP10榜单
  16. 计算机英语测试,计算机专业英语测试
  17. kafka跨库同步mysql表_canal实时同步mysql表数据到Kafka
  18. 深度学习前沿 | 利用GAN预测股价走势
  19. OD 的 Run Trace
  20. 图扑入选 2021 中国企业抗洪捐赠 500 强榜单

热门文章

  1. jQuery.fn是什么意思?
  2. 禁用Chrome缓存进行网站开发
  3. 检查字符串是否为有效URL的最佳正则表达式是什么?
  4. 如何从另一个线程更新GUI?
  5. 如何在Linux上找到包含特定文本的所有文件?
  6. 总编下午茶:挑战者心态能否帮助微软重回云计算巅峰?
  7. C++中rdbuf()简介及文件流的概念
  8. mysql 5.7.x 安装
  9. ios水果风暴游戏源码项目下载
  10. Linux shell编程(四)流程控制