Samstag, 5. November 2016

Konzept für einen Beweis dass nur beschränkte Räume überprüft werden müssen

Herzlich willkommen,

Prüfung nur über Teilräume nötig


hier wird eine Skizze des Beweises beschrieben, der zeigt, dass nur Teilräume überprüft werden müssen, um das TSP für den gesamten Raum für eine beschränkte Anzahl von Punkten zu beweisen.

Es existiert ein grundlegendes Problem. Leider ist es noch nicht gelungen, einen Beweis für die Gültigkeit eines Algorithmus auf allen n Punkten, mit n beliebig, zu beschreiben. Dies liegt daran, dass mit n+1 die Anzahl der möglichen TSP Konstellationen um, Positionen im Raum minus n multipliziert. D.h. die bisherigen Möglichkeiten werden um die neuen möglichen Positionen multipliziert.
Ein einfacher induktiver Beweis für, n nach n+1 Punkte, liegt nicht nahe. Da, wenn die Kombinationsmöglichkeiten für die Positionen für n Punkte überprüft wurden, sich die Möglichkeiten für TSP Konstellationen um mindestens multiplikativ n+1 erhöhen. Überprüft heißt hier, dass der gefundene Algorithmus für n Punkte und alle Positionsmöglichkeiten (m x m) korrekt war. Das ergibt sich durch ein Gegenbeweis.
Angenommen m = 6 und n=3, dann gibt es einen Algorithmus A, welcher für 3 auf allen Positionen des 6x6 Koordinatensystems funktioniert. Angenommen, er funktioniert auch für n+1=4, dann ist die Annahme, nach Induktion, dass er auch für n+2 funktionieren sollte. Dem ist jedoch nicht so. Der Algorithmus A funktioniert nicht für n+2. Der Algorithmus A, sind hier die "Basisschritte" im Tamar-Algorithmus. Siehe Projekt shortcut.
Das Beispiel macht den Gegenbeweis, zu der Annahme des Induktionsschlusses.
Es ist nun klar, dass der Beweis für n+1 Punkte nur mathematisch geführt werden kann.

Daher sind hier die Anzahl der Punkte auf n beschränkt und der Raum, ohne Beschränkung der Allgemeinheit (o.B.d.A.), (2n,2n) = (m,m).

Es gilt zu beweisen:

Sind für n Punkte alle TSP Lösungen L korrekt im Raum (m,m), dann sind sie auch korrekt für einen anderen Raum in N oder Q beliebiger Größe.


Beweisskizze

Der Beweis beschränkt sich auf die Punkte der natürlichen Zahlen N.
Später wird ein Trick angewendet, dass aus Zahlen (N x N) nach Q transformiert werden kann.
Dennoch bleiben die irrationalen Zahlen übrig. Letztlich ist also ein TSP mit einem Punkt auf (2,sqrt(2)) nicht einfach beliebig beweisbar. Letztlich ist es schwer zu zeigen, dass die Lösungen L auch für einen Raum in R möglich sind.

Dennoch hier die Beweisskizze.
Es gelte der Raum M mit Anzahl der Positionen (m,m), wobei o.B.d.A m=2n entspricht.

Theorem 1

Ist L, die Liste von Punkten mit einer Lösung in M, so gilt:
die Lösung L' in M ist existiert, wobei für L' gilt:
  $$  L' = { l' : \exist l \in L:  l'_x = l_x+1 ^ l' \in M}  $$

L' ist um einen Punkt entlang der x-Achse verschoben. Analoges gilt dies für L'y, einer Verschiebung entlang der y-Achse.

Dies wurde durch Berechnen aller Lösungen L in M und dem Vergleich der Lösungen L' in M' bewiesen. Wobei, M' der Raum (m+1,m) war.
Die Lösungen L wurden auch in M' durchgeführt und waren identisch zu L'.
D.h. die Lösungen L waren für A gleich in M'. Und die Lösungen L' waren gleich in M'. Gleich oder identisch bedeutet, die Reihenfolge der Punkte in Lösungen L sind identisch mit der Reihenfolge der Punkte in L'.
D.h. die verschobenen Lösungen L' sind im gleichen Raum identisch.
Daraus folgt, die Lösungen L sind verschiebbar, was zu beweisen war.


Theorem 2

ist L in M lösbar, so ist auch das skalierte L' in M lösbar, wobei:
  $$  L' = { l' : \exist l \in L: l'_x = l_x*2 ^ l' \in M } $$
Analog gilt dies für L'y, der Skalierung entlang der y-Achse.

L' sind die Lösungen um eine verdoppelte Auflösung von L.

Bewiesen wird dies durch alle Tests in M. Die Berechnungen ergaben, dass alle L' denen von L entsprachen. D.h. die Reihenfolge der L' entsprach der Reihenfolge der L.
Daraus folgt, die Lösung L ist skalierbar, was zu beweisen war.


Theorem 3

Ein einzelner Punkt l' im skalierten und verschobenen Raum M', kann verschoben werden l*', und die Lösungen L*' sind zur ursprünglichen Lösung L identisch.

Wird ein Punkt verschoben, so entstehen neue Lösungen L*'. Diese Lösungen sind dann wieder identisch mit L*. Hierbei ist L*' die Lösung mit einzelner Verschiebung in der verschobenen und skalierten Menge L'. Und L*, die Lösung mit einzelner Verschiebung in der original Menge L.

Dabei bedienen wir uns eines Tricks. Es wird davon ausgegangen, dass die Lösungen L' im Raum M' := (2m,2m) liegen.
Es wird ein Punkt $l' \in L'$ zu l*' um zwei Zähler in x und/oder y-Achse verschoben.
Es ist, auf der Basis von Berechnungen, gezeigt, dass dies einer Verschiebung des Punktes um einen Zähler in Raum M := (m,m) entspricht.
D.h. die Reihenfolge der Punkte in L* \in M entspricht der Reihenfolge der Punkte in L*' \in M'.
Dies wird für alle Verschiebungen L*, mit l* berechnet. Dabei gibt es 8 Verschiebungen für l*. Das sind die Positionen in 3x3 Gatter ohne den Mittelpunkt. Dies entspricht äquivalent 8 Verschiebungen um zwei Zähler im Raum M' für l*'.

Die Berechnungen zeigen: L*' entsprach L* für alle Verschiebungen.
D.h., da klar ist, dass eine Skalierung nach Theorem 2 im Raum äquivalent ist, und  die Verschiebung eines einzelnen Punktes zwischen skalierten Räumen gültig ist, gilt:
Die Verschiebung eines einzelnen Punktes ist im Raum gültig. Was zu beweisen war.
Gültig, in dem Sinne, dass die Reihenfolge der Lösungen gleich sind.
L* wird als verformte Lösung bezeichnet. D.h. Verformungen von L sind möglich.


Theorem 4

