J'aimerais savoir s'il y a eu des travaux reliant le code juridique à la complexité. En particulier, supposons que nous ayons le problème de décision "Compte tenu de ce recueil de lois et de ce cas particulier, le défendeur est-il coupable?" À quelle classe de complexité appartient-il?
Il y a des résultats qui ont prouvé que le jeu de cartes Magic: the Gathering est à la fois NP et Turing-complete. Des résultats similaires ne devraient-ils pas exister pour le code légal?
complexity-theory
np-complete
decision-problem
Björn Lindqvist
la source
la source
Réponses:
Les lois peuvent inclure un langage arbitraire, et un langage arbitraire est capable d'exprimer une logique NP-complète. Donc, en théorie, il serait possible de créer une loi NP-complète ou même indécidable. Cependant, dans la pratique, la grande majorité des lois pénales sont de simples arbres de décision.
Prenons, par exemple, l' article 187 a) du code pénal de Californie ("Premier degré de meurtre").
Ceci peut être exprimé comme un simple ensemble de logique booléenne.
Maintenant, il y a bien sûr beaucoup de choses que je banalise ici, comme "qu'est-ce que la malice est prévu", "qu'est-ce qu'un avortement thérapeutique" et "comment déterminez-vous les chances de survie d'une grossesse"? Mais ceux-ci peuvent également être exprimés sous forme d'arbres de décision booléens similaires.
Du point de vue de l’ingénierie logicielle, le système juridique peut être considéré comme une forme de moteur de règles métier dont la loi constitue le jeu de règles.
Cela signifie que la plupart des lois ont une complexité de calcul de
c
. Si vous prenez également en compte le processus d'examen des éléments probants nécessaire pour déterminer les valeurs de toutes ces variables booléennes, la complexité devientn
alorsn
la quantité d'éléments probants à évaluer.Cependant, les lois incluent parfois un langage qui n'est pas décidable et qui requiert un oracle externe. Par exemple, quand il mentionne des concepts tels que "doute raisonnable". Qu'est-ce qui est "raisonnable"? C'est à un tribunal de décider.
la source
victim.survivalChance == 0 OR victim.mom.survivalChance < 0.5
n’est pas une interprétation correcte de la loi; la loi ditvictim.mom.survivalChance == 0 OR victim.mom.survivalChance > 0 AND victim.mom.survivalChance < 0.5
, ce qui peut être simplifié au plus justevictim.mom.survivalChance < 0.5
.x AND y AND z
maisx OR y OR z
.C'est indécidable, car un livre de droit peut inclure une logique arbitraire. Un exemple ridicule de loi sur la censure serait "il est illégal de faire connaître tout programme d'ordinateur qui ne s'arrête pas".
Les raisons pour lesquelles MTG existe et sont intéressantes parce qu’elle a un ensemble fixe unique de règles (pour la plupart) non ambiguës, contrairement à une loi en constante évolution, horriblement localisée et sans cesse ambiguë.
la source
C'est une question très intéressante.
Le droit se situe quelque part entre le langage de tous les jours avec ses règles arbitraires, en constante évolution et souvent souples, et le langage de programmation avec ses règles très spécifiques et définies.
Le jargon juridique définit effectivement ses termes et ainsi, de nombreux mots (mais pas tous!) Utilisés dans la loi ont effectivement une signification précise.
Cependant, l' interprétation est celle où votre approche consistant à présenter un cas à un système logique et à obtenir un résultat échouera. La loi est une définition générique qui doit être adaptée au cas spécifique en question. Il s'agit souvent d'un processus simple et direct, mais rien ne garantit qu'il en soit ainsi, ni aucun moyen non trivial de définir la limite.
La légitime défense est un bon exemple. Dans la plupart des systèmes juridiques, vous pouvez légalement blesser une autre personne à condition que vous agissiez en état de légitime défense. Cependant, la formulation est explicitement contextuelle. Par exemple, le droit pénal britannique écrit:
La jurisprudence définit ce qui est "raisonnable" dans des cas spécifiques , mais aucune définition générale ne figure dans les livres. Il existe également une jurisprudence qui clarifie ce que signifie exactement "prévention du crime". Comme par définition, aucun crime n’a encore été commis, et encore moins un tribunal ayant décidé que l’action était, en fait, un crime, une conviction raisonnable est suffisante dans ce cas particulier, mais cela n’est pas écrit dans la loi!
Pour créer un décideur numérique sur la loi, vous devez l’alimenter non seulement de la loi elle-même, mais aussi de toute la jurisprudence, de beaucoup de compréhension du langage naturel et de beaucoup de règles sur la manière d’ appliquer toutes ces connaissances, car parfois la jurisprudence est solide, parfois vous pouvez la plier (surtout si elle est ancienne, car les interprétations changent avec le temps).
Enfin, la loi change et s’adapte non seulement au livre, mais aussi à ses interprétations. Il existe de nombreux exemples célèbres de hautes instances judiciaires qui ont annulé leur propre décision, vieille de 20 ans. Très souvent, de telles contestations de la jurisprudence antérieure se produisent précisément parce qu'un juge a décidé de s'opposer à ces lois établies et il préfère prendre le risque d'être rejeté par une juridiction supérieure plutôt que de rendre une décision à laquelle il ne souscrit pas. Je me demande comment vous modéliseriez cette capacité dans un système NP-complet?
Pour calculer la complexité d'un système, nous devons comprendre les entrées et les sorties. La loi, cependant, est un système ouvert. Littéralement, tout dans son environnement peut l’influencer, en particulier les changements survenus dans la société et la culture. La plupart des pays ont des lois sur les livres qui sont rarement appliquées parce que la société a changé, mais le processus législatif est à la traîne. Les lois contre l'homosexualité en sont un exemple actuel. Ou encore la peine de mort, qui dans la plupart des pays n'avait pas été appliquée depuis des années, voire des décennies, avant d'être retirée du livre de loi. Et non pas parce qu'il n'y avait aucun cas d'application possible, mais simplement parce que les juges ne l'avaient pas appliqué malgré le choix.
Ces facteurs environnementaux rendent une estimation de la complexité presque impossible, car nous ne pouvons les énumérer dans une liste finie que si nous utilisons tous les quanteurs (par exemple, "tous les types de ..." ou "tous les ...").
la source
La NP-complétude, comme avec d'autres classes de complexité, concerne des problèmes qui prennent une entrée de taille variable, dont nous désignons la taille par n . En particulier:
Un problème est NP s'il est possible de déterminer si une solution proposée est réellement une solution avec un polynôme d'exécution en n .
Un problème est NP-complet s'il s'agit de NP et, de plus, chaque problème de NP peut être réduit à celui-ci par un processus de réduction avec polynôme d'exécution en n .
Dans le problème que vous proposez, à savoir
Je ne sais pas ce que n est censé être. Il semble que les entrées ici sont "l'ensemble des circonstances" et le nom du défendeur. Seuls les premiers peuvent être de longueurs variables, mais qu'entendons-nous même par «ensemble de circonstances»? Devons-nous simplement nourrir un nombre arbitraire de faits arbitraires tels que "le défendeur a des chaussettes violettes" et "le juge a mangé un sandwich pour le déjeuner de ce jour" ou quoi? De plus, y a-t-il des contraintes sur ces circonstances, ou pouvons-nous nous nourrir dans une "circonstance" comme "le barbier de Séville rase précisément ces barbiers qui ne se rasent pas"?
Je ne pense pas que cette question soit bien posée, je ne vois pas non plus de manière évidente de la faire.
la source
Je pense que ce qui manque dans les excellentes réponses jusqu’à présent, c’est que la théorie du calcul suppose des données d’entrée connues, certaines données, alors que la législation opère dans un domaine où les faits sont généralement incertains et flous. Le droit pénal, par exemple, se préoccupe de "l'intention" ou de "l'état d'esprit" d'un accusé, ce qui ne peut jamais être connu avec certitude. Les tribunaux de divorce doivent décider si un mariage est "irrémédiablement brisé". Il ne peut jamais y avoir d'algorithme pour décider de cette question.
la source
Bien que certaines réponses disent que c'est indécidable, je suppose que ce n'est pas à quoi servent les lois, car elles ne sont pas applicables.
Si certaines restrictions le rendent toujours décidable, il n’a probablement aucun sens à parler de la complexité réelle. C'est parce que les entrées de lois en tant que fonctions ne sont généralement pas les définitions d'événements de la loi, comme dans un jeu de cartes, mais la preuve que les événements sont légaux ou non.
Il pourrait y avoir arbitrairement beaucoup de preuves sur un seul événement. Pour un événement, il n'y a pas de longueur d'entrée objective permettant de définir la complexité. Et pour un ensemble de preuves donné, bien qu'il y ait une longueur d'entrée, les lois ne spécifient généralement pas que quelqu'un doit avoir une conclusion définitive. Ils pourraient, et préfèrent généralement essayer de collecter plus de preuves, même si la réponse pouvait théoriquement être déduite de manière logique. Et un suspect pourrait admettre quelque chose d'une manière déroutante de renforcer artificiellement la complexité si l'on doit travailler sans preuves.
Il y aurait plus de problèmes si la cryptographie est impliquée. Ils pourraient théoriquement inverser un algorithme de cryptage fort s’ils pouvaient calculer très longtemps, mais ils risquaient de briser la confiance d’un algorithme de signature pour le rendre non utilisable comme preuve au même moment.
la source
Les membres du jury rendent en définitive les verdicts fondés sur le droit applicable donné par les juges au jury à suivre et sur les faits déterminés par le jury à l'aide des facteurs énoncés dans les instructions du jury. Surtout la crédibilité des témoins ... à qui croire. Non réductible à un algorithme.
la source