Algoritmo

teoria triz

Un algoritmo elenca i passaggi precisi da compiere, vediamo in questa pagina il significato della parola algoritmo e esempi di algoritmo.

Un algoritmo elenca i passaggi precisi da compiere, ad esempio come una persona scrive in un programma per computer. Sistemi di intelligenza artificiale contengono algoritmi, ma spesso solo per alcune parti come a metodo di apprendimento o di calcolo della ricompensa. Gran parte del loro il comportamento emerge attraverso l’apprendimento dai dati o dall’esperienza, un cambiamento epocale nella progettazione del sistema che l’ex allievo di Stanford Andrej Karpathy soprannominato Software 2.0.

Sei proprietà che un algoritmo deve avere

Mentre in passato gli algoritmi erano definiti in modo arbitrario, oggi è possibile identificarne uno in base a sei proprietà:

  • Univocità/efficacia: Ogni fase della sequenza di azioni di un algoritmo deve essere efficace e univoca. Ciò significa che ogni istruzione deve avere senso ed essere appropriata per l’applicazione al fine di ottenere un risultato o un valore di uscita.
  • Esecuzione : Le azioni e le singole fasi devono essere eseguibili e logiche.
  • Forma finita: Gli algoritmi devono avere una forma finita, ad esempio un numero circoscritto di caratteri o una memoria limitata.
  • Terminazione: Le singole fasi, eseguibili, logiche e finite, devono portare a un risultato in un arco di tempo finito. La sequenza deve essere orientata all’obiettivo e non deve terminare in un ciclo infinito senza risultato.
  • Determinazione: Gli stessi input nelle stesse condizioni devono portare agli stessi output, solo così gli algoritmi possono garantire il funzionamento affidabile di un’applicazione e la risoluzione dei problemi.
  • Determinismo: Nella sequenza delle fasi dell’algoritmo, c’è sempre un solo modo per risolvere il problema. I passaggi successivi sono quindi chiaramente definiti dai risultati intermedi e non sono casuali.

In informatica, gli algoritmi costituiscono la base centrale della programmazione. Chiunque cerchi di imparare a programmare si rende subito conto che quasi ogni programma utilizza degli algoritmi per eseguire un compito. In parole povere, ogni programma è un algoritmo.

Ma non tutti gli algoritmi sono programmi informatici, dato che sono indipendenti dai linguaggi di programmazione web e possono anche essere formulati nella lingua “naturale”, rappresentati in formule matematiche o eseguiti in modo non meccanico.

Ambiti di applicazione degli algoritmi

Gli algoritmi non sono limitati a linguaggi e metodi né a specifiche aree di applicazione. Poiché la loro utilità risiede nella risoluzione di problemi, essi rappresentano una specifica linea d’azione e una procedura che funziona tramite diverse variabili e sequenze di passaggi. Ciò potrebbe includere il calcolo del percorso per i dispositivi di navigazione, i sistemi di raccomandazione nei negozi online, il Real Time Advertising per la visualizzazione intelligente della pubblicità online, le app di traduzione e le simulazioni al computer.

In particolare, gli algoritmi continuano a guadagnare importanza nell’ambito dei Big Data e dell’intelligenza artificiale (IA). La digitalizzazione e la presenza di tecnologie intelligenti come gli smartphone, gli smartwatch e l’IA nelle automobili e nella domotica per la casa intelligente comportano un rapido aumento dei dati.

Ciò richiede computer e server con la necessaria potenza di calcolo, ma anche algoritmi per organizzare, valutare, elaborare o utilizzare grandi quantità di dati. I sensori dei veicoli automatizzati ne sono un esempio. Essi attivano le azioni del veicolo in base ai dati registrati. Anche gli algoritmi matematici giocano un ruolo decisivo nella creazione di simulazioni climatiche.

Allo stesso modo, il funzionamento dei motori di ricerca e la ricerca del percorso (pathfinding) in informatica non sarebbero possibili senza algoritmi. I cosiddetti crawler sono utilizzati per cercare, analizzare e indicizzare i contenuti web. Essi catalogano e indicizzano i dati in base all’algoritmo di un motore di ricerca. A sua volta, il posizionamento e la reperibilità dei risultati della ricerca dipendono da una catalogazione ottimale. L’algoritmo del motore di ricerca serve quindi come orientamento per un’efficiente ottimizzazione SEO.

Esempi di algoritmi

Ogni giorno vengono aggiunti nuovi algoritmi e applicazioni pratiche. I seguenti esempi illustrano alcuni algoritmi esistenti nella pratica.

L’algoritmo di Google

Google impiega una frazione di secondo per visualizzare i risultati della ricerca quando si inseriscono termini o query nella barra di ricerca. Questo è possibile grazie all’algoritmo del motore di ricerca di Google, che elenca i risultati in base alla rilevanza, alle parole chiave, alla struttura dei link, alla leggibilità dei contenuti e alla sicurezza. Tuttavia, rimane un mistero come si presenti l’algoritmo esattamente e come funzioni nel dettaglio.

Ricette di cucina

Le semplici ricette di cucina incarnano il principio di base di un algoritmo. Gli ingredienti possono essere intesi come input che portano al risultato in una sequenza specifica e fissa di azioni. I siti di cucina che permettono di calcolare la quantità di ingredienti in base alle porzioni e al numero di persone utilizzano algoritmi.

Data mining

Il processo di ricerca, la raccolta, l’analisi, la catalogazione e l’indicizzazione dei dati è chiamato anche data mining. In questo caso si utilizzano algoritmi, l’intelligenza artificiale e l’apprendimento automatico.

Algoritmi di estrazione di criptovalute

Nel mining di criptovalute, le transazioni in criptovaluta sono documentate, verificate e pubblicate nella blockchain. Come parte del processo, i minatori di criptovalute risolvono algoritmi relativi alle transazioni, simili a puzzle numerici. La loro risoluzione serve a verificare le transazioni.

Reti neurali

Una rete neurale è un’area del deep learning. Gli algoritmi di deep learning sono utilizzati per simulare e riprodurre le funzioni del cervello umano. Questi possono essere utilizzati per varie funzioni come l’assistenza vocale, la traduzione, la protezione dagli attacchi informatici o la generazione di testi.

BlogInnovazione.it