作者:Shalitha Suranga

译者:弯月    

责编:张文

出品:CSDN(ID:CSDNnews)

在现实生活中,很多难题的解决方案都用到了计算机科学的基础理论。例如, Git 分布式版本控制系统建立在图论、数据结构和密码学等之上。然而,每个理论中也存在非常具有挑战性的问题。

伟大的计算机科学家们已经解决了很多理论难题。例如,快速排序法和合并排序法都是有效的大型列表排序算法。然而,就像其他研究领域一样,计算机科学也有自己的神秘之处。许多计算机科学家都在努力寻找这些谜团的解决方案。但是,计算机科学界仍然还有一些至今仍未解决的难题,因为科学家无法证明他们的答案是正确的,而且大多数其他的计算机科学家也不接受他们的答案。

P/NP 问题

计算机可以解决各种计算问题。在计算机科学中,计算问题可以分为几大类,比如 NL、P、NP、PSPACE 等。

P 类问题

P 类问题指的是所有可以由一个确定型图灵机在多项式表达的时间内解决的问题。简单来说,P 类问题就是能在多项式时间内解决的问题。举个例子,冒泡排序就是 P 类问题,因为该算法的时间复杂度为 O(n²),不是指数级的。

NP 类问题

相反,NP 类问题指的是需要由一个非确定型图灵机在多项式表达的时间内解决的问题。简单来说,NP 类问题的算法比 P 类问题慢很多。著名的 NP 类问题:旅行家推销问题(TSP)。即有一个推销员,要到 n 个城市推销商品,他要找出一个包含所有n个城市的环路,这个环路的路径小于 a。我们知道这个问题如果单纯的用枚举法来列举的话会有(n-1)! 种解,已经不是多项式时间的算法了(注:阶乘的复杂度比多项式高得多)。但重要的是,如果给定一个解,我们可以在多项式时间内验证该解是否正确。

P=NP?

也就是,我们能在多项式的时间内验证某个 NP 类问题的解是否正确,可是我们却不知道 NP 类问题是否存在一个多项式时间的算法,能够保证在多项式时间内求出问题的解(注意,这里是不知道,不是不存在)。所以这就引出了一个难题:NP 类问题= P 类问题?即,是否所有能在多项式时间内验证解的正确性的问题,都是具有多项式时间算法的问题呢?

大多数人都认为 P≠NP,但是没有人能证明。如果有人能够证明 P=NP,那么就会极大地推动计算机的发展,因为我们可以通过更快的算法来解决搜索问题,而且人们无需机器学习的算法,也能解决很多困难的决策问题。

单向函数

单向函数(One-way function)是一种具有下述特点的单射函数:对于每一个输入,函数值都容易计算(多项式时间);但是对于一个随机的函数值,算出其对应的输入却比较困难(无法在多项式时间内使用确定型图灵机计算)。

单向函数是否存在,至今仍然是计算机科学中的一个未解难题。事实上,如果能够证明单向函数存在,也就可以证明在 P/NP 问题中,P 不等于 NP。但是,P 不等于 NP 的假设并不能直接推出单向函数的存在。

最快的矩阵乘法算法

矩阵乘法广泛用于科学计算、计算机图形学和模式识别领域。因此,许多计算机科学家都在努力寻找更快的算法。甚至还出现了一些与硬件相关的特殊矩阵乘法算法,例如分布式和并行算法。

施特拉森算法(Strassen algorithm)是一个计算矩阵乘法的算法,是第一个时间复杂度低于 O(n3)的矩阵乘法算法。此外,最近还有一些研究论文提出了渐进时间复杂度更低的矩阵乘法算法。

然而,最快的矩阵乘法算法尚未问世。另外,现有的算法也没有明确的渐进时间复杂度。

多项式整数分解

整数分解又称质因数分解,是指将一个正整数分解成几个因数的乘积,且这些因数必须是质数。如果给定的整数非常小,则对于计算机而言,分解过程非常简单。但是,给出一个大整数(100 位数以上的整数),找出它们的因数就不是那么容易了。目前,我们还没有发明出多项式时间的算法,在非量子计算机上进行更快的整数分解。不过,量子计算机上已经发明了 Shor 整数分解算法。

事实上,许多现代密码系统就利用了现有整数分解算法的这个弱点,比如 RSA 公钥加密算法。如果有人能够找到快速解决整数分解问题的方法,则所有基于 RSA 的加密技术都将失效。冯诺依曼体系结构的经典计算机不可能破解 RSA-2048 算法,因为因数分解需要的时间超过了宇宙的寿命。

但是,最新研究成果表明,量子计算正在以更快的速度赶上当今加密标准。科学家已经证明,2000 万个量子比特只需要短短 8 小时就可以破解 2048 位的 RSA 加密。然而,问题在于,我们还没有这样的计算机。

参考链接:

https://medium.com/swlh/the-biggest-unsolved-problems-in-computer-science-f24b79008252

未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