Der Trick um zu zeigen, dass es nicht nur für Punkte im Raum NxN gilt, liegt in dem allgemein trivialen Theorem, dass es eine bijektive Abbildung von NxN nach Q gibt.

Dazu wird das Koordinatensystem M von NxN auf M^ := (NxN)x(NxN) erweiteret.
Die Berechnungen zeigen, dass obige Theoreme 1,2,3 auch für NxNxNxN gilt.
D.h. die Reihenfolge der Punkte entspricht weiterhin der Reihenfolge der Punkte von verschobenen, skalierten oder verformten Lösungen im Raum M^, bezüglich der Theoreme.
Daher ist klar: die Theoreme 1,2,3 sind für M^ gültig. D.h. die bijektive Abbildung kann auf M^ angewandt werden, und alle Lösungen in M^ sind auch in QxQ möglich. Was zu beweisen war.



Sehen Sie das auch so?

Offene Punkte

Es mutet an, per Induktion von n auf n+1 zu schließen. Jetzt, wo klar ist, dass ein Beweis im beschränkten Raum auch für unbeschränkte Räume von N und Q gilt.
Dennoch, muss m dann so gewählt werden, dass alle punkte n+1 rein passen.
Zudem gibt es durch n+1 Punkte, mindestens n+1 multiplikativ viele weitere Möglichkeiten, was sich schon aus der Reihenfolge der Punkte ergibt. Siehe dazu die Approximation der Möglichkeiten im TSP durch n!.
Wie ist also eine Induktion von n auf n+1 möglich, unter der Annahme eines beschränkten Raumes?



Mit freundlichen Grüßen,
Sebastian Böhmer

Sonntag, 23. Oktober 2016

Metriken des TSP

Sehr geehrte Damen und Herren,

hier werden die Fragen, welche Metriken besitzt das TSP (Travelling Salesman Problem) behandelt.

Zur Bedeutung des TSP hier aus Wikipedia kurz eine Erklärung:
"Sehr viele auch praktisch relevante Probleme sind NP-vollständig. Die Lösung des Problems könnte daher von großer Bedeutung sein. Der Beweis von P = NP würde bedeuten, dass für Probleme der bisherigen Klasse NP Algorithmen existieren, die eine Lösung in – wesentlich schnellerer – Polynomialzeit generieren können. Da es jedoch in den vergangenen Jahrzehnten noch nicht gelungen ist, auch nur einen einzigen derartigen Algorithmus zu finden, wird in der Fachwelt angezweifelt, dass diese Algorithmen überhaupt existieren.
"

Einführung

Betrachtet wird das metrische TSP.
D.h.
- Die Punkte sind in einem Koordinatensystem metrisch.
- Die Abstände sind positiv definiert: d(i,j) >= 0
- Die Abstände zwischen den Punkten sind symmetrisch: d(i,j) = d(j,i)
- Es herrscht die Dreiecksungleichung:   d(i,k) <= d(i,j) + d(j,k)

Metriken

Nach Sandor P. Fekete Dr. Thesis "Geometry and the Travelling Salesman Problem" von 1992, gibt es ein Zusammenhang von Fläche zur optimalen TSP Lösung.

Wir haben im metrischen TSP:
1. Punkte im metrischen Koordinaten-System
2. Zentren zwischen konvexen Polygonen und das Zentrum aller Punkte3. Konvexe Teilmengen
4. Flächen der konvexen Polygone und innere Fläche des TSP5. Längen der Wege zwischen Teilmengen der Punkte und die gesamte Länge

Da als Grundlage nur das Koordinatensystem und die Punkte vorhanden sind, ist dies alles, was an Metriken für das TSP möglich ist.

Aus 1. lässt sich ableiten, dass die Punkte als höher/tiefer (y-Achse) und links/rechts (x-Achse) unterscheiden lassen.

Aus 2. lässt sich ableiten, dass alle Abstände zum Zentrum des TSP (d.h. alle der Mittelpunkt aller Punkte) am kürzesten ist.

Aus 3. zeigt sich, dass das Problem des TSP sich in aneinanderreihen von konvexen Gebieten ergibt.

Aus 4. lässt sich ableiten, dass die Fläche des TSP minimal ist.

Und aus 5. lässt sich ableiten, dass auch der Weg über alle Punkte im TSP minimal seien muss.

1. Koordinatensystemmetrik

Da die Punkte des TSP in einem Koordinatensystem liegen, ist auch klar, dass Punkte weiter links, weiter rechts oder unten und oben liegen können, im Verhältnis zu einem anderen Punkt.
Dies führt dazu, dass es möglich ist eine globale konvexe Hülle über alle Punkte legen zu können.
Diese Tatsache kann dafür verwendet werden um das Problem in Teilprobleme zu untergliedern. Dabei wird davon ausgegangen, dass das Problem des TSP sich in Teilprobleme untergliedern lässt, wie es Zachariasen 2006 in einer Präsentation als "Algorithm of Aroras" beschrieben hat.
Das TSP lässt sich unterteilen in Teilprobleme, die sich in oben-links, oben-rechts, unten-rechts und unten-links untergliedern.
Werden die Teilprobleme gelöst, so muss im Anschluss nur noch die Vereinigung der Teilprobleme betrachtet werden.
Das nennt sich in der Informatik: Divide and Conquer.


2. Abstand zum Zentrum

Die Bedeutung vom Abstand zum Zentrum liegt in der Tatsache, dass natürlich der Mittelpunkt dem Punkt entspricht, der die kleinsten Abstände zu allen anderen Punkten in der Summe enthält. Dadurch ist es möglich ein Minimierungskriterium im Abstand zum Mittelpunkt zu wählen.
Leider dient das Kriterium nicht direkt der Sortierung der Punkte zur Lösung vom TSP.
Es gibt jedoch vielversprechende Ansätze um eine Minimierung der Teilmengen, die ein TSP bildet zu lösen. Dazu mehr weiter unten.

3. Konvexe Teilmengen

Gut ist, dass sich das TSP auflöst in eine globale überlagernde konvexe Hülle und andere konvexe Hüllen am Rand. Dabei schneiden die konvexen Hüllen in die globale konvexe Hülle ein. Das ergab die Beobachtung der möglichen Formen korrekt gelöster TSP's.
Die einschneidenden konvexen Hülle, die in die globale Hülle hinein schneiden, werden der kürzeren Form "Navel" genannt.
Navels können wiederum Navles enthalten, so das die konvexe Hülle des Navel N1 einschneidende Navels N1,i enthält.
Diese im Projekt shortcut beobachteten Eigenschaften, führen dazu, dass das gesamte Gebilde des TSP als eine subtrahierende Menge von konvexen Hüllen betrachtet werden kann.
Die Metrik hierauf wäre die Navels so groß wie nötig, jedoch so klein wie möglich zu halten. D.h. die gesamte Summe der Flächen der Navels sollte minimiert werden.


