
Előadó: Dr. Várterész Magdolna
2.3. Probléma-redukciós reprezentáció
Nagyon gyakori a feladat egyszerűsítése, részproblémákra bontása.
| p: | a megoldandó probléma. Ezt valahogy le kell írni. Ez akár az állapottérrel | |
| is leírható, de most nem az a fontos. Ehhez a problémához hasonló problémákat keresünk. | ||
| P: | probléma-halmaz (ebbe gyűjtjük össze őket) | |
| p |
ennek a mi problémánk is eleme lesz | |
| e |
egy ismert probléma is legyen benne! Ez az egyszerű probléma. | |
| e: | 1. meg tudjuk oldani, ismerjük a megoldását | |
| 2. meg tudjuk mondani, hogy nem megoldható | ||
| Az induló problémát addig kellene gyúrni, alakítani, míg csupa egyszerű probléma nem állna elő. | ||
| r |
redukciós operátor | |
| dom(r) |
(egy problémaosztálybeli problémát tud egyszerűsíteni) | |
| van előfeltétele is! | ||
| r: P |
P részhalmazainak a halmazába képez tehát | |
| r(p) = {p1,...,pn} | részproblémákra bont, egyszerű részekre
bont (n |
|
| <P,p,E,R> | ezzel a négyessel tudjuk megadni a probléma probléma-redukciós | |
| reprezentációját | ||
Def.:
P1 = {p1,...,pi-1,pi,pi+1,...,pn}
P2 = {p1,...,pi-1,q1,q2,...,qm,pi+1,...,pn}
P1-ből egy lépésben (közvetlenül) redukálható P2, ha van:
|
r
|
P1 |
Def:
A P' problémahalmazból a P'' redukálható, ha van:
Mikor megoldható? Ha a kezdőproblémából (mint 1 elemű problémahalmazból) csupa megoldható egyszerű problémát tartalmazó halmazt redukálhatunk.
Megoldás: az azt megvalósító ri redukciós operátorsorozat.
Megint egy keresési feladattal állunk szemben: egy operátorsorozatot keresünk. Itt is lehet költség, redukciós operátor alkalmazási költsége.
Megoldás költsége: a megoldásban szereplő operátorsorozat alkalmazási költségeinek összege.
Problémánk probléma-redukciós reprezentációját a <P,p,E,R> négyessel tudjuk megadni.
| q |
|
n |
egy problémát egy csúccsal jelölünk | |
| p |
|
s |
start-csúcs |
|
| e |
|
t |
terminális csúcsok |
| r |
||
| r(q) = {q1,...,qk} | k |
|
![]() |
||
| r'(q) = {z1,z2,...,zl} | ||
1 csúcsból annyi élköteg indul, ahány redukciós operátort alkalmazunk, s egy élköteg annyi élből áll, ahány részprobléma állt elő.
| ÉS, AND élköteg | minden részproblémát egy élkötegben kell megoldani |
| VAGY, OR élköteg | vagy az egyik redukció segítségével bontom |
| részproblémákra, vagy a másikkal | |
| <G,s,T> | és/vagy problémaredukciós (reprezentációs) gráf, ahol: |
| G: gráf | |
|
s: |
|
| T: terminális csúcs(ok) | |
| hiperút: | olyan összefüggő része az és/vagy gráfnak, melyben minden |
| csúcsból legfeljebb 1 ÉS-élköteg indul ki. | |
| (Ha 1 ÉS-élköteget 1-nek veszünk, akkor az út fogalmához | |
| jutunk). |
A hiperút a start csúcsból indul, s a levelek: csupa megoldható
terminális levelek.
A megoldást egy olyan hiperút szemlélteti, mely a start
csúcsból indul, s levelei csupa megoldható terminális csúcsok. A megoldáskeresés
során egy általánosabb gráfban egy részgráfot keresünk.
| k(n, {n1,...,nk}) | redukciós operátor alkalmazási költsége | |
| ,ahol K - csúcshalmaz | ||
|
æ
|
0, ha n |
|
|
g(n,K) =
|
í
|
|
|
è
|
![]() |
|
|
æ
|
c(n) , ha n |
|
|
k(n,{}) =
|
í
|
|
|
è
|
Tiszta ÉS-VAGY gráf: olyan gráf, amelyben minden csúcsból csak ÉS vagy csak VAGY élkötegek indulnak ki.
Például adott a következő ÉS-VAGY gráf:

Elérhető, hogy csak ÉS vagy csak VAGY élkötegeket tartalmazzon:

Fiktív csúcsokat kell beiktatni. Annyi kell, ahény VAGY élköteg indul ki. Mellette feltüntetve: melyik redukciós operátorral kaptuk.
Megoldáskereső módszerek: