立法NP是否完整?


64

我想知道是否有任何工作将法律法规与复杂性联系起来。特别是,假设我们有决策问题“考虑到这本法律书和这组特殊情况,被告有罪吗?” 它属于哪个复杂度类?

有结果证明纸牌游戏《魔术:聚会》既是NP又是图灵完备的,所以对于法律代码不应该存在类似的结果吗?


18
您对MtG的主张是不正确的,因为NP中没有可确定的问题。所以我想你是说游戏的某些部分是NP-完全,而另一些部分是Turing-完全。
David Richerby

8
我的一位教授发表了一些关于立法的形式分析的著作,例如这个这个这个。我不认为这与您要的完全一样,只是以防万一您发现它很重要。
jdehesa

1
称为“律师具有无限复杂性”的复杂性类别。;)如果您对以某种特定方式近似于法律法规的某些任意定义的抽象结构的形式分析感兴趣,则可以进行形式分析。但是,重要的是要认识到,即使在理想化的世界中,它也不会以任何有意义的方式与实际的法院案件和实际的司法系统相关 意向事宜,以及诉讼案件有很大一部分是建立在什么情况下摆在首位。
通配符'18

9
这完全取决于计算时间是否可计费。
Matt Timmermans

1
关于MtG复杂性的快速参考可以是Chatterjee和Ibsen-Jensen,1998年。当然,关于该主题还有其他论文。
Dmitri Chubarov '18

Answers:


33

法律可以包括任意语言,并且任意语言都可以表达NP完全逻辑。因此,从理论上讲,有可能创建一个NP完全的甚至是不确定的法律。但是,实际上,绝大多数刑法都是简单的决策树。

让我们以加利福尼亚刑法(“一级谋杀罪”)的第187(a)节为例。

(a)谋杀是指事先故意恶意杀害人类或胎儿。

(b)本条不适用于以下行为而导致胎儿死亡的任何人:

(1)该行为符合《健康与安全法》第106部分第2部分第2章第2条(从123400节开始)的《治疗堕胎法》。

(2)该行为是由《商业和职业守则》所定义的医师证书和外科医生证书的持有人实施的,如果在医学上确定分娩的结果是胎儿母亲的死亡或她的死于分娩,尽管在医学上不是确定的,但在很大程度上可以确定或更有可能发生。

(3)该行为是由胎儿母亲请求,帮助,教a或同意的。

(c)(b)分节不得解释为禁止根据任何其他法律规定起诉任何人。

这可以表示为一组简单的布尔逻辑。

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)

现在,在这里我当然会轻描淡写很多,例如“什么是恶意的预见”,“什么是治疗性的流产”和“如何确定怀孕的生存机会”。但是,这些也可以表示为类似的布尔决策树。

从软件工程的角度来看,法律系统可以看作是以规则为规则集的业务规则引擎的一种形式。

这意味着大多数定律的计算复杂度为c。如果您还需要证据审查过程到需要确定所有这些布尔变量的值帐户,那么复杂度变n这里n是证据需要进行评估的金额。

但是,有时法律包含的语言根本无法决定,并且需要外部的预言。例如,当提到诸如“合理怀疑”之类的概念时。什么是“合理”?那是由法院决定的。


4
很好 以您的示例为例,我认为某些与堕胎相关的AND应为OR-“以下任何一项”。我也看不到这里提到受害者生存的机会。
约西亚

1
+1,但正如约西亚(Josiah)所暗示的那样,victim.survivalChance == 0 OR victim.mom.survivalChance < 0.5不是对法律的正确解释;法律所说victim.mom.survivalChance == 0 OR victim.mom.survivalChance > 0 AND victim.mom.survivalChance < 0.5,可以简化为公正victim.mom.survivalChance < 0.5
ruakh

4
只是一个小问题:如果满足以下任一条件,则不会转换为x AND y AND zbut x OR y OR z
托马什Zato

