圆形灯泡

[温克勒]放置在圆圈上的灯泡编号为1到N,最初都是亮的。在时间t时,检查灯泡编号t,如果它亮,则更改灯泡t+1(mod N)的状态;也就是说,如果灯亮,你就把它关掉,如果灯关,你就什么也不做。证明如果你继续以这种方式绕着圆圈转,最终所有的灯泡都会再次亮起。

小程序允许您尝试解决问题。橙色圆圈模拟灯泡的开启状态,红色圆圈模拟关闭状态。绿色箭头指向正在检查的灯泡。蓝色箭头指向其状态将受到影响的灯泡。

小程序以两种方式概括了这个问题。首先,展望未来可能是一个非1的整数;即,灯泡t的检查可能会影响灯泡t+L,L>0,其中L是“向前看”参数,最初为1。其次,您可以跳过所选数量(S)的灯泡,而不是按自然顺序检查灯泡。


此小程序需要Sun的Java VM 2,您的浏览器可能会将其视为弹出窗口。事实并非如此。如果您想看到小程序的工作,请访问Sun的网站:https://www.java.com/en/download/index.jsp,下载并安装Java VM并使用小程序。


如果applet不运行怎么办?

解决方案

工具书类

  1. P.Winkler,数学难题:鉴赏家的收藏A K Peters,2004年,第81-82页(圆形灯泡)

|活动| |联系人| |首页| |目录| |代数|

版权所有©1996-2018亚历山大·博戈莫尼

在原问题中,N是任意的,L=1, S=0。除非S是N的倍数--S=0(型号N),Winkler的解决方案无需更改即可工作。该解决方案基于两个观察结果:

  1. 这个过程是可逆的:时间t的状态是由时间t+1的状态唯一决定的。

  2. 由于可能状态的数量是有限的,因此进程必须通过鸽子洞原理.

一般化不需要特殊处理,但很明显存在一种特殊情况,即所有灯泡都熄灭的状态S=0(型号N),无法访问此状态:

  1. 从所有灯泡都打开开始,不可能达到所有灯泡都关闭的死胡同组合。

事实上,要关闭最后一个灯泡,必须检查一个打开的灯泡。这种逻辑在以下情况下不适用S=0(型号N),因为要关闭的灯泡正是被检查的灯泡。

现在是证据。

因为状态的数量是有限的,所以必然会发生状态重复。假设时间t1状态第一次被重复。同时假设重复状态在t吨0<t1.我们想证明这一点t吨0= 0.如果不是这样,我们可以反转一步,验证t时刻的状态1-1和t0-1也是相同的,这将与我们的假设相矛盾,即在时间t第一次出现重复1.


相关材料
阅读更多。。。

  • 10中的6个整数:鸽子洞原理
  • 鸽子洞原理(等额)
  • 矩阵中的鸽子洞
  • 日历中的鸽子洞
  • 一个很好的以彼得森图为模型的谜题
  • Proizvolov在游戏格式中的身份
  • 不相交间隔的鸽子洞
  • 所有反链
  • 通过鸽子洞的欧几里得
  • 圆形中的灯泡(交互式Gizmo)
  • 127以下的七个整数及其比率

  • |活动| |联系人| |首页| |目录| |代数|

    版权所有©1996-2018亚历山大·博戈莫尼

    71698976