SW problem - chybny algoritmus

Oldrich Kepka hw
Středa Březen 17 11:49:31 CET 2004


>
> > > > (Ta-Tb)/2). Posloupnosti X a Y jsou obdelniky o stejnem kmitoctu, al
e
> > > > navzajem posunute. A prave z tohoto posunuti (X predbiha Y a Y predb
iha
> > X)
> > >                      ~~~~~~~~~~~~~~~~~~~~~~~~~
> > > Tady je chyba v uvaze. Posununti = k, coz je konstanta, kterou jsme
> > > dodali. Tudiz posloupnosti se budou "predbihat" vzdy stejne, je zcela
> > > jedno, ktery kmitocet je vetsi ci mensi. Mimoto presnou hodnotu Dt nem
ame.
> >
> > To je sice pravda. Ale kdyz jsem mluvil o predbihani, tak jsem mel na my
sli
> > predbihani v case ne v indexu i. Bohuzel je treba merit cas,
>
> A neni nahodou casove posunuti signalu primo umerne konstante k?
A zaroven Ta-Tb neboli k*(Ta-Tb).
>
> > Podle me je to nejjednodussi reseni. Jinak to nejde.
>
> Myslim, ze tenhle algoritmus nefunguje vubec. Mimoto bez pomerne presne
> znalosti Ta-Tb (coz nemame, mame pouze ocekavane Ta-Tb) bude hazet uplne
> nesmyslne vysledky uz proto, ze pri malem (skutecnem) Ta-Tb
> se bude perioda obdelniku ziskaneho v bode (1) znacne menit v zavislosti
> na Ta-Tb cili posun o konstantu k se trefi pro ruzna Ta-Tb do uplne jineho
> mista a vysledek nebude vypovidat vubec nic o vubec nicem.
Samozrejme neni mozno merit velky rozsah Ta-Tb.

>
> Toto snadno nahledneme, uvazime-li limitni pripad, kdy Ta=Tb, tedy
> perioda obdelniku ziskaneho v (1) bude nekonecne dlouha. Tehdy muzeme
> volit k zcela libovolne bez rozumneho vysledku - opet pripominam, ze
> mame pouze ocekavanou hodnotu Ta-Tb, tohle ukazuje, ze bez presne
> znalosti Ta-Tb algoritmus nic neresi.
To je pravda, ale v praxi nepravdepodobne.

> Tim ale netvrdim, ze znalost pomerne presne hodnoty Ta-Tb neco resi.
> Zcela jiste k Tb1 (buno predpokladejme ze Tb1>Ta) najdu Tb2<Ta takove,
> ze obdelnik ziskany v bode (1) bude mit stejnou periodu pro
> oba pripady (myslim tim Tb1 vs Tb2) a signaly ziskane v bode 2 se tak
> budou predbihat naprosto stejnym zpusobem.
I) Ano takove Tb1 a Tb2 existuje. Stejnou preiodu sice maj, ale posovaj se o
pacnym smerem (pokud sedujem posloupnosti), takze se signaly nebudou predbih
at naprosto stejnym zpusobem.
Ale pro Tb1:
(Ta-Tb1)*k
a pro Tb2
(Ta-Tb2)*k. Coz uznate ze jsou opacne hodnoty.

> Pricemz navic |Ta-Tb1| se nebude prilis lisit od |Ta-Tb2|.
Jsou stejne.
> totiz lim Tb2 (Tb1->Ta) = Ta
Ano.

> cimz take lim ||Ta-Tb1|-|Ta-Tb2|| (Tb1->Ta) -> 0
> nebot tento rozdil je shora omezen max(|Ta-Tb1|, |Ta-Tb2|)
> (viz. tzv. veta o dvou policajtech)
ano.

>
> Toto je jasny protipriklad - sice zkonstruovany ledabilym zpusobem, je
> treba se zamyslet nad tim, proc k Tb1 existuje Tb2 uvedenych vlastnosti
> (nicmene je tomu skutecne tak), ale to uz necham na vas.
To sice existuje, ale nic to nedokazuje. Viz I). Pozor na ty absolutni hodno
ty.

> Pokud mne ma neco presvedcit o spravnosti algoritmu, je to pouze
> matematicky dukaz.
Na to bohuzel nemam cas. Ale domnivam se, ze vyvratit spravnost tohoto algot
itmu (pokud nespravny je) je jednodussi, nez dokazat jeho spravnost. Staci n
alezt jeden pripad, ve kterem to nefunguje.

Jinak, volba konstanty k, neni zas tak kriticka. Zavisi na tom, v jakych mez
ich se pohybuje |Ta-Tb| (staci odhad) a jak presne jsme schopni merit cas.

> Pavel Chromy







Další informace o konferenci Hw-list