it.phhsnews.com


it.phhsnews.com / Quali sono gli algoritmi del computer e come funzionano?

Quali sono gli algoritmi del computer e come funzionano?


A meno che non siate in matematica o in programmazione, la parola "algoritmo" potrebbe essere greca per voi, ma è uno degli elementi costitutivi di tutto ciò che stai usando per leggere questo articolo. Ecco una rapida spiegazione di cosa sono e come funzionano.

Disclaimer: non sono un insegnante di matematica o informatica, quindi non tutti i termini che uso sono tecnici. Questo perché sto cercando di spiegare tutto in inglese semplice perché le persone non si sentono a proprio agio con la matematica. Detto questo, ci sono alcuni aspetti matematici, e questo è inevitabile. Geeks matematici, sentiti libero di correggere o meglio spiegare nei commenti, ma per favore, tienilo semplice per il matematicamente disincantato tra di noi.

Immagine di Ian Ruotsala

Cos'è un algoritmo?

La parola ' l'algoritmo "ha un'etimologia simile a" algebra ", tranne che si riferisce al matematico arabo stesso, al-Khwarizmi (solo un bocconcino interessante). Un algoritmo, per i non programmatori tra di noi, è un insieme di istruzioni che accettano un input, A e forniscono un output, B, che modifica i dati coinvolti in qualche modo. Gli algoritmi hanno una vasta gamma di applicazioni. In matematica, possono aiutare a calcolare le funzioni da punti in un set di dati, tra cose molto più avanzate. Oltre al loro uso nella programmazione stessa, giocano ruoli importanti in cose come la compressione dei file e la crittografia dei dati.

Un set di istruzioni di base

Diciamo che il tuo amico ti sta incontrando in un negozio di alimentari e tu lo stai guidando verso tu. Dici cose come "entra attraverso le porte sul lato destro", "passa la sezione dei pesci a sinistra" e "se vedi il caseificio, mi hai superato". Gli algoritmi funzionano così. Possiamo utilizzare un diagramma di flusso per illustrare le istruzioni in base ai criteri che conosciamo in anticipo o scoprire durante il processo.

(immagine intitolata "Routine per l'Icebreaking" EDIT: cortesia di Trigger e Freewheel)

Da START, dovresti scendi lungo il percorso e, in base a ciò che accade, segui il "flusso" fino al risultato finale. I diagrammi di flusso sono strumenti visivi che possono più facilmente rappresentare una serie di istruzioni utilizzate dai computer. Allo stesso modo, gli algoritmi aiutano a fare lo stesso con più modelli basati sulla matematica.

Grafici

Usiamo un grafico per illustrare i vari modi in cui possiamo dare indicazioni.

Possiamo esprimere questo grafico come una connessione tra tutti i suoi punti. Per riprodurre questa immagine, possiamo dare un insieme di istruzioni a qualcun altro.

Metodo 1

Possiamo rappresentarlo come una serie di punti, e l'informazione seguirebbe la forma standard di graph = {(x1 , y1), (x2, y2), ..., (xn, yn)}.

graph = {(0,0), (3,0), (3,3), (5,5), ( 7,10), (8,7), (9,4), (10,1)}

È abbastanza semplice tracciare ciascun punto, uno dopo l'altro, e collegarli al punto precedente. Tuttavia, immagina un grafico con un migliaio di punti o più segmenti tutti andando in ogni direzione. Quella lista avrebbe molti dati, giusto? E poi doverli collegare ognuno, uno alla volta, può essere un dolore.

Metodo 2

Un'altra cosa che possiamo fare è dare un punto di partenza, la pendenza della linea tra esso e il punto successivo, e indica dove aspettarti il ​​prossimo punto usando la forma standard di graph = {(punto iniziale}, [m1, x1, h1], ..., [mn, xn, hn]}. Qui, la variabile 'm' rappresenta la pendenza di la linea, 'x' rappresenta la direzione in cui contare (se x o y), e 'h' ti dice quanti contare in detta direzione.Puoi anche ricordare di tracciare un punto dopo ogni movimento.

grafico = {(0,0), [0, x, 3], [0, y, 3], [1, x, 2], [2,5, x, 2], [-3, x, 1], [- 3, x, 1], [-3, x, 1]}

Finirai con lo stesso grafico. Puoi vedere che gli ultimi tre termini di questa espressione sono gli stessi, quindi potremmo essere in grado di abbassa il risultato dicendo "ripeti tre volte" in qualche modo. Diciamo che ogni volta che vedi la variabile "R", significa ripetere l'ultima cosa: possiamo fare questo:

graph = {(0 , 0), [0, x, 3], [0, y, 3], [1, x, 2], [2,5, x, 2], [-3, x, 1], [R = 2]}

Cosa succede se i singoli punti non contano veramente, e solo il grafico stesso? Possiamo consolidare le ultime tre sezioni in questo modo:

graph = {(0,0), [0, x, 3], [0, y, 3], [1, x, 2], [2,5, x, 2], [-3, x, 3]}

Accorcia un po 'le cose da dove erano prima.

Metodo 3

Proviamo a farlo in un altro modo.

y = 0, 0≤x≤3
x = 0, 0 ≤y≤3
y = x, 3≤x≤5
y = 2,5x-7,5, 5≤x≤7
y = -3x + 29, 7≤x≤8
y = -3x + 29, 8≤x≤9
y = -3x + 29, 9≤x≤10

