当前位置:首页 > 文章列表 > 科技周边 > 人工智能 > NP完备破解羊了个羊?

NP完备破解羊了个羊?

来源:51CTO.COM 2023-04-22 12:01:38 0浏览 收藏

有志者,事竟成!如果你在学习科技周边,那么本文《NP完备破解羊了个羊?》,就很适合你!文章讲解的知识点主要包括,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

近日,羊了个羊火遍了网络,一时间关于第二关怎样难、如何通关的文章也多了起来,但是从计算复杂性(computational complexity)的角度讨论游戏难度的文章应该还没有,所以这次我也写一篇关于计算复杂性的文章来碰瓷。

游戏的机制是比较简单的,简单说来就是地图上有一些不同类型的方块,玩家可以选择方块放入自己的槽位中(槽位有上限,是个常数),如果槽位中有三个相同类型的方块就消去,游戏目标是消去所有方块。游戏的难点在于地图上的方块是堆叠起来的,被叠在下方的方块不能被选择,只有在上方的方块被放入槽位后才能被选择(也就是解锁),有时被叠在下方的方块的类型都由于被遮挡而不可知。

事实上,羊了个羊与有些小游戏的机制很类似,而其中很多小游戏已经被证明是 NP-complete 的,所以我们比较确信也能证明推广了的羊了个羊是 NP-complete 的。这里我们给一个比较弱的、简单的归约构造,来说明推广的羊了个羊游戏是 NP-complete。这里我们说的推广是指方块类型的数量不限制于常数,被遮挡的方块类型是确定的且已知的,槽位数量固定为 3(槽位数量是其他常数也可以用类似方法,只要在游戏初期迫使玩家拿一个特殊类型的方块,而在游戏最后才能消去,整个过程中这个方块占用了一个槽位,相当于少了一个槽位)。当然,这里我们不考虑游戏道具的影响。

本文的归约主要抄袭的是 Computational Complexity of Games and Puzzles 网页上证明 Mah-Jongg 游戏(一个类似连连看的游戏,有的地方也叫麻将)是 NP-complete 的归约。

我们仍然使用 3-SAT 这个经典的 NP-complete 问题作为归约问题。我们对于 3-SAT 公式中的每个变量设置 3 个方块堆,一个方块堆用于模拟变量的赋值(TRUE or FALSE),一个方块堆对应于赋值为 FALSE,一个堆对应于赋值为 TRUE。模拟变量的赋值方块堆有两层,第一层是 4 个一样的对应于变量的方块,第二层包含变量被赋值为 TRUE 和 FALSE 的方块各一个以及填充方块。对应于赋值为 FALSE 的方块堆通常是多层的(也可能退化为一层),顶层包含两个对应于变量被赋值为 FALSE 的方块(用于配合之前赋值方块堆使用),下层包含对应于子句的方块(对应子句中变量以非的形式出现)以及填充方块。对应于赋值为 TRUE 的方块堆的结构是类似的。最后,还有一个用于验证解的方块堆,这个堆是多层结构,顶部包含了对应于子句的方块,中部是对应于变量的方块,底部是对应于子句的方块。

我们用一个具体的例子来描述这个归约,假设 3-SAT 的实例是图片。那么对于的羊了个羊游戏的实例如下(为了能表述每个方块的类型和堆叠情况,我们使用侧面视图的方式展示)

图片

其中 C1 表示图片,C2 表示图片,a 是填充方块,a 方块没有压住任何方块,所以可以留到最后再全部消去而不影响其他方块。注意这里我们设置的槽位数量是 3,也就是说选择某个方块放入槽里后就必须要消除这个类型的方块,否则就无法继续游戏了。

如果公式可满足,那么可以按照满足时各变量的赋值来消除方块。比如假设 xyz 全赋值为 FALSE,那么我们就对应消除最左侧的三个 x y 和 z,这样一来,第二层的方块 x=F y=F 和 z=F 就被解锁,我们就可以消去所有 x=F y=F z=F 方块,接着一个 C1 方块和两个 C2 方块就解锁,然后就能配合最下方的验证方块堆,消去验证堆的顶部两层,而后中间的变量 xyz 方块也马上能消去,最后就没有什么限制了,所有的方块都能够被消去。

