c语言切蛋糕问题算法,如何切蛋糕,根据数学

在一项新的研究中,一对计算机科学家解决了一个困扰数学家几十年的问题:如何切蛋糕,让每个人都对自己得到的那部分感到满意。“你不想觉得别人的分配比你好,”新南威尔士大学计算机科学家、澳大利亚数据研究集团Data 61的合著者哈利斯·阿齐兹(Haris Aziz)说。从理论上讲,阿齐兹和他的合著者西蒙麦肯齐的作品可以用来给出有争议的物品,比如家庭艺术收藏品,甚至是在国际水域捕鱼的权利。

37ae03e1117f32c1967e5108f33063e8.png

阿齐兹研究经济学的一个被称为公平分工的领域,其中包括研究如何分配资源,这样参与者就不会羡慕对方。虽然平等的部分可能是显而易见的解决办法,但它们并不总是答案。不同的人可能比其他人更看重某些部分。例如,想象一下,一张薄薄的蛋糕中间装满了巧克力片和草莓,而角落里却只撒了少量的山核桃。为了在两个人之间以一种没有嫉妒的方式把蛋糕分成两块,一个人可以把蛋糕切成两块,然后让另一个人挑一个最爱的蛋糕。参与的人越多,嫉妒的机会就越大。

3744e9a13ae612971433d0a8ceaa0cdf.png

在20世纪60年代,研究人员发现,对三个人来说,一个人可以把蛋糕切成三块,让另外两个人修剪他们最喜欢的蛋糕,这样如果他们没有得到蛋糕,他们就不会嫉妒了。1995年,政治学家StevenBrams和数学家AlanTaylor为任意数量的参与者发明了一种算法,但它并没有限制步骤的数量,Aziz说。粗略地知道算法何时会停止是很重要的,因为你永远不知道遵循它的指令是需要一个小时、一个月,还是直到时间的结束。“它为用户提供了保证,”阿齐兹说。“不管你做什么,都不会花太长时间。”

618ea043aa7d2461947bddfaeeae7418.png

研究人员不确定是否有办法为三个以上的人提供一个停止点。然后,2015年8月,阿齐兹和他的团队在arxiv.org网站上传了一篇论文,目的是在四个参与者之间以一种无嫉妒的方式分割蛋糕。在这项新的研究中,他们决定尝试改变他们的公式,以适用于任意数量的参与者。他们的算法归结为一个想法。如果你足够重视你自己的那一份,那么你就不会在乎别人的那一份了。这就是它的工作原理。首先,有人切下他或她认为同样可取的蛋糕,然后把它们送给其他人,由他们确定最喜欢的小块,然后讨价还价,直到他们对分割几乎无动于衷为止。参与者可能不会收到整块,但他们会被修剪,但非常理想的块。

a945de5a5d596fcb1d55b1abf81b21e6.png

在这一点上,没有人羡慕其他人的部分,但可能有剩余的蛋糕。该算法要求将剩菜串在一起,并在一个循环中重复这个过程。如果没有更多的蛋糕,或者已经过了一定的时间,这取决于参与者的数量,您就会停止。如果时钟用完了,剩下的面包屑也就剩下来了,那么参与者就开始交换部分-也就是面包屑-直到没有剩下的面包屑为止。卡内基梅隆大学(Carnegie Mellon University)的计算机科学家阿里尔·宝卡西亚(Ariel Procaccia)说,“这仍然需要很多操作。”他曾研究过这个问题,但没有参与到这篇论文中,“但这是一个超级令人兴奋的结果”,因为“我们可以确定我们需要付出多少努力才能获得嫉妒。

7c11cf9cdbc540330461ed5315198b02.png

目前,阿齐兹说,算法只是一长串书面步骤。这个团队没有尝试编写计算机代码来测试它,因为它的目标仅仅是展示存在这样一种算法。他说,该算法有一些局限性。例如,在10个人中分配一个蛋糕,可能比宇宙中有原子的步骤更多。研究小组在7月份意识到,如果参与者愿意忽略这些碎片并尽早停止,那么他们仍然可以击败今天可用的算法。这里希望研究人员能很快找到人们吃蛋糕和吃蛋糕的方法。

举报/反馈

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值