4. Flächen

Wie schon von Sandor P Fekete festgestellt, gibt es einen besonderen Zusammenhang zwischen der Lösung eines TSP und der Fläche, welches die Lösung des TSP aufspannt. Die Fläche ist minimal.
In shortcut getätigte Untersuchungen haben gezeigt, dass die Minimierung der Flächen der Navel auch zu einer Minimierung der Fläche des TSP führt.
Dies ist bedeutend, da dadurch eine Approximation anhand der Flächen der Navels zum Gesamtziel, der Lösung des TSP, führt.
Minimierung der Flächen der Navel führt also auch zu einer minimalen Fläche des TSP.
In Kombination mit Metrik 3 der konvexen Hülle, ergibt sich das Theorem:
Da das TSP in Navels aufspaltbar ist, führt auch eine Minimierung der Navel-Fläche zu einer Minimierung der TSP-Fläche. Da die Lösung des TSP nach Metrik 4 der Flächen, eine minimale Fläche hat, führt demnach die Minimierung der Navels zu einer Minimierung des Gesamtergebnisses.

5. Längen

Die allgemein verwendete Metrik um ein TSP zu lösen ist in vielen Verfahren, wie dem Greedy oder dem Minimal-Spanning-Tree, die Minimierung der Abstände zwischen den Punkten. Typisch ist, die Strecke auf Basis der Abstände zischen den Punkten zu minimieren. Ungeschickter Weise, ergibt sich jedoch anhand eines Beispiels (Bsp. 1), dass die Minimierung der Strecke nicht zum korrekten TSP führt. Die Metrik ist unbrauchbar.


Schlussfolgerung

Es ist nun das Ziel alle notwendigen und hilfreichen Metriken zu verwenden, um das TSP mit Gradientenverfahren und Minimierung zu lösen.
Kombiniert man die Metriken miteinander, so bekommt man folgende Zusammenhänge.

Die Metrik der Längen ist aufgrund des Gegenbeispiels unbrauchbar.

Auf den ersten Blick scheint der Abstand zum Zentrum mit der Metrik der Flächen ähnlich zu sein. Es ist möglich die Flächen der Navels zu minimieren, es ist ebenso möglich, die Abstände zum Mittelpunkt eines Navels zu minimieren.
Es scheint beides gleichwertig.
Jedoch macht sich ein Ausreißer bei einer Metrik der Flächen stärker bemerkbar als bei der Summe der Abstände zum Zentrum vom Navel. Weitergehend wird vom Mittelwert der Abstände zum Zentrum vom Navel gesprochen, statt von der Summe, da hier nur eine Gewichtung von 1/n sich auswirkt.
Zur Erklärung, das Gewicht von 1/n ist zwar wichtig bezüglich dem Mittelwert, da jedoch entweder der Punkt i am Navel N1 oder N2 liegen muss und zur Entscheidung hier nur der Abstand zum Zentrum wichtig ist, so ist der Faktor n für die Minimierung aller n Punkte nicht ausschlaggebend.
Entscheidend ist, dass bei einer Metrik der Fläche, sich ein Navel proportional stärker vergrößern kann, als durch einfache Addition eines großen Wertes zum Zentrum. Daraus ergibt sich, dass die Metrik der Fläche, Ausreißer weniger zulässt als die Metrik zum Zentrum. D.h. sollte die Entscheidung für einen Punkt i zu N1 oder N2 sein, so wird unter der Metrik der Fläche der Navel gewählt, welcher Punkte hat, die näher an i liegen, als es bei der Metrik vom Zentrum der Fall ist.
Generell, ist das TSP nicht die Lösung der minimalen Abstände, wie es das Bsp1 gezeigt hat, sondern das Finden eines kürzesten Round-Trip. D.h. das Ergebnis betrachtet zu jedem Zeitpunkt einen Fort- und einen Rückweg vom/zum Start.
Weiter ist klar, dass die Lösung des TSP, nach den Beobachtungen für die Metrik der konvexen Mengen, aus Subtraktion von konvexen Hüllen besteht. D.h. es gibt eine Fläche, welche durch andere Flächen subtrahiert wird.
Somit ist klar, dass die Metrik zum Zentrum der selben Kategorie, wie die Metrik der Abstände entspricht, und daher unbrauchbar ist.

Unter Berücksichtigung aller Informationen, wie Punkte im Koordinatensystem, Dreiecksungleichung, Abstände und Flächen, ergibt sich folgende Metrik für das TSP geeignet.
- Das TSP wird zerlegt in Teilprobleme, welche eine schnellere Lösung produzieren und helfen die im Mergeschritt zu betrachtenden Reste gering zu halten.
- Und die Metrik zur Minimierung ist die Flächen der Navels zu minimieren.

Eine Kombinatorik, wie Fläche multipliziert zum Abstand zum Zentrum dient nicht, da offensichtlich das Maß des Abstand zum Zentrum ungeeignet ist.

Mit freundlichen Grüßen,
Sebastian Böhmer

Neue Methoden und Metrik

Hallo, 

Es ist soweit. Die experimentellen Untersuchungen zur Lösung des TSP, sind an eine Konstellation gestoßen, welche weniger durch die bisherigen Verfahren lösbar ist.
Das Beispiel ist Test63. Dabei ging es um direkt in einer Linie hintereinander liegenden Hauptkanten der konvexen Hülle. Die erste war länger als die zweite. So kam es dazu, dass sich die Punkte in näheren Umgebung an der ersten alignten, im Gegensatz zur zweiten Hauptkante, welche besser wäre. 

Lösung

Lösung ist den seboehDist durch den Abstand zum Zentrum der Punkte eines 'Navels', zu verschlechtern. D.h. weiter weg liegende Punkte zum Zentrum werden schlechter bewertet, bezüglich dem seboehDist.
SeboehDist ist eine Minimierung. Daher reicht es den Abstand zwischen neuen Punkt und neuem Zentrum zu multiplizieren.
Ungeschickterweise, wird durch die Multiplikation das Beispiel 58, welches mit Kandidaten arbeitet, verschlechtert.
Deshalb hat sich ergeben, dass ca die vierte Wurzel vom Abstand besser ist.
Außerdem ist es wichtig, die Berechnung nur im correctDist zu machen. Nicht für alle SeboehDist. Jedoch wird der Abstand m, auch mit findBest verwendet. Das ergaben die Tests. 

Resümee

Bei der Verwendung unterschiedlicher Verfahren, und dem ständigen entwickeln anhand von Beispielen, stellt sich die Frage, ob es sinnvoll ist so weiter zu machen, oder grundsätzlich die Möglichkeit neu überlegt werden sollten. 
Dies wird im Beitrag "Metriken des TSP" beurteilt.

Sonntag, 2. Oktober 2016

Ist TSP lösbar mit Candidates und Backtracking?

