• y ≤ x/2. Atunci primul argument y în apelul recursiv urmǎtor este deja maimic decât x cu un factor de 2 si astfel în apelul recursiv urmǎtor va fi chiarmai mic;• x ≥ y > x/2. Atunci în douǎ apeluri recursive primul argument va fi x mod y,care este mai mic decât x/2.Asadar, în ambele cazuri primul argument descreste printr-un factor de cel putin2 la fiecare apel recursiv. Astfel, dupǎ cel mult 2n apeluri recursive, unde n estenumǎrul de biti în x, recursia se va opri (de notat cǎ de fiecare datǎ primulargument este un numǎr natural)□De observat cǎ partea a doua a demonstratiei de mai sus aratǎ numai cǎ numǎrulde apeluri recursive în timpul calculului este O(n). Putem face aceeasi afirmatie<strong>pentru</strong> durata calculului dacǎ presupunem cǎ fiecare apel necesitǎ o duratǎconstantǎ. Deoarece fiecare apel include o comparatie de întregi si o operatiemod(ulo) pare rational a considera durata aceasta constantǎ. Într-un model decalcul mai realist trebuie totusi sǎ facem acest timp dependent de dimensiunilenumerelor implicate: astfel comparatia ar necesita O(n) operatii elementare (pebiti) si operatia mod, care este în fapt o împǎrtire, va necesita O(n 2 ) operatii<strong>pentru</strong> un total de O(n 2 ) operatii în fiecare apel recursiv (Aici n este numǎrulmaxim de biti în x si y, care este exact numǎrul de biti în x). Astfel, într-unasemenea model, durata calculelor cu algoritmul lui Euclid este în realitateO(n 3 ).Aritmetica modularǎUn exemplu: calculul zilei din sǎptǎmânǎ. Se presupune cǎ secventa zilelorsǎptǎmânii (luni, marti, miercuri, joi, vineri, sâmbǎtǎ, duminicǎ) este aplicatǎ pesecventa de numere (0, 1, 2, 3, 4, 5, 6) astfel încât luni este 0, marti este 1 etc.În cazul cǎ azi este joi = 3, dacǎ e de calculat ce zi a sǎptǎmânii va fi peste 10zile, intuitiv am rǎspunde cu restul împǎrtirii la 7 a lui 3 + 10 = 13, care este 6,adicǎ duminicǎ. De fapt, pare a fi cam fǎrǎ sens în acest context a aduna unnumǎr ca 10 si mai la îndemânǎ ar putea fi sǎ gǎsim restul lui modulo 7, sianume 3, apoi sǎ adunǎm acest 3 la 3 <strong>pentru</strong> a gǎsi 6.Dar dacǎ se continuǎ cu alte salturi de 10 zile? Dupǎ 5 asemenea salturi am gǎsi3 + 3*5 = 18, care dǎ 4 mod 7, adicǎ vineri.Acest exemplu aratǎ cǎ în unele împrejurǎri are sens sǎ lucrǎm într-o artimeticǎlimitatǎ, restrânsǎ de un numǎr anumit (aici 7), adicǎ sǎ facem aritmeticǎ prinstabilirea <strong>pentru</strong> fiecare numǎr, numǎrul modulo 7 sǎ spunem, si sǎ repetǎmaceasta <strong>pentru</strong> rezultate s.a.m.d. În afarǎ de eficienta datǎ de mentinerearezultatelor si valorilor intermediare la un nivel valoric scǎzut, aceastǎ tratareare aplicatii importante în criptografie, cum se va vedea mai departe.Se pot scrie ecuatii în acest gen de aritmeticǎ. Ecuatiile sunt scrise, de exemplu,sub forma4 + 10*5 = 40 mod 780
(În literaturǎ se scrie uneori ≡ în loc de = si partea cu mod m se pune întreparanteze). Aceste ecuatii se pot citi în douǎ moduri. Unul constǎ în luarea înconsiderarea a operatiilor aritmetice obisnuite care se încheie de fiecare datǎ culuarea valorii “mod m” atât <strong>pentru</strong> partea stângǎ cât si <strong>pentru</strong> partea dreaptǎ,înainte de verificare.Modul celǎlalt este ceva mai sofisticat. Dacǎ m este un întreg (de pildǎ 7), sedefineste o relatie între întregi: numerele x si y se zice cǎ sunt congruentemodulo m, scris x = y mod m, dacǎ si numai dacǎ ele diferǎ printr-un multiplu allui m, adicǎ x – y = k.m <strong>pentru</strong> un k întreg (posibil negativ). Într-o formularediferitǎ, x si y sunt congruente modulo m dacǎ au acelasi rest modulo m. Relatia“congruent modulo m” este o relatie de echivalentǎ: ea partitioneazǎ multimeaîntregilor în m clase de echivalentǎ 0, 1, 2, …, m – 1.Teorema 9.2. Dacǎ a = c mod m si b = d mod m atunci a + b = c + d mod m sia.b = c.d mod m.Demonstratie. Se stie cǎ c = a + k.m si d = b + l.m, asa cǎ c + d = a + b + (k +l).m, ceea ce însemanǎ a + b = c + d mod m. Demonstratia <strong>pentru</strong> produs estesimilarǎ (exercitiu).□Ce spune aceastǎ teoremǎ este cǎ orice expresie aritmeticǎ modulo m poate fitotdeauna redusǎ la un numǎr natural mai mic decât m. Ca exemplu, fie expresia(13 + 11).18 mod 7. Uzând de teorema 9.2 de mai multe ori se poate scriesuccesiv:(13 + 11).18 = (6 + 4).4 mod 7= 10.4 mod 7= 3.4 mod 7= 12 mod 7= 5 mod 7Recapitulând, se pot face totdeauna calcule modulo m prin reducerea modulo ma rezultatelor intermediare.ExponentiereaO operatie standard în algoritmii aritmetici (inclusiv verificarea primalitǎtii sicriptarea RSA) este ridicarea unui numǎr la o putere modulo un alt numǎr. Cualte cuvinte, cum se calculeazǎ x y mod m când x, y, m sunt numere naturale si m> 0? O tratare naivǎ ar consta în a calcula secventa x mod m, x 2 mod m, x 3 modm, …, pânǎ la termenul al y-lea, dar asta ar consuma un timp exponential înnumǎrul de biti în y. Aceeasi treabǎ se poate face mai bine dacǎ se utilizeazǎ“trucul” ridicǎrii la pǎtrat repetate.algorithm mod-exp(x, y, m)if y = 0 then return(1)elsez = mod-exp(x, y div 2, m)if y mod 2 = 0 then return(z*z mod m)else return(x*z*z mod m)81
- Page 5 and 6:
C U P R I N SLecţia 1 9Scopul curs
- Page 7:
Probabilitǎti conditionate. Evenim
- Page 11 and 12:
Este foarte important a observa cǎ
- Page 13 and 14:
în al doilea rând se relevǎ posi
- Page 15 and 16:
Propozitia (6) este conjectura lui
- Page 17 and 18:
Demonstratii prin aplicarea de regu
- Page 19 and 20:
Demonstratie: Se va demonstra contr
- Page 21 and 22:
este a presupune opusul, contrarul
- Page 23 and 24:
Lecţia 2Aceastǎ lectie acoperǎ s
- Page 25 and 26:
Asadar, prin principiul inductiei,
- Page 27 and 28:
3. Pentru fiecare set de n + 1 iMac
- Page 29 and 30: Teorema 2.5: ∀ n∈ N, orice regi
- Page 31 and 32: Lecţia 3Aceastǎ lectie acoperǎ a
- Page 33 and 34: • Pasul inductiv: se demonstreaz
- Page 35 and 36: P(n) este falsǎ. Prin definitie st
- Page 37 and 38: Teorema 3.6: Pentru orice numǎr na
- Page 39 and 40: Lecţia 4Aceastǎ lectie completeaz
- Page 41 and 42: • Cazul de bazǎ: demonstratia pe
- Page 43 and 44: Teorema 4.3: Pentru orice arbore t,
- Page 45 and 46: 1. Ipoteza inductivǎ aratǎ cǎ pe
- Page 47 and 48: Lecţia 5Divide-et-impera si merges
- Page 49 and 50: a obtine o versiune sortatǎ a list
- Page 51: fiecare nivel? La nivelul rǎdǎcin
- Page 54 and 55: Pentru orice proprietate P, dacǎP(
- Page 56 and 57: suficiente). Aceastǎ argumentatie
- Page 58 and 59: metodele de a reduce dimensiunea ac
- Page 60 and 61: ∧ si ∨ , ceea ce se constatǎ p
- Page 62 and 63: Jocul MinesweeperRegulile jocului M
- Page 64 and 65: • Existǎ exact o minǎ rǎmasǎ.
- Page 66 and 67: Ca exerciţiu, a se încerca demons
- Page 68 and 69: U(k, n) înseamnǎ cǎ cel mult k d
- Page 70 and 71: Acum, suma contine n + 1 termeni, a
- Page 72 and 73: Teorema 8.6: Pentru orice propoziti
- Page 74 and 75: (a) Graf care aratǎ conectivitatea
- Page 77 and 78: Lecţia 9Secvenţa de lecţii care
- Page 82 and 83: Acest algoritm utilizeazǎ faptul c
- Page 84 and 85: else(d, a, b) := extended-gcd(y, x
- Page 86 and 87: Teorema 10.1 sugereazǎ un test de
- Page 89 and 90: Lecţia 11Criptografie si RSACripto
- Page 91 and 92: gǎseascǎ x-ul corect - dar asta i
- Page 93 and 94: (mod pq) este una din solutiile pos
- Page 95 and 96: Alice semneazǎ în esentǎ orice m
- Page 97 and 98: Lecţia 12Grafuri - introducereDefi
- Page 99 and 100: Dacǎ e = (u,v), arcul e se numeste
- Page 101 and 102: Grafuri specialeDefinitia 12.10: Un
- Page 103 and 104: Operatii cu grafuriW 4subgraf al lu
- Page 105 and 106: matricea de adiacentǎ este⎡ 0 0
- Page 107 and 108: dedecabcabEle pot fi aranjate sǎ a
- Page 109 and 110: ababd c dcNumǎrul si dimensiunile
- Page 111 and 112: 3 (a,c) 5d 10 (a,c)4 6a 1 8 2 z0
- Page 113 and 114: Un exemplu: Care este circuitul cel
- Page 115 and 116: Definitia 12.30: Un arbore cu rǎd
- Page 117 and 118: • Se opreste operatia când s-au
- Page 119 and 120: La începutul jocului sunt pe masǎ
- Page 121 and 122: Lecţia 13Introducere în probabili
- Page 123 and 124: 7. Mâini la poker. Amestecarea urm
- Page 125 and 126: Acum se pot atribui probabilitǎti
- Page 127 and 128: o bilǎ? Este usor de calculat: se
- Page 129 and 130:
Lecţia 14Probabilitǎti conditiona
- Page 131 and 132:
Urmeazǎ acum alte câteva exemple
- Page 133 and 134:
Cazul de bazǎ este n = 1 si coresp
- Page 135 and 136:
evenimentul care produce la a doua
- Page 137 and 138:
Pr[A i ] Pr[A j ] = (1/6) 2 = 1/36
- Page 139 and 140:
Lecţia 15Douǎ aplicatii killerIat
- Page 141 and 142:
A 1 ∩A 2 ] este probabilitatea ca
- Page 143 and 144:
petrecere. Câti trebuie sǎ invita
- Page 145 and 146:
Aceasta poate fi interpretatǎ astf
- Page 147 and 148:
destul de bunǎ pentru k 0 . În re
- Page 149 and 150:
Lecţia 16Variabile aleatoare si me
- Page 151 and 152:
adicǎ numǎrul asteptat (media) de
- Page 153 and 154:
numǎrul de ori în care ceva anume
- Page 155 and 156:
Lecţia 17Câteva distributii impor
- Page 157 and 158:
Încercǎm sǎ colectionǎm un set
- Page 159 and 160:
care tinde cǎtre λ pe mǎsurǎ ce
- Page 161 and 162:
Lecţia 18Dispersia unei variabile
- Page 163 and 164:
problema pasilor aleatori de mai su
- Page 165 and 166:
Înainte de a demonstra inegalitate
- Page 167 and 168:
Lecţia 19Variabile aleatoare indep
- Page 169 and 170:
mǎsurǎrii unei valori cum este p
- Page 171 and 172:
Aceastǎ teoremǎ nu va fi demonstr
- Page 173 and 174:
Lecţia 20Jocul Minesweeper si prob
- Page 175 and 176:
Primul pas este cel al identificǎr
- Page 177 and 178:
probabilistic dat mai devreme. Sing
- Page 179 and 180:
Este limpede cǎ expresia aceasta e