Ist die Gesetzgebung NP-vollständig?

64

Ich würde gerne wissen, ob es eine Arbeit gab, die den Rechtskodex mit der Komplexität in Verbindung bringt. Nehmen wir insbesondere an, wir haben das Entscheidungsproblem "Ist der Angeklagte angesichts dieses Gesetzes und dieser besonderen Umstände schuldig?" Zu welcher Komplexitätsklasse gehört es?

Es gibt Ergebnisse, die bewiesen haben, dass das Kartenspiel Magic: the Gathering sowohl NP- als auch Turing-vollständig ist. Sollten also keine ähnlichen Ergebnisse für das Gesetz existieren?

Björn Lindqvist
quelle
18
Ihre Behauptung über MtG kann nicht richtig sein, da es entscheidbare Probleme gibt, die nicht in NP sind . Du meinst also, dass ein Teil des Spiels NP- vollständig und ein anderer Teil Turing-vollständig ist.
David Richerby
8
Ein Professor von mir veröffentlichte einige Arbeiten auf formale Analyse der Gesetzgebung, wie dies , dies und dies . Ich denke, es ist nicht ganz das, wonach Sie fragen, aber nur für den Fall, dass Sie es relevant finden.
Jdehesa
1
Die Komplexitätsklasse "Anwälte können unendlich komplex sein". ;) Wenn Sie an einer formalen Analyse einer willkürlich definierten abstrakten Struktur interessiert sind, die dazu dient, die Gesetzeskodizes auf bestimmte Weise anzunähern, ist diese formale Analyse möglicherweise möglich. Es ist jedoch wichtig zu erkennen, dass es auch in einer idealisierten Welt keinen sinnvollen Bezug zu tatsächlichen Gerichtsverfahren und zum tatsächlichen Justizsystem hat . Intent Angelegenheiten, und ein großer Teil von Gerichtsverfahren etabliert , was die Umstände sind in erster Linie.
Wildcard
9
Es hängt ganz davon ab, ob die Rechenzeit abrechenbar ist oder nicht.
Matt Timmermans
1
Eine Kurzreferenz zur MtG-Komplexität könnte Chatterjee & Ibsen-Jensen, 1998, sein . Sicher gibt es noch andere Artikel zu diesem Thema.
Dmitri Chubarov

Antworten:

33

Gesetze können eine beliebige Sprache enthalten, und eine beliebige Sprache kann NP-vollständige Logik ausdrücken. Theoretisch wäre es also möglich, ein NP-vollständiges oder sogar ein unentscheidbares Gesetz zu schaffen. In der Praxis sind die meisten Strafgesetze jedoch einfache Entscheidungsbäume.

Nehmen wir zum Beispiel Abschnitt 187 (a) des kalifornischen Strafgesetzbuches ("First Degree Murder").

(a) Mord ist die rechtswidrige Tötung eines Menschen oder eines Fötus durch Vorsatz.

(b) Dieser Abschnitt gilt nicht für Personen, die eine Handlung begehen, die zum Tod eines Fötus führt, wenn eine der folgenden Bedingungen zutrifft:

(1) Das Gesetz entsprach dem Therapeutic Abortion Act, Artikel 2 (beginnend mit Abschnitt 123400) von Teil 2 Kapitel 2 der Abteilung 106 des Gesundheits- und Sicherheitsgesetzes.

(2) Die Handlung wurde von einem Inhaber einer ärztlichen und chirurgischen Bescheinigung im Sinne der Unternehmens- und Berufsordnung in einem Fall begangen, in dem nach ärztlicher Gewissheit das Ergebnis einer Geburt der Tod der Mutter des Fötus oder des Kindes wäre wo ihr Tod von der Geburt, obwohl nicht medizinisch sicher, im Wesentlichen sicher oder wahrscheinlicher als nicht sein würde.

(3) Die Tat wurde von der Mutter des Fötus angefordert, unterstützt, gefördert oder ihr zugestimmt.

(c) Die Unterteilung (b) ist nicht so auszulegen, als ob die Verfolgung einer Person nach einer anderen gesetzlichen Bestimmung untersagt wäre.

