wlibaers zei:
Nogal eenvoudig eigenlijk. De knopen, dat zijn alle toegelaten toestanden. De knopen die met een toegelaten transport te verbinden zijn worden verbonden. Dan moet je gewoon nog de weg van de begintoestand naar de eindtoestand zoeken.
Om die weg te zoeken is het niet noodzakelijk de volledige graaf ook effectief op te stellen. Je kan ook bijvoorbeeld depth-first search proberen. Gewoon toegelaten bewegingen maken, maar niet teruggaan naar een vorige toestand tenzij dat de enige mogelijkheid is. Of breadth-first: Neem de begintoestand, en maak dan alle mogelijke toestanden die je van daaruit kan bereiken. Ga dan van die toestanden naar alle toestanden die van daaruit te bereiken zijn, uitgezonderd die die je reeds had, enz...
ja, maar hoe kan je dan extra voorwaarden aan toekennen?
zoals hier dat een vrouw nooit bij een andere man mag zijn zonder dat haar eigen man erbij is?
edit: ah, ik ben mee denk ek
maar dan ben je toch bezig met gewoon een boom te construeren?
begintoestand = wortel
elke mogelijke beweging = kind van de wortel (dus niet per se een binaire boom) en zo probeer je alle mogelijkheden (exhaustief algoritme)
maar ge kunt gaan snoeien dan, door te stoppen idd waar de voorwaarde niet gedaan wordt en dan backtracking tot vorige top en als da trug doodloop trug etc
ge kunt ook tabel bijhouden zodat je eventueel situaties die in andere boomtakken voorkomen te herkennen en rechtreeks daar het resultaat uit te halen (in plaats van opnieuw te berekenen)
maar nu zit je eigenlijk gewoon bezig met algoritmes voor computers hé
wan als ge het probleem veel groter maakt, zal het algoritme veel werk zijn
da heb ik trouwens hierboven ongeveer geconstrueerd -> die 'klik' (wel grafisch nie zichtbaar)