Mir ist aufgefallen, dass ich es viel einfacher finde, mathematische Beweise fehlerfrei aufzuschreiben, als ein fehlerfreies Computerprogramm aufzuschreiben. Es scheint, dass dies etwas weiter verbreitet ist als nur meine Erfahrung. Die meisten Leute machen ständig Softwarefehler in ihrer Programmierung und sie haben den Compiler, der ihnen sagt, was der Fehler …
Um zu testen, ob ein Algorithmus für ein Problem korrekt ist, versuchen Sie in der Regel, den Algorithmus für eine Reihe einfacher Testfälle von Hand auszuführen. Versuchen Sie es an einigen Beispiel-Problemfällen, einschließlich einiger einfacher Eckfälle ". Dies ist eine großartige Heuristik: Es ist eine großartige Möglichkeit, viele fehlerhafte Versuche …
Ich habe einen gierigen Algorithmus, von dem ich vermute, dass er richtig ist, aber ich bin mir nicht sicher. Wie überprüfe ich, ob es korrekt ist? Was sind die Techniken, um zu beweisen, dass ein gieriger Algorithmus korrekt ist? Gibt es gemeinsame Muster oder Techniken? Ich hoffe, dass dies eine …
Ich habe zwei Möglichkeiten, eine Liste von Elementen in zufälliger Reihenfolge zu erstellen und möchte feststellen, ob sie gleichermaßen fair (unvoreingenommen) sind. Die erste Methode, die ich verwende, besteht darin, die gesamte Liste der Elemente zu erstellen und sie dann zu mischen (z. B. eine Fisher-Yates-Mischung). Die zweite Methode ist …
Wie schwarze Löcher in der Informatik. Wir können nur wissen, dass sie existieren, aber wenn wir einen von ihnen haben, werden wir nie wissen, dass es einer von ihnen ist.
Wir haben Hoare-Logik. Warum ist es immer noch möglich, dass ein Algorithmus richtig ist, aber es gibt keinen Beweis dafür, dass er richtig ist? Angenommen, der Algorithmus wird in C ausgedrückt. Dann können wir Schritt für Schritt argumentieren, dass er das tut, was er tun soll. Meine Frage lautet also: …
Nehmen wir an, wir haben zwei Zahlen lll und und wollen für l \ le i, \, j \ le r finden .max ( i ⊕ j ) l ≤ i ,rrrmax(i⊕j)max(i⊕j)\max{(i\oplus j)}l≤i,j≤rl≤i,j≤rl\le i,\,j\le r Der naive Algorithmus überprüft einfach alle möglichen Paare; Zum Beispiel in Ruby hätten wir: def …
Dieser Beweis ist ein Beweis durch Induktion und lautet wie folgt: P (n) ist die Behauptung, dass "Quicksort jedes Eingabearray der Länge n korrekt sortiert". Basisfall: Jedes Eingabearray der Länge 1 ist bereits sortiert (P (1) gilt) Induktiver Schritt: Fix n => 2. Fixiere ein Eingabearray der Länge n. Muss …
Auf Wikipedia wird eine Implementierung für das dynamische Bottom-Up-Programmierschema für die Bearbeitungsentfernung angegeben. Es folgt nicht vollständig der Definition; innere Zellen werden folgendermaßen berechnet: if s[i] = t[j] then d[i, j] := d[i-1, j-1] // no operation required else d[i, j] := minimum ( d[i-1, j] + 1, // a …
Ursprünglich auf math.SE, aber dort unbeantwortet. Betrachten Sie den folgenden Algorithmus. u := 0 v := n+1; while ( (u + 1) is not equal to v) do x := (u + v) / 2; if ( x * x <= n) u := x; else v := x; end_if …
In Bezug auf den Heartbleed-Bug schrieb Bruce Schneier in seinem Crypto-Gram vom 15. April: "Catastrophic" ist das richtige Wort. Auf der Skala von 1 bis 10 ist dies eine 11. ' Ich habe vor einigen Jahren gelesen, dass ein Kernel eines bestimmten Betriebssystems mit einem modernen Programmüberprüfungssystem rigoros überprüft wurde. …
Kann mit einem Programm, das aus Variablen und Anweisungen besteht, die diese Variablen ändern, und einem Synchronisationsprimitiv (Monitor, Mutex, Java synchronisiert oder C # -Sperre) nachgewiesen werden, dass ein solches Programm threadsicher ist? Gibt es überhaupt ein formales Modell zur Beschreibung von Dingen wie Thread-Sicherheit oder Rennbedingungen?
Ich habe kürzlich mit einem Freund über eine Website gesprochen, auf der Regex-Herausforderungen vorgeschlagen wurden, wobei hauptsächlich eine Gruppe von Wörtern mit einer speziellen Eigenschaft abgeglichen wurde. Er suchte nach einem regulären Ausdruck, der zu Zeichenfolgen passt, bei ||||||||denen die Anzahl der |Primzahlen ist. Ich sagte ihm sofort, dass dies …
Bei einem ungerichteten, verbundenen, gewichteten Diagramm G=(V.,E.,w)G=(V,E,w)G = (V,E,w) wo www ist die Gewichtsfunktion w::E.→R.w:E→Rw: E \to \mathbb{R} und ein Minimum Spanning Tree (MST) T.TT von GGG. Jetzt verringern wir das Gewicht umkkk einer Kante eeedas gehört nicht dazuT.TT. So aktualisieren Sie effizient T.TT um es zu einem MST zu …
Ich entschuldige mich für den langen Titel, aber ich wusste wirklich nicht, wie ich ihn anders schreiben sollte, ohne Informationen über den Inhalt zu haben. Ich hatte vor kurzem eine Universitätsprüfung über parallele Algorithmen. In einer Übung wurde ich gebeten, einen Algorithmus zu schreiben, um festzustellen, ob die Elemente eines …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.