薄煎饼翻转很难-NP很难 加密-GCHQ的代码制作应用 Oracle修补了数据库和企业产品中的86个缺陷 DVLUP挑战-现在有了奖励积分 复杂性浏览器的更多课程 Docker本机Windows和Mac Orion 7中的语言工具增强功能 NetBeans 7.4 Beta发布 4chan推出API 在线高中编码比赛 Eclipse Juno-新的主要版本 Twitter发布裤子 应用监控Xamarin Google Grants for Computer Science Education RubyMine 5支持RubyMotion 新增功能-PhpStorm 7 英国广播公司赠予一百万台微型计算机 Udacity掌握计算机科学 Microsoft Research创建了一个JavaScript恶意软件扫描程序 Visual Studio代码达到1.0版 Microsoft大规模迁移到GitHub 学习编程飞行机器人 Spark In Browser Dart IDE达到0.0.15 Docker开发方式 培训以发展您的职业 斯坦福CS转向JavaScript Oracle登录弱点 JetBrains推出订阅模型工具箱 Udacity推出大数据课程和付费报名 ASP.NET 5在线介绍 Mac上的Visual Studio暂挂-更新 NetBeans IDE 8.1中的新工具 众包科学 更快的网络-mod_pagespeed脱离Beta App Store 2中的恐惧与厌恶-Apple拒绝App过于简单 向网络图像添加有效期 一起编码-与朋友一起免费的iOS5应用类 Anant Agarwal领导麻省理工学院的在线学习 第一个PHP 5.5开发预览版发布 在线教学Python的经验教训 Google关闭了关键字数据 微软标签鞠躬 Mozilla的Web素养愿景 Mozilla科学实验室 剪贴板API工作草案 GWT席卷开源 适用于Windows的Atom Google的X网站已解决 通过拍照同步手机! Greasemonkey 2.0发布
您的位置:首页 >数据库 >

薄煎饼翻转很难-NP很难

法国计算机科学家终于证明,对薄煎饼进行分拣很难-NP很难。

不,真的-这不是开玩笑。好吧,这有点可笑,但这仅仅是因为它以薄煎饼翻转的形式呈现。该算法正在使用前缀反转对排列进行排序-就煎饼而言,这更容易理解。

煎饼NPhard

薄煎饼翻转是一个长期存在的算法问题。

您从一堆不同大小的薄煎饼开始,您的任务是将它们分类。唯一的限制,这就是很难做的是,除了锅铲之外,您什么也不能碰。您所能做的就是在一个分割点上插入铲子,然后在一次操作中将倒置的整个煎饼翻转过来。

这个问题有一个变体,您将一侧的所有薄煎饼都烧掉了,必须将所有燃烧过的一侧都面朝下才能完成排序。

在这两种情况下要回答的问题是,如果堆栈中有n个煎饼,则作为n的函数(即f(n))所需的最大翻转次数是多少?

简而言之,煎饼问题的计算复杂度是多少?

目前,我们只知道n <= 19的f(n)(对于问题的严重版本,我们只知道n <= 17的问题)。除此之外,我们知道一些一般的上限和下限,但是这些上限并不特别严格。

现在,来自南特信息研究所的三名计算机科学家组成的团队已成功证明煎饼问题是NP难题。粗略地说,这使问题至少与NP类中最困难的问题一样困难。这意味着如果您可以找到煎饼问题的多项式时间解,那么您就证明了P = NP。

该论文没有改善复杂度函数的界限,但已设法证明,证明已知的下限(断点数)是严格的下限,也是NP难的。

该算法确实具有一些实用目的-例如在比较基因组学中,还有一个更有用的相关问题,即通过逆向排序。

但是谁需要实际应用才能对薄煎饼感兴趣?

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。