Qui lo abbiamo in termini algebrici puri. Ancora una volta, se i punti non contano e solo il grafico lo fa, possiamo consolidare gli ultimi tre elementi.

y = 0, 0≤x≤3
x = 0, 0≤y≤3
y = x, 3≤x≤5
y = 2,5x-7,5, 5≤x≤7
y = -3x + 29, 7≤x≤10

Ora, quale metodo scegli dipende dalle tue abilità. Forse sei bravo con la matematica e la grafica, quindi scegli l'ultima opzione. Forse sei bravo a navigare, quindi scegli la seconda opzione. Nel regno dei computer, tuttavia, stai facendo molti diversi tipi di compiti e l'abilità del computer non cambia davvero. Pertanto, gli algoritmi sono ottimizzati per le attività che completano.

Un altro punto importante da notare è che ogni metodo si basa su una chiave. Ogni set di istruzioni è inutile a meno che tu non sappia cosa fare con loro. Se non sai che dovresti tracciare ogni punto e connettere i punti, la prima serie di punti non significa nulla. A meno che tu non sappia cosa significhi ciascuna variabile nel secondo metodo, non saprai come applicarli, proprio come la chiave di un cifrario. Quella chiave è anche parte integrante dell'uso di algoritmi e, spesso, tale chiave si trova nella comunità o tramite uno "standard".

Compressione file

Quando si scarica un file .zip, si estrae il contenuto in modo che puoi usare qualunque cosa ci sia dentro. Oggigiorno, la maggior parte dei sistemi operativi può immergersi nei file .zip come se fossero normali cartelle, facendo tutto in background. Sulla mia macchina Windows 95 oltre un decennio fa, dovevo estrarre tutto manualmente prima che potessi vedere qualcosa di più dei nomi dei file all'interno. Questo perché ciò che è stato memorizzato sul disco come file .zip non era in una forma utilizzabile. Pensa a un divano estraibile. Quando vuoi usarlo come letto, devi rimuovere i cuscini e aprirlo, occupando più spazio. Quando non ne hai bisogno, o vuoi trasportarlo, puoi ripiegarlo.

Gli algoritmi di compressione sono regolati e ottimizzati in modo specifico per i tipi di file a cui sono indirizzati. I formati audio, ad esempio, utilizzano ciascuno un modo diverso di memorizzare i dati che, decodificati dal codec audio, daranno un file audio simile alla forma d'onda originale. Per ulteriori informazioni su tali differenze, consulta il nostro precedente articolo, Quali sono le differenze tra tutti questi formati audio? I formati audio senza perdita di dati e i file .zip hanno una cosa in comune: entrambi producono i dati originali nella loro forma esatta dopo il processo di decompressione. I codec audio con perdita di dati utilizzano altri mezzi per risparmiare spazio su disco, ad esempio frequenze di taglio che non sono in grado di essere ascoltate dalle orecchie umane e di attenuare la forma d'onda nelle sezioni per eliminare alcuni dettagli. Alla fine, mentre potremmo non essere in grado di sentire veramente la differenza tra una traccia MP3 e una traccia CD, c'è sicuramente un deficit di informazioni nella precedente.

Crittografia dati

Gli algoritmi vengono anche usati per proteggere dati o comunicazioni Linee. Anziché archiviare i dati in modo che utilizzi meno spazio su disco, viene archiviato in un modo non rilevabile da altri programmi. Se qualcuno ruba il tuo disco rigido e inizia a scansionarlo, può raccogliere i dati anche quando elimini i file perché i dati stessi sono ancora lì, anche se la posizione di inoltro verso cui è sparita. Quando i dati vengono crittografati, tutto ciò che è memorizzato non sembra quello che è. Di solito sembra casuale, come se la frammentazione si fosse accumulata nel tempo. È inoltre possibile memorizzare i dati e visualizzarli come un altro tipo di file. File di immagini e file musicali sono perfetti per questo, in quanto possono essere piuttosto grandi senza destare sospetti, ad esempio. Tutto ciò viene fatto usando algoritmi matematici, che prendono una sorta di input e lo convertono in un altro, molto specifico tipo di output. Per ulteriori informazioni su come funziona la crittografia, consulta HTG Explains: Che cos'è la crittografia e come funziona?


Gli algoritmi sono strumenti matematici che forniscono una varietà di usi nell'informatica. Lavorano per fornire un percorso tra un punto iniziale e un punto finale in modo coerente e forniscono le istruzioni per seguirlo. Sapere più di ciò che abbiamo evidenziato? Condividi le tue spiegazioni nei commenti!


Come eliminare o inoltrare messaggi di testo individuali su iPhone

Come eliminare o inoltrare messaggi di testo individuali su iPhone

Cancellare un intero thread di messaggi su iPhone è facile, ma cosa succede se si desidera eliminare solo uno o due messaggi o un'immagine che preferiresti non vedere? Potresti non aver capito che esiste un modo davvero semplice per eliminare singoli messaggi, senza distruggere il resto della cronologia dei messaggi.

(how-to)

Come nascondere un'unità in Esplora risorse

Come nascondere un'unità in Esplora risorse

Probabilmente hai letto un sacco di post su come creare cartelle nascoste, cartelle protette, cartelle bloccate, ecc. In Windows in molte occasioni! Diamine, uno degli articoli più popolari su questo blog era su come creare una cartella protetta e bloccata in Windows XP. Tuttavia, nascondere una cartella è una proposta complicata e di solito non funziona bene a meno che non si utilizzi qualcosa come Bitlocker o FileVault.Q

(How-to)