Documente Academic
Documente Profesional
Documente Cultură
Cuvnt nainte ............................................................................................................. 1. Teoria grafurilor ................................................................................................... 2. Complemente de algebr liniar ........................................................................ 3. Programare liniar ................................................................................................ 4. Teoria jocurilor ..................................................................................................... Bibliografie ................................................................................................................. 3 5 53 87 171 275
Cuvnt nainte
Lucrarea de fa este alctuit din patru capitole: Teoria grafurilor, Complemente de algebr liniar, Programare liniar i Teoria jocurilor. Ea este destinat studenilor din anul I de la Facultatea de Relaii Economice Internaionale, cursuri de zi i nvmnt deschis la distan. Tematica abordat este inclus n acel domeniu, teoretic i aplicativ deopotriv, n care demersul de fundamentare matematic i cel de modelare a fenomenelor economice se ntreptrund, numit generic Cercetare operaional. Metodele acesteia au difuzat, de altfel, i n alte sfere ale vieii sociale, incluznd politicile guvernamentale, protejarea mediului, explorarea spaiului. Revenind la coninutul cursului de Modele matematice n economie, vom sublinia comunicarea ntre capitole, prin mprumutul de noiuni i tehnici de rezolvare. Din acest motiv, nu recomandm o lectur strict liniar a materialului prezentat. n aceeai ordine de idei, anumite demonstraii pot fi srite ntro prim faz, n beneficiul exemplelor, care, de regul sunt tratate n amnunime. Ca orice text matematic i acesta pune accent pe definirea clar a noiunilor de baz, se servete de rezultate pregtitoare date n propoziii i enun teoreme cu caracter preponderent operaional (i doar pe alocuri, de tip existenial nu mai puin importante, ns). Fiecare capitol se ncheie cu o seciune de probleme rezolvate, a cror utilitate o lsm la aprecierea cititorilor. Din coninut nu putea s lipseasc subiectul, devenit clasic, al programrii liniare, precedat de un rezumat al noiunilor de algebr liniar, strict necesare nelegerii sale. Capitolele unu i patru aduc cu ele acel suflu teoretic care nu a ncetat s alimenteze modelarea economic, dei prezint subiecte deja cunoscute. Astfel, n capitolul de teoria grafurilor s-a urmrit prezentarea unor metode de determinare a rutelor optime ntr-un graf, cu accent deosebit pe problematica drumului critic. De asemenea sunt tratai arborii, ca un caz remarcabil de grafuri conexe.
3
n ceea ce privete teoria jocurilor, este binecunoscut impactul pe care aceasta l-a avut n reconstrucia teoriei economice. Considerente de ordin didactic (dar nu numai) au impus acordarea unei atenii speciale jocurilor de dou persoane, de tip necooperativ. Cazul antagonist (al jocurilor matriceale) este prezentat pe larg prin construirea strategiilor maximin (pure sau mixte), ca soluie a jocului. n cazul neantagonist (al jocurilor bimatriceale), drept soluie sunt cutate punctele de echilibru Nash ale jocului, dndu-se metode de determinare a lor. Cazul jocurilor cooperative, evident neantagonist, este ilustrat, pentru jocuri de dou persoane, prin gsirea soluiei Nash (folosind procedee grafice), iar pentru jocuri de n persoane (n 3), n care este permis formarea de coaliii, este prezentat valoarea Shapley, ca un posibil concept de soluie. n general, materialul nu face apel la cunotine matematice prealabile de nivel superior, fiind self-contained. Cu sperana ca aceasta s constituie un avantaj pentru studenii din primul ciclu, ateptm cu interes sugestii de mbuntire a coninutului lucrrii.
Autorii
TEORIA GRAFURILOR
1. Noiuni generale
Exist numeroase probleme economice pentru care o reprezentare sub forma unor scheme alctuite din puncte i sgei aduce clarificri i uureaz nelegerea proceselor n sensul elucidrii legturilor de succesiune i cauzalitate. Pentru a da un exemplu, ne referim la procesul de luare a unei decizii. Pornind de la o situaie A0 se constat c sunt p variante ce conduc la situaiile A1, ..., Ap. Analiznd n continuare desfurarea fenomenului, pentru fiecare situaie Ai, i = 1, p , exist posibilitatea de a trece la una din situaiile Aij, j = 1, ni . Raionamentul poate continua ct timp procesul pune n eviden noi variante. O reprezentare sugestiv a procesului descris mai sus poate fi dat n figura urmtoare: A1 A0 Ai Ap A11 A 1n Ai1 A in
Ap1 A pn
n raport cu un obiectiv stabilit apriori, dac este posibil ca pentru oricare cuplu de situaii succesive s se asocieze o valoare real, urmeaz s
Teoria grafurilor
se gseasc o metod de determinare a succesiunii optime din punctul de vedere al obiectivului adoptat. Un graf G este o pereche (X, T) unde X este o mulime de elemente numite vrfuri sau noduri, iar T este o aplicaie a lui X pe mulimea prilor sale. Vom nota graful G = (X, T). Deci dac x X, atunci T(x) X. Dac x, y X i y T(x), perechea u = (x, y) se numete arc al grafului G, cu x extremitatea iniial (originea) arcului u, iar y este extremitatea final a lui u. Notnd prin U = (x, y) x X, y T(x) putem da o alt expresie a grafului i anume G = (X, U). Exemplu: Fie X = x1, x2, x3, x4, x5 i T(x1) = x2, x4, x5; T(x2) = x3, x5; T(x3) = x1, x5; T(x4) = x3; T(x5) = x4. Mulimea arcelor este: U = (x1, x2), (x1, x4), (x1, x5), (x2, x3), (x2, x5), (x3, x1), (x3, x5), (x4, x3) (x5, x4). Pentru graful astfel definit se poate realiza o imagine geometric construit astfel: vrfurile mulimii X se aeaz n plan i se duc segmente orientate care unesc punctele xi i T(xi), i = 1,5 .
1 i k-1, irul de arce se numete drum. Cnd extremitatea final a lui uk coincide cu originea lui u1 drumul se numete circuit. Drumul poate fi definit i prin specificarea irului de vrfuri prin care trece, astfel: d = (x1, x2, ..., xr) dac aceste vrfuri sunt n ordinea x1, x2, ..., xr. Drumul ce trece o singur dat prin unele vrfuri ale grafului se numete drum elementar. Drumul elementar ce trece prin toate vrfurile grafului se numete drum hamiltonian. Numrul arcelor ce compun un drum se numete lungimea drumului. Cnd xi T(xi), arcul (xi, xi) se numete
bucl.
Vom spune c [x, y] este o muchie dac (x, y) i (y, x) sunt arce. De aceea, o muchie coincide cu mulimea vrfurilor care o compun. Nu este deci necesar s figurm dou sensuri contrare pe segmentul care le unete. Un ir de muchii formeaz un lan dac oricare dou muchii consecutive au o extremitate comun. Lanul poate fi definit i de succesiunea de vrfuri prin care trece, astfel: L = [x1, x2, ..., xr] dac aceasta este ordinea vrfurilor. Lanul ce trece o singur dat prin unele vrfuri ale grafului se numete lan
elementar. Lanul elementar ce trece prin toate vrfurile grafului se va numi lan hamiltonian. Cnd x1 = xr i toate muchiile lanului L sunt distincte
dou cte dou, lanul se numete ciclu. Numrul muchiilor unui lan se numete lungimea lanului. Dac ntr-un graf oricare dou vrfuri ale sale sunt unite printr-un lan, graful este conex. Graful G1 = (X, U), cu U U este un graf parial al grafului G = (X, U), iar graful G2 = (X, U) cu X X i U U este un subgraf al lui G = (X, U).
Teoria grafurilor
Graful cu un numr finit de vrfuri se numete graf finit. Cnd vrfurile grafului G sunt legate numai prin arce vom spune c graful G este
orientat, iar cnd vrfurile sunt legate prin muchii, graful G este neorientat.
Fie graful G = (X, U) cu X = x1, ..., xn. Matricea A = (aij), 1 i, j n, cu aij = 1, dac exist arcul (xi, xj) 0, n cazul contrar
se numete matricea arcelor sau matricea conexiunilor directe. Ea determin graful n mod unic i constituie un nou mod de a defini un graf. Matricea D = (dij), 1 i, j n, cu dij = 1, dac exist cel puin un drum de la xi la xj 0, n cazul contrar
se numete matricea drumurilor sau matricea conexiunilor totale. Matricea drumurilor poate determina mai multe grafuri. Astfel grafurile de mai jos, dei diferite, au aceeai matrice a drumurilor.
x2 x1 x4 x3 x1 x4 x2 x3 D x1 x2 x3 x4 x1 0 0 0 0 x2 1 0 1 0 x3 1 0 0 0 x4 1 0 0 0
Dm acum cteva rezultate necesare prezentrii unui algoritm de determinare a matricei drumurilor, datorat lui Y. V. Chen.
Propoziia 1: ntr-un graf G cu n vrfuri lungimea maxim a unui
proprietatea este adevrat deoarece ntre 2 vrfuri poate exista cel mult un drum elementar format dintr-un arc, deci de lungime 1, dac arcul exist. Presupunem c ntr-un graf cu n -1 vrfuri exist un drum elementar de lungime n -2 i fie acesta: d = (x i1 , ..., x in1 ), i1, ..., in-1 1, ..., n-1. Adugm grafului considerat nc un vrf xn ce poate aduce drumului de mai sus un arc n plus ((xn, x i1 ) sau (x in1 , xn) sau (x ik , xn) i (xn, x ik +1 ), cu dispariia din d a arcului (x ik , x ik +1 )) i lungimea noului drum va fi n-1. n restul cazurilor drumul elementar are lungimea mai mic dect n 1 i propoziia este demonstrat. Notm acum prin T(1)(xi) mulimea vrfurilor unui graf G la care se ajunge din xi prin drumuri de lungime 1 (dintr-un singur arc); T(2)(xi) mulimea vrfurilor din G la care se ajunge din xi prin drumuri de lungime 2 (din dou arce) .a.m.d.; conform propoziiei 1, ultima mulime va fi T(n-1)(xi), dac graful G are n vrfuri.
Propoziia 2: Fie G un graf cu n vrfuri, D = (dij), 1 i, j n,
UT
s =1
n 1
(s)
( xi ).
Demonstraie: Dac dij = 1 rezult c exist cel puin un drum de la xi la xj. Presupunem c drumul este format din k arce, 1 k n-1; atunci xj T(k)(xi), deci xj
n 1 s =1
UT
(s)
( xi ).
Teoria grafurilor
Reciproc, dac xj
UT
s =1
n 1
(s)
mulimi a reuniunii, fie aceasta T(k)(xi). Adic la xj se ajunge din xi printr-un drum de lungime k, deci dij = 1 i propoziia 2 este demonstrat. Reamintim c adunarea boolean se definete astfel: + 0 1 0 1 0 1 1 1
Cu rezultatele de mai sus dm etapele urmtorului Algoritm pentru determinarea matricei D 1) Asociem grafului dat matricea arcelor A = (aij), 1 i, j n; 2) Construim matricea D, linie cu linie, astfel: pentru determinarea liniei i din D, i = 1, n , urmrim elementele egale cu 1 de pe linia i
din A; dac acestea sunt aip, ..., ais se transcriu n linia i din D i se adun boolean liniile p, ..., s din A la linia i generndu-se noi elemente egale cu 1 pe linia i din D. Fie acestea dik, ..., dim ce indic, conform propoziiei 2, existena drumurilor de la xi la xk, ..., xm, drumuri formate din 2 arce, adic xk, ..., xm T(2)(xi). Adunm boolean liniile k, ..., m din A la linia i, genernd noi elemente egale cu 1 ce vor reprezenta drumurile de la xi la alte vrfuri, formate din 3 arce, .a.m.d. pn cnd ajungem la una din situaiile: a) toate elementele liniei i sunt egale cu 1; b) nu se mai pot genera alte elemente egale cu 1 pe linia i din D i completm locurile rmase libere cu 0.
10
3) Procedm analog pentru fiecare linie din D i obinem n final matricea drumurilor.
Exemplu: S se determine matricea D pentru urmtorul graf:
x2 x3 x1 x4 x5
Rezolvare
Pentru a obine linia 1 din D observm c n A elementul a14 = 1; l transcriem n linia 1 din D, deci d14 = 1 i adunm boolean linia 4 din A la linia 1. Se genereaz elementul d13 = 1, apoi adunm boolean linia 3 din A la linia 1 i observm c nu mai pot fi generate alte elemente egale cu 1 deoarece toate elementele liniei 3 sunt nule. Completm locurile libere din linia 1 a lui D cu 0. S determinm acum linia 2 din D. Observm c n A avem a21 = a23 = a25 = 1 i le prelum n linia 2 din D, apoi adunm boolean liniile 1, 3 i 5 la linia 2. Se obine d24 = 1, deci vom aduna linia 4 din A la 2 i deoarece nu mai pot fi generate alte elemente egale cu 1, completm cu 0 locurile libere.
11
Teoria grafurilor
Linia 3 din D este linia 3 din A deoarece are toate elementele 0. Pe linia 4 din A avem a43 = 1, l prelum n linia 4 din D, adunm boolean linia 3 din A la linia 4 i nu mai pot fi generate elemente egale cu 1, deci completm cu 0. n sfrit linia 5 din A are a51 = a54 = 1, le prelum n linia 5 din D, adunm boolean linia 1 i 4 din A la linia 5, apare d53 = 1, adunm linia 3 din A la linia 5 i algoritmul ia sfrit cci nu mai pot fi generate elemente egale cu 1. n final matricea D se prezint astfel: A x1 x2 x3 x4 x5 x1 0 1 0 0 1 x2 0 0 0 0 0 x3 1 1 0 1 1 x4 1 1 0 0 1 x5 0 1 0 0 0
Notm cu p(xi) puterea de atingere a vrfului xi prin care nelegem numrul de vrfuri ce pot fi atinse de drumurile ce pornesc din xi, adic numrul elementelor egale cu 1 de pe linia i din D. n exemplul nostru p(x1) = 2, p(x2) = 4, p(x3) = 0, p(x4) = 1, p(x5) = 3. Observaia 1: Matricea D pune n eviden existena circuitelor n graful considerat. Astfel dac dii = 1, graful are un drum ce pleac din xi i revine n xi, deci un circuit. Dac toate elementele diagonalei principale din D sunt egale cu 0, graful nu are circuite. n exemplul de mai sus, graful nu are circuite. Observaia 2: Dac n matricea D a unui graf finit cu n vrfuri fr circuite ordonm liniile i coloanele descresctor dup puterile de atingere ale vrfurilor obinem o nou matrice D = (dij), 1 i, j n, cu toate elementele egale cu 1 deasupra diagonalei principale. ntr-adevr, notnd, x1, ..., xn ordinea liniilor (coloanelor) n D i considernd dij = 1, i < j, rezult c exist cel puin un drum de la xi la xj, deci vrfurile atinse de xj
12
vor fi atinse i de xi, adic p(xi) > p(xj) fapt ce atrage aezarea liniei i naintea liniei j, deci dij = 1 se va gsi deasupra diagonalei principale n D. Matricea D se numete matricea triangularizat superior a matricei D. Pentru exemplul nostru, D se prezint astfel: D x2 x5 x1 x4 x3 x2 0 0 0 0 0 x5 1 0 0 0 0 x1 1 1 0 0 0 x4 1 1 1 0 0 x3 1 1 1 1 0
Observaia 3: n matricea D a unui graf fr circuite, primul element egal cu 1 de pe fiecare linie corespunde unui arc din graf. ntradevr, presupunnd prin absurd c primului element pe linia i din D, dij = 1, i corespunde un drum (xi, ..., xm, ..., xj), cu m i, m j, atunci xm are puterea de atingere mai mare ca xj i coloana lui xm o precede pe cea a lui xj. Deci pe linia xi exist elementul dim = 1 care precede dij = 1, ceea ce contrazice ipoteza.
3. Drumuri hamiltoniene ntr-un graf 3.1 Cazul grafurilor fr circuite Teorema 1. (Y.V. Chen). Fie G = (X, U) cu X = x1, ..., xn, orientat
p( x ) =
i =1 i
n(n 1) . 2
13
Teoria grafurilor
Demonstraie: Presupunem c n G exist drumul hamiltonian dH = (x i1 , ..., x in ), unde (i1, ..., in) este o permutare a lui (1, ..., n). Rezult c x i1 atinge toate cele n 1 vrfuri care l succed, deci pe linia lui x i1 din D sunt n 1 elemente egale cu 1. Vrful x i2 atinge n 2 vrfuri i pe linia lui x i2 vor fi n 2 elemente egale cu 1, .a.m.d., pentru fiecare vrf urmtor al drumului hamiltonian numrul elementelor egale cu 1 scade cu cte o unitate pn ajungem la x in a crui putere de atingere este zero. Atunci: n(n 1) . 2
p( x ) = p( x
i =1 i k =1 n
ik
) = (n 1) + (n 2) + ... + 1 + 0 =
Reciproc, dac
p( x ) =
i =1 i
liniile i coloanele ordonate astfel: x1, ..., xn, din observaia 2 deducem c toate cele
n(n 1) elemente egale cu 1 ale lui D se gsesc deasupra 2 n(n 1) poziii. Observaia 3 ne 2
permite determinarea drumului hamiltonian scriind succesiunea de arce corespunztoare primelor elemente egale cu 1 de pe fiecare linie, adic: (x1, x2), (x2, x3), ..., (xn-1, xn) sau dH: (x1, ..., xn).
Teorema 2. Dac ntr-un graf G orientat i fr circuite exist drum
hamiltonian, el este unic. Demonstraie: Presupunem prin absurd c G are dou drumuri
1 2 hamiltoniene d (H) i d (H ) distincte i
14
c exist un drum de la xj la xi, adic un circuit, ceea ce contrazice ipoteza. Presupunerea fcut este fals, deci drumul hamiltonian n G este unic. Teoremele 1 i 2 ne permit s dm un Algoritm pentru determinarea drumului hamiltonian ntr-un graf orientat, finit (cu n vrfuri) i fr circuite 1. Determinm matricea A (a arcelor); 2. Determinm matricea D (a drumurilor); 3. a) Dac exist dii = 1, graful are circuite, teoremele 1 i 2 nu se aplic, nu tim dac exist drum hamiltonian; b) Dac toate elementele diagonalei principale din D sunt nule, graful nu are circuite, se aplic teoremele 1 i 2. 4. Calculm p(xi), i = 1, n i apoi a)
n
p( x )
i =1 i
drum hamiltonian; b)
p( x ) =
i =1 i
hamiltonian n G, iar din teorema 2 rezult c acesta este unic. 5. Determinm drumul hamiltonian scriind vrfurile grafului n ordinea descresctoare a puterii lor de atingere.
Exemplu
Pentru graful precedent am vzut c era fr circuite i p(x1) = 2, p(x2) = 4, p(x3) = 0, p(x4) = 1, p(x5) = 3. Deci
15
Teoria grafurilor
n(n 1) 5 4 = = 10, deci teorema 1 spune c exist drum hamiltonian i 2 2 acesta este dH = (x2, x5, x1, x4, x3) i este unic.
1 i,j n, reprezint drumurile elementare de la xi la xj, formate din k arce. Deci ultima matrice D(n-1) va conine toate drumurile hamiltoniene din G.
( Matricea D(1) = (d ij1) ), 1 i,j n, se construiete astfel:
),1 i,j n, cu
(1) ij
xj dac exist arcul (xi, xj) = 0 , dac nu exist arcul (xi, xj).
Deci matricea D (1) se obine din D(1) prin tergerea primei litere a secvenei xi xj din orice csu (i, j) i ea conine vrfurile ce pot fi atinse prin arce de la orice vrf al grafului. Urmtoarele matrici D(2), ..., D(n-1) se construiesc prin operaia L (produsul latin), astfel: D(k) = D(k-1) L D (1), k = 2, ..., n - 1
16
distincte (se vor lua liniile din D(k-1) cu coloanele din D (1), ca la produsul matricelor) sau este 0, dac nu apar k + 1 vrfuri distincte sau se obine zero pentru toate elementele care particip la nmulire.
Exemplu
S se determine drumurile hamiltoniene n graful: x2 x3 x1 x5 x4
Rezolvare
Observm c graful are circuite (altfel am fi determinat matricea D), de exemplu d = (x3, x5, x1, x2). Determinm pe rnd matricele D(1), D (1), D(2), D(3) i D(4). D(1) x1 x2 x3 x4 x5 x1 0 0 0 0 x5 x1 x1 0 0 0 0 x1 x2 x1 x2 0 0 0 0 x2 x2 0 0 0 0 x3 0 x2 x3 0 0 0 x3 0 x3 0 0 0 x4 0 x2 x4 x3 x4 0 x5 x4 x4 0 x4 x4 0 x4 x5 0 0 x3 x5 0 0 x5 0 0 x5 0 0
D (1) x1 x2 x3 x4 x5
17
x1 x2 x3 x4 x5
D(3)= D(2)L D (1)
x1 0 0 x3x5x1 0 0 x1 0 x2x3x5x1 0 0 0 x1 0 0 0 0 0
x2 0 0 0 0 x5x1x2 x2 0 0 x3x5x1x2 0 0 x2 0 0 0 0 0
x3 x1x2x3 0 0 0 0
x5 0 x2x3x5 0 0 0 x5 x1x2x3x5 0 0 0 0 x5 0 0 0 0 0
x1 x2 x3 x4 x5
D(4)= D(3)L D (1)
x1 x2 x3 x4 x5
pe linia 3 coloana 4 din matricea D(2). S-a considerat linia 3 din D(1) i
( coloana 4 din D (1) i aplicnd definiia lui d ijk ) , s-a obinut singura
succesiune, diferit de zero, (x3, x5, x4). Dac s-ar mai fi gsit i o alt succesiune n csua (3, 4) din D(2), se scriau una sub alta ambele succesiuni i n calculele urmtoare se inea seama de fiecare n parte.
18
drumuri formate din cel mult k arce, iar prin min valoarea minim a drumurilor de la xi la xn, indiferent de numrul arcelor.
Propoziia 3:
n graful G, cu n vrfuri, orientat i valuat, este adevrat relaia
( k +1)
(k )
min
= min (vij + m jn ), i n, k 1.
1 j n
Justificarea acestei propoziii e dat de principiul de optimalitate al lui Bellman, care pentru problema noastr se enun astfel: drumul optim ntr-un graf este format din subdrumuri optime. i cum orice drum de la xi la
19
Teoria grafurilor
xn format din cel mult k + 1 arce trebuie s fie format dintr-un arc (xi, xj), ij i un drum de la xj la xn format din cel mult k arce, urmeaz c min
(k )
( k +1)
valoarea minim a drumurilor de la xi la xn formate din cel mult k + 1 arce va fi dat de min (vij + m jn ).
1 j n
Propoziia 4:
Dac pentru graful G din propoziia 1 exist k astfel nct
min = min
(k )
(k ) ( k +1)
, 1 i n, atunci:
(k )
( k +1)
(k )
(k + s)
, oricare ar fi s , putem
aplica inducia matematic dup s *, astfel: pentru s = 1, proprietatea se verific cu relaia din ipotez. Presupunem adevrat proprietatea pentru s oarecare i demonstrm c e adevrat i pentru s + 1. Dar din propoziia 3, avem:
min
( k + s +1) (k + s)
= min (vij + m jn
j
avem c m jn
min
(k + s)
= m jn , rezult
= min (vij + m jn ) = min
j
(k) ( k +1)
(k)
( k + s +1)
= min
(k )
tot din propoziia 3 i ipoteza propoziiei 4. Pe aceste dou propoziii se bazeaz algoritmul Bellman Kalaba de determinare a drumurilor de valoare minim de la orice vrf al grafului xi la vrful xn fixat. Etapele algoritmului sunt: 1. Se construiete matricea V = (vij), 1 i,j n, corespunztoare grafului dat.
20
cel mult 1, 2, ... arce de la orice vrf xi (cap de coloan) la xn fixat, astfel: a) linia min
(1)
drumurilor de la xi, i = 1, n , din G la xn, drumuri formate din cel mult un arc, reprezint valorile arcelor (xi, xn), i = 1, n , deci aceast linie va fi transpusa coloanei lui xn din V; b) presupunem completat linia min i trecem la determinarea elementelor liniei min
( k +1) (k )
( k +1)
(k )
c) ataarea de noi linii continu pn cnd se obin dou linii consecutive identice, cnd n baza propoziiei 4 algoritmul ia sfrit i ultima linie conine tocmai valorile minime ale drumurilor de la fiecare vrf cap de coloan la xn fixat. 3) Se determin apoi succesiunea de vrfuri prin care trece drumul de valoare minim (ruta optim), de exemplu, de la xi la xn, astfel: adunm respectiv elementele liniei xi cu cele ale ultimei linii
min
( k +1)
primul arc al drumului este (xi, xk). Adunm apoi linia lui xk la ultima i dac cea mai mic valoare corespunde coloanei lui xp,
21
Teoria grafurilor
urmtorul arc al rutei este (xk, xp), .a.m.d. pn ajungem n xn. Drumul cutat va fi: d = (xi, xk, xp, ..., xn) i valoarea sa va fi min
( k +1)
mai multor coloane, atunci exist mai multe drumuri de valoare minim i se urmrete pn la capt fiecare drum n parte.
Observaia 2: Algoritmul Bellman Kalaba poate fi aplicat i pentru
determinarea drumului de valoare maxim de la orice vrf al grafului la unul fixat cu urmtoarele condiii: a) graful s nu aib circuite; b) vij = - , dac i j i nu exist arcul (xi, xj); c) n etapele 2, 3 i observaia 1, sumele minime se nlocuiesc cu sumele maxime, ntruct propoziiile 3 i 4 sunt adevrate i pentru cazul cnd prin min
(k )
graf neorientat, fiecare muchie [xi, xj] va fi considerat cu arce (xi, xj) i (xj, xi), iar matricea V va fi simetric.
Exemplu: S se determine drumul de valoare minim de la x1 la x6
n graful urmtor: x2
2 6 3 2
x5
1
x1
3
4 1
x3
5
x6
x4
22
Rezolvare
x1 0 2 4 3
x2 2 0 3 6
x3 4 3 0 1 2
x4 3 1 0 5 5 5 4 4
x5 6 2 0 1 1 1 1 1
x6 5 1 0 0 0 0 0
mi 6 mi 6
(1)
8 7 7
7 6 6
3 3 3
mi 6
( 4)
Linia mi 6 se obine prin transpunerea coloanei lui x6. Primul element al liniei mi 6 este m16 i se determin adunnd respectiv elementele liniei x1 din V cu cele ale liniei mi 6 . Cea mai mic sum este elementul cutat, adic m16 = min0 + , 2 + , 4 + , 3 + 5,
+ 1, + 0 = 8.
( 2) (1) ( 2) ( 2)
Elementele urmtoare ale liniei mi 6 se determin n acelai mod, pstrnd fix linia mi 6 dar modificnd pe rnd linia din V cu x2, x3, ..., x6. Pentru linia mi 6 se ia linia mi 6 i se adun pe rnd cu liniile x1, ..., x6 din V, reinnd cea mai mic sum. n mod asemntor procedm pentru linia mi 6 , lund linia mi 6 i adunnd-o pe rnd cu liniile x1, ... , x6. Observm c ultimele dou linii sunt identice i algoritmul ia sfrit.
23
( 4) ( 3) ( 3) ( 2) (1)
( 2)
Teoria grafurilor
Valoarea minim a drumurilor de la x1 la x6 este dat de elementul m16 = 7. Pentru determinarea succesiunii de vrfuri prin care trece drumul cutat, ce pornete din x1, adunm elementele liniei x1 cu respectiv cele ale ultimei linii adugate, mi 6 . Obinem: min0 + 7; 2 + 6; 4 + 3; 3 + 4, + 1; + 0 = 7 care n afara coloanei lui x1 mai corespunde i coloanelor x3 i x4. Deci drumul cutat nu e unic. Marcm elementele de pe linia lui x1 aflate la intersecia cu coloanele x3 i x4 n mod diferit i continum cutarea drumului dat de un marcaj, de exemplu cel care are primul arc (x1, x3) de valoare 4. Adunm apoi linia lui x3 la ultima i min4+7; 3+6; 0+3; 1+4; 2+1; + 0 = 3 corespunde coloanei lui x5 (n afara lui x3) i marcm elementul 2 de pe linia x3 i coloana x5. Acesta reprezint valoarea arcului (x3, x5), urmtorul din drum. n sfrit adunm linia lui x5 cu ultima linie, mi 6 , cea mai mic sum este 1 i corespunde coloanei lui x6, deci ultimul arc este (x5, x6) i are valoarea 1. Drumul dat de primul marcaj este: d1: x1 x3 x5 x6 de valoare 7. Procednd analog cu al doilea marcaj, vom gsi d2: x1 x4 x3 x5 x6 cu aceeai valoare egal cu 7.
Observaia 4: n matricea V ultima coloan va fi a vrfului ce
3 1 2 1 4 2 1
( 4) ( 4)
( 4)
unui algoritm de determinare a rutelor optime ntre oricare dou vrfuri ale
grafului G considerat.
24
Pentru prezentarea acestui algoritm introducem o operaie ntre dou matrici, notat *, astfel: Dac A = (aij) i B = (bij), atunci A * B = C, unde C = (cij), cu cij = min (aik + bkj), () i, j = 1, n , dac se caut ruta de valoare minim.
1 k n
(k )
mij . Dac aceast sum se afl pe linia lui xk, primul arc al
drumului cutat este (xi, xk). Transpunem apoi linia lui xk din V peste coloana lui xj din M i n mod asemntor determinm urmtorul vrf al rutei, .a.m.d., pn ajungem n xj.
25
Teoria grafurilor
x3
4
x1
5
2 6 1
x4
3
x5
Rezolvare
26
x1 0 0
x2 7 0 5
x3 2 0
x4 6 4 0
x5 3 1 3 0
5. Drumul critic
27
Teoria grafurilor
S considerm un graf G finit, orientat, valuat i fr circuite, care modeleaz o problem de cercetare dezvoltare (R & D) sau investiional pentru care este necesar un plan de activiti, adic un complex de sarcini limitate n timp i spaiu. O stare oarecare n realizarea proiectului o vom numi eveniment i o vom reprezenta printr-un vrf al grafului; orice poriune de proiect avnd un nceput i un sfrit n evenimente distincte i deci care consum o durat de timp o vom numi activitate i o vom reprezenta printrun arc. Timpul necesar unei activiti reprezentate de un arc este valoarea arcului respectiv i l vom numi timp operativ. Graful mai are un eveniment
de debut vrful x0 i un eveniment final vrful xn.
S presupunem c am stabilit graful unui program i ne-am convins c nu are circuite. Ne ntrebm care este data realizrii ansamblului de activiti, adic durata programului de realizat. Aceast durat nu poate fi inferioar sumei timpilor operativi luai pe drumul cel mai nefavorabil de la x0 la xn, adic ce d ntre aceste dou puncte o sum maxim de timpi operativi. Acest drum (pot exista mai multe) se va numi drum critic. O mai bun nelegere o vom obine pe graful alturat: x2
3 5 10
x1
x3
Evenimentul x3 reprezint realizarea a trei activiti (operaii): (x1, x2), (x1, x3) i (x2, x3). Se vede c vor trebui 10 uniti de timp pentru ca aceste activiti s se realizeze. Lund pentru durata ansamblului de lucrri suma timpilor operatori de pe drumul cel mai nefavorabil de la x0 la xn, ne asigurm ca toate operaiile prevzute s poat fi realizate. Calculul duratei de realizare a lui
28
xn revine la cutarea n graf a drumului critic. Vrfurile drumului critic se numesc evenimente critice, iar arcele lui activiti critice. Operaiunile de pe drumul critic nu pot fi amnate. Celelalte evenimente sau activiti necritice, ce pot fi amnate, trebuie analizate ca nu cumva amnarea lor prea mare s duneze programului. n cele ce urmeaz prezentm metoda PERT (program de evaluare i revizuire a obiectivelor) de determinare a drumului critic. Aceasta const din urmtoarele etape: 1) Scriem matricea arcelor A, determinm matricea drumurilor D i ne asigurm c graful nu are circuite; 2) Dac graful nu are circuite, scriem matricea D (triangularizata lui D) i i asociem apoi matricea V (a valorilor arcelor) triangularizat; 3) Determinm matricea M (a valorilor maxime ale drumurilor dintre oricare dou vrfuri ale grafului, deci l vom avea i pe cel de la x0 la xn drumul critic) cu al doilea algoritm din paragraful precedent; 4) Se determin drumul critic (drumul de valoare maxim de la x0 la xn), evenimentele i activitile critice; 5) Se determin rezervele de timp (marjele) pentru toate evenimentele i activitile necritice, dnd prioritate operaiilor cu marja mai mic. Deci trebuie cunoscut pentru fiecare eveniment xi necritic data sa limit de realizare, dat de la depirea creia tot programul va fi ntrziat. Timpul necesar pentru realizarea operaiunilor situate ntre xi i xn se obine cutnd n matricea M valoarea maxim a drumului de la xi la xn, pe care o notm prin v[dmax(xi, xn)]. Astfel ne asigurm ca operaiile ce succed
29
Teoria grafurilor
lui xi s poat fi realizate. Durata limit cutat (timpul cel mai ntrziat de realizare a lui xi, notat prin t ti va fi dat de:
t ti = v[dmax(x0, xn)] v[dmax(xi, xn)]. Dac notm prin t id - timpul cel mai devreme de realizare a evenimentului xi, el va fi dat de v[dmax(x0, xi)]. Atunci marja evenimentului xi va fi t ti - t id , evident nenegativ. n funcie de valoarea marjei, evenimentele sunt critice (cu marja egal cu zero) sau necritice (cu marja pozitiv). O cercetare asemntoare poate fi fcut i n funcie de activiti. Se asociaz oricrei activiti (xi, xj), i j, urmtoarele momente de timp: 1) t id - timpul cel mai devreme de ncepere a activitii (xi, xj), care este ntocmai v[dmax(x0, xi)]; 2) t tj - timpul cel mai ntrziat de terminare a activitii (xi, xj), care este v[dmax(x0, xn)] v[dmax(xj, xn)]; 3) t ti - timpul cel mai ntrziat de ncepere a activitii (xi, xj) este egal cu t tj - vij (valoarea arcului (xi, xj)); 4) t dj - timpul cel mai devreme de terminare a activitii (xi, xj) este egal cu t id + vij.
Aplicaie
Integrarea Romniei n structurile europene necesit nfptuirea, ntrun sector economic, a unui obiectiv, a crei finalizare este posibil prin
30
realizarea ntr-o ordine bine stabilit a unor evenimente, conform urmtorului graf: x1
3 6 5 7
x4
2 10 3 5
x0
4
x2
3 9
x6
4
x5
x3 Considernd cunoscute duratele de parcurgere a fiecrei etape de reform n sptmni valorile arcelor, se cere:
a) care este data cea mai apropiat a nfptuirii obiectivului? b) care este data cea mai apropiat i cea mai ndeprtat a fiecrui
A x0 x1 x2 x3 x4 x5 x6
x0 0 0 0 0 0 0 0
x1 1 0 0 0 0 0 0
x2 1 1 0 1 0 0 0
x3 1 0 0 0 0 0 0
x4 0 1 1 0 0 0 0
x5 0 0 1 1 1 0 0
x6 0 0 1 0 1 1 0
31
Teoria grafurilor
Determinm matricea drumurilor D ca s vedem dac graful are circuite. Dac nu are, atam lui D coloana puterilor de atingere p(xi), i = 0,6 , pentru a obine matricea triangularizat D. D x0 x1 x2 x3 x4 x5 x6 x0 0 0 0 0 0 0 0 x1 1 0 0 0 0 0 0 x2 1 1 0 1 0 0 0 x3 1 0 0 0 0 0 0 x4 1 1 1 1 0 0 0 x5 1 1 1 1 1 0 0 x6 1 1 1 1 1 1 0 p(xi) 6 4 3 4 2 1 0
Graful nu are circuite i D se obine din D prin schimbarea ordinii ntre x2 i x3, att pe linii ct i pe coloane. D x0 x1 x3 x2 x4 x5 x6 x0 0 0 0 0 0 0 0 x1 1 0 0 0 0 0 0 x3 1 1 1 0 0 0 0 x2 1 0 0 0 0 0 0 x4 1 1 1 1 0 0 0 x5 1 1 1 1 1 0 0 x6 1 1 1 1 1 1 0
( 2)
32
Obinem: M(2) x0 x1 x3 x2 x4 x5 x6 x0 0 - - - - - - x1 3 0 - - - - - x3 4 - 0 - - - -
( 2)
x2 9 6 3 0 - - -
x4 10 8 5 2 0 - -
x5 13 13 10 7 5 0 -
x6 15 16 13 11 9 4 0
n care, de exemplu, elementul m35 se obine transpunnd linia lui x3 din V pe coloana lui x5; apoi efectum suma coloanelor obinute i reinem cea mai mare valoare. Astfel:
( 2)
de unde citim v[dmax(x0, x6)] = 20 = m06 Deci obiectivul poate fi nfptuit cel mai devreme n 20 de sptmni.
33
Teoria grafurilor
procedm ca n etapa a 3-a a celui de-al doilea algoritm din paragraful 4. Astfel, transpunem linia lui x0 din V peste coloana lui x6 din M, efectum sumele perechilor de elemente, reinnd valoarea maxim egal cu m 06 = 20. Avem: max0 + 20; 3 + 17; 4 + 14; 5 + 11; - +9; -+4; -+0 = 20 Aceast sum s-a gsit pe linia lui x1, deci primul arc al drumului critic este (x0, x1). Apoi transpunem linia lui x1 din V peste coloana lui x6 din M i cea mai mare valoare va corespunde liniei lui x2, urmtorul arc fiind (x1, x2), .a.m.d.. Se gsesc dou drumuri critice; evident au aceeai valoare 20. d1 = x0 x1 x2 x4 x5 x6 d2 = x0 x1 x2 x5 x6 Evenimentele critice sunt: x0, x1, x2, x4, x5, x6. Evenimentul xi x0 x1 x3 x2 x4 x5 x6 t id 0 3 4 9 11 16 20 t ti 0 3 6 9 11 16 20 Marja (t ti -t id ) 0 0 2 0 0 0 0
unde t id = v[dmax(x0, xi)], i = 1,6 , se citesc pe linia lui x0 n M, iar t ti = v[dmax(x0, x6)] v[dmax(xi, x6)] = 20 v[dmax(xi, x6)], unde v[dmax(xi, x6)], i = 0,6 , se citesc pe coloana lui x6 din M. Din tabel rezult c singurul eveniment ce mai poate admite o ntrziere este x3, cu cel mult 2 sptmni.
34
componena drumurilor critice. Pentru o analiz a posibilelor ntrzieri, organizm calculele n urmtorul tabel:
Activiti t id vij t tj t ti t dj Marja
(x0, x1) (x0, x2) (x0, x3) (x1, x2) (x1, x4) (x3, x2) (x3, x5) (x2, x4) (x2, x5) (x2, x6) (x4, x5) (x4, x6) (x5, x6)
0 0 0 3 3 4 4 9 9 9 11 11 16
3 5 4 6 7 3 9 2 7 10 5 3 4
3 9 6 9 11 9 16 11 16 20 16 20 20
0 4 2 3 4 6 7 9 9 10 11 17 16
3 5 4 9 10 7 13 11 16 19 16 14 20
0 4 2 0 1 2 3 0 0 1 0 6 0
vij = v35 = 9 din graf sau din V; t tj = t t5 = v[dmax(x0, x6)] v[dmax(x5, x6)] = = 20 4 = 16, primul termen citit pe linia lui x0 i coloana lui x6, iar al doilea termen pe linia lui x5 i coloana 6 din M; t ti = t tj - vij, n cazul nostru t t3 = t t5 - v35 = 16 9 = 7 (adic elementele coloanei t ti se obin scznd din
d d coloana t tj coloana vij); t dj = t id + vij, devine t 5 = t 3 + v35 = 4 + 9 = 13
(adic elementele coloanei t dj se obin adunnd respectiv elementele coloanelor t id i vij). Marja este dat de t ti - t id sau t tj - t dj , n cazul nostru
d d t t3 - t 3 = t t5 - t 5 = 7 4 = 16 13 = 3.
35
Teoria grafurilor
Activitile critice au marja zero, iar celelalte trebuie supravegheate n funcie de mrimea marjei, n ordinea cresctoare a acesteia.
6. Arbori
Dac G este un graf neorientat i [x, y] o muchie a sa, spunem c vrfurile x i y sunt adiacente n graful dat i de asemenea, c vrfurile x i y sunt incidente cu muchia [x, y]. Gradul unui vrf x este numrul muchiilor incidente cu vrful x. Un vrf cu gradul egal cu 1 se numete vrf terminal al grafului G.
Definiie: Un graf neorientat, finit, conex i fr cicluri se numete arbore. Propoziia 5. Dac G este un arbore, atunci el are urmtoarele
proprieti: 1) ntre dou vrfuri oarecare ale lui G exist un lan i numai unul; 2) dac n G se suprim o muchie, G nu mai este arbore; 3) dac n G se introduce o nou muchie, G nu mai este arbore; 4) orice arbore cu n vrfuri, n 2, conine cel puin 2 vrfuri terminale; 5) orice arbore cu n vrfuri are n 1 muchii.
Demonstraie: 1) ntr-adevr, absena lanului nseamn c G nu e conex, iar
existena a dou lanuri implic formarea unui ciclu, situaie exclus prin definiie;
2) Presupunem prin absurd c graful G1 obinut din G prin
extremiti x i y, care mpreun cu muchia suprimat [x, y] formeaz un ciclu n G, fapt ce contrazice definiia arborelui G.
Observaia 1:
Un graf conex n care dac suprimm o muchie oarecare graful obinut devine neconex se cheam graf conex minimal. Deci orice arbore este un graf conex minimal. Reciproca acestei afirmaii este valabil. ntradevr, presupunem prin absurd c graful conex minimal G nu este arbore i conine un ciclu [x, z1, ..., zk, y, x]. Suprimnd muchia [x, y], se obine un nou graf G1 care este conex, deoarece n orice lan dintre dou vrfuri oarecare u i v ale lui G care conine muchia [x, y] putem nlocui aceast muchie prin lanul [x, z1, ..., zk, y] care exist i n G1, obinnd un lan ntre u i v din G1. Deci G1 este conex, ceea ce contrazice faptul c G este graf conex minimal. Rezult c G este fr cicluri, deci G este arbore.
3) fie x i y dou vrfuri neadiacente n G. Din proprietatea 1)
rezult c ntre ele exist un lan de extremiti x i y. Prin adugarea muchiei [x, y] se formeaz un ciclu, deci G nu mai este arbore.
Observaia 2:
Un graf fr cicluri n care dac adugm o muchie oarecare graful va conine un ciclu se numete graf fr cicluri maximal. Deci orice arbore este un graf fr cicluri maximal. Reciproca acestei afirmaii este adevrat. ntr-adevr, fie G un graf fr cicluri maximal. S artm c G este conex. Presupunem prin absurd c G nu este conex, deci exist vrfurile x i y ntre care nu exist un lan. Prin adugarea muchiei [x, y] se formeaz graful G1 care nu poate conine un ciclu pentru c G nu conine cicluri i ntre x i y nu exist nici un lan.
37
Teoria grafurilor
Apariia lui G1 fr cicluri contrazice ipoteza c G este un graf fr cicluri maximal. Deci G este conex i cum nu are cicluri este arbore.
4) Presupunem prin absurd c exist un arbore G cu n 2 vrfuri
care are cel mult un vrf terminal i fie [x, z1, ..., zp, y] un lan elementar care conine un numr maxim de muchii (de lungime maxim). Cel puin una dintre extremitile lanului are gradul mai mare sau egal cu 2, deoarece am presupus c arborele are cel mult un vrf terminal. Fie aceast extremitate x, deci x mai este adiacent cu un vrf al arborelui G i anume cu unul din vrfurile lanului de lungime maxim considerat. Dar atunci se produce un ciclu i se contrazice definiia arborelui. Presupunerea fcut este fals i proprietatea este demonstrat.
5) Demonstraia se face prin inducie dup n. Pentru n = 2, exist
arbore format din muchia ce unete cele 2 vrfuri. Presupunem c orice arbore cu n vrfuri are n 1 muchii. Fie G un arbore cu n + 1 vrfuri care conform proprietii 4 are cel puin un vrf terminal x. Suprimnd din G vrful x i muchia incident cu x, se obine subgraful G1, cu n vrfuri. Deoarece G nu conine cicluri, rezult c nici G1 nu conine cicluri. S artm c G1 este conex. Fie y i z dou vrfuri oarecare, diferite ntre ele i diferite i de x, ale lui G. Din 1) rezult c ntre y i z exist un singur lan, care nu trece prin x (vrf terminal), deci este un lan de extremiti y i z i n G1. Rezult c G1 este conex, deci este arbore. Dar G1 are n vrfuri i deci aplicnd ipoteza de inducie G1 are n 1 muchii. Dar G conine n plus fa de G1 muchia incident cu x, deci G are n muchii i proprietatea 5 este demonstrat.
38
Condiia necesar i suficient ca printre grafurile pariale ale lui G s existe arbori este ca G s fie conex.
Demonstraie:
Condiia este necesar deoarece dac G nu este conex orice graf parial are aceeai proprietate, deci nu poate fi arbore. S artm acum c orice graf conex G conine un arbore parial G. Dac G este un arbore conex minimal, conform observaiei 1, el este arbore, deci G = G. n caz contrar, exist cel puin o muchie [x, y] a lui G care prin suprimare ne conduce la graful G conex. Apoi din G suprimm o alt muchie .a.m.d. pn obinem un graf conex minimal, care va fi arbore parial al lui G.
Teoria grafurilor
Algoritmul Kruskal
n condiiile i) i ii) de mai sus, va exista muchia u1 cu valoarea cea mai mic, u2 cu valoarea imediat urmtoare, u3 cu valoarea care urmeaz, dar care nu formeaz un ciclu cu precedentele .a.m.d., eliminnd muchiile care ar forma cicluri cu cele reinute. i cum G are un numr finit de vrfuri i de muchii, va exista un rang k peste care nu se poate trece fr a se forma un ciclu. Deci: f(u1) < f(u2) < f(u3) < ... < f(uk) muchiei ui, i = 1, k . Obinem astfel un graf fr cicluri, maximal, care conform observaiei 2 este un arbore, pentru care, din proprietatea 5, k = n 1.
Teorema 3.
unde
f(ui)
este
valoarea
Arborele G = (X, U), unde U = u1, ..., uk determinat prin algoritmul Kruskal are valoarea minim.
Demonstraie:
Presupunem prin absurd, c exist un arbore G = (X, U), cu U = u1, ..., uk, G G, de valoare minim. Fie ui prima muchie din G (n ordinea cresctoare a valorilor) care nu exist n G. Graful parial format cu muchiile lui G, la care se adaug ui nu este arbore pentru c, n baza proprietii 3, apare un ciclu. Exist deci o muchie uj G i deoarece primele i 1 muchii ale lui G sunt i ale lui G, vom avea f(uj) > f(ui). Dac n G se nlocuiete uj cu ui se obine tot un arbore, numrul de muchii rmne tot k = n 1, cu valoarea total mai mic dect G, ceea ce contrazice ipoteza c G e minim. De aici rezult c G este arborele de valoare minim i c el este unic, cnd toate muchiile sunt de valori distincte.
40
f(ui+p) f(ui+p) + p numerele s, s = 0, p , fiind alese astfel nct s nu se afecteze ordinea valorilor acestor muchii fa de celelalte. Cu acestea, ordinea valorilor muchiilor devine strict, n final punndu-se s = 0, s = 0, p . n general, dac exist mai multe muchii cu aceeai valoare, pentru graful G conex, pot exista mai multe posibiliti de alegere a unei muchii de valoare minim care nu formeaz cicluri cu muchiile deja alese, deci pot exista mai muli arbori de valoare minim.
Exemplu:
41
Teoria grafurilor
x2
35 30
x5 x3
36 65
x1
50
35 40 42 60 50 55 60
x7
x4
Rezolvare
x6
Pentru a pstra o ordine scriem partea de deasupra diagonalei principale din matricea valorilor muchiilor. Se obine: x1 x2 x3 x4 x5 x6 x7 x1 x2 35 x3 35 30 x4 50 42 40 x5 36 60 x6 50 55 x7 65 60 -
Muchia [x2, x3] de lungime minim o reinem n arbore. Apoi exist dou muchii [x1, x2] i [x1, x3] de lungime 35. O alegem, de exemplu, pe [x1, x2] iar [x1, x3] nu poate fi aleas deoarece ar forma ciclu [x1, x2, x3, x1] cu muchiile deja alese. Urmtoarea valoare n ordine cresctoare este 36 i corespunde muchiei [x3, x5] ce poate fi aleas (nu formeaz cicluri), apoi [x3, x4] de valoare 40. Muchia [x2, x4] de valoare 42 nu se alege (formeaz ciclu). Urmtoarea valoare este 50 pentru [x3, x6], se reine, n vreme ce [x1, x4] nu se reine (formeaz ciclu). Dintre muchiile de valoare 60 se reine doar [x6, x7]. S-au reinut astfel 6 muchii, attea ct va avea arborele cutat.
42
x2
35 30
x5 x3
36
x1
40 50 60
x7
x4
x6
43
Teoria grafurilor
7. Probleme 1. Fie graful G = (X, T), X = x1, x2, x3, x4, x5 i T(x1) = x4;
T(x2) = x1, x5; T(x3) = x1, x2, x4, x5; T(x4) = ; T(x5) = x1, x4. Se cere: a) s se reprezinte geometric graful G; b) s se scrie un drum de lungime 3 din G; c) s se determine matricea drumurilor D; d) s se cerceteze existena circuitelor n G; e) s se cerceteze existena drumurilor hamiltoniene.
Rezolvare a) Reprezentarea geometric este:
x2 x1 x3 x5 x4
b) d = (x3, x2, x1, x4) c) Scriem matricea A apoi determinm, cu algoritmul obinut,
matricea D. A x1 x2 x3 x4 x5 x1 0 1 1 0 1 x2 0 0 1 0 0 x3 0 0 0 0 0 x4 1 0 1 0 1 x5 0 1 1 0 0 D x1 x2 x3 x4 x5 x1 0 1 1 0 1 x2 0 0 1 0 0 x3 0 0 0 0 0 x4 1 1 1 0 1 x5 0 1 1 0 0 p(xi) 1 3 4 0 2
44
Pentru a obine, de exemplu, linia lui x2 n D, am preluat elementele egale cu 1 de pe linia lui x2 din A n D. Apoi pentru c avem 1 pe coloana lui x1, adunm boolean linia lui x1 din A la cea a lui x2 i mai apare un 1 pe coloana lui x4. Pentru c avem 1 pe coloana lui x5, adunm boolean linia lui x5 la cea a lui x2 i nu mai obinem alt element egal cu 1. Avem i un 1 pe coloana lui x4, adunm linia lui x4 din A la cea a lui x2 i nu mai obinem alte elemente de 1; completm locurile libere cu zerouri. Repetm raionamentul pentru fiecare linie i obinem matricea D.
d) Pe diagonala principal a matricei D toate elementele sunt egale
determinnd puterile de atingere ale vrfurilor. Adugm matricei D coloana p(xi) cu valorile: p(x1) = 1, p(x2) = 3, p(x3) = 4, p(x4) = 0, p(x5) = 2. Deoarece n = 5,
5
p( x ) = 10 , iar
i =1 i
n(n 1) 5 4 = = 10 , rezult c 2 2
exist drum hamiltonian pe care l obinem scriind vrfurile grafului n ordinea descresctoare a puterii lor de atingere, adic: dH = (x3, x2, x5, x1, x4).
2. Fie graful G = (X, U), X = x1, x2, x3, x4, x5 i
U = (x1, x3), (x1, x4), (x2, x1), (x2, x5), (x3, x4), (x4, x2), (x4, x5), (x3, x2). Se cere: a) s se reprezinte geometric graful G; b) s se cerceteze dac are circuite; c) s se cerceteze dac are drumuri hamiltoniene.
45
Teoria grafurilor
Rezolvare a)
x2 x5 x1 x4 x3
b) Fr s mai determinm matricea D se observ c exist circuitul
x1
D (1) x3 x4
x2 x2 x4
x5 x5
(1)
0 x2x1x3x4 x3x2x1x4 0 0
0 x3x4x2x1 0 0
0 0 0 0 0
0 0 0 0 0
46
Matricea D(4) conine drumurile elementare formate din 4 arce, deci ce trec prin 5 vrfuri, adic prin toate vrfurile grafului. Aceste drumuri sunt i hamiltoniene i avem:
1 d (H) = (x1, x3, x4, x2, x5)
2 d (H ) = (x2, x1, x3, x4, x5) 3 d (H ) = (x3, x2, x1, x4, x5).
graful de mai jos. Posibilitile de comunicare ntre obiective sunt figurate prin arce, iar costul unei comunicri este valoarea arcului. Se cere: a) s se determine comunicrile de cost minim la x5; b) s se determine comunicrile de cost minim ntre oricare dou obiective. x2
3 4 1 6 2 3
1 2 5
x3
x1
1 4
x5
x4
47
Teoria grafurilor
V x1 x2 x3 x4 x5
mi 5 mi 5 m
(1) ( 2)
x1 0 3 6 5 4 4
x2 4 0 1 3 1 1 1 1
x3 2 0 5 2 2 2 2
x4 0 1 4 4 4 4
x5 6 1 4 0 0 0 0 0
mi 5
( 3)
( 4) i5
(2)
= V * V.
x1 0 3 x2 4 0 1 3 x3 2 0 5 2 x4 0 1 x5 6 1 4 0 V x1 x2 x3 x4 x5 x1 0 3 x2 4 0 1 3 x3 2 0 5 2 x4 0 1 x5 6 1 4 0 M(2) x1 x2 x3 x4 x5 x1 0 3 4 6 x2 3 0 1 6 3 x3 2 3 0 5 2 x4 7 2 0 1 x5 5 1 2 4 0
V x1 x2 x3 x4 x5
= M(5) = M
Matricea M(4) conine valorile minime ale rutelor dintre oricare vrf cap de linie la orice vrf cap de coloan.
48
Astfel, cifra 9 de pe linia lui x4 i coloana lui x1 din M(4) reprezint costul minim al comunicrii de la x4 la x1. Pentru a determina i ruta, adunm linia lui x4 (din V) cu respectiv elementele coloanei x1 din M(4). Cea mai mic sum este 5 + 4 = 9 i corespunde liniei lui x3 din M(4), deci (x4, x3) este primul arc al rutei cutate. Apoi transpunem linia lui x3 din V peste coloana lui x1 din M(4), efectum sumele perechilor de elemente i cea mai mic sum este 1 + 3 = 4 ce va corespunde liniei lui x2 din M(4). Arcul (x3, x2) este urmtorul din rut. n sfrit, transpunem linia lui x2 din V peste coloana lui x1 din M(4), adunm cele dou coloane, suma minim este 3 + 0 = 3 de pe linia lui x1 din M(4), deci urmtorul arc este (x2, x1) i am ajuns la destinaie. Ruta cutat va fi: d: x4 x3 x2 x1
5 1 3
i valoarea ei este 5 + 1 + 3 = 9.
a) s se cerceteze dac are circuite; b) s se cerceteze dac are drumuri hamiltoniene; c) n caz c exist, s se determine drumul de valoare maxim de la x2 la x4. x2
2 9 3 2 8 6 5 7
x5
4
x1
x3
x6
x4
Rezolvare a) Se determin pe rnd matricele A (a arcelor) i D (a drumurilor).
49
Teoria grafurilor
A x1 x2 x3 x4 x5 x6
x1 0 0 0 0 0 0
x2 1 0 0 0 0 0
x3 1 1 0 0 1 0
x4 1 0 1 0 0 0
x5 0 1 0 0 0 0
x6 0 0 0 1 1 0
D x1 x2 x3 x4 x5 x6
x1 0 0 0 0 0 0
x2 1 0 0 0 0 0
x3 1 1 0 0 1 0
x4 1 1 1 0 1 0
x5 1 1 0 0 0 0
x6 1 1 1 1 1 0
p(xi) 5 4 2 1 3 0
Pe diagonala principal n D toate elementele sunt egale cu zero, deci nu exist circuite.
b) Adugm lui D coloana puterilor de atingere p(xi) i o
p( x ) = 15 i cum n = 6;
i =1 i
n(n 1) 6 5 = = 15 2 2
este ndeplinit
condiia de existen a drumului hamiltonian i acesta este, scriind vrfurile grafului n ordinea descresctoare a puterilor de atingere: dH = (x1, x2, x5, x3, x4, x6).
c)
V x1 x2 x3 x4 x5 x6
mi 4 mi 4 m m mi 4
(1)
x1 0 - - - - - 2 11 19 22 22
x2 2 0 - - - - - 17 20 20 20
x3 3 9 0 - 7 - 8 8 8 8 8
x4 2 - 8 0 - - 0 0 0 0 0
x5 - 5 - - 0 - - - 15 15 15
x6 - - - 6 4 0 - - - - -
( 2)
( 3) i4 ( 4)
(5) i4
50
(1)
( 5)
a) arborele minimal i valoarea acestuia; b) un lan hamiltonian de valoare ct mai mic; c) arborele maximal i valoarea acestuia. x2
6 10 6 8
x4
9 8
x1
x3
Rezolvare
x5
x4
6 7 8
x1
x3
x5
51
Teoria grafurilor
valoarea cea mai mare i introducem n locul ei [x4, x5]. Se obine: lH = (x1, x2, x3, x5, x4) de valoare 28.
c) Alegem muchiile n ordinea descresctoare a valorii lor, cu grij
x4
9 8
x1
8
x3
x5
arborele maximal, care este i lan hamiltonian maximal i are valoarea 35.
52
1. Spaii liniare
Fie X o mulime nevid, K un corp de numere (reale sau complexe) i dou legi de compoziie: o lege intern, adunarea, definit +: X X X, cu x + y X () x,y X i o lege extern nmulirea cu scalar, definit : K X X, x X, () x X i K. Definiia 1: Mulimea X formeaz un spaiu liniar (vectorial) peste corpul K, notat (X, K), dac: 1. (X, +) este grup abelian. 2. a) (x + y) = x + y, () K, () x, y X b) ( + )x = x + x, () , K, () x X c) (x) = ()x, () , K, () x X d) 1 x = x () x X, 1 K. Elementele lui X se numesc vectori, elementele lui K se numesc scalari, elementul neutru din grupul (X, +) se noteaz cu 0 i se numete vector nul. Exemple 1. (n, ), unde n = x x = (x1, ..., xn)T, xi , i = 1,n cu
operaiile: x + y = (x1+ y1, ..., xn + yn)T, x = (x1, ..., xn)T, () x = (x1, ..., xn)T, y = (y1, ..., yn)T X, () K, 0 = (0,...,0)T.
53
Observaie: n este mulimea matricelor coloan cu n elemente numere reale, iar operaiile sunt: adunarea matricelor coloane cu cte n elemente i nmulirea lor cu un numr real.
a) 0 x + x = 0 x + 1 x = (0 + 1)x = 1 x = x
Din 0 x + x = x rezult 0 x = 0 ;
i =1
Exemplu:
6 3 4 1 a) v = 2 - 3 - = ; 0 3 2 11
b) Presupunem c exist 1 i 2 astfel nct v3 = 1v1 + 2v2.
nlocuind v1, v2, v3, avem: 6 3 4 = 1 + 2 de unde rezult sistemul: 0 3 2 61 + 32 = 4 - 32 = -2, cu soluia 2 =
2 1 1 2 i 1 = , deci v3 = v1 + v2 i 3 3 3 3
rspunsul e afirmativ.
Observaie: Deoarece 1, 2 [0, 1] i 1 + 2 = 1, v3 este o
55
Definiia 3:
v
i =1
i i
= 0 implic i = 0, i = 1,m ;
v
i =1
i i
= 0.
O familie S = vi i I de vectori din X este liniar independent dac orice sistem finit de vectori din S este liniar independent. n caz contrar, adic dac S conine cel puin un sistem finit de vectori liniar dependent, spunem c S este liniar dependent (I este mulimea indicilor familiei S).
Exemple: a) n (n, ), E = e1, ..., en n, cu e1 = (1, 0,...,0)T, ...
en = (0,..., 0, 1)T este un sistem liniar independent, deoarece din relaia: 1e1 + ...+ nen = 0 rezult 1 = ... = n = 0.
b) n (2, ), sistemul de vectori v1, v2, v3 cu
a) Sistemul v1, ..., vm X este liniar dependent dac i numai dac cel puin un vector este combinaie liniar a celorlali. b) Dac v1, ..., vm X este liniar independent i v1, ..., vm, vm+1 este liniar dependent, atunci vm+1 este combinaie liniar de v1, ..., vm.
56
Demonstraie:
a) Dac v1, ..., vm e liniar dependent, din definiie rezult c exist
v
i =1
i i
= 0.
v1 = 2v2 + ...+ mvm. Reciproc, dac v1 se scrie ca mai sus, avem: 1 v1 - 2v2 - ... - mvm = 0 unde 1 = 1 0, deci sistemul v1,...,vm este liniar dependent.
v
i
= 0.
Dac m+1 = 0, relaia de mai sus devine 1v1 + ... + mvm = 0 i din independena vectorilor v1, ..., vm ar rezulta 1 = ... = m = 0, ceea ce este o contradicie. Deci m+1 0, de unde vm+1 = combinaie liniar de ceilali vectori.
i =1
i
m +1
Aplicaie
n (3, ) se dau vectorii:
1 v1 = 2 ; v2 = 3 0 1 ; v3 = 1 1 0 ; v4 = 5 2 0 . 5
57
S se stabileasc natura sistemelor de vectori: a) S1 = v1, v2, v3; b) S2 = v1, v2, v4.
31 + 2 + 53 = 0
1 0 1
= 2 1 0 = 0 . 3 1 5 Alegem determinantul principal p = ecuaiilor i necunoscutelor principale va fi: 1 = - 3 21 - 2 = 0 de unde 1 = - 3, 2 = - 23, () 3 . nlocuind n relaia presupus 1, 2 n funcie de 3 avem: -3v1 - 23v2 + 3v3 = 0 -v1 2v2 + v3 = 0 sau v3 = v1 + 2v2, ce reprezint legtura dintre vectorii dependeni v1, v2, v3. 1 0 0 i deci sistemul 2 1
31 + 2 + 54 = 0
58
cu = 5, deci 0. Sistemul are soluie unic, soluia banal, deci 1 = 2 = 4 = 0 i v1, v2, v4 este un sistem de vectori liniar independent.
Definiia 5: Un sistem de vectori S = viiI se numete sistem de generatori pentru X dac orice vector din X este o combinaie liniar (finit)
de vectori din S.
Exemplu
n (n, ), E = e1, ..., en n, unde e1 = (1, 0, ..., 0)T, ..., en = (0 ,..., 0, 1)T, este sistem de generatori pentru n, deoarece () x n, cu x = (x1, ..., xn)T avem x = x1e1 + ... + xnen.
Exemplu
n (n, ), mulimea E = e1, ..., en formeaz o baz, numit baza
59
Exemplu
(n, ) are dimensiunea n, pentru c are baza E = e1, ..., en; se scrie dim n = n i se spune c este spaiul real n dimensional.
Demonstraie:
Fie B = vii = 1, m o baz a spaiului liniar (X, K) m-dimensional
i v X.
Existena
B e baz, deci este i sistem de generatori; atunci () v X, () 1, ..., m K astfel nct: v = 1v1 + ... + mvm
Unicitatea
(1)
Presupunem c scrierea nu este unic: v = 1v1 + ...+ mvm i () j j, 1 j m. Scznd ultimele dou relaii, avem: 0 = (1 - 1)v1 + ...+ (m - m)vm. Cum sistemul v1, ..., vm e liniar independent (B baz) rezult c
i - i = 0, () i = 1, m , deci j = j, ceea ce contrazice ipoteza. Deci
dimX = dimY sunt izomorfe, adic exist o funcie f: X Y cu proprietile: a) f este bijecie; b) f(x + y) = f(x) + f(y); () x, y X; c) f(x) = f(x), () K, () x X.
Fie n spaiul liniar (n, ) sistemul de vectori v1, ..., vm cu vj = (a1j, a2j, ...., anj)T, j = 1, m , i A = (aij), i = 1, n , j = 1, m , matricea ale crei coloane sunt vectorii dai.
Teorema 2: a) Sistemul de vectori v1, ..., vm este liniar independent dac i
Demonstraie:
Fie relaia:
1v1 + ...+ mvm = 0
(2)
(3)
ii) Sistemul (3) admite i soluii diferite de cea banal, deci va exista
cel puin un scalar i 0, i 1, ..., m, dac i numai dac rangA < m. Atunci din relaia (2) rezult v1, ..., vm - liniar dependent.
Aplicaie
a2 a , a . 0
Rezolvare
1 0 a2 A = 0 1 a A = 2a(a - 2) rezult: 2 4 0 - dac a \ 0, 2, A 0 rangA = 3 i deci sistemul de vectori este liniar independent; - dac a 0, 2, rangA < 3, sistemul de vectori este liniar dependent.
Consecin: n (n, ), orice sistem de m vectori, cu m > n este
formeaz o baz.
Demonstraie: Fie sistemul v1, ..., vn n, liniar independent. S
artm c este i un sistem de generatori. Fie v n; atunci v1, ..., vn, v este liniar dependent conform consecinei de mai sus, iar din propoziia 2b) rezult c v se scrie ca o combinaie liniar de vectorii dai, deci acetia din urm formeaz un sistem de generatori, deci baz.
Consecin: Verificarea condiiei ca n vectori s formeze o baz n
(n, ) se reduce doar la verificarea independenei acestora. Se pot pune urmtoarele probleme: cunoscndu-se un vector din n dat n baza canonic, cum se determin coordonatele lui ntr-o alt baz B a lui n; cum se schimb coordonatele acelui vector la schimbarea bazei B cu o alt baz B1. Rspunsul la aceste probleme l vom avea n urmtoarele dou propoziii.
63
Propoziia 7:
(4)
nlocuind vectorii v, v1, ... ,vn n (4), obinem sistemul de ecuaii liniare: a111 + .... + a1nn = b1
(5)
(6)
Cum v1, ... ,vn e baz, deci liniar independent, rangA = n n relaia (6) nmulim la stnga cu A-1 i avem: vB = A-1 v (7)
Observaie: Sistemul (5) este deci sistem de tip Cramer, are soluie
unic, pe care o putem gsi cu regulile lui Cramer sau cu alte metode elementare (a reducerii, substituiei).
Propoziia 8:
(8)
Demonstraie:
Aplicaie
3 ; v = 1
4 ' i v 1 = 2
1 ; 4
1/ 5 3 / 5 A-1 = 2 / 5 1 / 5 i deci: 1/ 5 3 / 5 vB = 2 / 5 1/ 5 4 2 / 5 = 2 6 / 5 .
a
j =1
j j
n .
Dac B1 = a1, ..., ai-1, v, ai+1, ..., an, atunci: a) B1 este baz n (n, ) i 0; b) Dac i 0 i x n cu xB = (1, ..., n)T, atunci
' x B1 = ( 1 , ..., 'n )T unde i' =
i j j i i , 'j = , pentru j i, i i
1 j n.
Demonstraie:
a) Dac B1 cu n vectori este baz, atunci este un sistem de vectori
(9)
rezult 1 = ... = n = 0.
66
a
j=1 j i n j
n n + i v = 0 ja j + i ja j = 0 j=1 j=1 j i
(
j=1 j i
+ i j ) a j + ii a i = 0
(10)
determinantul su:
1 0 L 1 L 0 0 1 L 2 L 0 M M L M L M 0 0 L i L 0 M M L M L M 0 0 L n L 1
D=
= i 0.
b) Fie x =
ja j , v =
j =1
a
j =1
j j
i presupunem i 0. Atunci:
iai = v - 1a1 - ... - i-1ai-1 - i+1ai+1 - ... - nan ai = 1 v 1 a1 ... i 1 a i 1 i +1 a i +1 ... n a n i i i i i (11)
67
Cum x =
a
j=1 j i j
a i 1 +
rezult: 'i =
j i i j j i i , ' j = j = , 1 j n, j i i i i i
demonstraia se termin.
Observaii:
1) i 0 din enunul lemei se numete pivot, iar regula de calcul
pentru 'j , j 1, n , j i se numete regula dreptunghiului sau
regula pivotului.
2) Lemei substituiei i se asociaz schema:
B a1 a2 ai an B1 a1 i 0 a2
a1 1 0 0 0 a1 1 0
a2... 0 1 0 0 a2... 0 1
ai... 0 0 1 0 ...ai...
1 i 2 i 1 i
n i
an 0 0 0 1 an 0 0
v 1 2 i n
x 1 2 i n v 0 0
i 0 x
11 = i 1 1 i i
12 =
i 2 2 i i
v an
0 0
0 0
0 1
1 0
1i =
i i
1n =
i n n i i
68
(12)
Notnd cu A = (aij), i, j = 1, n , matricea coeficienilor, b =(b1, ..., bn)T, x = (x1,..., xn)T, sistemul (12) devine: Ax = b (13) Presupunem A 0. Fiecare coloan j din A, j = 1, n , este un vector aj n cu aj = (a1j, ..., anj)T. Atunci A = (a1, ..., an) i din (13) avem:
x1 (a1, ..., an) M = b x1a1 +...+ xnan = b x n
(14)
69
Din condiia A 0 rezult rangA = n, vectorii a1, ..., an sunt independeni deci formeaz o baz n (n, ), iar din relaia (14) observm c vectorul soluie x are drept componente coordonatele vectorului b n baza a1, ..., an. Ne propunem, folosind lema substituiei, s determinm coordonatele lui b n baza a1, ..., an, pornind de la faptul tiut c vectorii b, a1, ..., an sunt dai n baza canonic.
en
an1
an2
...
ann
bn
Dac a11 0, se alege ca pivot, n caz contrar permutm unele linii ale sistemului cu scopul ca elementul de pe linia i coloana nti s fie diferit de zero.
b1 a 11
e2
a22
...
a2n
b '2 =
a 11b 2 a 21b1 a 11
en
an2
...
ann
b 'n =
a 11b n a n1b1 a 11
70
Dac a22 0, l alegem drept pivot, procedm analog ca n pasul precedent, .a.m.d., pn n final cnd ajungem la: Baza a1 a2 a1 1 0 a2 0 1 ... ... ... an 0 0 b x1 x2
an
...
xn
Aplicaie
Folosind metoda eliminrii Gauss Jordan, s se rezolve sistemul: x1 + x2 + x3 = 1 4x1 + 3x2 + 2x3 = -2 2x1 + x2 + x3 = -2
Rezolvare
Matricea sistemului este:
1 1 1 A = 4 3 2 , A = -1 0. 2 1 1
Sistemul este compatibil determinat i se poate rezolva cu metoda eliminrii a lui Gauss Jordan.
71
6. Funcionale liniare
n n f i x i = if ( x i ) ; () i K, () xi X, i = 1, n . i =1 i =1 Presupunem c dimX = n i fie G = g1, ..., gn o baz a lui X. Dac x X este un vector arbitrar ales, atunci din teorema bazei avem:
72
x =
x g
i =1 i n
ai = f(gi), iar xG = (x1, ..., xn)T. A se numete matricea asociat funcionalei liniare f n baza G.
Aplicaie
Fie f: 3 , f(x) = 2x1 x2 3x3, () x = (x1, x2, x3)T 3. Se cere: a) s se arate c f este funcional liniar; b) s se determine matricea A a funcionalei n baza canonic, E = e1, e2, e3, a lui (3, ).
Rezolvare a) Fie x = (x1, x2, x3)T, y = (y1, y2, y3)T vectori arbitrari din 3.
Atunci: x + y = (x1 + y1, x2 + y2, x3 + y3)T i f(x + y) = 2(x1 + y1) (x2 + y2) 3(x3 + y3) = = (2x1 x2 3x3) + (2y1 y2 3y3) = f(x) + f(y), deci f e aditiv. Pentru x = (x1 , x2, x3)T rezult: f(x) = 2x1 - x2 -3x3 = (2x1 x2 3x3) = f(x), () , deci f e omogen, adic f e funcional liniar.
73
7. Mulimi convexe
n cele ce urmeaz, notaia X va desemna un punct al unui spaiu vectorial i nu spaiul vectorial nsui.
i =1
= 1, rezult:
X
i =1 i
C.
a x
j=1 n j
a x
i =1 j
b .
74
a
j=1
ij
Demonstraie:
Fie X1, X2 T, deci AX1 b, AX2 b. S artm c () [0, 1], X = X1 + (1 - )X2 T. ntr-adevr: AX = A[X1 + (1 - )X2] = AX1 + (1 - )AX2 b + (1 - )b = b. Deci T e convex, adic mulimea soluiilor unui sistem de inegaliti liniare este o mulime convex.
Demonstraie:
Pentru simplitatea justificrii considerm H 2, adic e interiorul unui poligon mpreun cu laturile sale (ca de exemplu n figura de mai jos). A3 A4 X A5 A1
M
A2
75
Distingem cazurile: a) Dac X A1, sau oricare alt vrf, rezult X = 1 A1 + 0(A2 + ... + A5), deci X e combinaie liniar convex de vrfurile lui H. b) Dac X aparine segmentului determinat de dou vrfuri oarecare ale lui H, de exemplu A1 i A2, din definiia 10 a segmentului, rezult c: X = A1 + (1 - )A2, 0 1. c) Dac X nu se afl n cazurile a) sau b), atunci este un punct n interiorul poligonului; unim X cu un vrf, de exemplu A1, prelungim segmentul [A1, X] i notm cu M intersecia cu latura A2A3. Atunci putem scrie: X = A1 + (1 - )M = A1 + (1 - )[A2 + (1 - )A3] = = A1 + (1 - )A2 + (1 - )(1 - )A3 care este combinaie liniar convex de vrfurile lui H (cele ce nu apar au coeficienii nuli), pentru 0 1 i 0 1, deoarece + (1 - ) + (1 - )(1 - ) = 1.
76
Rezolvare
Dac x, y n, x = (x1, ..., xn)T, y = (y1, ..., yn)T i , definim operaiile: x + y = (x1 + y1, ..., xn + yn)T n x = (x1, ..., xn) n. ce reprezint legea de compoziie intern notat +, respectiv legea de compoziie extern notat .
77
b) ( + )x = x + x; () , , () x n.
( + )x = ( + )(x1, ..., xn)T = (( + )x1, ..., ( + )xn)T = = (x1 + x1, ..., xn + xn)T = (x1, ..., xn)T + (x1, ..., xn)T = = (x1, ..., xn)T + (x1, ..., xn)T = x + x. Am folosit aici distributivitatea nmulirii numerelor reale fa de adunarea lor.
c) (x) = ()x; () , , () x n.
(x) = ((x1, ..., xn)T) = (x1, ..., xn)T =((x1),...,(xn))T = = (()x1, ..., ()xn)T = ()(x1, ..., xn)T = ()x. Am folosit asociativitatea nmulirii numerelor reale.
78
a) S se determine combinaia liniar de v1, v2, v3 cu respectiv scalarii 1, -1, -2. b) S se determine m, n , astfel nct: mv1 + nv2 = v3.
Rezolvare a) v = 1v1 1v2 2v3 = 1(4, -1, 2, 1)T 1(-2, 1, -1, -1)T - 2(2, 1, 1, -1)T = (2, -4, 1, 2)T.
b) Relaia m(4, -1, 2, 1)T + n(-2, 1, -1, -1)T = (2, 1,1, -1)T este
echivalent cu sistemul: 4m 2n = 2 -m + n = 1 2m n = 1 m n = -1 ce are soluia m = 2 i n = 3.
3. Fie vectorii v1 = (3, -2, 0)T, v2 = (1, -1, 1)T, v3 = (m, 2, 4)T.
a) S se determine m astfel nct v1, v2, v3 s fie liniar dependeni i s se gseasc legtura dintre ei; b) Artai c pentru m = 2 vectorii formeaz o baz n 3; c) Determinai coordonatele vectorului v = (5, -15, -7)T n baza de la punctul b.
Rezolvare
Formm matricea ale crei coloane sunt vectorii dai.
1 m 3 A = 2 1 2 . 0 1 4
79
Avem: A = -2m 10. Dac m = -5, A = 0 i rangA < 3; 3 fiind numrul vectorilor, rezult c vectorii sunt liniar dependeni i atunci v3 = (-5, 2, 4)T. Din definiia dependenei liniare rezult c exist i 0, i 1,3 , astfel nct: 1v1 + 2v2 + 3v3 = 0 0 este vectorul nul din 3. nlocuim n relaia (1) vectorii i obinem sistemul 31 + 2 - 53 = 0 -21 - 2 + 23 = 0 2 + 43 = 0 Determinant principal poate fi ales p = 2 1 0 1 0 . Avem: (1)
-21 - 2 = -23 2 = -43 , de unde 1 = 33 i nlocuind n relaia (1) pe 1 i 2 avem 33v1 - 43v2 + 3v3 = 0 Cum 3 0 (altfel vectorii ar fi liniar independeni), simplificm prin 3 i relaia cutat este: 3v1 4v2 + v3 = 0 .
80
(3)
sau
Rezolvare
Fie 1, 2, 3 scalari astfel nct: 1(v1 + v2) + 2(v1 2v2 + v3) + 3(v2+ 3v3) = 0 , relaie ce se mai scrie astfel: (1 + 2)v1 + (1 - 22 + 3)v2 + (2 + 33)v3 = 0 Dar v1, v2, v3 liniar independeni, implic sistemul: 1 + 2 = 0 1 - 22 + 3 = 0 2 + 33 = 0 a crui unic soluie este 1 = 2 = 3 = 0, i deci sistemul de vectori cercetat este liniar independent.
Rezolvare
Fie A i A matricele corespunztoare celor dou baze: 3 2 A= 1 1 , A = Din relaiile: v = AvB i v = AvB rezult AvB = AvB, de unde vB = A-1AvB i vB = (A)-1AvB Dar: A-1 = 1 2 3 1 1 2 i (A)-1 = , 5 1 3 2 2 4 (4) 4 3 2 2
82
iar: A-1A = 1 1 2 4 3 1 0 1 = 5 1 3 2 2 5 10 9 1 2 3 3 2 1 9 1 = 2 2 4 1 1 2 10 0
(A)-1A =
Rezolvare
Fie sistemul liniar i omogen: a11x1 + ...+ a1nxn = 0 am1x1 + ...+ amnxn = 0
84
x1 0 M 0 = M . x 0 n
(5)
Fie X1 i X2 dou soluii ale sistemului din relaia (5), deci AX1 = 0 i AX2 = 0 . Fie [0,1] i X = X1 + (1 - )X2. Atunci: AX = A[X1 + (1 - )X2] = AX1 + (1 - )AX2 = 0 + (1 - ) 0 = 0 de unde rezult c X este soluie a sistemului (5).
9. Dac C este o mulime convex i Xi C, i = 1, n , atunci
X=
X
i =1 i
, cu i 0,
i =1
= 1, aparine lui C.
Rezolvare
Aplicm principiul induciei complete. Pentru n = 2 proprietatea este adevrat din definiia lui C ca mulime convex. Presupunem adevrat proprietatea pentru k, adic: Y=
k k
X
i =1 i
C, () i 0, i = 1, k ,
= 1.
i =1 i
S considerm Z =
X
i =1
k
k +1
, cu k+1 (0,1) i
= 1, i 0.
i =1 i
k +1
Avem Z = (1 - k+1)
Deoarece
i X i + k +1X k +1 . i =1 1 k +1
i =1
85
(1 - k+1)Y + k+1Xk+1 = Z C, din convexitatea lui C. Deci proprietatea e adevrat i pentru k + 1 de unde rezult adevrat pentru orice n *.
86
PROGRAMARE LINIAR
1. Introducere
n cele mai diverse ramuri ale tiinelor economice apar probleme a cror rezolvare poate fi dat prin mai multe alternative. Pentru a diferenia aceste moduri de rezolvare trebuie urmrit un scop i rezolvarea cea mai bun este cea n care scopul este satisfcut n cel mai nalt grad. Rezultatul analizei economice conduce la alegerea unor valori pentru variabilele ce descriu procesul i care pot fi mrimi economice sau fizice (bunuri materiale, valori bneti, distane etc.). Condiiile concrete ale studiului introduc limitri n formularea problemei. Soluia optim este aceea care conduce la cea mai bun alegere a valorilor variabilelor n condiiile ndeplinirii restriciilor impuse. Pentru rezolvarea acestui gen de probleme, matematica ofer economistului un grup de metode i tehnici de calcul care constituie obiectul capitolului numit programare matematic. Rolul economistului este de a-i valorifica funcia economic n analiza just a situaiei concrete, n a diferenia aspectele secundare de cele principale, de a aplica politica economic optim n cazurile concrete studiate. n formularea unei probleme de programare matematic se parcurg etapele: a) stabilirea variabilelor x1, ..., xn, adic a vectorului X = (x1, ..., xn)T n;
87
b) stabilirea obiectivului propus, o funcie de x1, ..., xn, adic f(X), pentru care se va aplica un procedeu de maximizare sau minimizare; c) stabilirea restriciilor, legturi ntre variabile i limitri ale acestora fr de care problema nu are valoare practic, ce pot fi de forma gi(X) 0, i = 1, m . Restriciile de forma xj 0, j = 1, n ,
numite condiii de nenegativitate, apar cnd variabilele reprezint cantiti ce au o interpretare real doar dac nu sunt negative. n concluzie, problema general a programrii matematice se enun astfel: s se determine valoarea maxim sau minim a funciei f(X) = f(x1,...,xn) n condiiile gi(X) = gi(x1,...,xn) 0, i = 1, m , unde f, gi: n . Funcia f ce se optimizeaz se numete funcie obiectiv sau funcie de
eficien.
Dac funciile f i gi, i = 1, m , sunt funcii liniare spunem c problema este de programare liniar i de acest caz ne vom ocupa n cele ce urmeaz. Pentru a prezenta intuitiv o serie de noiuni i proprieti ce vor fi expuse riguros n acest capitol dm urmtorul:
Exemplu:
Resursele R1, ..., R4 (materii prime, for de munc, investiii n bani etc.) disponibile respectiv n cantitile 12, 8, 16, 12 uniti convenionale se vor utiliza pentru producerea activitilor A1 i A2 (produse, piese, proiecte etc.). Pentru realizarea unei uniti din A1 se folosesc respectiv 2, 1, 4, 0, iar pentru o unitate din A2, 2, 2, 0, 4 uniti din resursele date. Venitul pentru o
88
Programare liniar
unitate din A1 este 2 uniti bneti, iar pentru o unitate din A2, de 3 uniti bneti. S se determine nivelul activitilor A1 i A2 astfel nct, folosind raional resursele disponibile, s se obin venitul total maxim.
Rezolvare
Pentru a gsi modelul matematic al problemei strngem datele iniiale n urmtorul tabel: Ri/Aj R1 R2 R3 R4 Venitul unitar A1 2 1 4 0 2 A2 2 2 0 4 3 Disponibil 12 8 16 12
Notm apoi cu x1 i x2 nivelul activitilor A1 respectiv A2. Datele expuse conduc imediat la scrierea urmtoarelor relaii: 2x1 + 2x2 12 x1 + 2x2 8 4x1
16
, x1 0, x2 0, iar venitul total va fi dat de pentru care vom cuta valoarea maxim.
Rezolvarea o vom face prin metoda grafic. n acest scop se consider sistemul rectangular de axe x1 O x2 i se determin mulimea perechilor (x1, x2) ce verific restriciile de mai sus i condiia de nenegativitate. Astfel, restriciei 2x1 + 2x2 12 i se ataeaz dreapta (d1): 2x1 + 2x2 = 12 care mparte planul 2 n dou regiuni, una dintre acestea fiind soluia inecuaiei. Dreapta (d1) intersecteaz axele n punctele
89
A1(6, 0) i B1(0, 6) i deoarece originea O(0,0) verific inecuaia rezult c semiplanul care conine originea este soluia inecuaiei. Analog restriciei x1 + 2x2 8 i se ataeaz dreapta (d2): x1 + 2x2 = 8, ce intersecteaz axele n A2(8, 0) i B2 (0, 4); regiunea ce conine originea este soluie a inecuaiei; restriciei 4x1 16 i asociem dreapta (d3): 4x1 = 16 ce taie Ox1 n A3(4, 0) i e paralel cu Ox2. Originea verific inecuaia deci semiplanul ce o conine este soluia inecuaiei date; restriciei 4x2 12 i asociem dreapta (d4): 4x2 = 12 ce taie axa Ox2 n B4(0, 3) i este paralel cu Ox1. Originea verific restricia, deci semiplanul ce conine originea este soluia inecuaiei. Condiia de nenegativitate x1, x2 0 ne spune c mulimea cutat va fi n cadranul I. Intersecia celor 4 regiuni n cadranul I ne d zona haurat din figura de mai jos.
x2 B1(0, 6) 14/3 B2(0, 4) B4(0,3) D C (d3) (d4) B (d1)
90
Programare liniar
Notm cu O, A, B, C, D vrfurile mulimii cutate ce au respectiv coordonatele: Ox1 (d3) = A(4, 0) d1 d2 d3 = B(4, 2) d2 d4 = C(2, 3) Ox2 d4 = D(0, 3) Determinm valorile lui f n fiecare vrf i obinem: f0(0,0) = 0; fA(4, 0) = 8; fB(4, 2) = 14; fC(2, 3) = 13 i fD(0, 3) = 9.
Soluia optim va fi n punctul B, unde [max]f(x) = 14 pentru x1 = 4
i x2 = 2. C lucrurile stau ntr-adevr aa, o probeaz urmtorul raionament. Dac egalm 2x1 + 3x2 cu V, V 0 obinem o familie de drepte
(x1, x2) 2x1 + 3x2 = VV0, paralele, avnd aceeai pant, = -
2 . 3
Acestea intersecteaz ambele axe de coordonate astfel nct raportul lungimilor segmentului de pe ordonat i a segmentului de pe abscis este de 2/3. Se poate observa uor c orice punct al mulimii admisibile (haurat n figur) se afl pe una i numai una din aceste drepte. Pentru fiecare astfel de punct (x1, x2) punem n eviden intersecia dreptei din familie corespunztoare lui cu axa absciselor, de forma (x1, 0). Dar 2x1 + 3x2 = V = = 2x1 i, deci, ne intereseaz acel(e) punct(e) pentru care x1 (deci i V) este cel mai mare. n cazul de fa, din figur rezult c punctul B satisface aceast cerin, iar dreapta respectiv este cea care trece prin punctele (7, 0) i (0, 14/3) (reprezentat punctat).
91
Observaii
1) Ceva mai departe se va demonstra teorema ce justific cutarea soluiei optime n vrfurile mulimii de puncte ce satisfac restriciile problemei de programare liniar. 2) Resursele R1, R2, R3 sunt consumate n ntregime n vreme ce din R4 mai rmn 4 uniti date de diferena dintre disponibil i ceea ce se consum. 3) Metoda grafic nu poate fi aplicat dect n cazul problemelor cu cel mult trei variabile. 4) O generalizare a problemei precedente ar avea forma: Resursele Ri, i = 1, m , disponibile respectiv n cantitile bi, i = 1, m , pot fi utilizate n producerea activitilor Aj, j = 1, n . Se cunosc veniturile
unitare pe activiti cj, j = 1, n precum i coeficienii tehnologici aij, i = 1, m , j = 1, n , respectiv cantitile din fiecare resurs Ri necesare realizrii unei uniti din Aj, i = 1, m , j = 1, n ; s se determine nivelul xj al activitilor Aj, j = 1, n , astfel nct venitul total s fie maxim. Reprezentm datele problemei n urmtorul tabel: Ri/Aj R1 ... Ri ... Rm A1...Aj...An a11...a1j...a1n ai1...aij...ain ... am1...amj...amn
...
92
Programare liniar
c x
j=1 j
a
j =1
ij
x j bi, i = 1, m
xj 0, j = 1, n
Notnd A = (aij), i = 1, m , j = 1, n ; sau A = (a1, ..., an), b = (b1, ..., bm)T, C = (c1, ..., cn), X = (x1, ..., xn)T, problema se poate scrie sub form matriceal: [max]f(X) = CX AX b X0 a1x1 + ... + anxn b x1, ..., xn 0
T
unde aj = (a1j, ..., amj) este coloana j din matricea A. Forma general a unei probleme de programare liniar este: [optim]f(X) =
n
c x
j=1 j
(4)
a
j=1 n
ij
a
j=1 n
ij
(5)
a
j=1
ij
xj 0, j v+1,..., n Pentru metoda de rezolvare pe care o vom prezenta este important ca o problem de tipul (4), (5), (6) s fie adus la forma standard, adic toate restriciile din (5) s fie egaliti i toate variabilele xj 0, j = 1, n . Acest lucru presupune efectuarea urmtoarelor transformri: 1) la fiecare restricie de tipul se adaug n membrul stng o variabil de compensare nenegativ; 2) din membrul stng al restriciilor de tipul se scade o variabil de compensare nenegativ;
Observaie: n exemplul de mai sus, dac am aduce problema la
forma standard, variabilele de compensare au semnificaia unor cantiti de produse (activiti) ce nu se efectueaz, deci contribuia lor la venitul total este nul, adic n funcia de eficien variabilele de compensare vor avea coeficienii cj nuli. 3) n toate restriciile i n funcia obiectiv se fac substituiile: xj = -xj, dac xj < 0 i xj = uj vj, uj, vj 0, dac xj este oarecare. Astfel toate restriciile devin egaliti i toate variabilele sunt nenegative, deci problema are forma standard: [optim]f(X) = CX AX = b X0 a1x1 + ... + anxn = b x1, ..., xn 0 (7) (8) (9) sau: (7) (8) (9)
4) orice problem de maxim poate fi transpus pentru minim i reciproc, datorit relaiei evidente; [max]f(X) = -[min][-f(X)] i [min]f(X) = -[max][-f(X)]
94
Programare liniar
n sfrit, exist multe cazuri practice cnd problemele apar sub una din formele particulare: [max]f(X) =
n
c x
j=1 j
a x
j =1 ij
bi , i = 1, m (10)
xj 0, j = 1, n sau: [min]f(X) =
c x
j=1 j
a x
j =1 ij
bi , i = 1, m (11)
Considerm problema de programare liniar sub forma standard dat de relaiile (7), (8), (9).
Definiia 1.
Vectorul X n, X = (x1, ..., xn)T, se numete soluie posibil (admisibil, program) dac satisface relaiile (8) i (9). Notm cu P mulimea soluiilor posibile.
95
Definiia 2.
Dac X P satisface i condiia (7), X se numete soluie optim. Mulimea soluiilor optime o notm O.
Observaie: Se impune o condiie pentru compatibilitatea sistemului
(8), anume rangA = m, iar pentru nedeterminarea acestui sistem se cere ca s avem m < n. Celelalte cazuri nu au importan practic din punctul de vedere al programrii liniare.
Definiia 3.
Se numete baz a sistemului (8) cu rangA = m < n, orice baz B a spaiului (m, ) n componena creia intr numai vectori coloan din A.
Observaie: B A, B matrice nesingular de ordinul m, admite
inversa B-1.
Definiia 4.
variabile se numesc variabile secundare i formeaz subvectorul lui X notat cu Xs. Dac Xs = 0 sistemul din (8) devine: BXB = b, de unde XB = B-1b.
Observaie: Dac B este baza canonic atunci XB = b. Definiia 5.
Fie o baz B = a1, ..., am. Vectorul X = (XB, Xs), cu XB = B-1b, XS = 0, X P se numete soluie posibil de baz. Dac XB are m componente pozitive, X va fi soluie posibil de baz nedegenerat, n caz contrar va fi degenerat. Notm PB mulimea soluiilor posibile de baz.
96
Programare liniar
Exemplu
3 0 6 1 A= 1 1 2 0 , cu vectorii: a1 = 1 a4 = . 0
3 ; a2 = 1
0 ; a3 = 1
6 ; 2
Deoarece rangA = 2, sistemul este compatibil dublu nedeterminat. O soluie poate fi gsit astfel: 3x1 = 6 + 6x3 - x4 -x1 + x2 = 4 - 2x3 unde pentru x3 = 1; x4 = 3 gsim x1 = 3 i x2 = 5. Deci, conform definiiei 1, vectorul X = (3, 5, 1, 3)T este o soluie posibil. Vectorii a4, a2 formeaz baza canonic, deci variabilele x4 i x2 vor fi variabile de baz, iar celelalte, x1 i x3 vor fi variabile secundare. Dac x1 = x3 = 0, obinem x2 = 4 i x4 = 6, adic vectorul X = (0,4,0,6)T este o soluie posibil de baz, nedegenerat, conform definiiei 5.
Teorema 1: Mulimea soluiilor posibile P este convex. Demonstraie
Excludem cazul cnd P este redus la un singur element, deoarece concluzia este banal. Admitem c exist cel puin dou soluii X1, X2 P, adic AX1 = b, X1 0 i AX2 = b, X2 0. Fie X = X1 + (1 - )X2, 0 1, o combinaie liniar convex de X1 i X2. Vom arta c X P adic AX = b i X 0.
97
ntr-adevr: AX = A[X1 + (1 - )X2] = AX1 + (1 - )AX2 = b + (1 - )b = b X 0 deoarece X1 0, X1 0, X2 0, (1 - )X2 0. Se poate demonstra c dac mulimea soluiilor posibile P este nevid, atunci exist cel puin o soluie posibil de baz (PB ). Dm n continuare un rezultat deosebit de important.
Teorema 2: Orice soluie posibil de baz X este un vrf al lui P i
Fie X soluie posibil de baz. S demonstrm c e vrf al lui P. Fr a restrnge generalitatea, presupunem c X = (x1, ..., xm, 0, ..., 0)T pentru baza B = a1, ..., am. Prin absurd, presupunem c X nu este vrf al lui P. Cum X P, mulime convex, exist Y, Z P, Y = (y1, ..., yn)T, Z = (z1, ..., zn)T, Y Z, astfel nct: X = Y + (1 - )Z, 0 < < 1. Rezult c: xj = yj + (1 - )zj, j = 1, n . Dar xj = 0, pentru j = m+1,..., n, implic yj + (1 - )zj = 0, j = m+1, ..., n. Cum > 0, 1 - > 0, yj 0, zj 0, j = m+1, ..., n, rezult: yj = zj = 0, j = m+1,..., n Din Y, Z P rezult c ele satisfac relaia (8), adic: b=
y a = z a
j=1 j j j=1 j
Programare liniar
Atunci Y = Z, ceea ce contrazice ipoteza. Reciproc, fie X un vrf al lui P. S artm c e soluie posibil de baz. Presupunem c X = (x1, ..., xk, 0, ..., 0)T, xi >0, i = 1, k . Vom proba c vectorii a1, ..., ak sunt liniar independeni, deci X e soluie de baz. Prin absurd, presupunem c vectorii a1, ..., ak sunt liniar dependeni, deci exist cel puin un coeficient h 0, astfel nct: 1a1 + ... + kak = 0 Dar X P satisface relaia (8), deci: x1a1 + ...+ xkak = b (13) (12)
Relaia (12) nmulit cu se scade i apoi se adun la relaia (13) i obinem: (x1 - 1)a1 + ...+ (xk - k)ak = b (x1+ 1)a1 + ... + (xk + k)ak = b (14) Alegnd suficient de mic aa nct xi - i 0 i xi + i 0, i = 1, k , relaiile (14) definesc dou soluii U i V P. Dar 1 1 U + V = X, 2 2
fapt ce contrazice ipoteza c X este vrf n P. Deci a1, ..., ak sunt independeni i X PB.
Observaie: Deoarece matricea A are m linii i n coloane, m < n, cu
vectorii ei se pot forma cel mult C m baze n m, deci numrul soluiilor n posibile de baz este cel mult C m . n
Teorema 3: Dac problema dat de relaiile (7), (8), (9) are optim
99
Demonstraie:
Fie X1, ..., Xs vrfurile lui P i X0 soluie optim pentru problema de programare liniar n care presupunem c vrem s minimizm funcia de eficien f. Deci: f(X0) f(X); () X P. (15)
Dac X0 este un vrf, teorema e demonstrat. Presupunem c X0 nu este un vrf. Cum X0 P, din propoziia 10 cap. 2, rezult c: X0 =
X
i =1 i s
i , i 0, i = 1, s i
i =1
= 1.
Dar f este o funcional liniar i putem scrie: f(X0) = f( i X i ) = 1f(X1) + ... + sf(Xs)
i =1
(16)
Dac notm m = f(X0) i presupunem c Xj este vrful cu proprietatea: f(Xj) = min f(Xi)
1 i s
i =1
= f(Xj).
Cum m > f(Xj) nu poate avea loc, deoarece X0 O, rezult c m = f(Xj), deci Xj O.
Observaii: 1) Soluia optim (cnd e finit) se caut printre vrfurile lui P, adic
printre soluiile posibile de baz. Aceast observaie justific metoda grafic de rezolvare a unei probleme de programare liniar.
2) Pentru maximizarea lui f demonstraia e analoag.
100
Programare liniar
Dac O = sau O e format dintr-un singur punct, proprietatea este evident. Presupunem c ()X1, X2 O, f(X1) = f(X2) = m i fie [0,1]. Atunci X = X1 + (1 - )X2 P i f(X) = f(X1) + (1 - )f(X2) = m + (1 - )m = m, de unde rezult XO
Observaii: 1) Dac o problem de programare liniar are cel puin dou soluii
optime, ea va avea o infinitate de soluii optime, date de combinaia liniar convex a acestora; deci, orice punct de pe segmentul determinat de dou soluii optime este tot soluie optim.
2) Pentru m i n mari, numrul soluiilor posibile de baz poate fi
destul de mare i gsirea printre acestea a celei optime, laborioas. A devenit necesar gsirea unei metode care s permit trecerea de la o soluie de baz la o alta mai bun, n sensul funciei f de eficien. O astfel de metod este algoritmul
simplex (propus de G.B. Dantzig n 1947 la Chicago) care permite
determinarea unui vrf al lui P i d posibilitatea s se stabileasc dac n acest vrf funcia de eficien f i atinge optimul. Cnd acest vrf nu este de optim, algoritmul permite gsirea unui alt vrf nvecinat n care f s ia o valoare mai bun (mai mare pentru max sau mai mic pentru min), iar dup un numr finit de pai s se gseasc soluia optim. Algoritmul mai permite s se stabileasc dac problema de programare liniar admite soluii sau dac f este nemrginit pe P.
101
Pentru obinerea unor rezultate de baz n fundamentarea algoritmului simplex, vom introduce unele notaii. Astfel: presupunem
X PB, X = ( x 1, ..., x m, 0, ..., 0)T pentru o baz B = a1, ..., am. Au loc relaiile: x 1a1 + ...+ x mam = b i (17)
unde x i > 0, i = 1, m i f0 este valoarea funciei de eficien pentru X . Deoarece orice vector aj, j = 1, n , poate fi scris n baza B, presupunem c: a1ja1 + ...+ amjam = aj i a1jc1 + ...+ amjcm = fj, j = 1, n (18) (19)
unde ci este coeficientul funciei de eficien corespunztor vectorului ai, i = 1, m . Cu notaiile de mai sus, s demonstrm:
Teorema 5: (testul de optimalitate).
Fie X PB i j = cj fj. Dac pentru problema de programare liniar (7), (8), (9) n care se dorete maximizarea lui f, j 0, () j = 1, n , atunci problema are optim finit i X O (este soluie optim).
Demonstraie:
Fie X P, X = (x1, ..., xn)T, o soluie posibil oarecare pentru care avem:
x a
j=1 j m
=b
(20)
Din X PB rezult c:
x a
i i =1
=b
(21)
102
Programare liniar
x a = x a = x a a = x a
i =1 i i j =1 j j j =1 j i =1 ij i i =1
j =1
j ij
a i (22)
(23)
Atunci: f(X) f( X ) =
m n m n c j x j c i x i = c j x j c i x j a ij = j=1 i =1 j=1 i =1 j=1 n
(am folosit pe parcurs relaiile (23) i (19)). Se tie c xj 0 i dac j = cj fj 0, () j = 1, n atunci din relaia (24) avem: f(X) f( X ) 0 sau f(X) f( X ), () X P, deci X O.
Observaii: 1) Pentru problema de minim condiia de minim este j = fj cj 0,
algoritmul permite construirea unei alte soluii posibile de baz Y mbuntite, trecnd de la un vrf al lui P la altul, prin nlocuirea unui vector din baz cu altul din afara bazei, cu condiia ca noul sistem de vectori s rmn liniar independent, deci s formeze o baz, ca n lema substituiei.
103
Ne propunem n cele ce urmeaz construirea unei soluii posibile de baz Y mbuntite cnd este cunoscut X PB. Fie X = ( x 1, ..., x m, 0, ..., 0)T; I = 1, ..., m; B = a1, ..., am o baz n m. Presupunem c nlocuim vectorul ai B cu un alt vector aj B, obinnd o nou baz n m, deci o alt soluie Y de componente y k, k I, I = (I \ i) j. Din X , Y PB, rezult:
b = x k a k = y k a k
kI kI '
(24)
k k
Dar b = y k a k =
kI '
kI \ {i}
y a
+ y ja j .
y a
k
k k
+ y j a kja k =
kI
kI \ {i}
y a
k k
+ yj
kI \ {i }
kj k
a + y ja ija i = (25)
kI \ {i }
(y
+ y ja kj )a k + y ja ija i
x a
k k
+ x ia i
(26)
Unicitatea scrierii vectorului b n baza B i relaiile (25) i (26) ne permit s scriem: x i = y jaij x k = y k + y jakj , yj =
xi a ij xi akj a ij
k I \ i
de unde rezult:
yk = xk -
(27)
104
Programare liniar
cu aij 0 (condiie ntlnit n lema substituiei). Relaiile (27) dau formulele de calcul ale componentelor noii soluii Y . Cum Y PB, componentele ei trebuie s fie nenegative. Deci vom pune condiiile:
xi 0, i cum x i 0 trebuie ca aij > 0 a ij
(28)
xk -
xi xi xk akj 0, de unde = , k I, a ij a ij a kj
(29)
evident akj > 0. Relaiile (28) i (29) dau condiiile necesare ca vectorul ai s poat fi nlocuit de aj, adic criteriul de ieire din baz. S presupunem c problema de programare liniar are n relaia (7), [max]f i s cutm condiia ca Y s fie o soluie mai bun ca X , adic: f( Y ) > f( X ) sau f( Y ) - f( X ) > 0 Dar: f( Y ) - f( X ) = (30)
kI \{i}
c
kI '
yk ck x k =
kI
yk + c j y j
kI \ {i }
x k ci x i
= cj
Evident f( Y ) - f( X ) ia cea mai mare valoare atunci cnd j ia cea mai mare valoare pozitiv. Aceast ultim condiie constituie criteriul de intrare n noua baz a vectorului aj n locul lui ai, eliminat.
105
Observaii: 1) Elementul aij > 0 este pivotul, iar a doua relaie din (27) este
regula dreptunghiului din lema substituiei;
4. Algoritmul simplex
Pentru o expunere teoretic mai clar, vom presupune problema de programare liniar sub forma standard i matricea A coninnd baza B = a1, ..., am = baza canonic. Acest lucru ne ndreptete s pornim n calcule cu soluia de baz XB = b (coloana termenilor liberi). Aplicarea algoritmului simplex se face n cadrul unui tabel, numit
ai
ci
x1
xi
iteraie
0 ... 1 ... 0
x m 0 ... 0 ... 1 am cm f0 f1 ... fi ... fm 0 ... 0 ... 0 j=cj fj dac problema este de maxim.
106
Programare liniar
Etapele algoritmului simplex Pasul 1. Ne asigurm ca problema s aib forma standard. Pasul 2. Ne asigurm ca matricea A s conin baza canonic ca s
lum soluia de baz iniial vectorul b. Scriem funcia de eficien care s cuprind i variabilele introduse pentru compensare sau pentru existena bazei canonice.
a) coloana bazei, n locul lui ai scriem aj; b) coloana CB, cu respectiv coeficienii lui f corespunztori vectorilor bazei; c) coloanele vectorilor bazei, ca vectori unitari;
107
d) linia vectorului intrat, aj, se obine prin mprirea la pivot a liniei vectorului eliminat ai, conform primei relaii din (27); e) restul elementelor din tabel se determin cu regula dreptunghiului dat de relaia a doua din (27) i care ar putea fi enunat astfel: elementul ce trebuie nlocuit se nmulete cu pivotul; ele determin o diagonal ntr-un dreptunghi; din produsul lor se scade produsul elementelor ce determin cealalt diagonal a dreptunghiului i toat diferena se mparte la pivot. Testm apoi noua soluie. Paii 3, 4, 5 se repet pn cnd e satisfcut criteriul de optim.
Observaie.
16
Aducem problema la forma standard adunnd n restricia a doua n membrul stng variabila de compensare x5 0. Obinem: x1 + 2x2 + 3x3 + x4 = 20 4x1 + x2 + x3 + x5 = 16 xj 0, j = 1,5 . [max]f(X) = 3x1 + 5x2 + 2x3 + x4 + 0 x5
108
Programare liniar
Matricea sistemului de restricii obinut este: a1 a2 a3 a4 a5 1 2 3 1 0 A= 4 1 1 0 1 i conine baza canonic B = a4, a5. Vectorii: C = (3, 5, 2, 1, 0); X = (x1, ..., x5)T, cu XB = (x4, x5)T; Xs = (x1, x2, x3)T = (0,0,0)T; b = (20, 16)T. i cum B e baza canonic, rezult c XB = b, adic XB = (20, 16)T. Formm acum tabelul simplex i completm prima iteraie. B a4 a5 CB XB 3 a1 1 4 1 2 1/2 7/2 5/2 1/2 0 1 3 0 5 a2 2 1 2 3 1 0 5 0 1 0 5 0 2 a3 3 1 3 -1 3/2 -1/2 15/2 -11/2 11/7 -1/7 52/7 -38/7 1 a4 1 0 1 0 1/2 -1/2 5/2 -3/2 4/7 -1/7 17/7 -8/7 0 a5 0 1 0 0 0 1 0 0 -1/7 2/7 1/7 -1/7 20:2 16:1
10:1/2 6:7/2
n iteraia 1 am calculat fj, cu j = 1,5 , cu relaia (19) iar f0 (sub XB) cu relaia a doua din (17). Cea mai mare diferen j > 0 este 2, sub coloana a2; a2 va intra n baza din urmtoarea iteraie. Cel mai mic raport = 20 : 2 = 10 corespunde lui a4 din B, deci a4 va iei din baz. Elementul a12 = 2 este pivotul i-l nrmm. n aceast iteraie soluia posibil de baz este X1 = (0,0,0,20,16)T, f(X1) = f0 = 20, dar aceast soluie nu este optim.
109
Completm urmtoarea iteraie cu indicaiile de la pasul 5 i obinem o nou soluie posibil de baz X2 = (0,10,0,0,6)T, f(X2) = f0 = 50. X2 este mai bun ca X1 deoarece f(X2) > f(X1), dar nici X2 nu este optim pentru c exist 1 = 1/2 > 0, deci algoritmul continu cu intrarea n baz a lui a1 n locul lui a5, pe linia cruia ia cea mai mic valoare. Pivot este a21 = 7/2 i aplicnd operaiile de la pasul 5 trecem la urmtoarea iteraie n care gsim soluia posibil de baz X3 = (12/7, 64/7, 0,0,0)T, f(X3) = f0 = pentru c j 0, () j = 1,5 , deci [max]f(X) = 356 , care este soluie optim 7
356 . 7
f( Y ) f( X ) =
f( Y ) = f( X ) + j, cu =
introducere n baz. Am obinut prin (31) o relaie de recuren ntre valorile funciei de eficien n dou iteraii succesive.
2. Diferenele j sunt nule sub vectorii bazei deoarece pentru acetia
fj = cj.
110
Programare liniar
intr n baz comparm ck i ch. Dac problema e de maxim i ck < ch va intra n baz ah; dac e de minim, va intra ak.
Exemplu
[max]f(X) = 20x1 + 14x2 - 2x1 + 3x2 24 5x1 2x2 50 10x1 + 7x2 140 x1, x2 0
Rezolvare
Aducem problema la forma standard. - 2x1 + 3x2 + x3 = 24 5x1 2x2 + x4 = 50 10x1 + 7x2 + x5 = 140 xj 0, j = 1,5 a1 a2 a3 2 3 1 A = 5 2 0 10 7 0 a4 a5 0 0 1 0 0 1
are baza canonic B = a3, a4, a5 [max]f(X) = 20x1 + 14x2 + 0(x3 + x4 + x5).
111
XB 24 50 140 0 44 10 40 200
36 126/11 40/11 280 45 63/11 130/11 280
20 a1 -2 5 10 0 20 0 1 0 20 0 0
1 0 20 0 0 1 0 20 0
14 a2 3 -2 7 0 14 11/5 -2/5 11 -8 22 0
0 1 14 0 0 0 1 14 0
0 a3 1 0 0 0 0 1 0 0 0 0 1
0 0 0 0 5/4 -7/44 10/44 0 0
0 a5 0 0 1 0 0 0 0 1 0 0 -1/5
2/55 1/11 2 -2 -1/4 3/44 2/44 2 -2
10 14
44:
a1 a5
11 5 40:11
a3 a1 a2
36:
4 5
126 7 : 11 55 -
a4 a1 a2
n iteraia a treia am gsit soluia optim cu [max]f(X) = 280 pentru x1 = 126 40 126 40 i x2 = , adic X1 = ( , ). 11 11 11 11
Dar 4 = 0 dei a4 B. Am efectuat nc o iteraie n tabel i am gsit o alt soluie optim: X2 = ( 63 130 , ). 11 11
112
Programare liniar
Atunci, din teorema 4, orice combinaie liniar convex de X1 i X2 este soluie optim, adic X = X1 + (1 - )X2, cu 0 1 este soluie optim i deci problema dat are o infinitate de soluii optime.
= min
a kj > 0 1 k m
xk xp xq = = . a kj a pj a qj
113
Pentru a evita ciclajul cutm un criteriu de a alege dintre ap i aq vectorul ce urmeaz a fi nlocuit de aj. Acest criteriu este dat de metoda
perturbaiilor stabilit de Charnes, conform creia va iei din baz ap sau aq
(33)
i:
a x q a q1 , ,..., qn a qj a qj a qj
(34)
Dintre rapoartele (32) va fi cel mai mic acela pentru care n irul (33) respectiv (34) vom obine mai curnd o valoare algebric minim. Rapoartele din (33) i (34) nu pot fi respectiv egale deoarece, n caz contrar, proporionalitatea a dou linii din matricea A implic rangA < m, ceea ce contrazice ipoteza n care lucrm.
Exemplu
O problem n care se cere minimizarea funciei de eficien a condus la urmtoarea iteraie din tabelul simplex: B XB a6 7 a4 2 a5 4 j = fj - cj a1 3 1 2 6 a2 4 3 -1 3 a3 1 -1 1 -5 a4 0 1 0 0 a5 0 0 1 0 a6 1 0 0 0 7:3 2:1 4:2
114
Programare liniar
Cea mai mic valoare a lui este 2 i corespunde vectorilor a4 respectiv a5 din baz. Unul dintre acetia trebuie eliminat i a1 trebuie introdus n baz. n conformitate cu relaiile (33) i (34), formm irurile de rapoarte pentru a4 respectiv a5:
2 1 3 1 , , , ,... 1 1 1 1 4 2 1 1 , , , ,... 2 2 2 2 Comparm rapoartele de acelai ordin din cele dou iruri i 1 observm c primul raport mai mic este aprut pe linia lui a5 2
(comparat cu valoarea
Presupunem c matricea A nu conine nici un vector unitar de ordinul m. Atunci, se adaug la fiecare restricie i o variabil yi 0 numit artificial i se obine vectorul Y = (y1, ..., ym)T. Problema dat de (7), (8), (9) va deveni: AX + Im Y = b X 0, Y 0; Im matricea unitate de ordinul m, cu modificarea funciei obiectiv prin metoda penalizrii: [max]f = CX MY sau [min]f = CX + MY
115
unde M = (M, ..., M) m, cu M > 0, orict de mare, fapt ce asigur eliminarea vectorilor artificiali din baz. Vectorii corespunztori variabilelor artificiale i vom nota respectiv cu i, i = 1, m , i i vom numi vectori artificiali. Vectorii artificiali formeaz o baz iniial canonic pe care o vom numi baz artificial. Dac problema iniial admite soluie optim, atunci ea este optim i pentru problema extins, iar variabilele artificiale yi sunt nule, () i = 1, m . Dac matricea A are r vectori unitari atunci va fi nevoie doar de m r vectori artificiali pentru a obine baza iniial n aplicarea algoritmului simplex. Un vector artificial ce iese din baz ntr-o iteraie nu se va mai ntoarce niciodat n baz; componentele lui n urmtoarele iteraii nu se mai calculeaz. Aplicarea algoritmului simplex poate conduce la una din situaiile: a) Testul de optimalitate este ndeplinit i n baz nu se afl vectori artificiali. Atunci s-a obinut soluia optim i pentru problema iniial; b) Testul de optimalitate este ndeplinit, n baz se afl vectori artificiali, iar variabilele artificiale corespunztoare acestora au valoarea zero. n acest caz soluia optim a problemei iniiale este degenerat; c) Testul de optimalitate este ndeplinit, n baz se afl vectori artificiali i cel puin o variabil artificial este nenul. n acest caz problema iniial nu are soluie.
116
Programare liniar
ntre soluiile problemei iniiale i cele ale problemei extinse (ce conine variabilele artificiale) exist unele legturi date de urmtoarele rezultate: a) Problema iniial are cel puin o soluie posibil dac i numai dac cea extins are o soluie optim cu toate variabilele artificiale egale cu zero. Valorile optime ale celor dou probleme coincid; b) Dac problema extins are optim infinit, atunci cea iniial nu are soluii posibile sau are optim infinit; c) Dac problema iniial are optim infinit, atunci i cea extins are optim infinit.
Exemplu
S se rezolve problema de programare liniar i apoi s se explice rezultatul: [max]f = 3x1 + 4x2 + x3 5x1 x2 + 2x3 7 x1 + 2x2 x3 4 3x1 + 2x2 + 4x3 = 2 xj 0, j = 1,3
Rezolvare
Aducem problema la forma standard: 5x1 x2 + 2x3 + x4 = 7 x1 + 2x2 x3 x5 = 4 3x1 + 2x2 + 4x3 = 2 xj 0, j = 1,5
117
A conine un singur vector unitar, a4 i pentru formarea matricei unitate se impune folosirea vectorilor artificiali 1 = (0,1,0)T i 2 = (0,0,1)T ce vor fi generai de adunarea la a doua i a treia restricie a variabilelor artificiale y1 respectiv y2, a cror valoare este egal cu zero pentru a rmne problema la forma standard. Astfel problema dat se extinde la: [max]f = 3x1 + 4x2 + x3 + 0(x4 + x5) M(y1 + y2), M > 0, M . 5x1 x2 + 2x3 + x4 = 7 x1 + 2x2 x3 x5 + y1 = 4 3x1 + 2x2 + 4x3 + y2 = 2 x1, ..., x5, y1, y2 0 Matricea problemei extinse va fi: a1 5 A = 1 3 a2 a3 a4 a5 1 2 1 2 1 0 0 0 2 1 0 1 1 0 2 4 0 0 0 1
0 7 -M 4 -M 2 fj -6M j = cj - fj a4 0 8 -M 2 1 4 1 a2 fj 4-2M j= cj - fj
4:2 2:2
118
Programare liniar
n ultima iteraie toate diferenele j 0, deci criteriul de optim este satisfcut. Dar ultima baz e format din a4, 1, a2, deci conine un vector artificial, iar variabila artificial corespunztoare y1 = 2, ceea ce este inadmisibil pentru c y1 a fost introdus cu condiia s aib valoarea zero. Aceast problem nu are soluii.
Rezolvarea este corect dac XB = B-1b, unde b = (20, 16)T. ntr 4 adevr: XB = B-1b = 7 1 7 1 7 20 = 64 / 7 , deci rezolvarea este corect. 2 16 12 / 7 7
119
120
Programare liniar
corespunde o restricie neconcordant n dual; unei variabile oarecare n primal i corespunde o egalitate n dual. Problema primal mpreun cu duala sa spunem c formeaz un
cuplu de probleme duale. Iar din regulile de mai sus rezult c duala dualei
este problema primal.
Exemplu
Fie problema primal: [max]f(X) = 6x1 x2 + 4x3 2x4 x1 + x2 2x3 5 3x1 + 4x2 + x4 9 2x1 + x2 + x3 + 2x4 = 8 x1 0, x2 0, x3 0, x4 oarecare.
1 1 2 0 5 A = 3 4 0 1 ; b = 9 ; c = (6, -1, 4, -2); X = (x1, x2, x3, x4)T. 2 1 1 2 8
Transpusa matricei A:
1 1 T A = 2 0
3 2 4 1 . 0 1 1 2
Problema dual este o problem de minim, ce va avea 4 restricii i 3 necunoscute u1, u2, u3, ce vor determina vectorul U = (u1, u2, u3), i are forma: [min]g(U) = 5u1 + 9u2 + 8u3 u1 + 3u2 + 2u3 6 u1 + 4u2 + u3 -1 -2u1 + u3 4 u2 + 2u3 = -2 u1 0, u2 0, u3 oarecare.
121
n particular, pentru primala sub forma canonic de tipul I: [max]f(X) = CX AX b X0 se obine duala: [min]g(U) = Ub UA C U0 adic o problem canonic de tipul II. Spunem c aceste dou probleme formeaz un cuplu de probleme simetrice. Dac primala are forma standard: [max]f(X) = CX AX = b X0 duala ei va fi: [min]g(U) = Ub UA C U oarecare. Importana trecerii la dual const n faptul c ntre soluiile celor dou probleme exist o legtur foarte strns, care va fi pus n eviden prin proprietile de mai jos. Pentru simplificarea expunerii, vom considera un cuplu de probleme duale simetrice, date de relaiile (35) i (36). (36) (35)
122
Programare liniar
Demonstraie:
Dac U este soluie posibil pentru dual, din (36) rezult c: C UA nmulim n dreapta cu X, care fiind nenegativ, nu schimb sensul inegalitii: CX (UA)X = U(AX) Ub (am inut seama c AX b, din (35)).
atunci X este soluie optim a problemei (35), iar U este soluie optim a problemei (36).
Demonstraie:
Presupunem prin reducere la absurd c X care satisface relaia (38) nu este soluie optim pentru primal. Atunci exist o soluie posibil X astfel nct: CX > C X = U b, adic CX > U b, relaie ce contrazice rezultatul (37) din proprietatea 1. Deci X este soluie optim pentru problema primal. n mod similar se demonstreaz c U este soluie optim a problemei (36).
Observaii: 1) Deoarece relaia (37) are loc pentru orice pereche X, U de soluii
posibile ale problemelor (35) i (36), atunci vom avea i
[max]CX X X AX b, X 0 [min]Ub U U UA C, U 0
123
2) Dac problema (35) nu are optim finit atunci problema (36) nu are
soluii. ntr-adevr, dac optimul lui (35) este + ar urma ca optimul lui (36) s ia aceeai valoare, ceea ce nu este posibil pentru o problem de minim. Analog dac (36) are minimul (- ) problema (35) nu poate avea soluii.
b) una din probleme are soluii posibile iar cealalt nu are; n acest
caz prima problem are optim infinit;
c) nici una din probleme nu are soluii posibile i deci nici una nu
are soluii optime. Primele dou proprieti demonstreaz o bun parte din concluziile acestei teoreme. Ar mai trebui artat c dac ambele probleme au soluii optime este valabil i reciproca proprietii 2.
(39)
124
Programare liniar
Demonstraie:
Pentru nceput s artm necesitatea condiiilor adic, presupunnd c X i U sunt soluii optime s deducem c relaiile (39) sunt verificate. ntr-adevr, dac X i U sunt soluii optime pentru (35) i (36) ele sunt i soluii posibile. Deci:
U 0 i b - A X 0
X 0 i U A C 0 de unde rezult c:
U (b - A X ) 0
= U b - C X = 0. Dar suma a dou numere nenegative este nul numai dac ambele numere sunt nule. Rezult deci relaiile (39). Pentru a demonstra suficiena condiiilor, s nsumm relaiile (39) presupuse adevrate; rezult:
U b = CX
ceea ce implic optimalitatea soluiilor conform proprietii 2. n virtutea celor demonstrate mai sus egalitile din (39) ne dau urmtoarele informaii asupra soluiilor:
(40)
Programare liniar
Dac matricea A = (a1, ..., an), relaia UA C din (36) se mai scrie: UA = U(a1, ..., an) C din care componenta j este: Uaj cj, j = 1, ..., n, adic cj Uaj 0. Din acest rezultat i din relaia (40) rezult c U = cBB-1 fundamentale a dualitii. (41) este soluie posibil a dualei, deci soluie optim conform teoremei
S se scrie problema dual, s se rezolve aceasta i s se indice soluiile optime ale cuplului de probleme duale.
Rezolvare
Problema dual este: [max]g(U) = 3u1 + 6u2 + 8u3 + u4 u1 + 2u2 + 3u3 10 2u1 + 2u3 + u4 8 3u2 + u3 + u4 5 ui 0; i = 1,4 .
Forma standard va fi: u1 + 2u2 + 3u3 + u5 = 10 2u1 + 2u3 + u4 + u6 = 8 + u7 = 5 3u2 + u3 + u4 ui 0; i = 1,7 . [max]g(U) = 3u1 + 6u2 + 8u3 + u4 + 0(u5 + u6 + u7) a1 1 A = 2 0 a2 2 0 3 a3 3 2 1 a4 0 1 1 a5 1 0 0 a6 0 1 0 a7 0 0 1
i B = a5, a6, a7 - baza iniial. Rezolvm duala cu algoritmul simplex n urmtorul tabel.
128
Programare liniar B a5 a6 a7 CB UB 3 a1 1 2 0 0 3 1/3 4/3 -1/3 8/3 1/3 1/3 4/3 -5/3 4 -1 7/11 8/11 -5/11 34/11 -1/11 6 a2 2 0 3 0 6 2/3 -4/3 7/3 16/3 2/3 2/3 -4/3 11/3 4 2 0 0 1 6 0 8 a3 3 2 1 0 8 1 0 0 8 0 1 0 0 8 0 1 0 0 8 0 1 a4 0 1 1 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 1 0 0 a5 1 0 0 0 0 1/3 -2/3 -1/3 8/3 -8/3 1/3 -2/3 1/3 2 -2 3/11 -6/11 1/11 24/11 -24/11 0 a6 0 1 0 0 0 0 1 0 0 0 0 1 -1 1 -1 2/11 7/11 -3/11 5/11 -5/11 0 a7 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 -2/11 4/11 3/11 6/11 -6/11 10:3 8:2 5:1
0 10 0 8 0 5 gj 0 j = c j - g j a3 8 10/3 4/3 a6 0 5/3 a7 0 gj 80/3 j a3 8 10/3 a4 1 4/3 1/3 a7 0 gj 84/3 j a3 8 36/11 a4 1 16/11 a2 6 1/11 gj 310/11 j
4/3 5/3
10:2 1:11
Soluia optim a dualei este unic i anume: 310 1 36 16 . U = 0, , , ,0,0,0 i [max]g(U) = 11 11 11 11 Soluia optim a problemei primale este unic i se afl pe linia gj a ultimei iteraii din tabelul simplex n dreptul vectorilor a5, a6, a7 ce au format baza iniial. Citim: [min]f(X) = 310 24 5 6 ,X= , , . 11 11 11 11
T
la o problem cu 4 restricii i 11 variabile (3 date, 4 de compensare i 4 artificiale), ntr-un tabel mai mare, cu calcule mai multe. Deci, n acest caz, rezolvarea primalei prin dual este modul cel mai simplu.
129
[min]f(X) = 4x1 + 5x2 2x1- 3x2 6 -x1 + x2 1 x1, x2 0 S se scrie duala i apoi s se cerceteze existena soluiilor optime ale cuplului de probleme duale.
Rezolvare
Duala are forma: [max]g(U) = 6u1 + u2 2u1- u2 4 -3u1 + u2 5 u1, u2 0 Se aduce la forma standard: 2u1- u2 + u3 = 4 -3u1 + u2 + u4 = 5 ui 0; i = 1,4 , cu: a1 a2 a3 a4 2 1 1 0 A= 3 1 0 1 unde baza iniial B = a3, a4, iar funcia de eficien: [max]g = 6u1 + u2 + 0(u3 + u4).
130
0 0 gj j = cj-gj a1 6 a4 0 gj j
Ar trebui s intre n baz a2 (2 = 4 > 0) dar toate componentele de pe coloana lui sunt negative. Atunci observaia 5 din paragraful 5 ne spune c problema dual (de maxim) are optim infinit, iar observaia de la proprietatea 2 ne spune c atunci problema primal (de minim) nu are soluii.
Presupunem c un anumit tip de produs se gsete depozitat n m centre furnizoare A1, ..., Am, n cantiti respectiv egale cu a1, ..., am. Acest produs urmeaz s fie transportat n n puncte beneficiare B1, ..., Bn, unde necesarul este, respectiv b1, ..., bn. Admitem cunoscute costurile unitare de transport cij (costul de transport al unei uniti de produs de la Ai la Bj), i = 1, m , j = 1, n . S determinm planul optim de transport, altfel spus cantitile xij ce vor fi transportate de la Ai la Bj, i = 1, m , j = 1, n , astfel nct cheltuielile totale de transport s fie minime.
131
B1 c11/x11
... ...
Bj c1j/x1j
... ...
Bn c1n/x1n
D a1
Ai
ci1/xi1
...
cij/xij
...
cin/xin
ai
Am N
cm1/xm1 b1
... ...
cmi/xmi bj
... ...
cmn/xmn bn
am
n care linia N este linia necesarului, iar coloana D este coloana disponibilului. Modelul matematic al acestei probleme este: [min]f(X) =
m n
c x
i =1 j=1 ij
ij
(1)
x
j=1 m
ij
x
i =1
ij
xij 0, i = 1, m , j = 1, n ,
deci modelul unei probleme de programare liniar, la care mai putem aduga condiii de nenegativitate pentru ai, bj, cij, i = 1, m , j = 1, n .
Definiia 1: Problema T se numete echilibrat dac:
m n
a = b .
i =1 i j =1 j
Programare liniar
echilibrat astfel:
a) dac
b a
j =1 j i =1
, iar costurile de
transport cm+1, j, j = 1, n , vor fi egale cu zero. Deci orice problem T poate fi adus la forma echilibrat.
Teorema 1:
Condiia necesar i suficient pentru ca problema T s aib forma standard (relaiile (2) s fie egaliti) este
m n
ai = b j
i =1 j=1
(4)
Demonstraie: Suficiena.
Dac relaia (4) este adevrat, s presupunem c una din restriciile (2) este satisfcut cu inegalitatea strict. Fie aceasta:
n
x
j=1 m
kj
x
i =1 j=1
ij
x
i =1
il
> b k , l fixat, 1 l n.
Deci relaiile (2) pot fi numai egaliti, adic problema T are forma standard.
Necesitatea.
a = x = x = b
i =1 i i =1 j =1 ij j=1 i =1 ij j =1
c x
i =1 j=1 ij
ij
(1) (2)
x
j =1
ij
= a i , i = 1, m
x
i =1
ij
= b j , j = 1, n (3)
xij 0, i = 1, m , j = 1, n
134
Programare liniar
Demonstraie:
aib j S
n ij
, i = 1, m , j = 1, n i S = a ib j S a ib j S = = ai S bj
a = b
i =1 i j=1
. Atunci:
x =
j=1 m j=1 m
b
j=1 m i =1
= =
ai S = a i , i = 1, m S bj S S = b j , j = 1, n
x ij =
i =1 i =1
a S
adic X satisface relaiile (2). Dar xij 0, deoarece ai 0, bj 0, S > 0, ()i = 1, m i () j = 1, n . X satisface i (3), deci X e soluie posibil. Matricea coeficienilor necunoscutelor din relaia (2) o vom nota cu M. Ea are m + n linii i mn coloane. Pentru m, n 2, min(m+n, mn) = m + n i deci rangA m + n. Toate coloanele conin de dou ori valoarea 1, restul elementelor fiind egale cu zero.
Propoziia 2.
rangM = m + n 1.
Demonstraie:
Explicitm relaiile (2): x11 + x12 + ...+ x1n = a1 x21 + x22 + ...+ x2n = a2
xm1 + xm2 + ...+ xmn = am x11 + x21 + ...+ xm1 = b1 x12 + x22 + ...+ xm2 = b2
135
i notm cu aij vectorul coloan format cu coeficienii necunoscutei xij. Matricea M va avea forma: a11 1 0 M 0 M= 1 0 M 0 a12 ... a1n a21 a22 ... a2n ... am1 am2 ... amn 1 L 1 0 0 L 0 L 0 0 L 0 0 L 0 1 1 L 1 L 0 0 L 0 M M M M M M M M M M M M 0 L 0 0 0 L 0 L 1 1 L 1 0 L 0 1 0 L 0 L 1 0 L 0 1 L 0 0 1 L 0 L 0 1 L 0 M M M M M M M M M M M M 0 L 1 0 0 L 1 L 0 0 L 1
Am separat cu o linie coeficienii primelor m linii. Observm c ultima linie din M se obine din suma primelor m linii minus suma urmtoarelor n 1 linii, adic ultima linie este o combinaie liniar a celorlalte linii. Suprimnd ultima linie i reinnd doar coloanele corespunztoare vectorilor a1n, a2n, ..., amn, a11, a12, ..., a1n-1, obinem o matrice ptratic de ordinul m + n 1 ale crei elemente aflate sub diagonala principal sunt nule, iar cele de pe diagonala principal sunt egale cu 1. Determinantul acestei matrici este egal cu 1 i deci
rangM = m + n 1.
Din cele expuse pn acum, deducem: - o problem T echilibrat este o problem de programare liniar sub forma standard; - ea admite cel puin o soluie posibil; - rangul matricei sistemului de restricii este m + n -1, deci exist m + n 1 vectori coloan liniar independeni ce vor forma o baz a spaiului m+n-1. Prin urmare, va exista cel puin o soluie de baz
136
Programare liniar
cu cel mult m + n 1 componente pozitive. Cnd soluia de baz va avea m + n 1 componente pozitive, ea se va numi soluie de baz
nedegenerat. n cazul n care numrul componentelor pozitive
Condiia necesar i suficient ca o problem T s fie degenerat este s existe un sistem de indici i1, ..., ip, j1, ..., jr, p < m, r < n, astfel nct:
a
k =1
ik
= b jh .
h =1
Observm c sunt ndeplinite toate condiiile pentru aplicarea metodei simplex. Totui, dup cum se va vedea n continuare, n cazul problemei T este mai uor s se aplice o alt metod.
Ca i n utilizarea metodei simplex, n metoda de rezolvare a problemei T soluia optim se gsete pornind de la o soluie posibil de baz oarecare, aplicnd apoi un procedeu de mbuntiri succesive. Prezentm n continuare cteva metode de determinare a soluiilor posibile de baz pentru problema T echilibrat.
137
1. Metoda Nord-Vest
Se consider problema T echilibrat i se scrie tabelul n care se afl datele problemei: disponibilitile ai, necesitile bj i costurile unitare de transport cij, i = 1, m , j = 1, n . Fie X = (xij), i = 1, m , j = 1, n , matricea necunoscutelor problemei, pe care, ntr-un alt tabel, ne pregtim s o completm. Procedeul pornete cu asignarea unei valori necunoscutei aflate n colul de Nord-Vest al tabelului dat, punndu-se x11 = min(a1, b1). Dac min(a1, b1) = a1, se completeaz elementele primei linii cu zero. Apoi, mergem pe coloana nti i alegem x21 = min(b1 x11, a2). Cnd avem x21 = b1 x11, elementele rmase pe coloan devin nule. Altfel, dac x21 = a2, toate celelalte elemente de pe linia a doua sunt zero. n cazul cnd min(a1, b1) = b1, poziiile rmase libere n prima coloan primesc valoarea zero. Apoi, comparm a1 x11 cu b2 i minimul lor va fi x12. Dac x12 = a1 x11, restul de elemente de pe linia nti se anuleaz. Altfel, dac x12 = b2, elementele de la x22 la xm2 devin zero. Procedeul continu n modul descris mai sus, pn la epuizarea elementelor de comparat. Liniile sau coloanele care se completeaz cu zerouri le considerm detaate de matricea iniial, pentru a ne concentra atenia asupra elementului din colul de nord-vest (stnga-sus) al unei matrice de dimensiuni din ce n ce mai mici.
Exemplu
138
Programare liniar
a i = b j = 60 .
i =1 j =1
Lum pentru x11 = min(20, 12) = 12, restul elementelor coloanei 1 fiind nule. Mai departe, x12 = min(20 12, 9) = 8 i completm prima linie, punnd x13 = x14 = 0. Trecem apoi la x22 = min(10, 9 8) = 1 i completm coloana a doua cu x32 = 0. n linia a doua, calculm x23 = min(10-1, 18) = 9 i vom avea deci x24 = 0, care ncheie aceast linie. n sfrit, x33 = min(18-9, 30) = 9 i astfel, x34 = 21. Soluia obinut o scriem n tabelul: 12 8 1 9 9 21
n care elementele nenule sunt x11, x12, x22, x23, x33 i x34, n numr de m + n -1 = 3 + 4 1 = 6. Deci avem o soluie de baz nedegenerat. Costul total corespunztor acestei soluii este: 3 12 + 1 8 + 5 1 + 1 9 + 3 9 + 1 21 = 106.
Observaie: Metoda expus opereaz numai cu valorile ai i bj, fr a
lua n considerare elementele cij ale matricei costurilor unitare. Este evident c un cost total mai mic se va obine utiliznd rutele cu costuri unitare mai mici. Aceast observaie este folosit n metodele care urmeaz.
2. Metoda costului minim pe linie
nlocuiesc a1 i bk cu a1 x1k i respectiv bk x1k, dup care se suprim linia 1 sau coloana k creia i corespunde diferena nul i se repet procedeul n tabelul rmas pn cnd sunt satisfcute toate cererile.
139
Pe exemplul nostru c1k = c12 = 1 i deci x12 = min(20,9) = 9. Se nlocuiete a1 cu 20 9 = 11 i b2 cu 0, dup care se suprim coloana a doua i repetnd procedeul se obine soluia: 9 3 9 11 7 21
apoi al i b1 prin al xl1 respectiv b1 xl1, dup care se suprim linia l sau coloana 1 i se obine un tabel redus pe care se repet procedeul pn cnd toate cererile sunt satisfcute. n exemplul nostru c1l = c21 i x21 = min(10, 12) = 10. Se nlocuiete b1 cu 12 10 = 2, a2 cu 0, se suprim linia a doua, .a.m.d., obinndu-se n final soluia: 2 10 9 nedegenerat, cu costul total 101.
4. Metoda costului minim din matrice
9 21
nlocuiesc prin ak xkp respectiv bk xkp, dup care se suprim linia k sau coloana p i se obine un tabel redus n care se repet procedeul de mai sus pn cnd toate cererile sunt satisfcute.
140
Programare liniar
n exemplul nostru ckp = c12 sau c23 sau c34. Presupunem c este c12 i se ia x12 = min(a1, b2) = (20, 9) = 9, anulndu-se coloana a doua, iar n loc de a1 vom lua 20 9 = 11 .a.m.d.. Obinem: 3 9 9 8 10 21
c x
i =1 j=1 ij
ij
x
j =1 m
ij
= a i , i = 1, m
x
i =1
ij
= b j , j = 1, n
xij 0, i = 1, m , j = 1, n
Vom scrie duala acestei probleme de programare liniar astfel: fiecrei restricii de tipul (2a) i se asociaz o variabil ui, i = 1, m i fiecrei restricii de tipul (2b) variabila vj, j = 1, n . Cum fiecare variabil apare o singur dat n (2a) i o singur dat n (2b), duala va avea forma: [max]g =
m n
a i u i + b jv j
i =1 j=1
(5)
141
ui + vj cij, i = 1, m , j = 1, n
(6)
ui i vj fr restricii de semn deoarece relaiile (2a) i (2b) sunt egaliti. Notnd x ij respectiv ( u i, v j) componentele soluiilor optime ale celor dou probleme duale, din teorema ecarturilor complementare avem:
x ij(cij - u i - v j) = 0, i = 1, m , j = 1, n .
Pornind de la o soluie de baz nedegenerat, unde exist m + n 1 componente xij > 0, soluia va fi optim dac: cij = ui + vj pentru restul rutelor. Relaiile (7) reprezint un sistem de m + n 1 ecuaii cu m + n necunoscute ui i vj. Pentru rezolvarea sistemului dm unei necunoscute o valoare arbitrar, de exemplu u1 = 0. Cu acestea, expunem algoritmul pentru determinarea soluiei optime pornind de la o soluie posibil de baz nedegenerat.
Pasul 1. Ne asigurm ca problema T s fie echilibrat. Pasul 2. Cu una din metodele expuse anterior determinm o soluie
(7)
pentru toate rutele (i, j) pentru care xij > 0, dac sunt satisfcute relaiile (6)
de rezolvare a sistemului (7), fr s se scrie ecuaiile const n transcrierea coloanei lui ui la stnga coloanelor unei matrici m n i a unei linii cu elementele vj deasupra liniilor matricei m n, matrice ale crei elemente sunt costurile calculate cij = ui + vj, i = 1, m , j = 1, n , n care n prealabil au fost trecute costurile unitare cij ce corespund componentelor xij > 0. Deci, n csuele corespunztoare lui xij > 0, cij = cij.
142
Programare liniar
Completarea coloanei lui ui i a liniei vj se face astfel: dac u1 = 0 i u1 + vp = c1p, rezult valoarea lui vp. Dac uq + vp = cpq, rezult uq .a.m.d.. Dup determinarea valorilor ui, i = 1, m i vj, j = 1, n , completm matricea cu cantitile cij = ui + vj i o notm C = (cij), i = 1, m , j = 1, n , numind-o matricea costurilor calculate (spre a o deosebi de matricea costurilor reale C = (cij), i = 1, m , j = 1, n , dat iniial).
Pasul 4. Determinm matricea = (ij), i = 1, m , j = 1, n , cu
ij = cij cij. Poate aprea una din situaiile: a) ij 0, () i = 1, m , () j = 1, n , caz n care condiiile teoremei ecarturilor complementare sunt satisfcute i X1 este soluie optim pentru problema primal, problema T; b) () ij > 0; X1 nu este optim, ea trebuie mbuntit.
Pasul 5. Dac i 0 j0 = max ij, cu ij > 0, (i0, j0) D (D fiind
i, j
mulimea perechilor (i, j) pentru care xij > 0), introducem n matricea n care vom construi soluia X2, mai bun ca X1, n ruta (i0, j0), cantitatea x i 0 j0 = > 0. Se realizeaz un ciclu de rute, pornind i ajungnd n (i0, j0) de forma (i0, jk), (ir, jk), (ir, js), (ip, js), ..., (it, j0), toate rutele aparinnd lui D. Astfel se formeaz un lan, pornind din (i0, j0), schimbnd direcia numai n rutele din D i numai n unghi drept i ajungnd n (i0, j0). Se examineaz valorile xij din rutele de ordin impar (prima este (i0, jk)) i se gsete valoarea minim notat prin a acestor valori. Introducnd n (i0, j0), scznd din xij n rutele de ordin impar i adunnd la valorile xij n rutele de ordin par se obine o nou soluie posibil de baz, deoarece o component a lui X1 se anuleaz i n (i0, j0) apare componenta > 0. Dac
143
noua soluie este nedegenerat, se trece la pasul 3, rulnd algoritmul pn se obine condiia de optimalitate ij 0, () i = 1, m , () j = 1, n . Aceast metod de rezolvare a problemei T este cunoscut sub numele de metoda potenialelor i i se datoreaz lui Dantzig.
Observaie: Cazul n care X2 e soluie degenerat va fi tratat ulterior. Exemplu
Relund exemplul de la metoda Nord-Vest, cu soluia posibil de baz obinut prin aceast metod i aplicnd pasul 3 rezolvm sistemul: u1 + v1 = 3 u1 + v2 = 1 v3 = -3, u3 = 6, v4 = -5. Matricele C = (cij), cij = ui + vj i = (ij), ij = cij cij, i = 1, m , j = 1, n sunt:
3 1 3 5 C = 7 5 1 1 i = 9 7 3 1 0 0 5 9 5 0 0 7 2 4 0 0
u2 + v2 = 5 u2 + v3 = 1
u3 + v3 = 3 u3 + v4 = 1
n exist valori pozitive, deci soluia X1 (obinut prin metoda NV) nu este optim. Cea mai mare valoare pozitiv este 5 pe ruta (2, 1). Formm lanul cu rutele intermediare: (1, 1), (1, 2), (2, 2) care pornete din poziia (2, 1). 12 8
(2, 1)
144
Programare liniar
Pornind din poziia (2, 1) se scade i se adun alternativ valoarea din fiecare vrf, astfel: 12- 8+
1-
i observm c min(x11, x22) = min(12, 1) = 1, deci = 1. Obinem astfel noua soluie de baz X2: 11 1 9 9 9 21
u2 + v1 = 2 u2 + v3 = 1
u3 + v3 = 3 u3 + v4 = 1
Deoarece toate elementele matricei sunt mai mici sau egale cu zero, X2 este soluia optim i costul total corespunztor este 101.
145
Practic este preferabil s se expun calculele sub form de tabele. Pentru problema rezolvat mai sus, tabelele sunt:
12 X1 8 1 ui 0 4 6 vj 3 3 7 9 vj 3 3 2 4 1 1 5 7 1 1 0 2 -3 -3 1 3 2 2 1 3 -5 -5 -1 1 0 0 -1 1 0 0 -3 0 -5 -1 0 0 0 -4 -7 0 0 5 2 0 0 4 -5 0 0 -9 -7 0 12- 8+ 1- =1 9 9
9 9
21
21
f1 = 106 X2 11 1 9 9 9 21
ui 0 -1 1
8.4 Observaii la aplicarea metodei potenialelor 1. Dac pentru soluia optim X0 avem ij = 0 pentru (i, j) D se
poate obine o nou soluie optim aplicnd acestei rute pasul 5 i introducnd n (i, j). Vom gsi o nou soluie optim X0 i soluia optim general va fi: X = X0 + (1 - )X0, [0, 1]. n acest caz vom spune c problema T are soluie optim multipl sau are o infinitate de soluii optime. n exemplul precedent 13 = 0, dei (1, 3) D (sunt indici din afara bazei). Dac n (1, 3) introducem i aplicm pasul 5, obinem: 11- 1+ 9
9- 9 21
unde = min(11, 9) = 9, i deci obinem o nou soluie X3 pentru care mai aplicm o dat algoritmul.
146
Programare liniar vj ui 0 -1 1 3 3 2 4 1 1 0 2 2 2 1 3 0 0 -1 1 0 0 -3 0 -5 0 0 0 0 -4 -7 0
X3
2 10
9 9 21
Cum toate elementele matricei sunt mai mici sau egale cu zero noua soluie este optim, deci problema T are o infinitate de soluii optime date de: X = X2 + (1 - )X3, [0, 1]. Soluia optim X3 este tocmai soluia iniial de baz obinut prin metoda costului minim pe coloan.
2. Dac max ij = pq =rs, ij > 0, p, r 1, ..., m, q, s 1, ..., n,
i, j
pentru a vedea n ce rut trebuie s-l introducem pe , comparm costurile cpq i crs i dac cpq < crs, introducem n ruta (p, q).
3. n rezolvarea problemei T poate aprea o soluie posibil de baz
degenerat, fapt ce ar face imposibil rezolvarea sistemului n necunoscutele ui i vj din pasul 3. O astfel de situaie poate aprea n dou cazuri:
a) cnd soluia iniial de baz este degenerat. Evitarea acestui
neajuns se poate face cu metoda perturbrii ce const n reformularea problemei, punnd: ai() = ai + , i = 1, m bj() = bj, j = 1, n 1 bn() = bn + m, > 0, arbitrar de mic. Cu aceste date determinm soluia iniial de baz ale crei componente depind de . Punem condiia ca 0 i se vor obine componente bazice nule pe care le tratm ca i cnd ar fi pozitive.
147
Exemplu
i soluia posibil de baz iniial obinut prin metoda Nord-Vest: 30 10 15 25 Observm c numrul componentelor pozitive, patru, este mai mic ca m + n -1 = 3 + 3 1 = 5, deci soluia este degenerat. Reformulm problema punnd: 30 10
15+ 25+
30
10
40+3
Pentru 0 vom avea x13 = 0, component bazic nul, cu care se va lucra ca i cnd ar fi pozitiv. Spunem c x13 este un zero esenial spre a-l deosebi de celelalte zerouri corespunztoare componentelor nebazice.
148
Programare liniar
pe rutele unde se scade cantitatea , valoarea minim apare de dou sau mai multe ori. n acest caz se anuleaz dou sau mai multe componente ale soluiei, crendu-se o soluie cu mai puin de m + n 1 componente pozitive, deci degenerat. Dintre componentele ce au devenit nule se renun la cea creia i corespunde costul unitar cel mai mare, celelalte rmnnd componente bazice nule (zerouri eseniale) i se va lucra cu ele ca i cnd ar fi pozitive.
Exemplu
i soluia ei posibil de baz iniial obinut prin metoda Nord-Vest: 5 7 5 nedegenerat. Rezolvm problema n urmtorul tabel:
5 X1 7 5 ui 0 3 3 vj 4 4 7 7 2 2 5 5 -1 -1 2 2 0 4 3 0 0 3 -2 0 0 5- 7+ 5- 10 2
10 2
10 2
149
problemei T n care se cere maximizarea funciei obiectiv. n acest caz metoda potenialelor comport urmtoarele modificri: n construirea unei soluii posibile de baz iniiale metoda costului minim (pe linie, coloan, total) devine metoda costului maxim i se aplic pornind de la valoarea cea mai mare (pe linie, coloan, n toat matricea) din C. La metoda Nord-Vest nu se impune nici o modificare. Calculul diferenelor ij se face dup formula:
ij = cij cij, i = 1, m , j = 1, n
iar condiia de optim este aceeai ij 0, ()i = 1, m , j = 1, n .
5) Exist probleme T n care practica impune evitarea unor rute, deci
cu rute interzise. Dac ruta (k, h) nu trebuie folosit, orice soluie va trebui s aib xkh = 0, rezultat care se obine astfel: - pentru problemele de minim se va lua ckh = M, M ; - pentru problemele de maxim se pune ckh = 0. Raiunea acestor nlocuiri este evident. n cazul minimului evitarea rutei se face lund costul unitar foarte mare iar pentru maxim costul unitar nul face ruta incovenabil.
150
Programare liniar
soluia Xi exist relaia de recuren: fi+1 = fi - * ij pentru problema de minimizare a lui f, unde * este cea mai mare valoare ij pozitiv n , iar este valoarea determinat pentru mbuntirea lui Xi cu Xi+1. Dac problema cere maximizarea lui f, relaia de recuren este: fi+1 = fi + * . ij
Aplicaie
Pornind de la o soluie de baz iniial obinut prin metoda minimului pe coloan, s se rezolve urmtoarea problem T n care se cere minimizarea funciei obiectiv: Bj Ai A1 A2 N
Rezolvare
B1 2 4 7
B2 3 1 11
B3 1 0 8
D 15 9
Deoarece N =
b
j=1
= 26 i D =
a
i =1
neechilibrat. Introducem pentru echilibrare A3 fictiv cruia i repartizm un disponibil egal cu N D = 2 i toate costurile unitare de pe linia lui A3 vor fi nule.
151
a crei soluie posibil de baz iniial prin metoda minimului pe coloane este: 5 2 Aceast soluie are 5 componente pozitive i m+n 1 = 3+3 1 = 5, deci este o soluie nedegenerat. Putem trece la rezolvarea problemei T modificat cu calculele n tabelul urmtor:
5 X1 2 f1 = 33 7 X2 9 0 2 f2 = 31 8 2 9 8 vj ui 0 -2 -2 vj ui 0 -1 -2 2 2 0 0 2 2 1 0 3 3 1 1 2 2 1 0 1 1 -1 -1 1 1 0 -1 0 -3 0 -1 0 0 0 0 -1 0 -4 0 0 0 1 0 -1 -1 5+ 2- 2- 9 =2 8
2 9
Programare liniar
aceast din urm component (x32) este fictiv deoarece A3 este fictiv i deci B2 nu primete tot necesarul de 11 uniti ci doar 9. Pe parcursul rezolvrii a intervenit degenerarea prin anularea de ctre = 2 a dou componente pozitive din X1, i anume x12 i x31. Cum c31 < c12, renunm la x12 i lum x13 = 0, zero esenial, tratat ca fiind un numr pozitiv. n etapa de optim, n matricea , n afara rutelor corespunztoare componentelor bazice, mai apare un zero n ruta (2, 3), deci soluia optim a problemei date este multipl. n sfrit din tabel observm c f1 = 33, * = 32 = 1 iar = 2. ij Relaia de recuren ne d: f2 = f1 - * = 33 1 2 = 31, att ct am obinut i noi n tabel ij folosind definiia funciei obiectiv: f(X) =
c x
i =1 j=1 ij
ij
materie prim M1 i M2, 4 tipuri de produse P1, P2, P3, P4. Consumurile specifice, cantitile disponibile din M1 i M2, preurile unitare de vnzare bi i costurile unitare ci, i = 1,4 sunt date n urmtorul tabel:
M1 M2 bi ci P1 1 4 5 3 P2 3 1 7 4 P3 2 3 10 6 P4 2 1 6 4 Disponibil 200 300
153
Studiul pieei de desfacere impune condiia ca ntreaga producie s nu depeasc 500 uniti. S se scrie modelul matematic ce va conduce la planul optim de producie.
Rezolvare
Fie xi cantitatea de produs Pi, i = 1,4 . Beneficiul unei uniti de produs Pi va fi bi ci; atunci beneficiul total va fi: f =
(b
i =1
cazul nostru: [max]f(x) = 2x1 + 3x2 + 4x3 + 2x4 x1 + 3x2 + 2x3 + 2x4 200 4x1 + x2 + 3x3 + x4 300 x1 + x2 + x3 + x4 500 xi 0; i = 1,4 .
vagoane dintr-un anumit tip de produs. Aprovizionarea se face ealonat la nceputul fiecrei luni. Cererea n vagoane, costurile unitare n mii de euro sunt date n tabelul de mai jos:
Luna Cererea Costul 1 10 30 2 12 25 3 8 32
Se tie c la nceputul primei luni firma dispune de 6 vagoane din produsul respectiv, pot fi depozitate cel mult 14 vagoane iar la sfritul trimestrului cantitatea de produs trebuie s fie consumat integral.
154
Programare liniar
S se scrie modelul matematic al problemei cnd se caut costul total minim de aprovizionare.
Rezolvare
Notm cu xi numrul de vagoane din produsul cutat comandate la nceputul lunii i, i = 1,3 . Cantitatea x1 adugat celor 6 vagoane existente trebuie s satisfac cererea din prima lun i s nu depeasc capacitatea de depozitare. Adic: 10 x1 + 6 14 sau 4 x1 8 (1) La sfritul primei luni, mai rmn x1 + 6 10 = x1 4 vagoane, iar la nceputul lunii a doua avem x1 4 + x2 ce va trebui s satisfac condiiile: 12 x1 4 + x2 14 sau 16 x1 + x2 18 Cantitatea x3 va trebui s satisfac condiia: 6 + x1 + x2 + x3 = 30 sau x1 + x2 + x3 = 24 Modelul matematic al problemei va fi: [min]f(x) = 30x1 + 25x2 + 32x3 4 x1 8 16 x1 + x2 18 x1 + x2 + x3 = 24 xi 0; i = 1,3 . (3) (2)
155
Rezolvare
Folosim metoda grafic i reprezentm dreptele (d1) x1 + x2 = 2, (d2) x1 + 2x2 = 4; (d3) 5x1 3x2 = 15 i apoi regiunile corespunztoare inegalitilor.
x2 (d1) A 2 (d3) C
B 3 4 (d2) x1
21 25 , . i cum: 2 2
42 i 13
156
Programare liniar
este tot soluie optim, deci problema are o infinitate de soluii optime date de:
X1 i X2 n expresia lui X. valoare se gsete n C unde f(C) = 35, 5 i deci: [max]f = 35,5 n x1 = 25 21 i x2 = , deci soluia unic este 2 2
21 25 X = , . 2 2
4. Fie sistemul de inecuaii:
x1 + 2x2 3x3 3 2x1 x2 6x3 4 xj 0, j = 1,3 . a) Aducei sistemul la forma standard i asigurai-v ca matricea sistemului s conin o baz canonic n R2; b) Determinai 4 soluii de baz pentru sistemul de ecuaii de la a) i facei observaii asupra soluiilor gsite; c) Dac f(x) = 2x1 5x2 + 3x3, calculai valoarea lui f n soluiile gsite la b) i specificai n care dintre ele f ia cea mai mare valoare.
Rezolvare a) Sistemul de ecuaii va fi:
Matricea sistemului este: a1 a2 a3 a4 a5 1 2 3 1 0 A= 2 1 6 0 1 Ca aceasta s conin o baz canonic, form ecuaia a doua adunnd n membrul stng y = 0 (variabil artificial) ce va genera vectorul artificial , i sistemul va deveni: x1 + 2x2 3x3 + x4 = 3 2x1 x2 6x3 x5 + y = 4 xj 0, y 0 iar: a1 a2 a3 a4 a5 1 2 3 1 0 0 A= 2 1 6 0 1 1 cu baza canonic a4, .
b) Pentru determinarea soluiilor de baz aplicm lema substituiei
X4 = (0, 2 , 11 ,0,0,0) T
15
Programare liniar
11 < 0. 15
X2 i X3 sunt soluii posibile de baz, cu X2 soluie degenerat (numrul componentelor pozitive dintre x1, x2, x3, este mai mic ca numrul restriciilor, 2), iar X3 este nedegenerat.
c) Deoarece f(X2) = 4 i f(X3) = 2,4 rezult c n X2 f ia cea mai
mare valoare.
5. Fie modelul de programare liniar:
[max]f(x) = 15x1 + 20x2 3x1 + 8x2 24 7x1 + 3x2 21 x1 1 x1, x2 0 a) S se aduc la forma standard; b) S se enumere bazele ce se pot forma cu vectorii din matricea tehnologic extins; c) S se rezolve problema pe cale grafic; d) S se rezolve problema prin algoritmul simplex.
Rezolvare a) Folosim variabilele de compensare x3, x4, x5 astfel:
3x1 + 8x2 + x3 = 24 7x1 + 3x2 + x4 = 21 x1 x5 = 1 xj 0, j = 1,5 [max]f(x) = 15x1 + 20x2 + 0(x3 + x4 + x5)
159
a1 3 A = 7 1
a2 8 3 0
a3 1 0 0
a4 a5 0 0 1 0 0 1
Orice sistem de 3 vectori din A, liniar independeni formeaz o baz. Numrul maxim posibil de baze este C 3 = 10. Acestea sunt: 5 B1 = a1, a2, a3; B2 = a1, a2, a4; B3 = a1, a2, a5; B4 = a1, a3, a4; B5 = a1, a3, a5; B6 = a1, a4, a5; B7 = a2, a3, a5; B8 = a2, a4, a5; B9 = a3, a4, a5. Vectorii a2, a3, a4 nu pot forma o baz (rangul matricei formate cu ei este mai mic ca numrul lor 3). Deci exist 9 baze ce vor da 9 soluii de baz. Nu toate acestea sunt soluii posibile de baz (cu toate componentele nenegative).
c) n planul Ox1x2 reprezentm dreptele:
3 D A 0 1 (d3)
B 3 (d2) 8 (d1) x1
160
Programare liniar
96 105 21 crei vrfuri A(1, 0), B(3, 0), C , , D 1, sunt cele 4 soluii 47 47 8
posibile de baz ale problemei. Cum f(A) = 15; f(B) = 45; f(C) = rezult c soluia optim este n C i: [max]f(x) = 96 105 3540 , cu x1 = i x2 = . 47 47 47 3540 135 = 79,5; f(D) = = 67,5 47 2
ordinul trei; este necesar un vector unitar artificial i avem: 3x1 + 8x2 + x3 = 24 7x1 + 3x2 + x4 = 21 x1 x5 + y = 1 xj 0, j = 1,5 , y 0 [max]f(x) = 15x1 + 20x2 + 0(x3 + x4 + x5) My a1 3 A = 7 1
B a3 a4 CB
a2 8 3 0
a3 1 0 0
a4 a5 0 0 1 0 0 1
20 a2 8 3 0 0 20 8 3 0 0 20
0 0 i B = a3, a4, . 1
0 a3 1 0 0 0 0 1 0 0 0 0 0 a4 0 1 0 0 0 0 1 0 0 0 0 a5 0 0 -1 M -M 3 7 -1 -15 15 -M 0 0 1 -M 0 -3 -7 1 15 -M-15 8 3 1 I0
XB 24 21 1 -M 21 14 1 15
0 0 -M fj j = cj - fj 0 a3 0 a4 a1 15 fj j = cj - fj
15 a1 3 7 1 -M 15+M 0 0 1 15 0
21/8 14/3 -
I1
161
Modele matematice n economie 20 0 15 fj j = cj - fj a2 20 a5 0 a1 15 fj j = cj - fj a2 a4 a1 21/8 49/8 1 135/2 105/47 49/47 96/47 3540/47 0 0 1 15 0 0 0 1 15 0 1 0 0 20 0 1 0 0 20 0 1/8 -3/8 0 5/2 -5/2 7/47 -3/47 -3/47 95/47 -95/47 0 1 0 0 0 3/47 8/47 8/47 60/47
-60/47
7 49/47 -
I2
I3
programare liniar, rezolvnd duala ei prin algoritmul simplex. [min]f(x) = 20x1 + 18x2 + x3 2x1 + 3x2 + 3x3 6 2x1 + 2x2 x3 10 2x1 + x2 x3 8 x1, x2, x3 0
Rezolvare
Modelul dual sub form canonic de maxim (dualitate simetric) este: [max]g(u) = 6u1 + 10u2 + 8u3 2u1 + 2u2 + 2u3 20 3u1 + 2u2 + u3 18 3u1 - u2 u3 1 u1, u2, u3 0
162
Programare liniar
Forma standard a dualei este: [max]g(U) = 6u1 + 10u2 + 8u3 + 0(u4 + u5 + u6) 2u1 + 2u2 + 2u3 + u4 = 20 3u1 + 2u2 + u3 + u5 = 18 3u1 - u2 u3 + u6 = 1 ui 0, i = 1,6 i i se aplic algoritmul simplex:
B a4 a5 a6
CB
UB 20 18 1 0 2 9 10 90 2 8 11 96
0 0 0 gj j = c j - g j 0 a4 a2 10 0 a6 gj j = c j - g j a3 8 a2 10 a6 0 gj j = c j - g j
6 a1 2 3 3 0 6 -1 3/2 9/2 15 -9 -1 2 4 12 -6
10 a2 2 2 -1 0 10 0 1 0 10 0 0 1 0 10 0
8 a3 2 1 -1 0 8 1 1/2 -1/2 5 3 1 0 0 8 0
0 a4 1 0 0 0 0 1 0 0 0 0 1 -1/2 1/2 3 -3
0 a5 0 1 0 0 0 -1 1/2 1/2 5 -5 -1 1 0 2 -2
0 a6 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0
10 9 -
2 18 -
Soluia optim a problemei date (primale) este: [min]f(x) = [max]g(u) = 96 iar componentele soluiei x1, x2, x3 se citesc pe linia lui gj din ultima etap respectiv la intersecia cu coloanele vectorilor a4, a5, a6 ce au format baza iniial. Astfel: x1 = 3, x2 = 2, x3 = 0, sau X = (3, 2, 0)T.
163
problem: Ai A1 A2 A3 N Bj B1 3 4 2 10 B2 2 3 1 15 B3 1 3 4 15 B4 2 2 5 40 D 30 20 40
pornind de la o soluie iniial de baz obinut prin metoda costului minim pe linie.
Rezolvare
Deoarece N =
b
j=1
= 80, iar D =
a
i =1
neechilibrat. Se va echilibra introducnd B5 fictiv cu necesarul 90 80 = 10 i toate costurile de pe coloana lui B5 vor fi nule. Vom rezolva acum problema T modificat. Ai A1 A2 A3 N Bj B1 3 4 2 10 B2 2 3 1 15 B3 1 3 4 15 B4 2 2 5 40 B5 0 0 0 10 D 30 20 40
Aplicnd metoda costului minim pe linie gsim soluia posibil de baz iniial X1 15 10 15 5 20 15 10
164
Programare liniar
care are 7 componente pozitive i cum m + n 1 = 3 + 5 1 = 7 soluia gsit este nedegenerat i pentru ea avem f1 = 175.
vj ui 0 0 3 vj ui 0 0 3 -4 -5 0 -4 -5 0 0 -2 0 0 0 0 0 0 3 15 10 15 = 10 -4 -5 0 -4 -5 0 0 -2 0 0 0 0 0 0 0 5+ 10- 20 15-
-1 -1 -1 2 -1 -1 -1 2
-2 -2 -2 1 -2 -2 -2 1
1 1 1 4 1 1 1 4
2 2 2 5 2 2 2 5
0 0 0 3 0 0 0 0
15 X1 10 15 f1 = 175 15 X2 10 15 f2 = 145
5 20 15
10
15 20 5
10
Ultima soluie X2 este optim, [min]f(X) = 145. n matricea de pe linia lui X2, etapa de optim, avem 33 = 0 dei x33 nu e component pozitiv n X2; rezult c problema nu are soluie optim unic, ci are o infinitate de soluii optime. Deoarece B5 este fictiv, cantitatea x35 = 10 nu se transport, rmnnd disponibil pentru o alt ntrebuinare.
8. Pornind de la o soluie posibil de baz obinut prin metoda
Bj
B1 1 4 0 4
B2 2 3 2 6
B3 3 2 2 8
B4 4 0 1 6
D 6 8 10
Problema este echilibrat, N = D = 24. Soluia iniial obinut prin metoda Nord-Vest este: 4 2 4 4 4
6
165
cu 6 componente pozitive i cum m + n 1 = 3 + 4 1 = 6, este deci nedegenerat. Organizm calculele n tabelul urmtor:
vj
4 X1
2 4
4 4
ui 0 1 1
1 1 2 2
2 2 3 3 2 2 1 1 2 2 1 1
1 1 2 2 3 3 2 2 3 3 2 2
0 0 1 1 2 2 1 1 1 1 0 0 0 -4 0 0 -2 -1 0 -4 0 0 -2 -1 0 -2 2 0 0 1
-2 0 0 -4 1 0 4- 0 4 6 8- 0+ =6 0 0 0 -3 0 -1 6- 2+ 4- 4+ 4-
f1 = 42 0 X2 4 6 8 0 f2 = 34 0 X3 4 6 2 6 f3 = 28 6 6
ui 0 -1 -1 vj ui 0 -1 -1
vj
1 1 0 0 1 1 0 0
=4 0 0 0 -2 1 0
X3 este soluie optim, este degenerat pentru c are doar 5 componente pozitive. Degenerarea a provenit din cauza anulrii pentru = 4 a trei componente pozitive: x11, x22, x33. Comparnd costurile corespunztoare c11, c22, c33 cel mai mare este c22 = 3 de aceea renunm la ruta (2, 2) i vom lua x11 = x33 = 0, care vor fi zerouri eseniale. Deoarece n etapa de optim, matricea conine pe 13 = 0, dei x13 = 0, soluia optim nu e unic ci multipl.
9. O firm dispune de dou centre furnizoare A1, A2, ale unui anumit
tip de produs, n respectiv cantitile 15 i 10. Produsul poate fi achiziionat de beneficiarii B1, B2, B3 n respectiv cantitile 12, 8, 10.
166
Programare liniar
Cunoscnd beneficiile unitare cij (beneficiul adus de o unitate de produs din Ai transportat la Bj), i = 1, 2, j = 1, 2, 3, date n tabelul urmtor: Ai A1 A2 N Bj B1 1 5 12 B2 3 2 8 B3 4 3 10 D 15 10
Deoarece D = 25 i N = 30, problema este neechilibrat. O echilibrm introducnd A3 fictiv cruia i asociem un disponibil egal cu 30 25 = 5, costurile de pe linia lui A3 fiind nule. Obinem astfel problema T modificat, pe care o rezolvm. Ai A1 A2 A3 Bj B1 1 5 0 12 B2 3 2 0 8 B3 4 3 0 10 D 15 10 5
Soluia posibil iniial de baz obinut prin metoda costului maxim din matricea C este X1: 5 10 2 3 10
167
5 X1 10 2 3 f1 = 105
10
ui 0 2 -3
3 3 5 0
3 3 5 0
4 4 6 1 -2 0 0
0 -3 0 0 -3 -1
Elementele matricei , s-au calculat cu formula: ij = cij cij i sunt toate mai mici sau egale cu zero, deci X1 este soluie optim, este unic i nedegenerat, iar: [max]f(x) = 105.
10. Din centrele furnizoare A1, A2, A3 se pot aproviziona beneficiarii
B1, B2, B3 cu un anumit tip de produs. Relaii conflictuale fac ca aprovizionarea lui B2 i B3 de ctre A2 s fie interzis. S se determine planul optim de transport cunoscnd disponibilul furnizorilor, necesarul beneficiarilor i costurile unitare de transport date n tabelul de mai jos: Ai A1 A2 A3 N Bj B1 5 2 3 50 B2 4 1 60 B3 2 6 40 D 90 70 140
168
Programare liniar
Rezolvare
Problema este neechilibrat, D = 300, N = 150 i are rute interzise. Introducem B4 fictiv cu un necesar egal cu 300 150 = 150, iar costurile pe coloana lui B5 le lum egale cu zero. n rutele (2, 2) i (2, 3) vom pune costurile egale cu M, M . Problema T modificat va fi: Bj
Ai A1 A2 A3 N
B1 5 2 3 50
B2 4 M 1 60
B3 2 M 6 40
B4
0 90 0 70 0 140 150
Soluia X1 posibil de baz, iniial, o determinm prin metoda costului minim pe coloan i va fi: 40 50 60 50 20 80
2 2 2 2
1 1 1 1
2 2 2 2
0 0 -3 0 0 0 0 -3 1-M 0
0 2-M -4 0 0 0
X1
50 60
40 50 20 80
169
Cum M , toate elementele matricei sunt mai mici sau egale cu zero. Deci este ndeplinit condiia de optim i X1 este soluie optim, nedegenerat, unic cu: [min]f(X) = 240.
170
TEORIA JOCURILOR
1. Noiuni generale
Teoria jocurilor este teoria matematic care se ocup cu determinarea metodelor de alegere a deciziilor n cazuri de competiie sau situaii conflictuale. O situaie conflictual este cea n care acioneaz doi sau mai muli factori (persoane fizice, firme, partide politice) avnd scopuri contrarii. Astfel de situaii sunt: concurena economic, vnzrile la licitaie, alegerile parlamentare etc.. Teoria jocurilor se ocup i de cazurile n care o activitate intr n conflict cu caracterul ntmpltor al unor evenimente naturale (epidemii, secet). Pentru construirea unui model formal, simplificat al situaiei cercetate se vor selecta caracteristicile principale, cele secundare neglijndu-se. Terminologia folosit este cea de la jocurile de societate sau de noroc. Prin joc sau joc strategic se nelege situaia n care acioneaz o mulime de elemente raionale (numite juctori sau parteneri) care n mod succesiv i independent, ntr-o ordine i condiii fixate ntr-un ansamblu de reguli, iau cte o decizie (efectueaz o mutare) dintr-o mulime dat de alternative. Regulile jocului fixeaz i situaiile n care se termin jocul, precum i ctigul sau recompensa pentru fiecare juctor. Un joc realizat se mai numete partid. Aciunile ntreprinse de juctori n cadrul unei partide se numesc mutri. Acestea pot fi: libere cnd alegerea alternativei este univoc sau
171
aleatoare, cnd alegerea alternativei este supus ntmplrii i e determinat de un mecanism aleator (zar). Dup cantitatea de informaie de care dispune fiecare juctor exist jocuri cu informaie complet (ahul) i jocuri cu informaie parial (bridgeul), necunoaterea inteniilor adversarului constituind elementul esenial al situaiilor conflictuale. Ansamblul de reguli ce definesc n mod unic micrile libere n funcie de situaia ivit n timpul jocului se numete strategie. Dac unul dintre adversari are la dispoziie m alternative, iar partida se ncheie printr-o alegere, se spune c juctorul are la dispoziie m strategii pure. Cnd partidele se repet, juctorii pot alege strategii pure cu anumite frecvene sau probabiliti i atunci se spune c utilizeaz o strategie mixt. Dac numrul strategiilor pure este finit, spunem c avem un joc finit, n caz contrar avem un joc infinit. Fiecare juctor urmrete aplicarea unei strategii care s i aduc un ctig maxim, deci i caut o strategie optim. Ctigul pi realizat de juctorul Pi are semnificaia unei sume bneti sau a unui numr de puncte, bunuri etc.. Dac pi > 0, juctorul Pi realizeaz un ctig n sensul uzual al cuvntului, iar dac pi < 0 nregistreaz o pierdere. Din punct de vedere al ctigului distingem: - jocuri cu sum nul cnd la sfritul unei partide suma pierdut de o parte din juctori este ctigat de ceilali i - jocuri cu sum nenul cnd juctorii pot s-i mreasc concomitent ctigurile, prin alegerea unor strategii adecvate. Dup numrul n al juctorilor, jocurile pot fi cu doi parteneri sau cu n > 2 parteneri.
172
Teoria jocurilor
Exemplu [2] Fie jocul cu doi parteneri P1 i P2 ce const n 3 mutri libere. O mutare nseamn alegerea unuia dintre numerele a sau b, a b. La prima mutare P1 alege liber pe a sau pe b; la a doua mutare P2, informat asupra alegerii fcute de P1, alege la rndul su unul din numerele a sau b. n sfrit, la a treia mutare P1, informat asupra alegerii fcute de P2, alege unul dintre numerele a sau b. Observm c este un joc n doi, cu mutri libere i informaie complet ce poate fi reprezentat printr-un arbore de forma: (1, -1) (2, 1) (-1, 2) (3, 1) (-2, 1) (1, -3) (2, 3) (1, 2) a b a b a b a b
a 1 a 2
b 1
a 1 b 2 0 1
b 1
Vrful 0 arat momentul iniial, iar cifra 1 scris sub 0 arat c prima mutare este a lui P1. Din 0 pornesc dou muchii spre vrfurile a i b, ce reprezint alegerile lui P1. Sub a i b scriem 2, pentru c urmtoarea mutare este a lui P2. Din fiecare vrf pornesc dou muchii spre alte vrfuri a i b, reprezentnd alegerile lui P2 i sub aceste vrfuri scriem 1 deoarece P1 face urmtoarea mutare spre alte vrfuri notate a i b (care vor fi vrfuri terminale). Sub ele nu mai scriem nimic, dar fiecruia i asociem un vector
173
bidimensional (p1, p2) ale crui componente reprezint respectiv ctigurile celor doi juctori, decurgnd din regulile jocului. S-au obinut 8 vrfuri terminale ce vor determina tot attea partide, deoarece o partid este reprezentat de un lan ce leag vrful 0 de unul din vrfurile terminale. Cele 8 partide sunt: (a, a, a), (a, a, b), (a, b, a), (a, b, b), (b, a, a), (b, a, b), (b, b, a) i (b, b, b). Jocul nu este cu sum nul deoarece dac, de exemplu, s-ar realiza partida (a, a, b) avem p1 = 2, p2 = 1 i p1 + p2 = 3 0. Mulimea strategiilor juctorului P1 este: A = (a, a), (a, b), (b, a), (b, b), unde primul element din fiecare pereche reprezint numrul ales la prima mutare, iar al doilea element indic numrul ales la a treia mutare. Mulimea strategiilor lui P2 este: B = (a), (b), reprezentnd alegerile la a doua mutare. Asociem jocului considerat un tabel cu dou intrri A = A1, ...,A4 - strategiile lui P1 i B = B1, B2, strategiile lui P2. La intersecia liniei lui Ai cu coloana lui Bj avem un dreptunghi n care deasupra diagonalei am scris partida, iar dedesubt vectorul (pi, pj) al ctigurilor celor doi juctori, cnd acetia aleg strategiile Ai, respectiv Bj. B A A1 = (a, a) A2 = (a, b) A3 = (b, a) A4 = (b, b) B1 = (a) (a, a, a) (1, -1) (a, a, b) (2, 1) (b, a, a) (-2, 1) (b, a, b) (1, -3) (1, 2)
174
Teoria jocurilor
Din acest exemplu observm c exist diferite moduri de reprezentare a unui joc, cu ajutorul unui arbore sau matricial. Observaie: Dac n acelai joc considerm ctigurile date de urmtoarea coresponden: (a, a, a) (2, -2) (a, a, b) (-1, 1) (a, b, a) (4, -4) (a, b, b) (5, -5) (b, a, a) (1, -1) (b, a, b) (3, -3) (b, b, a) (-2, 2) (b, b, b) (-3, 3)
jocul va fi: finit, cu informaie complet, cu mutri libere i cu sum nul, deoarece p1 + p2 = 0 pentru orice vector (p1, p2). n acest caz reprezentarea matricial poate fi simplificat, scriind n locul vectorului (p1, p2) doar ctigul p1 al lui P1, deoarece cel al lui P2 e cunoscut, egal cu p1. Forma simplificat a matricei este: B B1 = (a) B2 = (b) 2 -1 1 3 4 5 -2 -3
2. Jocuri matriceale Fie un joc finit ntre doi juctori, n care un juctor are m strategii pure, iar cellalt n strategii pure. Un astfel de joc se numete joc m n sau joc matriceal. Dac jocul este cu sum nul, el se va numi antagonist. n
175
acest din urm caz, funcia de ctig se poate prezenta sub forma unui tabel de pli, adic o matrice m n, notat cu A, astfel:
a11 L a1n M M sau A = (aij), i = 1, m , j = 1, n . A= M a m1 L a mn
Matricea A se numete matricea jocului (matricea ctigurilor). Elementul aij este ctigul juctorului P1 cnd alege strategia Ai i juctorul P2 alege strategia Bj. Aceast form matriceal de prezentare a jocului se va numi forma normal. Caracteristicile eseniale ale unui joc sunt: a) mulimea strategiilor pure ale juctorului P 1, P 2, notat
A = A1,..., Am;
b) mulimea
strategiilor
pure
ale
juctorului
notat
B = B1,...,Bn;
c) funcia de ctig f: A B , definit prin f(Ai, Bj) = aij, i = 1, m , j = 1, n . Imaginea prin f a produsului cartezian A B este matricea A. Matricea A se scrie deci n raport cu un singur juctor i anume P1, primul juctor (numit i juctorul maximizant, din punct de vedere formal ambii juctori urmrind acelai scop). Cnd P1 ctig valoarea aij, P2 pltete lui P1 valoarea aij, i = 1, m , j = 1, n . Pentru P2 toate elementele matricei au semn contrar (fiind un joc cu sum nul). P2 se mai numete juctor minimizant. Vom nota jocul definit n condiiile de mai sus prin tripletul: G = (A, B, f).
176
Teoria jocurilor
Exemplu
n jocul numit aruncarea monedei, fiecare juctor alege liber stema (S) sau valoarea (V). Dac alegerile coincid, juctorul P1 primete de la P2 un euro. Dac alegerile difer, P2 primete de la P1 un euro. Atunci forma normal a jocului pentru P1 este: P2 (S) P1 (S) 1 (V) -1 (V) -1 1
Fie un joc G = (A, B, f), cu matricea A = (aij), i = 1, m , j = 1, n . Juctorii sunt considerai la fel de competeni. Ei ader la un principiu de comportare, nscut din raionalitate. Astfel, P1 va aciona aa nct cel mai mic ctig asigurat pe care l poate obine de la P2 s fie ct mai mare, iar P2 urmrete s fac pe ct posibil mai mic, cea mai mare valoare pe care ar trebui s o dea lui P1. Acest principiu poart numele de principiul minimax. Dac P1 va alege strategia Ai A, se ateapt ca P2 s aleag acea strategie Bj B care s ofere un ctig ct mai mic pentru P1. Fie acesta
i = min aij, i = 1, m .
1 j n
Dintre cele m strategii pure, P1 va alege acea strategie Ai care d cea mai mare valoare a lui i. Notnd:
= max i = max min aij
i i
j
177
j = max aij, j = 1, n .
1 i m
Dintre cele n strategii pure, P2 va alege acea strategie Bj care d cel mai mic ctig lui P1, adic cea care d cea mai mic valoare lui j. Notnd
= min j = min max aij
j j
B1 0 1 2
B2 B3 1 0 4 -2 3 -3
B4 2 2 3
A1 A2 A3
Dac P1 alege strategia A1 viznd ctigul a14 = 2, P2 poate alege strategia B3, obligndu-l pe P1 la un ctig a13 = -2 (adic o pierdere); cnd P1 alege A2, P2 poate rspunde cu B2 i P1 ctig a12 = 0, iar cnd P1 alege A3, P2 poate alege strategia B3 i P1 ctig atunci a31 = -3. S determinm valorile inferioar i superioar ale jocului. Calculnd i = min aij, i = 1,3 , obinem:
1 j 4
1 = min0,1,-2,2 = -2
178
Teoria jocurilor
2 = min1,0,3,2 = 0 3 = min2,4,-3,3 = -3
= 3.
De aici rezult c strategia maximin este A2, iar strategia minimax este B1.
Observaie: Calculele de mai sus pot fi simplificate prin organizarea
lor ntr-un tabel obinut din cel iniial, la care se adaug coloana elementelor
i i linia elementelor j, astfel:
B A
B1 0 1 2 2
B2 B3 1 0 4 4 -2 3 -3 3
B4 2 2 3 3
-2 0 -3 0 2
valoarea comun v se numete valoarea jocului. Elementul aij n care se realizeaz aceast egalitate se numete punct a, iar jocul respectiv se va
179
numi joc cu punct a. Strategiile Ai i Bj corespunztoare punctului a aij formeaz o pereche de strategii minimax i se vor numi strategii optime. Ele determin valoarea jocului care este egal cu elementul corespunztor punctului a.
Exemplu
B1 1 3 2 3 3
B2 6 3 1 4 6
B3 0 5 0 5 5
B4 3 6 9 7 9
A1 A2 A3 A4 j
0 3 0 3 =3 =3
Observm c = v G = 3 = v G = Elementul a21 = 3 va fi punctul a. Strategiile A2 i B1 sunt strategii optime, iar valoarea jocului este v = 3.
Observaii: 1) i elementul a41 = 3 este punct a, deci i strategiile A4 i B1 sunt
optime, iar valoarea jocului este tot v = 3. Deci punctul a nu este unic.
2) Abaterea de la strategia optim poate duce la micorarea
ctigului lui P1. De exemplu, dac P1 alege A3 i P2 i rspunde cu B3, ctigul su este a33 = 0, deci scade (tentaia fiind aceea de a obine ctigul maxim, egal cu 9).
3) Elementul a21 = 3 este cel mai mic de pe linia i cel mai mare de
Teoria jocurilor
Exemplu
B1 4 3 1 2
B2 -1 -2 2 -6
B3 2 0 0 3
B4 1 -1 -1 1
B5 3 2 -2 0
A1 A2 A3 A4
Observm c strategia A1 are toate ctigurile respectiv mai mari ca ale strategiei A2. Juctorul P1 care dorete un ctig ct mai mare nu va alege A2, pentru c poate ctiga mai mult prin A1 oricare ar fi strategia aleas de P2. Spunem c strategia A1 domin strategia A2, care este dominat. A2 poate fi eliminat din joc. Pentru juctorul P2, strategia B4 domin strategiile B1 i B3, acestea din urm conducnd la pierderi mai mari pentru P2 dect B4. Deci se poate renuna la B1 i B3 i matricea A se reduce la:
3 1 1 A = 2 1 2 . 6 1 0
n concluzie, o strategie pur domin o alt strategie pur dac duce la ctiguri mai bune dect aceasta din urm. Un juctor nu trebuie s foloseasc niciodat strategii dominate, acestea fiindu-i nefavorabile. Din matricea A se elimin liniile care au toate elementele respectiv mai mici sau egale cu ale altei linii i coloanele ce au toate elementele respectiv mai mari sau egale dect ale altei coloane. Acest principiu poart numele de
principiul dominrii strategiilor. Aplicarea lui conduce la reducerea
181
eliminarea strategiilor dominate conduce la un joc care are aceeai valoare ca i jocul iniial. S observm c jocul redus, rezultat prin eliminarea strategiilor dominate nu are punct a, deci nici cel iniial.
n jocurile fr punct a, un juctor i poate majora ctigul folosind alt strategie dect cea minimax dac este informat asupra comportrii adversarului. Informaii asupra comportamentului adversarului se pot obine prin repetarea partidelor, dac acesta i menine n toate partidele strategia minimax. Un juctor nu trebuie s foloseasc mereu aceeai strategie i nici s foloseasc strategiile dup o regul ce poate fi descoperit de adversar. Va fi necesar alternarea strategiilor pure, cu anumite probabiliti. n cele ce urmeaz vom vedea c, n cazul unui joc matriceal fr punct a, valoarea jocului o vom determina folosind un alt joc matriceal asociat primului, numit joc mediat, notat = (X, Y, ), unde: a) X = x x = (x1, ..., xm), xi 0, i = 1, m ,
x
i =1
= 1, cu
xi = P(Ai), i = 1, m reprezentnd probabilitatea de alegere a strategiei Ai, iar X este mulimea strategiilor mixte pentru P1; b) Y = y y = (y1, ..., yn), yj 0, j = 1, n ,
y
j =1
= 1 unde
yj = P(Bj), j = 1, n , este probabilitatea de alegere a strategiei Bj, iar Y mulimea strategiilor mixte pentru P2;
182
Teoria jocurilor
c) : X Y , cu:
(x, y) =
a x y
i =1 j =1 ij i
x = (x1, ..., xm), iar P2 folosete strategia mixt y = (y1, ..., yn). Dac introducem variabila aleatoare:
a (x, j): 1 j x 1 a 2 j L a mj , valoarea medie a acesteia o notm: x2 L xm
ij
(x, j) =
a
i =1
xi
folosete strategia mixt x = (x1, ..., xm), iar P2 folosete strategia pur Bj. Analog, variabila aleatoare:
a (i, y): i1 y 1 a i 2 L a in va avea valoarea medie: y2 L yn
n ij j
(i, y) =
a y
j =1
folosete strategia Ai iar P2 folosete strategia mixt y = (y1, ..., yn). Atunci, putem scrie c:
(x, y) =
m n m n
a x y = x (i, y) = y ( x, j) ,
i =1 j=1 ij i j i =1 i j =1 j
de unde se vede
c (x, y) semnific valoarea medie a jocului, care se mai scrie matriceal astfel: (x, y) = xAyT. Pentru jocul mediat = (X, Y, ), vom defini valoarea inferioar v i valoarea superioar v prin expresiile: v = max min (x, y)
xX yY
183
Prezentm acum, cu sau fr demonstraie, cteva rezultate din teoria funciilor de mai multe variabile reale ce vor fundamenta principiile matematice ale jocurilor matriceale.
Teorema 1
Fie X, Y dou subspaii ale unor spaii liniare i f: X Y . Dac exist mrimile: max min f(x, y) i min max f(x, y), atunci
xX yY yY xX
(1)
Demonstraie:
Din definiia extremelor, avem: g(x) f(x, y), () y Y i ()x X Atunci: max g(x) max f(x, y) = h(y), () y Y, i deci:
xX xX
Demonstraie:
Existena celor dou valori, v G i v G rezult din faptul c f are o mulime finit de valori. i dac n teorema 1 X = A, Y = B i f (Ai, Bj) = aij pentru orice Ai A i Bj B, atunci relaia (1) devine v G v G .
184
Teoria jocurilor
Teorema 2
n ipotezele teoremei 1, o condiie necesar i suficient ca max min f(x, y) = min max f(x, y).
xX yY yY xX
(2)
este s existe x0 X i y0 Y i un numr w astfel nct: f(x, y0) w f(x0, y), pentru orice x X i y Y. (3)
Demonstraie: Necesitatea: Presupunem relaia (2) adevrat. Fie x0 X punctul
xX
yY
nct relaia (3) s fie adevrat. Din f(x0, y) w, () y Y, rezult c i min f(x0, y) w.
yY
xX
xX
185
Aceast relaie, mpreun cu relaia (1), implic w = max min f(x,y) = min max f(x,y), fapt ce ncheie demonstraia.
xX
yY yY
xX
Se aplic teorema 2, n care X = A, Y = B, fG(Ai, Bj) = aij, i = 1, m , j = 1, n , lund w = fG(Aio, Bj0). Condiia necesar i suficient de existen a punctului a este s existe perechea de strategii pure Aio, Bjo astfel nct: aiojo = max min aij = min max aij
i j j i
adic elementul aiojo este cel mai mic din linia i0 i n acelai timp cel mai mare din coloana j0. Strategiile A i 0 i B j0 corespunztoare punctului a sunt strategii optime.
186
Teoria jocurilor
Fie un joc G = (A, B, f) de dou persoane, caracterizat de matricea jocului A = (aij), i = 1, m , j = 1, n i fie = (X, Y, ) jocul mediat corespunztor. Atunci exist expresiile: v = max min (x, y) i v = min max (x, y) i v = v .
xX yY yY xX
Demonstraie:
a x y
i =1 j =1 ij i n
marginile pe X. Deci exist max (x, y) pentru orice y Y, iar aceast funcie este
xX
liniar n y Y, deci este i continu. Cum Y este o parte nchis a lui n, rezult c exist max min (x, y).
xX yY
xX
(4)
adic v v .
187
Dac A = (aij), i = 1, m , j = 1, n i x = (x1, ..., xm), y = (y1, ..., yn) ndeplinesc condiiile: xi 0,
x i = 1, yj 0,
i =1
y
j=1
asemenea vectori x, y pentru care numai una din urmtoarele situaii este adevrat: i) ii)
m
a x
i =1 n
ij i
0, j = 1, n ;
a
j=1
ij
y j 0, i = 1, m .
Aplicnd aceast lem pentru matricea jocului A, dac are loc prima situaie (i), nseamn c exist x = (x1, ..., xm) astfel nct a1jx1 +...+amjxm 0, () j = 1, n , de unde: (x, y) =
(a
j=1
1j
x 1 + ... + a mj x m ) y j 0, () y Y, deci
yY
xX
Dac situaia (ii) din lem este adevrat, exist y = (y1, ..., yn) Y astfel nct ai1y1 + ... + ainyn 0, i = 1, m , de unde: (x, y) =
(a
i =1
i1 1
y + ... + a in y n ) x i 0, () x X, deci i
yY
188
Teoria jocurilor
Cum numai una dintre cele dou situaii din lem are loc, niciodat nu se va verifica relaia max min (x, y) < 0 < min max (x, y)
xX yY yY xX
(5)
Fie Gk = (A, B, fk) avnd matricea Ak = (aij k); i = 1, m , j = 1, n , k i jocul mediat corespunztor k = (X, Y, k), k fiind ctigul mediu n jocul mediat cu matricea Ak, adic: k(x, y) = Cum
m n m n m n
(a
i =1 j=1 i j j
ij
k ) x i y j = a ijx i y j k x i y j .
i =1 j=1 i =1 j=1
x y
i
= 1, obinem: (6)
k(x, y) = (x, y) k max min k(x, y) < 0 < min max k(x, y)
xX
yY yY
sau innd seama de (6) nu poate avea loc relaia max min (x, y) k < 0 < min max (x, y) k
xX yY yY xX
care se mai scrie: max min (x, y) < k < min max (x, y), () k .
xX yY yY xX
xX
A = (aij), i = 1, m , j = 1, n fr punct a este dat de valoarea v = v = v a jocului mediat = (X, Y, ) asociat lui.
189
soluie. n mulimea strategiilor X i Y exist cel puin o pereche de strategii mixte x0, y0 pentru care: (x0, y0) = max min (x, y) = min max (x, y).
xX yY yY xX
Teorema 4 [6]
Asupra matricei A = (aij) a unui joc se pot efectua urmtoarele operaii: a) dac se permut liniile (coloanele) ntre ele, valoarea jocului nu se schimb i nici probabilitile de folosire a strategiilor de ctre juctorul P1 (respectiv P2); b) dac la fiecare element aij din matricea A a unui joc matriceal de valoare v se adaug acelai numr real k, atunci strategiile mixte optime rmn neschimbate, iar valoarea jocului devine v = v + k; c) dac toate elementele matricei A dintr-un joc matriceal de valoare v se nmulesc cu acelai numr k > 0, atunci strategiile mixte optime rmn neschimbate, iar valoarea jocului devine v = kv.
2.3 Rezolvarea jocurilor matriceale Teorema 3 (teorema minimax) asigur existena strategiilor optime
190
Teoria jocurilor
pot fi calculate aceste strategii. n cele ce urmeaz, vom prezenta cteva metode pentru soluia unor jocuri matriceale.
2.3.a Jocuri 2 2
Considerm jocul matriceal cu: a 12 a . A = 11 a 21 a 22 Dac jocul are punct a, rezolvarea sa e banal. Presupunem c jocul nu are punct a. Atunci strategiile optime x = (x1, x2) i y = (y1, y2) vor avea toate componentele pozitive. Valoarea jocului v este: v = (x, y) = a11x1y1 + a12x1y2 + a21x2y1 + a22x2y2 i se mai scrie: x1(a11y1 + a12y2) + x2(a21y1 + a22y2) = v (7) Cum y este strategie optim, fiecare expresie din paranteze este cel mult egal cu v. Dac presupunem c una e strict mai mic dect v, de exemplu: a11y1 + a12y2 < v a21y1 + a22y2 v cum x1 > 0 i x1 + x2 = 1 ar rezulta c membrul stng din (7) este mai mic ca v. Deci va trebui ca: a11y1 + a12y2 = v a21y1 + a22y2 = v. Raionnd analog se obine: a11x1 + a21x2 = v a12x1 + a22x2 = v.
191
Sau matriceal:
v AyT = i xA = (v, v). v formulele de calcul pentru x, y i v. Dac A este nesingular, din (8) avem: xA = vJ i x = vJA-1. Dar x1 + x = 1 este echivalent cu xJ = 1. n (8), nmulind cu JT, avem: vJA-1JT = xJT = 1 de unde: v=
1 JA 1J T .
T
(8)
(8)
Prima relaie din (8) se mai scrie: AyT = vJT, de unde: yT = A-1(vJT) =
A 1J T . JA 1J T
Dac A este singular (A-1 nu exist), echivalentele formulelor de mai sus vor fi ([16]): x= JA * A * JT |A| ; yT = ; v= , T T JA * J JA * J JA * J T (9)
unde A* este matricea adjunct a lui A, A determinantul lui A i J = (1,1). Aceste formule se verific i cnd A este inversabil.
192
Teoria jocurilor
Exemplu
Rezolvare
3 1 Jocul nu are punct a. Matricea A* = 0 2 , A = 6, 3 1 T JA* = (1,1) 0 2 = (3, 1); A*J = 2 JA*JT = (1, 1) = 4. 2 3 1 1 2 0 2 1 = 2 ;
matriceal a jocurilor, n care dac notm matricea ctigurilor cu C = (cij), i = 1, m , j = 1, n , pentru jocul = (X, Y, f), soluia i valoarea jocului se determin ([9], [21]) cu ajutorul formulelor: x= JrA * J (A*)T |A| , y= r * T , v= T JrA * Jr JrA Jr JrA * JT r (9)
n relaiile (9) avem: - A o matrice nesingular a lui C, de ordinul r, 2 r min(m, n); - A este determinantul matricei A; - Jr = (1, ..., 1), matrice de ordinul 1 r;
193
Determinarea soluiei se face astfel: a) se caut toate submatricele nesingulare A, pornind de la r = min(m,n); b) se rezolv jocurile corespunztoare matricelor de la a), care admit numai strategii pozitive; c) n
corespunztoare liniilor i coloanelor din C care nu intr n A, obinnd strategiile x0 i y0; d) se verific condiiile corespunztoare relaiilor (8), date de criteriul Neumann i anume x0A = vJ i AyT = vJT. Dac aceste relaii sunt ndeplinite x0 i y0 sunt strategii optime ale jocului , iar v este valoarea jocului.
2.3.b Jocuri 2 n i m 2
n acest caz presupunem c cel puin un juctor posed numai dou strategii pure. Fie P1 juctorul ce are numai dou strategii pure, adic analizm cazul 2 n. Jocurile m 2 se trateaz ntr-un mod similar. Dac matricea jocului este:
a ...a A = 11 1n a ...a 21 2 n
i x = (x1, x2) e strategia juctorului P1, atunci acesta urmrete s maximizeze funcia v(x) valoarea jocului.
194
Teoria jocurilor
a1nx1 + a2nx2 v x1 + x2 = 1 x1, x2 0 i poate fi adus la forma matematic a unui model de programare liniar avnd necunoscutele x1, x2 i v, astfel: [max]f = v a11x1 + a21x2 v 0
2 4 4 A= 8 6 16 .
Rezolvare
Strategiile lui P1 verific sistemul: -2x1 + 8x2 v 4x1 6x2 v -4x1 + 16x2 v x1 +x2 = 1 x1, x2 0, v oarecare.
195
Forma
matematic
modelului
de
programare
liniar
necunoscutele x1, x2 i v va fi: [max]f = v -2x1 + 8x2 v 0 4x1 6x2 v 0 -4x1 + 16x2 v 0 x1 +x2 = 1 x1, x2 0, v oarecare. Cum x1 = 1 x2, x1, x2 [0,1], modelul de mai sus devine: [max]f = v 10x2 v 2 10x2 + v 4 20x2 v 4 x2 [0,1], v oarecare. Rezolvm grafic aceast problem i obinem:
v v = -4+20x2 4 2 1 0 -1 -2 -4 v = 4-10x2 v = -2+10x2
M(0,3; 1) 1 x2
196
Teoria jocurilor
Regiunea haurat conine mulimea punctelor ce satisfac restriciile modelului de programare liniar. Punctul M aflat la intersecia dreptelor generate de restriciile 1 i 2 (deci corespunztoare coloanelor 1 i 2 din A) are abcisa x2 = 0, 3 i ordonata v = 1. Atunci strategia lui P1 este x = (x1, x2), unde x2 = 0, 3 i x1 = 1 x2 = 0,7 i valoarea jocului este v = 1.
Observaie: Aceste valori pot fi obinute cu formulele (9) pentru
10 10 = - 20.
Fie jocul G = (A, B, f) cu matricea A = (aij), i = 1, m , j = 1, n de valoare v, avnd jocul mediat corespunztor = (X, Y, ).
197
Dac juctorul P1 folosete strategiile Ai, cu probabilitile xi, i = 1, m , poate spera la un ctig egal cel puin cu valoarea v a jocului, pentru orice strategie Bj, j = 1, n , a lui P2. Putem scrie sistemul de inecuaii: a11x1 + ... + am1xm v a12x1 + ... + am2xm v (I)
Dac juctorul P2 folosete strategiile Bj cu probabilitile yj, j = 1, n , el se ateapt la o pierdere cel mult egal cu valoarea v a jocului i putem scrie sistemul de inecuaii: a11y1 + ... + a1nyn v a21y1 + ... + a2nyn v (II)
am1y1 + ... + amnyn v y1 + ... + yn = 1 yj 0; j = 1, n . Sistemul (I) corespunde condiiei (x, j) v, j = 1, n , iar sistemul (II) corespunde condiiei (i, y) v pe care trebuie s le verifice strategiile x = (x1, ..., xm) i y = (y1, ..., yn) pentru a fi optime.
198
Teoria jocurilor
Pentru a transforma cele dou sisteme n modele de programare liniar este necesar ca valoarea v a jocului s fie pozitiv. Deci vom presupune v > 0 (n caz contrar se face modificarea matricei A n A = ( a ij )
cu a ij = aij + k > 0, ()i = 1, m , j = 1, n i k > 0. Notm Xi = yj xi , i = 1, m , Yj = , j = 1, n . v v
1 v 1 v 1 , el i propune s obin v
Y1 + ...+ Yn =
Deoarece juctorul P1 urmrete obinerea celei mai mari valori a ctigului v, deci a celei mai mici valori a lui minf = X1 + ... + Xm. Juctorul P2 urmrete obinerea celei mai mici pierderi v, adic cea mai mare valoare a lui
Astfel sistemele (I) i (II) corespunztoare celor doi juctori se pot scrie ca un cuplu de probleme duale de programare liniar i anume: [min]f = 1 = X1 + ...+ Xm v
199
[max]g =
1 = Y1 + ...+ Yn v
am1Y1 + ... + amnYn 1 Yj 0, j = 1, n Prin rezolvarea uneia dintre cele dou duale se obin strategiile mixte optime ale ambilor juctori precum i valoarea jocului v: v= 1 1 = . [min]f [max]g
Este de preferat rezolvarea lui II deoarece implic un volum mai mic de calcule.
Exemplu
O firm A dorete s lanseze pe pia un anumit tip de produs n trei sortimente A1, A2, A3. Concurenta ei, firma B, prezint produsul n sortimentele B1, B2, B3. Se cunoate, din sondajele fcute c dac cumprtorii trebuie s aleag ntre sortimentul Ai, i = 1,3 i Bj, j = 1,3 , ei prefer fie produsele firmei A (situaie notat cu 1), fie pe cele ale firmei B (situaie notat cu -1), fie sunt indifereni (situaie notat cu 0), conform tabelului urmtor: Bj Ai A1 A2 A3 B1 B2 1 -1 0 -1 1 1 B3 0 -1 1
200
Teoria jocurilor
Rezolvare
Fie x1, x2, x3 probabilitile corespunztoare celor 3 strategii pure ale firmei A i y1, y2, y3 probabilitile corespunztoare strategiilor firmei B. Determinm valoarea inferioar i valoarea superioar a jocului. y x x1 x2 x3
j
y1 1 -1 0 1
y2 -1 1 1 1
y3 0 -1 1 1
-1 -1 0 0 1
= max i = 0 este valoarea inferioar a jocului i = min j = 1 este valoarea superioar a jocului.
Deci jocul nu are punct a, iar valoarea v a jocului are proprietatea c 0 v 1. Modelele duale de programare liniar vor fi: x1 + x2 + x3 =1 x1 x2 (I) -x2 + x3 v xi 0, i = 1,3
v
-x1 + x2 + x3 v
sau cu notaiile Xi =
xi 1 , i = 1,3 i [min]f = v v
201
[min]f =
1 = X1 + X2 + X3 v
-y1 + y2 - y3 v
Cu notaiile Yj = [max]g =
yj v
, j = 1,3 i [max]g =
1 , avem: v
1 = Y1 + Y2 + Y3 v
Se rezolv prin algoritmul simplex al doilea model, aducnd problema la forma standard.
202
Teoria jocurilor
1 = Y1 + Y2 + Y3 + 0(Y4 + Y5 + Y6) v
YB 1 1 1 0 1 2 1 1 2 2 1 3 1 a1 1 -1 0 0 1 1 0 0 1 0 1 0 0 1 0 1 a2 -1 1 1 0 1 -1 0 1 -1 2 0 0 1 1 0 1 a3 0 -1 1 0 1 0 -1 1 0 1 1 -1 1 2 -1 0 a4 1 0 0 0 0 1 1 0 1 -1 1 1 0 1 -1 0 a5 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 a6 0 0 1 0 0 0 0 1 0 0 1 0 1 2 -2 1 -
[max]g = 3 = [min]f Y1 = 2, Y2 = 1, Y3 = 0 X1 = 1, X2 = 0, X3 = 2 Atunci v = y1 = vY1 = x1 = vX1 = 1 1 = . [max]g 3 2 1 1 1 1 2 = , y2 = vY2 = 1 = , y3 = vY3 = 0 = 0 3 3 3 3 3 2 1 1 1 1 1 = , x2 = vX2 = 0 = 0, x3 = vX3 = 2 = . 3 3 3 3 3
2 1 x = ( , 0, ), adic va trebui s produc 33, 33% produse din 3 3 primul sortiment iar restul 66,66% din al treilea sortiment. Acest plan de producie i asigur firmei A un ctig, fr nici un risc, de concurenta ei, firma B, va avea o pierdere de 1 . 3 1 n vreme ce 3
a jocului: - dac = , jocul are punct a, se determin strategiile pure i valoarea jocului; - dac < , jocul nu are punct a; vor trebui determinate strategiile mixte optime i valoarea jocului.
Pasul 2. Se elimin strategiile dominate. Pasul 3. Ne asigurm ca valoarea v a jocului s fie un numr pozitiv,
tiind c v [, ].
Pasul 4. Scriem modelul de programare liniar pentru juctorul P2 i
rezolvm prin algoritmul simplex problema din care citim [max]g, Y1,...,Yn i X1, ..., Xm.
Pasul 5. Determinm: v =
pasul 3 putem alege i alte metode n afara algoritmului simplex, cum ar fi cele prezentate la 2.3.a i 2.3.b.
204
Teoria jocurilor
Pn acum ne-am ocupat de jocuri n care alegerea strategiilor era determinat de matricea A a ctigurilor primului juctor P1. Sunt situaii n care riscurile cu care se iau hotrri nu pot fi cunoscute, deoarece juctorul P2 nu acioneaz raional. Un astfel de juctor poate fi considerat natura, de unde i denumirea de jocuri contra naturii. De analiza unor astfel de situaii se ocup teoria deciziilor. n cele ce urmeaz vom prezenta unele criterii de alegere a deciziei juctorului P1 (numit i statistician) n jocurile contra naturii (numite i jocuri n caz de incertitudine). Menionm c atitudinea fa de joc, diferit de la o persoan la alta, face ca n teoria deciziilor s nu existe criterii universal valabile. Aplicarea criteriilor poate conduce la rezultate diferite. Alegerea strategiei ar putea fi dat de rezultatul aplicrii mai multor criterii. Vom presupune c statisticianul juctorul P1, dispune de m strategii pure A1, ..., Am, iar natura are n stri B1, ..., Bn. Fie matricea A = (aij), i = 1, m , j = 1, n , unde aij este ctigul lui P1 cnd alege strategia Ai, iar natura se afl n starea Bj.
Criteriul lui Hurwicz (criteriul optimismului)
Optimismul juctorului P1 se definete ca un numr [0,1]. Se determin numerele reale: mi = min aij i Mi = max aij, i = 1, m .
j j
n folosirea acestui criteriu trebuie s se defineasc n prealabil optimismul juctorului, adic numrul [0, 1].
Exemplu
Se consider jocul contra naturii a crui matrice a ctigurilor lui P1 n orice strategie a sa Ai, i = 1,4 i n orice stare Bj, j = 1,4 a naturii este: B1 2 3 1 3 B2 4 2 5 3 B3 3 3 2 2 B4 3 2 1 3
A1 A2 A3 A4
S se determine n funcie de strategia optim a lui P1. Pentru = 2 care este strategia optim? 3
Rezolvare
Atam
matricei
date
coloanele
elementelor:
mi,
Mi
Mi + (1 - )mi, unde mi este respectiv cel mai mic, iar Mi este cel mai mare
A1 A2 A3 A4
206
Teoria jocurilor
corespunde strategiei A1, aceasta este strategia optim. 1 1 Pentru [ , ), tot 2 + 2 este valoarea maxim deci A1 e 3 2 strategie optim. 1 Pentru [ , 1], 4 + 1 e valoarea maxim i A3 este strategia 2 optim. n particular = 2 1 [ , 1], deci A3 este strategia optim. 3 2
n cazul acestui criteriu se va presupune c strile naturii sunt egal probabile. i cum numrul lor este n, probabilitatea ca natura s se afle n starea Bj este 1 , () j = 1, n . n
207
a
j=1
ij
discrete cu repartiia:
a i1 a i 2 L a in 1 1 1 . L n n n
Observaia 1:
Dac se cunosc totui probabilitile diferitelor stri ale naturii respectiv y1, ..., yn, deci strategia y = (y1, ..., yn) cu yj 0, j = 1, n i
y
j=1
a y
j =1 ij
corespunztoare valorii:
1 i m
Observaia 2:
Criteriul lui Laplace introduce toate neajunsurile valorii medii. Dac estimrile au fost fcute grosolan apar erori n apreciere, ce vor duce la decizii greite. Criteriul devine uneori inacceptabil cnd elementele jocului sunt foarte dispersate.
208
Teoria jocurilor
Exemplu
Pentru jocul din exemplul precedent s se determine strategia optim a lui P1 n cazurile: a) cnd strile naturii sunt egal probabile; b) cnd probabilitile ca natura s se afle n strile ei sunt respectiv: 1 2 4 2 , , , . 9 9 9 9
Rezolvare a) Atam matricei jocului coloana
1 4 a ij : n j=1 B4 3 2 1 3
1 4 a ij n j=1 1 12 4 1 10 4 1 9 4 1 11 4
B1 A1 2 A2 3 A3 1 A4 3
B2 4 2 5 3
B3 3 3 2 2
Deci max
1i 4
1 2 4 2 1 2 + 4 + 3 + 3 = 28; 9 9 9 9 9
209
Savage compar rezultatul deciziei n cazul necunoaterii strii naturii cu cel care s-ar obine dac s-ar cunoate aceast stare. Diferena dintre ctigul realizat cnd se ia decizia fr a cunoate strile naturii i cel realizat dac se cunosc acestea reprezint regretul sau ce s-ar fi ctigat dac P1 ar fi cunoscut strile naturii. Pornind de la matricea A = (aij), i = 1, m , j = 1, n , se formeaz o nou matrice R = (rij), numit matricea regretelor, unde elementul: rij = max akj aij, i = 1, m , j = 1, n , adic rij este dat de diferena
1 k m
dintre cel mai mare element de pe coloana j i elementul aij. Se obine astfel un nou joc caracterizat de matricea R care va fi tratat dup criteriul minimax. P1 va alege strategia pe linia creia se obine:
1 i m
min max rij, adic linia pe care cel mai mare regret este minim.
1 j n
Exemplu
Pentru acelai joc din ultimele dou exemple, aplicnd criteriul regretelor, s se determine strategia ce va fi aleas de P1.
210
Teoria jocurilor
Rezolvare
Se determin mai nti matricea regretelor ale crei elemente de pe o coloan se obin scznd din cel mai mare element al coloanei fiecare element al acesteia. Se obine: B1 A1 A2 A3 A4 1 0 2 0 B2 1 3 0 2 B3 0 0 1 1 B4 0 1 2 0
max rij
j
1 3 2 2
Dac jocul are punct a, statisticianul P1 alege strategia Ai determinat de condiia: max ( min aij).
i
j
Dac jocul nu are punct a, se determin strategia mixt x = (x1, ..., xm) pentru care:
m min a ij x i , este maxim. j i =1
Exemplu
Aplicarea criteriului lui Wald jocului cercetat i cu celelalte criterii ne duce la concluzia c jocul nu are punct a. Procednd ca n paragraful 2.3.c, se determin strategia mixt a statisticianului i se gsete vectorul: x = (1/3, 1/3, 0, 1/3),
211
de unde rezult c P1 poate alege oricare dintre strategiile sale A1, A2 sau A 4.
Observaie: Criteriile aplicate nu au dus mereu la aceeai decizie dar
n majoritatea cazurilor s-a obinut c cea mai bun strategie este A1; statisticianul pe aceasta o va alege.
Aplicaie
Patronul unui magazin achiziioneaz un numr de frigidere de un anumit tip pe o perioad de 6 luni (primvar var), pentru a le vinde. Din observaiile statistice, bazate pe cererea din ultimii doi ani, el estimeaz c va vinde un numr de frigidere cuprins ntre: 15 i 25 cu probabilitatea de 0,1; ntre 25 i 35 cu probabilitatea de 0,4; ntre 35 i 45 cu 0,3 i ntre 45 i 55 cu 0,2. Costul unitar de achiziie este de 300 euro iar preul unitar de vnzare este 400 euro (incluznd cheltuielile de transport i garania de funcionare pe un an). Toate frigiderele nevndute pn n toamn se restituie furnizorului pentru 250 euro/bucata. S se stabileasc numrul optim de frigidere pe care s le achiziioneze patronul pentru a obine un ctig ct mai mare.
Rezolvare
Determinm matricea A = (aij), i, j = 1,4 , unde aij este ctigul obinut de patron cnd aplic strategia Ai, i = 1,4 i cererea este n starea Sj, j = 1,4 . Obinem astfel:
Cererea pieei Cantitatea achiziionat
S2:30 S3:40 S4:50 2000 3000 2500 2000 2000 3000 4000 3500 2000 3000 4000 5000
212
Teoria jocurilor
unde de exemplu elementul de pe linia A3 i coloana S2 se calculeaz astfel: din cele 40 frigidere achiziionate se vnd 30. Diferena dintre preul unitar de vnzare i cel de achiziionare este de 100 euro pentru un frigider, ce reprezint ctigul patronului. Pentru cele 30 frigidere vndute va ctiga 3000 euro. Dar alte 10 frigidere nevndute vor fi restituite furnizorului cu o pierdere unitar de 50 euro dat de diferena dintre costul de achiziie 300 i cel de restituire 250. Deci pierderea va fi de 500 euro i atunci beneficiul total va fi de: 3000 500 = = 2500 euro. Deoarece n stabilirea deciziei conteaz consecinele economice se pot aplica n rezolvarea problemei criteriile: maximin, minimax, Savage, Bayes-Laplace:
a) Prin criteriul maximin se alege minimul fiecrei linii i dintre
acestea se gsete maximul: A2 A3 A1 2000 1500 1000 care este 2000 i recomand strategia A1.
b) Criteriul minimax, bazat pe pruden, indic alegerea elementelor
A4 500
maxime pe fiecare linie i apoi determinarea celui mai mic dintre acestea. A2 A3 A1 2000 3000 4000 A4 5000
Acest element este 2000 i arat c cea mai prudent decizie este A1.
c) Criteriul lui Savage este de fapt criteriul minimax aplicat pe
matricea regretelor, ce va avea forma: 500 2000 3000 0 0 1000 2000 500 R= 1000 500 0 1000 1500 1000 500 0
213
pentru care vom cuta maximul pe fiecare linie i apoi cel mai mic dintre acestea. Gsim: A2 A3 A1 3000 2000 1000 A4 1500
pentru fiecare strategie folosind probabilitile date n enunul problemei i formulele din paragraful 2.2. Astfel:
(1,y) = 0,12000 + 0,42000 + 0,32000 + 0,22000 = 2000 (2,y) = 0,11500 + 0,43000 + 0,33000 + 0,23000 = 2850 (3,y) = 0,11000 + 0,42500 + 0,34000 + 0,24000 = 3100 (4,y) = 0,1500 + 0,42000 + 0,33500 + 0,25000 = 2900
Jocurile de dou persoane cu sum oarecare extind n mod natural jocurile cu sum nul de care ne-am ocupat pn acum. Ele produc i o schimbare calitativ important, n sensul c, dac regulile jocului o permit, juctorii pot cuta mpreun ci (strategii) de mbuntire a ctigurilor lor, ceea ce, n cazul jocurilor antagoniste, era exclus din punct de vedere logic. Obiectul teoriei jocurilor fiind dat de analiza situaiilor de tip competiional, regulile care reglementeaz concurena vor sta la baza dezvoltrilor ulterioare.
214
Teoria jocurilor
colaborarea ntre juctori i apoi jocurile de tip cooperativ, n care juctorii i pot corela strategiile i/sau pot apela la transferul mutual al unor pri din ctiguri. i ntr-un caz i n cellalt, preocuparea principal va fi de a defini un concept de soluie a jocului, de a cerceta condiii de existen i a identifica metode de determinare a acesteia. Ca o trstur care distinge jocurile cu sum arbitrar de cele cu sum nul se evideniaz interdependena strategiilor componente ale unei soluii a jocului.
Vom nota, ca i mai nainte, cei doi juctori cu P1 i P2 i vom presupune c strategiile lor (pure) sunt n numr finit:
A = A1, ..., Am reprezint mulimea strategiilor lui P1, iar B = B1, ..., Bn, mulimea strategiilor lui P2. Definiie: Se numete joc de dou persoane cu sum arbitrar dat n
form normal, un sistem G = A, B; f1, f2, unde A i B conin strategiile celor doi juctori iar fi(,), i = 1,2 sunt funcii definite pe A B cu valori reale, numite funcii de ctig, corespunztoare fiecruia dintre acetia. Pentru o pereche de strategii (Ai, Bj) vom nota f1(Ai, Bj) = aij i f2(Ai, Bj) = bij, i = 1, m , j = 1, n . n vederea unei scrieri compacte a
215
elementelor care definesc un joc de acest tip, apelm la o reprezentare matriceal ca cea de mai jos: P1 A1
Ai Am
P2
B1
...
Bj . . (aij, bij) . .
...
Bn
Deoarece elementele tabloului de mai sus sunt perechi de numere reale care ar putea proveni din suprapunerea a dou matrici de dimensiuni m n coninnd ctigurile celor doi juctori, luai separat, asemenea jocuri se mai numesc pe scurt jocuri bimatriceale. S remarcm faptul c asupra valorilor sumelor f1(Ai, Bj) + f2(Ai,Bj), i = 1, m , j = 1, n nu se impune nici o condiie. Considerm, spre exemplificare, urmtorul joc: G = A, B; f1, f2; A = A1, A2, B = B1, B2; f1(A1, B1) = 3, f1(A2, B1) = 1, f1(A1, B2) = 1, f1(A2, B2) = 0; f2(A1, B1) = 0, f2(A2, B1) = 4, f2(A1, B2) = 2, f2(A2, B2) = 1. Vom analiza jocul folosind forma sa matriceal. A1 A2 B1 (3,0) (1,4) B2 (1,2) (0,1)
Se observ c pentru juctorul P1 este preferabil s joace strategia A1 n raport cu A2, indiferent ce strategie adopt P2 (B1 sau B2), deoarece avem f1(A1, ) f1(A2, ) (ntr-adevr, 3 > 1 i 1 > 0). Recunoatem aici existena unei strategii dominate a juctorului 1, n spe A2.
216
Teoria jocurilor
Referitor la strategiile lui P2, s observm c nici una dintre ele nu o domin pe cealalt (0 < 2, dar 4 > 1). Obiectivul nostru fiind acela de a prevedea desfurarea jocului, prin precizarea strategiilor pe care juctorii, cel mai probabil, le vor folosi (n scopul raional al maximizrii ctigului), vom reduce matricea jocului renunnd la linia corespunztoare strategiei dominate (pe care ar fi iraional s o adopte P1). A1 B1 (3,0) B2 (1,2)
Este evident acum c juctorul P2 va alege strategia B2, care i asigur un ctig mai mare. n concluzie, perechea de strategii (A1, B2) se constituie ntr-o soluie a jocului, rezultat din confruntarea intereselor lui P1 i P2. Un efect, n acest caz, este acela c nici un juctor nu i realizeaz ctigul maxim admisibil (3, respectiv 4), fapt posibil din punct de vedere teoretic, n general. n exemplul precedent, raionamentul utilizat a urmrit identificarea unei convenii la care juctorii, n mod independent, sunt dispui s adere, concretizate printr-o soluie unic a jocului necooperativ. Aceasta conduce la ideea folosirii perechii de strategii (A1, B2) n mod liber, n mai multe partide (repetri ale jocului), de ctre juctori raionali care ateapt unul de la cellalt un astfel de comportament. Ideea cristalizrii unei convenii are, desigur, o latur ideal. Nu putem presupune c pentru un joc oarecare vom elimina pe rnd, strategiile (strict) dominate, rmnnd, n final, cu o singur pereche de strategii. Pe de alt parte, acest proces de eliminare poate s conduc la o mulime terminal de perechi de strategii, dintre care unele nu au calitile unei soluii.
217
n precizarea calitilor pe care trebuie s le aib o soluie a jocului, vom ine cont de faptul c tendina unilateral de ctig a unui juctor poate fi amendat de opiunile celuilalt, dar nu i anihilat. De aceea, apare natural cerina ca strategia unui juctor, care este o component a soluiei, s reprezinte cel mai bun rspuns la strategia aleas de cellat juctor, care completeaz soluia. O astfel de soluie poate fi numit strategic stabil, deoarece nici un juctor nu are interesul s se abat de la strategia sa, atta vreme ct nici ceilali nu ncearc acest lucru. Ideea de echilibru pe care trebuie s l realizeze strategiile care alctuiesc soluia jocului este acum transparent. Cele de mai nainte sunt redate n urmtoarea:
Definiie. ntr-un joc bimatriceal dat n form normal
f1(A*, B*) f1(Ai, B*), oricare ar fi Ai A i f2(A*, B*) f2(A*, Bj), oricare ar fi Bj B Altfel spus, maxf1(Ai, B*) este atins n A*, iar maxf2(A*, Bj) e atins
AiA BjB
n B*. Cum A* A i B* B, se obinuiete, pentru mai mult claritate, s se spun c (A*, B*) este punct de echilibru Nash n strategii pure.
Observaie: Noiunea de punct de echilibru Nash o generalizeaz pe
cea de punct a de la jocurile matriceale (cu sum nul). ntr-adevr, condiiile: f(Ai, Bjo) f(Aio, Bjo) f(Aio, Bj) () Ai A, () Bj B, care definesc punctul a aiojo = f(Aio, Bjo) se mai pot scrie: f(Aio, Bjo) f(Ai, Bjo), ()Ai A, -f(Aio, Bjo) -f(Aio, Bj), ()Bj B.
218
Teoria jocurilor
De aceea, unii folosesc termenul de punct de echilibru n loc de punct a atunci cnd se refer la soluia unui joc matriceal G = (A, B, f). Definiia precedent se poate extinde, fr dificultate, la cazul a n juctori, ale cror funcii de ctig sunt funcii reale de n argumente.
Exemplu
Se consider jocul n form normal G, cruia i corespunde matricea: B1 A1 (4,0) A2 (0,1) A3 (2,4) B2 (2,1) (2,0) (1,3) B3 (0,4) (3,3) (1,2) B4 (1,1) (5,2) (0,2)
Determinarea punctelor de echilibru Nash ale jocului se va face n modul urmtor: pentru fiecare juctor i pentru fiecare strategie a acestuia, se determin rspunsul optim al celuilalt juctor la respectiva strategie. Pentru a-l marca, vom sublinia n acea linie / coloan ctigul maxim corespunztor. Astfel, observm c dac P1 ar folosi strategia A1, atunci P2 ar trebui s foloseasc strategia B3 i vom scrie atunci (0,4) n poziia din matrice corespunztoare perechii (A1, B3). Asemntor, pentru strategiile A2 i A3 ale lui P1, vom selecta rspunsurile B3, respectiv B1 i vom completa (3, 3), respectiv (2, 4) n locurile potrivite din tabel. n privina replicilor lui P1 la alegerile posibile ale lui P2, strategiei B1 i va corespunde A1 i vom scrie n prima coloan (4, 0) (deoarece 4 > 0 i 4 > 2). Pentru coloanele a doua, a treia i a patra, vom selecta strategiile de rspuns A1, A2 i A2, respectiv.
219
Se obine aadar, dup procedura de marcare, urmtorul tabel: A1 A2 A3 B1 (4,0) (0,1) (2,4) B2 (2,1) (2,0) (1,3) B3 (0,4) (3,3) (1,2) B4 (1,1) (5,2) (0,2)
innd seama de definiia dat anterior, deducem c punctele de echilibru corespund acelor perechi de ctiguri n care ambele componente apar subliniate (dac exist). n exemplul analizat, aceast situaie apare doar n cazul perechii de strategii (A2, B3), care va reprezenta deci soluia Nash a jocului. Vom clarifica n continuare legtura care exist ntre eliminarea strategiilor strict dominate i existena punctelor de echilibru Nash. Au loc urmtoarele rezultate:
Propoziia 4.1
Dat fiind jocul G = A, B; f1, f2, dac eliminarea succesiv a strategiilor dominate strict conduce la desfiinarea tuturor combinaiilor de
* strategii, cu excepia lui (S 1 , S * ), atunci aceast pereche constituie unicul 2
punct de echilibru Nash al jocului. Vom justifica cele afirmate n propoziia 4.1, folosind reducerea la
* absurd. S presupunem c (S 1 , S * ) este un punct de echilibru al jocului, dar 2 * c una dintre strategiile componente, de exemplu S 1 , a fost eliminat la un * moment dat (eventual precedat de alte strategii din A\S 1 , sau B\S * , 2
220
Teoria jocurilor
echilibru. Cu aceasta, demonstraia se ncheie. Mai departe ne preocup problema existenei punctelor de echilibru
multiple ale unui joc bimatriceal. Conform propoziiei 4.1, nu este posibil ca
strategiile componente ale unuia dintre ele s fie evitate n procesul de eliminare succesiv a strategiilor strict dominate, iar altele, cu aceeai proprietate, nu. De aici rezult c n propoziia 4.2 este suficient s artm
* c (S 1 , S * ) este punct de echilibru Nash. (Demonstraia, asemntoare cu 2
cea precedent, se sprijin pe ipoteza c mulimile de strategii ale ambilor juctori sunt finite). Ne vom servi n discuia noastr de exemplul jocului G = (A, B; f1, f2) cu matricea ctigurilor: A1 A2 A3 B1 (2,0) (3,4) (1,3) B2 (2,1) (1,2) (0,2) B3 (4,2) (2,3) (3,0)
221
Se poate observa uor c strategia A1 domin strict pe A3 i c B3 domin strict pe B2 dup eliminarea lui A3. Dup ce suprimm strategiile dominate, jocul are forma simplificat: B1 A1 (2,0) A2 (3,4) B3 (4,2) (2,3)
Urmnd procedura descris anterior, sau prin verificare direct, folosind definiia, se deduce c (A1, B3) i (A2, B1) sunt puncte de echilibru Nash ale jocului. Aceasta ne permite s remarcm faptul c, spre deosebire de jocurile cu sum nul, n jocurile bimatriceale, prin interschimbarea strategiilor corespondente ntre dou puncte de echilibru, perechile rezultate nu mai sunt puncte de echilibru, aa cum o demonstreaz (A1, B1) i (A2, B3). Problema principal ns este ce anume trebuie neles prin soluia unui astfel de joc. Examinnd ctigurile fiecrui juctor n parte, constatm c nu putem privilegia vreunul din punctele de echilibru, deoarece juctorul P1 prefer, firesc, pe (A1, B3), iar P2 prefer pe (A2, B1). Teoretic, putem conveni c soluia jocului este format din ambele puncte de echilibru. Practic ns este nevoie de o negociere (uneori dur) ntre cei doi juctori sau de un arbitraj pentru a stabili pentru ce strategii vor opta fiecare. anse mai mari de concretizare ar putea avea n acest caz varianta care d ctigurile (3, 4), dar elemente de ordin subiectiv nu trebuie ignorate. O situaie de incertitudine n alegerea strategiilor optime ca cea de fa, este un teren propice pentru a testa utilitatea strategiilor de tip maximin.
222
Teoria jocurilor
Astfel, n ce privete strategia maximin a lui P1 vom gsi: min2,2,4 = 2 A1; min3,1,2 = 1 A2; min1,0,3 = 0 A3, deci strategia cutat este A1. Analog, pentru P2 avem: min0,4,3 = 0 B1; min1,2,2 = 1 B2; min2,3,0 = 0 B3, de unde rezult c strategia maximin a lui P2 este B2. Dup cum se observ, ns, perechea de strategii maximin (A1, B2) nu este un punct de echilibru. Oricare dintre juctori prefer ctigul care i revine ca urmare a alegerii n comun a unuia din punctele de echilibru fa de ctigul minim asigurat (ntr-adevr (4, 2) > (2,1) i (3, 4) > (2, 1)). n fapt, are loc urmtorul rezultat general:
Propoziia 4.3
Orice punct de echilibru furnizeaz fiecrui juctor n parte, un ctig cel puin egal cu ctigul su maximin.
Demonstraie:
Presupunem c (A*, B*) este punct de echilibru al jocului, n notaiile de mai nainte. Atunci avem, pentru P1: f1(A*, B*) f1(Ai, B*) minf1(Ai, Bj) pentru orice strategie Ai A. B B
j
Pentru juctorul P2, obinem folosind din nou definiia punctului de echilibru: f2(A*,B*) f2(A*, Bj) minf2(Ai, Bj), () Bj B, deci A A
i
n concluzie, ntr-un joc cu sum arbitrar, strategiile maximin i pierd din importan.
223
Posibilitatea existenei mai multor puncte de echilibru Nash ntr-un joc bimatriceal, cu implicaiile sale n stabilirea soluiei jocului nu este, totui, lucrul care stnjenete cel mai mult. O problem fundamental care apare n acest context este faptul c exist jocuri cu sum arbitrar chiar dintre cele mai simple, care nu admit strategii pure de echilibru. S considerm urmtorul joc: A1 A2 B1 (2,1) (1,2) B2 (0,2) (3,0)
Se poate observa pe acest exemplu c nici o pereche de strategii (Ai, Bj) nu poate realiza echilibrul. Astfel, pentru (A1, B1) observm c juctorul P2 are interesul s devieze de la strategia B1 ctre B2, care i asigur un ctig superior. Analog, (A2, B1) nu poate fi punct de echilibru, pentru c juctorul P1 va prefera strategia A1 lui A2, .a.m.d.. Este greu de admis ideea c astfel de jocuri nu admit soluie, n sensul echilibrului de tip Nash. Cheia de rezolvare st i aici, ca i n cazul jocurilor cu sum nul, n lrgirea conceptului de strategie i definirea noiunii de echilibru n aceast accepiune mai larg. Trebuie fcut precizarea c noul tip de strategie l nglobeaz pe cel utilizat pn acum n discuie i c identificarea unor puncte de echilibru corespunztoare lui nu suprim posibilitatea existenei, pentru un acelai joc, a punctelor de echilibru n strategii pure. Obinuim s numim strategie mixt pe mulimea A = A1, ..., Am a strategiilor (pure) ale juctorului P1 o repartiie de probabiliti: x = (x1, ..., xm), unde xi 0, i = 1, m i
m
x
i =1
= 1.
224
Teoria jocurilor
Mulimea tuturor acestor strategii o notm prin X. Analog vom considera: Y = y = (y1,..., yn) yj 0,
n
y = 1
j =1 j
ca
fiind
ansamblul
strategiilor mixte pe mulimea B, a strategiilor juctorului P2. Ideea de strategie mixt se leag, n mod natural, de alternarea strategiilor de ctre un juctor, n decursul mai multor partide. Cum probabilitile pot fi interpretate ca limite ale unor frecvene relative, se pune ntrebarea dac n situaii reale putem considera ca acceptabil repetarea (independent) a jocului de un numr de ori suficient de mare. Se poate ncerca evitarea acestei dificulti prin interpretarea unei strategii mixte a lui P2, y = (y1, ..., yn) ca reprezentnd probabilitile (subiective) pe care le atribuie P1 utilizrii uneia dintre strategiile pure B1, ..., Bn de ctre P2 i, asemntor, a unei strategii mixte a lui P1 (x1, ..., xm), schimbnd rolurile ntre juctori. Impasul ce se profileaz aici ine de tratarea jocurilor cu mai mult de doi juctori, caz n care doi juctori pot avea percepii diferite relative la comportarea unui ter. Oricare ar fi interpretarea dat strategiilor mixte, ele ne ajut s punem n termeni coreci problema maximizrii unui ctig incert, prin apelul la conceptul fundamental de medie a unei variabile aleatoare. n condiiile alegerii independente i simultane a strategiilor de ctre fiecare juctor n parte, folosindu-ne de notaiile de mai nainte, vom defini ctigurile celor doi, n ipoteza folosirii strategiilor mixte x i y, respectiv, prin:
1(x, y) = 2(x, y) =
m n
a x y
i =1 j =1 m n ij i
; ;
i: X Y , i = 1,2 ,
225
b x y
i =1 j=1 ij i
unde xi yj reprezint probabilitatea utilizrii perechii de strategii (Ai, Bj), iar aij i bij sunt ctigurile asociate ei ale juctorilor P1 i P2, respectiv. S observm c de exemplu, ctigul mediu 1(x, y) este o medie a unor ctiguri medii, considernd, pe rnd, strategiile din A fixate fa de cele din B, dup cum o arat relaia:
1(x, y) =
n a ij y j xi. i =1 j=1
m
Cu aceste precizri, putem s dm definiia extins a punctelor de echilibru ale unui joc bimatriceal n form normal:
Definiie: ntr-un joc bimatriceal G = A, B; f1, f2, o pereche de
strategii mixte (x*, y*) este un punct de echilibru Nash dac au loc urmtoarele inegaliti:
1(x*,y*) 1(x, y*) 2(x*,y*) 2(x*, y)
pentru orice strategii mixte x X i y Y. Cu alte cuvinte, x* este cea mai bun strategie (mixt) de rspuns a lui P1 la strategia y* a lui P2 i viceversa. Se deduce din cele de mai sus c putem porni la determinarea strategiilor mixte de echilibru ale unui joc (a cror existen o vom afirma ceva mai trziu) prin gsirea celui mai bun rspuns (n strategii mixte sau pure) al unui juctor la o strategie mixt a celuilalt. n demersul nostru ne servim de urmtorul rezultat:
Propoziia 4.4
Pentru ca o strategie mixt a lui P1 s fie un cel mai bun rspuns al acestuia la o strategie mixt dat y a lui P2, este necesar i suficient ca ea s asigneze probabiliti strict pozitive numai acelor strategii pure care sunt ele
226
Teoria jocurilor
nsele un cel mai bun rspuns la strategia y (sau numai unei pri a acestora, restul primind probabiliti nule).
Demonstraie:
S notm, pentru o strategie y dat, cu Imax mulimea indicilor acelor strategii pure ale lui P1 care sunt un cel mai bun rspuns la y: Imax = K
n n
a
j=1
kj
y j a ij y j , () i = 1, m .
j=1
S alegem un K0 Imax. Fie x = (x1, ..., xm) o strategie mixt a lui P1 i s presupunem c exist l 1, n \ Imax astfel nct xl > 0. Notm cu x strategia mixt obinut din x prin asocierea probabilitii x K 0 + xl la strategia A K 0 i a unei probabiliti nule la Al. Atunci vom avea:
1(x, y) =
n n n n x i a ij y j + x K 0 a K 0 j y j + x l a lj y j < i K 0 ,l j =1 j=1 j=1
ij
<
i K 0 ,l
a y + (x
j =1 j
K0
+ x l ) a K 0 j y j + 0 a lj y j = 1 ( x ' , y) ,
j =1 j=1
de
unde deducem c x nu este cea mai bun strategie de rspuns la y. Pentru probarea suficienei, se consider I0 Imax i o strategie mixt x0 = x i0
( )
i =1
mai departe:
1(x, y) =
x a y x
i =1 i
j=1
ij
i =1
Un enun similar celui din propoziia 4.4 caracterizeaz strategiile mixte ale lui P2 care sunt rspunsuri optime la o strategie mixt x a lui P1, fixat. Reamintim c orice strategie pur a unui juctor poate fi interpretat ca o strategie mixt, exprimabil printr-un vector binar cu 1 pe poziia corespunztoare strategiei i avnd restul componentelor egale cu 0. Revenind la exemplul de mai nainte al jocului bimatriceal 2 2, s ncercm determinarea unui punct de echilibru n strategii mixte. Pentru simplitate, vom nota strategiile mixte ale lui P1 prin x = (p, 1 p) i strategiile mixte ale lui P2 cu y = (q, 1 q), p, q [0, 1]. ntr-o prim etap, vom gsi strategiile pure optime de rspuns ale fiecrui juctor, la o strategie mixt a adversarului. Pentru o strategie mixt dat (q, 1 q) pe B = B1, B2, ctigul mediu al lui P1 va fi 2q + 0(1 q) = 2q, dac folosete strategia A1 sau 1 q + 3(1 q) = 3 2q, dac folosete strategia A2. Rezolvnd inecuaia 2q > 3 2q pe intervalul [0, 1], deducem: - dac q [0, - dac q = 3 ), cel mai bun rspuns al lui P1 este A2; 4
3 , atunci A1 i A2 sunt rspunsuri la fel de bune; 4 3 , 1], cel mai bun rspuns al lui P1 este A1. 4
- dac q (
Inversnd rolurile, fie (p, 1 p) o strategie mixt pe A = A1, A2. Ctigul mediu al lui P2 va fi 1 p + 2(1 p) = 2 p, dac folosete strategia B1 sau 2p, dac utilizeaz strategia B2. Folosindu-ne de soluia inecuaiei 2 p > 2p pe [0, 1], constatm urmtoarele: - pentru p [0, 2 ), rspunsul optim al lui P2 este B1; 3
228
Teoria jocurilor
- pentru p =
2 , P2 poate rspunde att cu B1, ct i cu B2; 3 2 , 1], rspunsul optim al lui P2 este B2. 3
- pentru p (
Cutm acum o pereche de strategii mixte (x*, y*), x* = (p*, 1-p*), y* = (q*, 1 q*) cu proprietile din definiia extins a echilibrului Nash. Vom analiza pe rnd diversele situaii posibile.
I.
al lui P1 ar fi strategia pur A2, creia i corespunde p = 0 ca strategie mixt. ns rspunsul optim al juctorului P2 la aceast strategie este B1, corespunznd lui q = 1. Cum 1 (0, 3 ], acest 4
l identificm cu strategia mixt (1, 0). Cel mai bun rspuns al lui P2 la aceast strategie este strategia pur B2, pentru care 3 avem q = 0. Dar 0 ( , 1] i concluzia e identic celei de la 4 punctul precedent.
III. n cazul q* =
orice strategie mixt (r, 1 r) pe A1, A2, r [0, 1], conform cu propoziia 4.4. Dar situaiile r [0,
la valori ale rspunsurilor corespunztoare lui q = 1 i q = 0, respectiv, ambele diferite de 3 2 . Pentru r = , rspunsul optim 4 3
229
fiind orice strategie mixt (q, 1 q) pe B1, B2, n particular 3 1 2 ( , ), rezult c putem alege p* = . n concluzie, punctul de 4 4 3 echilibru al jocului, n strategii mixte, este: 2 1 3 1 (x*,y*) = (( , ), ( , )). 3 3 4 4 Importana considerrii strategiilor mixte n identificarea soluiilor posibile ale unui joc bimatriceal reiese din urmtorul rezultat (pe care l dm ntr-un caz particular):
Teorema lui Nash
Orice joc finit de dou persoane n form normal, G = A, B; f1, f2 posed cel puin un punct de echilibru, n strategii pure sau mixte. Demonstraia teoremei, al crei enun n form general se refer la jocuri de n persoane, are la baz o teorem de punct fix. (n cazul de fa, (x*,y*) cu proprietatea T(x*, y*) = (x*,y*) este punct fix al unei transformri T). Dei n demonstraie nu se construiete efectiv un punct de echilibru, concluzia sa este suficient de elocvent. Vom prezenta n cele ce urmeaz o procedur de determinare a punctelor de echilibru ale unui joc bimatriceal n form normal, atunci cnd juctorii P1, P2 au la dispoziie m i n strategii pure, respectiv, cu ajutorul unui exemplu concret. Vom avea n vedere cazul cnd ctigurile juctorilor sunt nenegative, dar aceasta, dup cum se constat, nu reprezint o restricie important. Sunt necesare cteva precizri i notaii. Astfel, vom nota cu C1 matricea ctigurilor juctorului P1 definit prin: C1 = (aij) i =1, m , aij = f1(Ai, Bj), Ai A, Bj B.
j=1, n
230
Teoria jocurilor
Pentru dou strategii mixte, x = (x1, ..., xm) a lui P1 i y = (y1,..., yn) a lui P2, se pot transcrie ctigurile medii ale fiecrui juctor n parte, astfel:
1(x, y) = xC1yT, 2(x, y) = yC T xT, unde indicii T nseamn operaia 2
de transpunere. Notnd Jm i Jn vectorii-linie cu m, respectiv n componente, toate egale cu 1, vom putea scrie relaiile: xJ T = 1, y J T = 1 m n (1)
sinonime cu faptul c suma probabilitilor (xi)i1, m (respectiv (yj)j1, n ) face 1. S presupunem acum c (x, y) reprezint o pereche de strategii de echilibru i s notm, pentru simplitate, cu 1 i 2 ctigurile aferente ei ale celor doi juctori. Introducem vectorii 1 = (1, ..., 1) n i 2 = (2, ..., 2) n, care ne permit o scriere matriceal a proprietii de echilibru. Astfel, folosind propoziia 4.4, deducem relaiile:
T C1yT 1 , C T xT T 2 2
(2)
n care inegalitile trebuie interpretate ca funcionnd ntre oricare dou componente corespondente ale vectorilor coloan. Ele exprim faptul c rspunsurile printr-o strategie pur la strategiile y, respectiv x pot s duc, n cel mai bun caz, la egalarea ctigurilor 1, respectiv 2. Acestea sunt atinse efectiv n (x, y), ceea ce reiese din relaiile:
T T xC1yT = x 1 x( 1 - C1yT) = 0
yC T xT = y T y( T - C T xT) = 0 2 2 2 2
(3)
231
n care am inut seama de (1). Rezult din cele de mai nainte c un punct de echilibru Nash, (x, y), al unui joc bimatriceal trebuie s satisfac cele ase relaii date, la care se adaug condiiile x 0 i y 0. Concret, vom gsi soluiile urmtorului joc bimatriceal, folosind instrumentarul prezentat pentru cazul general. B1 A1 (4,0) A2 (6,12) B2 B3 (2,1) (8,6) (2,10) (4,9)
Suntem n cazul a m = 2 strategii pure ale juctorului P1 i a n = 3 strategii pure ale juctorului P2. Vom separa relaiile de tip liniar de cele neliniare i apoi le vom grupa astfel nct s ne ocupm separat de strategia (x1, x2), respectiv (y1, y2, y3). Din relaiile (1) i (2) va rezulta: x1 + x2 = 1 12x2 - 2 0 x1 + 10x2 - 2 0 6x1 + 9x2 - 2 0 x1, x2 0 y1, y2, y3 0 Pentru jocul analizat, att 1 ct i 2 sunt nenegative i ca atare, vom nota x3 = 2 i y4 = 1. De asemenea, vom transforma, n sistemele scrise anterior, inegalitile n egaliti, prin introducerea unor variabileecart, notate i, i = 1,2 , respectiv j, j = 1,3 .
232
Teoria jocurilor
Obinem: x1 + x2 = 1 (I) 12x2 x3 + 1 = 0 x1 + 10x2 - x3 + 2 = 0 6x1 + 9x2 - x3 + 3 = 0 x1, ..., x3 0; 1,...,3 0 y1, ..., y4 0; 1, 2 0 (II) y1 + y 2 + y3 = 1 4y1 + 2y2 + 8y3 y4 + 1 = 0 6y1 + 2y2 + 4y3 - y4 + 2 = 0
Relaiile (3) vor avea drept corespondent urmtoarele egaliti: (III) x11 + x22 = 0 y11 + y22 + y33 = 0 Cutarea soluiilor jocului bimatriceal se structureaz aadar n: - rezolvarea n domeniul numerelor nenegative a sistemului liniar (I), n necunoscutele x1, x2, x3, 1, 2, 3; - rezolvarea n domeniul numerelor nenegative a sistemului liniar (II), n necunoscutele y1, y2, y3, y4, 1, 2; - filtrarea soluiilor, prin verificarea, de tip ncruciat, a ndeplinirii condiiilor (III). n fapt, obiectivul nostru principal este s deducem soluiile posibile
de baz pentru fiecare din sistemele (I) sau (II), deoarece soluia general se
poate obine ca o combinaie liniar convex a soluiilor de baz. Probarea condiiilor (III) o vom face aadar pentru diferite perechi de soluii de baz.
233
S considerm matricea sistemului liniar (I), n care fiecare coloan este notat cu ak, k = 1,6 : a1 a2 a3 a4 a5 a6 0 1 0 0 0 0 1 0 0 0 0 1
1 1 0 0 12 1 1 10 1 6 9 1
Procedura este cea cunoscut de la programarea liniar: se aleg patru coloane din cele 6 astfel nct ele s formeze o baz n 4, B = a k 1 , a k 2 , a k 3 , a k 4 . Atunci soluia de baz va fi dat de (x, ) = (B-1b, 0), unde b = (1, 0,0,0)T este coloana termenilor liberi i toate variabilele ale cror coloane asociate nu au intrat n baz iau valoarea 0. Fie de exemplu mulimea a1, a2, a3, a5. Deoarece: 1 1 0 0 12 1 det[a1, a2, a3, a5] = 1 10 1 6 9 1 0 0 = 9 0, rezult c 1 0
B = a1, a2, a3, a5 este o baz. Alegem 1 = 3 = 0. Avem de rezolvat sistemul: x1 + x2 = 1 12x2 x3 = 0 x1 + 10x2 - x3 + 2 = 0 6x1 + 9x2 - x3 = 0
234
Teoria jocurilor
Se deduce uor c x3 = 12x2, x2 = 2x1. Cum x1 + x2 = 1, rezult x1 = 1 2 , x2 = , x3 = 8 i 2 = 1. 3 3 1 2 Soluia de baz va fi deci (x, )1 = ( , ,8,0,1,0), avnd toate 3 3 componentele pozitive sau nule. Repetnd procedeul pentru alte baze i testnd nenegativitatea componentelor soluiilor, vom gsi nc dou soluii posibile de baz. (x, )2 = (1,0,6,6,5,0), corespunznd bazei a1, a3, a4, a5 i (x, )3 = (0,1,12, 0,2,3), corespunznd bazei a2, a3, a5, a6. Matricea sistemului (II) este: b1 b2 b3 b4 b5 b6
1 1 1 0 0 0 4 2 8 1 1 0 6 2 4 1 0 1
Putem alege o baz format din coloanele b1, b2 i b4, deoarece determinantul corespunztor lor are valoarea -2. Alegem y3 = 1 = 2 = 0. Din sistemul: y1 + y2 = 1 4y1 + 2y2 y4 = 0 6y1 + 2y2 y4 = 0 deducem y1 = 0, y2 = 1 i y4 = 2, care ne dau soluia posibil de baz: (y, )1 = (0,1,0,2,0,0). Pentru bazele b1, b3, b4, b3, b4, b6 i b1, b4, b5, vom obine alte soluii posibile de baz ale sistemului: 2 1 16 , 0, 0), (y, )3 = (0,0,1,8,0,4), (y, )2 = ( , 0, , 3 3 3
235
nainte de a trece la verificarea condiiilor (III), observm c, n ipotezele de nenegativitate a componentelor, x11 + x22 = 0 este echivalent cu x11 = 0 i x22 = 0 i similar y11 + y22 + y33 = 0 e ndeplinit dac i numai dac y11 = 0, y22 = 0 i y33 = 0. n consecin, dac un () este nenul, atunci componenta x (y) cu acelai indice trebuie s fie egal cu zero. Pentru facilitarea examinrilor necesare, vom construi dou tabele n care marcm n prima coloan cuplul de strategii (x, y) examinat, prin indicii corespunztori ordinilor date, iar n ultima coloan, prin *, dac perechea (x, y) respect condiia impus. Primul tabel este: (x,y) (1,1) (2,1) (3,1) (1,2) (2,2) (3,2) (1,3) (2,3) (3,3) (1,4) (2,4) (3,4) 1 0 0 0 0 0 0 0 0 0 2 2 2 2 0 0 0 0 0 0 4 4 4 0 0 0 x1 1/3 1 0 1/3 1 0 1/3 1 0 1/3 1 0 x2 2/3 0 1 2/3 0 1 2/3 0 1 2/3 0 1 */* * * * * * * *
236
Teoria jocurilor
Referitor la modul de completare a tabelului, am marcat cu * perechea (2,3), deoarece 1x1 = 0 1 = 0 i 2x2 = 4 0 = 0, n timp ce pentru perechea (1, 4) avem 1 = 2 0 i x1 = 1 0, .a.m.d.. 3
(x,y) (1,1) (1,2) (1,3) (1,4) (2,1) (2,2) (2,3) (2,4) (3,1) (3,2) (3,3) (3,4)
1 0 0 0 0 6 6 6 6 0 0 0 0
2 1 1 1 1 5 5 5 5 2 2 2 2
3 0 0 0 0 0 0 0 0 3 3 3 3
y2 1 0 0 0 1 0 0 0 1 0 0 0
*/* * * * *
1 = 1 0. 3
Vom extrage din fiecare tabel perechile de strategii marcate cu asterisc i apoi vom intersecta cele dou mulimi. Astfel obinem:
(1,1), (2,1), (3,1), (1,2), (2,2), (3,2), (2,3), (3, 4) (1,2), (1,3), (1,4), (2,3), (3, 4) = (1,2), (2,3), (3, 4).
Intersecia gsit conine strategiile de echilibru Nash (pure sau mixte) ale jocului considerat. Acestea sunt (respectnd ordinea):
237
Se observ c avem o pereche de strategii mixte (prima) i dou perechi de strategii pure, mai exact (A1, B3) i (A2, B1). n ncheierea discuiei despre punctele de echilibru ale unui joc bimatriceal, facem urmtoarele observaii:
1. n situaia n care elementele matricelor de ctiguri nu sunt toate
pozitive sau nule, trebuie s considerm c 1 i 2 sunt numere reale. Pentru a putea s ne folosim n continuare de procedeul descris mai nainte, putem proceda n dou moduri: a) s exprimm fiecare variabil i, i = 1,2 ca diferena a dou variabile crora li se impune s ia valori nenegative:
i = i - i, i 0, i 0, i = 1,2 ;
b) s adunm la matricile C1 sau C2 o matrice (m n) format din constante identice ntre ele, suficient de mari, transformarea neafectnd dect valorile ctigurilor medii, nu i determinarea strategiilor de echilibru;
2. n exemplul rezolvat mai nainte, trebuiau considerate cel mult
4 C 6 = 15 situaii care conduc la o baz pentru matricea sistemului
(I) i cel mult C 3 = 20 situaii de acelai tip n cazul sistemului 6 (II). Pentru un numr mai mare de strategii ale fiecrui juctor, pentru a fi aplicabil, metoda face apel la un program care genereaz soluii posibile de baz i le testeaz n mod automat;
3. Asupra elementelor matricilor de ctiguri pot fi operate i alte
tipuri de transformri, ca de pild scalarea (nmulirea cu un factor pozitiv). De asemenea se poate discuta despre o strategie pur
238
Teoria jocurilor
dominat de o strategie mixt, care ar putea s o disloce, fr a afecta esenial gsirea punctelor de echilibru, (Cititorul este ndemnat s compare ultimul joc analizat cu unul prezentat anterior i s trag concluziile de rigoare).
Aa cum artam la nceputul discuiei privind jocurile cu sum arbitrar, un joc cooperativ este acela n care regulile sale permit alegerea n comun a strategiilor i transferul de ctiguri ntre juctori, n scopul cointeresrii lor ntr-o anumit aciune comun. Ne vom servi de exemplul ctorva jocuri, pentru a ilustra situaii n care juctorii au interesul s coopereze ntre ei. Punctul de plecare l va constitui, n ideea continuitii, noiunea de cuplu de strategii de echilibru Nash. S considerm jocul bimatriceal urmtor: B1 A1 (1,2) A2 (2,2) B2 B3 (2,-2) (3,1) (4,-1) (6,3)
Se observ cu uurin c perechea de strategii (A2, B3) reprezint un punct de echilibru al jocului (n strategii pure). n particular, ctigurile corespunztoare ale juctorilor (6, respectiv 3) sunt valorile maxime ale funciilor de ctig ale fiecruia, deci i suma ctigurilor (care nu mai poate fi mbuntit prin considerarea strategiilor mixte) este maxim, ntre toate combinaiile posibile de strategii. ntr-un asemenea caz, ipoteza cooperrii ntre cei doi juctori nu are nici un efect.
239
A1 A2
vom constata c, dei (A1, B1) este punct de echilibru al jocului, ctigurile care le revin juctorilor nu i pot mulumi. Chiar suma lor, 5, ia valoarea cea mai mic posibil. Eliminnd perechile (A2, B1) i (A1, B2), care favorizeaz un juctor i l defavorizeaz pe cellalt, rmne perechea (A2, B2), ale crui ctiguri aduc un plus amndurora fa de ce le ofer strategiile de echilibru. Ea este ns instabil. Ieirea din aceast dilem se face prin modificarea regulilor jocului, prin acceptarea cooperrii. Odat acceptat, ea aduce cu sine ns o alt problem, aceea a mpririi ntre cei doi juctori a ctigului comun, egal cu 12. Teoretic, se poate impune interzicerea plilor laterale ntre juctori, situaie n care distribuia ctigurilor poate s rmn cea de la nceput. Nu vom adopta o asemenea ipotez n cele ce urmeaz. Jocurile de tip cooperativ au o problematic specific i rezolvarea lor presupune att introducerea unor noiuni noi ct i revalorizarea altora mai vechi. Se pune astfel o prim ntrebare: sub ce limit a ctigului nu poate s accepte s coboare fiecare juctor? Rspunsul l furnizeaz acel ctig pe care l poate obine un juctor, acionnd n mod independent, indiferent de strategia (pur sau mixt) aleas de cellalt juctor. Referindu-ne la primul juctor, obinem valoarea maximin a jocului corespunztoare lui, dat de expresia:
240
Teoria jocurilor
unde x i y sunt strategii mixte pe mulimea strategiilor lui P1, respectiv ale lui P2. Analog, pentru P2 valoarea maximin va fi: v* = max min 2(x,y).
yY xX
Deci, notnd cu (u, v) o pereche de ctiguri ale celor doi juctori, ea ar putea constitui o soluie a jocului cooperativ numai dac avem (u, v) (u*, v*). La ntrebarea unde trebuie cutat soluia jocului, rspunsul l d noiunea fundamental de mulime admisibil. Aceasta, notat cu S, este mulimea tuturor perechilor de ctiguri (u, v) pe care le pot obine, prin cooperare n alegerea strategiilor, cei doi juctori. Datorit faptului c sunt acceptate strategiile mixte i, mai mult, ele pot fi corelate, aceast submulime a lui 2 are proprietatea de convexitate. Este de presupus c forma lui S va avea o influen asupra gsirii soluiei jocului. O alt noiune important este aceea de frontier Pareto-optimal a mulimii admisibile S. Astfel, un punct (u, v) S aparine acesteia dac oricare ar fi > 0, > 0 rezult (u + , v) S i (u, v + ) S. Vom ilustra noiunile introduse mai nainte i vom schia metoda de gsire a soluiei, folosindu-ne de exemplul urmtorului joc bimatriceal. B1 B2 (3,8) A1 (1,2) (4,5) A2 (2,0) A3 (3/2,6) (5,3)
241
Presupunem c regulile jocului permit cooperarea ntre juctori (dar nu ca o consecin a faptului c jocul nu admite puncte de echilibru n strategii pure). Inversnd ordinea de mai nainte, vom determina mai nti mulimea admisibil S, preciznd frontiera sa Pareto-optimal, folosindu-ne de o reprezentare grafic. Dac notm cu W11 punctul din plan de coordonate 3 (1, 2) i, mai departe, W12 = (3, 8), W21 = (2, 0), W22 = (4, 5), W31 = ( , 6), 2 W32 = (5, 3), unde legtura dintre perechile de indici i perechile de ctiguri este evident, atunci S va fi reprezentat prin aa-numita acoperire convex a punctelor W11, ..., W32 (adic cea mai mic mulime convex plan care le conine), dat n figura urmtoare prin mulimea haurat:
V W31 W22 S W32 W11 0 W21 u W12
S precizm c exist cazuri n care unele puncte - ctiguri W pot s fie situate n interiorul poligonului convex determinat de restul punctelor, caz n care mulimea S va fi generat folosind numai aceste din urm puncte. Frontiera Pareto-optimal a lui S va fi format, n mod firesc, din laturi ale poligonului W11W21 ... W31. Singurele care satisfac condiia dat sunt W12W22 i W22W32. (Pentru puncte (u, v) aparinnd altor segmente,
242
Teoria jocurilor
cum ar fi W21W32 sau W31W12 este suficient s lum (u, v + ) sau (u + , v), cu , > 0 alese corespunztor, pentru a constata c punctele obinute fac parte din S). Aceast frontier Pareto [W12, W22, W32] va constitui, de fapt, zona de interes n identificarea soluiei jocului, deoarece ea corespunde cursului de cretere, att n u ct i n v, a punctelor (u, v) din S, favorabil ambilor juctori. n continuare vom gsi valorile maximin ale jocului (n strategii mixte). Pentru a uura calculele, s facem observaia c atunci cnd dorim s minimizm 1(x, y) n raport cu y Y, pentru un x X fixat, este suficient s considerm strategiile pure y = (1, 0) i y = (0, 1) deoarece putem scrie:
2 1(x, y) = xC1yT = (x1, x2, x3)C 1 y1 + (x1, x2, x3) C 1 y2 1 2 unde y = (y1, y2), y1, y2 0, y1 + y2 = 1, iar C 1 i C 1 sunt respectiv prima i 1
a doua coloan a matricei de ctiguri a juctorului P1, notat C1. Concret, vom avea:
min 1(x, y) = minx1 + 2x2 +
yY
= x1 + 2x2 +
3 x3 2
Cum X = (x1, x2, x3)x1, x2, x3 0, x1 + x2 + x3 = 1 este un simplex n 3, vom gsi: u* = max min 1(x, y) = max (x1 + 2x2 +
xX yY xX
vrful (0,1,0) al lui X. Cu un argument asemntor, folosind egalitatea 2(x, y) = yC T xT, 2 unde C2 este matricea ctigurilor lui P2, vom obine: min 2(x, y) = min2y1 + 8y2, 5y2, 6y1 + 3y2.
xX
243
Dar y2 = 1 y1, deci vom calcula: min-6y1 + 8, -5y1 + 5, 3y1 + 3 pentru y1 [0, 1]. Expresia acestuia este egal cu 3y1 + 3, dac y1 [0, 1 -5y1 + 5, dac y1 [ , 1]. n final, avem: 4 v* = max min 2(x, y) = 3
yY xX
1 ] i egal cu 4
Soluia jocului cooperativ dat, n sensul lui Nash, va fi o pereche ( u , v ) din S, cu proprietatea ( u , v ) (2,
(u u*)(v v*) pentru acele perechi (u, v) cu u 2 (n cazul n care exist (u, v) S cu u > u* i v > v*). Ea va aparine frontierei Pareto-optimale a lui S. Se demonstreaz c punctul cutat (unic prin construcie) are proprietatea c dreapta tangent la frontiera lui S, dus prin el, are panta (coeficientul unghiular) egal cu opusul pantei dreptei care unete (u*,v*) cu ( u , v ). Evident, aceast tangent trebuie s existe, drept pentru care punctele W12, W22 i W32 sunt tratate (eventual) separat. Cum coeficientul unghiular al dreptei care unete (2, 15 ) cu un 4
(u, v) de pe frontier este o mrime care variaz continuu, analiza decurge dup cum urmeaz. Panta dreptei care conine segmentul [W32W22] (i care joac rolul tangentei la frontiera lui S pentru punctele din interiorul su) este:
1 =
53 = -2. 45
244
Teoria jocurilor
15 4 = - 1 . Asemntor, dreapta care trece prin punctele (2, 15 ) i cu: 52 4 4 (4, 5) are panta egal cu 5 . Aadar, fcndu-l pe (u, v) s varieze n 8
interiorul lui [W32W22] obinem o dreapt cu panta care parcurge intervalul (1 5 , ). Cum opusul lui 1 nu se gsete n aceast plaj de 4 8
1 5 valori (2 (- , )), rezult c ( u , v ) nu aparine interiorului segmentului 4 8 menionat. Continund analiza cu punctele din interiorul segmentului [W22W12], constatm c panta dreptei suport a acestuia este 2 = unim pe (2, 85 = -3. Dac 34
atunci cnd (u, v) variaz ntre capetele W22 i W12, dreapta care l unete cu 5 17 (u*,v*) are panta ( , ). 8 4 5 17 n acest caz, - 2 = 3 ( , ) i rmne s l determinm pe 8 4 ( u , v ) ca un punct situat ntre W22 i W12. Dreapta care trece prin punctele (4, 5) i (3, 8) are ecuaia: v5 u 4 = v = -3u + 17. Ea se va intersecta cu o dreapt care 3 1 trece prin (2, 15 ), de pant egal cu 2 = 3, n ( u , v ). 4
245
Soluia de tip Nash a jocului cooperativ considerat mai sus este perechea de ctiguri ( u , v ) = (
La acest moment se cuvine a fi fcut o observaie referitoare la transferul ctigurilor. Astfel, din ecuaia: v = -3u + 17, rezult c o unitate valoric cedat de P1 se transfer n 3 uniti valorice ale lui P2, deoarece avem: -3(u 1) + 17 = -3u + 17 + 3 = v + 3. Putem vorbi deci de o rat de transfer a ctigurilor de la P1 ctre P2, egal cu 3(3 la 1). S facem diferenele ntre ctigul dat de soluia Nash i valoarea maximin pentru fiecare juctor n parte: 77 29 59 15 29 = -2= ; 24 24 8 4 8 Raportul lor (n ordinea P2 / P1) este 29 29 = 3, deci coincide cu 8 24
rata de transfer. Aceasta ne arat c prile de ctig obinute prin cooperare, n plus fa de ctigul maximin, de ctre fiecare juctor, se situeaz ntr-o proporie egal cu rata de transfer n punctul ( u , v ).
246
Teoria jocurilor
S nu pierdem din vedere faptul c scopul fiecrui juctor este ca si mbunteasc ctigul, inclusiv prin cooperare, dar neexcluznd influenele subiective. n acest context, putem observa c suma ctigurilor Nash:
u + v 3.208 + 7.375 = 10.583,
este strict inferioar sumei 3 + 8 = 11 ce rezult dac cei doi juctori convin s aplice strategiile A1 i B2, respectiv. Diferena rezultat ar putea s fie obiectul unui transfer de ctig n scopul amintit. Trebuie s acceptm din aceast cauz concluzia c soluia Nash nu e cea mai bun? S observm c n calculele de mai sus nu am inut seama de rata de transfer, egal cu 3 pentru toi (u, v) [W12, W22]. Acestea ar fi trebuit s arate astfel (n uniti ale lui P2): 3 3 + 1 8 = 9 + 8 = 17 3 3.208 + 1 7.375 = 9.624 + 7.375 = 16.999 17. n ncheiere s menionm c exist i un alt mod de producere a soluiei jocului cooperativ, bazat pe aa-numitele strategii de ameninare. Pentru lmuriri, ndrumm cititorul ctre referinele bibliografice date.
n cele ce urmeaz vom considera jocul de n persoane, n care notm cu N = 1, 2, ..., n mulimea tuturor juctorilor i presupunem permis cooperarea ntre acetia.
Definiia 1. Orice submulime nevid a lui N (inclusiv N i toate
247
funcia v, definit pe mulimea prilor lui N, care asociaz fiecrei coaliii S N valoarea maximin (corespunztoare lui S) a jocului de dou persoane jucat ntre coaliiile S i N S. Deci notm prin v(S) ctigul pe care juctorii din S l pot obine n joc (acionnd n cooperare), indiferent de ceea ce fac restul juctorilor. Prin definiie vom considera: v() = 0 (1) Dac S i T sunt coaliii disjuncte, unindu-i forele, ele pot realiza un ctig cel puin tot att ca n cazul cnd acioneaz separat. Acest lucru se scrie astfel: v(S T) v(S) + v(T), dac S T = (2) i nseamn c funcia caracteristic v are proprietatea de superaditivitate. Dac n jocul de dou persoane elementul esenial era studiul strategiilor mixte, n jocul de n persoane acest element esenial este formarea de coaliii. Funcia caracteristic d posibilitile diferitelor coaliii i este cea mai potrivit pentru studiul acestora.
Definiia 3: Prin joc de n persoane n form caracteristic se
nelege o funcie v cu valori reale definit pe submulimile lui N i care satisface condiiile (1) i (2). Prin definiie, v(S) este valoarea maximin a jocului ntre S i N - S. Dac presupunem c jocul este cu sum constant, adic suma ctigurilor tuturor juctorilor este constant, indiferent de desfurarea jocului, atunci: v(S) + v(N-S) = v(N). v(N) este valoarea ce se poate obine prin cooperare general i se mai numete valoare total.
248
Teoria jocurilor
Notm cu v(i) valoarea pe care juctorul i o poate obine acionnd independent. Evident juctorul i va intra n coaliia S dac valoarea ctigului este cel puin v(i).
Definiia 4: ntr-un joc v de n persoane vectorul x = (x1, ..., xn), cu
condiiile: a)
x
iN
b) xi v(i), () i N,
v(N) >
i v({})
iN
Jocurile eseniale sunt acelea ce prezint interes. Deoarece jocurile n forma caracteristic (definiia 3) sunt funcii cu valori reale, are sens s vorbim despre suma a dou sau mai multe jocuri.
Definiia 6: Se numete suport al unui joc v o coaliie T cu
proprietatea: v(S) = v(S T) pentru orice coaliie S. Aceasta nseamn c orice juctor care nu aparine unui suport al jocului este lipsit de importan, adic nu aduce nimic unei coaliii.
Definiia 7: Fie v un joc de n persoane i o permutare arbitrar a
mulimii N. Prin v nelegem jocul obinut din v n care s-au interschimbat rolurile juctorilor prin permutarea .
249
Axiomele Shapley
Numim
valoare
unui
joc
de
persoane,
vectorul
[v] = (1[v],..., n[v]), unde i[v] reprezint partea care trebuie atribuit
juctorului i, i = 1, n , din ctigul total v(N), cu proprietile: a1) pentru orice suport S al lui v avem:
[v] = v(S) ;
iS i
a2) pentru orice permutare i orice juctor i N, (i)[v] = i[v]; a3) pentru oricare dou jocuri u i v avem: [u + v] = [u] + [v]. Aceste trei proprieti sunt axiomele lui Shapley i ele sunt suficiente pentru a determina o funcie valoare , definit pentru toate jocurile. Dm fr demonstraie urmtoarea:
Teorem [16]
Exist o funcie unic , definit pentru toate jocurile, care satisface axiomele a1, a2, a3 i anume: i[v] =
( t 1)!(n t )! [v(T) v(T {})] i n! T N
(3)
iT
unde t este numrul juctorilor din coaliia T. Semnificaia termenului v(T) v(T - i) este ctigul primit de juctorul i, sau valoarea cu care acest juctor contribuie la ctigul total al coaliiei T din care face parte. Dac vom presupune c termenul v(T) v(T - i) poate lua numai valorile 0 sau 1, i anume ia valoarea 1 dac i numai dac T este o coaliie ctigtoare, dar T - i nu este ctigtoare, atunci jocul v este un joc simplu, iar formula (3) se simplific, astfel: i[v] = ( t 1)!(n t )! n! T N
(4)
iT
250
Teoria jocurilor
unde sumarea se face pentru toate coaliiile ctigtoare T pentru care T - i nu este ctigtoare.
Aplicaie [16]
O societate pe aciuni are 4 acionari ce posed respectiv 10, 20, 30 i 40% din aciuni. Toate deciziile privind activitatea societii se iau cu majoritatea simpl (cel puin 51% voturi, care sunt proporionale cu numrul de aciuni posedate). Considernd aceast situaie ca un joc simplu de 4 persoane se cere: a) s se gseasc toate coaliiile ctigtoare; b) s se scrie coaliiile ctigtoare T pentru care T - 1 nu este ctigtoare; c) s se determine valoarea Shapley = (1, 2, 3, 4), unde i este partea ce se atribuie juctorului i, i = 1,4 , din ctigul total; d) s se fac observaii asupra rezultatului obinut la punctul c).
Rezolvare a) Coaliiile ctigtoare sunt:
2, 4, 3, 4, 1, 2, 3, 1, 2, 4, 1, 3, 4, 2, 3, 4, 1, 2, 3, 4.
b) Dintre coaliiile ctigtoare ce l conin pe primul acionar
singura care devine nectigtoare cnd este scos din coaliie acesta este coaliia: 1, 2, 3, n care t (numrul acionarilor) este egal cu 3.
c) Aplicnd formula (4), unde t = 3, n = 4, i = 1, avem:
1 =
2!1! 1 = . 4! 12
Analog, coaliiile ctigtoare, care i pierd aceast proprietate dac acionarul 2 este nlturat sunt: 2, 4, 1, 2, 3,1, 2, 4.
251
Formula (4) va da pentru 2 suma a trei termeni, fiecare corespunznd uneia din coaliiile de mai sus. Astfel pentru coaliia 2, 4, t = 2, n = 4, i = 2, primul termen din (4) va fi: (2 1)! (4 2)! 1 = . 4! 12 Pentru 1, 2, 3, t = 3, n = 4, i = 2, obinem: (3 1)! (4 3)! 1 = . 4! 12 Iar pentru 1, 2, 4, t = 3, n = 4, i = 2, aceeai valoare ca mai sus, adic 1 . Atunci: 12
2 =
1 1 1 1 + + = . 12 12 12 4 5 1 i 4 = . 4 12 1 1 1 5 , , , ). 12 4 4 12
3 =
=(
definiiei 4.
d) Valoarea Shapley nu concord cu vectorul voturilor dat de
aciunilor deinute. Astfel 2 = 3 dei acionarul 3 posed mai multe aciuni ca acionarul 2. Acionarul 3 nu are posibiliti mai mari dect acionarul 2 de a
252
Teoria jocurilor
participa la o coaliie ctigtoare. Importana acionarului 4 este mai mare dect cea corespunztoare procentului aciunilor sale, iar a juctorului 1 este mai mic dect cea corespunztoare aciunilor sale. Dac acionarii ar deine respectiv 10, 30, 30, 30% din aciuni, oricare doi dintre acionarii 2, 3, 4 pot forma coaliii ctigtoare n timp ce acionarul 1 este lipsit de orice importan neputnd aduce nimic nici unei coaliii. Atunci valoarea jocului este vectorul: 1 1 1 , , ). 3 3 3
= (0,
jocul: B A A1 A2 A3 j
Rezolvare
B1 -4 8 -1 8
B2 4 6 0 6
B3 B4 2 5 1 5 11 7 -4 11
i
-4 5 -4
= 5 = 3 rezult c jocul are punct a, iar strategiile pure optime ale celor doi juctori sunt respectiv A2 i B3, iar valoarea jocului v = a23 = 5.
253
1 1 A= 6 0 , pe cale matriceal.
Rezolvare
Jocul nu are punct a deoarece 6 i 1 nu sunt minime pe liniile lor. Vom folosi relaiile (9) de la 2.3.a. Cum A = -6 0 i:
0 1 A* = 6 1 , JA* = (1, 1)
0 1 6 1 = (-6, -2); 1 = -8 1
A * JT 1 1 1/ 8 1 7 = = T 7 7 / 8 , de unde y = ( 8 , 8 ) JA * J 8
6 3 |A| = = . T 8 4 JA * J
6 2 1 5 3 4 1 5 2 2
254
Teoria jocurilor
Rezolvare
Observm c linia a cincea este dominat de linia a treia, deci vom renuna la linia a cincea i jocul va fi de forma 4 2,
6 2 1 5 A= . 3 4 1 5
Strategiile juctorului P2 verific relaiile: 6y1 2y2 v 5y1 + y2 v 3y1 + 4y2 v -y1 + 5y2 v y1 + y2 = 1 Punnd y1 = 1 y2 n primele 4 inegaliti, acestea devin: 6 8y2 v 5 4y2 v y2 + 3 v 6y2 1 v i sunt reprezentate grafic mai jos:
v 6 5 M 3 (d4) (d3) 5 4
(d2) 1 -1 -2 (d1) y2
255
unde am asociat fiecrei inegaliti (i), dreapta di, i = 1,4 , ce mparte semiplanele determinate de inegalitatea (i). Poriunea din plan cuprins ntre y2 = 0 i y2 = 1 (y2 este o probabilitate), i dedesubtul liniei frnte ngroate conine mulimea punctelor (y2, v) ce verific cele 4 inegaliti. Linia ngroat conine punctele cu cea mai mare valoare a lui v, iar dintre acestea punctul cu cea mai mic valoare dintre cele de pe linia frnt este M = d2 d3 i deci va avea coordonatele date de soluia sistemului: 5 4y2 = v y2 + 3 = v de unde y2 = 2 3 , y1 = iar v = 3, 4, deci y2 i v satisfac restriciile 2 i 3 cu 5 5
egaliti. Teorema ecarturilor ne spune c atunci componentele x2 i x3 din problema dual vor fi pozitive. 3 2 Deci strategia lui P2 este y = ( , ). 5 5 Soluia optim a juctorului P1 verific relaiile: 6x1 + 5x2 + 3x3 x4 v -2x1 + x2 + 4x3 + 5x4 v x1 + x2 + x3 + x4 = 1 n care x2, x3 > 0 iar x1 = x4 = 0. Atunci eliminnd prima i a patra linie din A va rezulta un joc redus cu matricea:
5 1 A1 = 3 4 .
Determinarea strategiei lui P1 o vom face cu ajutorul formulelor (9) din 2.3.a, unde:
4 1 * * A1 = 17; A 1 = 3 5 ; JA 1 = (1,1)
4 1 3 5 = (1, 4);
256
Teoria jocurilor
1 * JA 1 JT = (1, 4) = 5 deci: 1
x=
* JA1 4 1 1 4 1 i strategia lui = (1, 4) = ( , ), deci x2 = , x3 = * T JA1 J 5 5 5 5 5
P1 este x = (0,
1 4 , , 0). 5 5
4 1 2 1
0 2 1 3 4 5 . 3 1 1 1 2 3
Rezolvare
Aplicnd principiul strategiilor dominate observm c linia a doua are elementele respectiv mai mari ca linia a patra, deci o vom terge pe aceasta din urm. Coloana a treia domin coloana a patra, care va fi tears i matricea jocului se va restrnge la:
4 0 2 A = 1 3 4 . 2 3 1
Cercetm dac jocul este cu punct a, adugnd matricei A coloana
i (a celor mai mici elemente pe linie) i linia j (a celor mai mari elemente
pe coloan).
257
Obinem: A1 A2 A3 j B1 4 1 2 4 B2 0 3 3 3 B3 -2 4 1 4
i -2 1 1
de unde = maxi = 1, = minj = 3, deci , jocul nu are punct a, iar valoarea jocului v (1, 3).
a) Rezolvm nti problema pe cale matriceal, folosind formulele
A = -30;
9 6 6 A = 7 8 18 3 12 12
JA = ( 5,10, 0 ); A J T = ( 9, 3, 3); JA J T = 15
x= J= JA 1 1 2 = ( 5; 10, 0 ) = , , 0 T 15 JA J 3 3 AJ 1 3 1 1 = ( 9, 3, 3) = , , T 15 JA J 5 5 5
v=
A JA J
T
30 =2 15
Aplicm procedeul din observaia mai sus citat i verificm criteriul lui Neumann, astfel:
4 0 2 1 2 x A = , , 0 1 3 4 = (2, 2, 2 ) = 2J 3 3 2 3 1
258
Teoria jocurilor
4 0 2 3 / 5 2 A y = 1 3 4 1 / 5 = 2 = 2 J T 2 3 1 1 / 5 2
T
al jocului scris din punctul de vedere al celui de al doilea juctor cu strategia y = (y1 , y 2 , y 3 ) , va fi:
4 y1 2y 3 v y 1 + 3y 2 + 4 y 3 v 2 y 1 + 3y 2 + y 3 v y1 + y 2 + y 3 = 1; y j [0,1], j = 1,3 .
Cum v (1,3) deci este pozitiv, mprim relaiile de mai sus prin v i notm: Yj = yj v , j = 1,3
Deoarece P2 urmrete s fac minim v, atunci va dori s fac maxim 1 i obinem: v [max]g = 1 = Y1 + Y2 + Y3 v
4Y1
2Y3 1
Y1 + 3Y2 + 4Y3 1 2Y1 + 3Y2 + Y3 1 Yj 0 , j = 1,3 Aducem problema la forma standard i aplicm algoritmul simplex.
259
4Y1
2Y3 + Y4 = 1
B a4 a5 a6
0 1/6 1/4
a1 a5 a6
a1 a3 a6
Y1 = 1 / 3 , Y3 = 1 / 6 de unde y1 = v Y1 = 2 1 / 3 =
260
Teoria jocurilor
X1 =
1 1 , X 2 = , X 3 = 0 de unde : 6 3 1 1 2 1 2 x 1 = vX1 = 2 = ; x 2 = ; x 3 = 0 i x = , , 0 . 6 3 3 3 3
Observaie: Prin metoda b) strategia lui P1 este aceeai cu cea din a), dar strategia lui P2 difer. Acest lucru a aprut deoarece n rezolvarea prin simplex a problemei, n etapa de optim 2 = 0 dei a2 B. n acest caz problema are o infinitate de soluii. S mai gsim una continund simplexul cu nc o iteraie prin introducerea n baz a lui a2 i eliminarea lui a6.
a1 a3 a2
1 1 1 gj j=cj-gj
1 0 0 1 0
0 0 1 1 0
0 1 0 1 0
Dar Y1 =
3 1 1 , Y2 = , Y3 = , ce conduce la: 10 10 10
3 1 1 3 1 1 y1 = , y 2 = , y 3 = , adic y = , , soluie gsit i prin 5 5 5 5 5 5 metoda a). Dar dac o problem de programare liniar are dou soluii optime:
2 1 3 1 1 y = , 0, i y = , , ea va avea o infinitate de soluii optime, date 3 3 5 5 5
de combinaia liniar convex de y' i y''. Deci P2 are o infinitate de strategii date de:
1 3 1 1 2 y = y + (1 ) y = , 0, + (1 ) , , = 3 5 5 5 3 9 + 1 3 + 2 , , = , 0 1. 15 5 15
261
procedeul dat n paragraful 2.3.a, am fi gsit i alt soluie pentru jocul considerat i orice combinaie liniar convex de soluiile gsite ar fi fost tot o soluie a jocului, de unde infinitatea de soluii dat de algoritmul simplex.
5. S se rezolve jocul G = (A, B, f) n care matricea plilor A este: B A A1 A2 A3 Rezolvare
B1 3 6 2
B2 -1 8 5
B3 B4 0 3 1 7 5 3
Determinm valoarea inferioar i valoarea superioar ale jocului: i = min aij i v G = max i =
1 j 4 1 i 3
Avem:
B A A1 A2 A3 j
B1 3 6 2 6
B2 -1 8 5 8
B3 B4 0 3 1 3 7 5 3 7
i -1 3 1
1 = min3, -1, 0,7 = -1 2 = min6, 8, 3,5 = 3 3 = min2, 5, 1,3 = 1 de unde = max-1, 3, 1 = 3 = v G . 1 = max3, 6, 2 = 6; 2 = max-1, 8, 5 = 8;
262
Teoria jocurilor
3 = max0, 3, 1 = 3; = min6, 8, 3, 7 = 3 = v G .
4 = max7, 5, 3 = 7;
Cum vG = v G = 3, rezult c jocul are punct a i P1 va alege numai strategia A2 iar P2 numai B3, indiferent de numrul partidelor ce se joac.
6. S se rezolve jocul matriceal G = (A, B, f) asociat unei situaii de
B1 0 -2 1
B2 -5 2 -1
B3 2 -1 1
B1 0 -2 1 1
B2 -5 2 -1 2
B3 i 2 -1 1 2 -5 -2 -1
Din vG v G rezult c jocul nu are punct a i valoarea lui v (-1, 1). Cutm strategiile mixte x = (x1, x2, x3) pentru P1 i y = (y1, y2, y3) pentru P2, prin intermediul programrii liniare. Mai nti transformm elementele matricei A, pentru a avea v > 0.
263
Jocul corespunztor matricei A va avea aceleai strategii mixte optime ca jocul iniial, doar valoarea jocului este v = v + 2, adic cu 2 mai mare dect valoarea jocului iniial. Pentru P2 problema de programare liniar ce trebuie rezolvat va fi: 2y1 3y2 + 4y3 v 4y2 + y3 v 3y1 + y2 + 3y3 v y1 + y2 + y3 = 1 yj 0, j = 1,3 Cu v > 0, Yj = [max]g = yj v i
1 = [max]g, avem: v
1 = Y1 + Y2 + Y3 v
264
Teoria jocurilor
B a4 a5 a6 a4 a2 a6
a4 a2 a1
1 a1 2 0 3 0 1 4 0 3 0 1 0 0 1 1 0
1 a2 -3 4 1 0 1 0 1 0 1 0 0 1 0 1 0
1 a3 4 1 3 0 1 19/4 1/4 11/4 1/4 3/4 13/12 1/4 11/12 7/6 -1/6
0 a4 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0
0 a5 0 1 0 0 0 3/4 1/4 -1/4 1/4 -1/4 13/12 1/4 -1/2 1/6 -1/6
1/4 1/3
7/16 3/12
1 1 = , de unde v = 2 v 2
1 1 1 1 1 , de unde y1 = 2 = ; Y2 = , de unde y2 = , 4 4 2 4 2 y3 = 0;
X2 = deci: x = (0,
tip. Cantitatea necesar i condiiile de aprovizionare sunt date n urmtorul tabel [10]:
265
Dac aprovizionarea se face vara, preul unitar este de 60 u.m./t. Se cere: a) s se scrie matricea plilor tiind c aprovizionarea se face n timpul verii; b) s se decid strategia prin criteriul maximin; c) s se decid strategia prin criteriul minimax; d) s se decid strategia prin criteriul Savage; e) s se decid strategia cnd strile iernii sunt egal probabile; alternativ, cnd probabilitile sunt respectiv 0,2; 0,5 i 0,3; f) pentru = 0,75 s se determine strategia optim prin criteriul Hurwicz.
Rezolvare a) Matricea asociat jocului generat de problema dat va fi:
Strategia iernii uoar Cantitatea S1:4t contractat A1:4t -240 A2:5t -300 A3:6t -360
unde, de exemplu, elementul de pe linia lui A2 i coloana lui S3 s-a calculat astfel: s-au cumprat 5t a cte 60 u.m. pentru care s-au pltit 300 u.m.; iarna
266
Teoria jocurilor
fiind grea, mai este nevoie de o ton ce se cumpr iarna cu preul de 80 u.m., deci n total cheltuielile vor fi de 380 sau n matricea ctigurilor lui P1 vom scrie -380.
b) n aplicarea criteriului maximin se alege minimul elementelor de
pe fiecare linie i dintre acestea se determin maximul, astfel: A1 -400 A2 -380 A3 -360
fiecare linie i apoi determinarea celui mai mic dintre acestea. A1 -240 A2 -300 A3 -360
Determinm apoi n R cel mai mare element pe fiecare linie i apoi cel mai mic dintre acestea. Obinem: A1 40 A2 60 A3 120
267
cheltuielile medii pentru fiecare strategie Ai, i = 1,3 . Astfel: (1, y) = 1 1 1 955 (-240) + (-315) + (-400) = 3 3 3 3 980 1080 i (3, y) = . 3 3
(2, y) = -
Cea mai mare dintre aceste sume este (1, y) i recomand A1. Dac strile nu sunt egal probabile ci au respectiv probabilitile: 0,2; 0,5; 0,3, cheltuielile medii vor fi: (1, y) = 0,2(-240) + 0,5(-315) + 0,3(-400) = -325, 5 (2, y) = 0,2(-300) + 0,5(-300) + 0,3(-380) = -324 (3, y) = 0,2(-360) + 0,5(-360) + 0,3(-360) = -360 i cea mai mic cheltuial este (2, y) i recomand A2.
f) Atam matricei iniiale A coloanele elementelor mi = min aij i
1 j 3
Ai A1 A2 A3
Si
Pentru = 0,75, corespunztor lui A1, obinem pe ultima coloan 160 0,75 400 = - 280; pentru A2, 80 0,75 380 = -320 i pentru A3, - 360. Cea mai mic cheltuial este pentru A1.
268
Teoria jocurilor
Se observ mai nti c strategia A4 a juctorului P1 domin strict strategia A2 (oricare ar fi strategia de rspuns Bj a lui P2, avem a4j > a2j). Dup eliminarea lui A2, care nu afecteaz punctele de echilibru, observm c strategia B4 a lui P2 domin strict pe B3 (deoarece 2 > 0, 5 > 2 i 6 > 4). Dup ce B3 este suprimat i ea, obinem un tabel restrns. A1 A3 A4 B1 (5,4) (6,8) (3,2) B2 (3,1) (1,3) (4,7) B4 (4,2) (3,5) (2,6)
n aceast faz nu vom mai gsi strategii dominate. Urmnd procedura de determinare a rspunsurilor optime, pe linii i pe coloane, vom obine marcrile de mai jos: A1 A3 A4 B1 (5,4) (6,8) (3,2) B2 (3,1) (1,3) (4,7) B4 (4,2) (3,5) (2,6)
Cum singurele perechi de ctiguri cu dou sublinieri sunt (6,8) i (4,7), rezult c (A3, B1) i (A4, B2) sunt puncte de echilibru ale jocului (n strategii pure). Observnd ctigurile corespunztoare, se poate spune c
269
(A3, B1) este preferabil lui (A4, B2) pentru ambii juctori i deci poate constitui soluia jocului.
9. S se construiasc un joc bimatriceal care s admit un punct de
Fie jocul cu sum arbitrar dat prin matricea: A1 A2 B1 (4,5) (2,6) B2 (3,4) (5,7)
Se observ, fr dificultate, c (A1, B1) i (A2, B2) sunt puncte de echilibru Nash al jocului. n acelai timp, avem valorile maximin:
max min aij = maxmin4,3, min2,5 = max3,2 = 3
i =1, 2 j=1, 2
Deci A1 e strategia maximin a lui P1 i B1 e strategia maximin a lui P2. Se confirm, pe de alt parte, faptul c orice punct de echilibru i promite fiecrui juctor un ctig mai mare sau egal cu valoarea maximin corespunztoare lui a jocului.
10. S se arate c jocul n form normal de mai jos nu admite
puncte de echilibru Nash n strategii mixte: A1 A2 B1 (1,0) (0,3) B2 (1,2) (0,1) B3 (0,1) (2,0)
270
Teoria jocurilor
Rezolvare
Fie (p, q, 1 p q) o strategie mixt pe B = B1, B2, B3. Avem deci p, q 0 i p + q 1. Cutm rspunsul optim al lui P1 la aceast strategie a lui P2. Dac P1 folosete strategia A1 atunci i revine un ctig mediu egal cu p + q, iar dac folosete strategia A2, ctigul mediu este 2(1 p q). Comparndu-le, se deduce imediat c dac p + q [0, 2/3) cel mai bun rspuns este A2 n timp ce pentru p + q (2/3, 1], cel mai bun rspuns este A1. Cazul p + q = 2 nu face deosebire ntre A1 i A2 ca replici optime 3
ale lui P1. Dac vom considera o strategie mixt (r, 1 r) pe A = A1, A2, 0 r 1, ctigurile medii ale lui P2 vor fi egale cu 3 3r, r + 1 sau r, dup cum folosete strategiile pure B1, B2 sau B3, respectiv. Din inegalitile 3 3r > r + 1 > r reiese c rspunsul optim al lui P2 este B1, pentru r< 1 1 1 i B2, pentru r > . n cazul r = , se rein ca cel mai bun rspuns 2 2 2 S presupunem c punctele de echilibru ale jocului sunt de forma ((r*, 1 r*), (p*, q*, 1 p* - q*)). Vom analiza situaiile posibile pentru r*:
I.
Dac r* [0,
1 ), rspunsul optim al lui P2 este B1, cruia i-ar 2 2 i, n replic, am avea strategia 3
optim A1 a lui P1. Cum A1 poate fi identificat cu strategia mixt (1, 0), rezult r* = 1, contrazicnd ipoteza iniial;
271
II. n cazul r* =
(, 1-, 0), 0 1 este un rspuns optim. Discuia continu ca mai nainte i se ajunge la concluzia r* = 1
III. Dac r* (
1 optim al lui P1 e din nou A1. Obinem, ca mai sus, r*= 1( ,1); 2
IV. Ultima posibilitate, r* = 1 ne conduce la o strategie de rspuns
cu p* = 0, q* = 1 i, de aceast dat, cu rspunsul n oglind al lui P1, lanul deduciilor se nchide. Am obinut astfel un punct de echilibru n strategii pure, ((1,0), (0,1,0)), fapt ce clarific cerina problemei vis--vis de teorema lui Nash. S mai observm c, deoarece strategia B3 este strict dominat, componenta corespunztoare ei ntr-o strategie optim a lui P2 nu putea fi dect nul.
11. ([12]) Dou firme cu profile asemntoare de activitate ofer
fiecare cte un loc de munc. S presupunem c se pltesc salarii diferite: firma i pltete salariul si, unde (1/2) s1 < s2 < 2s1. S presupunem c exist doi lucrtori ce doresc s se angajeze, dar fiecare nu poate opta dect pentru o singur firm, acest lucru fcndu-se simultan. Dac numai cte un singur lucrtor i ofer serviciile unei firme, el este angajat. Dac ambii lucrtori opteaz pentru aceeai firm, aceasta angajeaz pe unul dintre ei, la ntmplare, iar cellalt rmne, pe mai departe, fr serviciu (i cu o plat presupus nul). S se gseasc soluia n strategii de echilibru Nash a acestui joc.
272
Teoria jocurilor
Rezolvare
Vom construi pentru nceput forma normal a jocului descris. Juctorii sunt cei doi lucrtori, strategiile lor constnd din opiunile pe care le fac pentru firma 1 sau firma 2 i pe care le notm cu A1, A2, respectiv B1, B2. Vom nota, ca de obicei, cu f1(,) i f2(,) respectiv, funciile de ctig ale juctorilor. Considernd utilitile imediate ale celor doi lucrtori, rezultate n urma alegerilor fcute, putem construi urmtoarea matrice de pli (n ipoteza anselor egale): A1 A2 B1 1 1 ( s1, s1) 2 2 (s2,s1) B2 (s1,s2) 1 1 ( s2, s2) 2 2
de unde rezult c (A1, B2) este punct de echilibru Nash. Asemntor, obinem relaiile: f1(A2, B1) = s2 > f2(A2, B1) = s1 > 1 s1 = f1(A1, B1) 2 1 s2 = f2(A2, B2) 2
ceea ce arat c i (A2, B1) este un punct de echilibru Nash. Faptul c fiecare lucrtor este angajat dac se opteaz pentru una sau cealalt dintre perechile de strategii discutate vine n acord cu ideea de echilibru, chiar dac unul dintre juctori poate s nu fie mulumit pe deplin cu salariul pe care l obine.
273
Dac fiecare juctor ine la ansa sa de a fi angajat i de a primi un salariu mai bun, atunci are sens considerarea strategiilor mixte. Fie (y, 1-y) o strategie mixt a lui P2. Atunci ctigul mediu al lui P1 va fi dat de: 1 1 ys1 + (1 y)s1 = s1 - ys1, sau 2 2 ys2 + A1 sau A2. Din inegalitatea s1 1 1 1 ys1 > s2 + ys2, rezult c pentru 2 2 2 1 1 1 (1 y) s2 = s2 + ys2, dup cum folosete strategia pur 2 2 2
2s s y 0, 1 2 cel mai bun rspuns al lui P1 la strategia mixt a lui P2 este s1 + s 2 2s s A1, iar pentru y 1 2 ,1] , acesta este A2 (s observm c s1 < 2s2 e s +s 1 2 echivalent cu 2s1 s2 < s1 + s2). O analiz similar se face pornind de la o strategie mixt (x, 1 x) pe A1, A2. Urmnd procedeul de rezolvare descris n soluia la problema 10, vom obine urmtorul punct de echilibru Nash n strategii mixte: 2s1 s 2 2s 2 s1 2s1 s 2 2s 2 s1 s + s , s + s , s + s , s + s . 1 2 1 2 1 2 1 2 Desigur c n acest exemplu de joc nu se pune problema repetrii sale de un numr de ori care s permit alternarea strategiilor. Metoda de decizie pentru oricare juctor este s foloseasc un generator de numere aleatoare (de tipul funciei RND a unui calculator de buzunar); dac valoarea generat se gsete n intervalul (0, atunci el va alege strategia A1(B1), altfel va juca A2(B2).
274
2s1 s 2 ), s1 + s 2
BIBLIOGRAFIE
1. ALLEN, R.G.D. Analiz matematic pentru economiti, Bucureti, Editura tiinific, 1971 Matematici aplicate n economie, Bucureti, Lito ASE, 1981 Matematici aplicate n economie, (Vol. I, II), Bucureti, Universitatea Dimitrie Cantemir, 1997 Teoria grafurilor i aplicaiile ei, Bucureti, Editura Tehnic, 1969 Cercetare operaional cu aplicaii n economie, Bucureti, Editura Didactic i Pedagogic, 1979 Matematici speciale aplicate n economie, (Vol. II), Bucureti, Lito ASE, 1983 Matematici pentru economiti, Bucureti, Editura Cison, 2000 Matematici pentru economiti. Culegere de probleme, Bucureti, Editura Cison, 2000 Teoria jocurilor, Bucureti, Editura Tehnic, 1965 Metode numerice n teoria jocurilor, Cluj Napoca, Editura Dacia, 1983
275
2. BAZ, D., COZMA, C., POPESCU, O. 3. BAZ, D., BUTESCU, V., STREMAN, N. 4. BERGE, C. 5. BOLDUR LESCU, G., SCUIU, I., IGNESCU, E. 6. BURLACU, V., SCUIU, I. 7. CENU, GH., RAISCHI, C., BAZ, D. .a. 8. CENU, GH., FILIP, A., BAZ, S. .a. 9. CIUCU, G., IOSIFESCU, M. .a. 10. DANI, E.
Linear Programming and Extension, New York, Princeton University Press, 1963 A Primer in Game Theory, New York, London, Harvester Wheatsheaf, 1992 Introduction to Operations Research, Mc.Graw & Hill, 1993 Metode i modele ale cercetrii operaionale, (Vol. I, II), Bucureti, Editura tiinific, 1967 Metoda drumului critic, Bucureti, Editura Tehnic, 1971 Teoria jocurilor, Bucureti, Editura Tehnic, 1974 Matematici aplicate n economie, Bucureti, Editura Didactic i Pedagogic, 1993 Matematici aplicate n economie. Culegere de probleme, Bucureti, Editura Didactic i Pedagogic, 1996 A Value for n-Person Games. In Annals of Mathematical Studies, 28 Modele matematice de organizare i conducere a produciei, (Vol. I, II), Bucureti, Editura Didactic i Pedagogic, 1974 Probleme de cercetare operaional, Bucureti, Editura Tehnic, 1978
15. KAUFMANN, A., DESBAZEILLE, G. 16. OWEN, G. 17. POPESCU, O., BAZ, D., BEGANU, G. .a. 18. POPESCU, O., BAZ, D., BEGANU, G. .a. 19. SHAPLEY, L.S. 20. VDUVA, I., DINESCU, C., SVULESCU, B. 21. VRNCEANU, GH., MITITELU, t.
276