Alumni Mathematica

Come la scienza ci aiuta a risolvere i problemi quotidiani

Matematica: un
approccio algoritmico
Stefano Franco
stefano@alumnimathematica.org
15 febbraio 2014

Liceo Scientifico “Aldo Moro”
Quanti di voi conoscono
la parola ALGORITMO?
Cosa c’entra Google con
gli algoritmi?
1. Algoritmo, cenni storici
Abū Jaʿfar Muhammad
ibn Mūsā al-Khwārizmī
(vissuto tra il 780–850 ca)
2. Cos’è un algoritmo?
Un algoritmo è un procedimento che risolve un
problema mediante un certo numero di passaggi

INPUT

(dati iniziali)

ALGORITMO

OUTPUT

(risultato)
Ogni giorno
applichiamo algoritmi
senza saperlo
3. L’universalità
Ogni algoritmo si costruisce in modo tale che
sia vero per ogni caso

ALGORITMO
Gli algoritmi hanno
grandissima
applicazione
nell’automazione
Esempio 1: il MCD (massimo comun divisore)

Dati due numeri, il MCD è il più grande divisore
comune tra i due numeri
42 = 2 x 3 x 7
56 = 2 x 2 x 2 x 7
MCD(42, 56) = 2 x 7 = 14
Algoritmo MCD ha due operazioni:
1. Scompone i numeri in fattori primi
2. Estrae i componenti comuni
MCD(42, 56)

42, 56

N1, N2
(il primo numero da
scomporre lo chiamiamo N1,
il secondo N2)

MCD
- operazione 1
- operazione 2

MCD( N1, N2)
4. Non unicità
Gli algoritmi non sono unici, ossia dato un certo
problema ci possono essere più algoritmi che lo
risolvono
Esempio 2: il problema dell’ordinamento

Data una certa sequenza di numeri interi
riordinarli dal più grande al più piccolo
INPUT
9

2
5

OUTPUT
2, 5, 9, 18, 67

18
67
Come far funzionare
questo algoritmo?
Quali operazioni servono?
Come far funzionare questo
algoritmo?

Quali e quante operazioni servono?

Servono due operazioni

1. Confrontare due
elementi (ossia
trovare il più piccolo)

2. Spostare un elemento
1. Confrontare due elementi (ossia trovare
il più piccolo)
2. Spostare un elemento

X

18

2 , 5 , 9 , 18 , 67

67
9

2
X

X

5
X
A che serve?
E voi ne siete in grado?
E voi ne siete in grado?
Sei il capitano di una flotta navale: trova un algoritmo che
ti permetta di organizzare le tue navi in modo che davanti
ci siano le navi più piccole e via via le navi più grandi
Cosa c’entra Google con
gli algoritmi?
Cosa c’entra Google con gli algoritmi?

Page Ranking ALGORITHM
“Prendete la vostra vita e fatene
[Karol Wojityla]
un capolavoro”

www.alumnimathematica.org
stefano@alumnimathematica.org

Matematica, un approccio algoritmico

  • 1.
    Alumni Mathematica Come lascienza ci aiuta a risolvere i problemi quotidiani Matematica: un approccio algoritmico Stefano Franco stefano@alumnimathematica.org 15 febbraio 2014 Liceo Scientifico “Aldo Moro”
  • 2.
    Quanti di voiconoscono la parola ALGORITMO?
  • 3.
    Cosa c’entra Googlecon gli algoritmi?
  • 4.
    1. Algoritmo, cennistorici Abū Jaʿfar Muhammad ibn Mūsā al-Khwārizmī (vissuto tra il 780–850 ca)
  • 5.
    2. Cos’è unalgoritmo? Un algoritmo è un procedimento che risolve un problema mediante un certo numero di passaggi INPUT (dati iniziali) ALGORITMO OUTPUT (risultato)
  • 7.
  • 8.
    3. L’universalità Ogni algoritmosi costruisce in modo tale che sia vero per ogni caso ALGORITMO
  • 9.
  • 10.
    Esempio 1: ilMCD (massimo comun divisore) Dati due numeri, il MCD è il più grande divisore comune tra i due numeri 42 = 2 x 3 x 7 56 = 2 x 2 x 2 x 7 MCD(42, 56) = 2 x 7 = 14
  • 11.
    Algoritmo MCD hadue operazioni: 1. Scompone i numeri in fattori primi 2. Estrae i componenti comuni MCD(42, 56) 42, 56 N1, N2 (il primo numero da scomporre lo chiamiamo N1, il secondo N2) MCD - operazione 1 - operazione 2 MCD( N1, N2)
  • 12.
    4. Non unicità Glialgoritmi non sono unici, ossia dato un certo problema ci possono essere più algoritmi che lo risolvono
  • 13.
    Esempio 2: ilproblema dell’ordinamento Data una certa sequenza di numeri interi riordinarli dal più grande al più piccolo INPUT 9 2 5 OUTPUT 2, 5, 9, 18, 67 18 67
  • 14.
    Come far funzionare questoalgoritmo? Quali operazioni servono?
  • 15.
    Come far funzionarequesto algoritmo? Quali e quante operazioni servono? Servono due operazioni 1. Confrontare due elementi (ossia trovare il più piccolo) 2. Spostare un elemento
  • 16.
    1. Confrontare dueelementi (ossia trovare il più piccolo) 2. Spostare un elemento X 18 2 , 5 , 9 , 18 , 67 67 9 2 X X 5 X
  • 17.
  • 18.
    E voi nesiete in grado?
  • 19.
    E voi nesiete in grado? Sei il capitano di una flotta navale: trova un algoritmo che ti permetta di organizzare le tue navi in modo che davanti ci siano le navi più piccole e via via le navi più grandi
  • 20.
    Cosa c’entra Googlecon gli algoritmi?
  • 21.
    Cosa c’entra Googlecon gli algoritmi? Page Ranking ALGORITHM
  • 22.
    “Prendete la vostravita e fatene [Karol Wojityla] un capolavoro” www.alumnimathematica.org stefano@alumnimathematica.org