Sehr geehrte Damen und Herren,

nachdem einige Algorithmen programmiert wurden um das TSP im Gradientenverfahren zu lösen, sind wir am Tag der Deutschen Einheit auf folgende Konstellation von Punkten gestoßen.

Links ist das aktuelle Verfahren Tamar zu sehen. Rechts die korrekte Variante durch naives Verfahren.

Das Linke Bild unterscheidet sich aufgrund des Punktes 230x140, welcher an 30x40 align-en sollte. Dazu kommt, dass das "wipeAllMultiple()" 220x250 und 220x290 an 140x350 align-en sollte.
Leider konnte das wipeAllMultiple() nicht die 220x* Punkte align-en, da 230x140 gleichzeitig an einen anderen Root (30x40) aligned werden müsste.

Nun führt das Beispiel zu einer Korrektur des wipeAllMultiple() zu einem Ansatz mit Kandidaten-Management und Backtracking.

Im folgenden wird 230x140 als Punkt A bezeichnet. Der Punkt 220x140 als B und Punkt 220x290 als C.

Es ist nun so, dass A nur an 30 aligned, weil B und C an 140 aligned wurden. Jedoch ist in wipeAllMultiple() nicht vorgesehen, dass ein Punkt A gleichzeitig an andere Roots align-en kann, außer an dem "gegenüberliegenden/alternativen Root" (kurz: gR). Um ein Alignment an anderen Roots zu ermöglichen, ist es notwendig die Punkte des "ursprünglichen Roots" (kurz: uR) mit alternativen Roots (aR) zu vergleichen.

Es bietet sich aufgrund der Zweidimmensionalität an, die vier nächstliegenden Kanten (K(p), mit oBdA p=A) zu betrachten.

Es wird wie folgt vorgegangen:
  • die Punkte P von uR (hier 370x30) werden bezüglich ihres Abstandes (seboehDist) zu gR sortiert. Dabei wird nur eine grobe Sortierung (gS) gemacht, welche nur das Alignement von p (aus P) berücksichtigt, welches aufgrund der aktuellen Situation an gR existiert. D.h. es werden keine vorherigen p_i an gR aligned, um das nächste Alignement des nächsten p_i+1 zu bestimmen.
  • Entlang der gS wird nun p_s aus gS gewählt, welches am nächsten zu gR liegt, und das Alignement an gR (gA), sowie das Alignment an den alternativen vier Kanten K(p) bestimmt. Das Alignement an K(p) wird hier aA bezeichnet. Mit aA_i(p) als die Kante mit i'ten Abstand zu p.
  • Das beste Alignement bA zwischen aA und gA wird für p gewählt.
  • Herrscht nun eine lokale Verbesserung, so wird p als "auserwählt" an aA aligned. Herrscht keine lokale Verbesserung, so wird p als "Kandidat" an aA aligned. Kandidaten werden in weiteren Alignements nicht berücksichtigt. Sie sind für später.
  • Es wird mit dem nächsten p aus gS fortgefahren, bis keine Punkte mehr in gS liegen.
  • Nun ist es so, dass wir Auserwählte haben und Kandidaten haben. Es wird versucht per Backtracking die Kandidaten wieder an uR zu algin-en.
  • Dabei werden die Kandidaten C grob an die ursprüngliche Hull-Edge-Kante uR (ursprünglicher Root ohne Punkte) sortiert cS.
  • Für jeden c aus cS wird nun ein bester Partner bP für das Alignment an uR gesucht. Der Partner ist wiederum ein Punkt aus cS, welcher noch nicht verarbeitet wurde.
  • Es wird die Korrelation zwischen c und bP bezüglich uR berechnet. D.h. es gibt drei Möglichkeiten c geht alleine an uR, c geht nicht an uR oder c geht mit bP an uR. Die beste Möglichkeit wird gewählt. Der Kandidat c und evtl auch bP werden nun als "auserwählt" markiert und an ihren besten Root aligned.
  • Diese Schritte werden für c aus cS wiederholt.
Damit wird erreicht, dass die Punkte abwandern können zu einem ausgewählten Konkurrenten gR, und alternative Verbindungen eingehen können zu aA.

So kann A an 30 align-en und gleichzeitig B und C an 140.

Der ausgewählte Konkurrent wird durch die Reihe mit allen vorhanden Kanten variiert.

Es besteht die Hoffnung, dass dadurch eine globales Ziel (die Minimierung) erreicht wird.

Sehen Sie das auch so?


Mit freundlichen Grüßen, Sebastian Böhmer, München, den 3.10.2016

Dienstag, 27. September 2016

Welcher Raum ist für die Lösung des Travelling Salesman Problem zielführend?

Sehr geehrte Damen und Herren,

Sie haben sich sicherlich mit dem Travelling Salesman Problem (TSP) beschäftigt. Sie haben vielleicht schon einige Implementationen realisiert. Sie sind voraussichtlich darauf gestoßen, dass heuristische Verfahren in lokale Minima geraten. Daher soll hier die Frage nach dem passenden Raum für die Betrachtung des TSP diskutiert werden.

Generelle Vorstellung

Der Raum des TSP wird normalerweise als möglich Lösungen, d.h. round-trips der Input-Sequenz, und deren zugehöriger Länge betrachtet.
Das ist hier auch so. Jedoch mit einer anderen Norm.
Um nun zur Erklärung zu kommen, muss vorerst eine Abgrenzung und Auflösung typischer Annahmen getroffen werden.

Sehr oft wird vermutet, dass sich gute Lösungen des TSP in der Nähe der optimalen Lösung des TSP befinden. Das wird durch viele Beispiele widerlegt.
Die Kosten, die durch eine weniger optimale Lösung, d.h. die Änderung durch vielleicht eines Punktes, entstehen, sind verhältnismäßig hoch. Wird ein Punkt verändert, so kommt es schnell zu höheren Kosten. Das liegt daran, da sich dann die Reihenfolge der Punkte ändert und dies mindestens zwei andere Kanten zur Folge hat. Diese anderen Kanten haben andere Längen, welche in der Summe dann wieder zu einer höheren Länge führen. D.h. eine Änderung eines Punktes kann typischerweise eine sehr viel höhere Gesamtlänge zur Folge haben.
Es ist also so, dass der Raum der Lösungen des TSP nicht dicht, oder gar gleich-verteilt, um die beste Lösung liegt, sondern sehr "sparse" verteilt ist. Der Begriff "sparse" kommt aus der Mathematik und ist in der ersten Interpretation das Gegenteil von dicht.

Es ist nun so, dass die Punkte, wenn wir sie uns als eindimensionale Reihenfolge vorstellen, einen großen Abstand zischen einander haben.
Der Raum der Lösungen ist beim TSP multi-dimensional. D.h. jeder Punkt bildet durch seine Position in der Reihenfolge des round-trip's, eine neue Dimension.

