哲学问题4(很现实!!!):“我该摸哪张牌?”
哲学问题4(很现实!!!):“我该摸哪张牌?”
大约在1994年,我受一些FC上的RPG游戏的启发,自己也编写了一个类似Monopoly(有模仿者名曰“大富翁”,当时讹称“强手棋”)的游戏。
在这个游戏中,主人公(Player)要在棋盘样地图上的格子序列中,前行赴关、斩将沙场。当主人公触发到某些条件时,便会进入“Chance Cards Gambling”小屋。
在小屋中,布置有一张牌桌。桌上放了10张正面暗扣住的牌(Chance Cards)。显示为如下形式:
+---+ +---+ +---+ +---+ +---+ | | | | | | | | | || G | | G | | G | | G | | G || | | | | | | | | |+---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ | | | | | | | | | || G | | G | | G | | G | | G || | | | | | | | | |+---+ +---+ +---+ +---+ +---+
关于游戏的整个事情,讲完了。
下面来扯扯哲学……
这个游戏对Player公平吗?我说:绝对公平。当你知道整个“黑箱操作”的实际过程和其中原理,也不会否认的吧!
可是,当Player知道这一切后,他/她会怎么想?
如果他/她仅仅是旁观者,也不会否认这很公平。但是,当下的他/她,就是一名Player,玩的就是游戏中所要经历的一种“赌运”。这种“赌运”,要在他/她每一次进小屋“选牌”时去享受。
然而,现在Player知道了,他/她每一次“选牌”的结果,已经在运行游戏早期的某一时刻就被决定了,他/她当然会觉得被剥夺了在“选牌”时自由意志上的公平性。但从另一方面来看,那种被早期就决定好了的结果,却仍终归是Player自由意志的结果(只是他/她被蒙在了鼓里而已),所以,他/她的自由意志并没有被褫夺,游戏的公平性也没有丧失。Player在游戏接下来的时光中,只不过是在揭晓之前已经被确定的结果罢了。
我们总喜欢找一个“客观公正”的第三方来审度事情。现在,这第三方真的有了 —— 这个游戏的源代码一公开,任谁都可以来做这个客观的第三方 —— 这个第三方,只要理解万世颠簸不破的数学法则,就必然不会否认:这个游戏对于所有人,都是完全公平的!
但,这又怎能平复Player心中矛盾的纠结呢?
人生在世,跟这个游戏比起来,岂会更加公平呢?
…… ……
[解决办法]
膜拜大神啊。。
[解决办法]
大神啊。。
[解决办法]
厉害啊
[解决办法]
牛!大神! 强势!
[解决办法]
膜拜大神
[解决办法]
楼主算法牛人,佩服了。
[解决办法]
来膜拜一下楼主
[解决办法]
看了楼主的其它帖子,看得不太懂,只能膜拜一下。
[解决办法]
没有认真看,说下自己的理解。
拿QQ斗地主来说:
1,每一局游戏都进行一次随机分配。
2,懒一点,从很多已经设计好的牌型中选出其中的一副出来。
3,再懒一点,随机选择就去掉,直接弄一个牌序列。从012345...开始访问。
到2的话,还能接受。
到3的话,就可能被破解了。
你做得简单一点,别人就有办法找到一个捷径。(2也可能让一些玩家通过一些手段获得利益)
但是无论哪点,对于只玩游戏的玩家来说都是平衡的。
而且说一点,人生的乐趣也不是放在这样的东西,就如走进战场的两个人,他们考虑的是决斗,而不是谁可能获得一个更好的兵器之类的。
LZ说哲学,我一直认为有一点哲学概念的人,都不会谈凤姐,谈李刚之类的。
因为这种问题就是人性本身的问题。
纠结在此类问题上的人,基本上都是困于哲学之中。
再说一点,LZ应该清晰的描述问题。这本来是一个很简单的东西,但是被你加上各种说明之后,90%的人都无法通过你的文章,了解到你本来想要阐述的问题。
只剩下一些人在关注那些你可能“自以为乐”的小幽默上。比如李刚,凤,武士之类的东西。
这样的交流无可厚非,因为人生本就需要一个乐呵。
但如果抱着解决问题的心理来发帖的时候,如此的论述就就非常之下策了。
[解决办法]
很厉害,科学家的游戏。
[解决办法]
(1)定义并初始化一个50*20的牌张数组。
(2)罗织一个尽可能接近真实随机过程的随机函数。
(3)开辟一块能容下1000张牌的存储空间(即“牌盒”),以备随后各张随机安插入内。
(4)安排函数,取出上述空间中的头10个元素,顺次压入一个“桌面”数组。
(5)令Player可以选定上述数组的某一下标,取出决定牌
我可以简化一下整个运算过程,也就是:越过第(3)步,直接从第(1)步的数组中,按第(2)步所设置的随机函数,选取10张压入第(4)步的“桌面”数组。即,略弃了“牌盒”这一个设施,节省了1000个元素的存储空间。
—— 这样的话,是完全不违背统计学与概率法则的,且满足公平原则,不是嘛?
当然不是,貌似你都没仔细考虑过。甚至貌似你话都没说清楚。
按照你的两种算法,你自己想想,一样么?第一种算法,每次都push堆的前10张,真搞笑,那取100次都是这10张?好吧,我理解你遗漏了在1000张牌中取第二次时是否规避第一次取出的牌。
如果你规避了,那你第二种算法就和第一种算法完全不同。
如果你不规避,那第二种算法和第一种算法就没啥不同了,但从你初始设计上来看,全部错误。
原因很简单:你这种算法导致别人连摸30牌后,同样的牌出现20张以上的概率不再为0.虽然概率不高,但是这样你的卡牌设计平衡性就完全没有了。而在强手棋中,这是不可能的,因为强手棋的说明书上分明写着:用过的卡片塞到卡堆最下方(貌似三国杀也是这么规定),这是为了游戏的平衡性。
我能理解你把基数扩大到1000就是为了缩小出现这种情况的概率,但是遗憾,数学就是数学,你扩大到一千万,从概率上来讲,不一样,就是不一样。
[解决办法]
发榜前夜,学生们的分数早已确定,而且他们也明确的知道这一点,但他们仍然祈祷自己高分..
[解决办法]
这很像量子物理的“隐变量”理论啊。不过实验已经基本排除了定域实在性。
简单来讲就是如果世界是如你所说从开始即可推算全部(实在性),那么必须有超光速(非定域性);如果认为越光速不存在(定域性),那么在事件发生之前是不可推算的(非实在性)。
假如你这程序所模拟的是真实世界的一次量子事件(例如薛定谔的猫),那么要么你只能完全按照原始的设计来运算(很多空间,很多随机数),要么你得在玩家选择牌的时候·穿·越·到·片刻之前改变程序内部的变量。
------解决方案--------------------
嗯,lz其实是想谈哲学,但是lz拿人生来比这个游戏似乎不妥,因为你这个游戏中每次摸牌都和前一次摸牌无关。而人生不是,比如你今天有三件事,依次是:摸电门,跳悬崖,上论坛。你的选择都是做,或者不做。理论上你每件事情去做的概率都是50%,但实际上不是,你摸过电门基本就不要指望跳悬崖了。
如果把这些是请写成代码,绝对不是单独运行随机函数就行的,每次运行完随机函数,就要记录下结果,因为这个结果对下次是有影响的。
就用你那个事先生成作息规律的函数来运算一下,加入随机函数给你的答案是:先摸电门,再跳25层楼,最后来这里继续写哲学思考5.你这份作息表,能正常执行么?明显不行。
[解决办法]
在每步的时候随机,这样根据玩家在做出判断所用的时间不同,随机出来的东西也不同。
不要在一开始就随机好了。
[解决办法]
总觉得应该有很多话要说的,但是一到了真正要说的时候,又觉得说不出什么了。看来果然是自己平时书读得不多,思考的不够深入的缘故。
我看过LZ上一篇哲学问题,也让我有了些思考(为什么没有回复呢,当然不是LZ给的启发不够,而的确是我认知不够)世界是一个黑盒。我总认为世界是客观的,但是这只是一个“裸的”世界,不加任何人为的修饰。每个人的世界都需要经过自己的认知来定义。(就像是颜色这个概念,我说是红色,但我并不能准确的描述,你也说那是红色,但是那只是一种映射关系,假设世界上第一个人对这个颜色下了个定义,于是大家都叫他为红色了,但是也许你所说的红色并不是我看到的这种颜色。据说失明的人重见光明之后眼前的世界是光亮的,但是并没有颜色(的概念),他必须通过人为的学习才能分辩颜色...其实也是类似于一个初始化的过程)好吧,前面说的那么一大堆废话只是想说明世界并不依赖我们而客观存在,但是却要由我们自己来定义。世界上的各种存在都在那里,但是我们如果不观察,定义,他就不能进入我们的世界。他的值就是不确定的,所以我们认为他是随机的,未发生的(似乎和未初始化的变量有些相似点)。但是一旦观察了之后,我们的视角就变化了,世界也就是经过我们修饰过的世界了,我们再也找不回那个真实的世界了。
也就是说世界不依赖于我们在进行着发展,这种发展方式是未知的,或者说是不可定义的,我们生活中的每个人选取其中的一个片段(因为不可能有人获得整个世界的信息)经过自己的加工来形成自己的世界观,并在不断的生活中将自己的世界观与“现实”生活作比较,做一个动态的修正,于是这就是我们的世界。因为我们生活在一个星球上,所以有很多人类之间自己的交流,所以不知不觉人类的世界观有了很多的交集,于是我们就生活的理所当然。这不能不用说是一种遗憾,不过这也不影响我们的生活,我们也并不需要知道的那么多。
我们有时候在想,我们是在做着自己的决定,但是仔细想想的话,这个决定真的是自己做出的吗?你说是你的意识控制你自己做了一个抽牌的动作,但是这个动作其实是由你的肌肉完成的,而肌肉又是由神经的电信号控制的,其实也只是Na+,K+之类的离子进出来实现的。这么一想的确是一件很恐怖的事,身体的哪一部分是属于你的?你只是一个由C构成的有机物,你只是在完成着一些化学反应,最后你就“衰变”掉了。你的行为只是由自然规律来决定(当然自然界有没有规律还不知道...)
但是这么说也不那么确切,或者说是有些绝情,虽然心里是这么思考世界的,却不想承认...唉...
人生的过程是确定的,但是人在将它变为自己世界中的物品时,会无形中给他一个随机分配的解释(或许我这个解释并不好,因为我也不知道该如何表述,就像是一个彩票摇了两次出来和只摇了第一次出来和只摇了第二次出来是一样的,都是随机的,这并不在乎其中的先后顺序)
虽然我认为世界是客观已经决定的,只是因为人自己观察,认知的方式而“富有了人情味”,但是我并不能证明。还是一样的道理:我能得到的信息实在太少了,记得我们数学老师当时说,一个二维平面上的猪永远不知道他头顶上还有另一个世界。也许我们就是如此的可悲,因为没有经历,无法定义,于是对于一个高维度的世界我们是无能为力的。当然,我们也不必为此烦恼,生活还是继续,就算生活已经被别人安排好了,也不是我们的错,生活还是继续,早饭还是要吃,午觉还是要睡。
以上,莫名其妙扯了很多没有关系的东西...因为没有深入的研究过,所以这只是个人之谈,有不少纰漏,没有过分深究的价值,和大家交流交流倒也可以当做一种消遣方式...最后要说的是LZ的相关专题真是能引出不少想法的。
[解决办法]
《混沌》
[解决办法]
一个程序员必定是一个哲学家,社会科学家。总能最大限度的认识到问题的本质,整个世界就像是一个程序,而程序员的大脑就好比是一个CPU,因为世界被编码,大脑能解码。某一天,一个程序员和一个真正的哲学家在一起闲谈,程序员说“我明白了哲学的本质”。哲学家笑了“你的微码出BUG了”。