xneo ha scritto:[...]
Però dimostrare la presenza di un limite inferiore sotto il quale non si può scendere, essenzialmente significa aver dimostrato che l'"ago" è effettivamente nel pagliaio.
[...]
In realtà la dimostrazione di un limite inferiore è una sorta di "barriera" che viene data. Dire che abbiamo trovato l'ago (l'algoritmo) nel pagliaio significa affermare che abbiamo determinato uno dei possibili algoritmi che stanno su tale barriera. In realtà il paragone con l'ago nel pagliaio regge fino ad un certo punto poiché potremmo scriverne anche molti di algoritmi che hanno una complessità pari a quella intrinseca del problema.
xneo ha scritto:[...]
Nel caso dell'ordimento se il merge sort non fosse ancora stato inventato, dal punto di vista matematico si sarebbe potuto affermare che un algoritmo Teta(n log n) esiste?
[...]
In teoria sì perché la complessità intrinseca del problema è polinomiale e non esponenziale (qui però mi addentro in dettagli troppo avanzati relativamente a questa questione di cui stiamo ragionando). Credo comunque che prima che si inventasse il mergesort fossero già noti altri algoritmi di ordinamento per confronti (buon parte dei quali li conosciamo) che nel caso migliore o medio (ma non sicuramente nel caso peggiore) avessero una complessità pari ad $O(n \log n)$
xneo ha scritto:[...]
Ad esempio sotto opportune ipotesi il Teorema di Weierstrass garantisce l'esistenza di massimo e minimo di una funzione.
Poi il fatto che magari non si sappia calcolarli (magari la funzione è difficile è non ci va di calcolare e studiare la derivata) non ne esclude l'esistenza.
Sì, diciamo (facendo un paragone) che l'ideale è sempre cercare di produrre enunciati quanto più generici possibile limitando pertanto al minimo indispensabile le ipotesi. Lo stesso che tu affermi citando il teorema di Weierstrass avviene quando si riesce a determinare la complessità intrinseca del problema: la calcolabilità ci permette (in vari casi ma non sempre) di calcolare questa ma non sappiamo quanto complicato può essere determinare un algoritmo avente tale complessità.
PS: tranquillo anche se usi espressioni come "ago in un pagliaio" quando fai delle considerazioni e degli esempi. Molto spesso (almeno secondo la mia esperienza) è proprio con gli esempi fatti diciamo "a basso livello" che si riescono a comprendere meglio i concetti
.