Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Ma cos'è un problema?
Un quesito che dev'essere risolto
Per ogni quesito non esiste un'unica risposta
Ce ne sono di migliori, peggiori, giuste e sbagliate
Domanda
Istanza è nella classe il primo oggetto creato Perché risolvere i problemi NP in P può essere un vantaggio e uno svantaggio?
È la valorizzazione di una classe, o meglio una possibile risoluzione di un problema Tutte le chiavi crittografiche diventerebbero inutili perché violabili in un tempo accettabile, ma ci
sarebbero vantaggio a scopi militari e civili, traduzioni istantanee, traffico, forecast (meteorologia)
La qualità di un algoritmo dipende da: Potrebbe trovare soluzione a corpo che si muove a velocità uguale o superiore a velocità della luce
- Tempo di esecuzione (complessità temporale)
- Occupazione di memoria (complessità spaziale) Algoritmo è efficiente se risolvibile in tempo ragionevole
Altrimenti è intrattabile (anche se computabile)
Ci sono operazioni che occupano più tempo di altre
Le istruzioni di un algoritmo hanno un peso
C'è distinzione netta per complessità di problemi computabili (con soluzione) Dimensione dei dati minima è log n
Ci sono quelli polinomiali, ovvero quelli computabili in tempo ragionevole
Quelli esponenziali computabili in tempo non ragionevole Problema della clique è 2
Il tempo di esecuzione dipende da: Le O grandi sono la misura della complessità asintotica
- I dati in ingresso
- Il linguaggio in cui è stato scritto
- La qualità della traduzione in sequenze di bit
- La velocità dell'elaboratore
Il tempo di calcolo si esprime come il numero complessivo di operazioni elementari in funzione della dimensione n dei
dati in ingresso
Nonostante il progresso tecnologico ci sono alcuni problemi con un tempo di calcolo molto elevato
Gli algoritmi si dividono in classi:
- Algoritmi di ricerca (n operazioni)
- Algoritmi di ordinamento (n2 operazioni)
- Algoritmi decisionali (2n operazioni)
Gli "O" grandi sono un criterio matematico utilizzato per dividere gli algoritmi in base alla loro complessità
Si dice che una funzione f(n) è di ordine g(n) e si scrive f(n) = O(g(n)) se esiste una costante C tale che f(n)≤ Cg(n)
- Algoritmi lineari
- Sottolineari
- Costanti
- Polinomiali
- esponenziali
All'interno della classe esponenziale è stata scoperta la classe NP (non deterministic polinomial)
Di loro natura esponenziale che possono essere ridotti a polinomiali girando su una macchina non
deterministica
Essendo nel non-determinismo occupano molto spazio e tempo
- Partizione
- Clique
- Moltiplicazione
- Ordinamento
Informatica Pagina 1
Si può partire dalla città che si vuole
Pagina 281
Sarebbero risolti quasi completamente i problemi di traffico, scegliere il percorso più corto
Modifiche alla viabilità in base alle necessità
Informatica Pagina 2