Toon posts:

Maximale stroom in een netwerk

Pagina: 1
Acties:
  • 237 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik heb mijzelf laatst bezig gehouden met de theorie over stromen in netwerken. Een van de eerste dingen die je daar leert is de methode van Ford en Fulkerson om een maximale stroom in een netwerk te vinden: Je zoekt steeds naar een groeipad in het netwerk, en je kijkt wat de minimale hoeveelheid stroom is die je toe kan voegen. Die voeg je toe aan voorwaartse paden en trek je van achterwaartse paden af. Dit blijf je doen totdat er geen groeipad meer te vinden is, en dan heb je de maximale stroom gevonden.

Wat ik mij dus af vraag is het volgende:
Is het mogelijk om een algoritme op te stellen, en zoja hoe, dat een tak in het netwerk vind met de eigenschap dat als je zijn capaciteit verhoogt, dat dan de waarde van de maximale stroom ook verandert.

Een mogelijke manier zou zijn om te kijken naar de minimale snede die je verkrijgt uit het algoritme. In die snede kijk je dan naar de takken waarvoor geldt dat als je de capaciteit verhoogt, de snede nog steeds minimaal blijft. Maar het probleem hierbij is dat je moet zien te bepalen wanneer de snede nog steeds minimaal is. Hiervoor zou je dus ook de andere sneden moeten weten.

Een andere manier zou zijn om bij elke iteratie allereerst te kijken welke tak nu eigenlijk de volgende iteratie beinvloed. Daarna kun je kijken hoe je de capaciteit van deze tak verandert, zonder dat de gerichte grafen in de volgende iteraties ook veranderen. Als dit mogelijk is sla je bijvoorbeeld deze tak op in een andere verzameling samen met de maximale waarde die toegevoegd kan worden aan de stroom. Bij elke volgende iteratie doe je hetzelfde. Uiteindelijk heb je waarschijnlijk een lijst gevonden met een aantal takken, en mischien ook meerdere keren dezelfde tak. Als een tak meerdere keren voorkomt neem je de tak met de minimale toegevoegde capaciteit om problemen te voorkomen ;) Die tak is dan een tak waarvoor onze gewenste eigenschap geldt.

Ik ben zelf nog niet echt overtuigd van mijn ideeen (8>
Ik ben benieuwd of jullie nog enige goede suggesties hebben voor het probleem en/of kritiek op mijn methode(s)!

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 10-12-2025
Call me stupid, maar is dit niet triviaal? De maximale stroom is maximaal omdat er geen groeipad meer is, en dat is weer het gevolg van het feit dat er 1 of meerdere takken maximaal belast worden. Neem nu een willekeurig pad. Uit dat pad is er tenminste 1 tak die maximaal belast is (anders zou het pad een groeipad zijn). Vergroot die tak en de netwerkcapaciteit neemt toe.

Wat wil je anders dan dit?

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


Verwijderd

Topicstarter
haha ik heb denk ik vanavond weer zo'n bui waarin ik veel te moeilijk na zit te denken, terwijl het eigenlijk heel simpel is 8)7 Dus in feite kan je dus de capaciteiten van het netwerk blijven verhogen en zo een steeds grotere stroom krijgen!

  • jeanj
  • Registratie: Augustus 2002
  • Niet online

jeanj

F5 keeps me alive

offtopic:
Ik begreep eerst niet waar je het over had maar het voelde aan als een optimalisatie probleem, toen kwam ik er achter dat je met stroom flow bedoelde, toen ging het licht aan (he ook stroom)


Let wel dat de ophoging van een tak die maximaal belast wordt niet noodzakelijk de flow doet toe nemen. Er kunnen andere takken op dat pad zijn die ook maximaal zijn belast. Een verhoging van de capaciteit van 1 tak (die maximaal is belast) met 1, zal de flow met 0 of 1 laten toenemen, afhankelijk van de belasting van de overige takken in het pad en de mogelijkheid om flow via een andere (nieuwe) route af te voeren.

Dus de TS heeft nog steeds een probleem, hoe vind ik een tak waarbij de verhoging van de capaciteit (met 1) de flow laat toenemen (met 1). Het is in iedergeval een tak die maximaal is belast, maar niet alle voldoen.

Ik kom tot het volgende
- vind alle takken die maximaal belast zijn
controleer voor al deze takken
1 als op het pad geen andere tak maximaal is belast dan voldoet deze tak
2 zo niet, als van het eind punt van de tak in het residu netwerk een pad bestaat naar het eindpunt, dan voldoet deze tak
3 alle andere gevallen voldoet deze tak niet

BTW voor de mensen die niet weten waar het over gaat even een globale schets van de achtergrond zover ik die zo uit mijn hoofd nog weet. Het gaat om het oplossen van een maximum stroom (google: maximum flow) probleem, waarbij een netwerk (graaf) is gegeven met op alle paden (tak, edges) tussen twee punten (nodes of vertices) een (maximum) capaciteit is gegeven. De vraag is dus hoeveel eenheden van punt (node) S naar punt T (beide zitten in het netwerk) kan worden verstuurd via dit netwerk gegeven de capaciteiten. Ford en Fulkerson is dus een algorithme om dit op te lossen. (het probleem is volgens mij iets complexer, namelijk een gerichte graaf zonder cycles vermoed ik, maar dat moet even opzoeken)

Wil je meer weten over dit soort problemen: Optimalisatie, Operational reseach, Mathematical
Programming.

[ Voor 50% gewijzigd door jeanj op 03-08-2005 22:32 ]

Everything is better with Bluetooth