„Rendszeroptimalizálás, 13. tétel” változatai közötti eltérés

A VIK Wikiből
Szikszayl (vitalap | szerkesztései)
aNincs szerkesztési összefoglaló
 
(2 közbenső módosítás, amit 2 másik szerkesztő végzett, nincs mutatva)
5. sor: 5. sor:


*Lemma*: MPP<sub>k</sub> NP-beli, mert tanú rá egy particionálás, és a tanú lineáris időben ellenőrizhető. <br>
*Lemma*: MPP<sub>k</sub> NP-beli, mert tanú rá egy particionálás, és a tanú lineáris időben ellenőrizhető. <br>
*Lemma*: MPP<sub>k</sub> coNP-beli, mert tanú rá egy X&sube;E halmaz, ami biztosan összefüggő az összegben, azaz &sum;r<sub>i</sub>(X)&lt;|X.
*Lemma*: MPP<sub>k</sub> coNP-beli, mert tanú rá egy X&sube;E halmaz, ami biztosan összefüggő az összegben, azaz &sum;r<sub>i</sub>(X)&lt;|X|.


===Algoritmus===
===Algoritmus===
19. sor: 19. sor:
# Ha van ilyen út, javítunk az út mentén, azaz végrehajtjuk a cseréket. <big>&cup;</big>E<sub>i</sub> mérete 1-gyel nő. Azért kell a legrövidebb úton végigmenni, mert különben nem garantált, hogy a cserék során nem sérül a partíciók függetlensége.
# Ha van ilyen út, javítunk az út mentén, azaz végrehajtjuk a cseréket. <big>&cup;</big>E<sub>i</sub> mérete 1-gyel nő. Azért kell a legrövidebb úton végigmenni, mert különben nem garantált, hogy a cserék során nem sérül a partíciók függetlensége.
# Különben STOP, nemleges a válasz, és a tanú a E-<big>&cup;</big>E<sub>i</sub>-ből irányított úton elérhető pontok halmaza.
# Különben STOP, nemleges a válasz, és a tanú a E-<big>&cup;</big>E<sub>i</sub>-ből irányított úton elérhető pontok halmaza.
===Példa===
Az algoritmus futására itt egy részletesen bemutatott példa a jobb érthetőség kedvéért:<br>
https://docs.google.com/document/d/1CbHAHJY4M3cxmBel0cgZ47GIgTOgQ4RJwn_MeOxbais


===2-matroid-metszet feladat===
===2-matroid-metszet feladat===
29. sor: 33. sor:
-- [[RendesGaborAntal|Gabo]] - 2008.01.04.
-- [[RendesGaborAntal|Gabo]] - 2008.01.04.


[[Category:InfoMsc]]
[[Kategória:Mérnök informatikus MSc]]

A lap jelenlegi, 2017. június 14., 21:58-kori változata

A k-matroid partíciós probléma, ennek algoritmikus megoldása. A 2-matroid-metszet feladat visszavezetése matroid partíciós problémára.

k-matroid partíciós probléma

  • MPPk*: adott k matroid (Mi=(E,Fi), i=1...k). Kérdés: a matroidok összege a szabadmatroidot adja-e, vagyis E előáll-e E1∪...∪Ek alakban úgy, hogy Ei∈Fi ∀i-re. Feltehető, hogy az Ei halmazok diszjunktak, ezért hívják a feladatot matroid partíciós problémának.
  • Lemma*: MPPk NP-beli, mert tanú rá egy particionálás, és a tanú lineáris időben ellenőrizhető.
  • Lemma*: MPPk coNP-beli, mert tanú rá egy X⊆E halmaz, ami biztosan összefüggő az összegben, azaz ∑ri(X)<|X|.

Algoritmus

Induljunk ki az ∀i Ei= állapotból. Ekkor Ei∈Fi. Az Ei halmazokat addig bővítjük, amíg az uniójuk E nem lesz, vagy ha nem bővíthető, mutatunk egy X tanút.

A bővítéshez bevezetünk egy n+k pontú irányított segédgráfot, amelynek

  • Csúcsai E elemei ∪ {p1, ..., pk}. pi az Ei partíció segédpontja.
  • (x→pi) ∈ E(G), ha x∉Ei és Ei∪{x}∈Fi.
    Az ilyen típusú élek azt jelképezi, hogy az Ei partícióba felvehető x a függetlenség megsértése nélkül.
  • (x→y) ∈ E(G), ha ∃i x∉Ei, y∈Ei, Ei∪{x}∉Fi, de Ei∪{x}-{y}∈Fi.
    Az ilyen típusú élek azt jelentik, hogy az Ei partícióban az y elem kicserélhető x-re a függetlenség megsértése nélkül.
  1. Megkeressük a legrövidebb irányított utat E-Ei-ből {p1, ..., pk}-ba.
  2. Ha van ilyen út, javítunk az út mentén, azaz végrehajtjuk a cseréket. Ei mérete 1-gyel nő. Azért kell a legrövidebb úton végigmenni, mert különben nem garantált, hogy a cserék során nem sérül a partíciók függetlensége.
  3. Különben STOP, nemleges a válasz, és a tanú a E-Ei-ből irányított úton elérhető pontok halmaza.

Példa

Az algoritmus futására itt egy részletesen bemutatott példa a jobb érthetőség kedvéért:
https://docs.google.com/document/d/1CbHAHJY4M3cxmBel0cgZ47GIgTOgQ4RJwn_MeOxbais

2-matroid-metszet feladat

Lásd 12.tétel

-- Peti - 2007.01.02.

Javítás: ∑ri(X)<|E| helyett ∑ri(X)<|X| !

-- Gabo - 2008.01.04.