NP-kova

Vuonna laskennan vaativuus, kompleksisuusluokka NP-kova on joukko päätöksen ongelmia, joka sisältää kaikki ongelmat H niin, että L ongelma NP voidaan polynomisesti muuntaa H. Tämä luokka voidaan kuvata sisältävät Päätös ongelmia, jotka ovat vähintään yhtä kova kuin NP ongelma. Tämä toteamus on perusteltu, koska jos voimme löytää algoritmi, joka ratkaisee yksi ongelma H NP-kova polynomiajassa, niin on mahdollista rakentaa algoritmi, joka toimii polynomiajassa mistään NP ongelma käynnissä ensimmäinen vähentää tätä ongelmaa H ja sitten suorittamalla algoritmi A.

Olettaen, että kieli L on NP-täydellinen,

Kaikissa NP-kova oletetaan, että kieli L täyttää ominaisuus 2, mutta yksi ominaisuus.

NP-täydellinen luokan voidaan vaihtoehtoisesti määritellä risteyksessä NP ja NP-kova.

Jotkut seuraukset määritelmä ovat:

  • NP-täydellinen on kallein tyyppi luokan NP ongelma H on vähintään yhtä kallista kuin NP, mutta H ei tarvitse olla NP ja siksi ei tarvitse olla päätöksen ongelma.
  • NP-täydelliset ongelmat voidaan muuntaa toisiinsa polynomi vähentäminen, NP-täydelliset ongelmat voidaan ratkaista polynomisessa lyhenemisen H, niin että kaikki NP-ongelmat vähenevät H; kuitenkin, tämä tarkoittaa käyttämällä kahta erilaista muunnosten: NP-täydellinen NP-täydellinen ongelma polynomi muunnokset L ja L H by polynomi Turingin vähentäminen päätöksen ongelmia.
  • Jos on polynomi algoritmin NP-kova ongelma, sitten on algoritmeja ratkaista kaikki NP ongelmat polynomiajassa, tämä merkitsisi sitä, että P = NP.
  • Jos optimointi ongelma H on NP-täydellinen versio, niin H on NP-kova.
  • Jos H on NP, niin H kuuluu myös NP-täydellinen, koska ei tässä tapauksessa polynomi Turingin transormación että täyttää polynomin muutoksia.

Yleinen harhaluulo on, että NP-kova NP tarkoittaa ei polynomi, sillä vaikka on vakavia epäilyksiä siitä, että ei ole olemassa algoritmeja näiden ongelmien ratkaisemiseksi polynomiajassa, tämä ei ole koskaan todistettu.

Esimerkit

Osajoukko summa ongelma on esimerkki NP-kova ongelma ja se määritellään seuraavasti: annetaan joukko S kokonaislukujen, on olemassa ei-tyhjä osajoukko S jonka elementit lisätä jopa nolla?

NP-kova ongelmia, jotka eivät ole NP-täydellinen, esimerkiksi pysäyttää ongelma. Tämä ongelma on ottaa ohjelman ja sen tiedot ja päättäessään lopettaa tai jos se toimii ilman aikarajaa. Se on päätös ongelma ja on helppo osoittaa, että se on NP-kova, mutta ei NP-täydellisiä. Esimerkiksi Boolen satisfiability ongelmaa voidaan pienentää pysäyttämällä ongelmaa muuttamalla sen kuvaus Turingin kone, joka testaa kaikki muuttujien arvot; kun on yhdistelmä täyttää kaava pysähtyy ja muuten retried alusta alkaen, jäljellä päättymättömään silmukkaan. Nähdä, että pysäyttää Ongelma ei ole NP on riittävää todeta, että kaikki NP ongelmat liittyvät algoritmi mutta pysäyttäminen on ratkeamaton.

Nimeämiskäytäntöä lukien nimikirjaimet NP

Sukunimet nimikirjaimet NP ongelmat on hieman hämmentävää. NP-kova ongelmat eivät ole kaikki NP, vaikka nämä lyhenteet näkyvät on sukunimi. Kuitenkin nimet ovat nyt vakiintuneet ja aiheuttaa nimikkeistön muutos on epärealistinen. Lisäksi perheet ongelmia nimikirjaimet NP on kaikki määritelty viittaamalla NP perhe:

  0   0
Edellinen artikkeli Santiago Pedrero
Seuraava artikkeli Shashi Kapoor

Kommentit - 0

Ei kommentteja

Lisääkommentti

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Merkkiä jäljellä: 3000
captcha