法律是否可能被寫成代碼?
首先擺出個(gè)人的立場:「代碼司法」,在一定程度上,是可以的,至少交互式斷案是可行的。至于其「必要性」,則在于進(jìn)一步去除司法過程中的「不公正」,并且賦予司法過程以「可重復(fù)性」。
1
首先舉一個(gè)實(shí)際的例子,下圖是1998 年襲擊東非大使館的人員網(wǎng)絡(luò):
1998 年襲擊東非大使館的人員網(wǎng)絡(luò)
我們要找到他們的合作關(guān)系,也就是找出他們中有幾個(gè)團(tuán)體,這是可以通過代碼做到的:
- clique = FindClique[g, {5}, All]
- {{"Fahad", "Fadhil", "Khalfan", "Awad", "Ghailani"}, {"Odeh",
- "Owhali", "Fazul", "Azzam", "Atwah"}, {"Abdullah", "Odeh", "Owhali",
- "Fazul", "Atwah"}}
實(shí)際上,通過上面的代碼就足以做到了。畫出來就是這樣:
合作關(guān)系
這樣他們就能分成三個(gè)團(tuán)伙,這也可以通過計(jì)算機(jī)解決:
三個(gè)團(tuán)伙
我們甚至能直接找到這次活動(dòng)的外部聯(lián)系人:
- With[{dar = First[clique]},
- Complement[Flatten[AdjacencyList[g, #] & /@ dar], dar]]
- {"Abdullah", "Atwah", "Hage", "Odeh"}
這四個(gè)人:Abdullah, Atwah, Hage, Odeh,就是「外部聯(lián)系人」。
我個(gè)人的觀點(diǎn)是:凡可寫成「流程圖」的法律條款,皆可寫成一個(gè)(至少是交互式的)判決程序。
2
知乎上的@KE meng 舉出這個(gè)例子,認(rèn)為計(jì)算機(jī)無法處理這樣的問題:
小孩A把小孩B給打了,小孩B帶著小孩B的爺爺去學(xué)校把小孩A給打成重傷,可是小孩B的爺爺是精神病患者,但是小孩A去打小孩B的行為是小孩A的家長指使的,為了讓小孩A順利地打小孩B,小孩A的父親謊稱有人做工,把小孩B的父親(監(jiān)護(hù)人)騙出了村子。
這個(gè)事件看起來的確很復(fù)雜,但從圖論的角度看,是可以準(zhǔn)確用計(jì)算機(jī)的語言描述的。
我大致考慮一下,一個(gè)事件,其有幾個(gè)基本的組成部分:
人;團(tuán)體;時(shí)間軸;事件;物質(zhì);金錢;……
這些是常見的基本組成。
他們之間的常見關(guān)系是:
- 人->事件:主動(dòng)做……;
- 人->人:唆使、被唆使,欺騙、毆打、……(事件);
- 人->物質(zhì):使用;
- 物質(zhì)->事件:產(chǎn)生;
- ……
這樣的關(guān)系可以通過多個(gè)圖來表示。凡有力,則有施力者,有受力這,此處亦然,「行為」可以儲存在節(jié)點(diǎn)的每一條邊之上。
好,再來看剛剛的例子:
小孩A把小孩B給打了,小孩B帶著小孩B的爺爺去學(xué)校把小孩A給打成重傷,可是小孩B的爺爺是精神病患者,但是小孩A去打小孩B的行為是小孩A的家長指使的,為了讓小孩A順利地打小孩B,小孩A的父親謊稱有人做工,把小孩B的父親(監(jiān)護(hù)人)騙出了村子。
可以畫出這樣的圖:
- GraphPlot[{{"A" -> "B", "打"}, {"B" -> "B爺爺(精神?。?quot;,
- "指使打人"}, {"B家長" -> "B", "指使打人"}, {"B爺爺(精神?。?quot; -> "A",
- "打"}, {"B家長" -> "A父親", "騙出村子"}, {"A父親" -> "A", "無法保護(hù)"}},
- VertexLabeling -> True, DirectedEdges -> True]
出來的圖就是這樣的:
事件圖
那么可以這樣描述這件事發(fā)生的過程:
- B爺爺成功打A = B爺爺打A && A父親不在家
- B爺爺打A = B指使B爺爺 && B爺爺同意
- B爺爺同意 = Random[]
- B指使B爺爺 = B家長指使B && A打了B && B認(rèn)同要打A
- B家長指使B打人 = A打了B && B家長認(rèn)為需要打A
- A父親不在家 = B騙A父親出村 A父親恰好不在家
好,上邊的邏輯關(guān)系確立之后,通過布爾代數(shù)(這是可行的),可以計(jì)算出每個(gè)行為與「B爺爺成功打A」這件事之間的關(guān)聯(lián),從而可以分擔(dān)責(zé)任,作出判決。
以上是一些大致的想法,希望和大家討論討論這個(gè)問題。
剛剛發(fā)布幾分鐘,@LostAbaddon 就來了,還帶來了一個(gè)很讓人糾結(jié)的問題:
小明和小紅在小王家的樓頂玩耍,小紅開玩笑輕輕推了小明一把,小明撞到小王家屋頂?shù)臋跅U,但是這根欄桿正好松動(dòng),小明措手不及掉了下去,結(jié)果被小王樓下小李家的游泳池接住了沒事,但小李鄰居小強(qiáng)出去旅游的時(shí)候把家里的寵物鱷魚寄養(yǎng)在了小李家的游泳池了,結(jié)果小明被鱷魚咬死了。
請問:這起事件里哪些人有哪些責(zé)任應(yīng)該分別獲什么刑?
好的,我個(gè)人的觀點(diǎn)是,這些問題都可以寫成布爾表達(dá)式,具體到這個(gè)問題上是這樣的:
布爾表達(dá)式
解出來:
(((((年久失修 && 小王沒有維修) 欄桿是假冒產(chǎn)品) && 小紅推了小明一下 && 小明被推到欄桿上 && 小明沒抓穩(wěn)欄桿) (小明自己跳下去的 && 小紅沒有阻止)) && 小李接受了鱷魚 && 小強(qiáng)寄養(yǎng)鱷魚 && 鱷魚愿意咬小明) (((((年久失修 && 小王沒有維修) 欄桿是假冒產(chǎn)品) && 小紅推了小明一下 && 小明被推到欄桿上 && 小明沒抓穩(wěn)欄桿) (小明自己跳下去的 && 小紅沒有阻止)) && 小明不會(huì)游泳 && 小明沒有得到救治)
化簡一下,得到:
小明死了=(小明不會(huì)游泳 && 小紅沒有阻止 && 小明沒有得到救治 && 小明自己跳下去的) (小強(qiáng)寄養(yǎng)鱷魚 && 小紅沒有阻止 && 小李接受了鱷魚 && 鱷魚愿意咬小明 && 小明自己跳下去的) (小明不會(huì)游泳 && 小明沒抓穩(wěn)欄桿 && 欄桿是假冒產(chǎn)品 && 小明沒有得到救治 && 小明被推到欄桿上 && 小紅推了小明一下) (年久失修 && 小明不會(huì)游泳 && 小王沒有維修 && 小明沒抓穩(wěn)欄桿 && 小明沒有得到救治 && 小明被推到欄桿上 && 小紅推了小明一下) (小強(qiáng)寄養(yǎng)鱷魚 && 小明沒抓穩(wěn)欄桿 && 小李接受了鱷魚 && 欄桿是假冒產(chǎn)品 && 鱷魚愿意咬小明 && 小明被推到欄桿上 && 小紅推了小明一下) (年久失修 && 小強(qiáng)寄養(yǎng)鱷魚 && 小王沒有維修 && 小明沒抓穩(wěn)欄桿 && 小李接受了鱷魚 && 鱷魚愿意咬小明 && 小明被推到欄桿上 && 小紅推了小明一下)
分出來六種情況:
- 小明不會(huì)游泳 && 小紅沒有阻止 && 小明沒有得到救治 && 小明自己跳下去的
- 小強(qiáng)寄養(yǎng)鱷魚 && 小紅沒有阻止 && 小李接受了鱷魚 && 鱷魚愿意咬小明 && 小明自己跳下去的
- 小明不會(huì)游泳 && 小明沒抓穩(wěn)欄桿 && 欄桿是假冒產(chǎn)品 && 小明沒有得到救治 && 小明被推到欄桿上 && 小紅推了小明一下
- 年久失修 && 小明不會(huì)游泳 && 小王沒有維修 && 小明沒抓穩(wěn)欄桿 && 小明沒有得到救治 && 小明被推到欄桿上 && 小紅推了小明一下
- 小強(qiáng)寄養(yǎng)鱷魚 && 小明沒抓穩(wěn)欄桿 && 小李接受了鱷魚 && 欄桿是假冒產(chǎn)品 && 鱷魚愿意咬小明 && 小明被推到欄桿上 && 小紅推了小明一下
- 年久失修 && 小強(qiáng)寄養(yǎng)鱷魚 && 小王沒有維修 && 小明沒抓穩(wěn)欄桿 && 小李接受了鱷魚 && 鱷魚愿意咬小明 && 小明被推到欄桿上 && 小紅推了小明一下
原文鏈接:http://www.jianshu.com/p/1930817c3165