[Playlisten] [Impressum und Datenschutzerklärung]

03C.7 Traveling-Salesman-Problem evolutionär lösen, Teil 1


CC-BY-NC-SA 3.0

Tempo:

Anklickbares Transkript:

wases heute Morgen werden soll der Schönling selbstder Handlungsreisendeist ein klassisches Problem in Informatikzeitmein ProblemTSPvomkurzT S PSpezialvariantenichtder Fall man typischerweise macht sondern etwas anschaulichesund zwarauf der Landkarte Orte verstreute Orte irgendwieund der Handlungsreisendesucht jetzteine möglichst gute Reiserouteeine möglichst kurze Reiseroute wie kann der alle Orte abschaffenund dabei möglichst wenig Kilometer machenPunkt Beispielkönnte das vielleicht so aussehen??überlegen ist das vielleicht die beste Reiserouteoderwäredies hiereinebessere Reiseroutewas ist die kürzeste Reiseroute für den Handlungsreisendendas ist dieses verwechselthabeeine Optimierungsaufgabeund eine ziemlich fiese Optimierungsaufgabesomitfünf sechs sieben acht Orten geht das noch so halbwegs alles explodiert dann ebenweil sie so viele Möglichkeitenhabendie zu verbindendanke ich könnte auch von den zudem und dann zudemdann so so sodas wird arg viel ?? einer kombinatorischenPerson immer so schön nettgesucht istdie kürzeste Fahrt der alle Orte verbindetes muss also mit der Größe seines ist das schöne Besuch nicht exakt die kürzeste Lösung es reicht auch ein Vaterordentlich kurz ist und dass ein paar Kilometer mehr oder weniger sind es eigentlich egal aber es soll schon ordentlich kurzdass das Problem in der Praxis das mathematische Problem nicht in kürzester zu findenaber in der Praxis reicht es einfach zu finden derhinreichend kurz istähmund was ich sagen würde es somit man es mal anfängt gebrauchenirgendwie Orte auf der Landkarte damit für dich anfangenwas ist eigentlich ein Ortdas ist ein Ort sein daswas ist eigentlich ein Ort dann würfelt manman ähnliche Testdatenhat wirklich mal Orte man könnte sie auch aus irgend eine Entfernungstabellenehmen ?? ich würde sie sich Orte einfach würfelnam Stückin gleich fünf zehnzwanzigweit über hundertN von diesen Orten würfeln und dann guckt man weiterwie man denn verbinden kann was ich vorhabeistein so genannter revolutionärerAlgorithmusdas man ganz vielePfade parallel betrachtetes gibt eine Populationvon Faden sowie Materie in der Petrischale sieht eine Populationvon solchen Fahrten ganz viele davonund die mutierenund die mischen sich ?? kombinieren sichalso bisschenBiologie spielt Evolution spielt eine Stelle ?? schwebt mir vor ?? ist der zweite Schritt der erste Schritt wäre sich zu überlegen was ist ein Zahnarztsoll offensichtlich eine Klasse werden kannund wie Würfel ich malsoundsoviel Ortedie dann mein Ausgangspassbildeine grafischen Oberfläche her natürlich auch wiederso wie bisher keinenein großes Drama ein Buttonder den Prozess startet und wir brauchen höchstwahrscheinlichauch eine Zeichenflächedie ganze ?? sofort anlegeneine Kenntnisgucken kann was denn dapassiertSituation entspannt aus man wirklichkeine Ahnung hundertweit über tausend Pfade gleichzeitigAnzeichendes wird ein ziemliches Spaghetti?? die Zeichenflächedie Kenntnis benenne ich auch tatsächlich war sofortals Zeichenflächewohnt aber Doppelklick auf den Buttonda wird jetzt der Hauptteil der Arbeit stattfinden in dieser Methode die Buttonfür die Orte will ich also einenzusätzliche Klasse haben hinzufügenlassen?? Ortklasseheißt Singularortesdie Klasse stellte nur einen Ort derähmgenauen KoordinatenX und Y sinnvollerweisegeographische Längen geographische Breite aberbesitzen ein mathematisches Problemundeinen constructiones wäre schön?? gute Idee sehr schön ?? was Aktor würfeltschlicht und ergreifend ich muss zufällige Positionen erzeugenTastaturwürfeder soll traurig seinheißt wie die Klassesich eben jetzt nichts an parameterloserconstructionsoll einfach würfeln wenn sie sagen nur Ort ohne allessoll das DingKoordinaten habenundsich auf folgendesSchreibenwendensodanndenzu vergleichen wenn wir Zeugen einer Zufallszahlengeneratorund sagen ich soll jetzt diesendannmit der double-Zahldas üblichNächstnixdoubleist Zufallszahl zwischen null und einsKoordinaten zwischen null und einssich gerade so in den Kilometer Maßstab aber ich versetze dich zu lassen Zufallszahl zwischen null und eins?? die auch mit hundert multiplizieren oder soaber das macht am Algorithmus ja nichts anderszu X jetzt einen Wert zwischen null und eins zufälligYaber das ist jetzt keine gute Idee das so zu tunKommavorführenist es keine gute Idee istdas ich für das ?? Komma vor wird ??weiter ausanzu sehen dass das reichen Problem istalsohier sehe ich jetzt im Wasser wird ein Zufallszahlgeneratorerzeugtund mit den Messungen zwei ZufallszahlAnführungszeichen zuZufallszahl sind es jasie anwenden wollen für würde man mir sagen okay auch eine Liste von Orten Beistrichhatten sound ?? meiner Gegner for-Schleife durchzehn Orteund erzeugezehn OrtePunktund jetzt kommt eben das kommt eben unsererVariantendortso sehr das ja alsZeuge eine leere Listefür die ganzen Ortejetzt zehn mal was tun nämlichzehnmaleinen neuen Ort erzeugenund den an die Liste Orte dranhängenmuss an was in der Liste Orte drin stehtschon fertigseinPixelKomma sechsKomma sechs zwei null Komma sechs null für Nummer vierNummer achtX gleich null Komma sechs zwei hundert siebzehn Video nicht wirksam ?? null Komma sechs null für Nummer einsX gleich null Komma sechs zwei ?? sogleich null Komma sechs null hoffe Sie merkendes Musternummernull ist gleich null Komma sechs zwei Vergleich null Komma sechs nulldass ich es nicht so spannend aus alle Orte liegen am selben Punktda ist was faul was ist da faulist ?? Zufallszahl sieht ja jetzt nicht irgendwiegesetzlicher Siggi Würfel werfe tatsächlich eine Münze werfen oder die Spannung einer Diodemesse oder sowassondern es ist einfach ein Algorithmus in die alte Zufallszahlrechnet irgendwas typischerweisemal irgendwas plus irgendwas Modul ?? irgendwasdas ist die neue Zufallszahlder Nähte die Zufallszahlrechnet irgendwas das ist die nächste Zufallszahlist sie eine Zahl haben wissen Sie wie's weitergehtwas das witzigean die die Folgen Zufallszahl nicht fest wenn sie sagen Bau einer Zufallszahlengeneratorehrlich die Folgen soweit zahlenmäßigdie erste Zahl ist dann vordefiniertendie Messe Salzburg definiertdie Zahlen für sich sind zufällig aus aber es ist immer dieselbe Vorgang Zahldie spannende Frage Komma ?? man anfängt sie können sagen mit welcher Zahl angefangen wirddas können Sie auch an entzieht für den Zufallszahlengeneratorhaben sie wirklich hundertprozentigimmer dieselbe Vorgang Zufallszahlfür diesen ein Zufallszahlengeneratorzum Testen sehr hilfreichdass sie das auch reproduzieren können was da passiert ist wenn sie nicht angebendann scheint sich das Netz irgend eine Zufallszahlzu Beginnzum Beispiel aus der Uhrzeit zu basteln Beistrich was andere Sachen zu basteln aber insbesondere wohl aus der Uhrzeit zu bastelndas heißt wenn Sie dieseszur quasi gleichen Uhrzeit aufrufen kriegen sie auch schon wieder dieselbe Vorgang Zufallszahles ist keine gute Idee ständig ein neun Zufallszahlengeneratorzu bauen das ist die Konsequenz daraus brauchen einen einzigen Zufallszahlengeneratorden sie für praktisch alles benutzen nichtjedes Ding mit seinen kleinen Zufallszahlengeneratordann ist das mit den Zufall kaputt ?? gesehen ich brauche einen einzigen Zufallszahlengeneratorwie kriege ich das hinstatischwenn Sie diese Zeile jetzt einfach nur nehmen würdenund hier oben reinkopieren würdenWitz weiterhin nicht funktionierenjede Instanz von Art die gebaut wird kriegt ein ZufallszahlengeneratorZielphänomengegeben wird immer noch nicht funktionierenwenn sie da jetzt statisch Vorstands tätiggibt es einen einzigen Zufallszahlengeneratorfür die Klassetätig heißt es ist an die Klasse gebunden nicht an Instanzennicht auf jeden Bauplan steht sozusagen der Zufallszahlengeneratordrauf sondern die Klasse einmalhatdiesen Zufallszahlengeneratorsowie das funktionierendesgibt es einen einzigen Zufallszahlmancherortsder Tag an dieser Stelle sind die zum Beispielein echtes Beispiel für Ästhetik kein zusammengelogenist Beistrich Ästhetikich möchte den Zufallszahlengeneratorin der Klasse Ort versteckensoll es die nur ein einziges Mal geben für alle Orte ein einziges Malso sieht das dann aus?? gucken uns noch pünktlichzum gewünschten Ergebnis führtheutesindmeine Zahlen es aussieht ist gleich null Komma einssiebenBindestrich null Komma fünf zweinull Komma acht neunnull Komma fünf fünf null Komma eins sechs sowie des Amerikasdamit haben wir zufällige Orteder Form halber noch mal zu Übung?? schöne Ideesorgen Sie mal dafür dass dieser Ort auch einen Namen kriechtund der Name soll einfach eine fortlaufende Nummer dann werden also Ort Nummer eins Nummer zwei und so weiterwie kriegen Sie das Hindes Name danach erstehtOrt Nummer eins und Nummer zwei und Nummer dreivollautomatischichmuss also irgendwie mitzählenPostulat SeriennummerinsNummer?? als Nummer??basierendie Orte Siri alsoam ?? ist für den Menschen hübscher wenn die Seriennummer mit eins anfangen ich mit Null anfangenwenn sie bei den üblichen Variablen nicht zu unterschreiben?? mit ihm ?? nicht in der Schreiben an der null an oder mit Fouls als guter Wert ?? ich hab gleich eins damit am Anfang gleich eins istso hätte jetzt jeder Orteine Seriennummerist aber eigentlich nicht was ich brauche ich muss wissen was die letzte vergebene SeriennummeristPunktich habe mich ganz ausdrücklich zuletztzuletztvertriebenenSeriennummerund absurderweisetrainiert mit null startenwas ich mache ist das ich sage der Name istPortnummerplusoder Bürger überlegenim Eis weiter nicht die zuletzt vergebene Seriennummersondern ein zweiter alsozuletzt vergeben Sie ?? J plus plusdie erhöhensodie muss jetzt Lebens tätig werdendie Klasse hat eine zuletzt vergebene SeriennummerStartbahn null diese zuletzt vergebene Seriennummerbeim ersten ordentlich Kriegerin der Serie Nummer eins raufund mache draus Ort Nummereinsbeim nächsten Ort den ich kriegeden ?? erzeugen will sollte sagen es Nord in Leerzeichendiese Ringe von eins auf zwei die zuletzt vergebeneihr von eins auf zweiund mache den Ort Nummer zwei aus und so weiter so könnte man es machen und elementar ist eben elementar wichtig ist hier das stetig davordie zuletzt vergebene Seriennummer gibt es nur ein einziges Mal in der Klasse nicht für jede Instanz?? guckendas auch alles sofunktioniert wie man sich das vorstelltNummerfünfhat also den Namen Ort Nummer sechs war der Ort Nummer nullden Namen hat ?? NummereinssollteAusfall zu den Zeichenkettensagen was sie hier machen könntendanndie können nicht direkt sagen Name ist gleich zuletzt vergebene Seriennummerärgernwas sie machen können ist das sie schreibenleere Zeichenkette Plus zuletzt vergeben Seriennummerdeines klar dieses Plus ist die Addition von Zeichenkettenin den Anhängen von Zeichenkettenund dann wird's hierzuletzt vergebene Seriennummer automatisch Leerzeichen verwandeltdas Komma tunoder sie sagenausdrücklichdie zuletzt vergebene Seriennummer bittein eine Zeichenkette verwandeln sowie mir das auch als eine von tausend von Möglichkeitenich wollte Zielort Komma davor stehen angutdann kann man jetzt über dieOptimierung nachdenkenich habe jetzt?? das Weg finden erst mal nachdenkenwas war dasBusinesswege sehr ?? ich habe Ortejetzt muss ich solche Wege PfadeTouren?? schöne Bezeichnung Natures ?? sich so eine Tour darstellen können wir das blaue das wäre eine Tour uns dasviolette hier das wäre eine Tourdas sollte offensichtlich auch wieder eine Klasse werdenzu einer Tour?? eine Klasse für so eine Tour und dann versucht man zu optimierenwasso eine Tour sollte also eine Liste an Orten sein es kommt auf die Reihenfolge an meine Menge an Orten sonst wirklich eine Listevielleicht am einfachsten wirklich eine Drehecht seine Listeist greifen aberich hoffe das man das mit demSmith an Ray geht?? eigene Dateien?? ein ?? dafür aufso hinzufügenKlasseToursoeine Tour sollteeine Reihe von OrtenunddreiOrtemüssen gleich in die gefüllt werden wir brauchen irgend einen Constructor natürlich völligscharfes SKomma wovon man uns Faktor hin sokeinen Schimmer habe wie das gehen wirddie brauchen ?? constructionganz dringend bräuchten wir eineFunktiondie die Länge der Tour ausgerechnetdas wird nicht ohne gehensie nach ?? das wesentliche Kennzeichen einer Tourdarum geht dann sozusagen der Wettstreitim Reagenzglasoder in der Petrischalezwischen denverschiedenenTourenwelche Tour ist die längste Rechentour ist die kürzeste die längste Tour wird höchst wahrscheinlich der schnell aussterbenbei diesem revolutionärenVerfahrendie kürzeste Tourmit sich vermehrendas dann nachherdas Kriterium das es geht auch eine Funktion die Länge der Tour stelltdamit für dich anfangen ist also noch gar nicht direktjetzt mit dem Algorithmus zu tunmit dem danach optimiert wird es ist ?? wesentlicheGröße die einfach aus gerechnet werden mussdie Länge der Tour der verworfenen Funktionsmethodewurde sie liefert die Entfernung zurück also eine doppelte Gesamtstrecke ?? Sand zurückan double-Zahlsie sollten Befehls vom heißenRechnerentfernungunsäglichnichts weil die Tour hatte schon alle Daten drin die Tour kennt diebessere Anordnung daszweite übergeben??eben an aufs zu suggerieren DoppelpunktEntfernung ist ein sich auch kann der namentlich StreckeGesamtstrecke berechnete Gesamtstrecke sosamtihrer DoppelGesamtstreckeesin der Variablen will ich jetzt auf summierendie Strecke von Punkt zu Punktwenn ich fertig bin mit ?? zurückgebenwird eszwischendurchimmerwohl eine for-Schleifeeine for-each-Schleifegeht nicht weil ich immeroder zumindest nicht einfachweil ichimmer ein Punkt in den nächsten haben muss bei der for-each-Schleifehaben sie mein Punktund es ist schwierig die nächsten zu kriegenmüsse den Abstand jeweils zwischen zwei Narbenmit der for-Schleife ist es leicht ??könnenich braucheso viele Durchgänge wie ich Orte habe aber ein wenigerwenn sie drei Orte haben haben sie zwei DistanzenbestehtKlammer auf mankannsie drei Orte haben rechnen sie zwei Distanzen ausalsodrei Orte zwei durch ?? der for-Schleifeimmer einer weniger dass man Orte hatundes groß gleich jedes Mal um den Abstand erhöhenzwischen den beiden Orten der Abstand wäre also messequer wurde wieder?? was noch an Zeitensiemüssen sich irgendwie an die KoordinatenderOrte kommenmeistens einmal in die Klasse ?? NordrheinZugriff schaffenSimpson reingeschrieben sich privat in der nichts davor stehtaber Küsten ist Komma die zu machen alsoTafelgroß X schreibe ich??und der Kette dafür soll seinklein XVorsicht eine Stellenicht Return groß X wenn sie erörtern groß X schreibenheißt dassdieser Gitterruft sich selber wieder aufund sie selber wieder auf und sie selber wieder auf entgegengesetzteKomma flaufunktionierenklein Xwenn sie mit groß Xden Gitter aufrufenoder den Wert von dieser Variablen klein Xund kein Ärger dasselbe fürYDoppelkreuzYund der GitarristJohn klein Ypsilonso jetzt habe ich Zugriff auf die Koordinatenkann es in der Tour anfangen zu rechnen einfach Pythagoras?? lieferte mit den Quartierenkönnten es im Prinzip sowas machen wieOrtevonI davondie X Koordinateoder besser noch eins davon liefendie ExponateminusOrtevon jedavon die Koordinatendes Willichquartierenandas könnte man Meßpau machen aber irgendwieso alt ist wie ich dannmöchte man ungern sind diese auf Funktion verwenden weil die eigentlichen bisschenzu heftig ist ich möchte hier eigentlichdiese Differenz mit sich selbst multiplizieren?? nicht hoch zwei rechnen sondern diese Differenzen sich selbst modifizierenschlankerZweifelsfall als die Baufunktion was ich mache ist die Powerfunktionoder zuwas mache ich es istim ?? Extravariablensachlich Xdelta XdeltadeltaX sage ich istdiese X Differenzen dann kann ich hier einfach ?? schreiben deltaX mal deltaXund jetzt das analoge mit YYYYYYsieht hübsch ?? Leerzeichen hundertmaldas wäre derdie Gesamtstreckerelativ schmerzlosKomma was ich tun ??ich lege mir eine Hilfsvariableander auch summiert werden soll der Abstand zwischen null und eins Abstand zwischen eins und zwei und so weiterdie Männer for-Schleife durchals kürzerals das gesamte?? und addiere jeweils den Abstand aufnachPythagorasund gebe dann es zurückgeht es der Ärger abersieht es ist relativ rechenaufwendigWurzelquadrateunternommen ?? for-Schleife drin das ist relativ rechenaufwendigwenn ich das für hundert tausendevon TourenZigtausend ?? machen willsoll ich das wirklich effizient machen insbesonderesollte ich nicht die selbeTourwenn ich sie mehrfach Frage nach der Gesamtstreckedann sollte ich nicht ständig wieder neu ausrechnen ihrwenn ich dieselbe Tour mehrfach Fragesollte sich schon gemerkt haben vom ersten Malwas denn die Gesamtstrecke war und dann nur noch einfach nachgucken und den Wert zurückgebenwas ich da machen würdest es erfolgensich für die eine Variable noch gebensowasjetzt möchte ich feststellen okay ist denndie Gesamtstrecke schon ausgezeichnet worden??Verschluss ausdenkenist die Gesamtstrecke schon ausgerechnet von schönen über die gesamte Strecke zurückaber wenn sie noch nicht ausgewertet worden istsogar noch raffinierter Schnelligkeit bis heute schreibenmuss man es hinschreiben oderwenn die Gesamtstrecke noch nicht ausgerechnetist sozusagen besser als das was ich gerade geschrieben habeBeistrich die Gesamtstrecke auswasgerade das gehtund zum Schluss in jedem Fallgebe ich die gesamte Strecke zurückziehen und dafür sorgendessen Gesamtstreckees istnochmal zum Mitdenkenmöchte irgendwie feststellenob diese variable Gesamtstreckeschon mit Leben gefüllt istmit dem ?? wenn sie nichtmit Leben gefüllt sich auf die gesamte Knie ausgerechnetdann wenn ich mit der for-Schleifedie Strecke ausrechnen merke mir das Ergebnisund gebe die gesamte Strecke zurückwenn die Gesamtstrecke aber schon ausgerichtet istgehe ich nicht das befreien sofort den Wert zurückdas ist der Gedanke?? beim ersten Mal wo jemand fragt wie lange diese Tour ist rechtlich die aus und merke mir das Ergebnisnoch mal gefragt wirdhabe ich den Wert schon sie nicht mehr ausrichtenist deutlich schnellerumes ist dann eben feststellenmit der Gesamtstreckeist sie ausgerechnet ?? oder nichtdiedie C mäßiger Artdie zehn mäßige Art wäre zu sagen wenn sie noch nicht ausreichend ist sie auf minus eins Komma nullund ich prüfe die Gesamtstrecke negativ ist Punktdas wäre schonbisschenperfektes funktioniert aber es sieht nicht so sauber aus ich setze die Gesamtstrecke zu Beginn auf negative Zahlseineine negative Zahl für die Entfernungnicht prüfeist die Zahl negativ wieder ?? sie ausnicht negativ ist Beistrichich hab sie wohl schon ausreichendwäre eine Möglichkeitandere Möglichkeit ?? nur noch mal hinten andere Möglichkeit das man hier anfängt mit zum Beispiel etwas besserDoppelpunktNorte numberSpezialboot?? Gleitkomma zahlen wenn sie Wurzel aus minus eins rechnen oder denArkussinusaushundert haben wollen oder sowasPunkt dann hatte man daraus keine Zahl ?? Spezialwäre etwas saubererMicrosoft wenn sowas raufen sie Abmessungenvon Fenstern haben wollen oder so Punkt die Sachen definitiv?? number vorihm ist ein bisschenaufpassen wie man den Vergleich macht es gibt DoppelNorte numberso müsste man den Vergleich dann machen die zahlreichenund gewissen Urlaubsorten number istganz professionellwäre noch was anderesähmsind alle möglichen Doppel Fragezeichendas wäre ganz Professionelltypender sein kanneine Gleitkomma Zahloder nichtsdabei Fragezeichenaberfür ?? an dieser Stelle bisschen Beistrich dass manmit der Randnotizdass dasnicht ganz koscher ist es könnte schöner sein aber es wird so funktioniertso langsam ?? Gesamtstreckeberechnetjetzt kommt der?? ans Tracktorund welche Ideenwie sollte man jetzt so eine Tour konstruierenich brauche diese Liste an Ortenmüssten die aus der Liste der Ortekonstruierenwir haben die Liste an Orten?? sollte automatischeineTouraus dieser Liste an Orten konstruiert werden können zufällig in den sich den ersten Ortein lieber den dritten Ort und dann den ersten Ort und einen vierten den zweiten und so weiteraus dieser Liste an Orten als was mir vorschwebtist das ich diesen Linkausgesagtsagte?? vernünftig zu sagen ist ?? constructioneine Listedie Liste nach ?? an Orten mitgebenwirdund der würfelt jetztaus dieser Liste an Ortenseine Rechte an Ortendas wäre was mir vorschwebtdasundjetzt soll für jeden gewürfeltwerden hierfürOrtevon ihm möchte ich einMannausOrteda muss jetzt irgendwas reinunddanachnicht ganz hundert Prozent richtig Komma selber mal an aber dann ist der Gedankeder den ich hier genommen habe die nämlich aus der Liste Orte rausalso aus Orteähnlichen ausbildungfettetgenau denselben rausnehmendas wäre mein GedankeZufallszahl gleich zweimalinsZeltaus irgend eine Zufallszahldie kommt hier reinund die kommt hier reinZufallszahl zu bauen Zufallszahlgeneratorsowie natürlichen Ästhetikin der Klasse drinfindenEndePunktich frage den Zufallszahlgeneratornach der nächstendouble-Zahl sondern nach der nächstenGanzzahlund zwar in dieser Art hierbis zu ein Maximalwertvon null bis zur Maximalwertminus einswelche jetztOrt Account eingebenkriege ichdieden aktuellen Füllstandvon dieser Liste Orteund die Zufallszahl mit maximaleins weniger sein genau was ich braucheden Zecken nämlich raus?? genehmigen raus aber vorweg ich mit Ihnen im ?? Raydaswürde im Prinzip funktionierenich versetze dich mal vor um zu zeigen dass es nicht funktionierthabenKomma wissen was über Referenzen lernen insie sharpalso meine Hoffnung wäre jetzt dass ich sagen kann ich habe eine erste TourTour T einserzeuge ich hiernun Tourzu sehenden Traktorbildesist Antworten habenLeerschrittLeerzeichen zweite TourzweiTourhattewusste ich was passieren wirdPunkt dawirhaben heute erzeugt zehn Stückokay jetzt kommt der nächste Schritt hierTour T einsRaymit zehn Orten für die Orteschon das es heute sicher nicht gedacht das schon das falsch ist spanntsie das schon nicht hingehauen null null null null null der erste Aufruf jährlich hingehauen ist etwas anderes alsdas was wir sowiesoschon aufgefallenist??schon der erste wirklich komplett gefülltdiefor-Schleife läuft nicht zehnmal Baum läuft die for-Schleife nicht zehnmalgenaudieser county darunternach dem ersten Durchgang sind es noch neun hundert drittes nur noch acht und so weiter welche jaimmer ein aus dem hier will ich natürlich nicht ?? Account habenhier wirklich desOrtelängst habendas FA hatte immer dieselbe Längefür die Länge von dem rehahierist das mit dem Kartgenau richtig diese Liste schrumpft und schrumpft und schrumpft und ich möchte aus dem verbleibenden Rest der Liste einen auswählen als ichdas Gehalt des das schrumpft aber ich mussmeine zehn durch Gefühlswarenhabenich sage dafür nicht einfach so Weg schwindendie Tabus konstant bleibenso noch mal was ich eigentlich vorführen wollte ein ?? ist beseitigt aber das ist noch lange nicht alles an FehlerndieOrte noch malPetersen alle da unsere Tour?? Sachen fertig sein ?? weiterzurück ?? die erste Tour erzeugt?? sind auch alle zehn gefülltso ist es gutam Ort Nummer vier istder ?? mit der Nummer zwei ist vier und der hier ist ?? Nummer einssechs und mit dendreißig Prozent sind jetzt lohnt es sich dochdass die Orte Namen habenmir die Orte keinen Namen hätten bis jetzt sind die Zahlen hier vergleichenistder Ort Nummer fünf steht an der Stelle nur es sieht aus wie PermutationOrdnung einzelne Stelle sechsKomma fünf siebenTagesie tatsächlich nach einer Mutation ausso und jetzt C zweiich erzeuge noch mal eine Tour für T zwei möchte ich hoffenund die Tour führte zweikomischausOrteesist offensichtlich nichts geworden ?? T zweiT einsnacheinsachtbei T eins haben sie hierzehn Ortebei T zweihaben sienicht eine Stelle da etwas schief gegangenund zwar was schief geht ist folgendes dass esdiese Geschichte massiv ist folgendesich übergebediese Liste an Ortendes räumlich diese Liste leer das Problem ist das ich eigentlich gar nicht die Liste übergeben ?? eine Referenzbei allen Klassenin sich haben und in Java genausobei allen Klassen wird eine Referenz übergeben die Hausnummer sozusagen übergeben es wird nicht wirklichdiese Liste der durchprobierteine neue Liste sondern es ist eineinfach die Hausnummer dieser eine Liste aus der Hauptfunktionund jetzt nehme ich diese eine Liste aus der Hauptfunktionund nehme nach und nach was aus dem Ding rausdas funktioniert nichtBeistrich was in meiner Funktion zeigen ?? leergeräumt wird Handynummer eingehen??die Zeile ausführe also einmal den Thurgau Faktor aufrufe?? ich mir heute angesehen sie Orte ist eine leere Listekann gleich null Ortes leergeräumt wordenes hier übergeben wird ist die Hausnummervon heute sozusagenund es ist eine einzige Liste namens Orte hier als sie nach Orten in meiner Legacy auch heute aber diese eine einzige Liste ist die leergeräumt wird und dann kann das nächste ?? funktioniertwas ich machen muss ist dafür zu sorgendassdiese Liste hier kopiert wirdich darf mich einfach hinterrückswas übergeben wir dir zerstörensondern ich muss kopierenamweit überlegen sinnvollerweise?? Punktsie vervollständigenOrte OriginalorteSprungunter null ??dieses richtig zu einerListe orten null machen Nistplätzevon der Sorte Ortnull soll sie heißenan ich würde das so machen eine neue Liste erzeugenund in diese neue Listeerwähntalle aus der alten ListeaufnehmenPunkt so könnte man zum Beispielandere Möglichkeitenerscheinen gerade daseinfachste sie erzeugen eine neue leere Liste und sagen okay in diese neue leere Listealle aufnehmenerwähntetwa ein Hinzufügenerwähnt ?? alle hinzufügenalle aus der Liste Orte hinzufügenund dafürdurchhier sinnvollerweisenullneuntem nullnull unddahabe ich jetzt alleSisOrte istdieses RWE was gefüllt werden soll ?? überall sonst sollte jetzt Orte nullstehen sie gut aus für michjetzt müsste der funktionierenKomma da unten hinT zweihatte jetzt auch zehn Orteder mit der Nummer drei ist der ursprüngliche Ort Nummer sieben und der mit der Nummer nullnull vier so sieht es brauchbar aus das scheintzu funktionierenich würde Zeichenfunktioneinsetzen?? jaganz vieleTouren erzeugeneine Liste von ForbesListe von Touren erzeugendann einfachauch wieder einer for-SchleifeWarnungfünfzigTouren?? mit den Ortentun Punkt er hältTour aber jetzt anwaltlichen Konzert oder was haben will nämlich die Liste anOrten habendie Orte des ?? sind Demo-Datensicherlich auch irgendwie ?? ich aus der Landkarte nehmen aber ich hab keine Lust das Ausland geradezu nehmen das Demo-Datendie Touren das gleiche wirklich gearbeitet wird das ist ernst gemeintsein Komma dass ich damit Zufall anfangenwas wir so machen wollen würdest dass ich die Dinger Zeichnerüber den Und-Zeichen Funktionals offizielle for-Schleifewarenund dann möchte ich jetzt hier zuvonden Britenaus den Tourenfor-each-Schleifeauch ?? gewesen ist zu spätdranvon Staatsverschuldungsie sich zu späte for-each-Schleife ist schon hübscher ?? ohne die fünfzig und ohne dasssich auch sofortzeichnendieses Ding in TourenkönnenWassermassen auchSzenenfür Toures Beistrich jedes Zeichnenzeichnebevorzuge zwar nicht aber gleichzwei Minutenzum Zeichnen auf der Leerzeichen Fläche dass unsere Zeichenflächeauf jeden Fall mit Mausklick rechts dann sagen?? generieren es jetzt nicht im Video zu sehen generieren mit uns Tabdann müsste jetzt in unserer Tourklassegesehen ein mit uns dann eine Methode eine Rumpfmethodeerscheintetwa zu Fuß decken können?? ich internegerne haben sondern ?? Blick eine Zeichenfunktionhattendie Griechen die Zeichenflächedas sieht auch komisch aus dasklein geschrieben kennen wirstund der soll es einfachdiesenPfad zeichnen das heißtdas ganze schon aus dem Praktikumauch einenPaul Egoneine PrügeleiPunkt einPolygonzugdafürsind SystemJamesPoly seiendiese Polizeibraucht genügendFarbePunktraschesaus der Sammlung Barschelsder NamensmaniergeöffnetenBildungssystem Windows Medianehme ich warich etwas ganz schlechter Vergleich ziemlich viele Linien haben werdenjetzt für dich machen Punkt dabeimir meine Ray mit den Orten durchund fülle die Punkte darein also diePointsdasHinzufügeneinen neuen Punkt hinzufügen dem PraktikumnunFreundräumtwurde der FreundsystemWindows Punktfehlt nochPunktdas ein bisschen FaulortePunkt linksFreund brauchen wir System Windowsund die Tipps und Koordinatenwerden bei den Orten Koordinaten von null bis eins gehen das heißt man könnte ganz schlicht und ergreifend sagen ich nehme mir von dem Ort Komma diedie Dickskoordinatemal die Breite der Zeichenflächegeht es eben von null bis zur Breite der Zeichenflächekennen eskurzderselbe für die Y Koordinateich nehme mir von dem Ort Komma wiedie Y KoordinatePunktmal die tatsächlicheHöheExcelhalt Kenntnisschonaltund die vorliegende muss ich noch Kenntnis hinzufügen?? zu kennen dasSchildatPKonsequenzenfür jede Tour erzeuge ich eine Polyliniefür die mit den Punkten umgerechnetBildschirmkoordinatenund hänge die Poliklinik dranan die Kinder der Zeichenflächedie Zeichenfläche sollte der quadratische?? damit das gleich auch in kommenden Abständenquadratisch ziehenkannstPunkt ??hiertatsächlich mit Eintraghalt zwei hundert und sechzigdann sollten ?? Witz auch zwei hundert sechzig machen so es wirklich quadratischdas Master verpasstjetzt müsste man da ein Wollknäuel sehenokayein Wollknäuelunddas gilt es danach zu optimieren was ist von diesenwegenTourender besteodereben Revolutionär wie kann ich die besten Überlebenschancenaus diesen Tourendas Wasser