Dies kann als einfacher Satz von Boolescher Logik ausgedrückt werden.

IF !victim.isAlive
   AND victim.species == HUMAN
   AND defendant.hasKilled( victim )
   AND defendant.hadMaliceForethought
   AND !(     victim.age < 0 
          AND wasTherapeuticAbortion 
          AND defendant.profession == DOCTOR 
          AND ( victim.survivalChance == 0 OR victim.mom.survivalChance < 0.5 )
          AND victim.mom.wantedAbortion )
THEN defendant.moveTo(PRISON)

Nun gibt es natürlich eine Menge, die ich hier trivialisiere, wie "Was ist böswillige Voraussicht?", "Was ist eine therapeutische Abtreibung?" Und "Wie bestimmen Sie die Überlebenschance einer Schwangerschaft?". Diese können aber auch als ähnliche boolesche Entscheidungsbäume ausgedrückt werden.

Aus Sicht der Softwareentwicklung kann das Rechtssystem als eine Form von Business Rule Engine angesehen werden, deren Regelsatz das Gesetz ist.

Das heißt, die meisten Gesetze haben eine rechnerische Komplexität von c. Berücksichtigen Sie auch den Prozess der Beweisprüfung, der zur Ermittlung der Werte aller dieser booleschen Variablen erforderlich ist, so wird die Komplexität zu ndem Punkt, an dem ndie Menge der zu bewertenden Beweise liegt.

Manchmal enthalten Gesetze jedoch eine Sprache, die überhaupt nicht bestimmbar ist und ein äußeres Orakel erfordert. Zum Beispiel, wenn Begriffe wie "vernünftiger Zweifel" erwähnt werden. Was ist "vernünftig"? Das muss ein Gericht entscheiden.

Philipp
quelle
4
Das ist gut. Für Ihr Beispiel denke ich, dass einige der abortbezogenen ANDs ORs sein sollten - "eine der folgenden". Auch sehe ich hier keine Überlebenschance für Opfer.
Josiah
1
+1, aber wie Josiah anspielt, victim.survivalChance == 0 OR victim.mom.survivalChance < 0.5ist keine korrekte Auslegung des Gesetzes; Das Gesetz sagt victim.mom.survivalChance == 0 OR victim.mom.survivalChance > 0 AND victim.mom.survivalChance < 0.5, was sich zu Recht vereinfachen lässt victim.mom.survivalChance < 0.5.
Ruakh
4
Nur ein Trottel: Wenn eine der folgenden Aussagen zutrifft , übersetzt dies nicht in x AND y AND zbut x OR y OR z.
Tomáš Zato
3
Wenn es so einfach wäre, warum haben wir dann Richter? Warum ist es uns so wichtig, wer sie sind? Warum haben wir Rechtsprechung? Warum gibt es so viele kontroverse Gerichtsverfahren? Natürlich ist das Gesetz nicht so einfach, wie man es sich vorstellt. Vernünftige Zweifel sind ein gutes Beispiel für einen problematischen Teil (der ziemlich häufig vorkommt), ein anderes wäre, eine Erzählung aus einer willkürlichen Reihe von Beweisen zu konstruieren oder sogar über die Länge einer Gefängnisstrafe zu entscheiden.
11684
1
Es ist noch schlimmer. Die Rechtssprache kann nicht nur eine beliebige Sprache sein. Implizite Annahmen können ebenfalls nicht berücksichtigt werden. Es kann also theoretisch unendlich komplex sein. Auch die menschliche Sprache ist so komplex und implizit, dass Sie jedes Wort in jedem Satz nach der Definition fragen können, um jemanden aufzufordern, es zu erklären. Das kann auch ewig so weitergehen. Mit anderen Worten, Kommunikation und alles, was in der Kommunikation zum Ausdruck kommt, ist nicht einmal garantiert, um Sinn zu machen, genau definiert zu sein oder jemals zu beenden, wenn sie ausgeführt wird.
Hoffentlich
95

