Matematici discrete pentru CS - Departamentul Automatica ...
Matematici discrete pentru CS - Departamentul Automatica ...
Matematici discrete pentru CS - Departamentul Automatica ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Lecţia 15Douǎ aplicatii killerIatǎ mai departe douǎ aplicatii “killer” ale probabilitǎtilor elementare în stiintacalculatoarelor.1. Se presupune cǎ o functie hash distribuie chei în mod egal pe o tabelǎ dedimensiunea n. Câte chei alese la întâmplare se pot distribui hash înainte caprobabilitatea unei coliziuni sǎ depǎseascǎ (de pildǎ) 0,5?2. Se considerǎ urmǎtorul scenariu simplu de a echilibra încǎrcarea. Sunt datem joburi si n masini; se alocǎ fiecare job unei masini în mod uniform laîntâmplare si independent de toate celelalte joburi. Cât este de probabilǎ ovaloare <strong>pentru</strong> încǎrcarea maximǎ a oricǎrei masini?Cum se va vedea, ambele probleme pot fi tratate printr-o analizǎ a spatiuluiprobabilistic bile-si-cutii despre care s-a mai discutat.Aplicatia 1: functii hashConform unor cunostinte anterioare, un tabel hash este o structurǎ de date caresuportǎ depozitarea unor seturi de chei dintr-un univers (cuprinzǎtor) U (depildǎ numele celor 22 de milioane de locuitori ai României). Operatiilesuportate sunt ADD (adǎugarea) unei chei la un set, DELETE (stergerea) uneichei dintr-un set si verificarea MEMBER a (apartenentei) unei chei la un set.Functia hash h aplicǎ U pe un tabel T de dimensiune moderatǎ. Pentru a adǎuga(ADD) o cheie la setul în discutie, se evalueazǎ h(x) (adicǎ se aplicǎ functiahash pe cheie) si se depune x în locatia h(x) din tabelul T. Toate cheile din setulnostru care sunt aplicate pe aceeasi locatie din tabelul T sunt stocate într-o listǎsimplǎ link-atǎ. Operatiile DELETE si MEMBER sunt implementate într-omanierǎ similarǎ, prin evaluarea lui h(x) si cǎutând în lista link-atǎ la h(x). Deobservat cǎ eficienta functiei hash constǎ în a avea cât mai putine coliziuni,altfel spus chei care se aplicǎ pe aceeasi locatie. Aceasta <strong>pentru</strong> cǎ timpul decǎutare <strong>pentru</strong> operatiile DELETE si MEMBER este proportional cu lungimealistei link-ate corespunzǎtoare.Întrebarea care intereseazǎ aici este urmǎtoarea: presupunând cǎ tabelul hash Tare dimensiunea n si cǎ functia hash h distribuie U egal peste T (adicǎ |U| = α n– dimensiunea lui U este un multiplu întreg de factor α al dimensiunii lui T – si<strong>pentru</strong> fiecare y din T numǎrul de chei x din U <strong>pentru</strong> care h(x) = y este exactα), presupunând cǎ acele chei de stocat sunt alese uniform la întâmplare si139