P/NP/NPC/NP-hard概念的图形解释

  开始复习算法,对原来一知半解的基本知识需要慢慢弄懂,其中包括P相关的基本概念(包括P/NP/NPC/NP hard等),从各处看到很多介绍,讲的很多很全面,但都是文字描述,即使耐心看完看懂,但如果长时间不用仍很容易忘记。所以本文用一种图形方法,抽象表达这些概念之间的关系,首先先概要介绍各自概念,然后用图形表示它们之间的关系。

一、相关概念

  P: 能在多项式时间内解决的问题

  NP: 不能在多项式时间内解决或不确定能不能在多项式时间内解决,但能在多项式时间验证的问题

  NPC: NP完全问题,所有NP问题在多项式时间内都能约化(Reducibility)到它的NP问题,即解决了此NPC问题,所有NP问题也都得到解决。

  NP hard:NP难问题,所有NP问题在多项式时间内都能约化(Reducibility)到它的问题(不一定是NP问题)。

二、四者联系的图形表示

  将四种问题用集合表示,它们的关系图1所示。

图1 P NP NPC NPhard关系的图形表示

 

  说明:

  1. P问题属于NP问题,NPC问题属于NP问题。

  2. NPC问题同时属于NP hard问题,是NP与NPhard的交集。

posted @ 2012-04-15 20:59  程序员姜小白  阅读(15000)  评论(2编辑  收藏  举报