3
如果这么简单,为什么还要有法官呢?我们为什么这么在乎他们是谁?为什么我们有法学?为什么会有这么多争议性的法院案件?显然,法律并不像您想象的那么简单。合理的怀疑是一个有问题的部分的一个很好的例子(这是经常发生的),另一个是从任意一组证据中构建叙述,甚至决定判刑的时间。
11684

1
更糟的是。法律语言不仅可以包括任意语言。它也不能包括隐式假设。因此,理论上它可以无限复杂。另外,人类语言是如此复杂和隐含,以至于您可以询问任何句子中任何单词的定义,提示有人对其进行解释。这也可以永远持续下去。换句话说,在执行时,通信以及通信中表达的任何内容甚至都不保证有意义,定义明确或终止。
HopefullyHelpful

95

这是无法确定的,因为法律书籍可以包含任意逻辑。审查法的一个愚蠢的例子是“公开任何不停止的计算机程序是非法的”。

MTG的结果之所以存在且令人感兴趣的原因是,因为它具有一组固定的(主要是)明确的规则,这与不断变化的法律,可怕的局部性和无穷无尽的法律不同。


1
评论不作进一步讨论;此对话已转移至聊天
DW

主持人声明(再次):评论不用于扩展讨论。如果您想讨论这个答案,请使用聊天室。聊天室存在后发布的任何评论都可能被删除。
吉尔斯

3
它甚至可能比不确定的情况更糟,这意味着定义不正确或自相矛盾。记住印第安纳州的Pi Bill
Hendrik '18 Jan

10

这是一个非常有趣的问题。

法律介于日常语言之间,它具有任意,不断变化且经常为软性规则,而编程语言具有其特定的,已定义的规则。

法律术语实际上定义了其术语,因此法律中使用的许多词(但不是全部!)实际上具有确切的含义。

但是,解释是您向逻辑系统提出案例并获得结果的方法将失败的地方。法律是一个通用定义,需要适应所讨论的具体案例。通常这是一个简单而直接的过程,但不能保证它是,并且也没有非平凡的方式来定义边界。

一个很好的例子就是自卫。在大多数法律制度中,只要您采取自卫行为,就可以合法伤害他人。但是,该措词明确是上下文相关的。例如,英国刑法规定:

一个人可以在适当情况下使用合理的武力预防犯罪[...]

案例法定义了在特定情况下什么是“合理的” ,但书中没有一般性的定义。还有判例法明确了“预防犯罪”的确切含义。根据定义,既然尚未发生犯罪,则更不用说法院裁定该诉讼实际上是犯罪了,在这种特殊情况下,合理的信念就足够了,但实际上并没有法律规定!

要创建有关法律的数字决策者,您不仅需要提供法律本身,还需要提供所有判例法,许多自然语言理解以及有关如何应用所有知识的许多规则,因为有时判例法是可靠的,有时您可以修改它(尤其是如果它是旧的,因为解释会随着时间而变化)。

最后,法律不仅在本书中而且也在其解释上发生变化和适应。有许多著名的例子,说明最高法院否决了他们已有20年历史的裁决。很多时候,对先前判例法的这种挑战之所以发生,恰恰是因为法官决定违背那些既定的法律,并且他宁愿承担被高等法院推翻的风险,也不愿放弃他不支持的裁决。我想知道您将如何在NP完整系统中对这种能力进行建模?

要计算系统的复杂度,我们需要了解输入和输出。但是,法律是一个开放系统。从字面上看,环境中的任何事物都会对其产生影响,尤其是社会和文化的变化。大多数国家的法律都在书本上很少使用,因为社会发生了变化,但法律制定过程却滞后了。反对同性恋的法律就是一个例子。或死刑判决,在大多数国家或地区中,死刑判决在被从法律书籍中删除之前已有数十年或数十年没有实际应用。这不是因为没有在任何情况下都可以应用它,而仅仅是因为法官们尽管有选择仍然没有应用它。

这些环境因素几乎不可能进行复杂度估算,因为除非使用全量变量(例如“每种...”或“所有...”),否则我们无法在有限列表中枚举它们。


