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:

  1. Mark bármely egész szám «k» - oly módon, hogy 2 ≤ k ≤ √ (n);
  2. 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.

Kapcsolódó cikkek