Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
游戏中的奥秘
Search
shhhz
March 23, 2022
Technology
0
41
游戏中的奥秘
如何更快地走出一个迷宫?移动拼图有什么诀窍?为什么有人解数独那么快?我们作为程序员,怎么实现这些游戏呢?
shhhz
March 23, 2022
Tweet
Share
More Decks by shhhz
See All by shhhz
概率与随机
shhhz
0
37
Seam Carving 算法
shhhz
0
220
正则表达式
shhhz
0
29
Other Decks in Technology
See All in Technology
なぜ今 AI Agent なのか _近藤憲児
kenjikondobai
4
1.7k
4年で17倍に成長したエンジニア組織を支えるアーキテクチャの過去と未来
sansantech
PRO
1
1.6k
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
3
690
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
3
380
クラウドインフラ構築における.NETとその他IaCの比較
ymd65536
1
110
組織成長を加速させるオンボーディングの取り組み
sudoakiy
3
340
初心者向けAWS Securityの勉強会mini Security-JAWSを9ヶ月ぐらい実施してきての近況
cmusudakeisuke
0
150
minify の効果を最大限に引き出す TypeScript コードを書く
jsakamoto
2
110
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
1
1k
共創するアーキテクチャ ~チーム全体で築く持続可能な開発エコシステム~ / Co-Creating Architecture - A Sustainable Development Ecosystem Built by the Entire Team
bitkey
PRO
0
870
SREが投資するAIOps ~ペアーズにおけるLLM for Developerへの取り組み~
takumiogawa
5
1.2k
偶有的複雑性と戦うためのアーキテクチャとチームトポロジー
knih
3
1.6k
Featured
See All Featured
Thoughts on Productivity
jonyablonski
67
4.3k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Site-Speed That Sticks
csswizardry
0
48
Producing Creativity
orderedlist
PRO
341
39k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
Code Reviewing Like a Champion
maltzj
520
39k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
A better future with KSS
kneath
238
17k
Transcript
游戏中的奥秘 @Rick
迷宫
⼗分常⻅的娱乐性元素 游戏《塞尔达 · 荒野之息》 电影《移动迷宫》 建筑《Hampton Court Palace》
为⼤家准备了⼀个迷宫!
None
None
⾛迷宫的诀窍? 靠墙走!
靠墙⾛
单连通迷宫 单连通迷宫的所有墙体都是连接的,迷宫内没有回路。此时可以使用靠墙走的方法。 Hampton Court Palace – 经典的单连通迷宫 出口打断了墙壁,算单连通迷宫吗?
单连通迷宫 单连通迷宫的所有墙体都是连接的,迷宫内没有回路。此时可以使用靠墙走的方法。 Hampton Court Palace – 经典的单连通迷宫 把出口看作在内部,依旧是单连通迷宫
单连通迷宫 单连通迷宫的所有墙体都是连接的,迷宫内没有回路。此时可以使用靠墙走的方法。 Hampton Court Palace – 经典的单连通迷宫 把出口看作在内部,依旧是单连通迷宫
多连通迷宫 存在未连接的墙体,迷宫内有回路。 靠墙走会原地打转。
染⾊法 本质上是寻找跨越多个墙体的方法 对不同的墙体进行染色 临界线即为迷宫的解
真费劲,不如写个算法
抽象 迷宫的抽象:图
抽象 问题的抽象:图的搜索算法
⼴度优先算法
Dijkstra's Algorithm 额外考虑走格子的代价,在广度优先上,维护当前路线的代价值
启发式算法 会观测当前是否处在最优位置 贪婪算法 优先选择离终点近的格子
……但并非最优
A* 算法 取人之长,补己之短
更有意思的算法 蚁群算法 蚂蚁倾向于沿着信息素多的地方移动
可以求解旅行商问题(TSP)
移动 拼图
爷童回
为⼤家准备了⼀个拼图! https://murhafsousli.github.io/8puzzle/#/
玩拼图的诀窍? 2 * 2 的拼图,自然就是拼好的 3 * 3 的拼图,如果外侧拼好了,剩下的 2
* 2,自然就是拼好的
第 1、2 个,无需任何技巧 第 3 个,需要通过旋转
第 4 个,无需任何技巧 第 7 个,需要通过旋转
演示时间 !
真费劲,不如写个算法
抽象 052647381 123456780
状态树
熟悉的味道… 广度优先 深度优先
贪婪算法 The Hamming distance 位于错误位置的元素个数 The Manhattan distance 所有错误元素距其正确位置的水平垂直距离之和
A*! A*! 定义 Priority = move + distance
数独
有⼂费脑 规则很简单 玩起来不简单
没有为⼤家准备⼀个数独!
玩数独的诀窍? 太多了 唯一剩余格 唯一候选数 宫区块数对
真费劲,不如写个算法
不抽象了,本来就很抽象 有点像八皇后问题? 回溯算法
授⼈以渔 回溯法的缺点:无法提高用户的解题技巧(怎么让用户更有动力看广告?)
https://sudoku.com/zh/shu-du-gui-ze/
Y-Wing pincers pivot pivot
【死理性派】死理性派教你走迷宫 素材和参考 迷宫 Introduction to the A* Algorithm Solving the
Travelling Salesman Problem using Ant Colony Optimization 拼图 数独 sudoku.com The Hampton Court Palace Maze 经典算法之八皇后问题 Tony Young 的回答 8-Puzzle Game N-Puzzle Slider Puzzle Coming Back to Old Problems: How I Finally Wrote a Sudoku Solving Algorithm
谢谢 !