Algoritmi: cosa sono, tutto sull’argomento

Indice dei contenuti

Algoritmo

Un algoritmo è una strategia atta alla risoluzione di un problema, costituita da una sequenza finita di operazioni, che consente di risolvere tutti i quesiti di una stessa classe. Un algoritmo deve essere:

  • finito, cioè quando è costituito da un numero finito di istruzioni e presenta una fine;
  • deterministico, cioè quando pa

Algoritmi per la generazione di un labirinto

Gli algoritmi per la generazione di un labirinto sono metodi automatizzati per la creazione di labirinti.

Algoritmi per la risoluzione di labirinti

Esistono diversi algoritmi di risoluzione dei labirinti, ovvero metodi automatizzati per la risoluzione dei labirinti. Gli algoritmi random mouse, wall follower, Pledge e Trémaux sono progettati per essere utilizzati all’interno del labirinto da un viaggiatore senza alcuna conoscenza del labirinto, mentre gli algoritmi di riempiment

Algoritmo randomizzato

Un algoritmo randomizzato è un algoritmo che include un certo grado di casualità nella sua logica. Tipicamente l’algoritmo utilizza variabili aleatorie come input ausiliario per guidare il suo comportamento con l’obiettivo di ottenere, in media, buone prestazioni. Le prestazioni dell’algoritmo, inclusi il tempo di esecuzione o l’output, saranno a loro volta casuali.

Algoritmo anytime

Un algoritmo anytime è un algoritmo che è in grado di restituire una soluzione valida anche se viene interrotto anticipatamente. Mentre molti algoritmi forniscono una soluzione dopo una certa quantità di calcoli, e non sono in grado di restituire nessun risultato utile fino al completamento dei medesimi, un algoritmo anytime è in grado di fornire una soluzione parziale se interrotto anticipiatamente, e aumentando il tempo a disposizione aumenta anche la qualità attesa della soluzione. Un esempio è l’algoritmo di Newton-Raphson per il calcolo dello zero di una funzione.

Algoritmo di approssimazione

Nell’informatica e nella ricerca operativa, un algoritmo di approssimazione è un algoritmo usato per trovare soluzioni approssimate a problemi di ottimizzazione. Gli algoritmi di approssimazione sono spesso associati a problemi NP-difficili; poiché è improbabile che ci possano essere algoritmi esatti efficienti in tempo polinomiale che risolvono problemi NP-difficili, ci si accontenta di soluzioni subottimali in tempo polinomiale. Diversamente dall’euristica, che di solito trova soluzioni ragionevolmente buone in tempi ragionevolmente veloci, in questo caso si vogliono soluzioni di qualità dimostrabile e tempi di esecuzione con limiti dimostrabili. Idealmente, l’approssimazione è ottimale fino a un piccolo fattore costante. Gli algoritmi di approssimazione sono usati sempre di più per problemi dove gli algoritmi esatti in tempo polinomiale sono noti ma risultano troppo costosi a causa della dimensione dell’input.

Algoritmo apriori

In informatica e in data mining, l’algoritmo Apriori è un classico algoritmo di ricerca delle associazioni. È utilizzato per la generazione degli itemset frequenti, per approssimazioni successive, a partire dagli itemset con un solo elemento. In sintesi, il presupposto teorico su cui si basa l’algoritmo parte dalla considerazione che se un insieme di oggetti (itemset) è frequente, allora anche tutti i suoi sottoinsiemi sono frequenti, ma se un itemset non è frequente, allora neanche gli insiemi che lo contengono sono frequenti.

Automated Password Generator

Automated Password Generator (APG) è uno standard per la generazione automatica di password casuali, pronunciabili o non pronunciabili.

Algoritmo di Baum-Welch

L’algoritmo di Baum-Welch viene usato in elettrotecnica, informatica, informatica statistica e bioinformatica per trovare i parametri incogniti di un modello di Markov nascosto (HMM). Si avvale di un algoritmo forward-backward che prende il nome di Leonard Esau Baum e Lloyd Richard Welch.

Algoritmo di Berger

L’algoritmo di Berger è un algoritmo usato per stilare un calendario di una competizione sportiva che abbia la formula del girone all’italiana: prende il nome dal suo inventore, l’austriaco Johann Berger.

BLEU

