Math-E-Mad-X schreef:
Sorry, maar ik denk dat je echt het hele stuk zult moeten herschrijven in de stijl zoals je dat in post nummer 67 gedaan hebt. Verder zou het daarbij handig zijn voor elke stap aangeeft wat je met de stap bereikt. Bijvoorbeeld:
"Na deze stap geldt dat iedere stad X met precies twee andere steden Y en Z is verbonden, waarbij Y en Z de twee steden zijn met de kortste afstand tot X."
(ik zeg maar wat hier)
Verder zou ik bij idere stap een tekening zetten en een voorbeeld tabel.
het hele stuk herschrijven zoals in #67 is opzich niet zo heel veel werk meer, alleen dijkstra nog en misschien een stukje van stap3. Dat was ik sowieso ook nog wel een keer van plan, net zoals voor beide delen een voorbeeldje toevoegen. Aangeven wat ik bij elke stap doe gebeurt volgens mij toch wel voldoende, in de bijbehorende beschrijvingen. Maar ik zal e.e.a. wel wat verder uitwerken, een geporgrammeerde code (macro voor Excel) zou ook bijna klaar moeten zijn (behalve het echte algoritme bij ‘Dijkstra”, wel de omvorming naar de juiste tabel) die kan ik ter verduidelijking misschien hier er wel op zetten, als de eigenaar van die code het daarmee eens is.
De reden dat ik die voorbeelden er nog niet op heb gezet, is dat ik nog een beetje ertegen aan loop te hikken wat nu het beste is. Sowieso geef ik de voorkeur eraan om naar Dijkstra te verwijzen, omdat ik die begrijp, maar ook omdat hij lijkt me een Nederlander is…. das dan toch leuker. Maar Dijkstra zal dan wel IETS moeten worden aangepast. Het bellmanford-algoritme begrijp ik maar half want daarvan kan ik niet echt bevredigende voorbeelden vinden, maar vooral alleen geprogrammeerde codes met foutmeldingen.. Het is op internet zo te vinden dat er makkelijke manieren zijn om voor een situatie inclusief negatieve afstanden de ‘kortste routes’ te bepalen, maar hoe je dit nu precies op een specifieke tabel stap voor stap uitvoert moet ik nog even uitvogelen. Hulp daarbij is natuurlijk welkom, wie het weet mag het zeggen. Zodra het me duideiljk is hoe dat stukje precies werkt, heb ik binnen mum van tijd de bijbehorende voorbeelden.
Deze zin bestaat uit drie delen die aanelkaar geplakt zijn door de verbindingswoorden 'maar' en 'anders'. Helaas ontgaat het verband tussen deze drie delen mij totaal. Het lijken voor mij drie totaal ongerelateerde zinnen. Ik begrijp hier dus niets van.
Ik begrijp je maar toch vind ik het zelf niet eens zo’n slechte zin. Maarja ik weet ook hoe het bedoeld is. Het is helaas niet mogelijk om alles tegelijkertijd te vermelden, dus probeer ik bij 1 feit te beginnen en daar steeds een feit aan toe te voegen. Hopelijk kan je kan zien naar welk totaalplaatje dat leidt. Maargoed, misschien moet je inderdaad alle 3 de feiten wel gewoon los zien en vanuit daar verder redeneren.
Het zou best kunnen dat dat klopt, maar dat soort dingen moet je er wel expliciet bij vermelden. Je kunt niet verwachten dat de lezer dat soort verbanden vanzelf inziet. De lezer zal namelijk hoe dan ook minder energie hierin steken dan jij al gedaan hebt. Bovendien geef je, door dit expliciet te vermelden, de lezer de kans om zelf na te gaan of dit klopt en dus te proberen jouw theorie onderuit te halen. Het is in principe immers altijd mogelijk dat de lezer iets ziet wat jij over het hoofd gezien hebt.
Dat kan ik er wel expliciet bij vermelden, maar de vraag is dan waar leg je de grens he. Ieder feit kan extreem diep worden uitgespit, dus het is dan een beetje zoeken naar wat nu al pure logica is, en wat nog niet. Kritiek zoals die van jouw helpt daar alleen maar bij, dus ik neem aan dat die sorry van je als medelijden was bedoeld…
Ik zou zeggen als je het niet begrijpt probeer zelf te beredeneren hoe het zou moeten, of wacht het even af. Ik hoop binnenkort toch wel de laatste puntjes op de i te kunnen zetten, en dan hier de laatste nodige voorbeelden/beschrijvingen erop te zetten. Als stap 1 en stap 2 (uitgezonderd Dijsktra) bij jouw duidelijk zijn is de grootste slag eigenlijk al gemaakt. Daarna is het vooral nog een kwestie van schaven en aanvullen.
Ik heb ook even geleden een veredelde poging gedaan om het te programmeren, maar ik kon niet uitvogelen wat je exact met scenario 1 bedoelde. Ik had al even tijd nodig om uit te vinden of je bij 'de laagste 2 in iedere kolom' de nullen op de diagonaal mag meerekenen, of niet (ik veronderstel van niet).
De veronderstelling dat daar nullen staan is fout, in het voorbeeld staan er ook geen 0-en maar XXX-en. Je zou XXX wel kunnen vervangen met oneindig, maar niet met 0. De veronderstelling dat je die 0 niet mee mag nemen klopt dan dus weer wel.
Ook: de kortste route tussen 2 steden zal altijd de rechte weg ertussen zijn, daar heb je geen andere algoritmes voor nodig.
Zie bericht #71 de eerste quote
Dus nogmaals:
Mocht iemand de werking van het BellmanFord algoritme voor een tabel hebben waar wel negatieve afstanden in voor komen, maar geen negatieve ‘cylces’, dan kan stap 2 ook worden afgerond. Dan zet ik de omwerking naar de tabel er ook gelijk op, en wat extra voorbeeldjes en wat extra duidelijke stappenplannen, plus eventueel de codes. Ik weet zeker dat dan voor iedereen duidelijk moet kunnen worden hoe het werkt.
Destruction has an end. Creation doesn't.