Algoritmo caratteristiche, a cosa serve, parti, esempi

Algoritmo caratteristiche, a cosa serve, parti, esempi

UN algoritmo È un insieme di istruzioni progettate per eseguire un'attività specifica. Cioè, è una procedura sistematica che in un numero finito di passaggi produce la risposta a una domanda o alla soluzione di un problema. Un esempio di algoritmo è quello del motore di ricerca di Google, in cui inserendo una parola, fornisce diversi risultati sotto forma di pagine Web.

Può essere un processo complesso, come la riproduzione di un file musicale o una semplice operazione, come l'aggiunta di due numeri. Nella programmazione di computer, gli algoritmi vengono creati come funzioni. Queste funzioni sono piccoli programmi che possono essere referenziati da un programma importante.

Un'applicazione per visualizzare le immagini può contenere una libreria di funzioni, ognuna utilizzando un particolare algoritmo per rappresentare i diversi formati di file di immagini.

Un programma per modificare le immagini può contenere algoritmi progettati per elaborare i dati delle immagini. Alcuni esempi sono il taglio, il cambiamento di dimensioni, la nitidezza, la sfocatura, la riduzione degli occhi rossi e il miglioramento del colore.

[TOC]

Caratteristiche di un algoritmo

Chiarezza e precisione

L'algoritmo deve essere chiaro e inequivocabile. Ciascuno dei suoi passi o azioni deve essere definito accuratamente, essere chiaramente chiaro in tutti gli aspetti e deve avere inequivocabilmente un singolo significato.

Bene -biglietti definiti

Un algoritmo è zero o più voci, tratte da un insieme specifico di oggetti. Se l'algoritmo indica che è necessario prendere i dati di input, questi dati di input devono essere ben definiti.

Output ben definiti

L'algoritmo ha sempre una o più uscite, che hanno una relazione con gli ingressi. L'algoritmo dovrebbe definire chiaramente quali informazioni di output si verificheranno e devono anche essere ben definite.

Finitudine

L'algoritmo deve essere finito, cioè deve sempre finire ad un certo punto, dopo un numero limitato di passaggi, e non essere agganciato a legami infiniti o cose simili.

Fattibile

L'algoritmo deve essere abile e semplice, in modo che possa essere eseguito senza problemi con le risorse disponibili. Pertanto, non dovresti contenere alcuna tecnologia futura.

Indipendenza linguistica

L'algoritmo progettato deve essere indipendente dal linguaggio, ovvero deve essere formato solo da semplici istruzioni che possono essere implementate in qualsiasi linguaggio di programmazione e, tuttavia, il risultato è sempre lo stesso, previsto.

Programmi efficienti

Esistono sempre modi diversi per eseguire operazioni specifiche all'interno di un programma. Pertanto, i programmatori cercano di creare gli algoritmi più efficienti.

Con l'uso di algoritmi molto efficienti, si può garantire che i programmi siano eseguiti a velocità più elevata, utilizzando un minimo di risorse di sistema.

Tuttavia, gli algoritmi non producono sempre la prima volta. Per questo motivo, i programmatori cercano di migliorarli per includerli negli aggiornamenti del software futuro.

Può servirti: i 30 fisici più famosi e importanti della storia

Pertanto, ogni volta che conosci una nuova versione di un'applicazione con prestazioni migliori, significa che questa versione contiene algoritmi più efficienti.

A cosa serve un algoritmo?

L'algoritmo è uno strumento estremamente utile, utilizzato per eseguire lavori. In informatica, quando si sceglie il miglior algoritmo è garantito che il computer svolga l'attività fornita nel miglior modo possibile.

Pertanto, serve a ottimizzare un programma per computer con le risorse disponibili. Cioè, quando si decide un problema per risolvere attraverso i migliori algoritmi, si desidera la migliore combinazione di velocità del programma e un consumo di memoria inferiore.

I diversi algoritmi che possono essere studiati sono vari come i problemi che risolvono. Tuttavia, è molto probabile che il problema che sta provando sia simile a un altro problema in alcuni aspetti.