计算机科学界至今未解决的四大难题相关推荐

  1. 企业WiFi覆盖,解决覆盖四大难题

    提到无线网,大家应该都很了解吧,也就是WiFi,大多百姓家里都安装了无线网,毕竟这是一个互联网时代,同时也是一个移动时代,除了手机数据外WiFi成为了重中之重,因为WiFi是不会计算流量多少的,大多都 ...

  2. CAN接受和发送失败的原因有哪些---之前调试MCP2515驱动时,数据一直发不出去,三个发送邮箱都被占满.至今未解决,读寄存器-总线错误

    0.CAN总线错误分析与解决–讲的最精辟的放在最前面 我们知道CAN总线上的每个节点往总线上发送数据的同时会同时读取总线上的数据,并与自己发送的数据作对比.-CAN仲裁??? CAN总线错误分别有发送 ...

  3. 引导直觉解决数学猜想难题,DeepMind登上《Nature》封面

    来源:机器之心 编辑:nhyilin 多年来,数学家们一直使用计算机来生成数据以帮助搜索数学模式,这种被称为实验数学的研究方法产生出许多重要的猜想,例如BSD猜想.虽然这种方法已经取得成功并且相当普遍 ...

  4. 计算机科学与未解决的难题,NP(未解难题)_百度百科

    NP的英文全称是Non-deterministic Polynomial的问题,即多项式复杂程度的非确定性问题. 中文名 外文名 NP学    科 理论信息学 收    录 P/NP问题是在理论信息学 ...

  5. oraoledb.oracle.11,Oracle11g链接提示未“在本地计算机注册“OraOLEDB.Oracle”解决方法...

    当 用,Provider=OraOLEDB.Oracle方式访问ORACLE11g数据库.出现 未在本地计算机注册"OraOLEDB.Oracle"提供程序提示.解决方案如下: 客 ...

  6. 运用计算机思维可以解决什么问题,计算机思维是能否解决生活中遇到的难题?...

    原标题:计算机思维是能否解决生活中遇到的难题? 首先,我们要明白什么是计算性思维? 计算性思维(Computational Thinking)用计算机逻辑来解决问题的思维:将一个困难问题分解,通过逻辑 ...

  7. 21世纪有关计算机领域的十二个重大难题

    21世纪有关计算机领域的十二个重大难题 时间 2016-11-27 18:20:16  我爱计算机 原文  http://www.52cs.org/?p=1375 主题 安全技术 设计 作者:高庆狮, ...

  8. 人类至今未解六大哲学命题、世界著名十大哲学命题(回复“哲学命题”下载PDF典藏版资料) 原创: 秦陇纪 科学Sciences 今天

    人类至今未解六大哲学命题.世界著名十大哲学命题(回复"哲学命题"下载PDF典藏版资料) 原创: 秦陇纪 科学Sciences 2018-06-13今天 科学Sciences导读:人 ...

  9. 太阳能发电板的规格尺寸_新疆深山藏着一个村庄,至今未通水电,村民买太阳能板自行发电...

    芒果旅行日记:新疆深山藏着一个村庄,至今未通水电,村民买太阳能板自行发电,电量仅够照明和手机充电,那里曾长期与世隔绝,风景绝美宛如世外桃源. 这个村庄叫琼库什台,位于新疆伊犁州特克斯县,是一个哈萨克族 ...

最新文章

  1. iOS12-crash错误-reason: 'UITableView failed to obtain a cell from its dataSource'
  2. 通过ngx-lua来统计Nginx上的虚拟主机性能数据
  3. RSA 加解密算法详解
  4. 腾讯服务器“上天”、大疆云台会飞、淘宝被掰弯了……这是昨天各大科技公司的最新产品...
  5. VS2013 生成时复制文件或目录到指定目录
  6. pythonelectron桌面开发案例_electron vue桌面应用入门实例
  7. Cadence PCB SI
  8. 物流机器人小车的运动控制与定位
  9. Uncaught SyntaxError: missing ) after argument list 错误解决
  10. tcpdf中文解决方案
  11. 条条道路通向SAN iSCSI SAN完全解读之基础篇
  12. python语法糖怎么用_程序中的奇技淫巧之语法糖-释然
  13. java get请求中文_Java语言get请求中文乱码问题解决办法!
  14. glassfish插件_Maven嵌入式Glassfish插件-未启动
  15. 人像抠图——基于深度学习一键去除视频背景
  16. ORAN专题系列-28:5G基站如何升级到ORAN基站 - O-RU - 平台和传输层的改进(VLAN, PCP, DHCP, DNS)
  17. android app 马甲包,关于Android多渠道打包和马甲包问题
  18. 【第3版emWin教程】第8章 emWin6.x的带OS方式移植(STM32H7之RGB接口)
  19. Android apk瘦身讲解
  20. sap2000——特征值屈曲分析

热门文章

  1. 独家 | 数据科学家指南:梯度下降与反向传播算法
  2. 曹长树:江湖小虾米的侠客行——我的大数据能力修炼得道之路 | 提升之路系列...
  3. 独家 | 无人驾驶项目实战: 使用OpenCV进行实时车道检测
  4. 机器学习丨15个最流行的GitHub机器学习项目
  5. 独家 | 关于Spark NLP学习,你需要掌握的 LightPipeline(附代码链接)
  6. 资源 | 机器学习必知的15大框架,欢迎补充!
  7. 博士大佬为机器学习总结的人工智能入门指南!
  8. 2021年机器学习什么风向?谷歌大神Quoc Le:把注意力放在MLP上
  9. 如何使用SAP零售系统中的LISTING?【中英文对照版】
  10. 超过AttGAN,谷歌推出生成文本到图像的新框架 TReCS