Sunteți pe pagina 1din 7

104 Capitolul 3: Metode cu siruri recurente

problemei num arul de biti necesari pentru reprezentarea binar a a


tuturor coecientilor nenuli. Acest num ar l vom nota cu L si valoarea
sa este estimat
a prin formula:

L = mn + log2 |P | + n log2 n (3.2.1)

unde m si n sunt dimensiunile problemei, iar P este produsul tuturor


coecientilor nenuli din problem
a. Notatia x reprezint
a cel mai mic
numar natural care este mai mare sau egal cu x.

Rezolvarea n timp polinomial.


Vom spune c a o problema se poate rezolva n timp polinomial,
daca exist
a un polinom p si o metod a de calcul prin care se obtine
solutia optim
a ntr-un numar de operatii ce este m
arginit de valoarea
p (L) , unde L este marimea problemei.
Bine-nteles, acest concept este legat de existenta calculatorului
virtual. Chiar dac a un astfel de calculator nu exist a n mod real,
valoarea p (L) pune n evidenta efortul de calcul necesar pentru re-
zolvarea problemei. Astfel, timpul de rezolvare a unei probleme va
avea o crestere polinomial
a n timp n raport cu m arimea L, si nu
una exponentiala n raport cu dimensiunea ei.

3.2.1. Probleme liniare echivalente


Vom considera urm
atoarea problem
a de programare liniar
a:

inf c x | A x = b, x 0 (PL)

unde A Zmn , b Zm , c Zn si rang (A) = m. Cerinta ca toate


datele problemei s a e numere ntregi nu constituie o restrngere a
generalit
atii, deoarece, din punct de vedere practic, se lucreaz
a oricum
numai cu numere rationale si amplicarea acestora cu numitorul lor
comun, conduce la o problem a n forma de mai sus.
Dac a consider am problema dual a a lui (PL):

sup b u | A u c (DL)
3.2 Algoritmul elipsoidal 105

atunci rezolvarea problemelor (PL) si (DL) este echivalent


a cu g
asirea
unei solutii a sistemului liniar:

Ax =b


x 0
(SL)
A u c

c x b u 0

Din teoria dualit atii stim c a inegalitatea stricta c x b u < 0 nu


are loc niciodat a, pentru orice x si u care veric a primele trei conditii
din (SL). Prin urmare, o solutie x, u a lui (SL) trebuie s a verice
c x b u = 0, de unde rezult

a ca x va o solutie optim a a lui
(PL), iar u o solutie optim a a problemei duale (DL).
Sistemul liniar (SL) se poate rescrie cu usurinta sub forma unui
sistem liniar de inegalit ati (orice egalitate este echivalenta cu o pereche
de inegalitati):
Sy

unde y = (x, u) R n+m
, iar

A 0mm b
A 0mm b

S = In 0nm si =

0 n


0nn A c
c b 0
Deoarece n continuare ne vom ocupa de g asirea unei solutii a sis-
temului de inegalit ati, vom nota matricea S tot cu A, iar termenul
liber cu b, f
ar
a a face confuzie cu notatiile de pna acum:

Axb (SI)
unde A Zmn si b Zm .
Daca L este m arimea problemei (PL), calculata conform relatiei
(3.2.1), atunci m
arimea lui (SI) va aproximativ 3L. Concluzia care
se desprinde de aici este urm
atoarea:

Observatia 3.1 Daca exista un algoritm polinomial n timp care sa


rezolve sistemul de inegalitati (SI), atunci si problema de programare
liniara (PL) este rezolvata n timp polinomial.
106 Capitolul 3: Metode cu siruri recurente

Urm atoarele leme ofer


a unele rezultate tehnice pe care le vom folosi
n justicarea algoritmului elipsoidal.

Lema 3.1 Daca v Rn este o solutie de baza a sistemului de ecuatii


A x = b, iar L este marimea acestuia, atunci exista numerele ntregi
d = 0 si d1 , d2 , ..., dn , astfel nct vi = ddi , i = 1, n, iar |d| < 2L si
|vi | < 2L .
Demonstratie. Deoarece v este o solutie de baz a, exist
a o matrice
i1 im
B = (A A ) Z mm
, formata din coloane liniar independente
ale lui A, astfel nct det (B) = 0. Vom lua d = det (B). Elementele
lui A ind numere ntregi, rezult a d Z. Pe de alt
a parte, avem:

