Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
aa:lab:8 [2023/09/21 21:32] dmihai |
aa:lab:8 [2024/11/28 18:13] (current) lfa |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Reduceri polinomiale ====== | ====== Reduceri polinomiale ====== | ||
| - | <note important>Solutii: https://drive.google.com/file/d/174UQPbXCTiHpxPKmqoNBJKC4_VFE33jX/view?usp=sharing</note> | + | Reducerile polinomiale ne oferă posibilitatea de a utiliza un algoritm ce rezolvă o problemă pentru o altă problemă fără a-i crește complexitatea (adăugând overhead cel mult polinomial). |
| + | Reducerea polinomială reprezină o relație între două probleme $ f$ și $ g$, notată $ f \leq_p g$ (citim "f se reduce (în timp) polinomial la g") și înseamnă că putem găsi o transformare computabilă în timp polinomial care transformă input-urile problemei $ f$ în input-uri ale problemei $ g$ în așa fel încât output-urile să fie egale. Adică | ||
| + | $$ f \leq_p g \iff \exists t \text{ computabilă în timp polinomial}: \forall i, f(i) = g(t(i))$$ | ||
| + | |||
| + | ====== Exerciții ====== | ||
| Realizați următoarele reduceri polinomiale: | Realizați următoarele reduceri polinomiale: | ||
| - | * $ Partioning \le_p Subset-Sum$ | + | * $ {\rm Partioning} \le_p {\rm SubsetSum}$ |
| - | * $ Subset-Sum \le_p Partioning$ | + | * $ {\rm SubsetSum} \le_p {\rm Partioning}$ |
| - | * $ SAT \le_p 3SAT$ | + | * $ {\rm HamiltonianCycle} \le_p {\rm HamiltonianPath}$ |
| - | * $ 3SAT \le_p kClique$ | + | * $ {\rm GraphUnreachability} \le_p {\rm 2SAT}$ unde $ {\rm GraphUnreachability}$ intreaba daca NU exista nici un drum intre doua noduri $ s$ si $ t$ intr-un graf $ G$ |
| - | * $ 3SAT \le_p kVertexCover$ | + | * $ {\rm 3SAT} \le_p {\rm kVertexCover}$ |
| + | |||
| + | <note> | ||
| + | Soluțiile acestui laborator se găsesc [[https://ocw.cs.pub.ro/ppcarte/doku.php?id=aa:lab:sol:7|aici]] | ||
| + | </note> | ||