Kako podesiti pametne telefone i računare. Informativni portal

Algoritmi zamjene stranica. Gledaj

Pretpostavimo da su sva izobličenja u kanalu striktno deterministička i da je samo Gausov aditivni šum n(t) slučajan, za koji u početku pretpostavljamo da je bijel, sa spektralnom gustinom N 0 . To znači da se prilikom odašiljanja signala u i (t) (simbol b i (i = 0,1,...,m-1), dolazni signal može opisati modelom (3.38):

z(t) = s i (t) + n(t), (0≤t≤T), (6.17)

gdje su svi s i (t) = ku i (t-τ) (i = 0, 1,..., m-1) poznati. Nepoznati su samo implementacija smetnje i indeks i stvarno odaslanog signala, što se mora odrediti od strane sklopa za odlučivanje.

Također ćemo pretpostaviti da su svi s i (t) konačni signali, čije je trajanje T. Ovo se događa ako prenijeti signali u i (t) su konačne i imaju isto trajanje (sinhroni sistem), a nema ni višestrukog širenja niti linearno izobličenje, što uzrokuje povećanje trajanja signala (ili se prilagođava).

U budućnosti ćemo uvijek pretpostaviti da sistem obezbjeđuje pouzdanu sinhronizaciju sata, odnosno da su granice taktnog intervala u koje stiže signal s(t) tačno poznate. Problemi sinhronizacije su veoma značajni pri implementaciji optimalnih demodulatora i sinhronih komunikacionih sistema uopšte, ali su van okvira ovog kursa. Uzmimo trenutak početka slanja s(t) kao nula.

Pod ovim uslovima, odredimo algoritam za rad optimalnog (tj. zasnovanog na pravilu maksimalne verovatnoće) demodulatora koji analizira signal u intervalu 0-T takta. Da biste to učinili, potrebno je pronaći omjere vjerovatnoće za sve m mogući signali u odnosu na nultu hipotezu (s(t)=0; z(t) = n(t)).

Zadatak je kompliciran činjenicom da je širina spektra signala beskonačna (pošto je konačna), pa je stoga prostor signala beskonačno-dimenzionalan L 2 (T). Za takve signale (ili beskonačno-dimenzionalne vektore), kao što je navedeno, ne postoji gustina vjerovatnoće. Međutim, postoje "-dimenzionalne gustine vjerovatnoće za bilo koje n sekcije signala (vidjeti § 2.1).

Zamijenimo prvo bijeli šum kvazibijelim šumom, koji ima istu jednostranu spektralnu gustinu snage N 0, ali samo u određenom frekventnom opsegu F = n/2T, gdje je n>>1. Razmotrimo prvo dodatnu hipotezu, tj. pretpostavićemo da je Z(t) šum. U intervalu takta uzimamo n jednako raspoređenih sekcija kroz Δt = 1/2F = T/n. Uzorci Z 1 ,...., Z n u ovim sekcijama za kvazi-bijeli Gausov šum su nezavisni u skladu sa (2.49). Dakle, n-dimenzionalna gustina vjerovatnoće za uzete uzorke

gdje je σ 2 = N 0 F disperzija (snaga) kvazi-bijelog šuma.

Pod pretpostavkom da je simbol b i prenesen, prema (6.17) n(t) = z(t) - s i (t). Posljedično, uvjetna n-dimenzionalna gustina vjerovatnoće dionica Z(t) određena je istom formulom kao (6.18), ako se z(t k) zamijeni razlikom z(t k)-s i (t k), koja predstavlja šum pod ova hipoteza:

Omjer vjerovatnoće za signal s i (u odnosu na dodatnu hipotezu), izračunat za n sekcija:

Zamenimo varijansu σ 2 njenim izrazom: σ 2 = N 0 F = N 0 /(2Δt). Onda

Prema pravilu maksimalne vjerovatnoće, u slučaju kvazi-bijelog šuma, kolo odlučivanja mora odabrati vrijednost i koja daje maksimum Λ i [n] . Umjesto maksimuma Λ i, možete tražiti maksimum njegovog logaritma:

Drugi član u (6.22) ne zavisi od t i može se zanemariti kada se porede hipoteze. Tada se pravilo odluke da je simbol b i prenesen, prema (6.10), može izraziti sistemom nejednačina

Vratimo se sada na izvorni problem za bijeli šum. Da bismo to učinili, proširit ćemo traku F, tada broj sekcija n teži beskonačnosti, a Δt - nuli. Zbirke u (6.22) će se pretvoriti u integrale, a jednačina rješenja će se odrediti na sljedeći način:

Izraz (6.24) određuje one operacije (radni algoritam) koje optimalni prijemnik treba da izvrši na ulaznoj oscilaciji z(t).

Na sl. 6.2 za m = 2 prikazano strukturna šema prijemni uređaj koji radi u skladu sa algoritmom (6.24).

Ovdje su "-" sredstva za oduzimanje; Γ 0, Γ 1 - generatori referentnog signala s 0 (t), s 1 (t); "KB" - kvadratori; ∫ - integratori; RU - solver, koji određuje u vremenima koja su višestruki od T (kada su ključevi zatvoreni), broj grane sa minimalnim signalom.

Za m>2 u kolu na sl. 6.2 i drugim dijagramima ispod, broj grana za obradu signala koji padaju na kontrolnu jedinicu se povećava u skladu s tim.

U Hilbertovom prostoru


određuje normu razlike između vektora z i s ili udaljenost između njih *. Stoga se algoritam (6.24) može zapisati u obliku

||z - s i ||

i dati mu jednostavnu geometrijsku interpretaciju: optimalni demodulator treba da registruje onaj od signala s i (t) (koji odgovara simbolu b i) koji je „bliži“ primljenoj oscilaciji z(t). Kao primjer na sl. Na slici 6.3 prikazana je optimalna podjela dvodimenzionalnog prostora primljenih signala z(t) pri prijenosu signala s 1 (t) i s 0 (t). Područja odlučivanja u korist simbola 0 ili 1 nalaze se s obje strane prave linije 0-0, okomito na segment koji povezuje signalne tačke i dijeli ga na pola.

Prisustvo na dijagramu na sl. 6.2 kvadratori dizajnirani da obezbede kvadratnu transformaciju trenutne vrednosti ulaznih signala u svim njihovim dinamički raspon, često otežava njegovu implementaciju. Stoga, na osnovu (6.24), dobijamo ekvivalentan algoritam prijema koji ne zahtijeva kvadriranje uređaja.

Otvaranje zagrada pod znakom integrala i poništavanje člana na obje strane nejednačine (6.24)

dolazimo do algoritma prijema:

gdje je E j energija očekivanog signala s j (t):


Za binarni sistem, algoritam (6.25) se svodi na provjeru jedne nejednakosti

Uređaj koji direktno izračunava tačkasti proizvod


se naziva aktivni filter, ili korelator, pa se prijemnik koji implementira algoritam (6.25) naziva korelacija.

* (Za n-dimenzionalni euklidski prostor ova norma je jednaka)


Na sl. Slika 6.4 prikazuje blok dijagram prijemnog uređaja koji radi u skladu sa (6.27). Ovdje su × blokovi množitelji; Γ 0, Γ 1 - generatori referentnog signala s 0 (t) s 1 (t); ∫ - integratori; "-" - subtraktivni uređaji; RU je odlučujući uređaj koji u trenucima vremena određuje višekratnike T (kada je ključ zatvoren), i = 0, 1 - broj grane sa maksimalnim signalom.

Ako su signali u i (t) odabrani na način da sve njihove implementacije (a samim tim i sve implementacije s i (t) imaju iste energije (E i = const), algoritam prijema (6.25) (i, shodno tome, njegova implementacija ) je pojednostavljen (nema potrebe za oduzimanjem) i poprima oblik

Iz (6.29) je jasno da se pravilo odlučivanja neće promijeniti ako se signal z(t) koji stiže na ulaz demodulatora pomnoži sa bilo kojim brojem. Dakle, sistem u kojem sve implementacije signala imaju jednaku energiju razlikuje se po tome što optimalni algoritam prijema u njemu ne zahtijeva poznavanje “skale” dolaznog signala ili, drugim riječima, poznavanje koeficijenta prijenosa k kanala. Ovo važna karakteristika je dovelo do široke upotrebe sistema signala jednake energije, koji se obično nazivaju aktivnim sistemima pauze. Ovo je posebno važno za feding kanale u kojima pojačanje fluktuira (pogledajte §6.7).

Imajte na umu da se za binarni sistem nejednakost (6.27) može predstaviti u više u jednostavnom obliku:


gde je s Δ (0 = s 1 (t) - s 0 (t) signal razlike; λ = 0,5(E 1 -E 0) je nivo praga. Za sistem sa aktivnom pauzom X = 0, što je u velikoj meri pojednostavljuje implementaciju optimalne šeme.

Kada je nejednakost (6.30) zadovoljena, registruje se simbol 1, u suprotnom - 0. Za implementaciju (6.30) u kolo na Sl. 6.4 zahtijeva samo jednu granu.

Na sl. 6.5a prikazuje kolo koje implementira algoritam (6.30) za binarni prenosni sistem sa unipolarnim impulsima (sa pasivnom pauzom): s 1 (t) = a, s 0 (t) = 0. Za ove signale, s Δ (t ) = s 1 (t) = a, E 1 = a 2 T, E 0 = 0, λ = a 2 T/2 i (6.30) će imati sljedeći oblik:


Razmatrani sistem binarni signali koristi se u jednostavnim uređajima žičana komunikacija. Na radio kanalima, kao iu modernim kablovskim kanalima koriste se visokofrekventni signali. Najjednostavniji binarni sistemi sa harmonijski signali su sistemi sa amplitudnim (AM), faznim (PM) i frekvencijskim (FM) ključem.

U binarnom AM s 1 (t) = acos(ω 0 t + φ), s 0 (t) = 0. Pretpostavlja se da su sve konstante uključene ovdje (a, ω 0, φ) u ovom dijelu poznate. Pošto je ovdje s Δ (t) = s 1 (t), E 1 = a 2 T/2 i E 0 = 0, pravilo (6.30) će biti zapisano na sljedeći način:


Realizira ga kolo na sl. 6.5,6, koji se razlikuje od Sl. 6.5,a blokom za množenje dolaznog signala sa referentnim signalom cos(ω 0 t + φ). Nivo praga λ̇ u ovom slučaju je jednak aT/(4RC).

U binarnom FM sistemu, s 0 (t) = a cos(tω 0 + φ), s 0 (t) = a cos (tω 0 + φ + π) = -s 1 (t). Ovo je sistem sa aktivnom pauzom, pa je stoga u (6.30) λ = 0. Lako je vidjeti da se pravilo rješenja svodi na sljedeće:


i implementiran je istim krugom na sl. 6.5,6 na λ̇ = 0. U ovom slučaju, RU igra ulogu diskriminatora polariteta.

Rice. 6.6. Optimalni demodulator sa filterom za izbjeljivanje za Gaussovu „obojenu“ buku

Razmotrimo ukratko slučaj kada Gausov šum u kanalu nije bijel ili kvazibijel, već „obojen“, tj. ima neujednačenu gustinu snage G(f) u opsegu spektra signala. Propustimo zbir signala i šuma koji pristižu na ulaz demodulatora kroz filter sa prijenosnom funkcijom k(i2πf), tako da je u opsegu spektra signala proizvod G(f) |k(i2πf)| 2 je bila konstantna vrijednost N 0 . Od svih mogućih filtara sa k(i2πf), koji zadovoljavaju ovaj uslov i koji se razlikuju samo po fazno-frekvencijskoj karakteristici, može se izabrati najmanji fazni, koji je reverzibilan. Očigledno, na izlazu filtera šum će biti kvazi-bijel: G out (f)=N 0 . Stoga se takav filter naziva filter za izbjeljivanje.

Signal s i (t) nakon prolaska kroz filter za izbjeljivanje pretvorit će se u neki drugi signal, koji označavamo s" i (t). Njegov tip se može odrediti poznavanjem s i (t) i k(i2πf). Ako sada primijenimo oscilacija od izlaza filtera za izbjeljivanje do demodulatora, koji je optimalan za prijem signala s" i (t) (i = 0, 1, ..., m-1), tada dobijamo kolo na sl. 6.6, što je očigledno optimalno za signale s i (t) sa obojenim šumom.

Treba napomenuti da na dijagramu na Sl. 6.2, 6.4 i 6.5, referentni signal mora imati iste početne faze kao i očekivani dolazni signali ili, drugim riječima, mora biti koherentan sa dolaznim signalima. Ovaj zahtjev obično komplicira implementaciju demodulatora i zahtijeva uvođenje u njega, pored blokova naznačenih na slikama, dodatnim uređajima, dizajniran za podešavanje faza referentnih signala.

Sve metode prijema, čija implementacija zahtijeva tačno a priori poznavanje početnih faza dolaznih signala, nazivaju se koherentnim. U slučajevima kada informacije o početne faze očekivani signali se izdvajaju iz samog primljenog signala (na primjer, ako faza fluktuira, ali tako sporo da se može predvidjeti iz prethodnih elemenata signala), prijem se naziva kvazikoherentnim. Ako nedostaju informacije o početnim fazama dolaznih signala ili se iz nekog razloga ne koriste, tada se prijem naziva nekoherentnim (vidi § 6.6).

Pretpostavimo da su sva izobličenja u kanalu striktno deterministička i da je slučajan samo Gausov aditivni šum, za koji ćemo u početku pretpostaviti da je bijel, sa spektralnom gustinom.To znači da pri prijenosu signala (simbola) dolazni signal može biti opisano modelom (3.28):

gde su svi poznati. Nepoznati su samo implementacija smetnje i indeks stvarno odaslanog signala, što se mora odrediti od strane sklopa za odlučivanje.

Takođe ćemo pretpostaviti da su svi konačni signali čije trajanje Ovo se dešava ako su signali koji se prenose konačni i imaju isto trajanje (sinhroni sistem), a ne postoji ni višeputno širenje u kanalu niti linearna izobličenja koja izazivaju rastezanje signala (ili su ispravljeni).

U budućnosti ćemo uvijek pretpostaviti da sistem obezbjeđuje pouzdanu sinhronizaciju sata, odnosno da su granice taktnog intervala u kojima signal stiže tačno poznate. Problemi sinhronizacije su veoma značajni pri implementaciji optimalnih demodulatora i sinhronih komunikacionih sistema uopšte, ali su van okvira ovog kursa. Uzmimo trenutak početka prijenosa kao nula.

U tim uslovima određujemo algoritam za rad optimalnog (tj. baziranog na pravilu maksimalne vjerovatnoće) demodulatora koji analizira signal u intervalu takta.Za tu svrhu potrebno je pronaći omjere vjerovatnoće za sve moguće signale. u odnosu na nultu hipotezu

Zadatak je kompliciran činjenicom da je širina spektra signala beskonačna (pošto je konačna), pa je samim tim i prostor signala beskonačno-dimenzionalan.Za takve signale (ili beskonačno-dimenzionalne vektore), kao što je već navedeno , ne postoji gustina vjerovatnoće. Međutim, postoje -ararne gustine verovatnoće za bilo koje sekcije signala (videti § 2.1).

Prvo zamijenimo bijeli šum. kvazi-bijeli, koji imaju istu jednostranu spektralnu gustinu snage ali samo u određenom frekvencijskom opsegu gdje je 1. Razmotrimo prvo nultu hipotezu, tj. pretpostavićemo da je - šum. Uzmimo jednako raspoređene sekcije na intervalu takta.Uzorci u ovim sekcijama za kvazibijeli Gausov šum su nezavisni u skladu sa (2.49). Dakle, -dimenzionalna gustina vjerovatnoće za uzete uzorke

gdje je disperzija (snaga) kvazi-bijelog šuma.

Pod pretpostavkom da je simbol prenet.Shodno tome, uslovno-dimenzionalna gustina verovatnoće sekcija će biti određena istom formulom kao (4.18), ako se zameni razlikom

Omjer vjerovatnoće za signal (u odnosu na nultu hipotezu), izračunat za poprečne presjeke:

Zamenimo varijansu njenim izrazom:

Prema pravilu maksimalne vjerovatnoće, u slučaju kvazi-bijelog šuma, kolo odlučivanja mora odabrati vrijednost koja daje maksimum. Umjesto maksimuma, možete tražiti maksimum njegovog logaritma:

Imajte na umu da drugi član u (4.22) ne zavisi i da se može zanemariti u poređenju. Tada se pravilo za odlučivanje da je signal poslan može formulirati na sljedeći način:

U -dimenzionalni euklidski prostor određuje normu razlike između vektora ili udaljenosti između njih. Stoga se algoritam (4.23) može zapisati u obliku

i dati mu jednostavnu geometrijsku interpretaciju: optimalni demodulator mora registrovati taj signal (što odgovara simbolu koji je „bliži“ primljenoj oscilaciji. Kao primjer, slika 4.2 prikazuje optimalnu particiju dvodimenzionalnog prostora primljenih signala kada se emituju binarni signali Područja odlučivanja u korist simbola nalaze se prema obje strane

Rice. 4.2. Optimalna podjela prostora primljenih oscilacija pri binarni kod i tačno poznate signale

Transformirajmo (4.22) otvaranjem zagrada i smanjenjem:

Vratimo se sada na izvorni problem za bijeli šum. U tu svrhu ćemo proširiti traku i tada će broj sekcija težiti beskonačnosti, nuli. Zbirci u (4.24) će se pretvoriti u integrale, a logaritam omjera vjerovatnoće će se odrediti kao

a algoritam odluke o prijenosu će poprimiti oblik

gdje je energija očekivanog signala

Uređaj koji direktno izračunava skalarni proizvod

se naziva aktivni filter, ili korelator, pa se prijemnik koji implementira algoritam (4.26) naziva korelacija.

Na sl. Slika 4.3 prikazuje blok dijagram prijemnog uređaja koji radi u skladu sa (4.26). Ovdje su X blokovi množitelji; A - generatori referentnih signala - integratori, uređaji za oduzimanje; uređaj za odlučivanje koji određuje, više puta (kada je ključ zatvoren), broj grane sa maksimalnim signalom.

Ako su signali odabrani na takav način da sve njihove implementacije (a samim tim i sve implementacije imaju istu energiju), algoritam

Rice. 4.3. Optimalni demodulator sa tačno poznatim signalima

prijem (4.26) (i, shodno tome, njegova implementacija) je pojednostavljen (nema potrebe za oduzimanjem) i prihvata

Iz (4.29) je jasno da se pravilo odlučivanja neće promijeniti ako se signal koji stiže na ulaz demodulatora pomnoži sa bilo kojim brojem. Stoga se sistem u kojem sve implementacije signala imaju jednaku energiju razlikuje po tome što optimalni algoritam prijema u njemu ne zahtijeva poznavanje “skale” dolaznog signala ili, drugim riječima, poznavanje koeficijenta prijenosa kanala. Ova važna karakteristika dovela je do široke upotrebe signalnih sistema jednake energije, koji se obično nazivaju aktivnim sistemima pauze. Ova karakteristika je posebno važna za kanale sa zatamnjenjem u kojima koeficijent prenosa fluktuira (vidi dole § 4.7).

Treba naglasiti da je ispravna sinhronizacija sata za identifikaciju granica parcela (prikupljanje signala na izlazu bloka više puta i oslobađanje napona sa integratora nakon donošenja odluke) neizostavan uslov. praktična implementacija razmatranih algoritama prema dijagramu na sl. 4.3.

Za najčešći binarni sistem nejednačina (4.26) ostaje samo jedna, a algoritam prijema se može predstaviti u jednostavnijem obliku:

gdje je signal razlike; nivo praga. Za sistem sa aktivnom pauzom, što uvelike olakšava implementaciju optimalne šeme.

Kada je nejednakost (4.30) zadovoljena, registruje se simbol 1, u suprotnom - 0. Za implementaciju (4.30) u kolo na Sl. 4.3 zahtijeva samo jednu granu.

Na sl. 4.4 prikazuje kolo koje implementira algoritam (4.30) za binarni prenosni sistem sa unipolarnim impulsima (sa pasivnom pauzom):

Rice. 4.4. Implementacija optimalan prijem binarni pravougaoni video impulsi

Sa ovim signalima, pravilo (4.30) će poprimiti sljedeći oblik:

Integracija u kolu na sl. 4.4 se izvodi sa dovoljnom tačnošću od strane kola, pod uslovom da je u ovom slučaju napon na kondenzatoru C u ovom trenutku jednak - Dakle, pravilo se svodi na činjenicu da ovaj napon mora premašiti nivo praga koji je unet u Kada je ova nejednakost ispunjena, upisuje se 1, ako nije ispunjeno - 0 Nakon ovog snimanja (koje se dešava kada je ključ zatvoren, potrebno je resetirati napon sa integratora kako bi se mogao primiti sljedeći element signal. Resetovanje se vrši zatvaranjem prekidača koji prazni kondenzator.

Isti sklop, uz malu modifikaciju, može se koristiti za demodulaciju u binarni sistem prijenos bipolarnim impulsima (sa aktivnom pauzom): U ovom slučaju, dakle, U ovom slučaju pravilo (4.30) nakon redukcije poprima oblik

Realizira ga kolo na sl. 4.4, ako je postavljen nivo praga X jednak nuli. U ovom slučaju, pretvara se u diskriminator polariteta, izlazeći simbol 1 kada je napon na njegovom ulazu pozitivan, inače.

Dva razmatrana sistema se koriste u najjednostavnijim žičanim komunikacionim uređajima. Radio kanali, kao i moderni kablovski kanali, koriste visokofrekventne signale. Najjednostavniji binarni sistemi sa harmonijskim signalima su sistemi sa amplitudnim pomakom (AM), faznim pomakom (PM) i frekvencijskim pomakom.

U binarnom obliku Pretpostavlja se da su poznate sve konstante uključene ovdje u ovom dijelu. Pošto će ovdje pravilo (4.30) biti napisano ovako:

Realizira ga kolo na sl. 4.5, koji se razlikuje od Sl. 4.4. blok za množenje dolaznog signala sa referentnim signalom, nivo praga u ovom slučaju je jednak

Rice. 4.5. Implementacija optimalnog prijema u binarnom sistemu AM, FM sa tačno poznatim signalom

Sa binarnim FM sistemom

Ovo je sistem s aktivnom pauzom i stoga je lako provjeriti da se pravilo odluke svodi na sljedeće: i

implementiran je istim kolom na sl. 4.5 at U ovom slučaju, igra ulogu diskriminatora polariteta. Njegov tip se može odrediti poznavanjem pozadine bijelog šuma sa spektralnom gustinom.Lako je vidjeti da će na izlazu filtera biti signala i šum će biti obojen spektralnom gustinom, tj. ulazom imaginarnog optimalni demodulator će primiti upravo one signale i šum koji je izračunat. Dakle, dijagram na sl. Slika 4.66 je demodulator za signale bijelog šuma, koji ima nižu stopu greške od optimalnog demodulatora spojenog na izlaz filtera za izbjeljivanje na Sl. 4.6a. Ova kontradikcija dokazuje da ne može postojati demodulator za signale na pozadini obojenog šuma koji je bolji od onog na Sl. 4.6a.

Imajte na umu da prilikom implementacije ovakvog demodulatora sa filterom za izbjeljivanje nastaju poteškoće zbog činjenice da se signali koji prolaze kroz filter u pravilu rastežu i dolazi do međusobnog preklapanja signalnih elemenata. Postoji nekoliko načina da se ova poteškoća prevaziđe, kako god detaljna analiza oni su van granica

Treba napomenuti da na dijagramu na Sl. 4.5, referentni signal mora imati iste početne faze kao i očekivani dolazni signali ili, drugim riječima, mora biti koherentan sa dolaznim signalima. Ovaj zahtjev obično komplikuje implementaciju demodulatora i zahtijeva uvođenje u njega pored onih prikazanih na sl. 4.5 blokovi dodatnih uređaja dizajniranih za podešavanje faza referentnih signala.

Sve metode prijema, čija implementacija zahtijeva tačno a priori poznavanje početnih faza dolaznih signala, nazivaju se koherentnim. U slučajevima kada se informacija o početnim fazama očekivanih signala izvodi iz samog primljenog signala (na primjer, ako faza fluktuira, ali tako sporo da se može predvidjeti iz prethodnih elemenata signala), prijem se naziva kvazi- koherentan. Ako informacija o početnim fazama dolaznih signala nedostaje ili se iz nekog razloga ne koristi, tada se prijem naziva nekoherentnim (vidi § 4.6 ispod).

Optimizacija algoritma razvijenog programa
Faza razvoja algoritma za vašu aplikaciju je najteža u cijelom lancu. životni ciklus programe. Uspjeh njegove implementacije u obliku programski kod. IN opšti slučaj promjene u strukturi samog programa imaju mnogo veći učinak od fino podešavanje programski kod. Idealna rješenja se ne dešava, a razvoj aplikativnog algoritma je uvek praćen greškama i nedostacima. Važno je pronaći ovdje uska mjesta u algoritmu koji najviše utiče na performanse aplikacije.

Osim toga, kao što pokazuje praksa, gotovo uvijek možete pronaći način da poboljšate već razvijeni algoritam programa. Naravno, najbolje je pažljivo razviti algoritam na početku dizajna kako bi se kasnije izbjegle mnoge neugodne posljedice povezane s modifikacijom fragmenata programskog koda u kratkom vremenskom periodu. Odvojite vrijeme za razvoj algoritma aplikacije - to će vas spasiti od glavobolje prilikom otklanjanja grešaka i testiranja programa i uštedjeti vrijeme.

Treba imati na umu da algoritam koji je efikasan u pogledu performansi programa nikada ne ispunjava 100% zahtjeve iskaza problema i obrnuto. Algoritmi koji su dobri u pogledu strukture i čitljivosti po pravilu nisu efikasni u smislu implementacije programskog koda. Jedan od razloga je želja programera da pojednostavi cjelokupnu strukturu programa korištenjem ugniježđenih struktura visokog nivoa za proračune gdje god je to moguće. Pojednostavljenje algoritma u ovom slučaju neminovno dovodi do smanjenja performansi programa.

Na početku razvoja algoritma prilično je teško procijeniti kakav će biti kod aplikacije. Da biste pravilno razvili algoritam programa, morate slijediti nekoliko jednostavnih pravila:
1. Pažljivo proučite problem za koji će se program izraditi.
2. Odrediti osnovne zahtjeve za program i predstaviti ih u formaliziranom obliku.
3. Odredite oblik prezentacije. ulazne i izlazne podatke i njihovu strukturu, kao i moguća ograničenja.
4. Na osnovu ovih podataka odredite softverska opcija(ili model) implementacije zadatka.
5. Odaberite metodu za implementaciju zadatka.
6. Razviti algoritam za implementaciju programskog koda. Algoritam za rješavanje problema ne treba miješati sa algoritmom za implementaciju programskog koda.
Uopšteno govoreći, nikada se ne poklapaju. Ovo je najkritičnija faza razvoja softver!
7. Razvijati originalni tekst programa u skladu sa algoritmom za implementaciju programskog koda.
8. Otklanjanje grešaka i testiranje programskog koda razvijene aplikacije.

Ova pravila ne treba shvatiti doslovno. U svakom konkretnom slučaju, programer sam bira metodologiju za razvoj programa. Neke faze razvoja aplikacije mogu biti detaljnije detaljnije, dok druge mogu potpuno nedostajati. Za male zadatke, dovoljno je razviti algoritam, malo ga podesiti za implementaciju programskog koda, a zatim ga otkloniti.

Tokom stvaranja velike aplikacije, možda će biti potrebno razviti i testirati pojedinačne fragmente programskog koda, što može zahtijevati dodatne detalje u softverskom algoritmu.
Brojni literarni izvori mogu pomoći programeru da pravilno algoritmizira probleme. Principi za konstruisanje efikasnih algoritama su prilično dobro razvijeni. Postoji mnogo dobre literature na ovu temu, na primjer knjiga D. Knutha “Umjetnost programiranja”.

Optimizacija zasnovana na hardveru računara
Tipično, programer softvera nastoji osigurati da performanse aplikacije što manje zavise od hardvera računala. U ovom slučaju treba uzeti u obzir najgori scenario, kada će korisnik vašeg programa imati daleko od najboljeg najnoviji model kompjuter. U ovom slučaju, “revizija” rada hardvera često omogućava pronalaženje rezervi za poboljšanje rada aplikacije.
Prva stvar koju treba uraditi je analizirati performanse perifernih uređaja na kojima se program mora pokrenuti. U svakom slučaju, znati šta radi brže, a šta sporije će pomoći pri razvoju programa. Analiza propusni opseg sistem vam omogućava da identifikujete uska grla i donesete ispravne odluke. Različiti računarski uređaji imaju različitu propusnost. Najbrži od njih su procesor i RAM, relativno sporo - HDD i CD drajv. Najsporiji su štampači, ploteri i skeneri.

Tokom intervjua često ih pitaju koja je vrsta najbrža. Trik pitanje. Objašnjavamo zašto i tražimo najbolju opciju.

Kao odgovor, trebate pitati: "Za koji slučaj je odabrano vremenski optimalno sortiranje?" I tek kada se objave uslovi, možete bezbedno proći kroz dostupne opcije.

Postoji:

  • algoritmi za sortiranje O(n 2) poput umetanja, mehurića i selekcije, koji se koriste u posebnim slučajevima;
  • brzo sortiranje ( opće namjene): prosjek O(n log n) razmene, ali najgore vrijemeO(n 2), ako je niz već sortiran ili su elementi jednaki;
  • algoritmi O(nlogn) kao što su stapanje i sortiranje u hrpi (piramidalno sortiranje), koji su također dobri algoritmi sortiranje opće namjene;
  • O(n) ili algoritmi linearnog sortiranja (select, select with exchange, select with count) za liste cijelih brojeva, što može biti prikladno ovisno o prirodi cijelih brojeva u vašim listama.

Ako je sve što znaš je stav opšti poredak između elemenata, tada će optimalni algoritmi imati složenost O(n log n). Za linearni algoritmi potreban Dodatne informacije o strukturi elemenata.

Optimalnost algoritma usko zavisi od tipa lista/nizova koje ćete sortirati, pa čak i od računarskog modela. Kako više informacija na raspolaganju, izbor će biti tačniji. Pod vrlo slabim pretpostavkama o faktorima, optimalna složenost u najgorem slučaju može biti O(n!).

Ovaj odgovor samo se odnosi na poteškoće. Stvarno vrijeme izvršavanja algoritama ovisi o tome veliki iznos faktori.

Testiranje

Dakle, koja je vrsta najbrža?

Vizualizacija

Dobra vizualizacija sortiranja je prikazana u ovom videu:

Čini se da odgovara na pitanje koja je vrsta najbrža, ali imajte na umu da na brzinu utječu mnogi faktori, a ovo je samo jedna od prikazanih opcija.

FEDERALNA AGENCIJA ZA OBRAZOVANJE

Država obrazovne ustanove viši stručno obrazovanje"Voronješki državni tehnički univerzitet"

Radiotehnički fakultet

Katedra za radiotehniku

Specijalnost 210302 "Radiotehnika"

Optimizacija algoritama pretraživanja

Završio student gr. RT-041 D.S. Chetkin

Provjerio vanredni profesor katedre V.P. Litvinjenko

Uvod. 4

1. Razvoj optimalnog dihotomnog algoritma pretraživanja sa jednako vjerovatnom raspodjelom vjerovatnoće i brojem događaja M=16. 5

2. Razvoj optimalnog algoritma pretraživanja za zakon eksponencijalne raspodjele vjerovatnoće za M=16. 7

3. Razvoj optimalnog algoritma za traženje zakona eksponencijalne raspodjele sa brojem mjerenja od N=15 do N=log2M.. 9

4. Razvoj optimalnog algoritma pretraživanja za 9. opciju raspodjele sa brojem mjerenja od N=1 do 15. 12

Zaključak. 19

Reference.. 20

Uvod

Prikrivanje karakterizira troškove (vrijeme, novac) neophodne za identifikaciju ponovnog događaja sa datom pouzdanošću (vjerovatnošću ispravna odluka, vjerovatnoća povjerenja).

Prilikom formiranja ocjene tajnosti slučajni događaj Kao okvir, usvojen je dvoalternativni postupak pretraživanja korak po korak, čija je suština sljedeća.

Skup X sa odgovarajućim zakonom raspodjele vjerovatnoće podijeljen je na dva podskupa i ( superscript- broj particije). Binarni mjerač vrši binarno mjerenje, identificirajući u kojem se podskupu nalazi ponovni događaj (njegov trag). Zatim se podskup u kojem je detektovan ponovni događaj (na slici 2.1. ovo) ponovo dijeli na dva podskupa i otkriva se trag ponovnog događaja u jednom od njih. Procedura se završava kada postoji jedan događaj u odabranom podskupu. Pretraga može biti sekvencijalna ili dihotomna. U prvom algoritmu () vrši se sekvencijalna pretraga stanja od prvog do posljednjeg sve dok se ne naiđe na ponovni događaj.

Drugi algoritam pretraživanja () uključuje podjelu cijelog skupa stanja na pola, provjeru prisutnosti ponovnog događaja u svakom od ovih dijelova, zatim podjelu odabrane polovine skupa X na dva jednaka dijela, provjeru prisutnosti ponovni događaj u njima i tako dalje. Pretraga se završava kada postoji jedan događaj u odabranom podskupu.

Postoji nekoliko načina da se minimiziraju procedure binarnog pretraživanja. Primjeri uključuju Zimmerman-Huffman i Shannon-Fono metode. Algoritam se može optimizirati pomoću razni parametri uzimajući u obzir troškove mjerenja i bez. U ovom laboratorijskom radu istražili smo optimizaciju dihotomnog algoritma pretraživanja zasnovanog na najmanjoj prosječnoj prikrivenoj vrijednosti.

1. Razvoj optimalnog dihotomnog algoritma pretraživanja sa jednakovjerovatnom distribucijom vjerovatnoće i brojem događaja M=16

Uključite način dihotomnog pretraživanja. Postavite broj događaja sa uniformnom distribucijom vjerovatnoće i postavite broj dimenzija. Razvijte optimalni algoritam pretraživanja, postavite ga na ukucano polje, izvršite modeliranje i odredite potencijalnu tajnost.

U ovom slučaju, najoptimalniji algoritam pretraživanja je algoritam razvijen po Shannon-Fano principu. Ova metoda uključuje podelu originalnog skupa elemenata sa datom distribucijom na dva podskupa sa brojevima 0 i 1 tako da su verovatnoće ulaska u njih što je moguće bliže (idealno na pola). Tada se svaki od rezultirajućih podskupova posebno dijeli na dva podskupa sa istim uslovom i brojevima od 00,01,10,11. Particija se završava kada svi elementi podskupa imaju samo jedan element.

Kao rezultat, razvijen je optimalni algoritam pretraživanja za zakon distribucije jednake vjerovatnoće.

Izračunajmo potencijalnu tajnost za jednako vjerovatni zakon raspodjele vjerovatnoće:

(1)

Kao rezultat za ovaj slučaj:

Kao rezultat, dobijen je jednostavan izraz za određivanje potencijalne tajnosti zakona uniformne distribucije, koji uz dihotomni algoritam pretraživanja ne zavisi od nabrajanja kombinacije mjerenja, već samo od tipa stabla pretraživanja.

Razvoj optimalnog algoritma pretraživanja za zakon eksponencijalne raspodjele vjerovatnoće za M=16

Odabrati eksponencijalnu distribuciju vjerovatnoće događaja oblika , , - faktor normalizacije, sa istim kao u tački 1. Odrediti optimalni algoritam pretraživanja, postaviti ga na polje biranja, izvršiti modeliranje, odrediti potencijalnu tajnost.

U početku, ostavimo stablo pretraživanja isto kao u prethodnom pasusu. “PrintScreen” programa “Traži” za ovaj slučaj za zakon eksponencijalne distribucije.

Gledajući tok krivulje uklanjanja nesigurnosti, dolazimo do zaključka da je njen tok suboptimalan. Koristeći poznate algoritame optimizacije pretraživanja, dolazimo do zaključka da u ovom slučaju optimalni algoritam pretraživanja uopće nije dihotomni algoritam za bilo koju kombinaciju pronalaženja ponovnog događaja, već sekvencijalni. Za ovaj slučaj je optimalan, jer se najvjerovatnije provjerava prvim mjerenjem, pa sljedećim i tako sve dok ne bude nesigurnosti u odluci.

Dokaz upotrebe sekvencijalnog algoritma pretraživanja. U tu svrhu koristi se Zimmerman-Huffman metoda. Ova metoda optimizacije sastoji se od dvije faze: “Operacije nabavke” i “Očitavanje”. O tome se detaljnije govori u knjizi.

Pošto je eksponent veći od 1, ovo zadovoljava nejednakost:

Gdje je λ eksponent distribucije vjerovatnoće jednak 1, tada je za ovaj slučaj optimalan sekvencijalni algoritam traži.

Kao rezultat izvršenja ovog stava Pokazano je da je algoritam sekvencijalnog pretraživanja optimalan. Upoređujući rezultate dva koraka, dolazi se do zaključka da za svaki zakon raspodjele vjerovatnoće postoji vlastiti optimalni algoritam pretraživanja, bilo sekvencijalni, dihotomni ili kombinovani algoritam pretraživanja.

Razvoj optimalnog algoritma za traženje zakona eksponencijalne distribucije sa brojem mjerenja od N=15 do N=log2M

Za eksponencijalnu distribuciju vjerovatnoće iz tačke 2, sukcesivno opadajuću maksimalan broj mjerenja od do , razviti optimalne algoritme pretraživanja i na osnovu rezultata simulacije odrediti odgovarajuće vrijednosti prosječnog broja mjerenja.

Sa N=15 od prethodni paragraf Algoritam sekvencijalnog pretraživanja je optimalan i za njega se prosječna vrijednost binarnih mjerenja određuje na isti način kao i za potencijalnu tajnost. Vrijednost Rcp prikazana je u tabeli 1.

Tabela 1 – Zavisnost prosječnog broja mjerenja

o broju mjerenja sa optimalnim algoritmima pretraživanja

Izračunajmo potencijalnu tajnost za svaki slučaj koristeći formulu 1:

Kada je broj mjerenja jednak 3, nemoguće je razviti algoritam pretraživanja, jer to ne zadovoljava uvjet izvodljivosti pretraživanja, odnosno:

Kao rezultat, na slici 8 prikazan je grafik zavisnosti prosječnog broja mjerenja od broja mjerenja.

Slika 8 – Zavisnost prosječnog broja mjerenja od broja mjerenja za zakon eksponencijalne distribucije vjerovatnoće

4. Razvoj optimalnog algoritma pretraživanja za 9. opciju distribucije sa brojem mjerenja od N=1 do 15

Za svoju verziju distribucije vjerovatnoće za broj događaja, razviti optimalni algoritam pretraživanja, izgraditi stablo pretraživanja, objasniti njegov oblik, šta ga određuje?

U polju za kucanje navedite optimalni kompletan algoritam pretraživanja. Uzimajući uzastopno posljednja mjerenja (do), razmotrite zavisnost prosječnog broja mjerenja, vjerovatnoće nepotpunog rješenja i preostale tajnosti od trajanja pretrage. Rezultati su prikazani u tabeli 2.

Tabela 2 – Zavisnost prosječnog broja mjerenja,

rezidualna tajnost, vjerovatnoća nesigurnosti u zavisnosti od broja mjerenja

n 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R 4 3.775 4.325 4.725 5.1625 5.375 5.5 5.65 5.7 5.7625 5.8 5.8
Pneop 0.55 0.7625 0.875 0 0 0 0 0 0 0 0 0 0 0 0
Sost 0.801 0.785 0.791 0.802 0.814 0.826 0.837 0.848 0.858 0.868 0.877 0.885 0.893 0.901

U ovoj tabeli, Sost je izračunat na nivou pouzdanosti od 0,9. "PrintScreen" programa "Search" kada različita značenja broj mjerenja prikazan je na slikama 8-11.

Kada je broj mjerenja manji od 4, postoji mogućnost nepotpunog rješenja zbog činjenice da je nemoguće provjeriti sve događaje. Kao rezultat toga, ne mora se sve provjeriti, najbolja opcija najvjerovatniji događaji će biti provjereni. „PrintScreen“ programa „Search“ kada je broj mjerenja manji od 3 prikazan je na slici 12.

Napravimo graf zavisnosti potencijalne tajnosti od broja merenja, koji je prikazan na slici 13.

Slika 13 – Zavisnost prosječnog broja mjerenja od broja mjerenja za 9. zakon distribucije vjerovatnoće

Slika 14 – Zavisnost vjerovatnoće nepotpunog rješenja od broja mjerenja za 9. zakon raspodjele vjerovatnoće

(3)

(4)

Vjerovatnoću pouzdanosti ćemo promijeniti u rasponu od 0,7÷0,9. Kao rezultat, dobijen je graf zavisnosti preostale tajnosti od broja merenja, koji je prikazan na slici 15.

Nost(Pdov) Pdov=0,9

Slika 15 – Zavisnost preostalog prikrivanja pri vrijednostima vjerovatnoće pouzdanosti od 0,7÷0,9

Iz gornjeg grafikona možemo zaključiti da Pdov treba izabrati blizu jedan, to će dovesti do smanjenja preostale tajnosti, ali to nije uvijek moguće.

Slika 16 – Zavisnost preostalog prikrivanja za vrijednosti broja dimenzija 4,8,16

Od ovog rasporeda slijedi da, kada veliki broj mjerenja, rezidualna tajnost je veća, iako logično veći broj mjerenja će smanjiti vjerovatnoću neizvjesnosti odluke.

Zaključak

U ovom radu su provedene optimizacijske studije dihotomnog algoritma pretraživanja pomoću Poick programa. Napravljeno je poređenje sa sekvencijalnim algoritmom. Tip SSC je proučavan za uniformnu, eksponencijalnu i distribuciju događaja specificiranih prema varijanti. Razvijene vještine rukovanja Poick programom.

Tokom laboratorijskog rada razvijeni su optimalni algoritmi pretraživanja za sekvencijalne i dihotomne algoritme pretraživanja.

Izračunata je kriva uklanjanja nesigurnosti i utvrđeno je da je u nekim slučajevima ispravnije koristiti sekvencijalni algoritam pretraživanja, au drugim dihotomni. Ali ovo se može povezati samo s izvornom distribucijom vjerovatnoće.

Ispravan rad Poisk programa potvrđen je proračunima izvedenim u programskom paketu Matcard 2001.

Bibliografija

1. Osnove teorije tajnosti: tutorial za redovne studente specijalnosti 200700 „Radiotehnika” / Voronješki državni tehnički univerzitet; Comp.Z.M. Kanevsky, V.P. Litvinjenko, G.V. Makarov, D.A. Maksimov; uredio Z.M. Kanevsky. Voronjež, 2006. 202 str.

2. Smjernice To laboratorijski rad„Istraživanje algoritama pretraživanja“ u disciplini „Osnove teorije stealtha“ za studente specijalnosti 200700 „Radiotehnika“ redovni studij / Voronješki državni tehnički univerzitet; comp.Z.M. Kanevsky, V.P. Litvinenko. Voronjež, 2007. 54 str.

3. STP VSTU 005-2007. Dizajn kursa. Organizacija, red, izvođenje obračuna i objašnjenja i grafički dio.

Najbolji članci na ovu temu