儿子问俺一个数学题,俺没想出来,这里高手多,问问。。。。。

  • V
    VODKA
    其实就是洗牌的问题,偶数张扑克牌,摞起来,从中等分为两摞,然后下从面那摞牌开始,两摞牌一张一张交替放置,这样一轮之后,除了上下两张牌之外其他牌都改变了位置,这算洗过一轮,俺儿子提出,经过数轮洗牌后,牌会变回原先的顺序,俺试验了一下,果然如此,但是洗牌轮数和牌的张数关系没有搞清楚,设牌总张数为2n,要经过多少轮洗牌,牌的顺序能恢复原样呢?

    知乎答案看不懂,看来这题确实太难了。。。。。

    本帖最后由 VODKA 于 2019-7-17 19:51 通过手机版编辑
  • a
    alfredo
    一看你就是没看过诈欺游戏……
  • w
    wuhao0727
    数学我不行。但我可以写个程序模拟下,输入n就返回结果。但现在懒了,算了。其实倒也没啥难的,就是一个循环判断和初始队列相同就退出循环记个次数完事。
  • l
    lvcha
    你儿子挺像你啊。
  • 少先队员
  • 甲级战犯他祖宗
    然后下从面那摞牌开始,两摞牌交替放置,这样一轮之后,除了上下两张牌之外其他牌都改变了位置
    没看懂
    假设四张牌
    1
    2
    3
    4
    交替以后变成
    3
    4
    1
    2
    再交替又变成
    1
    2
    3
    4
    这意思?
  • V
    VODKA
    不是。。。。。

    1
    2
    3
    4

    分成
    1
    2

    3
    4
    两摞,交替放置,洗一次后后变成

    1
    3
    2
    4
  • V
    VODKA
    编程解俺也会,毫无难度,但是没意义,俺想知道数学解。。。。。
  • w
    wuhao0727
    那正好省我事了,其实也不是没意义。输入参数10,12,14...这样的,根据结果总能看出个规律的,无非就是2的n次方减1什么的类似答案。数学的话给你 @blacktooth

    本帖最后由 wuhao0727 于 2019-7-17 14:17 通过手机版编辑
  • V
    VODKA
    嗯,俺一会儿试试看,刚才用真牌测试了几个数,比较有意思的是8张牌3次还原,6张牌要4次。。。。。
  • w
    wuhao0727
    有限数列都是有规律的。好像有个网站能给公式,你把右面数字列成个数列写法扔网站分析下就能给出个通项公式,只是我之前老早用过,现在早忘了那网站是啥了
  • V
    VODKA
    ls动作真快啊,已经模拟出来了么?看起来这数列确实挺奇怪的。。。。。
  • 田中健一
    楼主可以看狂赌之渊,有一集专门讲这个。
  • V
    VODKA
    有限数列都有无限多种通项公式,但这并不是有限数列。。。。。
  • V
    VODKA
    看漫画学数学?嗯,俺回头找找去,好看不?
  • 甲级战犯他祖宗
    哦是逐张交替啊
    这个有点意思,没想出来。。。。
  • 田中健一
    动画也有。
  • w
    wuhao0727
    其实可以拿tensorflow写个简单模型喂数据来解决的。只是我现在懒了,这些花时间才能弄出来的事都懒得做。但我的观点是解决这个问题不用数学,就用程序生成输入输出结果后当成一个数据集喂给tensorflow的模型就能给出很精准的结果的,结合matlabplot还能把函数画出来。另外,以上结论是基于假想函数是比较简单的线性回归或者双曲线什么的或者对数指数函数之类的简单函数,如果是个太复杂的不连续函数,难度确实大。所以我怀疑即使用纯数学来解决这问题可能也挺难的,要不你看现在也没个纯数学解答,就能说明点问题了。

    本帖最后由 wuhao0727 于 2019-7-17 14:52 通过手机版编辑
  • 坳由根
    n-2是一般解
    当然了,不是最优解
  • V
    VODKA
    从一百以内的结果来看,似乎并不是一个简单函数,上网搜了一下,有人问过类似的问题,但是数学解答没有,搞不好真是挺难的一个问题,虽然看起来简单。。。。。
  • 甲级战犯他祖宗
    我感觉应该没有统一公式,要分若干种情况
    比如当n=4^x的时候,次数=x+1。看看对不对?

    似乎这个“当。。。的时候”条件会有无穷多个。。。

    写错了,应该是4不是2
    好像也不对囧。不过似乎4的次方多个n的次数比较有规律。。。

    本帖最后由 甲级战犯他祖宗 于 2019-7-17 15:21 通过手机版编辑
  • V
    VODKA
    看了一下,n=2^x的时候次数是x,嗯,如果是有无限多组这种情况,那确实没有通解。。。。。
  • w
    wuhao0727
    n=2^x的时候次数是x,这个仔细想想好理解,因为就是刚好用这几次把牌洗好。所以估计这是个分段函数,我觉得肯定是有通解的,只是找到通解要花些时间找规律。数学上怎么弄确实不清楚,感觉至少要大学数学专业以上的来弄了。
  • A
    AzureZH
    完美洗牌问题
  • w
    wuhao0727
    根据楼上完美洗牌问题搜了下,可以看看下面这个链接,分析这问题分析的还挺透彻的,果然不是个简单问题 https://blog.csdn.net/oMengLiShuiXiang1234/article/details/51305849
  • V
    VODKA
    这是另一个问题了,讲的是洗牌的算法,而不是洗多少次能洗回来。。。。。
  • w
    wuhao0727
    是啊,我没仔细看,就随便浏览了下,看写了几个算法以为和这个还有点关系的。你这问题我要花点时间摸索的话一礼拜内肯定能给出个通解,只是现在惰性大,懒得费这劲了。
  • w
    wuhao0727
    另外,就算我给出通项公式也只是个猜想,可能拿计算机验证前一万项都对,那也不能说就肯定对。就和哥德巴赫猜想只能叫猜想一样,没从数学上证明即使前面都对也没法当定理用。
  • 流浪的枪骑兵
    我看了一会,只看出来当牌的数量是2^n时,次数是n
  • 2
    20060602
    这个猜想是对的,我看过一个节目,
    忘记是不是discovery了,
    有人用这个方法在赌场作弊。

    至于次数,好像真实的扑克牌也用不了很多次,
    回头我也算算。
  • n
    n2
    我记得这就是perfect shuffle吧
  • y
    yfl2
    朋友你完全没有数学概念还在这扯啥啊……
  • w
    wuhao0727
    我数学确实一般,一开始也说了不会数学解,本来也是友好讨论。看下来也就你上来就无脑喷的素质堪忧,你数学概念这么好,要不要从数学上给个答案?啥?你也不会?那你喷你吗呢。
  • y
    yfl2
    知之为知之,很简单的道理,不懂何必要瞎说呢,什么有了通项公式还不可能证明,你是在干嘛……
  • w
    wuhao0727
    呵呵,数学概念好的人先去弄明白猜想和定理啥区别吧。要不你以为为啥叫黎曼猜想不叫黎曼定理。
  • V
    VODKA
    这个好,知乎还是有不少干货。。。。。
  • y
    yfl2
    所以你号称自己靠猜想能弄出通项公式(必须适用任意长度数列),但是又不能证明?你确定知道自己在说什么吗?
  • w
    wuhao0727
    所以说是猜想啊,这不很正常?能给出数学证明那就叫定理了好吧。哥们不会连猜想和定理啥区别都不知道吧?那我觉得你该去再补补你已经很好的数学概念了。
  • y
    yfl2
    猜想不能确定适用任意解 ,你说自己能猜出通项公式,但是不能保证这个公式正确对吗……
  • w
    wuhao0727
    那当然。猜想当然是不保证对的。难道哥德巴赫猜想保证所有偶数都能被分解成两个质数和了?你先搞明白什么是猜想再杠吧。
  • y
    yfl2
    朋友,通项公式当然要保证正确,不然有啥用……
  • w
    wuhao0727
    我都说是猜想了,哪给你保证正确去?又不是用数学归纳法证出来的。楼上有人贴知乎的答案有通项公式,说实话,没看懂,只知道lcm那个函数是最小公倍数。至于怎么证明的,好像也没有。要不你数学上来试试给个答案?你行你上啊?
  • y
    yfl2
    公式是啥意思?你给我个公式,不保证正确,也就是我没法使用,你是逗我吗?
    你现在给出个质数生成公式,说我不知道它是否正确,甚至没给出正确的条件,这个公式的意义在哪里
  • 2
    20060602
    写了段代码,简单的暴力计算,
    有兴趣可以观察结果总结规律:
    https://www.onlinegdb.com/r1QNMc3Zr

    打开链接点绿色的“Run”按钮就行了,
    默认算到2048张牌,计算速度不行,
    再大的话,算得更慢,指数复杂度。
  • w
    wuhao0727
    谁和你说不保证正确就是没法使用的?黎曼猜想照样能用来预测质数分布,费马大定理作为猜想那么多年(费马未给出证明过程),证明的人前赴后继,也因此产生了很多的数学分支和促进了数学的发展,最后终于得以证明。按你的说法费马大定理一开始也不能保证是对的,也不能拿来用,那意义在哪里?我觉得你无知的可怕,不再和你讨论了,因为水平不同的人一起讨论意义不大,不好意思。
  • y
    yfl2
    费马猜想本来就不用来计算啊...黎曼猜想用来预测质数分布了?难道不是反过来,大家用很大范围内的质数分布来验证黎曼猜想在这个域内是正确的吗?
    你说要给的是一个公式,用来求数值解的,如果你不能证明这个解肯定正确,怎么用...

    [本帖最后由 yfl2 于 2019-7-17 20:36 编辑]
  • y
    yfl2
    看看,你的猜想真的是荒腔走板啊...
  • y
    yfl2
    看来你对自己的本行程序也是一知半解啊
    你用机器学习本质是线性拟合罢了,根本就不能用在这里,我也是醉了,能不能对自己不懂的东西不要随便断言...