Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Netwerken >> lokale Netwerken >> Content
Wat is het dichtstbijzijnde invoegalgoritme en hoe optimaliseert het nieuwe knooppunten in een bepaalde grafiek of netwerk?

Het dichtstbijzijnde invoegalgoritme

Het Nearest Insertion Algorithm is een heuristisch algoritme dat wordt gebruikt om een ​​benaderende oplossing te vinden voor het Travelling Salesperson Problem (TSP). Het TSP streeft ernaar de kortst mogelijke route te vinden die elke stad (knooppunt) precies één keer bezoekt en terugkeert naar de startstad.

Hoe het werkt:

1. Initialisatie:

- Begin met een willekeurig knooppunt als initiële rondleiding (bijvoorbeeld een lus met één knooppunt). Laten we dit knooppunt 'start_node' noemen.

- Laat `V` de set knooppunten zijn die nog niet aan de tour zijn toegevoegd.

2. Iteratie:

- Zoek het dichtstbijzijnde knooppunt: Zoek voor elk knooppunt 'i' in de huidige tour het knooppunt 'j' in 'V' (de verzameling niet-bezochte knooppunten) dat het dichtst bij 'i' ligt (d.w.z. de kleinste afstand heeft). Dit "dichtstbijzijnde" knooppunt `j` is het knooppunt dat we willen invoegen. Wiskundig vinden we:

`j =argmin_{v ∈ V} min_{i ∈ tour} dist(i, v)`

- Voeg het dichtstbijzijnde knooppunt in: Zoek de rand (i, k) in de huidige tour waarbij het invoegen van knooppunt `j` tussen knooppunten `i` en `k` resulteert in de kleinste toename van de tourlengte. Dat wil zeggen:zoek 'i' en 'k' zo dat:

`dist(i, j) + dist(j, k) - dist(i, k)` wordt geminimaliseerd.

- Voeg knooppunt `j` in tussen de knooppunten `i` en `k`, waarbij u effectief de rand (i, k) vervangt door twee randen (i, j) en (j, k).

- Verwijder knooppunt `j` uit de reeks niet-bezochte knooppunten `V`.

3. Beëindiging:

- Herhaal stap 2 totdat alle knooppunten aan de tour zijn toegevoegd (d.w.z. `V` is leeg).

4. De cirkel rondmaken:

- Verbind het laatste knooppunt dat aan de tour is toegevoegd terug naar het `start_node` om de cyclus te voltooien.

Voorbeeld:

Laten we zeggen dat we steden A, B, C, D en E hebben met de volgende afstanden:

```

A B C D E

A 0 10 15 20 25

B 10 0 35 25 30

C 15 35 0 30 20

D 20 25 30 0 10

E 25 30 20 10 0

```

1. Begin: Laten we beginnen met knooppunt A als de initiële tour:`Tour ={A}`

2. Iteratie 1:

- Het dichtstbijzijnde knooppunt bij A is B (afstand 10).

- Voeg B in de tour in (A -> B -> A). `Rondleiding ={A, B, A}`

3. Iteratie 2:

- Vind het dichtstbijzijnde onbezochte knooppunt bij een knooppunt in de huidige tour:

- Dichtst bij A:C (15), D (20), E (25)

- Dichtst bij B:C (35), D (25), E (30)

- Het minimum van deze afstanden is 15 (A t/m C).

- Zoek waar je C moet invoegen.

- C tussen A en B plaatsen:15 + 35 - 10 =40

- C tussen B en A invoegen:35 + 15 - 10 =40

- Plaats C tussen A en B (of B en A). `Rondleiding ={A, C, B, A}`

4. Iteratie 3:

- Vind het dichtstbijzijnde onbezochte knooppunt:

- Dichtstbijzijnde bij A:D (20), E (25)

- Dichtst bij C:D (30), E (20)

- Dichtstbijzijnde B:D (25), E (30)

- Minimale afstand is 20 (C tot E of A tot D). Laten we C naar E brengen.

- E invoegen:

- E tussen A en C invoegen:25 + 20 - 15 =30

- E tussen C en B invoegen:20 + 30 - 35 =15 (Minimaal!)

- E tussen B en A invoegen:30 + 25 - 10 =45

- Voeg E in tussen C en B. `Tour ={A, C, E, B, A}`

5. Iteratie 4:

- Alleen knooppunt D blijft over.

- Dichtstbijzijnde A:D (20)

- Dichtstbij C:D (30)

- Dichtstbij E:D (10) (Minimaal!)

- Dichtstbijzijnde B:D (25)

- Voeg D in:

- D tussen A en C invoegen:20 + 30 - 15 =35

- D tussen C en E invoegen:30 + 10 - 20 =20

