zoukankan      html  css  js  c++  java
  • P and NP

    P: The problems that can be solved in polynomial time.

    NP: The problems whose solutions can be verified in polynomial time.

    NP-complete: The problems in the set of NP problems and also in the
    set of NP-hard problems.Although any given solution to
    such a problem can be verified quickly, there is no known
    efficient way to locate a solution in the first place;
    indeed, the most notable characteristic of NP-complete
    problems is that no fast solution to them is known.
    What makes NP-complete problems important is that if a
    deterministic polynomial time algorithm can be found to
    solve one of them, every NP problem is solvable in
    polynomial time (one problem to rule them all).--Cook's theorem.

    NP-hard: The problems that are at least as hard as NP-complete problems.
    NP-hard problems do not have to be in NP.


    Usually there are three kinds of algorithms to solve NP-complete and
    NP-hard problems:
    1. Backtracking algorithms with good prunning techniques.
    2. Heuristic algorithms.
    3. Approximation algorithms.

    Differences between heuristic algorithms and approximation algorithms are
    approximation algorithms are like putting money in the banks -- you always
    get 3% benefit a year (approximation algorithms always return solutions
    with a guarantee attached, you can never go too far wrong when using them)
    Heuristic algorithms are like putting your money into the stock market,
    you may do much better than approximation algorithms or even get the
    optimal solution, but they are without guarranty.

  • 相关阅读:
    感触
    儿子会走了
    OLB(outlook bar)控件开发计划
    又要上班了
    OLB(outlook bar)控件开发计划
    将Vim打造成完美的IDE神器
    简明 Vim 练级攻略
    Java , C , C++ ,PHP, python 运算符优先级对照表
    史上最强的vimrc文件
    vim学习资料汇总
  • 原文地址:https://www.cnblogs.com/tanghulu321/p/3088060.html
Copyright © 2011-2022 走看看