Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
* určovať softvér (alebo správanie): Vzťahuje sa na softvér, v ktorom bude vzhľadom na rovnaké vstupy a počiatočné podmienky * vždy * produkovať rovnaké výstupy. Neexistuje žiadna náhodnosť alebo nepredvídateľné správanie. Cesta vykonávania je úplne určená vstupom a logikou programu. Príklady:
* Jednoduchá kalkulačka: Vzhľadom na 2 + 2 sa vždy vráti 4.
* kompilátor: Vzhľadom na rovnaký zdrojový kód by mal vždy vygenerovať rovnaký kód objektu (s výmenou optimalizácií kompilátora, ktoré by mohli zmeniť pokyny bez zmeny výsledku).
* A deterministická simulácia: Fyzikálna simulácia, ktorá používa pevné pravidlá a nezahŕňa náhodnosť.
* Neurčitý softvér (alebo správanie): Vzťahuje sa na softvér, kde sa môže výstup líšiť aj pri rovnakých vstupoch a počiatočných podmienkach. Táto nepredvídateľnosť je často úmyselná a vyplýva z:
* Generovanie náhodných čísel: Používa sa v hrách, simuláciách alebo kryptografii pre nepredvídateľné prvky.
* súbežnosť/paralelizmus: V programoch s viacerými závratmi môže byť poradie vykonávania vlákien nedeterministické, čo vedie k rôznym výsledkom v závislosti od rozhodnutí plánovania, ktoré vykonáva operačný systém.
* Externé faktory: Interakcia softvéru s externými zariadeniami (senzory, siete) môže prijímať rôzne vstupy, čo vedie k rôznym výstupom aj s rovnakým počiatočným stavom programu.
* neterministické algoritmy: Niektoré algoritmy podľa návrhu skúmajú rôzne cesty riešenia a ich výsledok nie je zaručený, že budú rovnaké pri každom behu (napr. Niektoré optimalizačné algoritmy alebo náhodné algoritmy vyhľadávania).
v súhrne:
Základný rozdiel spočíva v predvídateľnosti. Určujúci softvér je predvídateľný; Jeho výstup je funkciou výlučne jeho vstupom. Neurčitý softvér predstavuje prvok náhodnosti alebo nepredvídateľnosti, čo vedie k potenciálne odlišným výstupom aj pre rovnaké vstupy. „Neurčitosť“ nemusí byť nevyhnutne chyba; Je to často funkcia navrhnutá do systému na konkrétne účely.