BLEU è un algoritmo di valutazione della qualità del testo che viene tradotto da una macchina da una lingua naturale ad un’altra. La qualità è considerata con la corrispondenza tra quanto prodotto dalla “macchina” e quello che comunicherebbe un essere umano: quanto il prodotto della macchina è più vicino a una traduzione umana professional. BLEU è stata una delle prime metriche a dichiarare una grande correlazione con i giudizi umani di qualità e rimane uno delle metriche più famose e poco costose.

Chiave dicotomica

La chiave dicotomica o chiave dicotomica di identificazione è uno strumento che ci permette di identificare elementi, se strutturati in una tassonomia, in primo luogo gli organismi viventi. Tecnicamente rappresenta un semplice algoritmo binario, in informatica paragonabile in qualche modo ad un algoritmo di ricerca, come appunto la ricerca dicotomica, in una struttura dati, e la conseguente categorizzazione dell’elemento ricercato.

Clustering

In statistica, il clustering o analisi dei gruppi è un insieme di tecniche di analisi multivariata dei dati volte alla selezione e raggruppamento di elementi omogenei in un insieme di dati. Le tecniche di clustering si basano su misure relative alla somiglianza tra gli elementi. In molti approcci questa similarità, o meglio, dissimilarità, è concepita in termini di distanza in uno spazio multidimensionale. La bontà delle analisi ottenute dagli algoritmi di clustering dipende molto dalla scelta della metrica, e quindi da come è calcolata la distanza. Gli algoritmi di clustering raggruppano gli elementi sulla base della loro distanza reciproca, e quindi l’appartenenza o meno a un insieme dipende da quanto l’elemento preso in esame è distante dall’insieme stesso.

Codice Reed-Solomon

Nella teoria dei codici, il codice Reed-Solomon è un tipo di codice lineare (ciclico) non binario di rilevazione e correzione d’errore, inventato da Irving S. Reed e Gustave Solomon.

Codifica a descrizioni multiple

