Algoritmo non deterministico

Autore: Randy Alexander
Data Della Creazione: 3 Aprile 2021
Data Di Aggiornamento: 26 Giugno 2024
Anonim
Non-deterministic Polynomial Time Decidable Problem - Intro to Algorithms
Video: Non-deterministic Polynomial Time Decidable Problem - Intro to Algorithms

Contenuto

Definizione - Cosa significa algoritmo non deterministico?

Un algoritmo non deterministico può fornire output diversi per lo stesso input su esecuzioni diverse. A differenza di un algoritmo deterministico che produce solo un singolo output per lo stesso input anche su corse diverse, un algoritmo non deterministico viaggia in varie rotte per arrivare ai diversi risultati.


Gli algoritmi non deterministici sono utili per trovare soluzioni approssimative, quando una soluzione esatta è difficile o costosa da derivare usando un algoritmo deterministico.

Un'introduzione a Microsoft Azure e Microsoft Cloud | In questa guida imparerai cos'è il cloud computing e in che modo Microsoft Azure può aiutarti a migrare e gestire la tua azienda dal cloud.

Techopedia spiega l'algoritmo non deterministico

Un esempio di algoritmo non deterministico è l'esecuzione di algoritmi simultanei con condizioni di gara, che possono mostrare output diversi su corse diverse. A differenza di un algoritmo deterministico che percorre un singolo percorso da input a output, un algoritmo non deterministico può prendere molti percorsi, con alcuni che arrivano agli stessi output e altri che arrivano a output diversi. Questa funzione è matematicamente utilizzata nei modelli di calcolo non deterministici come l'automa finito non deterministico.


Un algoritmo non deterministico è in grado di essere eseguito su un computer deterministico che ha un numero illimitato di processori paralleli. Un algoritmo non deterministico di solito ha due fasi e fasi di output. La prima fase è la fase di indovinare, che utilizza caratteri arbitrari per eseguire il problema.

La seconda fase è la fase di verifica, che restituisce vero o falso per la stringa scelta. Ci sono molti problemi che possono essere concettualizzati con l'aiuto di algoritmi non deterministici incluso il problema irrisolto di P vs NP nella teoria dell'informatica.

Gli algoritmi non deterministici vengono utilizzati per risolvere problemi che consentono risultati multipli. Ogni risultato che l'algoritmo non deterministico produce è valido, indipendentemente dalle scelte fatte dall'algoritmo durante l'esecuzione.