Es ist nicht zu entscheiden, weil ein Gesetzbuch willkürliche Logik enthalten kann. Ein albernes Beispiel für ein Zensurgesetz wäre "Es ist illegal, ein Computerprogramm zu veröffentlichen, das nicht anhält".

Die Gründe, warum es Ergebnisse für MTG gibt und diese interessant sind, liegen darin, dass es einen einzigen festen Satz (meistens) eindeutiger Regeln gibt, im Gegensatz zu Gesetzen, die sich ständig ändern, fürchterlich lokalisiert und endlos mehrdeutig sind.

orlp
quelle
1
Kommentare sind nicht für längere Diskussionen gedacht. Diese Unterhaltung wurde in den Chat verschoben .
DW
Hinweis für Moderatoren (erneut): Kommentare sind nicht für eine längere Diskussion vorgesehen. Wenn Sie diese Antwort diskutieren möchten, verwenden Sie den Chatroom . Jeder Kommentar, der veröffentlicht wird, sobald ein Chatraum existiert, kann zusammenfassend gelöscht werden.
Gilles 'SO- hör auf böse zu sein'
3
Es könnte sogar noch schlimmer als unbestreitbar sein, was bedeutet, dass es nicht richtig definiert oder widersprüchlich ist. Denken Sie an den Indiana Pi Bill
Hendrik Jan
10

Das ist eine sehr interessante Frage.

Das Recht bewegt sich irgendwo zwischen der Alltagssprache mit ihren willkürlichen, sich ständig ändernden und oft weichen Regeln und der Programmiersprache mit ihren sehr spezifischen, definierten Regeln.

Legalese definiert tatsächlich seine Begriffe und daher haben viele im Gesetz verwendete Wörter (aber nicht alle!) Genaue Bedeutungen.

Bei der Interpretation schlägt jedoch Ihr Ansatz fehl, einen Fall einem logischen System zu präsentieren und ein Ergebnis zu erhalten. Das Gesetz ist eine allgemeine Definition, die an den jeweiligen Einzelfall angepasst werden muss. Oft ist dies ein trivialer, unkomplizierter Prozess, aber es gibt keine Garantie dafür und keine nicht-triviale Möglichkeit, die Grenze zu definieren.

Ein gutes Beispiel ist die Selbstverteidigung. In den meisten Rechtssystemen können Sie eine andere Person rechtmäßig verletzen, vorausgesetzt, Sie handeln in Notwehr. Der Wortlaut ist jedoch ausdrücklich kontextsensitiv. Zum Beispiel schreibt das britische Strafrecht:

Eine Person darf Gewalt anwenden, die unter den gegebenen Umständen zur Verhütung von Straftaten angemessen ist. [...]

In der Rechtsprechung wird definiert, was in bestimmten Fällen "angemessen" ist , aber es ist keine allgemeine Definition in den Büchern. Es gibt auch eine Rechtsprechung, die klarstellt, was genau "Prävention von Kriminalität" bedeutet. Da per definitionem noch kein Verbrechen begangen wurde, geschweige denn ein Gericht entschieden hat, dass die Klage tatsächlich ein Verbrechen ist, ist in diesem speziellen Fall ein angemessener Glaube ausreichend, der jedoch nicht tatsächlich gesetzlich verankert ist!

Um einen digitalen Entscheider über das Gesetz zu schaffen, müsste man nicht nur das Gesetz selbst, sondern auch die gesamte Rechtsprechung, viel natürliches Sprachverständnis und viele Regeln darüber, wie man all dieses Wissen anwendet , füttern, denn Manchmal ist die Rechtsprechung solide, manchmal kann man sie biegen (besonders wenn sie alt ist, da sich die Interpretationen im Laufe der Zeit ändern).

Und schließlich ändert und passt sich das Gesetz nicht nur im Buch, sondern auch in seinen Interpretationen an. Es gibt viele berühmte Beispiele höchster Gerichte, die ihre eigene 20-jährige Entscheidung außer Kraft setzen. Solche Anfechtungen der bisherigen Rechtsprechung treten sehr häufig auf, weil ein Richter entschieden hat, gegen diese geltenden Gesetze zu verstoßen, und er lieber das Risiko eingeht, vor einem höheren Gericht übergangen zu werden, als eine Entscheidung zu fällen, hinter der er nicht steht. Ich frage mich, wie Sie diese Fähigkeit in einem NP-vollständigen System modellieren würden.

