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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
shhhz
March 23, 2022
Technology
0
59
游戏中的奥秘
如何更快地走出一个迷宫?移动拼图有什么诀窍?为什么有人解数独那么快?我们作为程序员,怎么实现这些游戏呢?
shhhz
March 23, 2022
Tweet
Share
More Decks by shhhz
See All by shhhz
概率与随机
shhhz
0
53
Seam Carving 算法
shhhz
0
320
正则表达式
shhhz
0
38
Other Decks in Technology
See All in Technology
プロポーザルに込める段取り八分
shoheimitani
1
630
Greatest Disaster Hits in Web Performance
guaca
0
280
インフラエンジニア必見!Kubernetesを用いたクラウドネイティブ設計ポイント大全
daitak
1
380
Oracle Cloud Observability and Management Platform - OCI 運用監視サービス概要 -
oracle4engineer
PRO
2
14k
量子クラウドサービスの裏側 〜Deep Dive into OQTOPUS〜
oqtopus
0
140
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
660
【Oracle Cloud ウェビナー】[Oracle AI Database + AWS] Oracle Database@AWSで広がるクラウドの新たな選択肢とAI時代のデータ戦略
oracle4engineer
PRO
2
180
コミュニティが変えるキャリアの地平線:コロナ禍新卒入社のエンジニアがAWSコミュニティで見つけた成長の羅針盤
kentosuzuki
0
130
StrandsとNeptuneを使ってナレッジグラフを構築する
yakumo
1
120
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
270
SchooでVue.js/Nuxtを技術選定している理由
yamanoku
3
190
AI駆動開発を事業のコアに置く
tasukuonizawa
1
360
Featured
See All Featured
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
170
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
The Cult of Friendly URLs
andyhume
79
6.8k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
320
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.3k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
200
Being A Developer After 40
akosma
91
590k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
420
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
We Have a Design System, Now What?
morganepeng
54
8k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Accessibility Awareness
sabderemane
0
56
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
谢谢 !