Ich hatte einmal einen Professor für neuronale Berechnungen, der ein hervorragendes Beispiel dafür aufzeigte, wie "analoge" Techniken bei peinlich parallelen Problemen eingesetzt werden können, um die asymptotische Grenze einer Berechnung zu verringern:
Nehmen Sie ein Bündel Stöcke unterschiedlicher Größe. Es gibt viele algorithmische Möglichkeiten, um dieses Bündel von Sticks mit O (n * log (n)) vom längsten zum kürzesten zu sortieren. Eine "analoge" Möglichkeit, dieses Bündel von Stöcken zu sortieren, besteht darin, sie auf ein Ende zu stellen und die Stöcke an einem Ende auf einem Tisch ruhen zu lassen (1 Schritt). Jetzt haben Sie alle Stöcke mit einem Ende auf gleicher Höhe am Tisch. Nehmen Sie Ihre Hand und legen Sie sie darauf - sie trifft am längsten, entfernen Sie den Stock und wiederholen Sie den Vorgang für N Schritte. Dieser Prozess ist O (N + 1), was O (N) ist. Der Schlüssel hier war das Stapeln der Sticks am Ende - eine massiv parallele Lösung, um die anderen Enden der Sticks entlang der z-Achse (nach oben) zu ordnen.
Dies ist ein ordentliches Gedankenexperiment und kann eine Vorstellung davon geben, wie analoge Lösungen auf einfache Weise die asymptotische Grenze eines Algorithmus reduzieren können. Zwei große Einschränkungen hier:
1) Wir haben mit diesem Beispiel kein NP-Problem zu einem P-Problem gemacht (dazu später mehr) und
2) Wenn Sie N Prozessoren zum Sortieren von N Elementen verwendet haben, können Sie die Zahlen in O (log n) -Zeit (mit einer großen Konstante) sortieren, sodass die Reduzierung nicht magisch ist. Manchmal sind die benötigten analogen Ressourcen, die ein Problem auf sehr parallele Weise lösen, billig. Ein weiteres Beispiel für eine billige Ressource wären Neuronen (biologisch) für komplexes Lernen und Mustererkennung.
Neuronen können auch den scheinbaren NP => P relativieren. NP-Probleme sind NP, um die optimale Lösung zu finden . Sie können in P-Zeit eine "gut genug" Lösung finden, die in der Natur gut funktioniert. Evolution wählt hocheffiziente Lösungen, die "gut genug" sind. Überlegen Sie, wie gut die durchschnittliche Person Objekte in fast O (1) Zeit identifizieren kann. Das liegt daran, dass viel parallel verarbeitet wird und Ihr Gehirn immer noch nicht immer die optimale Lösung findet. Zum Beispiel optische Täuschungen oder das Vergessen, wo Sie Ihre Schlüssel ablegen (was für einen Computer leicht O (1) wäre!).
Ein weiterer Punkt mit NP vs P in der Natur: Das Lösen von NP, um die optimale Lösung zu finden, ist nicht dasselbe wie das Identifizieren der optimalen Lösung. Die Identifizierung einer optimalen Lösung für ein NP-Problem kann in P-Zeit erfolgen. Wiederum funktioniert die Erkennung einer "gut genug" -Lösung eher als eine optimale Lösung. Nehmen wir das Beispiel der Proteinfaltung - dies ist ein Beispiel für die Natur, die all das tut. Es nutzt molekulare Wechselwirkungskräfte, die alle parallel arbeiten (es ist nicht erforderlich, dass der natürliche Faltungsalgorithmus wie ein Rechenalgorithmus jeweils ein Atom adressiert). Es gibt auch keine Garantie dafür, dass die (funktional) optimale Lösung für die Proteinfaltung gefunden wird.
Es gibt viele Beispiele für Krankheiten aufgrund von Proteinfehlfaltung. Wie @PeterShor betonte, funktioniert der "natürliche" Algorithmus manchmal überhaupt nicht (was zu einer thermodynamisch optimalen Lösung führt, aber nicht zu einer funktionalen). Hier kommen Chaperonproteine ins Spiel - sie leiten die Faltung in die richtige funktionelle Form (ein thermodynamisches Lokal)Minimum). Richtig gebildete Proteine interagieren auch mit anderen Proteinen, um sie an den richtigen Ort zu transportieren, so dass die "schlechten" (bei denen der heuristische Algorithmus das NP-Problem nicht wirklich gelöst hat) häufig abgebaut werden, ohne irgendwohin transportiert zu werden. Alle diese Transporte und Faltmechanismen finden mit massiven parallelen Rohren statt. Mehrere Transkriptions- und Verarbeitungsmechanismen wandeln gleichzeitig DNA-> RNA-> Protein an verschiedenen Punkten einer Gensequenz um. Jede Zelle in Ihrem Körper tut dasselbe (aber mit unterschiedlichen chemischen Botschaften darüber, was produziert werden soll).
Kurz gesagt: Wie macht die Natur das? Tricks und Parallelität. Im Allgemeinen verwandelt es ein NP-Problem nicht in P, sondern lässt es einfach aussehen.