A legislação está completa?


64

Gostaria de saber se houve algum trabalho relacionado ao código legal da complexidade. Em particular, suponha que tenhamos o problema de decisão "Dado este livro de leis e esse conjunto específico de circunstâncias, o réu é culpado?" A que classe de complexidade pertence?

Há resultados que provaram que o jogo de cartas Magic: the Gathering é NP e Turing-completo, portanto não deveriam existir resultados semelhantes para o código legal?


18
Sua reivindicação sobre o MtG não pode estar correta, pois há problemas decidíveis que não estão no NP . Então eu acho que você quer dizer que parte do jogo é NP- completa, e outra parte é Turing-completa.
David Richerby

8
Um professor meu publicou alguns trabalhos sobre análise formal da legislação, como este , isto e aquilo . Eu não acho que é exatamente o que você está perguntando, mas no caso de você achar relevante.
jdehesa

11
A classe de complexidade chamada "advogados são capazes de complexidade infinita". ;) Se você estiver interessado na análise formal de alguma estrutura abstrata definida arbitrariamente, projetada para aproximar os códigos da lei de algumas maneiras específicas, essa análise formal pode ser possível. No entanto, é importante reconhecer que isso não se relaciona de maneira significativa com casos judiciais reais e com o sistema judicial real , mesmo em um mundo idealizado. A intenção é importante e uma grande parte dos processos judiciais está estabelecendo quais são as circunstâncias em primeiro lugar.
Curinga

9
Depende inteiramente se o tempo de computação é faturável ou não.
Matt Timmermans

11
Uma referência rápida sobre a complexidade do MtG poderia ser Chatterjee & Ibsen-Jensen, 1998 . Certamente existem outros trabalhos sobre o assunto.
Dmitri Chubarov

Respostas:


33

As leis podem incluir linguagem arbitrária e a linguagem arbitrária é capaz de expressar uma lógica NP-completa. Portanto, em teoria, seria possível criar uma lei NP-completa ou mesmo indecidível. No entanto, na prática, a grande maioria das leis criminais são simples árvores de decisão.

Vamos considerar, por exemplo, a seção 187 (a) do código penal da Califórnia ("assassinato em primeiro grau").

(a) Assassinato é o assassinato ilegal de um ser humano, ou um feto, com malícia antes.

(b) Esta seção não se aplica a qualquer pessoa que cometer um ato que resulte na morte de um feto se alguma das seguintes situações se aplicar:

(1) O ato cumpriu a Lei do Aborto Terapêutico, Artigo 2 (a partir da Seção 123400) do Capítulo 2 da Parte 2 da Divisão 106 do Código de Saúde e Segurança.

(2) O ato foi cometido por um titular de atestado médico e cirurgião, conforme definido no Código de Negócios e Profissões, em um caso em que, para uma certeza médica, o resultado do parto fosse a morte da mãe do feto ou onde sua morte por parto, embora não seja clinicamente certa, seria substancialmente certa ou mais provável que não.

(3) O ato foi solicitado, auxiliado, incentivado ou consentido pela mãe do feto.

(c) A subdivisão (b) não deve ser interpretada como proibindo a acusação de qualquer pessoa sob qualquer outra disposição da lei.

Isso pode ser expresso como um conjunto simples de lógica booleana.

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)

Agora, é claro, há muita coisa que eu trivializo aqui, como "o que é malícia predita", "o que é um aborto terapêutico" e "como você determina a chance de sobrevivência de uma gravidez". Mas eles também podem ser expressos como árvores de decisão booleanas semelhantes.

Do ponto de vista da engenharia de software, o sistema jurídico pode ser visto como uma forma do Business Rule Engine, sendo a lei o seu conjunto de regras.

Isso significa que a maioria das leis tem uma complexidade computacional de c. Se você também levar em consideração o processo de exame de evidência necessário para determinar os valores de todas essas variáveis ​​booleanas, a complexidade se tornará nonde nestá a quantidade de evidência que precisa ser avaliada.

No entanto, às vezes as leis incluem linguagem que não é decidível e requer um oráculo externo. Por exemplo, quando menciona conceitos como "dúvida razoável". O que é "razoável"? Isso é para um tribunal decidir.


4
Isso é bom. Para o seu exemplo, acho que alguns dos ANDs relacionados ao aborto devem ser ORs - "qualquer um dos seguintes". Também não vejo a chance de sobrevivência da vítima mencionada aqui.
Josias

11
+1, mas como Josias alude, victim.survivalChance == 0 OR victim.mom.survivalChance < 0.5não é uma interpretação correta da lei; está dizendo a lei victim.mom.survivalChance == 0 OR victim.mom.survivalChance > 0 AND victim.mom.survivalChance < 0.5, que pode ser simplificada para apenas victim.mom.survivalChance < 0.5.
Ruakh

4
Apenas um nitpick: se alguma das opções a seguir se aplicar, não será traduzida para x AND y AND zmas x OR y OR z.
Tomáš Zato