- D tussen E en B invoegen:10 + 25 - 30 =5 (Minimaal!)

- D tussen B en A invoegen:25 + 20 - 10 =35

- Voeg D in tussen E en B. `Tour ={A, C, E, D, B, A}`

Optimalisatie-aspecten (of liever:benadering):

Het Nearest Insertion-algoritme optimaliseert door iteratief het knooppunt toe te voegen dat bij elke stap de kleinste onmiddellijke toename van de totale tourlengte introduceert. Dit is een hebzuchtige benadering, wat betekent dat er in elke fase de beste keuze wordt gemaakt zonder rekening te houden met de mondiale impact van die keuze.

* Plaats: Het algoritme richt zich op het minimaliseren van lokale afstanden. Het selecteert het knooppunt dat het dichtst bij de huidige tour ligt, met als doel het toegevoegde segment van de tour zo kort mogelijk te houden.

* Incrementele groei: De tour wordt stapsgewijs opgebouwd door één knooppunt tegelijk toe te voegen. Elke invoegbeslissing is gebaseerd op de huidige status van de tour, dus er wordt niet vooruit gepland om te zien hoe het toevoegen van een specifiek knooppunt toekomstige invoegingen kan beïnvloeden.

Beperkingen:

* Niet optimaal: Het Nearest Insertion-algoritme is een heuristiek, wat betekent dat het niet de absoluut kortste route garandeert. Het kan vastlopen in lokale optima, waarbij een iets andere vroege keuze zou kunnen leiden tot een aanzienlijk betere algehele oplossing.

* Hebzuchtige aard: De hebzuchtige aard van het algoritme kan leiden tot suboptimale keuzes, vooral in gevallen waarin de afstanden niet uniform zijn. Soms kan het in een vroeg stadium kiezen voor een iets verder gelegen knooppunt mogelijkheden bieden voor kortere verbindingen later.

* Afhankelijkheid van startknooppunt: Het startknooppunt kan de laatste tour beïnvloeden. Verschillende startknooppunten kunnen resulteren in verschillende routes.

Voordelen:

* Eenvoudig te implementeren: Het is relatief eenvoudig te begrijpen en te implementeren.

* Snel: Het is over het algemeen sneller dan algoritmen die optimale oplossingen garanderen (zoals zoeken met brute kracht). De tijdscomplexiteit is doorgaans O(n^2), waarbij n het aantal knooppunten is.

* Redelijke benadering: Het biedt meestal een redelijk goede benadering van de optimale TSP-tour, vooral wanneer de afstanden voldoen aan de driehoeksongelijkheid (dat wil zeggen, de directe afstand tussen twee punten is altijd kleiner dan of gelijk aan de som van de afstanden langs elk ander pad).

Samengevat:

Het Nearest Insertion-algoritme is een hebzuchtige heuristiek die een TSP-tour construeert door herhaaldelijk het dichtstbijzijnde niet-bezochte knooppunt aan de bestaande tour toe te voegen. Hoewel het niet gegarandeerd de optimale oplossing oplevert, is het een snelle en eenvoudige manier om een ​​redelijk goede benadering te vinden. Het richt zich op het minimaliseren van de lokale afstandsvergroting bij elke stap.

Previous: Next:
  lokale Netwerken
·Wat is een Drie - Segment Netw…
·Het automatisch laden van een …
·Hoe krijg ik toestemming om de…
·Hoe maak PCAnywhere worden gen…
·Heeft u behoefte aan een DNS n…
·Wat is het ATX- en BTX-poortcl…
·How to Set Up een Belkin Range…
·Verbinding maken met ReadyNAS …
·Hoe te gebruiken Groepsbeleid …
  Related Articles
Welk protocol biedt de meeste mogelijkhe…
Welke strategieën kunnen worden geïmpl…
Welke rol speelt een hypervisor bij het …
Wat is de betekenis van de min-cut-grafi…
Wat is de betekenis van de minimale verl…
Wat is de betekenis van grafiekminuutred…
Wat is de betekenis van computerhash bij…
Wat is de betekenis van TCP FIN ACK bij …
Wat is de betekenis van brongebaseerde r…
  Netwerken Articles
·Hoe om te achterhalen of ik een 56K mode…
·Hoe maak je Vertalen Een hostnaam Into e…
·Wat is Samba Server Software ? 
·Hoe maak je een statisch IP-adres instel…
·Waar kan Telnet gebruik van maken? 
·Beveiliging Voordelen van het Intranet 
·Hoe het opzetten van een D - Link Wirele…
·Hoe om te doen Port Mapping op een Links…
·Hoe maak je een Cute Pillow Make Out van…
Copyright © Computer Kennis https://www.nldit.com