算法镜子
Ⅰ 在镜子里看是九点半 实际是几点 简便算法
解答:镜子成的像是左右相反的
镜子里的像是9:30
那么实际上是3:30
答
Ⅱ 蜉蝣盛世 | 这个算法时代的哀愁与觉知
我们还能从那些化身景区的断壁残垣里推演出 历史 变迁,从遗编野史里读出些无法被认定被史实的旧事,然而过去的终究是过去了。
时代的残忍并不在于它遗落了那些无法紧追其后的人;而是它以一种迅雷不及之势,将那些尚未清醒的人在无知无觉时就裹挟而去。
是的, 人类天生就具有适应力,却并不常拥有质疑力。 我们习惯顺应改变而做出调整,至于为什么改变? 如何实现的改变? 那些背后制定和把控规则的手,我们一概不知。
尽管往后总会出现三两一群后知后觉者(他们或许还会自称“先行者”)高呼复古、复兴运动;尽管还会有回潮, 会有小部分聪明人能以“顺风而呼”的方式,让我们重新审视、重视那些我们遗落在飞行途中的美丽。
但,新事物终究会取代旧事物,岁月的大刀阔斧,掩盖了所有夙夜兴叹的声音。而改变,又从来都是双刃剑。 算法在内容推荐领域的广泛运用,亦曾带给微弱尘埃的我,惊喜、哀愁与鼓舞。未来我们要做的,还有很多。
当一切内容幻化为一道道餐品,在精心挑选后,不停地端到最喜欢它的人面前,每个个体的甜区,都在被尝试着被完美击中。 而当它对你了解越深,击中你的甜区就变得越来越容易,你会发现,没有人比它更了解你,它简直贴心至极。
然而潜移默化间, 它对你的掌握愈加精准,将你固化进你的舒适圈里就愈深。 设想一下,如果作为人类的你,不幸变成了那只知道如何获取多巴胺的老鼠,以人类的智慧和毅力, 真的能控制自己不去频繁按下按钮么?被完美命中软肋,就很难不被捕获其中 ;当一个人的心理动向在无数数据分析下被完全掌控,如同你熟知一个人的肌肉记忆,你知道他有百分之80的概率就是会出右拳,如何回击,就太容易。
于是人类的渴望、贪婪、忧虑、仇恨……也通通在算法面前一览无余, 最潜隐的心理,在你所关注的、追逐的内容里显化并被掌握 。在亿万数据里,作为个体的你仅仅由一堆标签组成,about what you are and what do you want。 它是一面镜子,你有尝试过去看它么 ?很少有人通过它看清自己。
人生,终究是苦多;糖,也不能当饭吃。被喜欢的东西包裹是幸福的, 但幸福亦是最容易使人下陷的棉花糖 ,当你越来越只被令自己喜悦和舒适的事物包裹,你的世界,就会越来越狭隘,你越来越不愿意直面人生真实的课题—— 因为那些曾经要拼命才能获取到的成就感与满足感,它等量的快乐可以来得那么轻易。
如此下去,人类如何愈来愈广博呢?如果星辰依旧愈加明亮(虽然被漫天沙尘掩盖), 蜉 蝣之辈的我们在这场群体愉悦之中,只是愈加平庸至化为尘土 ;对于人类整体来说,这个过程是下坠的。本质上写到这里,我也非常迷茫:一方面我很难去评判那些沉浸在自己喜欢的、即便是没营养的内容里的人,因为那是他们的自由;另一方面我觉得这对于个体、集体的发展都是无益的,因为如果人不能突破自己边界,去认识到更多更远,人类也只会越来越无法走向广博。
不过也许我没有担心的必要,真正睡着的人很难叫醒他; 何况他们也很难能读到我所写,如此令人不舒适的诚恳建议,不会是他们的甜区范围。
这个时代除了爆款套路,机器都可以写诗了,它纵可将千百年的佳作名篇纳入脑中,横可啃下世界各国的优秀文学理论,再加上熟读人的心理;最终那个冰冷的没有心脏的机器,一定也会写出感动世界的文字。 因为它,能比任何一个优秀头脑,都更懂得讨好阅读者;踩中的每一个点,都能击穿你的心脏。
算法在各个领域的普及化,仿佛迎合,才正确的趋势。文学也要成为一种迎合么? 这是一个人人可以写作的年代, 蜉 蝣群起的年代。 用蜉蝣作喻,因其小而微弱,曾经不被看到、如今却被看到。只是尽管这一天到来, 它们也不过是继续朝生暮死、生生灭灭 ,因为永远有不停制造的热点,有更新鲜刺激的话题赶着我们去追逐。
在这样的时代,却越来越向往里尔克笔下寂静的生活——可以诚实地面对苦难、困境,以哲学式的耐心去应对一切,从不将疑难埋藏进心底遗忘、亦不将其投入热闹中逃离。难怪他说:“谁此刻孤独,就永远孤独。” 选择不被芸芸众生同化,真正沉心笃行、时刻保有独立的思想认知的,终究是少数派。
往好处想,这样一个时代,对于创作者来说,也是有利的。因为有更多有才华之人可以被挖掘被展示,只要你的内容足够好;至于这个好,它的标准又是什么?
在那个人人诗情画意的年代,沈三白普通得不能再普通,但他一部《浮生六记》却为后世带来诸多沉醉与安心。那个讽刺小说与八股文并行的奇绝时代,他描写着自己和芸娘最日常的生活,仿佛只为记录而作的日记,语言平白质朴、故事清丽温柔。
而如今我们最盛传的内容是什么呢? 是情爱纠葛,还是纸醉金迷? 权力、暴力、美色、金钱…… 全然关乎人类灵魂最低阶的欲念。
算法出现在这个全民自媒体时代,更是放大了那些不堪。 那些为博人眼球夸大其词的文字、那些哗众取宠的文字、那些公然愚弄大众的文字……我无法适从,只能在自己与世界间构建了一个巨大的屏障,门外巨浪滔天,我只在屋内静心绣花就好。可是到最后,却也是这场浪潮,鼓舞了我——它我让同样看到了许多勇于表达的人、用心分享的人、坚持自我的不一样却依旧被大众认可的人……原来一切不够完满的,还可以由你我去扭转。
我曾经说,发光吧,即便微弱;如今我想说,发光吧,尽管热烈一点、沸腾一点。未有宏图大志,便努力做当代其貌不扬的沈三白, 以手写心、以文作舟,或许有一日能载着三两者,渡向更光亮的对岸。
你看,这是最坏的时代,也是最好的时代。
写在最后:作为蜉蝣,我无法扯住时代的车轱辘;作为文科生,我亦无法将其中的更学术性的东西呈现透彻;仅仅作为一个记录者,我尚能谈谈自己微弱的所感。算法这把双刃剑,切勿全然任其导之、切记避其锋利而用之;而它亦是一面镜子,是这个时代放在我们每个人面前的镜子, 我们一定不能放弃的,是努力跳出局限、跨越自己的甜区,走向更开阔的、不设限的人生。
Ⅲ 需要多高的镜子
分析:
由于人是竖直站立,镜子是竖直放置,所以镜子的上、下端之间的高度至少要等于人身高的一半,才能使人看到自己的全身像。注意,这种情况是把人的眼睛当成在自身最高点处来理解的。
本题中的问题,是要考虑人的头部高度,所以镜子的全部高度必须略大于身高的一半。
由于人的头部长度远小于身高,所以从与眼睛等高处开始,下方的镜子部分长度等于眼睛到脚距离的一半;上方的镜子部分等于眼睛到头顶距离的一半。
详见下图。(注意:人与镜子都是竖直的,所以观察时与人到镜子的距离无关,只是影响眼睛张开的角度而已)
由上图可看出,77.5+6=83.5 cm,所以镜子的全长可取84 cm ,镜子下端到地面的距离是 77.5cm 。
Ⅳ 深度优先算法解决八数码问题
首先我们来想象一只老鼠,在一座不见天日的迷宫内,老鼠在入口处进去,要从出 口出来。那老鼠会怎么走?当然是这样的:老鼠如果遇到直路,就一直往前走,如果遇到分叉路口,就任意选 择其中的一个继续往下走,如果遇到死胡同,就退回到最近的一个分叉路口,选择另一条道路再走下去,如果 遇到了出口,老鼠的旅途就算结束了。深度优先搜索法的基本原则就是这样:按照某种条件往前试探搜索,如 果前进中遭到失败(正如老鼠遇到死胡同)则退回头另选通路继续搜索,直到找到条件的目标为止。
实现这一算法,我们要用到编程的另一大利器--递归。递归是一个很抽象的概念, 但是在日常生活中,我们还是能够看到的。拿两面镜子来,把他们面对着面,你会看到什么?你会看到镜子中 有无数个镜子?怎么回事?A镜子中有B镜子的象,B镜子中有A镜子的象,A镜子的象就是A镜子本身的真实写 照,也就是说A镜子的象包括了A镜子,还有B镜子在A镜子中的象………………好累啊,又烦又绕口,还不好理 解。换成计算机语言就是A调用B,而B又调用A,这样间接的,A就调用了A本身,这实现了一个重复的功能。再 举一个例子;从前有座山,山里有座庙,庙里有个老和尚,老和尚在讲故事,讲什么呢?讲:从前有座山,山 里有座庙,庙里有个老和尚,老和尚在讲故事,讲什么呢?讲:从前有座山,山里有座庙,庙里有个老和尚, 老和尚在讲故事,讲什么呢?讲:…………。好家伙,这样讲到世界末日还讲不玩,老和尚讲的故事实际上就 是前面的故事情节,这样不断地调用程序本身,就形成了递归。 万一这个故事中的某一个老和尚看这个故事不 顺眼,就把他要讲的故事换成:“你有完没完啊!”,这样,整个故事也就嘎然而止了。我们编程就要注意这 一点,在适当的时候,就必须要有一个这样的和尚挺身而出,把整个故事给停下来,或者使他不再往深一层次 搜索,要不,我们的递归就会因计算机存储容量的限制而被迫溢出,切记,切记。
我们把递归思想运用到上面的迷宫中,记老鼠现在所在的位置是(x,y),那它现在有 前后左右4个方向可以走,分别是(x+1,y),(x-1,y),(x,y+1),(x,y-1),其中一个方向是它来时的路,我们先不 考虑,我们就分别尝试其他三个方向,如果某个方向是路而不是墙的话,老鼠就向那个方向迈出一步。在新的 位置上,我们又可以重复前面的步骤。老鼠走到了死胡同又是怎么回事?就是除了来时的路,其他3个方向都是 墙,这时这条路就走到了尽头,无法再向深一层发展,我们就应该沿来时的路回去,尝试另外的方向。
例:八皇后问题:在标准国际象棋的棋盘上(8*8格)准备放置8只皇后,我们知 道,国际象棋中皇后的威力是最大的,她既可以横走竖走,还可以斜着走,遇到挡在她前进路线上的敌人,她 就可以吃掉对手。要求在棋盘上安放8只皇后,使她们彼此互相都不能吃到对方,求皇后的放法。
这是一道很经典的题目了,我们先要明确一下思路,如何运用深度优先搜索法,完 成这道题目。我们先建立一个8*8格的棋盘,在棋盘的第一行的任意位置安放一只皇后。紧接着,我们就来放 第二行,第二行的安放就要受一些限制了,因为与第一行的皇后在同一竖行或同一对角线的位置上是不能安放 皇后的,接下来是第三行,……,或许我们会遇到这种情况,在摆到某一行的时候,无论皇后摆放在什么位 置,她都会被其他行的皇后吃掉,这说明什么呢?这说明,我们前面的摆放是失败的,也就是说,按照前面 的皇后的摆放方法,我们不可能得到正确的解。那这时怎么办?改啊,我们回到上一行,把原先我们摆好的 皇后换另外一个位置,接着再回过头摆这一行,如果这样还不行或者上一行的皇后只有一个位置可放,那怎 么办?我们回到上一行的上一行,这和老鼠碰了壁就回头是一个意思。就这样的不断的尝试
Ⅳ 深度优先算法的例1.迷宫问题
实现这一算法,我们要用到编程的一大利器--递归。“递归”是一个很抽象的概念, 但是在日常生活中,我们还是能够看到的。拿两面镜子来,把他们面对着面,你会看到什么?你会看到镜子中 有无数个镜子?怎么回事?A镜子中有B镜子的象,B镜子中有A镜子的象,A镜子的象就是A镜子本身的真实写照,也就是说A镜子的象包括了A镜子,还有B镜子在A镜子中的象………………好累啊,又烦又绕口,还不好理解。换成计算机语言就是A调用B,而B又调用A,这样间接的,A就调用了A本身,这实现了一个重复的功能。
再举一个例子:从前有座山,山里有座庙,庙里有个老和尚,老和尚在讲故事,讲什么呢?讲:从前有座山,山里有座庙,庙里有个老和尚,老和尚在讲故事,讲什么呢?讲:从前有座山,山里有座庙,庙里有个老和尚, 老和尚在讲故事,讲什么呢?讲:…………。好家伙,这样讲到世界末日还讲不完,老和尚讲的故事实际上就是前面的故事情节,这样不断地调用程序本身,就形成了递归。 万一这个故事中的某一个老和尚看这个故事不顺眼,就把他要讲的故事换成:“你有完没完啊!”,这样,整个故事也就嘎然而止了。我们编程就要注意这一点,在适当的时候,就必须要有一个这样的和尚挺身而出,把整个故事给停下来,或者使他不再往深一层次搜索,要不,递归就会因计算机存储容量的限制而被迫溢出,切记,切记。 这是一道很经典的题目了,我们先要明确一下思路,如何运用深度优先搜索法,完 成这道题目。我们先建立一个8*8格的棋盘,在棋盘的第一行的任意位置安放一只皇后。紧接着,我们就来放 第二行,第二行的安放就要受一些限制了,因为与第一行的皇后在同一竖行或同一对角线的位置上是不能安放 皇后的,接下来是第三行,……,或许我们会遇到这种情况,在摆到某一行的时候,无论皇后摆放在什么位 置,她都会被其他行的皇后吃掉,这说明什么呢?这说明,我们前面的摆放是失败的,也就是说,按照前面 的皇后的摆放方法,我们不可能得到正确的解。那这时怎么办?改啊,我们回到上一行,把原先我们摆好的 皇后换另外一个位置,接着再回过头摆这一行,如果这样还不行或者上一行的皇后只有一个位置可放,那怎 么办?我们回到上一行的上一行,这和老鼠碰了壁就回头是一个意思。就这样的不断的尝试,修正,我们最终会得到正确的结论的。
Ⅵ java面试题:想象一下你站在镜子前面,为什么你的像左右颠倒了,而上下却不颠倒呢
原因可以从两个角度分析:
1)镜子实现的是面对称成像,而不是点对称成像。而点对称成像就会造成左右和上下都颠倒;
2)其实左右只是相对概念,并不存在真实的“颠倒”,只是从旁观者的视角来重新观察自己,参照物发生了变化,导致主观上的所谓“左右”颠倒,例如:旁观者直接看到的你,和旁观者从镜子里看到你,其实没有发生任何“颠倒”,完全是一样的;
Ⅶ 魔方教程
f u fi u f u2 fi
在开始之前我跟大家建议一下学习方法,只要记住三点,1.以看图、看动画、看视频为主,我推荐先看一遍视频再看文字教程。2.多自己思考多自己摸索着拧,让自己主导,别依赖教程。3.简单思考,不要把问题复杂化,所有步骤都很简单。如果产生了疑问,再来仔细看教程里的文字说明,这时候带着问题看,看得越细越好。另外就是已经有几十万人照着这个教程成功还原,里面应该没有错误,请信任它。就是这些啦,让我们开始挑战魔方吧:)
如果你想结合我们的魔方视频教程学习,你应该先看看视频教程的引言部分。
(第一步)在第一面做一个十字,形成如下的样子:(您也可以看看 第一步的视频讲解)
注意啊,你对好的十字必须如上图,每个侧面的棱和中心是同色的。做成这步的方法很多,我建议你自由发挥。如果实在有困难,我这里提供一个万全的办法,就是把中间层含有蓝色的棱色块变到底面上去,然后对好侧面颜色,再翻上来。我这里就举一个例子大家就应该明白了,对于左图B位置,只需要下面3步,魔方
动画会自动播放,你也可以用播放条右边的和一步一步看。最左边的回到初始状态。
F D R2
初始状态 把蓝黄色块 转到底面 旋转底面,对好侧面黄色 翻上来
我说的够清楚了吧。D位置和B位置完全同理,也是把中间层含有蓝色的棱色块变到底面上去,然后对好侧面颜色,再翻上来,而对于A和C位置你可以旋转该面,让其变到B或D位置。如果某个棱色块的蓝色面已经在顶面或底面,相信大家会有办法解决的。 你要记住的是,如果遇到困难,就把蓝色变到底面,在底面上你是可以任意旋转的。
有时候,你会碰到左图这样的情况,蓝黄色块转到底面时影响了已经对好的红色面,这时候,你需要在最后一步之前恢复红色面的位置。具体操作见下。
魔方小站)
F D F' R2
初始状态 把蓝黄色块 转到底面,但
这影响了对好的红色侧面 旋转底面,对好侧面黄色 恢复红色面 蓝黄色块转到顶层
照上面说的,你重复做4个棱,应该就可以做好十字啦。
这里我给初学者建议一种更清晰快速的方法,蓝色棱变到底面之后 ,可以不急着把它翻上去,可以变成左图这个样子,注意在底面上4个棱可以是任意顺序,这会给你减少很大难度,这里是两个例子,给大家开阔下思路,
最后把他们逐一对好侧面颜色翻上去就行啦。比如:
下面我要说说标记。你没准注意到上个表格里的一些奇怪的字母,那些字母的意思很简单,
F = front face 前面 B = back face 后面 R = right face 右面
L = left face 左面 U = up face 上面 D = down face 下面
以上面的表里的标记为例,F就代表前面顺时针转90°,F'代表前面逆时针转90°,R2代表右面转180°,就这么简单,大家明白了吧。
另外,如果你的魔方是有数字的魔方,或者带图形、带图案的魔方,那么你六面中心块就有了朝向的问题,你可以参考这一页在此步对好侧面中心块。
--------------------------------------------------------------------------------
(第二步)对好第一面,加上四侧面的T字型,形成:(您也可以看看 第二步的视频讲解)
做好这一步其实你只要学会一招就够了。那个蓝色的角色块,转来转去之后就6种位置,
对于A位置,只需下面3步,对于C、D、E、F,请先到后面看看怎么把他们变成A或B。
注意哦,我们归位的小角块的颜色必须要对应好。比如这里的蓝红黄小角块必须上到红黄角,不能上错哦,否则T字就出不来啦。可能有的朋友已经觉得我像唐僧了,不过确实有的朋友有这个问题的,我还是要说的详细一点。A位置转法如下:魔方
F D F'
初始状态 此步很巧妙,同时达成两个目的:一个是让顶层的目标角位置到底层来“接应”蓝红黄角块,另一个是让蓝红黄角块也准备到了应有的位置。 让蓝红黄角块 转到目标位。 转回顶层。
而对于B位置,其实完全一样,就是把刚才的3步对于顶面对角线做一个镜像,方
如左图,对于顶面对角线做一个镜像,我们将在后面无数次的遇到,所以请大家一定注意这个镜像的意义。
上面F D F'的对角线镜像就是R' D' R,具体请看,
此动画设为不自动播
放,请按播放键开始 R' D' R
B位置的图就是A位置的对角线镜像,所以他的算法就是FDF'对着对角线照镜子。 F的对角线镜像就是R',大家应该很明白吧,参看一下上面镜子的图片。 D的镜像就是D' F'的镜像就是R了
而对于C、D、E、F位置,你总可以用旋转侧面和底面将其转到A或B位置。这里是几个例子 :(这些算法是不应该记的,你应该自己摸索着转几下,肯定能转出来)
对于F 对于C 对于D 对于E
如果您暂时不能看动画,可以点击下面算法看简单的图解
F D2 F' D' F D F' D' R' D' R D F D F'
重复做4个角,你就会得到
这样我们已经打好了地基,简单吧。
--------------------------------------------------------------------------------
(第三步)放第二层的棱色块,变成形如 (您也可以看看 第三步的视频讲解)
由上一步到这一步的图,大家肯定看出了这步我们要处理的是中间层红白,红黄,橙白,橙黄四个棱色块。这次,你先把魔方翻过来了,蓝面朝下,绿面朝上,再看看以上4个棱色块哪些位于顶面(绿色为中心的面),随便选择一个,我们就从它开始,这里以红白为例,通常,你会碰到两种情况,
我们要把顶层红白棱色块插入到上图红色箭头所指的位置,你应该把红白所夹的角放在最靠近你的位置(右前),然后一、二种情况非常好识别了,同色的一排分别在前面和右面。
对于第一种情况,使用下面的算法,
U R U' R'
U' F' U F
整个算法是URU'R' + U'F'UF,是不是很有规律?我们看,好像后一半U'F'UF正好是 前一半URU'R'的对角线镜像吧,是吧?我们看前四步URU'R'的作用是把左图里我们要的两个小块组合起来,上表中标为红色的第5图显示了组合好的两个色块,而后四步U'F'UF则是把我们组合好的两个小块填进正确的位置。魔方
所以,如果你碰见,
该怎么办呢?可能好多朋友都看出了,我们的算法应该是上面算法的对角线镜像,因为我们所要做的就是对着对角线照个镜子,因为前半后半互为对角线镜像,所以算法就是前半后半颠倒过来,成为U'F'UF + URU'R',魔方
U' F' U F
U R U' R'
会有一些情况下,你需要的棱色块不在顶面,而在第二层的错误位置或者朝向,这时咋办?首先,你要先做在顶面上的那些, 可能不听话的棱色块会自己变到顶面上,如果最后他还是不听话,如左图,我们就用上面算法把个无关大局的棱色块搞到该位置,我们要的那个红白棱色块就自然换到顶层了,这稍微有点麻烦,不过对于我们初等解法只能这样先忍忍了,这也可能会激发大家去学高级的解法吧:)
同样重复做其他三个棱,第三步就完成了。我们到现在为止一共就学了2个算法吧,所以大家要加油啊。
(第四步)在魔方新的顶面上画十字 (您也可以看看 第四步的视频讲解)
变成:
下面我们要学一个新的算法,这个算法会把顶层在如下4种情况中切换,顶面的4个棱色块在旋转之后,也只可能有这4种情况,
1 2 3 4
概率1/8 概率1/4 概率1/2 概率1/8
这步我们 把角色块都当成灰色的,只看棱色块,比如你要见到左图这样,就算是上面第3种情况,见到右图这样,就算上面第2种情况。(转载自魔方小站)
在应用算法前,你应该参照上图顶面绿色的样子来确定你魔方的方位,我们只要对出十字就好啦,并不需要十字侧面 的颜色和下两层吻合。请注意,这个算法会按顺序从左到右在这4种情况中切换,也就是如果你遇见“点”(就是上面第一个图),你就要应用3次这个算法(每次之前都要按照上图对好方位哦),遇见“一”字就要应用2次算法,我越来越觉得自己像唐僧了,
R' U' F' U F R
另外,在“一字”的时候,你也可以试试
R' F' U' F U R
你观察一下就知这个算法是上面算法的逆算法。他可以直接从“一”字就对好十字的。
如果你想加快对十字的速度,你也可以访问一下高级玩法的第二页,里面介绍的方法和这个方法类似,不过手法更顺畅,可以比较有效的提高对十字的速度,尤其是碰到"点"的情况。
一开始呢,学一个算法的时候总是容易弄错,起初不可能记得很清楚,就很容易拧乱,这样往往会很郁闷。我建议大家应该在这个图形的pattern上找到某种提示,特别是一些比较“整”的图形,我一般记一个算法给我最大提示的就是底面的蓝色色块,因为他们是已经对好的最整的图形,他们是怎么分开又怎么重新组合到一起,然后怎么归位的,想象出一个过程或一个“故事”,这样这个算法就很容易记了,包括后面的算法都是。
又一个小思考:这里有一个问题,为什么说只有这4种情况呢,这样不会出现吗?
答案是不会, 如果你的魔方真出现了上面的情况,那么你的魔方肯定是组装错了,如果他随机组装,他有1/2的 概率把棱的朝向装错(对应后面步骤,他还可能把角装错,把顺序装错),解决的办法是你任意翻转一个棱就行了,你翻转的这个棱甚至可以不是顶层的含有绿色的棱,也就是说魔方你单独只翻转一个棱就不能还原了,但是你任意的翻转两个棱就一定可以还原,这是可以数学证明的。 具体的原理,你感兴趣可以看看这页。
--------------------------------------------------------------------------------
(第五步)翻转魔方顶面四角,对好顶面颜色,使之形成 (您也可以看看 第五步的视频讲解)
魔方顶面的四角只可能有8种情况,第一种就是已经对好,而其他7种如下。魔方
概率 4/27 4/27 4/27 4/27 4/27 2/27 4/27
如果你想了解上面的概率怎么算出的可以看看这页,上面7个数字加起来是26/27,还有1/27的概率就是对应已经对好。
如果你的图案在这8种之外,如下图的例子,那么肯定是你的魔方组装错了,你需要拆下一个角块,调整绿色的朝向再装回,正确朝向就是上面的8种情况之一就行了。下面只是一些例子,去除旋转,你可能碰到16种错误的情况,不过只要调整过一次,错误的图形就永远不会出现了。
关于为什么只有这8种情况,我又要发一通大道理了,如果急着要看算法可以先跳过:)
首先我们观察1,2两种情况,在这两种情况里,3个未对好的块在旋转意义下是处于相同的位置的,对吧。这是他们一个特点。绿色在每个角有3种朝向,如果我们对4角进行标记,不妨把1情况叫做(1113从右上角开始标号),2情况叫做(2223),括号里的3就代表绿色块已经在顶面了,3情况(1233),4情况(2133),5情况(1323),6情况(1212),7情况(2112),你有没有发现一些规律呢?括号里数字的和一定是3的整数倍!为啥非得是3的整数倍?建议你去看看一开始的魔方总变化数道理,那里面证明了角块朝向的角度和应该是360度的整数倍。这个限制,决定了我们只能有8种情况。
这个问题真是不特别简单,首先,我们出个题啊,要是魔方顶面4个角位置可以标号1、2、3,就像上面一样可以标成是(1113)(1233)等等,去除旋转后相同的情况,共有多少种标法?
如果不去除旋转相同,那么4个角就是可以区分的,这个答案很简单就是3^4=81种情况,对吧,但是如果去除旋转相同,就 比较复杂了,比如1113和3111是同一种标法,只是魔方顶面转了90度而已,你可以自己先想想这个题。
这是个组合数学的经典问题,叫做Necklace problem(就是用几种颜色的珠子穿项链),或者叫做polya定理,如果有兴趣也可以到这里看看,不过我还是推荐你先自己想一下,这里面的公式会一下子让你很faint,如果你对“欧拉数”之类的概念不熟或根本没听说过的话。
我们这种情况不用mathworld里面的那个公式,枚举法就可以啦:)不过要想的周密一点,答案是24种,我验算了和那个恐怖公式给出的答案一样。而在这24种里,4个数字的"和"被3除的余数,应该是平均分配给0,1,2吧,这个我没有证明,呵呵,这样被3整除的应该就有8个了吧。就是 对好+这7种:
现在我们开始说算法了,对于第一种情况,我们应该把顶面已经是绿色那个角放在最上面(也就是"左后角"),这时你不用关心下面两层 的哪面朝前,魔方
应用下面算法,这个算法的作用就是保持最上面角(左后角)的朝向不变,同时把下面三个角的绿色翻上去。
算法1:
R' U' R U'
R' U'2 R
对于第二种情况,我们应该发现他就是一情况的对角线镜像是吧,所以上面算法去做对角线镜像就得到了情况二的算法:魔方
算法2:
F U F' U
F U2 F'
对于3-7情况:
你有2/3的概率碰到他们,其实你完全可以自己用1,2算法试试翻这么几次,看看会发生什么,慢慢就找到规律了。3-7情况都是用1,2算法的组合解决,最多用2个算法。魔方
--------------------------------------------------------------------------------
(第六步)调整四角顺序,使之形成:(您也可以看看 第六步的视频讲解)
这步很简单,首先转转顶面看看是不是已经对好(概率1/6),如果不是就首先找一条边,这条边的两个角有相同的颜色(概率2/3),像以下这些例子,另有1/6的概率你找不到这样的一条边,我们一会儿再说。魔方
两角中间的棱颜色和下面两层的颜色我们不用关心。现在把这条边放在背面,以上表最后一个为例,变成,
正面 背面
然后应用下面算法,
L F' L B2
L' F L B2 L2
如果应用完算法 ,四个角还没有和下面两层的颜色吻合,转转就可以了。这步本质上的作用就是交换了前面两个角的位置。或者说做了这样的一个逆时针旋转,这两个作用在顶面旋转过后是等效的。魔方
(第二种情况)找不到有两角同色的边
如果你碰到的情况找不到这样一条有两角同色的边,你就闭着眼睛应用一遍上面的算法,就一定可以找到啦,如果你感兴趣这是为什么,可以看看这页。 这种情况其实是你需要交换一个对角线上的两个角。
另外,你也可以试试这个算法的左右镜像,使用方法一样,效果也一样。
(第七步)将最后的棱色块顺序排列好 (您也可以看看 第七步的视频讲解)
最后一步啦,大家是不是都很兴奋啊,好不容易啊,胜利就在前方了。最后一步很简单,你只要看准魔方的方向就行啦。魔方
第一种情况,你想让3个棱逆时针旋转。(概率1/3)
首先你要把已经对好颜色的那条边放在前面。
再用第五步的算法1+U2+算法2+U2 就行啦。也就是
R' U' R U' R' U'2 R U2 F U F' U F U2 F' U2
第五步算法1 第五步算法2
你可以上去看看第五步的图。也可以看看
算法1、2中间的U2也可以换成旋转你的整个魔方180°,这样最后一个U2也不需要了。
就是这样,
第二种情况,你想让3个棱顺时针旋转。(概率1/3)
那么要把已经对好颜色的那条边放在右面。这时你会发现第二个图就是第一个图的对角线镜像。
所以就是第五步算法2+U2+算法1+U2
Ⅷ 人身高1.9米最小用多高镜子能照到全身怎样算的请教了
如果是自己照,0.95米刚好可以,中学课本上有讲,画个成像后光线反射图就知道了,这里无法画图,只能告诉你结果就是身高的一半。