Um die Komplexität eines Systems zu berechnen, müssen wir die Ein- und Ausgänge verstehen. Das Gesetz ist jedoch ein offenes System. Es kann buchstäblich alles in seiner Umgebung beeinflussen, insbesondere Veränderungen in Gesellschaft und Kultur. Die meisten Länder haben Gesetze in den Büchern, die kaum noch angewendet werden, weil sich die Gesellschaft verändert hat, aber der Gesetzgebungsprozess hinkt hinterher. Gesetze gegen Homosexualität sind ein aktuelles Beispiel. Oder das Todesurteil, das in den meisten Ländern jahrelang oder jahrzehntelang nicht angewendet worden war, bevor es aus den Gesetzen gestrichen wurde. Und nicht, weil es keine Fälle gab, in denen es hätte angewendet werden können, sondern einfach, weil die Richter es nicht angewendet haben, obwohl sie die Wahl hatten.

Diese Umgebungsfaktoren machen eine Abschätzung der Komplexität fast unmöglich, da wir sie nur dann in einer endlichen Liste aufzählen können, wenn wir alle Quantoren verwenden (z. B. "jede Art von ..." oder "alle ...").

Tom
quelle
8

NP-Vollständigkeit hat, wie bei anderen Komplexitätsklassen, mit Problemen zu tun, die eine Eingabe unterschiedlicher Größe erfordern, deren Größe wir mit n bezeichnen . Speziell:

  • Ein Problem ist NP, wenn festgestellt werden kann, ob eine vorgeschlagene Lösung tatsächlich eine Lösung mit Laufzeitpolynom in n ist .

  • Ein Problem ist NP-vollständig, wenn es NP ist, und darüber hinaus kann jedes NP-Problem durch einen Reduktionsprozess mit Laufzeitpolynom in n auf NP reduziert werden .

In dem Problem schlagen Sie nämlich vor

Ist der Angeklagte angesichts dieses Gesetzes und dieser besonderen Umstände schuldig?

Ich bin mir nicht sicher, was n sein soll. Es scheint, als wären die Eingaben hier die "Menge der Umstände" und der Name des Angeklagten. Nur die ersteren könnten unterschiedlich lang sein, aber was meinen wir dann überhaupt mit den "Umständen"? Füttern wir nur eine willkürliche Anzahl willkürlicher Tatsachen wie "Der Angeklagte besitzt lila Socken" und "Der Richter hat heute Mittag ein Sandwich gegessen" oder was? Darüber hinaus gibt es Einschränkungen für diese Umstände, oder können wir in einem "Umstand" wie "der Barbier von Sevilla rasiert genau die Friseure, die sich nicht selbst rasieren"?

Ich denke nicht, dass diese Frage gut gestellt ist, und ich sehe auch keinen offensichtlichen Weg, sie gut zu stellen.

Daniel McLaury
quelle
Vor dem Prozess führt das Justizsystem eine Voruntersuchung durch (nicht sicher, ob dies das richtige englische Wort ist), in der alle relevanten Umstände erfasst werden. Die Größe der Dokumente, in denen diese Umstände erfasst werden, hängt von der Komplexität des Verbrechens ab - in einfachen Fällen nur ein paar Dutzend Seiten und in komplexen Fällen (z. B. Microsoft-Kartellrecht) Zehntausende Seiten oder mehr.
Björn Lindqvist
5

Ich denke, in den hervorragenden Antworten fehlt bisher, dass die Berechnungstheorie bekannte, bestimmte Eingabedaten voraussetzt, während die Gesetzgebung in einem Bereich tätig ist, in dem die Fakten normalerweise unsicher und verschwommen sind. Das Strafrecht zum Beispiel befasst sich mit der "Absicht" oder "Einstellung" eines Angeklagten, die niemals mit Sicherheit bekannt sein kann. Die Scheidungsgerichte müssen entscheiden, ob eine Ehe "unwiederbringlich gescheitert" ist. Es kann niemals einen Algorithmus geben, um diese Frage zu entscheiden.

