Metodo Conway

È un metodo statistico utilizzato in programmazione che consente di valutare la complessità di un algoritmo per la risoluzione di un problema, utilizzando un'analisi della sua potenziale efficacia e facilità di comprensione per l'utente finale. Il metodo è stato sviluppato dall'autore a metà del XX secolo, James MacMillan Conway. Conway ha dimostrato due risultati importanti: primo, che per alcune classi di problemi esistono più modelli di complessità computazionale, quindi per un dato problema potrebbe non essere ovvio a quale altra classe può essere associata una sottoclasse; in secondo luogo, ha mostrato come classificare gli algoritmi in base alla loro complessità computazionale misurando il numero di iterazioni necessarie per selezionare qualsiasi elemento nell'output finché non viene incluso quello desiderato. In breve, l’algoritmo viene valutato in base a quante volte deve provare le opzioni nella speranza di indovinare la risposta corretta per ottenerla. Tuttavia, con questo metodo di stima della complessità di un algoritmo, sorge la questione se il punteggio dell'algoritmo sia il valore massimo calcolato o il valore medio/atteso, poiché potrebbe verificarsi un caso in cui il punteggio atteso è molto inferiore al punteggio massimo calcolato. Questo problema è stato parzialmente risolto in una stima modificata della complessità dell'algoritmo, la complessità di crescita, che fornisce un limite superiore al tempo di esecuzione previsto.