Want to make creations as awesome as this one?

Transcript

ALGORITMI

go!

ALGORITMI CHE "IMPARANO"

QUAL E' IL LINGUAGGIO

ESEMPI

TIPOLOGIE

CARATTERISTICHE

DOVE LI TROVO

PERCHE' PARLARNE

COSA SONO

ALGORITMI

In generale, gli algoritmi sono diventati un'importante parte della vita quotidiana. La versatilità degli algoritmi ha semplificato sempre di più la nostra quotidianità, permettendoci di vivere in un presente dove le macchine si guidano da sole, in cui possiamo cercare e trovare un'infinità di informazioni in tempi brevissimi, delegare lavori ripetitivi o pericolosi a macchinari altamente specializzati .I motori di ricerca come Google sono algoritmi che mettono in ordine i risultati sui motori di ricerca, facendo “salire” quelli con più link, più parole chiave o spiegazioni migliori. L’algoritmo di Tik Tok ha il compito di evitare di annoiare l'utente proponendo contenuti che potrebbero essere di interesse, ma mai ridondanti. Gli algoritmi permettono di trovare la strada più veloce e meno trafficata su Google MapsVi suggeriscono i film su Netflix. Gli algoritmi decidono cosa mettere sulla bacheca di Facebook, o quale pubblicità proporci mentre siamo online...... Algoritmi specializzati ci permettono poi di interpretare le immagini rimandate dallo Spazio dando loro forme e colori “terrestri”; ma anche di mappare il complesso codice del DNA umano, o di fare previsioni su comportamenti o fenomeni futuri perché sono spesso in grado di individuare connessioni che all’occhio umano sfuggono.

PERCHE' PARLARNE

i passi devono essere eseguiti in sequenza, salvo diversa indicazione.

Procedimento che risolve un problema attraverso un numero finito di passi elementari (successione di istruzioni ) che definiscono le operazioni da eseguire sui dati per ottenere i risultati, in un tempo ragionevole.

COSA SONO

Esistono alcune proprietà comuni, senza le quali un algoritmo non potrebbe essere definito come tale:

  • I passi che costituiscono lo schema devono essere “elementari”, ovvero non ulteriormente scomponibili (atomicità);
  • I passi che costituiscono lo schema devono essere interpretabili in modo diretto e univoco dall’esecutore, sia esso umano o artificiale (non ambiguità);
  • L’algoritmo deve essere finito, ossia composto da un numero definito di passi legati ad una quantità definita di dati in ingresso (finitezza);
  • L’esecuzione dello schema deve avvenire entro un tempo finito (terminazione);
  • L’esecuzione dello schema algoritmico deve condurre ad un unico risultato (effettività).

CARATTERISTICHE

Tipicamente, le istruzioni dell’algoritmo sono espresse in un linguaggio naturale, dovendo essere comprese dalla persona che dovrà eseguirlonel caso in cui ad eseguirlo sia una macchina, le istruzioni saranno tradotte in un linguaggio comprensibile alla stessa (linguaggio di programmazione).

QUAL E' IL LINGUAGGIO

OVUNQUE SERVA UNA SEQUENZA DI ISTRUZIONI PER OTTENERE UN RISULTATO A PARTIRE DA UN NUMERO DI DATI INIZIALI

DOVE LI TROVO

A seconda della loro funzione, gli algoritmi possono essere raggruppati in categorie. Tra le più note e semplici, vi sono:

  • gli algoritmi iterativi, costituiti da una sequenza di azioni ripetuta fino al raggiungimento del risultato, secondo un processo strutturato come un ciclo finito.
  • gli algoritmi ricorsivi un algoritmo la cui esecuzione comporta la progressiva semplificazione o suddivisione dell’insieme di dati posti come input (si tratta di algoritmi particolarmente utilizzati per l’esecuzione di compiti ripetitivi, e la risoluzione di problemi non troppo complessi).
  • gli algoritmi di ricerca, che permettono di trovare uno o più elementi che rispecchiano le richieste inserite dall’utente.

TIPOLOGIE

ALTRO ESEMPIO

PASSI DELLA SEQUENZA

Problema da risolvere: dato un mazzo di chiavi, abbiamo la necessità di trovare, all’interno di questo, la chiave che apre un determinato lucchetto. Qual è l’algoritmo a cui fare riferimento?

ESEMPIO

ALTRO ESEMPIO

PASSI DELLA SEQUENZA

aggiustare la lampada

ESEMPIO

PASSI DELLA SEQUENZA

Mangia il tuo spuntino

ESEMPIO

Oggi in genere si parla di algoritmi con riferimento al settore dell’intelligenza artificiale, quel ramo dell’informatica che progetta software per i robot, o per i computer.Soprattutto, gli algoritmi sono legati al tema dell’apprendimento automatico delle macchine (machine learning): anziché ripetere i set di istruzioni fornite “senza imparare nulla”, i sistemi che si basano sul machine learning li riscrivono e li migliorano mentre li eseguono, mentre lavorano. In questo modo gli algoritmi diventano sempre più sofisticati.

ALGORITMI CHE "IMPARANO"

1- Si sceglie una chiave non marcata dal mazzo e la si marca con un pennarello 2- Si tenta di aprire il lucchetto con la chiave appena marcata, se funziona, si va al passo 3; Se non funziona, si va al punto 1 3- stop