3
Se fosse assim tão simples, por que temos juízes? Por que nos importamos tanto com quem eles são? Por que temos jurisprudência? Por que existem tantos casos controversos em tribunais? Claramente, a lei não é tão simples quanto você pensa ser. A dúvida razoável é um bom exemplo de uma parte problemática (que ocorre com bastante frequência); outra seria a construção de uma narrativa a partir de um conjunto arbitrário de evidências ou mesmo a decisão sobre a duração de uma sentença de prisão.
11684

11
É ainda pior. A linguagem legal não pode incluir apenas uma linguagem arbitrária. Também não pode incluir suposições implícitas. Portanto, em teoria, pode ser infinitamente complexo. Também a linguagem humana é tão complexa e implícita, que você pode pedir a definição de qualquer palavra em qualquer frase, levando alguém a explicá-la. Isso também pode continuar para sempre. Em outras palavras, a comunicação e qualquer coisa que seja expressa na comunicação nem sequer é garantida para fazer sentido, ser bem definida ou terminar sempre, quando executada.
que você

95

É indecidível, porque um livro de direito pode incluir lógica arbitrária. Um exemplo bobo da lei de censura seria "é ilegal divulgar qualquer programa de computador que não pare".

A razão pela qual os resultados do MTG existem e são interessantes é porque ele tem um único conjunto fixo de regras (principalmente) inequívocas, ao contrário da lei que está sempre mudando, terrivelmente localizada e infinitamente ambígua.


11
Comentários não são para discussão prolongada; esta conversa foi movida para o bate-papo .
DW

Aviso ao moderador (novamente): os comentários não são para discussão prolongada. Se você deseja discutir esta resposta, use a sala de bate - papo . Qualquer comentário publicado após a sala de chat pode ser sumariamente excluído.
Gilles 'SO- stop be evil'

3
Pode ser ainda pior do que indecidível, ou seja, não definido adequadamente ou autocontraditório. Lembre-se de Indiana Pi Bill
Hendrik Jan

10

Esta é uma questão muito interessante.

A lei está em algum lugar entre a linguagem cotidiana, com suas regras arbitrárias, em constante mudança e com frequência moderadas, e a linguagem de programação com suas regras definidas e muito específicas.

O legalês realmente define seus termos e, portanto, muitas palavras (mas não todas!) Usadas na lei realmente têm significados precisos.

No entanto, é na interpretação que sua abordagem de apresentar um caso a um sistema lógico e obter um resultado falhará. A lei é uma definição genérica que precisa ser adaptada ao caso específico em questão. Muitas vezes, esse é um processo simples e trivial, mas não há garantia de que seja e não existe uma maneira não trivial de definir o limite.

Um bom exemplo é a autodefesa. Na maioria dos sistemas jurídicos, você pode ferir legalmente outra pessoa, desde que esteja agindo em legítima defesa. No entanto, o texto é explicitamente sensível ao contexto. Por exemplo, a lei criminal britânica escreve:

Uma pessoa pode usar a força que for razoável nas circunstâncias na prevenção do crime [...]

A jurisprudência define o que é "razoável" em casos específicos , mas nenhuma definição geral está nos livros. Há também jurisprudência esclarecendo o que exatamente "prevenção do crime" significa. Como, por definição, um crime ainda não ocorreu, muito menos um tribunal que decidiu que a ação era, de fato, um crime, uma crença razoável é suficiente neste caso em particular, mas isso não está realmente escrito na lei!

Para criar um tomador de decisão digital sobre a lei, você teria que alimentá-la não apenas a lei em si, mas também toda a jurisprudência, muita compreensão da linguagem natural e muitas regras sobre como aplicar todo esse conhecimento, porque às vezes a jurisprudência é sólida, às vezes você pode entendê-la (especialmente se for antiga, pois as interpretações mudam com o tempo).

E, finalmente, a lei muda e se adapta, não apenas no livro, mas também em suas interpretações. Existem muitos exemplos famosos de tribunais superiores que anulam sua própria decisão de 20 anos. Muitas vezes, esses desafios à jurisprudência anterior acontecem exatamente porque um juiz decidiu contrariar essas leis estabelecidas e ele prefere correr o risco de ser anulado no tribunal superior do que proferir uma decisão que ele não defende. Gostaria de saber como você modelaria essa capacidade em um sistema NP-completo?

Para calcular a complexidade de um sistema, precisamos entender as entradas e saídas. A lei, no entanto, é um sistema aberto. Literalmente, qualquer coisa em seu ambiente pode influenciá-lo, especialmente mudanças na sociedade e na cultura. A maioria dos países possui leis que raramente são aplicadas porque a sociedade mudou, mas o processo legislativo fica para trás. Leis contra a homossexualidade são um exemplo atual. Ou a sentença de morte, que na maioria dos países não era aplicada há anos ou décadas antes de ser removida dos livros de direito. E não porque não houvesse casos em que pudesse ter sido aplicado, mas simplesmente porque os juízes não o aplicaram, apesar de ter a opção.

Esses fatores ambientais tornam quase impossível uma estimativa de complexidade, porque não podemos enumerá-los em uma lista finita, a menos que utilizemos todos os quantores (por exemplo, "todo tipo de ..." ou "todo o ...")