Michael Kay
quelle
0

Während einige Antworten sagen, dass es unentscheidbar ist, denke ich, dass es nicht das ist, wofür Gesetze sind, da sie nicht durchsetzbar sind.

Wenn es auf eine Weise eingeschränkt ist, die es immer entscheidbar macht, ist es wahrscheinlich nicht sinnvoll, über die tatsächliche Komplexität zu sprechen. Dies liegt daran, dass die Eingaben von Gesetzen als Funktionen im Allgemeinen nicht die Definition von Ereignissen im Gesetz sind, wie in einem Kartenspiel, sondern Beweise dafür, dass Ereignisse legal sind oder nicht.

Es könnte beliebig viele Beweise für ein einzelnes Ereignis geben. Für ein Ereignis gibt es keine objektive Eingabelänge, die es ermöglicht, die Komplexität zu definieren. Und für eine bestimmte Reihe von Beweisen schreiben die Gesetze normalerweise nicht vor, dass jemand eine eindeutige Schlussfolgerung ziehen muss, obwohl es eine Eingabelänge gibt. Sie könnten und bevorzugen es normalerweise, mehr Beweise zu sammeln, selbst wenn die Antwort theoretisch auf schwierige Weise logisch abgeleitet werden könnte. Und ein Verdächtiger könnte etwas auf rätselhafte Weise zugeben, um die Komplexität künstlich zu steigern, wenn man ohne Beweise arbeiten muss.

Es würde mehr Probleme geben, wenn Kryptographie involviert ist. Sie könnten theoretisch einen starken Verschlüsselungsalgorithmus umkehren, wenn sie sehr lange rechnen könnten, aber sie könnten das Vertrauen eines Signaturalgorithmus brechen, damit er nicht gleichzeitig als Beweismittel verwendet werden kann.

user23013
quelle
0

Die Jurymitglieder urteilen letztendlich auf der Grundlage des anwendbaren Rechts, das der Jury von den Richtern auferlegt wurde, und der Tatsachen, die von der Jury anhand der Faktoren in den Anweisungen der Jury ermittelt wurden. Besonders die Glaubwürdigkeit von Zeugen ... die man glaubt. Nicht auf einen Algorithmus reduzierbar.

Tom Whitaker Jr
quelle
Dies scheint eine eher philosophische Antwort zu sein, im Gegensatz zu einer in der Informatik. Das macht es nicht falsch, aber wahrscheinlich nicht hilfreich für eine Frage, die auf dieser Site gestellt wird.
Raphael
Kommt darauf an, ob cs die Grundwahrheit einer Bewerbung berücksichtigt und ob sie machbar ist oder nicht. Im Moment scheint jede Diskussion ohne Einbeziehung von KI-Berührungspunkten aus dem Ruder zu laufen. Aber das kommt von einem 35-jährigen Gerichtsverfahren und nicht von einem Cs-Guru.
Tom Whitaker Jr
1
Diese Antwort ist eine schöne Erinnerung daran, wie weit die Berechnungs- oder Entscheidbarkeitstheorie von der Rechtspraxis entfernt ist.
Apass.Jack
@TomWhitakerJr Meine Perspektive, für die Bestimmung des Umfangs dieser Seite beibehalten ist, dass während der Anwendung CS Techniken , die von ethischen / philosophischen Betrachtungen gebunden sein sollte, ist das Studium dieser Techniken nicht. Ich bin mir voll und ganz bewusst, dass es lange Diskussionen gibt, aber ich sehe einfach nicht, wie wir diese Site für technische und ethische / philosophische Fragen gleichermaßen geeignet machen können . So , während ich voll zustimmen , dass die Diskussionen so zum Beispiel wie AI verwendet werden muss irgendwo gehalten werden, glaube ich nicht , diesen Aufstellungsort es der richtige Ort für sie.
Raphael