Damit es verständlicher wird, kann der Lösungsraum des TSP als zweidimensionale Punktwolke vorgestellt werden. Diese ist sparse verteilt.
Das Ergebnis der Lösungen, d.h. die Länge des round-trip's, kann als eine weitere Achse in einem dreidimensionalen Raum vorgestellt werden. Dies ist dann die Z-Achse.
Auf der Z-Achse wird die Gesamtlänge des round-rips, also einer Lösung, aufgetragen.

Die generelle Vorstellung ist nun, dass bei geeigneter Norm für das TSP ein Raum entsteht, der viele lokale Minima enthält.
Als "geeignete Norm", wird oft die euklidische Länge betrachtet. Unter dieser Norm tendiert der Raum jedoch stärker zu lokalen Minima.
Daher stellt sich die Frage, ob der Raum mit euklidischer Länge geeignet ist um das TSP zu Lösen. Lösen, in dem Sinne, das auf effizienteste Art und Weise die optimale Lösung gefunden wird.

Neue Vorstellung

Das Problem des nicht geeigneten Raumes, kann durch eine andere Norm gelöst werden. Typischerweise wird die euklidische Länge als "geeignete Norm" betrachtet. Jedoch bietet sich die Norm des "Umweges" eher an.
In diesem hier präsentierten Lösungsansatz wird diese Norm des Umweges für die Lösung des TSP als sehr geeignet angesehen.
Es ergibt sich die Vermutung, dass unter der Norm des Umweges, welche gleich näher erläutert wird, der Raum keine lokalen Minima mehr enthält und man direkt mit Gradientenverfahren das kleinste Minima, also die optimale Lösung, bestimmen kann.

Die Norm des Umweges, in diesem Lösungsvorschlag auch SeboehDist genannt, berechnet die euklidische Länge des Weges, welcher zusätzlich notwendig ist, um von Punkt A nach Punkt B zu gehen, und dabei Punkt C auch zu besuchen.

Diese Norm bietet sich für das TSP besonders an, da vermutet wird, dass eine lokale Minimierung anhand dieser Norm, zu einem globalen optimalen kürzesten Weg nach der üblichen euklidischen Norm führt.

Resümee

In getesteten Beispielen, kann direkt gezeigt werden, dass die Verwendung der euklidischen Länge als Norm für die Lösung des kürzesten round-trip, nicht geeignet ist.
Damit ist klar, dass eine optimale Lösung nicht mit der reinen Betrachtung der euklidischen Länge erreicht werden kann.
Zusätzlich hat sich gezeigt, dass die Norm SeboehDist in allen bisherig getesteten Fällen zum Erfolg führte.

Mit freundlichen Grüßen, Sebastian Böhmer
PS: Sehen Sie das auch so?

Samstag, 10. September 2016

Chancen durch das TSP shortcut

Chancen durch das TSP shortcut



Seien Sie gegrüßt!


hier wird kurz über mögliche Chancen durch das altbekannten Travelling Salesman Problem erzählt.
Für nähere Information über TSP und über shortcut, siehe ältere und weiter unten liegende Posts.
Die unten besprochene Lösung (shortcut) ist auf eine positiven Fortschritt ausgelegt. Sind Sie interessiert daran, dass Gegenteil zu beweisen. Dürfen Sie gerne in den unteren Kommentaren Beiträge verfassen.

Die ausschlaggebenden Kriterien des TSP sind:



Häufiges Vorkommen

Viele Anwendungen und Systeme versuchen das TSP zu lösen.
    • Objekt Detektion.
      • Objekt Detektion indem mit einfachem Kantenverfahren die Ecken detektiert werden und anhand der Anordnung der Ecken auf die Form zurück geschlossen wird.
    • Genetic Algorithmen.
      • In S&P500 Stock-Exchanges [2]
      • Airlines revenue management [3]
      • Audio Watermark insertion/detection [3]
      • Bioinformatics: RNA structure prediction [3]
      • und viele mehr - List of applications, see [3]
    • "drilling holes in circuit boards"
    • "scheduling tasks on a computer"
    • "and ordering features of a genome." [1]



Verschiedene Anwendungsgebiete

Das TSP lässt sich an vielen Stellen anwenden.
    • In der statistischen Auswertung von nominalen Daten der Sozialwissenschaftler. (Siehe Detail1)
    • Zur Simulation von Verhalten von Enzymen in der Medizin. (Siehe Detail2)
    • Zur Lösung des Drei-Körper-Problems in der Raumfahrt. (Siehe Detail3)




Individuell anpassbar

Das TSP lässt sich in verschiedener Weise anwenden. Viele Probleme in der Informatik können jederzeit auf das TSP reduziert werden. Ist es nun möglich das TSP schnell und korrekt zu lösen, ist es auch möglich das höhere Problem zu lösen. Das höhere Problem enthält das TSP und konnte daher auf das TSP reduziert werden. Damit ist es möglich verschiedener Orte den selben Algorithmus zu verwenden um unterschiedliche, technische und praktische Aufgaben zu lösen.




Aktuell

Letzte Behandlung des Themas war in einem survey von 2014
"In Pursuit of the Traveling Salesman: Mathematics at the Limits of Computation"; William J. Cook; 2014 - siehe [9]




Einzige Lösung

Das hier angebotene Lösungsverfahren ist einzigartig. Während andere bisherige Verfahren immer wieder durch schnellere oder korrektere Verfahren ersetzt wurden und immer nur approximative Lösungen bieten, ist dieses Verfahren einzigartig im Sinne von: geht nicht besser.
Aus der eindimensionalen Sortierung weiß man, das es nur einen optimalen Algorithmus bezüglich Zeit, Qualität und Kosten gibt. Dies trifft auch auf das TSP zu.
Das TSP ist schnellst möglich, mit immer korrektem Ergebnis und dabei mit minimalen Kosten (wie z.B. Strom/Rechenpower/Memory). Das TSP durch shortcut ist einmalig, da es kein anderes Verfahren in der Zukunft geben wird, welches in Geschwindigkeit, über 20%, schneller ist und weniger Speicher, unter 20%, benötigt. Das ergibt sich aus der Erfahrung, die beim eindimensionalen Sortierverfahren beobachtet wurde.




Seit 1930 gesucht


Seit langem wird das TSP versucht zu lösen. Schon 1930 kam das Problem auf. Als sich damals ein Handlungsreisender Gedanken darüber machte, wie man die größten Städte in North-America bereisen kann. Das Problem mit seinen 43 Städten war lange ein akademisches Thema geworden. Intensiv waren die Untersuchungen in den Jahren um 1980 herum, wie es sich aus den Häufigkeiten von dem www.newspapers.com/search ergibt.
Siehe bezüglich der Geschichte von TSP mehr unter [8] [9].




Frei verfügbar

