Я хотел бы знать, была ли какая-либо работа, связывающая правовой кодекс со сложностью. В частности, предположим, что у нас есть проблема решения «Учитывая этот закон и этот конкретный набор обстоятельств, виновен ли ответчик?» К какому классу сложности он относится?
Есть результаты, которые доказали, что карточная игра Magic: the Gathering является NP-и Turing-complete, поэтому разве не должно быть похожих результатов для юридического кода?
complexity-theory
np-complete
decision-problem
Бьорн Линдквист
источник
источник
Ответы:
Законы могут включать произвольный язык, а произвольный язык способен выражать NP-полную логику. Так что в теории можно было бы создать NP-полный или даже неразрешимый закон. Однако на практике подавляющее большинство уголовных законов являются простыми деревьями решений.
Давайте возьмем, например, раздел 187 (а) Уголовного кодекса Калифорнии («Убийство в первой степени»).
Это может быть выражено как простой набор логической логики.
Теперь, конечно, здесь есть много чего, например, «что такое злая предвидение», «что такое терапевтический аборт» и «как вы определяете вероятность выживания беременности». Но они также могут быть выражены как похожие логические деревья решений.
С точки зрения разработки программного обеспечения, правовая система может рассматриваться как форма механизма бизнес-правил, а закон является его набором правил.
Это означает, что большинство законов имеют вычислительную сложность
c
. Если вы также примете во внимание процесс исследования доказательств, который необходим для определения значений всех этих логических переменных, то сложность становится тем,n
гдеn
количество доказательств, которое необходимо оценить.Однако иногда законы включают язык, который вообще не поддается определению и требует внешнего оракула. Например, когда упоминаются такие понятия, как «разумное сомнение». Что такое "разумный"? Это решать суду.
источник
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
.x AND y AND z
аx OR y OR z
.Это неразрешимо, потому что книга закона может включать произвольную логику. Глупым примером закона о цензуре может быть «незаконно публиковать любую компьютерную программу, которая не останавливается».
Причина, по которой результаты для MTG существуют и являются интересными, заключается в том, что у нее есть один фиксированный набор (в основном) однозначных правил, в отличие от закона, который постоянно меняется, ужасно локализован и бесконечно неоднозначен.
источник
Это очень интересный вопрос.
Закон - это что-то среднее между обычным языком с его произвольными, постоянно меняющимися и часто мягкими правилами и языком программирования с его очень конкретными, определенными правилами.
Легалезный фактически определяет свои термины, и поэтому многие слова (но не все!), Используемые в законе, действительно имеют точное значение.
Однако при интерпретации ваш подход к представлению дела в логической системе и получению результата потерпит неудачу. Закон - это общее определение, которое необходимо адаптировать к конкретному рассматриваемому делу. Часто это тривиальный, простой процесс, но нет гарантии, что это и нет нетривиального способа определения границы.
Хороший пример - самооборона. В большинстве правовых систем вы можете на законных основаниях причинить боль другому человеку, если вы действуете в целях самообороны. Тем не менее, формулировка явно контекстно-зависимая. Например, британский уголовный закон пишет:
Прецедентное право определяет, что является «разумным» в конкретных случаях , но в книгах нет общего определения. Существует также прецедентное право, разъясняющее, что именно означает «предотвращение преступления». Поскольку по определению преступление еще не совершено, тем более суд, решивший, что иск фактически является преступлением, в данном конкретном случае достаточно разумных убеждений , но это на самом деле не прописано в законе!
Чтобы создать лицо, принимающее цифровые решения о законе, вы должны будете кормить его не только самим законом, но и всей прецедентной практикой, большим пониманием естественного языка и множеством правил о том, как применять все эти знания, потому что иногда прецедентное право является твердым, иногда вы можете согнуть его (особенно если оно старое, поскольку интерпретации меняются со временем)
И, наконец, закон меняется и адаптируется не только в книге, но и в ее интерпретациях. Есть много известных примеров высших судов, отменяющих свое 20-летнее решение. Очень часто такие вызовы предыдущему прецедентному праву происходят именно потому, что судья решил пойти против этих установленных законов, и он скорее рискует быть отвергнутым в суде высшей инстанции, чем выносить решение, которое он не поддерживает. Интересно, как бы вы смоделировали эту способность в NP-полной системе?
Чтобы рассчитать сложность системы, нам необходимо понять входы и выходы. Закон, однако, является открытой системой. Буквально все в его среде может влиять на это, особенно изменения в обществе и культуре. В большинстве стран законы о книгах применяются редко, потому что общество изменилось, но процесс законотворчества отстает. Законы против гомосексуализма являются актуальным примером. Или смертный приговор, который в большинстве стран фактически не применялся в течение многих лет или десятилетий, прежде чем он был удален из книг по праву. И не потому, что не было случаев, когда это могло быть применено, а просто потому, что судьи не применяли его, несмотря на то, что у него был выбор.
Эти факторы окружающей среды делают оценку сложности почти невозможной, потому что мы не можем перечислить их в конечном списке, если не будем использовать все-кванторы (например, «каждый вид ...» или «все ...»)
источник
NP-полнота, как и в других классах сложности, связана с задачами, требующими ввода различного размера, размер которого мы обозначим через n . В частности:
Проблема в NP, если возможно определить, является ли любое предложенное решение на самом деле решением с полиномом времени выполнения по n .
Задача является NP-полной, если она является NP, и, более того, каждая NP-задача может быть сведена к ней с помощью процесса сокращения с полиномом времени выполнения по n .
В предложенной вами проблеме, а именно
Я не уверен, что п должен быть. Похоже, что здесь вводятся «набор обстоятельств» и имя обвиняемого. Только первый может быть разной длины, но что же мы подразумеваем под «набором обстоятельств»? Должны ли мы просто указать произвольное количество произвольных фактов, таких как «обвиняемый владеет фиолетовыми носками» и «сегодня у судьи был бутерброд на обед» или как? Более того, есть ли ограничения на эти обстоятельства, или мы можем питаться в таких «обстоятельствах», как «Севильский цирюльник бреет именно тех парикмахеров, которые не бреются сами»?
Я не думаю, что этот вопрос является корректным, и при этом я не вижу очевидного способа сделать его корректным.
источник
Я думаю, что в отличных ответах до сих пор не хватает того, что теория вычислений предполагает известные, определенные входные данные, в то время как законодательство действует в области, где факты обычно неопределенны и нечетки. Уголовное право, например, касается «намерения» или «состояния ума» подсудимого, которое никогда не может быть известно с уверенностью. Суды по бракоразводным процессам должны решить, был ли брак "безвозвратно разрушен". Там никогда не может быть алгоритм для решения этого вопроса.
источник
Хотя в некоторых ответах говорится, что это неразрешимо, я полагаю, что это не то, для чего нужны законы, поскольку они не подлежат исполнению.
Если он ограничен в некотором смысле, что делает его всегда разрешимым, вероятно, не имеет смысла говорить о реальной сложности. Это потому, что ввод законов как функций, как правило, не является определением событий в законе, как в карточной игре, а свидетельствует о том, что события являются законными или нет.
Там может быть сколь угодно много доказательств об одном событии. Для события не существует объективной длины ввода, чтобы можно было определить сложность. И для данного набора доказательств, хотя есть длина ввода, законы обычно не определяют, что кто-то должен иметь определенное заключение. Они могли бы и обычно предпочитают пытаться собрать больше доказательств, даже если теоретически логически сложный ответ может быть получен. И подозреваемый может признаться в чем-то удивительным образом, чтобы искусственно повысить сложность, если приходится работать без доказательств.
Там будет больше проблем, если криптография участвует. Теоретически они могли бы обратить вспять алгоритм надежного шифрования, если бы они могли вычислять очень долго, но они могут подорвать доверие к алгоритму подписи, чтобы сделать его неиспользуемым в качестве доказательства одновременно.
источник
Члены жюри в конечном итоге выносят вердикты на основании применимого законодательства, вынесенного судьями присяжным, и фактов, определенных жюри с использованием факторов в инструкциях жюри. Особенно доверие к свидетелям ... кому верить. Не сводится к алгоритму.
источник