Een netwerk van telefoonlijnen is een systeem van kabels en apparatuur dat wordt gebruikt om telefoontjes te verbinden. Het bestaat uit een reeks centrales die onderling verbonden zijn met kabels. Wanneer iemand een telefoontje pleegt, wordt het signaal verzonden via het netwerk naar de centrale van de ontvanger. Het signaal wordt vervolgens verzonden naar de telefoon van de ontvanger.
Een netwerk van telefoonlijnen kan worden gemodelleerd als een graaf, waarbij de knooppunten de centrales vertegenwoordigen en de randen de kabels vertegenwoordigen. Het doel van de puzzel is om een pad te vinden van de knoop van de beller naar de knoop van de ontvanger dat zo min mogelijk randen gebruikt.
Hier is een voorbeeld van een netwerk van telefoonlijnen:
In dit voorbeeld zijn er zes centrales, gelabeld A tot en met F. De centrales zijn verbonden door kabels, zoals weergegeven door de lijnen.
Om een pad van knoop A naar knoop F te vinden, kunnen we het volgende algoritme gebruiken:
- Start bij knoop A.
- Zoek de knoop met de meeste randen die nog niet zijn bezocht.
- Voeg die knoop toe aan het pad.
- Herhaal stap 2 en 3 totdat knoop F is bereikt.
In dit voorbeeld is het pad van knoop A naar knoop F als volgt:
A-> B-> C-> D-> E-> F
Dit pad gebruikt vijf randen, wat het minimale aantal randen is dat nodig is om de twee knopen te verbinden.
Netwerkpuzzels met telefoonlijnen kunnen worden opgelost met behulp van een verscheidenheid aan algoritmen, waaronder diepte-eerst zoeken, breedte-eerst zoeken en Dijkstra’s algoritme.