Comprendendo una vasta gamma di algoritmi, puoi scegliere il più adatto per un problema e applicarlo correttamente.

Compressione del file

Questi algoritmi sono regolati e ottimizzati specificamente per i tipi di file a cui sono diretti. Ad esempio, ogni formato audio utilizza un modo diverso per archiviare i dati. Se decodificato dal codec audio, genererà un file audio simile alla forma d'onda originale.

Dati crittografati

Gli algoritmi vengono anche utilizzati per proteggere i dati o le linee di comunicazione. Invece di archiviare i dati compressi per utilizzare meno spazio su disco, vengono archiviati in modo che altri programmi non possano rilevarli.  Quando i dati sono crittografati, ciò che viene archiviato non assomiglia a ciò che è.

Come funziona un algoritmo?

Per convincere un computer a fare qualcosa, devi scrivere un programma per computer. Per scrivere questo programma devi dire al computer, passo dopo passo, cosa vuoi fare.

Quindi il computer esegue il programma, eseguendo ogni istruzione automaticamente, per ottenere il risultato finale. Come indicato cosa fare al computer, puoi anche scegliere come, tramite l'algoritmo, essendo la tecnica di base utilizzata per fare il lavoro.

Caso di esempio

Diciamo che hai un amico che arriva all'aeroporto e deve andare dall'aeroporto a casa nostra. Questi sono quattro diversi algoritmi che potrebbero essere dati per risolvere questa situazione:

Algoritmo Chiamami

- Quando arriva l'aereo, chiama il mio cellulare.

- Riuniti con me fuori dall'area di consegna dei bagagli.

Algoritmo di taxi

- Vai alla fermata del taxi.

Può servirti: frame metodologico: come scriverlo, struttura, esempi

- Vai a un taxi.

- Dai al conducente il mio indirizzo.

Algoritmo di autobus

- Lasciando l'aeroporto, prendi il numero dell'autobus 70.

- Dopo aver raggiunto la strada principale, prendi l'autobus 14.

- Esci su Elmo Street.

- Cammina due isolati a nord, a casa mia.

Algoritmo Affittare un veicolo

- Prendi un servizio di trasporto nel luogo in cui le auto affittano.

- Affittare un veicolo.

- Segui le istruzioni GPS per arrivare a casa mia.

I quattro algoritmi raggiungono esattamente lo stesso obiettivo, ma ognuno lo fa diversamente. Ogni algoritmo ha anche un tempo di costo e di viaggio diversi. Pertanto, l'algoritmo viene scelto in base alle circostanze.

Parti di un algoritmo

Acquisizione dei dati di entrata

L'algoritmo deve disporre di determinate risorse per leggere i valori di una fonte esterna. La maggior parte degli algoritmi richiede alcuni valori di dati per definire un problema specifico. Ad esempio, i coefficienti di un polinomio.

Calcolo

L'algoritmo deve avere determinate risorse per essere in grado di eseguire calcoli aritmetici, confronti, controllare le condizioni logiche, ecc.

Selezione

L'algoritmo deve avere determinati mezzi per essere in grado di scegliere tra due o più possibili corsi di azione, in base ai dati iniziali, sulle voci dell'utente e/o nei risultati calcolati.

Iterazione

L'algoritmo deve avere determinati mezzi per essere in grado di ripetere una serie di istruzioni, sia per un numero fisso di volte o fino a quando non viene soddisfatta alcune condizioni logiche.

Risultati o rapporto di output

L'algoritmo deve disporre di determinate risorse per informare l'utente i risultati che sono stati calcolati o per essere in grado di richiedere ulteriori dati dell'utente.

Tipi di algoritmi

Algoritmo ricorsivo

Questo algoritmo è molto interessante, perché è chiamato se stesso con un valore diverso come parametro di input, che ha ottenuto dopo aver risolto il parametro di input precedente. Cioè, si chiama ripetutamente fino a quando il problema non viene risolto.

Problemi come la torre Hanoi o la ricerca profonda di un grafico possono essere facilmente risolti usando questo tipo di algoritmi.