|d| ai1 ,(i1 ) ai2 ,(i2 ) aim ,(im ) m! |P |


Sm

n! |P | nn |P | = 2n log2 n+log2 |P | < 2L .


unde Sm este multimea permut arilor de m elemente, iar P produsul
tuturor elementelor nenule din A si b.
Deoarece v este o solutie de baz a, componentele vi , care nu cores-
pund coloanelor din B, vor egale cu zero si deci putem considera:
vi = 0d . Celelalte componente se pot obtine din regula lui Cramer,
rezolvnd sistemul B x = b. Astfel, putem scrie: vi = ddi , unde di este
determinantul obtinut din d, n care o anumit a coloan
a este nlocuit
a
cu b. La fel ca mai sus, |di | < 2L , si deoarece d = 0, rezult
a |d| 1.
Prin urmare, |vi | < 2L .

Lema 3.2 Fie c Zn iar v Rn si w Rn solutii de baza ale


sistemului de ecuatii A x = b, pentru care L este marimea sa. Daca
c v c w 22L , atunci c v = c w.
Demonstratie. Prin reducere la absurd, presupunem c v = c w.
Deoarece componentele solutiilor de baz
a v si w sunt numere rationale
cu numitorii mai mici ca 2 , putem scrie: c v = Nd11 si c w = Nd22 ,
L

unde |d1 | < 2L si |d2 | < 2L . Avem:


N1 N2 d2 N1 d1 N2
c v c w = =
d1 d2 d1 d2
3.2 Algoritmul elipsoidal 107

Deoarece d2 N1 d1 N2 = 0, rezult
a |d2 N1 d1 N2 | 1, si astfel,
1
c v c w > 22L ,
|d1 d2 |
ceea ce este n contradictie cu ipoteza din enunt.
Reamintim c a prin Ai not am linia i a matricei A. Pentru orice
v R , vom nota
n

i (v) = Ai v bi
Astfel, dac
a v satisface inegalitatea a i -a, avem i (v) 0.

Lema 3.3 Pentru orice v Rn , exista y Rn , astfel nct:


i ) i (y) max {0, i (v)} , pentru orice i = 1, m. Cu alte cuvinte,
toate inegalit
atile satisf
acute de v nu sunt nc
alcat
a de y.
ii) multimea vectorilor {Ai | pentru care i (y) 0} este un sistem
de generatori pentru liniile matricei A.
Demonstratie. Este sucient s a arat
am c
a, dac a v nu satisface
a un vector v care satisface i) si
conditia ii), atunci exist

{i | i (v ) 0} {i | i (v) 0}
Relund un astfel de procedeu de cel mult m ori, obtinem vectorul y
cu propriet
atile cerute de lem
a.
Vom presupune, dup a o eventual
a reordonare a liniilor lui A, c
a

i (v) 0 pentru i = 1, k,
i (v) < 0 pentru i = k + 1, m.
Deoarece {A1 , ..., Ak } nu este un sistem de generatori pentru liniile
matricei A, exista l {k + 1, ..., m} astfel nct liniile A1 , ..., Ak , Al s
a
e liniar independente. Atunci sistemul de ecuatii

Ai x = 0 , i = 1, k,
Al x = 1
este compatibil si are o solutie u Rn . Pentru R, denim vectorul

v = v + u
108 Capitolul 3: Metode cu siruri recurente

Deoarece Al u = 1, putem lua


i (u)
= min Ai u > 0, k + 1 i m
Ai u
Se observ a 0 < l (u) si exist
a cu usurinta c a un indice
i {k + 1, ..., m} pentru care

i (v) + Ai u = 0
Pe de alt
a parte, avem:

