Diferente pentru probleme-de-acoperire-2 intre reviziile #17 si #18

Nu exista diferente intre titluri.

Diferente intre continut:

p=. !probleme-de-acoperire2?P276.jpg!
* Tablei îi adăugăm la sfârşit o coloană pe care nu pot fi aşezate piese. Rezultatul cerut de problemă se va afla în $max[N][M + 1][0]$. Menţionăm că $Problemele 2, 3$ şi $4$ pot fi rezolvate în mod asemănător în complexitate $O(N * M * 2^M^)$.
 
h2. Problema 8 (CSP 1993, Lot 2001, Dominoes acm.sgu.ru, IPSC 2004 sample task, Algoritmus 2005, IOI 2005 practice task)
 
bq. Se dă o tablă de dimensiuni $N x M$, din care unele pătrate sunt eliminate. Se cere să se determine o acoperire a tablei cu număr maxim de dominouri $(1 <= N, M <= 200)$. De exemplu, o tablă ce nu are nicio celulă eliminată, de $3 x 3$ pătrăţele poate fi acoperită cu cel mult $4$ dominouri care nu se suprapun. O soluţie posibilă este prezentată în a doua figură.
 
p=. !probleme-de-acoperire2?P281.jpg!
 
h3. Soluţie:
 
* Aceasta este o problemă celebră sau aşa se pare după numărul de concursuri în care a fost folosită şi este o generalizare a unei probleme din articolul precedent.
* Prima idee ar fi să încercăm o abordare $greedy$ în care încercăm într-o ordine oarecare să punem piese pe tablă cât timp mai este loc, dar putem găsi uşor contraexemple pentru acest tip de abordare. Limitele sunt mult prea mari pentru ca o rezolvare bazată pe $programare dinamică$ combinată cu $backtraking$ să meargă. O idee ce am utilizat-o în numărul anterior ne va fi folositoare aici. Colorăm tabla noastră în mod asemănător unei table de şah şi numerotăm pătrăţelele tablei.
 
p=. !probleme-de-acoperire2?P282.jpg!
 
* Acum vedem că un domino poate fi amplasat pe tablă şi el trebuie să ocupe o celulă colorată alb şi una negru, celule care sunt adiacente. Dacă realizăm un graf în care nodurile sunt celulele iar între două noduri există muchie dacă ele sunt adiacente vertical sau orizontal pe tablă, facem observaţia că graful este bipartit. O acoperire cu dominouri corespunde în acest graf unei mulţimi de muchii pentru care nu există două muchii cu acelaşi capăt (o muchie corespunde amplasării posibile a unui domino, iar restricţia menţionată face ca să nu existe dominouri care se suprapun). Deci pentru a găsi o soluţie maximală pentru problema iniţială, trebuie să găsim o mulţime de muchii de cardinal maxim. În acest mod am transformat cerinţa într-o problemă clasică de teoria grafurilor cunoscută sub numele de $cuplaj maxim într-un graf bipartit$. Vedem în imaginea următoare cum a fost transformată tabla într-un graf şi cum soluţia prezentată în exemplu corespunde unui $cuplaj maxim$ în graful asociat tablei.
 
p=. !probleme-de-acoperire2?P283.jpg!
 
h2. Aplicaţii
 
h3. "Pavare":http://infoarena.ro/problema/pavare
 
 

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.