+ All Categories
Home > Documents > Criptografie.pdf

Criptografie.pdf

Date post: 02-Jun-2018
Category:
Upload: teocor
View: 218 times
Download: 0 times
Share this document with a friend

of 318

Transcript
  • 8/10/2019 Criptografie.pdf

    1/318

    Cuprins

    I CERCETARI OPERATIONALE 1

    1 PROGRAMARE LINIARA 31.1. Folosirea eficienta a resurselor limitate . . . . . . . . . . . . . . . . . 3

    1.2. Forme ale problemelor de programare liniara . . . . . . . . . . . . . 5

    1.3. Algoritmul simplex (Dantzig) . . . . . . . . . . . . . . . . . . . . . . 7

    1.4. Duala unei probleme de programare liniara . . . . . . . . . . . . . . 9

    1.5. Problema de transport . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    1.6. Aplicatii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    2 PROGRAMARE DINAMICA 17

    2.1. Forma unei probleme de optimizare secventiala . . . . . . . . . . . . 17

    2.2. Teorema de optim . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    2.3. Programare dinamica regresiva . . . . . . . . . . . . . . . . . . . . . 202.3.1. Ecuatiile programarii dinamice regresive . . . . . . . . . . . . 20

    2.3.2. Rezolvarea problemelor de programare regresiva . . . . . . . 21

    2.3.3. Aplicatii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    2.4. Programare dinamica progresiva . . . . . . . . . . . . . . . . . . . . 27

    2.4.1. Ecuatiile programarii dinamice progresive . . . . . . . . . . . 27

    2.4.2. Rezolvarea problemelor de programare progresiva . . . . . . 28

    2.4.3. Aplicatii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    3 TEORIA JOCURILOR 33

    3.1. Notiuni introductive . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    3.2. Principiul minimax . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.3. Strategii mixte si valoarea jocului . . . . . . . . . . . . . . . . . . . . 35

    3.4. Teorema fundamentala a teoriei jocurilor . . . . . . . . . . . . . . . 36

    3.5. Rezolvarea jocurilor matriceale . . . . . . . . . . . . . . . . . . . . . 37

    3.5.1. Formularea problemei de optimizare . . . . . . . . . . . . . . 37

    3.5.2. Reducerea la probleme de programare liniara . . . . . . . . . 38

    iii

  • 8/10/2019 Criptografie.pdf

    2/318

    iv CUPRINS

    3.6. Aplicatii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    4 TEORIA DECIZIILOR STATISTICE 45

    4.1. Prezentarea problemelor . . . . . . . . . . . . . . . . . . . . . . . . . 45

    4.2. Strategii Bayes si strategii minimax . . . . . . . . . . . . . . . . . . . 46

    4.3. Cazul efectuarii unor experiente unice . . . . . . . . . . . . . . . . . 47

    4.4. Decizii optime n caz de incertitudine . . . . . . . . . . . . . . . . . . 49

    4.4.1. Criteriul lui Hurwicz . . . . . . . . . . . . . . . . . . . . . . . 49

    4.4.2. Criteriul lui Savage . . . . . . . . . . . . . . . . . . . . . . . . 49

    4.4.3. Criteriul Bayes-Laplace . . . . . . . . . . . . . . . . . . . . . 50

    4.4.4. Criteriul lui Wald . . . . . . . . . . . . . . . . . . . . . . . . 50

    4.5. Aplicatii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

    5 TEORIA GRAFURILOR 55

    5.1. Grafuri orientate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

    5.2. Algoritmul lui Kaufmann . . . . . . . . . . . . . . . . . . . . . . . . 56

    5.3. Algoritmul lui Chen . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

    5.4. Algoritmul lui Ford . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

    5.5. Algoritmul Bellman-Kalaba . . . . . . . . . . . . . . . . . . . . . . . 59

    5.6. Algoritmul lui Dijkstra . . . . . . . . . . . . . . . . . . . . . . . . . . 60

    5.7. Arbori minimali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

    5.7.1. Algoritmul lui Kruskal . . . . . . . . . . . . . . . . . . . . . . 62

    5.8. Aplicatii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

    6 PROBLEME DE TRANSPORT 75

    6.1. Problema clasica de transport . . . . . . . . . . . . . . . . . . . . . . 75

    6.1.1. Formularea problemei . . . . . . . . . . . . . . . . . . . . . . 75

    6.1.2. Algoritmul de transport (adaptarea algoritmului simplex) . . 76

    6.1.3. Determinarea unui program de baza initial . . . . . . . . . . 77

    6.1.4. Degenerare si ciclare . . . . . . . . . . . . . . . . . . . . . . . 78

    6.1.5. Variante ale problemei de transport . . . . . . . . . . . . . . 79

    6.1.6. Algoritmul simplex modificat . . . . . . . . . . . . . . . . . . 80

    6.1.7. Aplicatii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816.2. Flux maxim intr-o retea de transport . . . . . . . . . . . . . . . . . . 89

    6.2.1. Retele de transport . . . . . . . . . . . . . . . . . . . . . . . . 89

    6.2.2. Algoritmul Ford-Fulkerson . . . . . . . . . . . . . . . . . . . . 90

    6.2.3. Problema de transport ca problema de flux maxim . . . . . . 92

    6.2.4. Aplicatii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

  • 8/10/2019 Criptografie.pdf

    3/318

    CUPRINS v

    7 TEORIA STOCURILOR 103

    7.1. Formularea modelului matematic . . . . . . . . . . . . . . . . . . . . 1037.2. Modele deterministe . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

    7.2.1. Model de stocare a unui produs cu cerere constanta, perioadaconstanta de reaprovizionare si fara lipsa de stoc . . . . . . . 104

    7.2.2. Model de stocare a unui produs cu cerere constanta, perioadaconstanta de reaprovizionare si cu posibilitatea lipsei de stoc 105

    7.2.3. Model de stocare a unui produs cu cerere constanta, perioadaconstanta de reaprovizionare si fara lipsa de stoc, luand nconsiderare si costul de achizitie . . . . . . . . . . . . . . . . 108

    7.2.4. Model de stocare a mai multor produse . . . . . . . . . . . . 1097.3. Modele probabiliste . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

    7.3.1. Model de stocare a unui produs cu cerere aleatoare, cu pierderen cazul surplusului de stoc, cu cheltuieli suplimentare n cazullipsei de stoc si cu cost de stocare neglijabil . . . . . . . . . . 110

    7.3.2. Model de stocare a unui produs cu cerere aleatoare, cu costde stocare si cost de penalizare pentru lipsa de stoc . . . . . 114

    7.4. Aplicatii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

    8 PROBABILITATI 1238.1. Probabiliatea unui eveniment . . . . . . . . . . . . . . . . . . . . . . 123

    8.1.1. Cazul finit dimensional si al evenimetelor elementare echiprob-abile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

    8.1.2. Probabitati geometrice . . . . . . . . . . . . . . . . . . . . . . 1248.1.3. Frecventa absoluta. Frecventa relativa . . . . . . . . . . . . . 124

    8.1.4. Definitia statistica a probabilitatii . . . . . . . . . . . . . . . 1258.2. Variabile aleatoare normal distribuite . . . . . . . . . . . . . . . . . . 126

    8.2.1. Densitatea de probabilitate normala . . . . . . . . . . . . . . 1268.2.2. Functia Laplace-Gauss . . . . . . . . . . . . . . . . . . . . . . 1268.2.3. O formula analitica pentru calculul probabilitatii . . . . . . . 1278.2.4. Inegalitatea lui Cebasev (1821-1894) . . . . . . . . . . . . . . 127

    8.2.5. Teorema celor 3 . . . . . . . . . . . . . . . . . . . . . . . . . 1278.3. Legea numerelor mari . . . . . . . . . . . . . . . . . . . . . . . . . . 1278.4. Teorema limita centrala . . . . . . . . . . . . . . . . . . . . . . . . . 128

    8.4.1. Forma Leapunov (1857-1918) a Teoremei Limita Centrala . . 1288.4.2. Forma Moivre (1667-1754)-Laplace a Teoremei Limita Centrala129

    8.5. Teste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

    8.5.1. Testul 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1298.5.2. Testul 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1308.5.3. Testul 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

  • 8/10/2019 Criptografie.pdf

    4/318

    vi CUPRINS

    8.5.4. Testul 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

    8.5.5. Testul 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1328.5.6. Testul 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

    8.6. Cateva distributii importante . . . . . . . . . . . . . . . . . . . . . . 134

    8.6.1. Repartitii continue . . . . . . . . . . . . . . . . . . . . . . . . 134

    8.6.2. Distributii discrete . . . . . . . . . . . . . . . . . . . . . . . . 139

    8.6.3. Calculul numeric al cuantilelor . . . . . . . . . . . . . . . . . 140

    II CRIPTOLOGIE 143

    9 SISTEMUL DE CIFRARE CEZAR 145

    9.1. Breviar teoretic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1459.2. Exercitii rezolvate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

    9.3. Exercitii propuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

    10 METODA SUBSTITUTIEI 149

    10.1. Breviar teoretic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

    10.2. Exercitii rezolvate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

    10.3. Exercitii propuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

    11 SISTEMUL DE CIFRARE PLAYFAIR 155

    11.1. Breviar teoretic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

    11.2. Exercitii rezolvate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15611.3. Exercitii propuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

    12 SISTEMUL DE CIFRARE HILL 161

    12.1. Breviar teoretic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

    12.2. Exercitii rezolvate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

    12.3. Exercitii propuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

    13 SISTEME DE CIFRARE POLIALFABETICE 167

    13.1. Breviar teoretic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

    13.2. Exercitii rezolvate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168

    13.3. Exercitii propuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

    14 METODA TRANSPOZITIEI 173

    14.1. Breviar teoretic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

    14.2. Exercitii rezolvate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

    14.3. Exercitii propuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

  • 8/10/2019 Criptografie.pdf

    5/318

    CUPRINS vii

    15 SISTEME MIXTE 177

    15.1. Breviar teoretic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17715.2. Exercitii rezolvate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

    15.3. Exercitii propuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

    16 GENERATOARE PSEUDOALEATOARE 183

    16.1. Breviar teoretic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183

    16.2. Exercitii rezolvate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

    16.3. Exercitii propuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

    17 CALCULE IN CORPURI GALOIS 189

    17.1. Breviar teoretic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

    17.2. Exercitii rezolvate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

    17.3. Exercitii propuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

    18 ALGORITMUL RIJNDAEL - STANDARDUL AES 193

    18.1. Breviar teoretic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

    18.2. Exercitii rezolvate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

    18.3. Exercitii propuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

    19 CRIPTANALIZA CIFRURILOR BLOC 203

    19.1. Breviar teoretic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

    19.2. Exercitii rezolvate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20319.3. Exercitii propuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

    20 LEMA CHINEZEASCA A RESTURILOR 207

    20.1. Breviar teoretic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207

    20.2. Exercitii rezolvate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208

    20.3. Exercitii propuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

    21 SISTEMUL DE CIFRARE MERKLE-HELLMAN 213

    21.1. Breviar teoretic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213

    21.2. Exercitii rezolvate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214

    21.3. Exercitii propuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

    22 SISTEMUL DE CIFRARE RSA 217

    22.1. Breviar teoretic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

    22.2. Exercitii rezolvate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

    22.3. Exercitii propuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

  • 8/10/2019 Criptografie.pdf

    6/318

    viii CUPRINS

    23 SISTEMUL DE CIFRARE ELGAMAL 223

    23.1. Breviar teoretic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22323.2. Exercitii rezolvate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

    23.3. Exercitii propuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224

    24 ARITMETICA PE CURBE ELIPTICE 225

    24.1. Breviar teoretic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225

    24.2. Exercitii rezolvate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226

    24.3. Exercitii propuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

    25 SISTEMUL DE CIFRARE ELGAMAL PE CURBE ELIPTICE 229

    25.1. Breviar teoretic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22925.2. Exercitii rezolvate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229

    25.3. Exercitii propuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230

    26 SISTEMUL DE CIFRARE MENEZES-VANSTONE 233

    26.1. Breviar teoretic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

    26.2. Exercitii rezolvate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

    26.3. Exercitii propuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234

    27 FUNCTII DE DISPERSIE 237

    27.1. Breviar teoretic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237

    27.2. Exercitii propuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239

    28 SEMNATURA ELGAMAL 241

    28.1. Breviar teoretic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241

    28.2. Exercitii rezolvate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241

    28.3. Exercitii propuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242

    29 SEMNATURA DSA/ECDSA 245

    29.1. Breviar teoretic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245

    29.2. Exercitii rezolvate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246

    29.3. Exercitii propuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246

    30 PROTOCOLUL DIFFIE-HELLMAN 249

    30.1. Breviar teoretic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249

    30.2. Exercitii rezolvate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249

    30.3. Exercitii propuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250

  • 8/10/2019 Criptografie.pdf

    7/318

    CUPRINS ix

    31 PROTOCOLUL BLOM 253

    31.1. Breviar teoretic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25331.2. Exercitii rezolvate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25431.3. Exercitii propuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254

    32 PROTOCOLUL SHAMIR DE PARTAJARE A SECRETELOR 25732.1. Breviar teoretic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25732.2. Exercitii rezolvate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25832.3. Exercitii propuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258

    33 SCHEME DE PARTAJARE A SECRETELOR BAZATE PE CRT26133.1. Breviar teoretic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261

    33.2. Exercitii rezolvate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261

    34 CANALE SUBLIMINALE 26334.1. Breviar teoretic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26334.2. Exercitii rezolvate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26334.3. Exercitii propuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264

    35 PRINCIPII CRIPTOGRAFICE 267

    36 ATACURI IN MEDIUL DE IMPLEMENTARE 27136.1. Breviar teoretic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27136.2. Exercitii propuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272

    37 RESURSE SOFTWARE 27337.1. CrypTool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27337.2. OpenSSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27537.3. MAPLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277

    38 APLICATII PRACTICE 283

    39 PROBLEME DE SINTEZA 29139.1. Enunturi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29139.2. Raspunsuri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300

    BIBLIOGRAFIE 305

  • 8/10/2019 Criptografie.pdf

    8/318

    x CUPRINS

  • 8/10/2019 Criptografie.pdf

    9/318

    Partea I

    CERCETARIOPERATIONALE

    1

  • 8/10/2019 Criptografie.pdf

    10/318

  • 8/10/2019 Criptografie.pdf

    11/318

    Capitolul 1

    PROGRAMARE LINIARA

    1.1. Folosirea eficienta a resurselor limitate

    O problema practica ce apare frecvent n activitatea de conducere economicaeste urmatoarea: sunt disponibile mai multe resurse (materii prime, forta de munca,resurse financiare) n cantitati limitate. Cu ajutorul acestor resurse se pot desfasuramai multe activitati economice. Problema consta n determinarea nivelurilor ac-tivitatilor luate n considerare care sa se ncadreze n limitarile precizate ale resur-selor si sa asigure satisfacerea optima a unui anumit criteriu.

    Sa notam cu i

    , 1 i m,

    tipul resursei si cubi

    cantitatea de resursa de tipuli care este disponibila. Vom nota prin j, 1 j n, tipul activitatii (procesuluide subproductie) si prin xj nivelul (necunoscut) la care urmeaza sa se desfasoareaceasta activitate. In sfarsit, vom nota prin aij cantitatea de resursa de tipul i,1 i m,necesara pentru producerea unei unitati din produsul realizat n procesulde productie de tipul j, 1 j n, (n general, activitatea de tipul j ). Presupunemaici ca aij depinde numai de tipul resursei si de tipul procesului de productie si nude nivelul la care urmeaza sa se desfasoare aceasta activitate.

    Cu notatiile introduse, rezulta ca putem exprima cantitatea totala de resursa detipul i care va fi efectiv utilizata n procesele de productie:

    ai1x1+ ai2x2+ . . . + ainxn.

    Cum nu putem consuma resursa de tipuli mai mult decat cantitatea disponibilabi, rezulta ca trebuie satisfacute conditiile:

    nj=1

    aijxj bi, 1 i m. (1.1)

    3

  • 8/10/2019 Criptografie.pdf

    12/318

    4 PROGRAMARE LINIAR A

    Deoarecexj reprezinta nivelul la care se desfasoara activitatea de tipul j, rezulta

    ca trebuie sa fie de asemenea satisfacute conditiile:

    xj 0, 1 j n. (1.2)Inegalitatile 1.1 sunt numite restrictiileproblemei, iar 1.2 sunt numite conditiile

    de nenegativitateale problemei. Sistemul de inegalitati liniare poate avea o infinitatede solutii, o solutie unica sau nici o solutie (sistem incompatibil). Cazul cel maifrecvent pentru problemele practice corect puse este cazul n care sistemul 1.1, 1.2 areo infinitate de solutii. Prin urmare este posibil sa organizam procesele de productiepentru fabricarea sortimentelor de tipul j, 1 j n, ntr-o infinitate de moduri,respectand conditiile 1.1 de folosire a resurselor limitate.

    Adoptarea unei variante de plan se face pe baza unor criterii economice, cum ar

    fi: venitul realizat, beneficiul realizat, cheltuielile de productie, productia fizica, con-sumurile de materii prime si materiale, consumurile de energie etc. Vom presupunen cele ce urmeaza ca putem formula un singur criteriu pe baza caruia adoptamdecizia. Mai mult, vom presupune ca acest criteriu este reprezentat din punct devedere matematic de o functie liniara. Un exemplu de astfel de criteriu se obtine nmodul urmator. Daca notam prin cj beneficiul unitar adus de activitatea de tipul

    j, 1 j n, atunci este clar ca beneficiul total este:n

    j=1

    cjxj. (1.3)

    Problema care se pune este de a afla solutiile sistemului de inegalitati liniare1.1, 1.2 care asigura obtinerea valorii maxime pentru beneficiul total 1.3. Cu altecuvinte, din punct de vedere matematic se cere rezolvarea problemei:

    sup

    nj=1

    cjxj

    nj=1

    aijxj bi, 1 i m,xj 0, 1 j n,

    care este numitaproblema de programare liniarasau program liniar. Functia liniarace se doreste maximizata se numeste functie obiectivsau functia criteriusau, nca,

    functia de eficient aa problemei.Problema mentionata poate fi rezolvata cu ajutorul algoritmului simplex sau

    simplex dual. Acesta este prezentat pe larg n literatura de specialitate (Zidaroiu). Oserie de produse soft ca MATLABsauMAPLEau rutine specializate de rezolvarea problemelor de optimizare cu a jutorul acestor metode. Din acest motiv, omitemprezentarea rezolvarii complete a problemelor prin aceste metode.

  • 8/10/2019 Criptografie.pdf

    13/318

    FORME ALE PROBLEMELOR DE PROGRAMARE LINIAR A 5

    1.2. Forme ale problemelor de programare liniara

    Forma standarda unei probleme de programare liniara este:

    min(max)cxAx= bx 0

    Remarcam ca o problema de maxim se poate transforma ntr-o problema de minimprin folosirea formulei max(f) = min(f).

    Forma canonicaa unei probleme de programare liniara este:

    min cxAx

    b

    x 0sau

    max cxAx bx 0

    Sintaxa MAPLE de scriere a formei canonice pentru problema de maxim este:

    > standardize(multime de restrictii);

    sau> convert(multime de restrictii, stdle);

    O restrictie a unei probleme de programare liniara este numitaconcordantadacaeste o inegalitate de tipul pentru problema de minim si o inegalitate de tipulpentru problema de maxim.

    Forma mixtaa unei probleme de programare liniara contine restrictii si sub formade ecuatii.

    Deoarece prin operatii matematice orice problema de programare liniara se poateaduce n forma canonica a problemei, pentru cazul de minim vom lucra numai cuastfel de probleme, adica cu probleme n forma canonica.

    Definitia 1.2.1. Fie problema de programare liniara n forma standard atuncimultimea programeloreste definita ca:

    P = {x Rn|Ax= b, x 0}.Un punct de minim global al functiei obiectiv z =c

    x pe multimea programelorP este numit solutie optima, iar multimea programelor optime ale problemei va finotata cu:

    P= {x P| minxP

    c

    x= c

    x}.

  • 8/10/2019 Criptografie.pdf

    14/318

    6 PROGRAMARE LINIAR A

    Definim solutia de baza a sistemului Ax= b ca o solutiex

    Rn careia compo-

    nentelor sale nenule i corespund coloane liniar independente. Daca B este o bazaformata cu coloanele aj1, . . . , ajm ale matricei A atunci sistemul de ecuatiiAx = bse poate scrie n forma explicita:

    xB =B1b B1RxR

    n care R este matricea obtinuta din A prin eliminarea coloanelorj1, . . . , jm.Notand:

    B1b=xB, B1aj =yBj , 1 j n,rezulta ca:

    xB =xB

    jRyBj xj

    sauxBi =x

    Bi

    jR

    yBij xj, i B

    undeB= {j1, . . . , jm} siR = {1, . . . , n} B. Solutia de baza corespunzatoare bazeiBestexB =x

    BsixR =0.Este clar ca aceasta solutie de baza este un program daca

    este ndeplinita conditia:B1b 0.

    O bazaB care verifica inegalitatea de mai sus se numeste baza primal admisibila.In problemele practice o astfel de baza se determina prin metoda bazei artificiale.De foarte multe ori nsa, aceasta este disponibila direct, baza primal admisibila fiind

    matricea unitate.Avem urmatoarea teorema numita teorema fundamentala a programarii liniare.

    Teorema 1.2.1. i) Daca problema de programare liniara:

    min(max)cxAx= bx 0

    are un program optim, atunci ea are un program de baza.ii) Daca problema de mai sus are un program optim, atunci ea are un program

    optim de baza.

    Algoritmul fundamental pentru rezolvarea problemelor de programare liniaramentionate se numeste algoritmul simplex primalsi a fost elaborat deGeorge Dantzign anul 1951. Algoritmul este descris n orice carte fundamentala de programareliniara si este implementat n majoritatea softurilor matematice de prelucrare dedate.

  • 8/10/2019 Criptografie.pdf

    15/318

    ALGORITMUL SIMPLEX (DANTZIG) 7

    1.3. Algoritmul simplex (Dantzig)

    Pentru rezolvarea problemelor de programare liniara s-a impus algoritmul simplexdatorat lui G.B. Dantzig (1951). Aceasta metoda ne permite sa exploram n modsistematic multimea programelor de baza a unei probleme de programare liniaran forma standard prin trecerea de la un program de baza la un program de bazavecin, care este cel put in la fel de bun ca cel precedent. Metoda furnizeaza, deasemenea, criterii pentru punerea n evidenta a situatiei cand problema are optiminfinit precum si a cazului n care multimea programelor este vida.

    PASUL 0. Se pune problema de optimizat n forma standard:

    infcTx

    Ax= b,x 0.

    (Daca problema are restrictii de forma unor inegalitati, atunci se transforma maintai toate inegalitatile n inegalitati de tipul ; scazandu-se variabilele artificialey,problema de maxim se va transforma n problema de minim etc.). Aeste o matricecu m linii si n coloane pentru care avem rang(A) =m < n. Vom nota cu z functiaobiectiv adica z = cTx.

    PASUL 1. Se determina o baza B primal admisibila (fie este disponibila di-rect fie se determina cu ajutorul bazei artificiale prin metoda celor doua faze) si secalculeaza:

    xB=B1b,zB=cTBx

    B,

    yBj =B1aj, 1 j n,

    zBj cj , 1 j n.

    Aceste valori se trec n tabelul simplex (tabelul 1.1) dupa care trecem la pasulurmator.

    Vom nota cuB multimea indicilor j care determina matricea B si prin R ={1, . . . , n} B. Tabelul simplex initial are forma:

    TABELUL 1.1

    c1 . . . cj . . . cnV.B. V.V.B. x1 . . . xj . . . xn

    cB xB xB

    yB1 . . . yBj . . . y

    Bn

    z zB zB1 c1 . . . zBj cj . . . zBn cn

  • 8/10/2019 Criptografie.pdf

    16/318

    8 PROGRAMARE LINIAR A

    PASUL 2. DacazBj

    cj

    0

    j

    R,ne oprim (STOP):x

    Beste program optim.

    In caz contrar se determina multimea (nevida):

    R+= {j R|zBj cj >0}

    si se trece la pasul urmator.

    PASUL 3. Daca existaj R+pentru care yBj 0 ne oprim (STOP): problemaare optim infinit. In caz contrar, determinamk R+ cu criteriul de intrare n baza:

    maxj

    (zBj cj) =zBk ck

    si r

    B+=

    {i

    B|yBik > 0

    }cu criteriul de iesire din baza:

    miniB+

    (xBiyBik

    ) = xBryBrk

    ElementulyBrk se numeste pivot. Se trece la pasul urmator.

    PASUL 4. Se considera bazaB obtinuta din B prin nlocuirea coloanei ar cu

    coloanaak, si se calculeaza valorile (prin formula de schimbare a bazei adica regula de

    transformare a tabelului simplex)x

    B, z

    B, y

    Bj , z

    Bjcj si se trece la Pasul 2 nlocuind

    peste tot baza B cu bazaB.

    Calculele pot fi simplificate prin folosirea regulilor de transformare a tabelului

    simplex:i) elementele situate pe linia pivotului se mpart la pivot;ii) elementele situate pe coloana pivotului devin zero, cu except ia pivotului care

    devine 1;iii) celelalte elemente se transforma dupa regula dreptunghiului: daca ne ima-

    ginam dreptunghiul a carui diagonala este determinata de elementulyBij care trebuie

    transformat si pivotul yBrk , atunci noua valoareyB

    ij se obtine mpartind la pivot

    diferenta dintre produsul elementelor yBij yBrk situate pe diagonala considerata mai

    sus si produsul yBrjyBik situat pe cealalta diagonala a dreptunghiului.

    Observatii. i) Daca la sfarsitul algoritmului zBj

    cj < 0

    j

    Ratunci solutia

    problemei este unica.ii) Este posibil ca n cadrul algoritmului simplex sa apara fenomenul de ciclare

    (prin trecerea de la o baza la alta sa ajung ntr-o baza deja procesata). Exista maimulte tehnici de evitare a acestui fenomen asupra carora nu ne vom opri nsa.

    iii) Se poate da si o interpretare geometrica a solut iilor unei probleme de progra-mare liniara n cazul bidimensional. Domeniul de admisibilitate poate fi:

  • 8/10/2019 Criptografie.pdf

    17/318

    DUALA UNEI PROBLEME DE PROGRAMARE LINIAR A 9

    -un poligon convex, iar cel putinunul dintre varfurile sale este solutiea problemei

    de optimizare. Se poate ntampla ca solutia sa fie o latura a poligonului convex cedetermina domeniul de definitie, n acest caz avemmai multe solutii;

    -un domeniu nemarginit, caz n care problema areoptim infinit;

    -multimea vida, caz n care problema de optimizare nu are solutie.

    1.4. Duala unei probleme de programare liniara

    Avand o problema de programare liniara, problema construita dupa urmatoarelereguli se numeste problema duala:

    a) termenii liberi din problema primala devin coeficienti ai functiei obiectiv n

    problema duala;b) coeficientii functiei obiectiv din problema primala devin termeni liberi n prob-lema duala;

    c) o problema de maximizare (minimizare) devine o problema de minimizare(maximizare);

    d) matricea coeficientilor sistemului de restrictii din problema duala este trans-pusa matricei coeficientilor sistemului de restrictii primale;

    e) variabile duale (primale) asociate unor restrictii primale (duale) concordantesunt supuse conditiilor de nenegativitate;

    f) variabile primale (duale) asociate unor restrictii duale (primale) care suntrestrictii neconcordante sunt supuse conditiei de nepozitivitate;

    g) variabile duale (primale) asociate unor restrictii primale (duale) care suntecuatii nu sunt supuse nici unei conditii privind semnul.

    Remarcam ca duala unei probleme n forma canonica este tot n forma canonica.

    Enuntam n continuare teorema fundamentala a dualitatii:

    Teorema 1.4.1. Fiind dat cuplul de probleme duale:

    min cxAx bx 0

    si

    max byAy cy 0

    una si numai una din afirmatiile urmatoare este adevarat a:

    a) ambele probleme au programe. In acest caz, ambele probleme au programeoptime si valorile optime ale functiilor obiectiv coincid;

  • 8/10/2019 Criptografie.pdf

    18/318

    10 PROGRAMARE LINIAR A

    b) una din probleme are programe, iar cealalta nu are. In acest caz, problema

    care nu are programe are optim infinit;c) nici una din probleme nu are programe.Exista un algoritm numitalgoritmul simplex dualcare rezolva problema primala

    prin intermediul problemei duale. Acelasi lucru putem sa-l afirmam si despre algo-ritmul simplex primal care rezolva problema primala, dupa care pune n evidentasolutia problemei duale. Programul MAPLE are o procedura de constructie a dualei.Sintaxa acesteia este:

    > dual(functia liniara, multime de restrictii, nume variabila duala);

    1.5. Problema de transport

    Sa presupunem ca exista m centre de aprovizionare (depozite) si n centre deconsum (beneficiari). Un produs omogen este depozitat n cantitatileai, 1 i m,n centrele de aprovizionare si este cerut n cantitatile bj, 1 j n, la beneficiari.Vom presupune ca sunt ndeplinite conditiile:

    ai 0, 1 i m, bj 0, 1 j n,a1+ . . . + am= b1+ . . . + bn.

    (1.4)

    Cu alte cuvinte, presupunem ca disponibilitatile si cererile sunt nenegative, iardisponibilitatea egaleaza cererea totala. O astfel de problema de transport se numes-te problema de transport echilibrata.

    Problema consta n organizarea transportului de la depozite la beneficiari astfelncat sa se obtina cheltuieli minime de transport.

    Sa notam cu xij cantitatea (necunoscuta) care urmeaza sa fie transportata de ladepozitul i la beneficiarul j. Cantitatea ce se transporta de la depozitul i la totibeneficiarii trebuie sa egaleze disponibilitatea de la depozitul respectiv, adica:

    nj=1

    xij =ai, 1 i m. (1.5)

    Analog, cererea totala la beneficiarul j trebuie sa fie egala cu cantitatea care setransporta de la toate depozitele la acest beneficiar, adica:

    mi=1

    xij =bj, 1 j n. (1.6)

    Evident, cantitatile transportate sunt nenegative, adica:

    xij 0, 1 i m, 1 j n. (1.7)

  • 8/10/2019 Criptografie.pdf

    19/318

    APLICATII 11

    Sistemul de inegalitati liniare 1.5-1.7 are n conditiile 1.4 o infinitate de solutii.

    Ca si n cazul precedent, pentru adoptarea unui plan de transport vom introduceun nou criteriu economic. Sa notam pentru aceasta prin cij costul transportuluiunei unitati din produsul considerat de la depozitul i la beneficiarulj ; evident, si nacest caz presupunem ca acest cost unitar de transport nu depinde de cantitatea ceurmeaza sa fie transportata dini n j . Este clar ca cheltuielile de transport sunt:

    mi=1

    nj=1

    cijxij.

    Problema consta n determinarea solutiilor sistemului de ecuatii si inegalitati1.5-1.7 pentru care costul total de transport este minim, adica:

    infm

    i=1

    nj=1

    cijxij,

    nj=1

    xij =ai, 1 i m,m

    i=1xij =bj, 1 j n,

    xij 0, 1 i m, 1 j n.

    1.6. Aplicatii

    Exercitiul 1.6.1. Sa se scrie duala problemei de programare liniara:

    min(2x1+ 3x2+ x3),x1+ x2+ 3x4 3,2x2+ 5x3+ 4x4 = 5,x1+ x3 2,x1, x2 0, x3 arbitrar, x4 0.

    Gasiti solutia optima a problemei primale.

    Raspuns: Respectand regulile de formare a problemei duale obtinem:

    max(3u1+ 5u2 2u3),u1+ u3 2,u1+ 2u2 3,5u2+ u3= 1,3u1+ 4u2 0,u1 0, u2 arbitrar, u3 0.

  • 8/10/2019 Criptografie.pdf

    20/318

    12 PROGRAMARE LINIAR A

    Solutia problemei primale se poate gasi cu metoda simplex primal sau dual. Sin-

    taxa MAPLEpentru rezolvarea acestei probleme este:> with(simplex) :> obiectiv:= 2 x1+ 3 x2+ x3;> restrictii:= {x1 + x2 + 3 x4>= 3, 2 x2 + 5x3 + 4 x4= 5, x1 + x3 minimize(obiectiv, restrictii union {x1>= 0, x2>= 0, x4

  • 8/10/2019 Criptografie.pdf

    21/318

    APLICATII 13

    Exercitiul 1.6.5. Sa se minimizeze expresia 2x1+ 3x2 cu sistemul de restrictii:

    x1 x2+ x3= 1,x1+ x2 x4= 1,x1 2x2+ x5= 1,2x1+ x3 x4= 2,xi 0, i= 1, . . . , 5.

    Raspuns. In urma aplicarii algoritmului simplex primal obtinem solutia x1 =1, x2 = 0, x

    3= 0, x

    4 = 0, x

    5= 0, iar valoarea minima a functiei obiectiv z

    = 2.

    Exercitiul 1.6.6. Rezolvati problema urmatoare:

    min(x1+ 6x2),2x1+ x2 3,x1+ 3x2 4,x1, x2 0.

    Raspuns. Vom rezolva problema grafic. Se va reprezenta ntr-un sistem de axede coordonate domeniul de admisibilitate. Pe acelasi grafic reprezentam si ecuatiax1+ 6x2= 0. Obtinem figura 1.1.

    Figura 1.1: Domeniul de admisibilitate si functia obiectiv.

    Vom duce drepte paralele cu x2 =16

    x1 pana se intersecteaza cu domeniul

  • 8/10/2019 Criptografie.pdf

    22/318

    14 PROGRAMARE LINIAR A

    de admisibilitate. Prima dreapta care realizeaza aceasta intersectie ne furnizeaza

    minimul functiei obiectiv zmin= 4.Solutia optima este x1= 4, x

    2= 0.

    Exercitiul 1.6.7. Gasiti minimul functiei 2x1+ 3x2+ x3 cu restrictiile:

    x1+ x2+ 3x4 3,2x2+ 5x3+ 4x4= 5,x1+ x3 2,x1, x2, x3, x4 {0, 1}.

    Exercitiul 1.6.8. Sa se rezolve problema de programare liniara n forma stan-dard:

    min(2x1+ 3x2),x1 x2+ x3= 1,x1+ x2 x4= 1,x1 2x2+ x5= 1,2x1+ x3 x4= 2,xi 0, 1 i 5.

    Raspuns. Pentru rezolvarea problemei prin metoda simplex primal vom rezolvamai ntai problema:

    min(x6+ x7+ x8),

    x1 x2+ x3+ x6 = 1,x1+ x2 x4+ x7 = 1,x1 2x2+ x5= 1,2x1+ x3 x4+ x8= 2,xi 0, 1 i 8.

    (s-au introdus variabilele ecartx6, x7, x8 n restrictiile problemei initiale, cu exceptiacelei de a treia restrictie, unde variabia x5 este asociata unui vector unitar al ma-tricei coeficientilor). Baza primal admisibila este formata din coloanele matricei Acorespunzatoare variabilelor x6, x7, x5, x8. Tabelul simplex asociat 1.2 este:

    TABELUL 1.2

    V.B. V.V.B. x1 x2 x3 x4 x5 x6 x7 x8x6 1 1 1 1 0 0 1 0 0x7 1 1 1 0 1 0 0 1 0x5 1 1 2 0 0 1 0 0 0x8 2 2 0 1 1 0 0 0 1

    4 4 0 2 2 0 0 0 0

  • 8/10/2019 Criptografie.pdf

    23/318

    APLICATII 15

    Vectorul care intra n baza este evident a1 conform criteriului de intrare n

    baza. Dupa cum ne indica criteriul de iesire din baza, oricare dintre variabilelede baza poate parasi baza: pentru a face o alegere, vom elimina din baza vectorulcoespunzator variabilei x6, adica a

    6. Obtinem deci tabelul simplex 1.3:

    TABELUL 1.3

    V.B. V.V.B. x1 x2 x3 x4 x5 x6 x7 x8x1 1 1 1 1 0 0 1 0 0x7 0 0 2 1 1 0 1 1 0x5 0 0 1 1 0 1 1 0 0x8 0 0 2 1 1 0 2 0 1

    0 0 4

    2

    2 0

    4 0 0

    Se observa ca tabelul simplex 1.3 obtinut ne arata ca valoarea functiei obiectiveste nula. Toate variabilele artificiale sunt nule, darx7 si x8 sunt nca variabile debaza. Se vede usor ca variabila x7 poate fi eliminata din baza si nlocuita cu x2,deoarece pivotul yB72 = 2 este nenul. Dupa calcule se obtine tabelul simplex 1.4:

    TABELUL 1.4

    V.B. V.V.B. x1 x2 x3 x4 x5 x6 x7 x8x1 1 1 0 1/2 1/2 0 1/2 1/2 0x2 0 0 1 1/2 1/2 0 1/2 1/2 0x5 0 0 0 3/2 1/2 1 1/2 1/2 0x8 0 0 0 0 0 0 1 1 1

    0 0 0 0 0 0 1 1 0

    Variabila artificialax8 nu mai poate fi eliminata dintre variabilele de baza, deoa-rece toti coeficientii y8j, 1 j 5, sunt egali cu zero. Acest fapt ne arata caecuatia a patra din problema initiala este o consecinta a celorlalte patru ecuatii(ecuatia a patra este suma primelor doua ecuatii, situatie ce putea fi observata dela nceput). In acest caz, ecuatia a patra poate fi neglijata si deci linia a patraa tabelului simplex poate fi eliminata; partea ramasa a tabelului simplex nu maicontine variabile artificiale de baza si, ca urmare, prima faza este terminata.

    Vom trece acum la faza a doua a metodei, adic a la rezolvarea problemei initiale,

    folosind drept baza initiala ultima baza obtinuta din tabelul 1.4, dupa eliminareaultimei linii.

  • 8/10/2019 Criptografie.pdf

    24/318

    16 PROGRAMARE LINIAR A

    Tabelul simplex corespunzator este tabelul 1.5:

    TABELUL 1.5

    V.B. V.V.B. x1 x2 x3 x4 x5x1 1 1 0 1/2 1/2 0x2 0 0 1 1/2 1/2 0x5 0 0 0 3/2 1/2 1z 2 0 0 1/2 5/2 0

    Deoarece zj cj 0 pentru totij, 1j 5, rezulta ca am obtinut programuloptim de baza (degenerat): x1 = 1, x

    2 = 0, x

    3 = 0, x

    4 = 0, x

    5 = 0, iar valoarea

    optima a functiei obiectiv este z= 2.

  • 8/10/2019 Criptografie.pdf

    25/318

    Capitolul 2

    PROGRAMARE DINAMICA

    2.1. Forma unei probleme de optimizare secventiala

    Programarea dinamica este o metoda de rezolvare a unei clase de probleme,al caror model matematic prezinta caracteristicile unui sistem secvential. Intr-oastfel de problema, la fiecare faza t T, cu T R, se alege o solutie (decizie,strategie, politica) xt dintr-o multime de solutii admisibile Xt, Xt Mnt , undeM R, iar nt N, putandu-se de fiecare data masura eficienta (sau utilitatea)ut a solutiei alese. Problema de optimizareconsta n determinarea solutiei globalex = (xt)tT care optimizeaza o functie de eficient a globalaf care este definita cuajutorul functiilor de eficient a partiala ut, t

    T. Evolutia sistemului este descrisa

    si de familia parametrilor de stare (st)tT a caror lege de variatie este cunoscutasi dependenta de deciziile alese (daca legea este determinista avem o problema deprogramare dinamica determinista, iar daca legea este probabilista avem o problemade programare stochastica). Sa notam cu St multimea starilor la momentul t.

    Definitia 2.1.1. (Caracteristicile unui sistem secvential.) O functies : T Stcus(t) =st t T, st St se numeste traiectoria, corespunzatoare deciziei globalex = (xt)tT, a sistemului secvential. Aceasta descrie starea sistemului de-a lungulntregii perioade de timp T, n conditiile alegerii deciziei x.

    Avem n general:

    xt = xt(st)uti :Sti1 Xti R, uti =uti(sti , xti)ti :Sti1 Xti Sti , ti =ti(sti1, xti).

    Traiectoria s depinde de starea initialast0 =s0 St0, t0 fiind momentul initial.

    17

  • 8/10/2019 Criptografie.pdf

    26/318

    18 PROGRAMARE DINAMIC A

    Definitia 2.1.2. Se numeste traiectorie optima traiectoria s corespunzatoare

    unei decizii optime x care optimizeaza functia obiectiv.

    Tehnica programarii dinamice consta n determinarea solutiilor optime globale sia valorii optime a functiei obiectiv, prin rezolvarea secventiala a unor probleme deoptimizare asociate problemei initiale, dar mult mai simple decat aceasta deoareceoptimul se calculeaza dupa o singura variabila. Bellmana formulat n 1957 prin-cipiul optimalitatii: o conditie necesara ca o traiectorie s sa fie optima este cat1, t2 T , t1 < t2, s|[t1,t2] sa fie traiectorie optima a sistemului restrictionatla intervalul [t1, t2], candst1 =s

    (t1) adicaorice substrategie a unei strategii optimeeste ea ns asi optim a.

    Pentru a fixa ideile, n cele ce urmeaza, vom presupune ca avem de-a face cu o

    problema de minimizare, toate consideratiile fiind valabile fara nici un fel de restrictiisi pentru problema de maxim. Forma generala a unei probleme de optimizare (mini-mizare) ce urmeaza a fi rezolvata prin aceasta tehnica este urmatoarea:

    min{f(u1(s0, x1), . . . , un(sn1, xn))|x1 X1(s0), . . . , xn Xn(sn1)}si= i(si1, xi), i= 1, nsi Si, i= 1, n.

    Problema de optimizare astfel definita se numeste efectiv decompozabila, adicavectorul de stare si, la iesirea din faza i, nu depinde decat de vectorul de stare si1si de decizia xi, luata n faza i. Functiile ui suntfunctiile de eficient ala faza i cand

    se ia decizia xi stiind ca vectorul de stare este si.Toate elementele descriptive ale unei probleme de optimizare sunt determinatede o decizie aleasa si de starea initiala s0:

    s1= 1(s0, x1) =1(s0, x1), u1(s0, x1) =

    u1 (s0, x1), x1 X1(s0) =

    X1(s0)

    s2 = 2(1(s0, x1), x2) =2 (s0, x1, x2), u2(s1, x2),

    u2(1(s0, x1), x2) =

    u2(s0, x1, x2), x2 X2(1(s0, x1)) =X2(s0, x1)

    ...........................................

    si = i(i1(s0, x1, x2, . . . , xi1), xi) =i(s0, x1, x2, . . . , xi),

    ui(si1, xi) = ui(i1(s0, x1, x2, . . . , u xi1), xi) =

    ui(s0, x1, . . . , xi),

    xi Xi(i1(s0, x1, x2, . . . , xi1))=

    Xi(s0, x1, . . . , xi1) pentrui = 2, n.

  • 8/10/2019 Criptografie.pdf

    27/318

    TEOREMA DE OPTIM 19

    Functia obiectiv se scrie:

    f(u1(s0, x1),

    u2 (s0, x1, x2), . . . ,

    un(s0, x1, . . . , xn)) =

    f (s0, x1, . . . , xn).

    Definitia 2.1.3. O solutie (decizie) x(s0) = (x1(s0), . . . , xn(s0)) admisibila se

    spune ca este optima relativ la starea initiala s0 pentru o problema de optimizaresub forma secventiala, daca:

    f (s0, x

    1(s0), . . . , x

    n(s0)) = min{

    f (s0, x

    1, . . . , x

    n)|x1

    X1(s0), . . . ,

    . . . , xiXi(s0, x1, . . . , xi1), i= 1, n}.

    Rezolvarea unei probleme de optimizare pusa n forma secventiala consta ngasirea unei solutii x(s0) = (x1(s0), . . . , x

    n(s0)), n functie de starea initiala s0,

    astfel ncat functia de eficienta globala f sa fie optima.

    2.2. Teorema de optim

    Pentru a formula teorema de optim trebuie sa definim mai ntai notiunea defunctie decompozabila. In esenta, acest lucru nseamna ca problema se poate de-scompune ntr-un numar de faze.

    Definitia 2.2.1. O functie f : D = S X Y R, unde X, Y si S suntmultimi nevide se numeste decompozabila daca exista functiileu, v: D R,u fiindconstanta n raport cu variabila y Y(existau : SX Rastfel ncatu (s,x,y) =u(s, x), (s,x,y) D) si o functie F :u(D)v(D) R, F(, .) monoton crescatoarepentru fiecare u(D), astfel ncat f(s,x,y) =F(u(s, x), v(s,x,y))(s,x,y) D.

    Teorema 2.2.1. ( Teorema de optim). DacaFeste decompozabila si dac a existapentru orices S:

    minx,y f(s,x,y); minx F(u(s, x), miny v(s,x,y));minx miny f(s,x,y),

    atunci pentru orices S avem:

    minx,y

    f(s,x,y) = minx

    F(u(s, x), miny

    v(s,x,y)).

  • 8/10/2019 Criptografie.pdf

    28/318

    20 PROGRAMARE DINAMIC A

    2.3. Programare dinamica regresiva

    2.3.1. Ecuatiile programarii dinamice regresive

    Pentru a pune sub forma unui algoritm problema secventiala trebuie sa existe oanume legatura de tip recursiv ntre functiile de eficienta trunchiate ale procesuluila fazele i:

    fni+1(ui(si1, xi), . . . , un(sn1, xn)) ==Fni+1(ui(si1, xi), fni(ui+1(si, xi+1), . . . , un(sn1, xn)),

    unde prin fni+1 s-a notat functia de eficient a asociata procesului de decizie trun-chiat la fazele i, i+ 1, . . . , n pentru i = 1, 2, . . . , n 1, cu f1(un) = un si fn = f.Aceasta proprietate se numeste proprietatea de decompozabilitatea functiei obiectiv.Ecuatia se rescrie:

    fni+1(si1, xi, . . . , xn) = Fni+1(ui(si1, xi),

    fni(i(si1, xi),

    xi+1, . . . , xn)),

    i= 1, n 1, si1 Si1, xi Xi(si1), xn Xn(sn1),

    cuf1=un si

    fn=

    f=f.

    Aplicam teorema de optim functiilorfn

    i+1 pentrui = 1, 2, . . . , n

    1 :

    min{fni+1(si1, xi, . . . , xn)|xi, . . . , xn} =

    = minxi

    Fni+1(ui(si1, xi), min{fni(i(si1, xi), xi+1, . . .

    . . . , xn)|xi+1, . . . , xn}).

    Notam cu gni+1(si1) = min{fni+1 (si1, xi, . . . , xn)|xi, . . . , xn}, valoarea opti-

    mului procesului de decizie trunchiat la fazele i, i + 1, . . . , n . Avem:

    gni(si1) =gni(i(si1, xi))

    si obtinem:

    gni+1(si1) = minxi

    Fni+1(ui(si1, xi), gni(i(si1, xi)), i= 1, n 1cu

    g1(sn1) = minxi

    un(sn1, xn).

    Aceste ecuatii se numesc ecuatiile programarii dinamice regresive.

  • 8/10/2019 Criptografie.pdf

    29/318

    PROGRAMARE DINAMIC A REGRESIV A 21

    2.3.2. Rezolvarea problemelor de programare regresiva

    Elementele prezentate n paragrafele precedente ne permit sa elaboram urmatorulalgoritm de rezolvare a problemelor de optimizare dinamice regresive.

    PASUL 0. Problema matematica se codifica sub forma unei probleme de pro-gramare liniara, punandu-se n evidenta functia obiectiv si sistemul de restrictiicorespunzator.

    PASUL 1. Se pune problema sub forma unui proces secvential de decizie urma-rindu-se urmatoarele elemente:

    i) forma functionala a functiilor de transfer i: Si1 Xi Si:si= i(si1, xi), i= 1, n.

    ii) spatiul starilor posibile: S0, S1, . . . , S n;iii) spatiul deciziilor: Xi(si1);iv) functiile partiale de eficientaui(si1, xi), i= 1, 2, . . . , n;

    v) functiile obiectiv ale proceselor trunchiate la fazele i, i+1, . . . , n:fi(xi, . . . , xn)

    pentrui = 1, 2, . . . , n.PASUL 2. Se rezolva problema din faza n, adica se calculeaza:

    min{f1(sn1, xn)|xn Xn(sn1)} = min{un(sn1, xn)|xn Xn(sn1)} =g1(sn1),

    unde sn1 este parametru.

    Deci pentrusn1 Sn1 se determina xn1(sn1) Xn(sn1), astfel ncat:g1(sn1) =un(sn1, xn1(sn1)).

    Se atribuie contorului i valoarea n1. Acest contor are semnificatia fazei i aprocesului secvential.

    PASUL 3. Se rezolva problema din faza i a carei necunoscuta este xi, iar si1este parametru. Deci pentrusi1 Si1, se determina valorile xi (si1) Xi(si1)pentru care:

    gni+1(si1) =Fni+1(ui(si1, xi (si1)), gni(i(si1, xi (si1))))

    = min{fn

    i+1(si

    1, xi, . . . , xn)

    |xi

    Xi(si

    1)

    }.

    actualizeaza i := i + 1.PASUL 4. Daca i >1 goto PASUL 3.Se determina, pentrus0 S0, valoarea x1(s0) pentru care avem:f (s0, x

    1(s0), . . . , x

    n(s0)) = min{

    fn(s0, x1, . . . , xn)|x1, . . . , xn} =gn(s0),

  • 8/10/2019 Criptografie.pdf

    30/318

    22 PROGRAMARE DINAMIC A

    unde x2(s0) =x2(1(s0, x

    1(s0)) etc.

    PASUL 5. Se optimizeaza pe multimea vectorilor initiali pentru a afla s0:f (s0, x

    1(s

    0), . . . , x

    n(s

    0)) = min

    s0S0gn(s0) =gn(s

    0),

    atins pentru starea initiala s0.PASUL 6. Se scrie solutia optima:

    x= (x1, . . . , xn)

    unde x1 = x1(s

    0), x

    2= x

    2(1(s0, x

    1(s0)) etc.

    2.3.3. Aplicatii

    Exercitiul 2.3.1. O unitate comerciala trebuie sa raspunda unei cereri de 25unitati dintr-un anumit tip de produs, cerere esalonata pe o perioada de 4 luni. Lanceputul fiecarei luni, unitatea se poate aproviziona cu orice cantitate din produsulrespectiv, la un pret ce variaza de la luna la luna, conform datelor din tabelul 2.1:

    TABELUL 2.1

    luna i 1 2 3 4

    cererea 5 7 5

    pret 12 10 9 10

    Sa se determine politica optima de reaprovizionare a unitatii cu produsul respec-tiv, astfel ncat toate cererile sa fie satisfacute, stiind ca n depozitul respectiv segasesc la nceputul primei luni 3 unitati de produs si ca nu pot fi pastrate n depozitmai mult de 9 unitati de produs, iar la sfarsitul ultimei luni toate produsele au fostvandute. Parametruleste un numar real strict pozitiv.

    Raspuns.PASUL 0. Deoarece cererea trebuie sa fie de 25 unitati avem: 5 + 7 + + 5 =

    = 25 deci = 8. Se codifica problema:Se noteaza cuxi numarul de unitati comandate la nceputul luniii si cusi stocul

    existent la sfarsitul lunii i. Functia de minimizat este:

    12x1+ 10x2+ 9x3+ 10x4,

    putem deci presupune ca = 1 avand grija ca la final sa nmultim valoarea optimaa functiei obiectiv cu .

  • 8/10/2019 Criptografie.pdf

    31/318

    PROGRAMARE DINAMIC A REGRESIV A 23

    Avem: 3 + x1+ x2+ x3+ x4= 25 sau x1+ x2+ x3+ x4= 22.

    3 + x1 9 si 3 + x1 5 0 deci x1 [2, 6],3 + x1 5 + x2 9 si 3 + x1 5 + x2 7 0 deci x1+ x2 [9, 11],3+x15+x27+x3 9 si 3+x15+x27+x38 0 decix1+x2+x3 [17, 18]3 + x1 5 + x2 7 + x3 8 + x4 9 (echivalent cu 5 9 inegalitate care spune

    ca dupa ce s-a efectuat comanda la nceputul lunii a 4-a mai este de satisfacut ocerere de 5 unitati de produs) si 3 + x1 5 + x2 7 + x3 8 + x4 5 = 0 (ecuatiece constituie o verificare partiala).

    Problema de minimizat devine:

    min(12x1+ 10x2+ 9x3+ 10x4)2 x1 6

    9 x1+ x2 114 x4 5x1+ x2+ x3+ x4= 22.

    PASUL 1. Se determina spatiul starilorSi, i= 0, 4:s0= 3 S0= {3},s1= s0+ x1 5 =x1 2 S1= [0, 4],s2= s1+ x2 7 =x1+ x2 9 S2 = [0, 2],s3= s2+ x3 8 =x1+ x2+ x3 17 S3= [0, 1],s4= s3+ x4 5 =x1+ x2+ x3+ x4 17 5 = 0 S4= {0}.Se determina spatiul deciziilor Xi(si1), i= 1, n:x1

    X1(s0) = [5

    s0, 9

    s0] = [2, 6],

    x2 X2(s1) = [7 s1, 9 s1],x3 X3(s2) = [8 s2, 9 s2],x4 X4(s3) = {5 s3}.Functiile de transfer: i(si1, xi), i= 1, n:1(s0, x1) =s0+ x1 5,2(s1, x2) =s1+ x2 7,3(s2, x3) =s2+ x3 8,4(s3, x4) =s3+ x4 5 = 0.Functiile partiale de eficienta sunt:u1(s0, x1) = 12x1,u2

    (s1

    , x2

    ) = 10x2

    ,u3(s2, x3) = 9x3,u4(s3, x4) = 10x4, si functiile de eficienta ale proceselor de decizie trunchiate la

    fazele{i , . . . , 4} (pentrui = 1, . . . , 4) sunt:f4= 12x1+ 10x2+ 9x3+ 10x4,f3= 10x2+ 9x3+ 10x4,

  • 8/10/2019 Criptografie.pdf

    32/318

    24 PROGRAMARE DINAMIC A

    f2= 9x3+ 10x4,f1= 10x4.PASUL 2. Se rezolva problema:

    min{f1(sn1, xn)|xn Xn(sn1)} = min{u4(s3, x4)|x4 X4(s3)} =

    = min{10x4|x4 {5 s3}} = 10(5 s3) = 50 10s3,minim atins pentru x4(s3) = 5 s3.PASUL 3/4. Se rezolva problema:

    min{f3|x3 X3(s2)} = min{9x3+ 50 10s3|x3 [8 s2, 9 s2]} =

    = min{9x3+ 50 10(s2+ x3 8)|x3 [8 s2, 9 s2]} == min{x3 10s2+ 130|x3 [8 s2, 9 s2]} = (9 s2) 10s2+ 130 == 121 9s2,minim atins pentru x3(s2) = 9 s2.Se rezolva problema:

    min{f2|x2 X2(s1)} = min{10x2+ 121 9s2|x2 [7 s1, 9 s1]} =

    = min{10x2+ 121 9(s1+ x2 7)|x2 [7 s1, 9 s1]} == min{x2 9s1+ 184|x2 [7 s1, 9 s1]} = 7 s1 9s1+ 184 = 10s1+ 191,

    minim atins pentru x2(s1) = 7 s1.Se rezolva problema:

    min{f1|x1 X1(s0)} = min{12x1+ 191 10s1|x1 [2, 6]} =

    = min{12x1+ 191 10(s0+ x1 5)|x1 [2, 6]} == min{2x1 10s0+ 241|x1 [2, 6]} = 243 10s0,

    minim atins pentru x1(s0) = 2, s

    0= 3.

    PASUL 5. Avem:s1= s

    0+ x

    1 5 = 0 deci x2(s1) = 7,

    s2= s1+ x

    2 7 = 0 deci x3(s2) = 9,

    s3= s2+ x

    3

    8 = 1 deci x4(s3) = 4.

    PASUL 6. Solutia optima x = (2, 7, 9, 4) iar traiectoria optima este s =(0, 0, 1, 0).

    Exercitiul 2.3.2. Un depozit trebuie sa raspunda unei cereri de marfa totale deunitati de produs de la m beneficiari (cererea fiecarui beneficiar este de i unitatide produs). Daca costul de aprovizionare si transport al unei unitati de produs la

  • 8/10/2019 Criptografie.pdf

    33/318

    PROGRAMARE DINAMIC A REGRESIV A 25

    beneficiarul i este i, iar depozitul dispune initial de unitati de produs si daca

    acesta nu poate detine n stoc mai mult de unitati de produs sa se determinepolitica optima de reaprovizionare cu produsul respectiv astfel ncat toate cererilesa fie satisfacute. La final mai exista n stoc unitati de produs.

    Indicatie. Se noteaza cuxi numarul de unitati de produs comandate la nceputullivrariii si cusi stocul existent dupa livrareai. Problema de programare ce trebuierezolvata este:

    minm

    i=1ixi

    m

    i=1 xi= + ,ji=1

    i j

    i=1xi

    j1i=1

    i+ j = 1, m,xi 0i= 1, m.

    unde =m

    i=1i. Se vor pune n evidenta functiile reciproce de transfer, functiile

    partiale de eficienta, functiile de eficienta ale proceselor trunchiate, spatiul starilorsi spat iile de decizie.

    Problema se va rezolva prin metoda programarii regresive n n faze.

    Exercitiul 2.3.3. Sa se gaseasca o planificare optima unei investitii de 5 mili-

    oane dolari pentru construirea a trei obiective cunoscand randamentele investitiilorpe obiective, asa cum sunt prezentate n tabelul 2.2.

    TABELUL 2.2

    Investitii Obiectiv 1 Obiectiv 2 Obiectiv 3

    0 0 0 0

    1 0, 20 0, 23 0, 19

    2 0, 35 0, 34 0, 37

    3 0, 51 0, 50 0, 49

    4 0, 68 0, 63 0, 65

    5 0, 75 0, 79 0, 80

    Raspuns. Modelul matematic al problemei este:

    max(r1(x1) + r2(x2) + r3(x3))x1+ x2+ x3= 5,xi {0, 1, 2, 3, 4, 5}, i= 1, 2, 3, 4, 5.

  • 8/10/2019 Criptografie.pdf

    34/318

    26 PROGRAMARE DINAMIC A

    In vederea rezolvarii problemei cu ajutorul programarii dinamice, se pune mai

    ntai problema sub forma unui proces secvential de decizie. Pentru realizarea acestuiscop, se noteaza cu si, i = 1, 2, 3, suma investita n primul obiectiv, n primul si aldoilea, si respectiv suma investita n cele trei obiective. Avem: s0= 0, s1 = s0 + x1,s2= s1+ x2, s3= s2+ x3.

    Folosind aceste egalitati, obtinem cu ajutorul sistemului de restrictii, S0 ={0},S1= S2= {0, 1, 2, 3, 4, 5}, S3= {5}.

    X1(s0) = {0, 1, 2, 3, 4, 5}, X2(s1) = {0, . . . , 5 s1}, X3(s2) = {5 s2}.Remarcam ca avem urmatoarele functii de transfer:1(s0, x1) =s0+ x1, 2(s1, x2) =s1+ x2, 3(s2, x3) =s2+ x3.Functiile partiale de eficienta, precum si functiile de decizie ale proceselor de

    decizie trunchiate la fazele

    {i , . . . , 3

    }(pentrui = 1, . . . , 3) sunt urmatoarele:

    u1(s0, x1) =r1(x1), u2(s1, x2) =r2(x2), u3(s2, x3) =r3(x3),f3=r1(x1) + r2(x2) + r3(x3),

    f2=r2(x2) + r3(x3),

    f1=r3(x3).

    Se constata ca problema este decompozabila regresiv cuFi(, ) = +, undei= 2, 3. Se trece acum la rezolvarea problemelor de optim corespunz atoare fiecareifaze, folosind ecuatiile programarii regresive si obtinem:

    Faza 3. Avem:

    g1(s2) = max{r3(x3)|x3 X3(s2)} =r3(5 s2),obtinut pentru x3(s2) = 5 s2.

    Faza 2. Avem:

    g2(s1) = max{r2(x2) + g1(s1+ x2)|x2 X2(s1)}= max{r2(x2) + r3(5 s1 x2)|x2 X2(s1)}.

    Succesiv obtinem:g2(0) = max{0, 80;0, 88;0, 83;0, 87;0, 82;0, 79} = 0, 88 pentrux2(0) = 1;g2(1) = max{0, 65;0, 72;0, 71;0, 69;0, 63} = 0, 72 pentru x2(1) = 1;g2(2) = max{0, 49;0, 60;0, 53;0, 50} = 0, 60 pentrux2(2) = 1;g2(3) = max{0, 37;0, 42;0, 34} = 0, 42 pentru x2(3) = 1;g2(4) = max{0, 19;0, 23} = 0, 23 pentrux2(4) = 1;g2(5) = max{0} = 0 pentru x2(5) = 1.Faza 1. Avem:

    g3(s0) = max{r1(x1) + g2(s0+ x1)|x1 X1(s0)} == max{0, 88;0, 92;0, 95;0, 93;0, 91;0, 75} = 0, 95,

    obtinut pentru x1(s0) = 2,undes

    0= s0 = 0.Avem n continuare, s

    1 = =s

    0+x

    1= 2,

    de undex2(s1) = 1;s

    2 = s

    1+x

    2= 3,de undex

    3(s

    2) = = 5s2 = 2;s3= s2+s3= 5.

  • 8/10/2019 Criptografie.pdf

    35/318

    PROGRAMARE DINAMIC A PROGRESIV A 27

    In concluzie, am obtinut: max(r1(x1) + r2(x2) + r3(x3)) = 0, 95, pentru solutia

    optima unica x = (x1, x2, x3) = (2, 1, 2), iar traiectoria optima a procesului estes= (2, 3, 5).

    2.4. Programare dinamica progresiva

    2.4.1. Ecuatiile programarii dinamice progresive

    Procedura iterativa descrisa n paragraful anterior este valabila fara nici o res-trictie asupra starii initiale sau finale. Aceste doua stari au n mod evident, roluriimportante, asa cum s-a vazut pentru starea s0. In timp ce s1, . . . , sn1 sunt staride intrare si iesire, s0 este numai stare de intrare pentru faza 1 a problemei, iar sn

    numai stare de iesire pentru faza n a problemei.Din punct de vedere matematic singurul lucru care deosebestes0de sneste sensul

    de parcurs adoptat pentru procedura de rezolvare, sens care a fost impus de ecuat iile:

    si= i(si1, xi), i= 1, n,

    ce conduc la o procedura de rezolvare de la ultima faza spre prima faza a problemei,altfel spus, am mers spre trecut. In anumite probleme se pot pune restrictii asuprastarilor s0 si/sausn.

    Daca s0 este impusa, optimizarea din ultima faza a problemei conduce la unsingur gn(s0) deoarece s0 nu mai este parametru, iar n faza 1 luam direct s0 =s

    0.

    Deci schema propusa este viabila.Daca sn este impusa, adica sn = s

    n cu s

    n dat, trebuie ca starea initiala s0 si

    solutia optimax(s0) sa satisfaca relatia:

    sn = n(n1(. . . 2(1(s0, x1(s0)), x

    2(s0)), . . . , x

    n(s0)).

    Aceasta relatie nu poate fi verificata decat la sfarsitul procedurii, lucru care sporestetimpul de procesare. Metoda de reducere la cazul precedent este mult mai eficace,daca vom reusi sa schimbam sensul n care au fost facute calculele adica sa mergemspre viitor prin folosirea functiilor reciproce de transfer:

    si1=i(si, xi), i= 1, n.

    Functiile elementare de eficientaui,pentrui = 1, . . . , n ,respectiv functia obiectivglobala f, devin ui(i(si, xi), xi) =ui(si, xi), pentru i = 1, . . . , n , respectiv:

    f(u1(s0, x1), . . . , un(sn1, xn)) = f(u1(s1, x1), . . . ,

    un(sn, xn))

    =f (sn, x1, . . . , xn),

  • 8/10/2019 Criptografie.pdf

    36/318

    28 PROGRAMARE DINAMIC A

    unde de data aceasta, n mod similar cu ceea ce s-a aratat anterior, toate elementele

    descriptive ale problemei pot fi exprimate ca functie de decizie aleasa si starea s0.Similar se defineste decompozabilitatea progresiva si se ajunge la ecuatiile pro-

    gramarii dinamice progresive.

    2.4.2. Rezolvarea problemelor de programare progresiva

    Elementele prezentate n paragrafele precedente ne permit sa elaboram urmatorulalgoritm de rezolvare a problemelor de optimizare dinamice progresive.

    PASUL 0. Problema matematica se codifica sub forma unei probleme de pro-gramare liniara, punandu-se n evidenta functia obiectiv si sistemul de restrictiicorespunzator.

    PASUL 1. Se pune problema sub forma unui proces secvential de decizie avandu-se n vedere urmatoarele elemente:i) forma functionala a functiilor reciproce de transfer

    i:Si Xi Si1:

    si1=i(si, xi), i= 1, n.

    ii) spatiul starilor posibile: S0, S1, . . . , S n;

    iii) spatiul deciziilor:Xi(si);

    iv) functiile partiale de eficientaui(si, xi), i= 1, 2, . . . , n;

    v) functiile obiectiv ale proceselor secventiale trunchiate la fazele 1, . . . , i :

    fi

    (x1, . . . , xi) pentrui = 1, 2, . . . , n.PASUL 2. Se rezolva problema din faza 1, adica se calculeaza:

    min{f1(s1, x1)|x1

    X1(s1)} = min{u1(s1, x1)|x1

    X1 (s1)} =g1(s1),

    unde sn1 este parametru. Deci pentrus1 S1 se determina valoarea x1(sn)X1

    (s1), astfel ncat:

    g1(s1) =u1(s1, x

    1(s1)).

    Se atribuie contorului i valoarea 2. Acest contor are semnificatia fazeii a procesuluisecvential.

    PASUL 3. Se rezolva problema din faza i a carei necunoscuta este xi, iar si

    este parametru. Deci pentru si Si, se determina xi (si) Xi(si) astfel ncat:

    gi(si) =Fi(

    ui(si, x

    i (si)), gi1(

    i(si, x

    i (si)))).

    actualizeaza i := i + 1;

  • 8/10/2019 Criptografie.pdf

    37/318

    PROGRAMARE DINAMIC A PROGRESIV A 29

    PASUL 4. Daca i < n goto PASUL 3.

    PASUL 5. Se determina xn(sn) Xn(sn) cusn= sn si avem:f (sn, x

    1(s

    n), . . . , x

    n(s

    n)) = min{

    fn(s

    n, x1, . . . , xn)|x1, . . . , xn} =gn(sn),

    unde xn1(sn1) =x

    n1 = x

    n1(n(s

    n, x

    n)) etc.

    PASUL 6. Se scrie solutia optima:

    x= (x1, . . . , xn)

    unde xn = xn(sn), xn1= xn1(n(s

    n, x

    n)) etc.

    Observatii. i) Daca starile s0 sau sn sunt cunoscute, se merge de la starea ne-

    cunoscuta spre starea cunoscuta.ii) Daca ambele stari sunt impuse si daca se pot defini functiile de transfer atat

    ntr-un sens cat si n celalalt atunci se poate opta pentru oricare dintre cele dou ametode de rezolvare, adica progresiv sau regresiv.

    2.4.3. Aplicatii

    Exercitiul 2.4.1. Aplicatia similara celei de la paragraful de aplicatii core-spunzator programarii dinamice regresive.

    Raspuns. Pasul 0 este identic cu cel de la rezolvarea aplicatiei de la capitolulprogramarii regresive.

    PASUL 1. Se determina functiile reciproce de transfer:1(s1, x1) =s1 x1+ 5,2(s2, x2) =s2 x2+ 7,3(s3, x3) =s3 x3+ 8,4(s4, x4) =s4 x4+ 5.Functiile partiale de eficienta sunt:u1(s1, x1) = 12x1,u2(s2, x2) = 10x2,u3(s3, x3) = 9x3,

    u4(s4, x4) = 10x4.Functiile de eficienta ale proceselor trunchiate la fazele 1, . . . , i (pentru i =

    1, . . . , 4) sunt:f1= 12x1,f2= 12x1+ 10x2,

  • 8/10/2019 Criptografie.pdf

    38/318

    30 PROGRAMARE DINAMIC A

    f3

    = 12x1

    + 10x2

    + 9x3

    ,f4= 12x1+ 10x2+ 9x3+ 10x4.

    Noile spatii de decizie se determina succesiv:

    Dins0= 3 rezulta s1 x1+ 5 = 3 saux1= s1+ 2 de unde x1 {s1+ 2},dins1 [0, 4] rezultas2 x2+ 7 [0, 4] de unde x2 [s2+ 3, s2+ 7],dins2 [0, 2] rezultas3 x3+ 8 [0, 2] de unde x3 [s3+ 6, s3+ 8],dins3 [0, 1] rezultas4 x4+ 5 [0, 1] de unde x4 [s4+ 4, s3+ 5].PASUL 2. Se rezolva problema din faza 1 adica se calculeaza:

    min{f1|x1X1(s1)} = min{12x1|x1 {s1+ 2}} = 12s1+ 24,

    minim atins pentru x1(s1) =s1+ 2.

    PASUL 3/4. Se rezolva problema:

    min{f2|x2X2(s2)} = min{12x1+ 10x2|x2 [s2+ 3, s2+ 7]} =

    = min{10x2+ 12s1+ 24)|x2 [s2+ 3, s2+ 7]} == min{10x2+ 12(s2 x2+ 7) + 24)|x2 [s2+ 3, s2+ 7]} == min{2x2+ 12s2+ 108|x2 [s2+ 3, s2+ 7]} == 2(s2+ 7) + 12s2+ 108 = 10s2+ 94,minim atins pentru x2(s2) =s2+ 7.Se rezolva problema:

    min{f3|x3X3(s3)} = min{12x1+ 10x2+ 9x3|x3 [s3+ 6, s3+ 8]} =

    = min

    {9x3+ 10s2+ 94

    |x3

    [s3+ 6, s3+ 8]

    }=

    = min{9x3+ 10(s3 x3+ 8) + 94|x3 [s3+ 6, s3+ 8]} == min{x3+ 10s3+ 174|x3 [s3+ 6, s3+ 8]} == s3 8 + 10s3+ 174 = 9s3+ 166,minim atins pentru x3(s3) = s3+ 8.Se rezolva problema:

    min{f4|x4X4(s4)} = min{12x1+ 10x2+ 9x3+ 10x4|x4 [s4+ 4, s3+ 5]} =

    = min{10x4+ 9s3+ 166|x4 [s4+ 4, s3+ 5]} == min{10x4+ 9(s4 x4+ 5) + 166|x4 [s4+ 4, s3+ 5]} == min{x4+ 9s4+ 211|x4 [s4+ 4, s3+ 5]} == 10s4+ 215 = 215,

    minim atins pentru x4(s4) = s4+ 4 = 4, unde s4= 0.PASUL 5. Avem:

    s3= s4 x4+ 5 = 1 si x3= s3+ 8 = 9,

    s2= s3 x3+ 8 = 0 si x2= s2+ 7 = 7,

    s1= s2 x2+ 7 = 0 si x1= s1+ 2 = 2.

    PASUL 6. Solutia optima este:

  • 8/10/2019 Criptografie.pdf

    39/318

    PROGRAMARE DINAMIC A PROGRESIV A 31

    x = (2, 7, 9, 4), iar traiectoria optima s = (0, 0, 1, 0), deci s-a obtinut aceeasi

    solutie ca n rezolvarea problemei prin metoda regresiva.

    Exercitiul 2.4.2. Un depozit trebuie sa raspunda unei cereri de marfa totale deunitati de produs de la m beneficiari (cererea fiecarui beneficiar este de i unitatide produs). Daca costurile de transport al unei unitati de produs la beneficiarul ieste i si daca depozitul dispune initial de unitati de produs, iar daca acesta nupoate detine n stoc mai mult deunitati de produs sa se determine politica optimade reaprovizionare cu produsul respectiv astfel ncat toate cererile sa fie satisfacute.In final depozitul nu mai are nici o cantitate n stoc.

    Indicatie. Vom nota cuxinumarul de unitati de produs comandate la nceputul

    livrariii si cusi stocul existent dupa livrareai. Problema de programare ce trebuierezolvata este:

    minm

    i=1ixi

    mi=1

    xi= ,j

    i=1i

    ji=1

    xjj1i=1

    i+ j= 1, m,xi 0i= 1, m.

    unde =m

    i=1i. Se vor pune n evidenta functiile reciproce de transfer, functiile

    partiale de eficienta, functiile de eficienta ale proceselor trunchiate, spatiul starilorsi spat iile de decizie.

    Problema se poate rezolva si prin programare dinamica progresiva n n faze sievident si prin metoda programarii dinamice regresive sau cu ajutorul algoritmilorsimplex primal ori simplex dual prin aducerea acesteia la forma standard.

    Exercitiul 2.4.3. Rezolvati numeric prin programare dinamica regresiva si pro-gresiva problema anterioara pentrum = 3, = 25 (1= 10, 2 = = 8, 3= 7), 1=3, 2 = 10, 3 = 4, = 3 si = 10. Aplicati pentru rezolvarea problemei algoritmul

    simplex primal. Scrieti duala problemei de programare liniara asociata. Rezolvatiprogramul dual.

    Indicatie. Aplicand exercitiul precedent restrictia a doua devine:

    1 x1 ,

  • 8/10/2019 Criptografie.pdf

    40/318

    32 PROGRAMARE DINAMIC A

    sau 10

    3

    x1

    10

    3 deci x1= 7. Restrictia a treia devine:

    1+ 2 x1+ x2 1+ ,

    sau 10 + 8 3 3 + x2 10 + 10 3 deci 12 x2 20 etc.

    Exercitiul 2.4.4. Generalizati problema de la exercitiul 2.4.2 la o problema cun depozite. Rezolvati aceasta problema prin metoda programarii dinamice si apoiprin metoda de rezolvare a problemelor clasice de transport.

    Exercitiul 2.4.5. Un tren de marfa cu capacitatea maxima z trebuie sa trans-porte diferite cantitati deNmarfuri diferite. Sa notam cuvivaloarea celui de ali-lea

    tip de marfa si cu wi greutatea sa. Sa se determine ncarcatura de valoare maxima.Aplicatie numerica N = 3, z = 100 t, v1 = 10$, v2 = 30$, v3 = 5$, w1 = 150 t,w2 = 20 t, w3= 30 t.

    Indicatie. Daca notam cuxi numarul articolelor din marfa i care sunt ncarcate,atunci problema de programare liniara de rezolvat este:

    maxN

    i=1xivi,

    N

    i=1xiwi z,

    xi 0, i= 1, N .Problema se poate rezolva prin metodele programarii dinamice sau cu algoritmul

    simplex.

  • 8/10/2019 Criptografie.pdf

    41/318

    Capitolul 3

    TEORIA JOCURILOR

    3.1. Notiuni introductive

    De foarte multe ori suntem pusi n fata unor situatii conflictuale a caror evolutieulterioara depinde de deciziasauplanul adoptat, numita si strategie. Prin termenulde evolutiese ntelege modificarea unei functii obiectiv numita n acest caz functiede pierdere sau castig, deci prin joc n cele ce urmeaza se ntelege acea situatiecare functioneaza dupa reguli bine definite, n care doua sau mai multe elemente de-cizionale, numitejucatori, aleg o decizie dintr-o multime de variante bine specificate.Deoarece jocurile de care ne vom ocupa au la baza aceste elemente decizionale, ele se

    vor numi jocuri strategice. Spunem despre strategia unui joc ca este ostrategie puradaca unul dintre adversari alege una din cele m variante dupa care jocul se opreste.Strategia mixta presupune continuarea partidei, iar alegerea variantei se face cu oanumita probabilitate. Fiecare din partile implicate n joc urmareste optimizareafunctiei obiectiv, iar strategia care realizeaza aceasta optimizare se numeste strategieoptima.

    Din punct de vedere al castigului jocurile se clasifica n:

    -jocuri cu suma nula: sunt acele jocuri n care suma pierderilor fiecarui jucatoreste egala cu suma castigurilor tuturor jucatorilor;

    -jocuri fara suma nula: sunt acele jocuri n care o parte din pierderea si/sau

    castigul unui jucator nu se regaseste la ceilalti jucatori.O alta clasificare este dupa cardinalul numarului de strategii: jocuri finite sau

    infinite.

    Fie X si Y strategiile pure a doi jucatorilor A respectiv B si a X si b Ystrategile pure alese de catre acestia. Vom nota cu LA(a, b) si LB(a, b) pierderilecorespunzatoare fiecarui jucator, castigul fiind considerat o pierdere negativa. Suma

    33

  • 8/10/2019 Criptografie.pdf

    42/318

    34 TEORIA JOCURILOR

    pierderilor celor doi jucatori este:

    LA(a, b) + LB(a, b).

    Daca jocul este cu suma nula atunci LA(a, b) + LB(a, b) = 0. Deci, LB(a, b) =LA(a, b) =L(a, b),undeL(a, b) este castigul jucatoruluiAdaca acesta joaca strate-gia a iar raspunsul luiB fiind prin strategia b.

    Jocurile de tip poker sunt jocuri cu suma nula, iar jocurile de tip Casino suntfara suma nula (se platesc impozite catre stat sau se platesc taxe catre proprietarul

    jocului). Formalizand cele definite avem:

    Definitia 3.1.1. Se numestejoctripletulJ= (X , Y , L) undeX= {a1, . . . , am}si Y =

    {b1

    ,...,bn}

    sunt multimile de strategii pure ale celor doi jucatori, iar L :X Y R este functia de castig care se poate exprima sub forma matriceala:

    Q=

    q11 ... q 1n... ... ...

    qm1 ... q mn

    n care qij =L(ai, bj), i = 1, m , j = 1, n. Forma matriceala a unui joc se numesteforma normala. Matricea jocului este alcatuita n raport cu jucatorul A numit

    jucator maximizant. Jucatorul B se va numi jucator minimizant, iar matricea sa vaavea elementeleqij.

    Exemplul 3.1.1. Jocul consta n aruncarea monedei n care fiecare jucatorpoate alege, independent de celalalt stema S sau banul B. Daca alegerile coin-cid, atunci jucatorul 2 primeste de la jucatorul 1 sumax. In caz contrar jucatorul 1primeste de la jucatorul 2 sumax. Matricea jocului este:

    Q=

    x xx x

    .

    3.2. Principiul minimax

    Teoria jocurilor are ca rol elaborarea unor planuri rat ionale de actiune pentru

    cazurile conflictuale. Astfel, principiul adoptat este principul minimizarii pierderiimaxime numit si principiul minimax. Jucatorul A actioneaza astfel ncat sa maxi-mizeze cel mai mic castig pe care-l poate obtine de la jucatorul B, iar jucatorul Bactioneaza astfel ncat sa minimizeze pierderea sa maxima.

    Valoarea:= max

    iminj

    qij

  • 8/10/2019 Criptografie.pdf

    43/318

    STRATEGII MIXTE SI VALOAREA JOCULUI 35

    se numeste valoarea inferioara a jocului si reprezinta cel mai mic castig pe careA l

    poate avea de la B , iar valoarea:

    = minj

    maxi

    qij

    se numestevaloarea superioara a joculuisi reprezinta cea mai mare pierdere pe careB o poate avea.

    Jocurile pentru care = se numesc jocuri cu punct sa, iar valoarea comuna aacestor doua valori se numeste valoarea jocului. Elementul care realizeaza aceastaegalitate se numeste punct sa.

    O strategie ai a jucatorului A se numeste dominantapentru strategia aj dacaqik qjk pentru orice k = 1, n.Strategiile dominate vor fi eliminate din joc de catreA (acesta doreste sa castige cat mai mult) strategiile dominante ale lui B vor fieliminate din politica sa pentru ca duc la pierderi mai mari.

    3.3. Strategii mixte si valoarea jocului

    Jocurile cu punct sa reprezinta o clasa particulara de jocuri si se pune n modnatural ntrebarea daca, n ipoteza repetarii partidelor, nu se poate gasi o strategieprin care jucatorul A sa obtina un castig mai mare decat cel asigurat prin criteriulminimax. Vom numi strategie mixta o combinatie probabilista de strategii pure.Strategiile mixte au dublu rol:

    1. de a mpiedica adversarul sa cunoasca strategia aleasa;

    2. de a mari castigul garantat de valoarea inferioara a jocului.Fie X = (x1,...,xm)

    vectorul probabilitatilor cu care jucatorulA alege strategiilepure{a1,...,am} si Y = (y1,...,yn) vectorul probabilitatilor cu care jucatorul Balege strategiile pure{b1,...,bn}. Avem:

    xi 0, i= 1, mm

    i=1xi= 1,

    si

    yj 0, j = 1, nn

    j=1 yj = 1.

    Castigul mediu realizat de catre A cand el foloseste strategia mixta X, iar Bstrategia bj va fi:

    M(X, j) =m

    i=1

    qijxi.

  • 8/10/2019 Criptografie.pdf

    44/318

    36 TEORIA JOCURILOR

    Similar, castigul mediu realizat de A cand el foloseste strategia ai,iar B foloseste

    strategia mixtaY va fi:

    M(i, Y) =n

    j=1

    qijyj.

    Valoarea medie a joculuiva fi:

    M(X, Y) =n

    j=1

    mi=1

    qijxiyj =m

    i=1

    nj=1

    qijxiyj ,

    sau matriceal:

    M(X, Y) =X

    QY.

    3.4. Teorema fundamentala a teoriei jocurilor

    Teorema 3.4.1. (Valoarea inferioara si valoarea superioara a jocului). FieX,Y submultimi ale luiR si fieL: X Y R. Daca exista marimile:

    maxxX

    [minyY

    L(x, y)],

    minyY

    [maxxX

    L(x, y)],

    atunci:maxxX

    [minyY

    L(x, y)] minyY

    [maxxX

    L(x, y)].

    Definitia 3.4.1. (Punct sa). Punctul (x0, y0) este punct sa al functiei L daca:

    L(x, y0) L(x0, y0) L(x0, y).

    Teorema 3.4.2. (Conditii necesare si suficiente pentru existenta punctelor sa).FieX, Y submultimi ale luiR si fieL: X Y R. Daca exista marimile:

    maxxX

    [minyY

    L(x, y)],

    minyY

    [maxxX

    L(x, y)],

    atunci conditia necesara si suficienta caL sa aib a punctul(x0, y0) punct sa este:

    maxxX

    [minyY

    L(x, y)] = minyY

    [maxxX

    L(x, y)] =L(x0, y0).

  • 8/10/2019 Criptografie.pdf

    45/318

    REZOLVAREA JOCURILOR MATRICEALE 37

    Teorema 3.4.2 ne spune: conditia necesara si suficienta ca L sa aiba punctul

    (x0, y0) punct sa este ca valoarea inferioara a jocului sa fie egala cu valoarea sasuperioara.

    Teorema 3.4.3. (Teorema fundamentala a teoriei jocurilor). Fie jocul J =(X , Y , L). Atunci exista o perecheX0, Y0 de strategii mixte optime astfel ncat:

    maxXSm

    [ minYSn

    M(X, Y)] = minYSn

    [ maxXSm

    M(X, Y)] =M(X0, Y0) =v,

    unde Sm si Sn sunt submultimi ale spatiilor euclidiene m-dimensionale respectivn-dimensionale.

    Valoareav se numeste valoarea jocului.

    Observatii. i) Un joc nu poate avea decat o singura valoare, chiar daca are maimulte strategii optime mixte.

    ii) Conditia necesara si suficienta ca v sa fie valoarea jocului si X0, Y0 sa fiestrategii mixte este ca:

    M(i, Y0) v M(X0, j), 1 i m, 1 j n.

    3.5. Rezolvarea jocurilor matriceale

    3.5.1. Formularea problemei de optimizare

    Fie un joc cu matricea Q = (qij). Daca jucatorul A foloseste strategiile pure aicu probabilitatile xi, i = 1, . . . , m atunci acesta poate spera un castig de cel putinv, care este egal cu valoarea jocului adica:

    x

    Q vm

    i=1xi= 1

    xi 0, i= 1, m

    unde v = (v , . . . , v)

    iar a b def ai bii.Similar, daca jucatorul B utilizeaza strategiile pure bj cu probabilitatile yj ,

    1 j n, el se poate astepta la o pierdere cel mult egala cu valoarea v a jocului:

    Qy vn

    j=1yj = 1

    yj 0, j= 1, n

  • 8/10/2019 Criptografie.pdf

    46/318

    38 TEORIA JOCURILOR

    3.5.2. Reducerea la probleme de programare liniara

    Pentru a transforma cele doua sisteme n modele de programare liniara este nece-sar ca valoarea joculuiv sa fie strict pozitiva. In acest sens se pot folosi urmatoareleobservatii:

    i) daca fiecarui element al matricei Q i se adauga o constanta k, atunci valoareajocului devine v + k, iar strategiile mixte raman neschimbate;

    ii) daca fiecare element al matricei Q se nmulteste cu constanta k, atunci valoareajocului devine vk, iar strategiile mixte optime raman neschimbate.

    Deci prin folosirea adecvata a observatiilor amintite se poate presupune v = 1.Problemele de rezolvat devin folosind notatiaXi= xi/v:

    min(

    mi=1 Xi)

    QX 1Xi 0, i= 1, m

    si

    max(n

    j=1Yj)

    QY 1Yj 0, j= 1, n.

    Cele doua probleme de programare liniara sunt n forma canonica si sunt dualeuna alteia. Acestea se pot rezolva prin metodele simplex sau simplex-dual. Se poateapela pentru rezolvarea acestor probleme la programele specializate existente pepiata software.

    3.6. Aplicatii

    Exercitiul 3.6.1. Se considera jocul n forma matriceala:

    TABELUL 3.1

    A/B b1 b2 b3 b4 b5

    a1 3 5 4 2 1a2 2 3 1 0 1a3 4 1 1 0 3a4 5 0 3 2 4

    Matricea jocului este alcatuita n raport cu jucatorul A (maximizant).

  • 8/10/2019 Criptografie.pdf

    47/318

    APLICATII 39

    i) Sa se calculeze valoarea inferioara si valoarea superioara a jocului.

    ii) Are jocul punct sa?iii) Aflati strategiile mixte optime ale celor doi jucatori.

    Raspuns. Matricea jocului fiind alcatuita n raport cu jucatorul A, care estejucator maximizant, acesta doreste sa castige cat mai mult si va elimina din jocstrategiile dominate. Avem a4 a3, deci strategia a3 va fi eliminata din joc decatre jucatorul A. Deoarece b1 b4 si b3 b4, atunci jucatorul B elimina din jocstrategiile b1 si b3 (conduc la pierderi mai mari). Astfel jocul se reduce la matricearedusa Q:

    Q= 5 2 13 0

    1

    0 2 4 .

    Valoarea inferioara a jocului este:

    = maxi

    minj

    qij = 0,

    si valoarea superioara a jocului este:

    = minj

    maxi

    qij = 2.

    Deoarece < jocul nu are punct sa. Valoarea jocului v [0, 2].Problema de programare liniara pe care trebuie sa o rezolve jucatorul maximizant

    A (maximizarea profitului minim) este urmatoarea:

    max(v)5x1+ 3x2 v2x1+ 2x3 vx1 x2+ 4x3 vx1+ x2+ x3= 1x1, x2, x3 0,

    sau daca se noteaza Xi =xi/v pentru i = 1, 2, 3 obtinem problema de programareliniara:

    min(X1+ X2+ X3)5X1+ 3X2 12X1+ 2X3 1X1 X2+ 4X3 1X1, X2, X3 0.

    Similar, problema de programare liniara corespunzatoare jucatorului B este:

  • 8/10/2019 Criptografie.pdf

    48/318

    40 TEORIA JOCURILOR

    max(Y1+ Y2+ Y3)5Y1+ 2Y2+ Y3 13Y1 Y2 12Y2+ 4Y3 1Y1, Y2, Y3 0.

    Cele doua probleme de programare liniara sunt duale una alteia. Rezolvareaacestora se poate face cu ajutorul algoritmului simplex primal sau dual. Pentrurezolvarea cu ajutorul programului MAPLEa acestora sintaxa este pentru jucatorulA (maximizant):

    > with(simplex) :

    > minimize(x + y+ z, 5 x + 3 y >= 1, 2 x + 2 z >= 1,x y+ 4 z >= 1, N ON N EGATIV E);Solutia este: x= 0, y = 1/3, z= 1/2,iar respectiv pentru jucatorul B (minimizant):> maximize(x + y+ z, 5 x + 2 y+ z

  • 8/10/2019 Criptografie.pdf

    49/318

    APLICATII 41

    TABELUL 3.2

    A/B 5% 0% +5%5% 2 4 40% 1 0 3

    +5% 3 2 0

    Ce strategie mixta va adopta firma A n fata concurentei?

    Exercitiul 3.6.3. Se considera jocul n forma matriceala:

    TABELUL 3.3

    A/B b1 b2 b3 b4 b5a1 3 5 4 2 a2 2 3 0 a3 4 0 3a4 5 0 3 2 4

    Matricea jocului este alcatuita n raport cu jucatorul A (maximizant), iar esteun parametru real strict pozitiv.

    i) Sa se calculeze valoarea inferioara si valoarea superioara a jocului.

    ii) Are jocul punct sa?iii) Aflati strategiile mixte optime ale celor doi jucatori.

    Exercitiul 3.6.4. Se considera jocul de doua persoane n forma matriceala:

    TABELUL 3.4

    A/B b1 b2 b3a1 0 a2 0 a3 0

    Matricea jocului este alcatuita n raport cu jucatorul A, (maximizant) iar sisunt parametri reali strict pozitivi.

    i) Sa se calculeze valoarea inferioara si valoarea superioara a jocului.

    ii) Are jocul punct sa?

    iii) Aflati strategiile mixte optime ale celor doi jucatori.

  • 8/10/2019 Criptografie.pdf

    50/318

    42 TEORIA JOCURILOR

    Exercitiul 3.6.5. Se considera urmatorul scenariu criptografic: un utilizator

    al unui canal de comunicatie poate transmite mesaje cifrate corespunzatoare a treicategorii de mesaje clare: confidential, secret si strict secret. Utilizatorul poateopta pentru unul din doua sisteme de cifrare (de exemplu, un sistem simetric siun sistem asimetric etc). Indicati strategia optima de alegere a sistemului crip-tografic. Procentele categoriei de secret si pierderile corespunzatoare (cantitate demesaj decriptata pe 24 ore de procesare selectiva, estimata procentual de designerulsistemelor criptografice) sunt date n tabelul 3.5. Care trebuie sa fie procentele pipentru ca utilizatorul sa opteze pentru strategia 2?

    TABELUL 3.5

    Tip mesa j Prob. mesa j S 1 S 2

    confidential p1 0 0,3%secret p2 0,6% 0,5%

    strict secret p3 0,4% 1%

    Exercitiul 3.6.6. Sa se determine o pereche de strategii optime si valoareaurmatorului joc matriceal:

    3 6 1 45 2 4 21 4 3 5

    .

    Raspuns. Se va scrie problema de optimizare pentru primul jucator si se rezolva

    aceasta. Valoarea jocului va fi 13/4.

    Exercitiul 3.6.7. Se considera jocul n forma matriceala (n raport cu jucatorulA):

    TABELUL 3.6

    A/B b1 b2 b3 b4a1 2 3 0 1

    a2 1 2 4 3

    a3 0 2 3 2

    a4 2 3 0 1

    i) Sa se determine valoarea inferioara si valoarea superioara a jocului.ii) Determinati, daca exista, punctul sa al jocului.iii) Sa se determine strategiile mixte ale celor doi jucatori.

    Raspuns. Valoarea inferioara a jocului este 1, iar valoarea superioara este 2.Valoarea jocului este 8/5.

  • 8/10/2019 Criptografie.pdf

    51/318

    APLICATII 43

    Exercitiul 3.6.8. Folosind criteriul minimax, sa se rezolve un joc matriceal de

    ordinul 3 3 a carui matrice este:

    C=

    1 3 32 0 3

    2 1 0

    .

    Specificati si valorile inferioara si superioara ale jocului. Cum se modifica acestestrategii daca ultima linie a matricei Cse nmulteste cu ? Pentru ce valoare a luijocul are punct sa?

    Raspuns. Valoarea inferioara a jocului este:

    = maxi

    minj

    qij = 0,

    si valoarea superioara a jocului este:

    = minj

    maxi

    qij = 2.

    Strategia optima (mixta) a primului jucator este unica si este egala cu:

    x1 = 1

    3, x2=

    2

    3, x3= 0.

    Valoarea jocului (aceasta este unica) este egala cuv = 1.Strategia optima a celui de-al doilea jucator nu este unica. O strategie optimaeste spre exemplu:

    y1=1

    5, y2=

    3

    5, y3=

    1

    5,

    o alta strategie optima este:

    y1= 0, y2=2

    3, y3=

    1

    3.

    Exercitiul 3.6.9. (Dilema prizonierului.) Se considera urmatoarea situatie: doi

    suspecti de trafic de droguri sunt anchetati, n stare de arest preventiv, de organeleabilitate, care nu au suficiente dovezi. Procurorul de caz le ofera celor doi, indepen-dent, posibilitatea de a recunoaste sau nu implicarea n traficul de droguri, precum siconsecintele deciziei. Astfel, n situatia n care ambii recunosc procurorul va prop-une pedeapsa minima de trei ani pentru cei doi suspecti. In cazul n care doarunul recunoaste pentru acesta procurorul va propune aceeiasi pedeapsa de trei ani

  • 8/10/2019 Criptografie.pdf

    52/318

    44 TEORIA JOCURILOR

    cu suspendare (eliberare), pentru compli