i (v ) = Ai (v + u) b = i (v) + Ai u
Din alegerea lui , rezult a i (v ) 0 pentru orice i = k + 1, m, si n
plus, exista un indice i {k + 1, ..., m} pentru care avem i (v ) = 0.
Astfel, lema este demonstrat a.
Deoarece algoritmul elipsoidal caut a de fapt o solutie a sistemului
de inegalit ati stricte
A x < b (SIs)
unde bi = bi + , iar = 2
2L
(L ind m arimea problemei (SI)),
teorema care urmeaz a stabileste o anumit a echivalenta ntre sistemele
(SI) si (SIs).

Teorema 3.4 Sistemul de inegalitati (SI) are o solutie, daca si nu-


mai daca (SIs) are o solutie. n plus, exista un algoritm polinomial n
timp care transforma o solutie a lui (SIs) ntr-o solutie pentru (SI).
Demonstratie. Evident, orice solutie a lui (SI) este si o solutie
pentru (SIs).
Reciproc, e v Rn o solutie a lui (SIs):

Ai v < bi + , i = 1, m.
Fie y Rn vectorul obtinut prin Lema 3.3. Dac
a Ai v < bi , atunci ,

Ai y bi = i (y) max {0, i (v)} = 0.


Dac
a bi Ai v < bi + , atunci,

Ai y bi = i (y) max {0, i (v)} < .


3.2 Algoritmul elipsoidal 109

Din cele de mai sus rezult


a c
a

Ai y < bi + , pentru orice i = 1, m. (3.2.2)


Vom reordona inegalit
atile astfel nct
bi + > Ai y bi , 1 i p,
Ai y < bi , p<im
si deoarece {A1 , ..., Ap } este un sistem de generatori al liniilor matricei
A, e r p, num arul de linii liniar independente, adica,

{A1 , ..., Ar } este o baz


a pentru liniile lui A. (3.2.3)
Fie z Rn o solutie a sistemului de ecuatii

Ai x = bi , 1 i r.
Vom ar ata c
a A z b.
Dac
a tinem seama de (3.2.3), pentru orice k = 1, m, putem scrie
r
Ak = i Ai (3.2.4)
i=1

unde coecientii i = ddi se pot obtine aplicnd regula lui Cramer.


Din Lema 3.1 avem |d| < 2L si pentru orice i = 1, m, |di | < 2L . F
ar
a
a pierde generalitatea, vom presupune c a d > 0 (schimbnd eventual
doua linii ntre ele). Avem:
r
di
Ak z bk = Ai z bk
i=1
d
de unde, prin amplicarea cu d, obtinem:
r
d (Ak z bk ) = di bi dbk Z. (3.2.5)
i=1

Pe de alt
a parte, tinnd seama de (3.2.4) si (3.2.2), putem scrie:
r r
d (Ak z bk ) = di bi + d Ak i Ai y dbk =
i=1 i=1
110 Capitolul 3: Metode cu siruri recurente

r
= di (Ai y bi ) + d (Ak bk ) <
i=1
r
m+1
< |di | + d < (r + 1) 2L <1
i=1
2L
Aceast
a inegalitate, mpreun
a cu (3.2.5) implic
a: d (Ak z bk ) 0.
Deoarece d > 0, rezulta
Ak z bk 0, pentru orice k = 1, m
si astfel teorema este demonstrat
a.

3.2.2. Transform
ari ane si elipsoizi

Denitia 3.1 Aplicatia T : Rn Rn este o transformare ana,


daca exista t Rn si matricea nesingulara Q Rnn astfel nct:
T (x) = t + Q x.
Orice transformare ana este inversabil
a. Dac
a not
am y = T (x) ,
transformarea invers
a este:
T 1 (y) = Q1 (y t) .
De asemenea, se poate demonstra cu usurinta c
a pentru orice multimi
A, B R , avem:
n

T (A B) = T (A) T (B) ,
A B = T (A) T (B) .
Pentru vectorii x Rn vom considera norma euclidian
a

x = x x.

Denitia 3.2 Sfera de centru c Rn si raza r > 0 este multimea


S (c, r) = {x Rn | x c r} .

Denitia 3.3 Imaginea sferei unitate S (0, 1) printr-o transformare


ana T (x) = t + Q x este un elipsoid:
T (S (0, 1)) = t + Q x | x x 1 .

S-ar putea să vă placă și