反过来,如果所有方块可以消去(也就是该关卡可以通关),那么公式可满足。注意到验证堆中的变量 xyz 的方块想要被消去,必须上部的 C1 C2 子句方块都先消去,而子句方块又受限于赋值方块,赋值方块受限于变量方块,变量方块的摆放方式决定了在变量赋值时,每个变量只能赋为 FALSE 或 TRUE 中的一个(具体来说,在游戏初期 4 个 x 方块中任意消去 3 个后,方块 x=F 和 x=T 中必然有一个未被解锁)。这就意味着方块消去的顺序蕴含了一个满足公式的赋值。

这也就是说 3-SAT 公式可满足的充分必要条件是对应的羊了个羊游戏实例可通关。而羊了个羊显然属于 NP,因为能在多项式时间内判定一个操作序列是否能消去所有方块,从而我们就证明了下面的命题:

命题:在所有被遮挡的方块类型是确定且已知的条件下,推广的羊了个羊游戏属于 NP-complete。

用非人话来说就是,你没有办法设计一个多项式时间复杂度的算法来判断任意推广的羊了个羊关卡是否有解,除非 P=NP (这个只有 4 个字符的等式价值一个土地奖和 100 万美元,所以别去闲着没事就想着尝试证明或证否)。用人话来说就是,即使被遮挡的方块类型是确定的且已知的,计算机也仍然(几乎)无法快速地判断羊了个羊是否能通关。

本篇关于《NP完备破解羊了个羊?》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于科技周边的相关知识,请关注golang学习网公众号!

版本声明
本文转载于:51CTO.COM 如有侵犯,请联系study_golang@163.com删除
人工智能如何重塑制造业的未来?人工智能如何重塑制造业的未来?
上一篇
人工智能如何重塑制造业的未来?
以下是美国 WiFi 速度最快和最慢的机场,以及哪个机场的速度最差
下一篇
以下是美国 WiFi 速度最快和最慢的机场,以及哪个机场的速度最差
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    543次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    516次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    500次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    485次学习
查看更多
AI推荐
  • ljg-skills -
    ljg-skills
    ljg-skills 是李继刚开源的 AI 技能与提示词集合,面向大模型使用者整理了一批可复用的 prompt、角色设定和任务技能模板,适合用于学习提示词设计、搭建个人 AI 工作流和沉淀团队常用智能体能力。
    1113次使用
  • MELO音乐 - AI 音乐生成平台,支持多模态创作能力
    MELO音乐
    MELO音乐是一站式AI视频与音乐制作助手,对标suno, udio的高品质体验。提供伴奏生成、原创写词、无损导出、哼唱识曲、混音变声等全套音频与短视频编辑工具。无论是流行Kpop、电音说唱、民谣古风、摇滚儿歌还是商用轻音乐,MELO为你免费谱曲,轻松做同款!
    1072次使用
  • UniScribe - AI 免费在线音视频转文字平台
    UniScribe
    UniScribe 是一款 AI 音视频转文字与内容整理工具,支持上传音频、视频文件或粘贴 YouTube 链接,自动生成转写文本、摘要、思维导图和关键问题,并支持多格式导出,适合会议记录、课程学习、访谈整理和内容创作复盘。
    1005次使用
  • 剧云 - 免费 AI 智能中文剧本创作平台
    剧云
    剧云是专业中文剧本创作平台,安全稳定运行十余年,集成AI编剧、剧本医生审核、人物小传、剧情关系图、大纲编写、多人协作、Word导入导出、版权管控功能,数据安全防护,轻松高效创作剧本。
    1198次使用
  • 万象有声 - AI 一站式有声内容创作平台
    万象有声
    万象有声,一个专为有声创作者打造的新一代智能有声内容创作平台。平台提供专业的智能拆章、智能画本编辑、AI配音、AI生成音效、后期制作、智能对轨、智能审听等有声创作全流程工具,可以帮助创作者高效、低成本创作出引人入胜的有声作品。立即体验,让有声书制作更简单!
    1185次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码