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

NP完备破解羊了个羊?

来源:51CTO.COM 2023-04-22 12:01:38 0浏览 收藏
推广推荐
免费电影APP ➜
支持 PC / 移动端,安全直达

有志者,事竟成!如果你在学习科技周边,那么本文《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推荐
  • ChatExcel酷表:告别Excel难题,北大团队AI助手助您轻松处理数据
    ChatExcel酷表
    ChatExcel酷表是由北京大学团队打造的Excel聊天机器人,用自然语言操控表格,简化数据处理,告别繁琐操作,提升工作效率!适用于学生、上班族及政府人员。
    3211次使用
  • Any绘本:开源免费AI绘本创作工具深度解析
    Any绘本
    探索Any绘本(anypicturebook.com/zh),一款开源免费的AI绘本创作工具,基于Google Gemini与Flux AI模型,让您轻松创作个性化绘本。适用于家庭、教育、创作等多种场景,零门槛,高自由度,技术透明,本地可控。
    3425次使用
  • 可赞AI:AI驱动办公可视化智能工具,一键高效生成文档图表脑图
    可赞AI
    可赞AI,AI驱动的办公可视化智能工具,助您轻松实现文本与可视化元素高效转化。无论是智能文档生成、多格式文本解析,还是一键生成专业图表、脑图、知识卡片,可赞AI都能让信息处理更清晰高效。覆盖数据汇报、会议纪要、内容营销等全场景,大幅提升办公效率,降低专业门槛,是您提升工作效率的得力助手。
    3454次使用
  • 星月写作:AI网文创作神器,助力爆款小说速成
    星月写作
    星月写作是国内首款聚焦中文网络小说创作的AI辅助工具,解决网文作者从构思到变现的全流程痛点。AI扫榜、专属模板、全链路适配,助力新人快速上手,资深作者效率倍增。
    4563次使用
  • MagicLight.ai:叙事驱动AI动画视频创作平台 | 高效生成专业级故事动画
    MagicLight
    MagicLight.ai是全球首款叙事驱动型AI动画视频创作平台,专注于解决从故事想法到完整动画的全流程痛点。它通过自研AI模型,保障角色、风格、场景高度一致性,让零动画经验者也能高效产出专业级叙事内容。广泛适用于独立创作者、动画工作室、教育机构及企业营销,助您轻松实现创意落地与商业化。
    3832次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码