/ / L'algoritmo di Dijkstra e la sua implementazione

L'algoritmo di Dijkstra e la sua implementazione

Lì in scienze matematiche e informaticheun'area separata chiamata teoria dei grafi. All'interno della sua struttura, vari problemi vengono posti e risolti, ad esempio, nel trovare il percorso più breve tra le vette. Uno dei metodi più diffusi tra i matematici per risolvere questo problema è stato a lungo l'algoritmo Dijkstra.

algoritmo dijkstra
Cos'è un grafico matematico

Считается, что понятие графа было введено в la vita di tutti i giorni nel XVIII secolo di Leonard Euler. Fu lui a esprimere la formulazione e la soluzione di uno dei problemi classici di questa teoria: i sette ponti di Koenigsberg. Per spiegare l'oggetto di questa teoria, usano spesso un'analogia come il movimento tra città diverse. Quindi il grafico sull'aereo rappresenterà l'intero schema del percorso, in cui i punti saranno punti specifici (ad esempio, città), e i bordi saranno i percorsi da un picco all'altro (un analogo della strada tra le città). L'algoritmo di Dijkstra, tra l'altro, può fornire una soluzione a questo problema.

diphstra algoritmo delphi
Trovare il modo più breve

Uno dei problemi standard nella teoria dei grafi èuno in cui è necessario determinare il percorso di costo ottimale tra due punti. Può essere ridotto sul piano alla soluzione del grafico, in cui i picchi - città - sono interconnessi da bordi, che sono possibili strade. Inoltre, ogni strada ha la sua lunghezza, pertanto, per percorrerla dovrai spendere determinati fondi. Questa somma equivale al peso del bordo sul grafico. Quindi l'attività in pratica può essere formulata come segue: come aprire la strada da una città all'altra per spendere un minimo di denaro sulla strada.

modi per risolvere

Per risolvere questo problema, alcunialgoritmi che sono diventati ampiamente conosciuti nel mondo scientifico. Ad esempio, l'algoritmo di Floyd-Warshall, Ford-Bellman. L'algoritmo di Dijkstra è anche un modo classico per trovare una soluzione. Può essere utilizzato sia per un grafico ponderato (conosciamo il peso di ciascun bordo) che per uno sparso. Per trovare il percorso finale, è necessario eseguire diversi passaggi.

Algoritmo di Dijkstra

Il significato di questo metodo è chevengono attraversati tutti i vertici, a partire da quello dato, ea ciascuno viene assegnata un'etichetta con un valore. Quindi il risultato includerà quei vertici le cui etichette sono minime. Al primo passo, al vertice originale viene assegnata un'etichetta con il valore 0. Quindi, vengono considerati tutti i vertici successivi, cioè quelli che possono essere raggiunti dall'originale. Vengono assegnate delle etichette, il cui valore è determinato dalla somma della sorgente e del peso del percorso. Dai vertici del passaggio successivo viene selezionato quello con il valore di etichetta più piccolo e vengono studiati tutti i vertici che possono essere raggiunti da esso senza utilizzare vertici intermedi. Viene determinato un nuovo valore di etichetta, che è uguale all'etichetta del vertice di origine più il peso del percorso. Se il valore ricevuto è inferiore all'etichetta del vertice, l'etichetta viene modificata. In caso contrario, il valore originale rimane. In questo caso, in un array separato, la cui dimensione è uguale al numero di vertici del grafico, viene salvato il risultato dell'ottimizzazione, in base al quale viene determinato il percorso. Per implementare un metodo come l'algoritmo di Dijkstra, Pascal offre strumenti molto convenienti. L'algoritmo ha il vantaggio di poter essere facilmente utilizzato come base per un programma di piccole dimensioni. Esempi di tali prodotti software sono facili da trovare su Internet.

algoritmo di Dijkstra pascal
Per risolvere il problema di trovare il percorso ottimalesi possono usare vari mezzi. Per una soluzione come l'algoritmo di Dijkstra, Delphi ti consentirà di creare un comodo modulo visivo per l'immissione dei dati iniziali e l'output del risultato finale.

piaciuto:
0
Post popolari
Sviluppo spirituale
cibo
y