Algoritmo dividere e conquistare

In questi algoritmi, è diviso in due parti. Nella prima parte, il problema in questione è diviso in sotto-problemi più piccoli dello stesso tipo. Allo stesso modo, nella seconda parte i loro sotto-problemi vengono risolti, quindi combinando entrambe le parti per produrre la soluzione finale del problema.

Ad esempio, con questi algoritmi puoi eseguire ordinazioni per combinazioni e rapide ordinazioni.

Algoritmo di programmazione dinamica

Questi algoritmi funzionano ricordando i risultati dell'esecuzione precedente e utilizzandoli per trovare nuovi risultati. Cioè, risolvono problemi complessi che li dividono in più semplici sotto-problemi e quindi risolvendo ciascuno di essi, quindi memorizzandoli per usarli in seguito.

Può servirti: metodo quantitativo

Algoritmo di forza lorda

Questo algoritmo cerca ciecamente tutte le possibili soluzioni per trovare una o più soluzioni in grado di risolvere una funzione. Puoi pensare alla forza bruta come se tutte le possibili combinazioni di numeri fossero usate per aprire una cassaforte.

Algoritmo arretrato

Questo algoritmo risolve i problemi in modo ricorsivo e cerca di risolvere un problema di risoluzione di ogni parte di esso. Se la soluzione fallisce, viene eliminata e torna a trovare un'altra soluzione.

Cioè, questo algoritmo risolve un sotto-problema, ma se questo non risolve il problema totale, annulla l'ultimo passo e ricomincia per trovare la soluzione al problema.

Esempi di algoritmi

Algoritmo ricorsivo

Questo pseudocode trova il fattoriale di un numero "N" non negativo, usando un algoritmo ricorsivo:

Algoritmo di programmazione dinamica

La sequenza di Fibonacci è un buon esempio di algoritmo di programmazione dinamica. Può essere visto in questo pseudocodice:

- Sì (n = 0 o n = 1), fibonacci (n) = 0

- In caso contrario, fibonacci (n) = fibonacci (n-1) + fibonacci (n-2)

Algoritmo arretrato

Il problema degli scacchi delle 8 regine è un buon esempio. Questo problema stabilisce che su una scacchiera ci sono 8 regine e deve essere collocata in modo tale che nessuna delle regine sia in grado di attaccare qualsiasi altra dopo organizzare.

Vari esempi

- Algoritmo di diagnosi dell'HIV.

Algoritmo di diagnosi dell'HIV. Fonte: Immunopedia/CC BY-S (https: // creativeCommons.Org/licenze/by-sa/4.0)

- I motori di ricerca su Internet utilizzano algoritmi brevettati per mostrare i risultati più rilevanti del loro indice di ricerca per consultazioni specifiche.

- Le ricette, come le equazioni matematiche, sono algoritmi.

- L'e -mail sa dove inviare grazie agli algoritmi.

- Il contenuto visto sui social network arriva attraverso gli algoritmi. In effetti, tutto ciò che viene fatto sul web è il prodotto algoritmi.

- I videogiochi sono narrazioni algoritmiche.

- Le applicazioni di smartphone sono semplicemente algoritmi.

- La maggior parte delle transazioni finanziarie vengono effettuate attraverso algoritmi.

- Ogni volta che una colonna viene ordinata su un foglio di calcolo, gli algoritmi intervengono.

Riferimenti

  1. Lee Rainie (2017). Codice-dipendente: pro e contro dell'età dell'algoritmo. Pew Research Center. Tratto da: Pewresarch.org.
  2. Termine tecnologico (2020). Algoritmo. Preso da: TechTerms.com.
  3. Britannica (2020). Algoritmo. Preso da: Britannica.com.
  4. Educba (2020). Tipi di algoritmi. Tratto da: educba.com.
  5. Come Geek (2016). Cosa sono gli algoritmi informatici e come funzionano? Preso da: howtogek.com.
  6. Come funzionano le cose (2020). Cos'è un algoritmo di computer? Tratto da: computer.Howstuffwork.com.