determinisztikus algoritmus
algoritmusok elmélete
Az algoritmusok elmélete - az „algoritmus” általában érteni „determinisztikus” algoritmus. „Determinisztikus” - eltér a több híres „kettős” a képesség, hogy az eredmény különböző módokon ( „determinisztikus” - legyen az egyetlen módja :. Az adatok - az eredmény - mivel valamilyen módon végre „nem-determinisztikus” vezethet ugyanazt az eredményt, és néhány - különböző eredményeket). Ezek a tulajdonságok - matematikailag: a „határozatlan” számítási modell. Ez az úgynevezett „nem-determinisztikus automata”.
Algoritmusok kidolgozása
A fejlesztés az algoritmusok - „determinisztikus” algoritmusok gyakran használják, ha a feladat. megoldható az algoritmus - lényegében - lehetővé teszi, hogy megtalálja sok üzletek (vagy - ha van egy út a sok különféle módokon megtalálható az összes „egyformán jó”.). Fontos, hogy minden egyes kimeneti „determinisztikus” algoritmus - a hívek; - függetlenül attól, hogy milyen módon, „kiválasztott” algoritmus futási időben.
„Bevásárló lista”
Mi képviseli a „bevásárló lista”: a termékek listáját vásárolni -, hogy lehet érteni kétféleképpen jeleként vásárolni az összes ezen árucikkek.
- . tetszőleges sorrendben ( „nem-determinisztikus” algoritmus);
- . ebben a sorrendben ( „determinisztikus” algoritmust).
„Egyesítés sort”
Tegyük fel, hogy - egy sor „szervezetek” (pl - 300 diák), aki kell „összehangolására” (mondjuk - a „szám” diák). Az egyik algoritmusok erre - „merge sort”:
- Osszuk beállított dvepriblizitelno ravnyegruppy;
- Szűrő obegruppy ezt a válogatás (azaz „rekurzívan”);
- Keverjük össze az eredményeket ( „merge”, lásd az eljárás neve.).
Elem lehet az „egyedi” rendezve, amikor válogatás kritériuma mindig határozza meg a „teljes” érdekében (vagyis a „szám” hallgatók „egyedi”: nem ismételjük egymást). De egyébként (például - ha Sorrend vezetéknevét diákok vizsgálatok kivételével névrokonaival) - Válogatás az eredmény nincs definiálva: Nem ismert, hogy milyen a megrendelés tekinthető hűséges; - azaz, algoritmus „nem-determinisztikus.”
„Test egyszerűség”
Feladat. Adott egy pozitív egész szám nagyobb, mint egy; meghatározni, hogy ez egyszerű.
Határozat. „Determinisztikus” algoritmus - az alábbiak szerint:
- Mark bármely egész szám «k» - oly módon, hogy 2 ≤ k ≤ √ (n);
- Ha a „k” egy tényező „n” - fejeződik be a válasz „nem”; másként nem rendelkezik -, hogy maradjon a válasz „ismeretlen”.
Látható, hogy az algoritmus nem mindig eredményez a „hasznos” választ, de nem hibás választ ad.
Ez az algoritmus - „nem-determinisztikus”: ez nem mindig olyan „hasznos” megoldás -, de lehet, bizonyos kombinációi döntéseket. Ez - egy példa a „kereső” típus „determinisztikus” algoritmus.