La Codifica a Descrizioni Multiple (Multiple Description Coding è una tecnica di codifica che frammenta un singolo media stream in n stream indipendenti di uguale importanza, chiamati descrizioni. I pacchetti di ogni descrizione sono instradati su cammini multipli e disgiunti. Per decodificare il Media Stream basta ottenere una descrizione qualunque, tuttavia la qualità migliora se vengono ricevute più descrizioni in parallelo.

Algoritmo Cohen-Sutherland

L’algoritmo Cohen-Sutherland è un algoritmo di clipping per segmenti lineari che serve a determinare se un segmento, o parte di esso, deve essere visualizzato all’interno dell’area di c

Algoritmo di Davis-Putnam

L’algoritmo di Davis-Putnam fu sviluppato da Martin Davis e Hilary Putnam allo scopo di verificare la soddisfacibilità booleana di formule di logica proposizionale in forma normale congiuntiva (CNF). È un tipo di procedimento di risoluzione nel quale le variabili sono scelte iterativamente ed eliminate, risolvendo ogni clausola in cui questa compaia diretta con ogni clausola in cui compaia negata.

Algoritmo di Dell-Elmedlaoui

L’algoritmo fonologico di Dell-Elmedlaoui o DEA, è un algoritmo utilizzato in linguistica per l’enucleazione sillabica. Fu sviluppato da François Dell e Mohamed Elmedlaoui negli anni 1980 per lo studio del dialetto Imdlawn Tashlhiyt del berbero. Una delle scoperte più singolari è che in questo linguaggio ogni consonante o vocale, sonora o meno, può essere il nucleo di una sillaba.

Diceware

Diceware è un metodo basato sul lancio manuale di dadi il cui scopo è quello di creare password, passphrase e altre variabili crittografiche.

Diffusione dell’attivazione

La diffusione dell’attivazione è un metodo di ricerca per reti associative, neurali e semantiche. L’algoritmo inizia etichettando un insieme di nodi sorgente con dei pesi e propagando queste attivazioni ai nodi collegati. Solitamente questi pesi sono numeri reali che diminuiscono progressivamente (decadono) ogni volta che un nuovo arco viene percorso.

Divide et impera (informatica)

Divide et impera indica, in informatica, un approccio per la risoluzione di problemi computazionali.

Algoritmo Doomsday

L’algoritmo Doomsday è un metodo per calcolare il giorno della settimana di una specifica data passata o futura. Ideato dal matematico inglese John Conway si presta a esser

DPLL

DPLL (Davis-Putnam-Logemann-Loveland) è un algoritmo di ricerca esaustiva, basato sul backtracking, utilizzato per decidere la soddisfacibilità booleana di formule di logica proposizionale in forma normale congiuntiva (CNF), problema noto come CNF-SAT.

Edgerank

EdgeRank è il nome comunemente attribuito all’algoritmo che Facebook ha utilizzato fino al 2011 per determinare la visibilità di un post; è stato presentato il 21 aprile 2009 durante l’evento F8 a San Francisco.

Email loop

L’email loop è un fenomeno di loop infinito, riscontrato nei server mail e nel client che genera automaticamente mail, ciò accade quando una risposta automatica genera un’altra risposta automatica dall’altra parte, il processo si ripete finché una delle caselle di posta non è piena. Gli email loop possono essere causati accidentalmente o al fine di creare danni, causando il denial of service. i loop-mail non sono così comuni oggi come in passato, a causa di modifiche al software di posta elettronica, sia sul lato client sia sul lato server, che impediscono questo “rimbalzamento” delle risposte.

Algoritmo euristico

Algoritmo euristico : in matematica e informatica è un particolare tipo di algoritmo progettato per risolvere un problema più velocemente, nel caso in cui i metodi classici siano troppo lenti nel calcolo o per trovare una soluzione approssimata, nel caso in cui i metodi classici falliscano nel trovare una soluzione esatta. Il risultato viene ottenuto cercando di equilibrare gli obiettivi di maggiori ottimizzazione, completezza, accuratezza e velocità di esecuzione.

Algoritmo evolutivo

Un algoritmo evolutivo è un algoritmo euristico che si ispira al principio di evoluzione degli esseri viventi. Semplificando si può affermare che, un algoritmo evolutivo prevede di partire da una soluzione e di farla evolvere con una serie di modifiche casuali fino a giungere ad una soluzione migliore. Concettualmente, un algoritmo evolutivo è molto simile ad un algoritmo genetico ed infatti si differenzia da quest’ultima categoria principalmente per l’assenza del meccanismo di crossover con cui più soluzioni appartenenti ad una popolazione in fase di evoluzione, vengono ricombinate.

Formula di Rodrigues

Nella teoria delle rotazioni tridimensionali, la formula di Rodrigues è un efficiente algoritmo per ruotare un vettore nello spazio, dato un asse e un angolo di rotazione, ottenuto dal matematico francese Olinde Rodrigues. Per estensione, questo metodo può essere usato per trasformare i tre vettori di una base, e quindi per calcolare la matrice di rotazione corrispondente alla rappresentazione asse-angolo. In altri termini, la formula di Rodrigues può essere usata per calcolare la mappa esponenziale da so(3) a SO(3) in modo alternativo alla definizione di matrice esponenziale.

Algoritmo forward-backward

L’algoritmo forward–backward è un algoritmo inferenziale per modelli di Markov nascosti che calcola la probabilità a posteriori marginale di tutte le variabili di stato nascoste data una successione di osservazioni , cioè essa calcola, per tutte le variabili di stato nascoste , la distribuzione . Questo compito inferenziale è solitamente detto smoothing. L’algoritmo fa un uso del principio di programmazione dinamica in due passaggi per calcolare efficientemente i valori che sono richiesti per ottenere le distribuzioni marginali a posteriori. Il primo passaggio va in avanti nel tempo mentre il secondo va indietro; da qui il nome forward–backward, avanti-indietro, dell’algoritmo.

Generatore di Fibonacci ritardato

Un generatore di Fibonacci ritardato è un algoritmo per la generazione di numeri pseudo-casuali basato su una generalizzazione della successione di Fibonacci. Dalla definizione della successione di Fibonacci:

Generatore lineare congruenziale

In matematica il generatore lineare congruenziale è un algoritmo per la generazione di numeri pseudo-casuali vecchio e molto conosciuto. La teoria sulla quale poggia è semplice da capire e da implementare; inoltre ha il vantaggio di essere computazionalmente leggero.

Algoritmo di Goertzel

L’algoritmo di Goertzel è una tecnica di digital signal processing (DSP) utilizzata per identificare le diverse componenti in frequenza di un segnale. La più generale Fast Fourier transform (FFT) considera la completa banda passante del segnale; l’algoritmo di Goertzel si riferisce invece ad alcuni punti specifici predeterminati.

Algoritmo in loco

In informatica un algoritmo si dice in loco oppure in place quando è in grado di trasformare una struttura dati utilizzando soltanto un piccolo e costante spazio di memoria extra. I dati in ingresso sono solitamente sovrascritti con il risultato prodotto durante l’esecuzione dell’algoritmo.

Algoritmo iterativo

Un algoritmo iterativo è una tipologia di algoritmo costituito da una sequenza di azioni che viene ripetuta, finché è necessaria la ripetizione stessa. Tutte le operazioni che richiedono la ripetizione di una stessa azione più volte, ma in numero finito sono dette procedure iterative. Ad ogni iterazione, l’esecutore svolge un compito. Al termine verifica se tale compito vada ripetuto mediante una condizione di ripetizione.

K-medoids

Il K-medoids è un algoritmo di clustering partizionale correlato all’algoritmo K-means. Prevede in input un insieme di  oggetti e un numero  che determina quanti cluster si vogliono in output.

Algoritmo di Karmarkar

L’algoritmo di Karmarkar (1984) è un algoritmo polinomiale per risolvere un problema di programmazione lineare. L’algoritmo di Karmakar utilizza un metodo a punto interno evitando accuratamente i vertici e ogni punto della frontiera della regione ammissibile nella ricerca del valore ottimo. L’algoritmo genera una successione di punti strettamente ammissibili che convergono verso il punto ottimale, il quale invece può essere un vertice. L’algoritmo ha un tempo polinomiale nella grandezza del problema anche nel caso che il problema sia illimitato: in questo caso si accorge della non esistenza di un punto ottimale e termina, restituendo una garanzia della non limitazione del problema.

Linguaggio ricorsivamente enumerabile

Un insieme A è detto ricorsivamente enumerabile quando esiste una funzione di enumerazione f di cui A è il codominio.

Loop infinito

Nel linguaggio informatico per loop infinito si intende un algoritmo o un frammento di codice sorgente formulato per mezzo della ripetizione di se stesso un numero infinito di volte.

Algoritmo di Markov

In logica matematica, un algoritmo di Markov è un sistema di riscrittura di stringhe che si basa su regole analoghe a quelle grammaticali. È stato dimostrato che questi algoritmi sono Turing completi.

Metodo di eliminazione di Gauss

In matematica, il metodo di eliminazione di Gauss, spesso abbreviato in MEG, è un algoritmo, che prende il nome dal matematico tedesco Carl Friedrich Gauss, usato in algebra lineare per determinare le soluzioni di un sistema di equazioni lineari, per calcolare il rango o l’inversa di una matrice.

Minimalizzazione

Nella teoria della computabilità, l’operatore μoperatore di minimalizzazione, o operatore di ricerca illimitata ricerca i minimi numeri naturali di una proprietà data.

MNOD

Il Multi-Networks for Object Detection è un algoritmo di computer vision per l’identificazione di oggetti di interesse in immagini generiche.

Multidigrafo euleriano

In teoria dei grafi si dice multidigrafo euleriano un multidigrafo connesso, privo di cappi e dotato di un cammino euleriano, cioè di un cammino che tocca tutti i suoi archi una e una sola volta.

Multigrafo euleriano

In teoria dei grafi si dice multigrafo euleriano un multigrafo connesso, privo di cappi e dotato di un cammino euleriano, cioè di un cammino che tocca tutti i suoi spigoli una e una sola volta.

Multilaterazione

La multilaterazione è una tecnica di localizzazione di un target.

Numero di controllo

Il numero di controllo è una forma di controllo di ridondanza usato per il rilevamento dell’errore, ovvero l’equivalente decimale di una somma di controllo (checksum) binaria. Esso consiste di un numero elaborato dalla stringa di codice da verificare, che può essere sia numerica che alfanumerica.

Algoritmo online

In informatica, con la locuzione algoritmo online si intende un algoritmo, per la risoluzione di un problema, che deve fornire dei risultati pur non avendo a disposizione, inizialmente, alcuni dei dati in ingresso.

Ottimizzazione minima sequenziale

L’Ottimizzazione minima sequenziale è un algoritmo per risolvere efficientemente il problema di ottimizzazione che emerge durante l’addestramento di una Macchine a vettori di supporto. Fu inventato da John Platt nel 1998 al laboratorio Microsoft Research di Redmond. L’Ottimizzazione minima sequenziale è implementata nella famosa libreria software libsvm.

Algoritmo di pitch detection

Un algoritmo di pitch detection (PDA) è un algoritmo capace di valutare la frequenza fondamentale di un segnale periodico o quasi periodico, generalmente una registrazione digitale della voce o di una nota musicale. Questa valutazione può essere fatta nel dominio del tempo, nel dominio della frequenza o in entrambi.

Pivot (matematica)

In matematica, e più specificamente in algebra lineare, e in informatica, il pivotelemento di pivot o elemento pivotale di una matrice è l’elemento della matrice che viene scelto per primo da un algoritmo e che si richiede rispetti determinate proprietà allo scopo di far funzionare correttamente o del tutto l’algoritmo, o più semplicemente per renderne l’esecuzione più efficiente.

Problema della connettività

Il problema della connettività è un cardine dell’informatica nello studio degli algoritmi. In via informale tale problema viene definito come problema delle connettività. Si supponga di avere a disposizione una sequenza di coppie di numeri interi, dove ogni intero rappresenta un oggetto di qualche tipo. La coppia p-q è da interpretare come l’oggetto p è connesso con l’oggetto q. Si assuma che la relazione ‘è connesso con’ sia transitiva: cioè se p è connesso con q e q è connesso con r allora anche p è connesso con r.

Problema delle montagne russe

Il problema delle montagne russe è un problema di sincronizzazione tra processi.

Quickselect

In informatica, quickselect è un algoritmo randomizzato ricorsivo che trova il k-esimo elemento di un array disordinato di grandezza n eseguendo O(n2) confronti nel caso peggiore e O(n) nel caso atteso. Si basa sull’algoritmo Quicksort e sfrutta la metodologia prune and search.

Quine (informatica)

In informatica, un quine è un algoritmo che riproduce il suo stesso codice sorgente senza usare funzioni di I/O.

RANSAC

RANSAC sta per “RANdom SAmple Consensus”. È un metodo iterativo per la stima dei parametri di un modello matematico a partire da un insieme di dati contenente outlier. È un algoritmo non deterministico nel senso che produce un risultato corretto solo con una data probabilità, che aumenta al crescere delle iterazioni consentite. L’algoritmo è stato pubblicato per la prima volta da Fischler e Bolles nel 1981.

Regola della destra/sinistra

La regola della destra e l’equivalente regola della sinistra sono due algoritmi che formalizzano il modo per uscire da un labirinto.

Regola delta

La Delta rule è una regola di discesa del gradiente per aggiornare i pesi dei segnali di input che giungono ad un percettrone. Calcoliamo il valore della derivata della funzione sigmoide per un valore  che ci sarà utile successivamente:

Relazione di ricorrenza

In matematica, una relazione di ricorrenza, chiamata anche equazione di ricorrenza, è un’equazione che, nei casi più semplici, riguarda i componenti di una successione la quale stabilisce un legame tra alcuni componenti che occupano posizioni generiche, ma successive, cioè presenta una forma del tipo:

Algoritmo Rete

L’algoritmo Rete è un efficiente algoritmo di pattern matching per l’implementazione di sistemi di produzione a regole. È stato creato da Charles Forgy della Carnegie Mellon University.

Algoritmo ricorsivo

In informatica viene detto algoritmo ricorsivo un algoritmo espresso in termini di se stesso, ovvero in cui l’esecuzione dell’algoritmo su un insieme di dati comporta la semplificazione o suddivisione dell’insieme di dati e l’applicazione dello stesso algoritmo agli insiemi di dati semplificati.

Rilevamento dei cicli

In informatica, il rilevamento dei cicli è un problema algoritmico riguardante la ricerca di un ciclo in una sequenza di valori di funzione iterata. Per ogni funzione ƒ che mappa un insieme finito S su se stesso, ed ogni valore iniziale x0 in S, la sequenza dei valori della funzione iterata.

Rompicapo delle otto regine

Il rompicapo delle otto regine è un problema che consiste nel trovare il modo di posizionare otto donne su una scacchiera 8×8 tali che nessuna di esse possa catturarne un’altra, usando i movimenti standard della regina. Perciò, una soluzione dovrà prevedere che nessuna regina abbia una colonna, traversa o diagonale in comune con un’altra regina. Il problema delle otto regine è un esempio del più generale problema delle n regine, che consiste nel piazzare, con le condizioni illustrate precedentemente, n regine su una scacchiera n × n; in questa forma, in particolare, esso viene spesso usato per illustrare tecniche di progettazione di algoritmi e di programmazione. È stato dimostrato matematicamente che il problema è risolvibile per n = 1 o n ≥ 4, mentre non lo è per n = 2 e n = 3.

SARSA

Lo stato–azione–ricompensa–stato–azione (SARSA) è un algoritmo di apprendimento di una funzione di policy per i processi decisionali di Markov, usato nelle aree dell’apprendimento per rinforzo e dell’apprendimento automatico. Fu proposto da Rummery e Niranjan col nome di “Modified Connectionist Q-Learning” (MCQ-L). L’acronimo alternativo e con cui oggi è più noto l’algoritmo, SARSA, fu proposto da Rich Sutton.

Scale-invariant feature transform

Scale-invariant feature transform è un algoritmo utilizzato in computer vision che permette di rilevare e descrivere caratteristiche, o feature, locali in immagini. L’algoritmo è stato pubblicato da David G. Lowe nel 1999.

Schedulazione Round Robin

La schedulazione Round Robin è uno degli algoritmi impiegati dai processori e pianificatori di rete nel calcolo.

Schema di approssimazione in tempo polinomiale

In informatica, uno schema di approssimazione in tempo polinomiale è un tipo di algoritmo di approssimazione per problemi di ottimizzazione.

Algoritmo dello spaccone

Nel calcolo distribuito, l’algoritmo dello spaccone (bully) è un algoritmo di elezione di un coordinatore all’interno di un pool di processi.

Speeded Up Robust Feature

In informatica un algoritmo Speeded Up Robust Feature o in sigla SURF è un rilevatore robusto di caratteristiche locali di una immagine presentato da Herbert Bay nel 2006 che può essere usato nell’ambito del riconoscimento di oggetti e ricostruzione 3D in Computer vision. È parzialmente ispirato al descrittore scale-invariant feature transform (SIFT). La versione standard di SURF è diverse volte più veloce di SIFT e come dichiarano i suoi autori più robusta tra diverse trasformazioni di immagini rispetto a SIFT. SURF si basa sulle risposte della wavelet di Haar 2D e fa un uso efficiente di immagini integrali. Per rilevare punti di interesse, SURF usa un’approssimazione intera del determinante del rilevatore blob di Hessian, che può essere calcolato con 3 operazioni intere usando un’immagine integrale precalcolata. Il suo descrittore di caratteristiche è basato sulla somma della risposta della wavelet Haar intorno al punto di interesse; il quale anch’esso può essere calcolato con l’aiuto di un’immagine integrale. I descrittori SURF possono essere usati per localizzare e riconoscere oggetti, persone o facce, per creare scene 3D, per tracciare oggetti e per estrarre punti di interesse. Un’applicazione dell’algoritmo è brevettata negli Stati Uniti d’America.

Algoritmo di Sturm

L’algoritmo di Sturm è un algoritmo usato per calcolare il numero di radici reali di un polinomio a coefficienti reali che cadono in un determinato intervallo .

Teorema principale

Il teorema principale, noto anche come teorema dell’esperto teorema del maestro, è un teorema inerente all’analisi degli algoritmi che fornisce una soluzione asintotica ad una famiglia di relazioni di ricorrenza. È stato inizialmente esposto da Jon Bentley, Dorothea Haken, e James B. Saxe nel 1980, dove fu descritto come un metodo unificato per una famiglia di ricorrenze. Il nome di questo teorema è stato popolarizzato dal famoso manuale Introduzione agli algoritmi di Cormen, Leiserson, Rivest e Stein. Non fornisce una soluzione a tutte le possibili relazioni di ricorrenza, ed una sua generalizzazione è il teorema di Akra-Bazzi.

Algoritmo di Thompson

L’algoritmo di Thompson o algoritmo di costruzione è un algoritmo che deriva un automa a stati finiti non deterministico (NFA) da una qualunque espressione regolare dividendola nelle sue sottoespressioni elementari, che possono essere convertite direttamente per mezzo di un insieme di regole.

Algoritmo di Viterbi

L’algoritmo Viterbi è un algoritmo ideato da Andrew Viterbi e generalmente utilizzato per trovare la migliore sequenza di stati in una sequenza di eventi osservati in un processo markoviano. L’algoritmo è usato per la decodifica di codici convoluzionali nel caso siano necessari elevati guadagni di decodifica del segnale.


Tratto da Wikipedia:

https://it.wikipedia.org/wiki/Categoria:Algoritmi

 

Rispondi

%d blogger hanno fatto clic su Mi Piace per questo: