Saya ingin tahu apakah ada pekerjaan yang menghubungkan kode hukum dengan kompleksitas. Secara khusus, misalkan kita memiliki masalah keputusan "Mengingat buku hukum ini dan keadaan khusus ini, apakah terdakwa bersalah?" Kelas kompleksitas apa yang dimilikinya?
Ada hasil yang telah membuktikan bahwa permainan kartu Magic: the Gathering adalah NP dan Turing-complete jadi bukankah seharusnya hasil yang sama ada untuk kode hukum?
complexity-theory
np-complete
decision-problem
Björn Lindqvist
sumber
sumber
Jawaban:
Hukum dapat mencakup bahasa arbitrer, dan bahasa arbitrer mampu mengekspresikan logika NP-complete. Jadi secara teori akan mungkin untuk membuat NP-lengkap atau bahkan hukum yang tidak dapat ditentukan. Namun, dalam praktiknya sebagian besar hukum pidana adalah pohon keputusan sederhana.
Mari kita ambil, misalnya, bagian 187 (a) dari hukum pidana California ("Pembunuhan Tingkat Pertama").
Ini dapat dinyatakan sebagai seperangkat logika boolean sederhana.
Sekarang tentu saja ada banyak hal yang saya anggap remeh di sini, seperti "apa yang telah dipikirkan sebelumnya", "apa itu aborsi terapeutik" dan "bagaimana Anda menentukan peluang kelangsungan hidup kehamilan". Tetapi ini juga dapat dinyatakan sebagai pohon keputusan boolean yang serupa.
Dari sudut pandang rekayasa perangkat lunak, sistem hukum dapat dilihat sebagai bentuk Business Rule Engine dengan undang-undang sebagai peraturannya.
Itu berarti bahwa sebagian besar undang-undang memiliki kompleksitas komputasi
c
. Jika Anda juga mempertimbangkan proses pemeriksaan bukti yang diperlukan untuk menentukan nilai-nilai semua variabel boolean ini, maka kompleksitasnya menjadi din
manan
jumlah bukti yang perlu dievaluasi.Namun, terkadang undang-undang menyertakan bahasa yang tidak dapat diputuskan sama sekali dan membutuhkan oracle eksternal. Misalnya, ketika menyebutkan konsep seperti "keraguan yang masuk akal". Apa itu "masuk akal"? Itu yang harus diputuskan oleh pengadilan.
sumber
victim.survivalChance == 0 OR victim.mom.survivalChance < 0.5
bukanlah penafsiran hukum yang benar; hukum mengatakanvictim.mom.survivalChance == 0 OR victim.mom.survivalChance > 0 AND victim.mom.survivalChance < 0.5
, yang dapat disederhanakan menjadi adilvictim.mom.survivalChance < 0.5
.x AND y AND z
tetapix OR y OR z
.Ini tidak dapat dipastikan karena sebuah buku hukum dapat memasukkan logika sewenang-wenang. Contoh konyol hukum penyensoran adalah "ilegal mempublikasikan program komputer apa pun yang tidak berhenti".
Alasan mengapa hasil MTG ada dan menarik adalah karena MTG memiliki satu set tetap (sebagian besar) aturan yang tidak ambigu, tidak seperti undang-undang yang terus berubah, sangat terlokalisir, dan ambigu tanpa henti.
sumber
Ini pertanyaan yang sangat menarik.
Hukum ada di suatu tempat antara bahasa sehari-hari dengan aturannya yang sewenang-wenang, terus berubah, dan sering kali lunak, dan bahasa pemrograman dengan aturannya yang sangat spesifik dan terdefinisi.
Legalese sebenarnya mendefinisikan istilah-istilahnya dan dengan demikian banyak kata (tetapi tidak semua!) Yang digunakan dalam hukum sebenarnya memiliki makna yang tepat.
Namun, interpretasi adalah di mana pendekatan Anda dalam menyajikan kasus ke sistem logis dan mendapatkan hasilnya akan gagal. Undang-undang adalah definisi umum yang perlu disesuaikan dengan kasus spesifik yang dipermasalahkan. Seringkali ini adalah proses yang mudah dan sepele, tetapi tidak ada jaminan bahwa itu dan tidak ada cara yang tidak sepele untuk mendefinisikan batas.
Contoh yang baik adalah pertahanan diri. Dalam kebanyakan sistem hukum, Anda dapat melukai orang lain asalkan Anda bertindak membela diri. Namun, kata-katanya secara eksplisit peka konteks. Sebagai contoh, hukum pidana Inggris menulis:
Hukum kasus mendefinisikan apa yang "masuk akal" dalam kasus-kasus tertentu , tetapi tidak ada definisi umum tentang buku-buku tersebut. Ada juga hukum kasus yang menjelaskan apa sebenarnya arti "pencegahan kejahatan". Karena definisi kejahatan belum terjadi, apalagi pengadilan memutuskan bahwa tindakan itu, pada kenyataannya, kejahatan, kepercayaan yang cukup sudah cukup dalam kasus khusus ini, tetapi itu sebenarnya tidak tertulis dalam hukum!
Untuk membuat pembuat keputusan digital tentang hukum, Anda harus memberinya bukan hanya hukum itu sendiri, tetapi juga semua hukum kasus, banyak pemahaman bahasa alami, dan banyak aturan tentang cara menerapkan semua pengetahuan itu, karena kadang-kadang hukum kasus itu solid, kadang-kadang Anda bisa membengkokkannya (terutama jika sudah tua, karena interpretasi berubah seiring waktu).
Dan akhirnya, hukum berubah dan beradaptasi, tidak hanya dalam buku, tetapi juga dalam interpretasinya. Ada banyak contoh terkenal dari pengadilan tertinggi yang menolak keputusan mereka sendiri yang berusia 20 tahun. Sangat sering, tantangan seperti itu terhadap hukum kasus sebelumnya terjadi justru karena seorang hakim memutuskan untuk melawan hukum-hukum yang sudah ada dan ia lebih suka mengambil risiko ditolak di pengadilan yang lebih tinggi daripada menjatuhkan keputusan yang tidak ia tahan. Saya bertanya-tanya bagaimana Anda akan memodelkan kemampuan ini dalam sistem NP-complete?
Untuk menghitung kompleksitas suatu sistem mengharuskan kita untuk memahami input dan output. Namun, hukum adalah sistem terbuka. Secara harfiah apa pun di lingkungannya dapat memengaruhinya, terutama perubahan pada masyarakat dan budaya. Sebagian besar negara memiliki undang-undang tentang buku-buku yang jarang diterapkan lagi karena masyarakat telah berubah, tetapi proses pembuatan undang-undang tertinggal. Hukum melawan homoseksualitas adalah contoh saat ini. Atau hukuman mati, yang di sebagian besar negara belum benar-benar diterapkan selama bertahun-tahun atau dekade sebelum dihapus dari buku-buku hukum. Dan bukan karena tidak ada kasus di mana itu bisa diterapkan, tetapi hanya karena hakim tidak menerapkannya meskipun memiliki pilihan.
Faktor-faktor lingkungan ini membuat perkiraan kompleksitas hampir tidak mungkin, karena kita tidak dapat menghitungnya dalam daftar terbatas kecuali kita menggunakan semua-kuantor (mis. "Setiap jenis ..." atau "semua ...")
sumber
Kelengkapan NP, seperti halnya kelas kompleksitas lainnya, ada hubungannya dengan masalah yang mengambil input dengan ukuran yang bervariasi, yang ukurannya ditunjukkan oleh n . Khususnya:
Masalahnya adalah NP jika memungkinkan untuk menentukan apakah solusi yang diajukan sebenarnya adalah solusi dengan polinomial runtime di n .
Masalah adalah NP-lengkap jika NP dan apalagi setiap masalah NP dapat dikurangi dengan proses pengurangan dengan runtime polinomial di n .
Dalam masalah yang Anda usulkan, yaitu
Saya tidak yakin apa yang dimaksudkan dengan n . Sepertinya input di sini adalah "set keadaan" dan nama terdakwa. Hanya yang pertama yang bisa memiliki panjang yang berbeda-beda, tetapi kemudian apa yang kita maksud dengan "seperangkat keadaan"? Apakah kita hanya memberi makan sejumlah fakta sewenang-wenang seperti "terdakwa memiliki kaus kaki ungu" dan "hakim makan sandwich hari ini" atau apa? Selain itu, apakah ada kendala pada keadaan ini, atau bisakah kita memberi makan dalam "keadaan" seperti "tukang cukur Seville mencukur tepat tukang cukur yang tidak mencukur diri mereka sendiri"?
Saya tidak berpikir pertanyaan ini diajukan dengan baik, saya juga tidak melihat cara yang jelas untuk membuatnya dengan baik.
sumber
Saya pikir apa yang hilang dalam jawaban yang sangat baik sejauh ini adalah bahwa teori perhitungan mengasumsikan diketahui, pasti, input data, sedangkan undang-undang beroperasi di bidang di mana faktanya biasanya tidak pasti dan kabur. Hukum pidana, misalnya, menyangkut dirinya sendiri dengan "niat" atau "keadaan pikiran" seorang terdakwa, yang tidak pernah bisa diketahui dengan pasti. Pengadilan perceraian harus memutuskan apakah perkawinan telah "dipatahkan". Tidak akan pernah ada algoritma untuk memutuskan pertanyaan itu.
sumber
Sementara beberapa jawaban mengatakan itu tidak dapat diputuskan, saya kira itu bukan untuk apa hukum, karena mereka tidak dapat ditegakkan.
Jika dibatasi dalam beberapa hal yang membuatnya selalu dapat ditentukan, mungkin tidak masuk akal untuk berbicara tentang kerumitan yang sebenarnya. Itu karena input hukum sebagai fungsi umumnya bukan definisi peristiwa dalam hukum, seperti dalam permainan kartu, tetapi bukti bahwa peristiwa itu legal atau tidak.
Mungkin ada banyak bukti sewenang-wenang tentang satu peristiwa. Untuk suatu peristiwa, tidak ada panjang input objektif untuk memungkinkan untuk menentukan kompleksitas. Dan untuk set bukti tertentu, sementara ada panjang input, hukum biasanya tidak menentukan bahwa seseorang harus memiliki kesimpulan yang pasti. Mereka bisa, dan biasanya lebih suka mencoba mengumpulkan lebih banyak bukti bahkan jika jawabannya secara teoritis dapat disimpulkan dengan cara yang sulit. Dan seorang tersangka dapat mengakui sesuatu dengan cara yang membingungkan untuk meningkatkan kompleksitas secara artifisial jika seseorang harus bekerja tanpa bukti.
Akan ada lebih banyak masalah jika kriptografi terlibat. Mereka secara teoritis dapat membalikkan algoritma enkripsi yang kuat jika mereka dapat menghitung untuk waktu yang lama, tetapi mereka dapat merusak kepercayaan diri dari algoritma tanda tangan untuk membuatnya tidak dapat digunakan sebagai bukti pada saat yang sama.
sumber
Anggota juri akhirnya memberikan vonis berdasarkan hukum yang berlaku yang diberikan oleh hakim kepada juri untuk mengikuti dan fakta-fakta yang ditentukan oleh juri menggunakan faktor-faktor dalam instruksi juri. Terutama kredibilitas saksi ... siapa yang harus dipercaya. Tidak dapat direduksi menjadi suatu algoritma.
sumber