8

与其他复杂度类别一样,NP完整性与输入大小不同的问题有关,我们用n表示大小。尤其是:

  • 如果可以确定任何建议的解决方案是否实际上是n中具有运行时多项式的解决方案,那么NP就是一个问题。

  • 如果问题是NP,那么问题是NP完全的,而且每个NP问题都可以通过运行时多项式为n的简化过程来简化。

在您提出的问题中,即

鉴于这本法律书籍和这种特殊情况,被告是否有罪?

我不确定n是什么意思。看来这里的输入是“一系列情况”和被告的名字。只有前者的长度可能有所不同,但是“情境”又意味着什么呢?我们是否只是输入任意数量的事实,例如“被告拥有紫色袜子”和“法官今天吃了午餐三明治”还是什么?此外,在这些情况下是否有限制,还是我们可以接受“塞维利亚的理发师精确地剃那些不剃自己的理发师”这样的“情况”?

我不认为这个问题是恰当的,也没有任何明显的方法可以使它正确提出。


审判前,司法系统会进行初步调查(不确定这是否是正确的英语单词),以收集所有相关情况。收集这些情况的文档的大小取决于犯罪的复杂性-简单案件只有几十页,而复杂案件(例如Microsoft反托拉斯)则要成千上万页甚至更多。
比约恩·林德奎斯特

5

我认为,到目前为止,出色的答案缺少的是计算理论假设了已知的某些输入数据,而立法却是在事实通常不确定且模糊的领域内运作。例如,刑法涉及被告的“意图”或“心理状态”,这是永远无法确定的。离婚法院必须决定婚姻是否“不可挽回地破裂”。永远不可能有确定该问题的算法。


0

虽然有一些答案说这还不确定,但我想这不是法律的目的,因为它们不可强制执行。

如果以某种方式限制它使其始终可确定,那么谈论实际的复杂性可能就没有多大意义。这是因为法律作为功能的输入通常不是法律事件的定义,例如在纸牌游戏中,而是事件是否合法的证据。

关于一个事件,可能有很多证据。对于事件,没有客观的输入长度即可定义复杂性。对于给定的一组证据,虽然有一定的输入长度,但是法律通常没有规定某人必须有明确的结论。他们可以而且通常更喜欢尝试收集更多的证据,即使在理论上可以以困难的方式从逻辑上推论出答案。如果嫌疑人必须在没有证据的情况下工作,嫌疑人可能会以一种令人费解的方式承认某些事情,从而人为地增加了复杂性。

如果涉及密码学,将会有更多的问题。从理论上讲,如果可以长时间计算,他们可以逆转强壮的加密算法,但是,它们可能破坏签名算法的置信度,以使其无法同时用作证据。


0

陪审团成员最终根据法官给予陪审团的适用法律以及陪审团使用陪审团指示中的因素确定的事实作出裁决。特别值得信赖的证人...谁相信。不能归结为算法。


与计算机科学相反,这似乎是一种哲学上的难题。这样做并没有错,但对于网站上提出的问题可能没有帮助。
拉斐尔

取决于cs是否考虑了应用程序的基本事实以及它是否可行。目前,任何不包含AI接触点的讨论似乎都是不可行的。但这是来自35岁以上的法庭审理,而不是CS专家。
汤姆·惠特克(Tom Whitaker Jr)'18年

1
这个答案很好地提醒了CS可计算性或可判定性理论与法律实践之间的距离。
Apass.Jack

@TomWhitakerJr为了维护本网站的范围,我的观点是,虽然应用 CS技术应受道德/哲学考虑的约束,但对这些技术的研究则不受此限制。我完全意识到在那里进行了长时间的讨论,但是我根本看不出我们如何使该站点在技术道德/哲学问题上同样有效。因此,尽管我完全同意必须在某个地方进行诸如如何使用AI之类的讨论,但我认为此站点并不是它的理想之地。
拉斐尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.