Der Source-Code ist bis zum Jahr 2018 geheim. Daher gibt es nur eine Online-Platform mit einer API, so dass Jeder shortcut ausprobieren kann und auch seine App's gegen die API programmieren kann.




Andere sind daran interessiert

Fragen auf Quora.com:

Aktuell in der Presse thematisiert


The Guardian:
"Technology: how far can it go?
The Press Club is devoting its first monthly gathering of the season to a seminar on artificial intelligence. Toby Simpson, chief technology officer of the global learning company Ososim, will lead the discussion.
He will talk about biologically inspired intelligence, digital genetics and other aspects of machine intelligence. He has become something of a pioneer in the field after starting out in the early 90s as a creator of computer games.
Simpson worked previously with the artificial intelligence company DeepMind, which was acquired by Google in 2014. His talk, at the Corinthia Hotel on 19 September, begins at 6.30pm.
" [7]







Allgegenwertig


Schon jetzt wird das TSP in einer anderen Form, meist durch approximative Verfahren, an vielen Orten verwendet.
    • In Fertigungsanlagen zur Metallfehlerdetektion.
    • An Fließbändern zur Detektion von Fertigungsteilen durch den Industrieroboter.
    •  Auf dem Handy durch Gesichtserkennung von Facebook.




Abgeschaut aus der Natur

"r viele Optimierungsprobleme aus der realen Welt existieren keine effizienten Lösungsverfahren in Software. So führt bei kombinatorischen Optimierungsproblemen nur die Brute-Force-Methode (dt. rohe Gewalt) zur optimalen Lösung, das heißt das Ausprobieren aller möglichen Kombinationen. Allerdings benötigt sie einen polynomiellen Zeitaufwand. Bei hoher Zahl der Kombinationsmöglichkeiten ist sie aufgrund der benötigten Rechenzeit entweder sehr zeitaufwendig oder sogar aussichtslos." (Heise 2013 [6])
 ... trifft auf Genetische Algorithmen zu, welche sich auf das TSP reduzieren lassen.


Referenzen
[1] https://www.wired.com/2013/01/traveling-salesman-problem/
[2] http://stackoverflow.com/questions/1538235/what-are-good-examples-of-genetic-algorithms-genetic-programming-solutions
[3] https://en.wikipedia.org/wiki/List_of_genetic_algorithm_applications
[4] http://www.vias.org/simulations/simusoft_travsalm.html
[5] https://www.quora.com/Why-cant-we-solve-Travelling-Salesman-Problem-using-Floyd-Warshall-algorithm-with-some-modification-in-polynomial-time
[6] http://www.heise.de/ct/ausgabe/2013-5-Der-Genetische-Algorithmus-2327112.html
[7] https://www.theguardian.com/media/greenslade/2016/sep/07/whither-journalism-what-the-great-and-the-good-have-to-say
[8] "The Traveling Salesman Problem: A Computational Study"; David L. Applegate, Robert E. Bixby, Vasek Chvatal, William J. Cook; Princeton Series in AM; 2007
[9] "In Pursuit of the Traveling Salesman: Mathematics at the Limits of Computation"; William J. Cook; 2014


Donnerstag, 8. September 2016

Travelling Salesman Problem - dynamic programming and computational geometry approach - draft


Travelling Salesman Problem as Dynamic Programming and Computational Geometry Approach

Sebastian Böhmer, Munich, 2016

Abstract 

Travelling Salesman Problem (TSP) is a famous problem in informatics. It is common known and part of many problems, which are solved by matching and decent gradient search, currently.
Now, a new and best method to solve it correctly is announced here in this paper.
The invented solution guarantee a complete and correct result in the fastest way. Other methods have been tested since decades, and no correct solution was found. This is the only way to solve the TSP in best performance. There is no other method to solve it faster and also correctly. Tests have shown the correctness of the solution to 100%. It will be possible to program the solution in different implementations. Although, the basic path of this solution stays by the end of time.

Introduction

Different forms of the most three computer problems, are often kind of orientation, recognition and optimisation. They are all known to solve Travelling Salesman Problems (TSPs). This means, they solve the optimization of the TSP hidden.
Orientation gets its input from environment and decide depending on past movements the current position. The movement is unordered typically. Reducing this unordered movement to essential edges will define the space in this environment. TSP helps importantly to reduce the order of edges.
Recognition is a case of pattern matching typically. TSP helps by detecting edges on captured images. Edges are detected by pre-processing methods of image preparation.
A typical situation for optimisation is in numerical problems as route planning.
There are different kinds of routes. For example, one is to find the shortest round-trip for e.g. circuit tests on circuit's boards. You can test the correct connection of your components on boards by burning one line from start to an endpoint by defining the shortest round-trip, which is not crossing especially.

Description of TSP

The correct description of TSP is found on Wikipedia. www.wikipedia.com
There are different types of TSP. One with weights on their edges, one with edges not bidirectional and another not reaching all vertices by arbitrary other vertex. So TSP is a question on every network.
We assume here those three different kind of TSP are implemented by different length function. This means, if we have e.g. no edge between the vertices, we assume a infinite length between those points.
Here, we concentrate only of one general TSP. This TSP is defined as :
  1. All vertices can be connected by all vertices on direct line. 
  2. There are no weights on those lines.
    This means, we take only the euclidean length of those lines into account.
  3. The way on those line is bidirectional and equal in length for both directions.

Now the TSP is the question :
What is the shortest round-trip through all vertices?
Round-trip means, we have to end at the point, we started.
In analogous of the metaphor from travelling Salesman, the situation is as following:
A salesman will sale it's product in (e.g.) 5 cities. In the end, he/she will get back home again and should have visited all cities.
Because his/her horses get weak on long journeys, they should take the shortest path.
This lead us to the description shortest round-trip. What means: the path have to end at start point and path should be the shortest.

The TSP is very good solvable by humans. This means they found a relatively good solution in very fast time.
In this paper a new and innovative method helps solving the Travelling Salesman Problem by an computer.

New Method

The basic idea came up for about two years. The experiments were going on since two years, in that time. It was invented only by me.
The basic idea is, that TSP Algorithm are sorting algorithms. This means, TSP is an sorting, and not a search.
Imagine, you have a start point, which is also the end point, you have two directions you can decide and the distances between the points in order are in the sum the smallest ones. 

You can say sorting one dimensional is a simplified TSP with y=0 for all points.
Lets take a look on this example.
A sorted list in one dimension has the smallest or equal distance between the points to any other order of those points.
Distance is here in this paper every time the euclidean distance.
E.g.:
unordered
7 3 9 2 5   = 
  distances
   4 + 6 + 7 + 3 + 2 = 22 = D_uno
ordered
2 3 5 7 9  =
  distances
   1 + 2 + 2 + 2 + 7 = 14 = D_ord 
  
  

Theorem 1:

   D_ord &lt;= D_uno