8

A completude de NP, como em outras classes de complexidade, tem a ver com problemas que recebem uma entrada de tamanho variável, cujo tamanho denotamos por n . Em particular:

  • Um problema é NP se for possível determinar se alguma solução proposta é realmente uma solução com polinômio de tempo de execução em n .

  • Um problema é NP-completo se for NP e, além disso, todo problema de NP pode ser reduzido a ele por um processo de redução com o polinômio de tempo de execução em n .

No problema que você propõe, a saber

Dado este livro de leis e esse conjunto particular de circunstâncias, o réu é culpado?

Não tenho certeza do que n deve ser. Parece que as informações aqui são o "conjunto de circunstâncias" e o nome do réu. Somente o primeiro poderia ter uma duração variável, mas o que queremos dizer com "conjunto de circunstâncias"? Nós apenas alimentamos um número arbitrário de fatos arbitrários como "o réu possui meias roxas" e "o juiz comeu um sanduíche no almoço hoje" ou o quê? Além disso, existem restrições a essas circunstâncias, ou podemos alimentar uma "circunstância" como "o barbeiro de Sevilha faz a barba precisamente aqueles barbeiros que não fazem a barba"?

Não acho que essa pergunta seja bem colocada, nem vejo uma maneira óbvia de fazê-la.


Antes do julgamento, o sistema de justiça conduz uma investigação preliminar (não tenho certeza se essa é a palavra correta em inglês) na qual todas as circunstâncias relevantes são coletadas. O tamanho dos documentos que coletam essas circunstâncias depende da complexidade do crime - para casos simples, apenas algumas dúzias de páginas e para casos complexos (por exemplo, antitruste da Microsoft), dezenas de milhares de páginas ou mais.
Björn Lindqvist

5

Acho que o que falta nas excelentes respostas até agora é que a teoria da computação assume dados de entrada conhecidos, certos, enquanto a legislação está operando em um campo em que os fatos são geralmente incertos e confusos. O direito penal, por exemplo, se preocupa com a "intenção" ou "estado de espírito" de um réu, que nunca pode ser conhecido com certeza. Os tribunais de divórcio precisam decidir se um casamento "se deteriorou irremediavelmente". Nunca pode haver um algoritmo para decidir essa pergunta.


0

Embora algumas respostas digam que é indecidível, suponho que não sejam para que servem as leis, pois elas não são aplicáveis.

Se ele é restrito de algumas maneiras que o torna sempre decidível, provavelmente não faz muito sentido falar sobre a complexidade real. Isso ocorre porque as entradas de leis como funções geralmente não são as definições de eventos na lei, como em um jogo de cartas, mas evidências de eventos sendo legais ou não.

Poderia haver arbitrariamente muitas evidências sobre um único evento. Para um evento, não há um comprimento de entrada objetivo para permitir definir a complexidade. E para um determinado conjunto de evidências, embora exista um comprimento de entrada, as leis geralmente não especificam que alguém deve ter uma conclusão definitiva. Eles poderiam, e geralmente preferem tentar coletar mais evidências, mesmo que a resposta possa ser deduzida teoricamente de uma maneira difícil. E um suspeito poderia admitir algo de uma maneira intrigante para aumentar artificialmente a complexidade, se alguém tiver que trabalhar sem evidências.

Haveria mais problemas se a criptografia estivesse envolvida. Teoricamente, eles poderiam reverter um forte algoritmo de criptografia se pudessem calcular por muito tempo, mas podem quebrar a confiança de um algoritmo de assinatura para torná-lo não utilizável como evidência ao mesmo tempo.


0

Os membros do júri, em última instância, emitem vereditos com base na lei aplicável dada pelos juízes ao júri a seguir e nos fatos, conforme determinados pelo júri, usando os fatores nas instruções do júri. Especialmente credibilidade de testemunhas ... em quem acreditar. Não redutível a um algoritmo.


Esta parece ser uma resposta bastante filosófica, em oposição a uma ciência da computação. Isso não está errado, mas provavelmente não é útil para uma pergunta feita neste site.
Raphael

Depende se o cs considera a verdade básica de um aplicativo e se é viável ou não. No momento, qualquer discussão sem a inclusão de pontos de contato com IA parece fora de curso. Mas isso é de um testador de mais de 35 anos e não de um cs guru.
Tom Whitaker Jr

11
Essa resposta é um bom lembrete de quão distante está a teoria da computabilidade ou da decidibilidade do cs da prática do direito.
precisa saber é o seguinte

@TomWhitakerJr Minha perspectiva, com o objetivo de manter o escopo deste site, é que, embora a aplicação de técnicas de CS deva ser sujeita a considerações éticas / filosóficas, o estudo dessas técnicas não é. Estou plenamente ciente de que há longas discussões, mas simplesmente não vejo como podemos fazer com que este site funcione igualmente bem em questões técnicas e éticas / filosóficas. Então, enquanto eu concordo plenamente que as discussões tais como a forma AI deve ser usado deve ser realizada em algum lugar, eu não acho que este site, o lugar para ele.
Raphael
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.