Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Introduzione all'informatica e alla risoluzione dei problemi: algoritmi e complessità, Appunti di Elementi di Informatica

appunti presi in aula del corso informatica e problem solving

Tipologia: Appunti

2019/2020
In offerta
30 Punti
Discount

Offerta a tempo limitato


Caricato il 16/02/2020

alessia-martinotta
alessia-martinotta 🇮🇹

3.7

(3)

10 documenti

1 / 2

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
INFORMATICA E PROBLEM SOLVING
Lezione10 bis
POSSIBILE DOMANDA D’ESAME: Cosa è un algoritmo e di cosa si tratta? Se
l’input è 7, quale è il risultato?
Vari livelli di complessità
- Costante;
- Logaritmica;
- Lineare;
- Pseudolineare;
- Quadratica;
- Cubica;
- Polinomiale problemi in P (trattabili): ordinare o ricercare (in una lista);
- Esponenziale problemi intrattabili (permutazioni).
La velocità del calcolatore influisce sul tempo.
I problemi vengono trattati in base al miglior algoritmo:
oAlgoritmi con soluzioni efficienti;
oAlgoritmi con problemi intrattabili;
oAlgoritmi senza soluzione più efficiente.
Problemi intrattabili
LA TORRE DI HANOI
Tre paletti e un certo numero di dischi di grandezza decrescente.
Leggenda: i monaci di Hanoi ne hanno da risolvere uno con 64 dischi. Il numero
minimo di mosse per completare il gioco è 2n -1.
Avendo tre dischi il numero minimo è 7.
Occorrono circa 585 miliardi di anni ai monaci. Quando finiranno si dice che finirà il
mondo.
Problema intrattabile perché l’algoritmo richiede un numero esponenziale di passi.
Classe di complessità NP
Problemi polinomiali non deterministici. Problemi risolvibili in tempo polinomiale da
un algoritmo non deterministico, ma per i quali non è ancora stata trovata una
soluzione deterministica in tempo polinomiale.
Algoritmo non deterministico:
- Si basa sulla creatività del meccanismo che esegue il programma;
- Il modo più semplice per capire questa definizione è immaginare l’algoritmo
di Gastone (cugino di Paperino, fortunatissimo). Gastone ogni volta che deve
fare una scelta trova sempre quella giusta; in questo modo evita tutti i passi
falsi e arriva alla soluzione di un problema NP in tempo polinomiale.
Relazione tra P e NP
Tutti i problemi in P (polinomiali, trattabili) sono anche in NP.
Per ora non vale il contrario.
pf2
Discount

In offerta

Anteprima parziale del testo

Scarica Introduzione all'informatica e alla risoluzione dei problemi: algoritmi e complessità e più Appunti in PDF di Elementi di Informatica solo su Docsity!

INFORMATICA E PROBLEM SOLVING

Lezione10 bis POSSIBILE DOMANDA D’ESAME: Cosa è un algoritmo e di cosa si tratta? Se l’input è 7, quale è il risultato? Vari livelli di complessità

  • Costante;
  • Logaritmica;
  • Lineare;
  • Pseudolineare;
  • Quadratica;
  • Cubica;
  • Polinomiale  problemi in P (trattabili): ordinare o ricercare (in una lista);
  • Esponenziale  problemi intrattabili (permutazioni). La velocità del calcolatore influisce sul tempo. I problemi vengono trattati in base al miglior algoritmo: o Algoritmi con soluzioni efficienti; o Algoritmi con problemi intrattabili; o Algoritmi senza soluzione più efficiente. Problemi intrattabili LA TORRE DI HANOI Tre paletti e un certo numero di dischi di grandezza decrescente. Leggenda: i monaci di Hanoi ne hanno da risolvere uno con 64 dischi. Il numero minimo di mosse per completare il gioco è 2n^ -1. Avendo tre dischi il numero minimo è 7. Occorrono circa 585 miliardi di anni ai monaci. Quando finiranno si dice che finirà il mondo. Problema intrattabile perché l’algoritmo richiede un numero esponenziale di passi. Classe di complessità NP Problemi polinomiali non deterministici. Problemi risolvibili in tempo polinomiale da un algoritmo non deterministico, ma per i quali non è ancora stata trovata una soluzione deterministica in tempo polinomiale. Algoritmo non deterministico:
  • Si basa sulla creatività del meccanismo che esegue il programma;
  • Il modo più semplice per capire questa definizione è immaginare l’algoritmo di Gastone (cugino di Paperino, fortunatissimo). Gastone ogni volta che deve fare una scelta trova sempre quella giusta; in questo modo evita tutti i passi falsi e arriva alla soluzione di un problema NP in tempo polinomiale. Relazione tra P e NP Tutti i problemi in P (polinomiali, trattabili) sono anche in NP. Per ora non vale il contrario.

Lezione11 Linguaggi e programmi Linguaggio di programmazione ben definito, con sintassi rigida, che serve per veicolare la semantica (significato preciso) al calcolatore. Sapere differenza tra i tre linguaggi, ma non dettagliatamente. Programma in BASIC  quando davanti alla riga c’è l’apice ‘ vuol dire che quello che c’è appena dopo è un commento. Nel linguaggio C il commento si trova dentro a /* */ Entrambi hanno parte che identifica il programma, parte dove vengono dichiarate le variabili che verranno utilizzate, parte con istruzioni (parte esecutiva, racconta al calcolatore come si fanno le cose, è detta anche corpo del programma). Istruzioni Ingresso e uscita; Aritmetico-logiche: per svolgere operazioni più o meno complesse; Di controllo: modificare il flusso di esecuzione, fare ad esempio un test.