The equal case is possible, because there could be several orders with the same length. Later, this means there can be multiple ways with same length in TSP.
It is assumed in Theorem 1, that solving TSP is a Sorting-Algorithm.


 

Comparison

The book "The Travelling Salesman Problem: A Computational Study" from 2007 contains the current state of the art methods of TSP.
All authors expect searching in space or solving with equations.
Searching is completely off topic. Searching means you can always get into local minima and did not find the best solution. You would find a sub-optimal solution. Then, it is tried to improve this solution. However, a sub-optimal minima are far away from best solution in TSP. It shows, that a small error in TSP implies big costs.
It is far away and have big costs, because a change in the order of two points will have a change of at least three edges. At least means here, that if the order of two points are wrong, then it is typically, that the found minima will lead to at least three edges wrong, and mostly more than that edges. This means, if you interpret the order of two points wrong, your algorithm tends to interpret also other points wrong, because the order of points are depending of other points order.
So, the methods are not suitable for good performance. This means, good results in short time. Due to the fact, that small errors result in big costs and only a tiny speed-up with searching instead of sorting, leads to bad performance compared to sorting.
Further, methods in the survey as equation solving are described. It is known from computer-scientists, that every algorithm is possible to be described in equations.
This method is not very suitable. For many people it is more complicated to describe their Problems in equations than in program-code.
In the end, this complex method of sorting is still relevant. And is not redeemed by other methods.

There are people who believe that an algorithm of solving the TSP is as complex as O(n!). More over, they believe, that a sorting algorithm will have a such a complex merging, that leads to O(n!) again. They don't believe, that sorting is possible to solve TSP.
Merging is a part of sorting, which we will describe later.
The assumption is high, that TSP is in best-case at least O(n!) for complete and correct solutions. Although, it is not clear, if it could go faster.
One opposite argument is: As long it is not clear to solve faster, we could assume, that it behaves as one-dimensional sorting. 
For one-dimensional sorting, it is possible to program an algorithm in O(n!) instead of the proved fastest O(n log(n)). It is still possible to program an algorithm which behaves more complex O(n!) than necessary O(n log(n)).
We assume, that met for TSP also. And we just have to find the proved fastest TSP solver.


 

Motivation

The TSP is a Problem, which is in very many places and times present. In cell growing, in gravity, in biology, in psychology and in engineering. TSP is a problem that is currently tried to solve very often. It is tried to solve in different ways. Some people didn't know that the try to solve a TSP. They have their own domain specific language and use their own specialised features to solve their tasks. Although, they are redundant to a TSP.
This solution, in this paper, is a unique, best and fastest solution. It is comparable with the best algorithm in sorting of one dimensional problems.
It is first described fully in this paper. There will be probably implementations with about 20% faster and 20% fewer memory consuming. Although, those implementations are similar to the concept described here. For this concept here, it exists currently no other description.
Tests show that every tested TSP is solved correctly already. Because the possible TSPs are infinite in infinite space to which they belong, it is not possible to test all TSP constellations.


NP = P

There was long time ago the question in informatics: What are difficult problems. It was defined an O-Notation. E.g. O(n!). It was the answer as we could distinguish between different complexity of programmes.
Now, we distinguished between two kind of programmes. The programmes of problems which are solvable in polynomial time and with one machine (typically O(n^k), n ! = k), and problems, which could be solved in polynomial time also, but with infinite parallel machines simultaneous working. The first kind is called P = polynomial, the second kind is called NP = not deterministic polynomial. (see Wikipedia)
Those NP problems use typically more than polynomial time on single machines, else, if they run in polynomial time on one deterministic machine, they would belong to the class of polynomial time problems P.
The TSP is classified as NP hard. This means it is not possible to reduce the problem to an P problem. There is no polynomial algorithm which transforms in polynomial time the problem to an other polynomial problem.
One of the big questions in informatics is, if the NP hard problems could be solved in polynomial time with appropriate Algorithm. It is still not clear if NP is an own class, or if NP = P.
That two dimensional sorting algorithm in this paper is currently the only example, that there exists an algorithm in P, which solve NP hard problems.
As long as we did not find a TSP constellation, which is not solvable by this two dimensional sorting algorithm presented in this paper, we see that NP = P.


 

Tamar Algorithm - the new Approach

Tamar is here the name for the basic algorithm describing the here presented and new developed method of solving the TSP. The algorithm is the heart of solving TSP. Many methods were tried to handle the basic principle. This was the master piece. The algorithm is similar to the quick-sort algorithm for one dimension. Of course the divide and merge steps differ for two dimensions accordingly.
Although, the principle is the same: DIVIDE AND CONQUER

Divide

As described in Wikipedia, the quick-sort algorithm divide the input sequence into different parts. In this way, it sorts all elements smaller than an selected pivot element to the left and all bigger to the right. Equal values leave untouched, as for Tamar algorithm also. The selected pivot element is free to choose from the input sequence. The new two lists are divided again accordingly.
The divide step in Tamar is a little bit more complicated. We have a two dimensional space. Therefore we have to divide in two axis. Luckily, there is famous splitting method.
We just split the space by a cross in the centre of all used points. With the help of the cross, we sort the points in the four quadrants. This mean, we check for every point of the point lay in the upper-left, upper-right, lower-right or lower-left corner. For the case one point is the centre, we decide to move it into the upper-left, and so on for points on the axis. This method is similar to the famous binary space partition tree. So, it is called BSP here.

Conqueror

The merging step in the divide and conquer approach is quite difficult. The problem is, that we have no relation-order which we could apply. There is no way to compare the point p1 with p2. In typical relation-orders, as smaller than, we can compare the values directly. It is not difficult to distinguish between q1 and q2, in one dimension. The figure-system is designed to solve this comparison. When we have two dimensions now, we have no way to compare them directly. In the end, we have no relation-order for two dimensional points. This is true for higher dimensional points, also.
Here in this approach, the order is no problem. The presented method does not compare points by an order. We use computational geometrical approaches. This mean, for the first steps of until four points, we use geometrical methods like calculating the mean and decide in which triangular the forth point lay. They will described in the final paper, presented in 2017, completely. 
The input to the conqueror step is always two ways. w1 and w2. The count of points in both ways specifies which kind of conquer step we use. If the count is below of four points, we use the mentioned geometric approach.
If the count of points is more than four for both ways together, we concentrate on another computational, geometrical and general merging approach.

The divide and conquer approach is based on the assumtion:

Theorem 2:

Merging two partial correct solutions of TSP, gives a new correct solution of a bigger TSP.


 

General Merging by Aligning

The problem in shortest round-trip correlates with alignment. Most would expect to use the euclidean length of the way as criteria to value the best way. However, there is a problem with the euclidean length. It does not fit the typical criteria of a best round-trip.

E.g. in following example, it is explained why shortest way is not the most suitable for shortest round-trip.

On the left we have the shortest way, because the diagonal from p1 to p2 implies shorter length than the advantage by p2 to p4.
Although it is clear, that for alignments, the right picture fits better. The right picture brings home the bacon to round-trips. The alignment fits better with p2 aligned to edge p3,p4.
As you see the question in TSP is not the shortest length, it is the best alignment.
Here it is called: What is the best way for to collect another point too?

More over, it is interesting to see, that a detour is shorter, if we go over a long way between two cities/points.

Short way:
(c) google, Tour: Paris, Venice, Warsaw
Long way:

(c) google, Tour: Paris, Venice, Moscow

The short way picture describes a route from Paris to Warshaw over Venedig.
The long way picture shows a route form Paris to Moscow over Venice.
It is clear, that the shorter way is less long than the long way. And probably it is clear that the detour over venedig is for the tour to Moscow shorter.

It is calculated like: detour_length = d(p1,p3) + d(p2,p3) - d(p1,p2)
Describing the length of way, needed to arrive in p3 = Venice also.

It results in following calculation, where |p1,...,pn| describes the euclidean way length reaching all points between p1 to pn:
|Paris, Warsaw| = 1591 km
|Paris, Venice, Warsaw|  = 2391 km
→ d(Paris, Warsaw, Venice) = 2391 - 1591 = 800 km - detour of short way


While the tour,
|Paris, Moscow| = 3393 km        (Paris, Prague, Kiev, Moskow)
|Paris, Venice, Moskow| = 3883 km
→ d(Paris, Moscow, Venice) = 3883 - 3393 = 490 km - detour of long way


Finally, the detour aligned to long ways is much shorter in euclidean length.

Theorem 3:

TSP is a question of alignment and not shortest way.



Used Metric

To implement the above question in TSP solver shortcut, it is introduced a new metric.

Here we call it SeboehDistance, or short d(p1, p2, p3).

(1)         d(p1,p2,p3) = |p1,p3| + |p2,p3| - |p1,p2|

E.g.:
Example of detour - c1 is better than c2.
If we go from a to b and want to visit also c1 and c2, because we search the shortest round-trip. It is suitable to align c1 in that case, because the seboehDistance results in shorter detour-length. d(a,b,c1) < d(a,b,c2).
This is the method of alignment and results in an other interpretation of point-space. Another interpretation of space which the points belong to.
It is another metric based on euclidean distance.
If anybody know the exact name of this metric, please post it in the comments below.


 

Final Merging Technique

To solve the alignment we assume:

Theorem 4: 

A local optimal alignment to convex hull edges, will result in global optimal alignment for TSP.

.... details soon coming!


 

Difficulties

One of the main trouble is the different order of alignment on other edges. The same points in order p1,p2,p3,p4 at edge a. Can align on edge b in order p2, p3, p1, p4. Currently that problem is solved by searching the best alignment between the points. That results in O(n²). For every point we have to visit the other points exactly one time. This will be done for all edges (here it is assumed we have also n edges). Then the complexity results in O(n³). This is done in divide-and-conquer practice. So, we reach a total complexity of O(n³ log(n)).

Another problem was to find the closest edge, to reduce the above complexity.
This is solved perfectly by an BSP (Binary Space Partition) tree.
The tree will result in fastest detection of closest edges.
This will influence the complexity by O(log(n)).

So, currently it is assumed that the complexity of shortcut is O(n^k log²(n)).


 

Experiments

There is an application to handle tests on the shortcut algorithm.
It is called TSP-Ackermann. Only in relation to the fast growing Ackermann-Function.


See: https://bitbucket.org/gruenblaues/tspseboeh
as link to the shortcut algorithm and the TSP-Ackermann test program.
Project name is: TSPSeboeh.

Points of one test (no.22)

Result on the left is shortcut and on the right is naive algorithm.
Both have same result. (test22)

The shortcut failes on that concave hull, currently. (test23)

The needed time is five times faster (1s) as the naive method (5s). (test41)
Detail of above image. Naive version needs five times longer than shortcut.


 

Results

It will be tested tsplib database. tsplib is a database of well-known TSP examples. They contain TSP constellations, which are already solved or have a close result only.
This is done, if the crowdfunding and Service page will work.


 

Conclusion

As long as not proofed by mathematicians, we just assume that shortcut will solve the TSP. It is similar to the question: Did we test all one-dimensional input sequences in sorting already?
 

 

Outlook

The nature is solving TSP all moment. They get best and close results all time.
The astronomy behaves with gravity as alignment. The biological cells behave as alignment. The enzymes structures build alignments according to their molecules. And last but not least, the economic participants behaves as alignment.
So the influence in the future is high for every simulation or calculation according those topics.

Do you see it also?

 
Kind regards, Sebastian

How-To Crowdfund the TSP

Ladies and Gentelmans,


it's me, Sebastian. And it is going about the TSP (Travelling Salesman Problem).
For whom they don't know what TSP is, here is a short description.


Traveling Salesman Problem is a well known problem in informatics. (informatics is this lecture about computer science). TSP is only the question: For a given input sequence of two-dimensional coordinates, what is the shortest round-trip?
Fortunatelly, there is one shortest round-trip only, or at least some with equal length. The point is, TSP is used very often and needed very much. All computer-scientists try to solve the TSP and if they found a solution for a special constellation of points, they are really satisfied.
So, let's take look into deep.

Here, it is discussed the question about crowdfounding for the TSP's project in special.
There is the problem, that TSP is currently not yet solved, although there are good solutions and a promising algorithms out there. The current problem is a financial issue. It is missing money to get the in this blog presented TSP solver, called "shortcut", ready and go. "shortcut" does not mean it is a shortcut in commen sense. Although, it is the shortest round-trip while reaching all points.

Here, we will think about ideas and solutions to simplify the financial issue.

Therefore, it seems to be the best way to try a Crowdfunding.


CROWDFUNDING TSP

It is time to investigate here, in the TSP-Crowdfunding.
The TSP solver "shortcut" will establish a milestone in informatics. The common sense of robotic come into real. The TSP will satisfy robotic concepts, as Service-Roboters. The TSP saves time in industrial Production. And the TSP will be used for Astronomy, Chemistry and Biology.

We need YOUR IDEA and YOUR HELP!

Just give me a clue about YOUR IDEA of serving and promoting the "shortcut".

For instance:
- What about the Idea to show you Stickers and Posters with TSP shortcut's Logo?
- Are you interrested for code-snippets of the shortcut?
- Would you like to promote your own idea using shortcut?
  If you have an idea, which need to solve a TSP, then it is your time to get money. We will implement this idea, and you get 20% of the win for one year.

WHAT ELSE SUGGESTION DO YOU HAVE TO PROMOTE SHORTCUT?
JUST WRITE ME NOW IN THE COMMENTS!

Notice: TSP ist the question: What is the shortest round-trip?


Your's sincerely Sebastian