Asimov's laws em pseudocode ou aplicando as 3 leis hoje [closed]

21

Perguntei pela primeira vez no Writers.SE, mas fui aconselhado a fazer melhor aqui ...

Estou trabalhando em um romance de ficção científica que envolverá uma grande quantidade e variedade de formas de vida sintéticas. Fui altamente influenciado pelas obras de Asimov, e embora eu não possa declarar explicitamente as leis que utilizo para o governo da vida artificial, quero ter uma base sólida para saber como meus robôs - ou o que quer que eles possam ser chamados - são capazes para tomar decisões éticas. Do ponto de vista da trama, eu também quero algumas maneiras realistas de como essas regras podem ser hackeadas ou subvertidas.

O que eu adoraria encontrar / engajar, é uma discussão sobre o que alguns algoritmos que fariam as leis de Robotics de Asimov funcionarem , podem parecer traduzidas em conceitos de programação atuais. Se isso já existe, então ótimo! Se não, então espero que possamos falar sobre isso ou que as pessoas possam me direcionar para o lugar certo.

Sei que posso fazer essa pergunta em um site de codificação puro, mas não quero ser inundado com linhas de código bruto. Ao mesmo tempo, não quero ler textos de filosofia que não tenham fundamento na programação moderna de computadores. Eu estou procurando por algo entre ... Então eu pensei que deve haver algumas outras pessoas de ficção científica em torno da comunidade de SO com experiência neste tipo de pesquisa.

Eu quero que meu produto final seja difícil e eu tenho um diploma em software, mas eu não quero ter que passar 20 anos em robótica para pesquisar este tópico também. Se alguém quiser que eu esclareça, apenas comente ou atire uma tentativa de resposta. Eu aprecio muito qualquer ajuda em encontrar algumas respostas para esta pergunta.

Edit: Obrigado pelos comentários ... alguém está disposto e é capaz de iniciar uma conversa sobre essa ideia?

    
por Steve the Maker 25.01.2012 / 04:20

7 respostas

Uma pergunta altamente especulativa, mas vamos dar uma olhada:

Etapa 1: defina um robô

  • Um robô é basicamente um computador com sensores e atuadores conectados.
  • Você pode remover os sensores e atuadores sem reduzir a essência de um robô que sai do computador ou do cérebro.
  • Um computador é baseado em três coisas (como alguém com seu nível de conhecimento saberá muito bem): Entrada, processamento e saída

Etapa 2: as leis em formato legível

  1. A robot may not injure a human being or, through inaction, allow a human being to come to harm.
  2. A robot must obey orders given it by human beings except where such orders would conflict with the First Law.
  3. A robot must protect its own existence as long as such protection does not conflict with the First or Second Law.
  4. Zeroth Law: A robot may not harm humanity, or, by inaction, allow humanity to come to harm.

Etapa 3: pré-requisitos de algoritmo

  • Capacidade de sentir, quantificar e comparar objetivamente "Dano"
  • Conhecimento aprofundado das vulnerabilidades humanas (fisiológicas, nutricionais, psicológicas)
  • Uma compreensão completa das leis causais do seu domínio operacional (por exemplo, o dispositivo A emite radiação; a coluna de concreto B só pode suportar uma força de 10.000 newtons, etc.)
  • Por meio disso, possui a capacidade de prever as conseqüências de todas as ações abertas a ele e ações que os seres humanos possam estar prestes a tomar, com um grau de precisão aceitável para os seres humanos.

Etapa # 4: Algoritmo

  • Entrada bruta : Entradas do sensor (visual, auditivo, tátil, sensores remotos, feeds em tempo real de redes distribuídas, como a Internet, etc.)
  • Entrada processada para o algoritmo : Um vetor / matriz massivo de probabilidades projetadas: por ex. velocidade do carro A & direção projetada para acertar H humano em 3 segundos; reflexo do motorista humano: 0,3 segundo; ETA deste robô para a localização de H: 2 segundos - > Continue processando essas variáveis até que um limite de risco seja excedido e (neste caso, antes que o ETA de carro atinja dois segundos) inicie uma ação preventiva.
  • Saída bruta : matriz de risco avaliada de possíveis ações
  • Avaliação de possíveis ações preventivas contra o tempo gasto, risco para si e para os outros, probabilidade de sucesso, gravidade do dano humano está sob: por ex. mover o H humano para fora do caminho? avisar o motorista? avisar o humano H se o carro estiver se movendo devagar?
  • Saída final : ação
  • Durante a ação, execute um loop de avaliação contínua para ver a alteração das variáveis de risco, para que as ações possam ser ajustadas conforme necessário.

Implicações

  • Observe que este é basicamente um sistema de avaliação de risco.
  • Observe que a cláusula "através da inação, permissão" é muito difícil de implementar - somente os robôs com uma compreensão profunda dos seres humanos poderão intervir na ação humana para evitar danos
  • Observe que a lei infalível exige dados de risco abrangendo toda a humanidade que será difícil de implementar em robôs individuais - será necessário um supercomputador.
25.01.2012 / 05:32

Como complemento à resposta @HNL, aqui estão alguns diagramas mostrando os componentes internos do robô.

Diagrama geral

Na verdade, o 'processamento' pode ser dividido em 2 camadas, similarmente a um sistema neural humano - deve haver um sistema de alto nível executando tarefas de alto nível (como 'Ir às compras') e tarefas de baixo nível como 'Esquerda' perna - faça o próximo passo '. Isso parece mais lógico do ponto de vista técnico. É mais fácil de desenvolver. Também é mais fácil reutilizar alguns módulos. As tarefas dos níveis têm orientação diferente - o sistema de alto nível gerencia a relação e a ética, enquanto os movimentos físicos de baixo nível e a interação com as coisas.

Então o processo dentro do "sistema neural" é o seguinte:

    O módulo
  1. Análise de situação cria uma descrição a ser consumida pelo próximo módulo. Para o sistema de alto nível, descreve as pessoas envolvidas (mestre que deu um pedido), locais (loja), etc. O nível baixo descreve o ambiente físico mais próximo (pavimento, rua a ser atravessada, etc.)

  2. O módulo
  3. Tomada de decisão toma uma decisão. Módulo de alto nível é o lugar onde implementamos 3 leis principalmente. O módulo de baixo nível define se o robô deve esperar pela luz verde ou interrompe o movimento para não pisar um gato, por exemplo.

  4. O módulo
  5. Ações recebe decisões e executa ações. Alto nível: Para ir às compras, preciso descobrir o que é necessário, descer a rua, etc. Ações de alto nível são divididas em séries de ações de baixo nível (mover braços, pernas, dizer alguma coisa, etc.)

  6. Feedback fornece ao robô habilidades para ver / prever suas próprias ações ou suas consequências.

Módulo de tomada de decisão

Entrada é a descrição da situação (uma saída do módulo analisador). O módulo de decisão usa várias abordagens diferentes para análise.

Primeiro, passando pela rede neural, os robôs realizam a tarefa e aplicam regras lógicas. As Leis do Robô podem ser estritamente especificadas no processamento de Exceções, portanto, ele pode reagir imediatamente. O restante das tarefas deve passar pelos módulos de rede / lógica neural (talvez várias vezes) para descobrir algum plano de execução.

Resumo

Primeiro, da perspectiva técnica, o robô executa tarefas. As tarefas de alto nível são divididas em uma sequência de tarefas simples, que são divididas em uma sequência de tarefas de baixo nível, como movimentos de uma parte específica do robô. O robô analisa continuamente a situação e decide se a fila de tarefas deve ser modificada.

Aqui estão alguns pensamentos sobre hackers e subversões:

  1. Mesmo que os sensores do robô sejam tão bons que o robô possa rastrear todas as pessoas na cidade, você deve restringir a responsabilidade do robô. Por exemplo, o robô não pode ajudar as pessoas que estão na outra parte da cidade. (Isso realmente contradiz a 1ª lei). Então, provavelmente, do ponto de vista ético, você deve restringir as habilidades dos sensores do robô.

  2. Você não pode dar habilidades de previsão baseadas em robô - no robô de rua calculará o destino das pessoas para sempre. Na verdade, isso pode ser um "oráculo de robô" ou apenas um mau funcionamento interessante.

  3. Devido à natureza modular, você pode se conectar a um módulo de análise de situação diferente do robô. Por exemplo, conecte o robô a um jogo de computador e veja o que acontece.

  4. O módulo de tomada de decisão deve ser diferente em diferentes países / culturas. Bom exemplo - diferentes gestos em diferentes culturas e robôs devem reagir de maneira diferente. (Com certeza o robô japonês ficaria confuso na Europa).

  5. Você poderia dar aos robôs habilidades para se comunicarem através da rede. Assim, eles poderiam unir e coordenar suas ações para satisfazer as leis. Do outro lado, pode ser um desastre como a Skynet.

  6. Quando a parte do módulo de tomada de decisão é quebrada e o robô mata um humano - o robô ainda deve "entender" que - a situação passaria por sensores até "cérebro" e "memória". O que o robô deve fazer nesse caso? Relate a si mesmo como quebrado, ou desenvolva um instinto "autodefensivo"?

  7. Pode haver fluxo de apagamento de memória interessante. Por exemplo, existe uma rede neural que contém algumas regras implicitamente e uma "memória" separada onde os robôs armazenam alguns fatos. Então, se você apagar apenas a memória bruta, o comportamento do robô e alguma experiência ainda estaria localizado na rede neural, e o robô poderia de alguma forma recuperar o self passado "apagado".

20.02.2012 / 12:41

Das histórias que li, parece que Asimov fez um ótimo trabalho ao contornar os detalhes de como o cérebro positrônico realmente funciona. Isso é o que gerou a mesma pergunta, a saber, como implementar as três leis em um cérebro artificial. A NHL fez um ótimo trabalho ao resumir os robôs como entidades de computador com vários sensores e atuadores conectados a eles. Mas então ele adotou a maneira usual de ver o computador como uma mega-máquina de computação de alguma forma. Não temos esse tipo de capacidade de megacomputação como seres humanos, apesar de sermos capazes de avaliar os riscos e de agir. No entanto, como o senso comum pode nos falhar (muitas vezes, na verdade), seria um aumento muito bom e deve ser visto como um módulo independente adicional se você quiser. Esse módulo, quando alimentado com memórias ou alguns fatos extraídos dos sentidos, daria ainda mais informações na forma de saídas utilizáveis para outras partes de um cérebro artificial.

Jeff Hawkins disse em seu livro On Intelligence , talvez não devêssemos falar sobre "inteligência artificial", mas sim "inteligência verdadeira induzida por um dispositivo artificial". Gostaria de sugerir a qualquer pessoa interessada neste tipo de coisas que leia este livro muito interessante. Para mim, foi inspirador. Como estou "trabalhando" no campo Aprendizado de Máquina, fiquei bastante frustrado com as instruções tomadas até agora neste campo, como Hawkins havia algum tempo atrás.

Talvez devêssemos abordar o problema do ponto de vista da imitação mais próxima da biologia, como sugere seu trabalho, usando a chamada "memória temporal hierárquica". A inteligência (e, portanto, a memória) é na verdade feita de uma hierarquia de associações de uma multiplicidade de estímulos (incluindo os feedbacks da ação) codificados na forma de circuitos no cérebro. Se alguns comportamentos estão profundamente enraizados em nós, isso se deve em parte a alguns tipos de recompensas que nosso cérebro libera de tempos em tempos na forma de hormônios. Hormônios facilitam (ou inibem) a construção de associações particulares que o cérebro considera bom (ruim) para nós (que não são necessariamente boas (más) no absoluto ... infelizmente). Nesse sentido e em relação às três leis, acho que para que seja realmente adaptado às nossas sociedades, um robô deve ter meios de ação limitados primeiro (menos atuadores, por exemplo), e deve ser exposto à sociedade e ao seu ambiente como tanto quanto possível antes de poder interagir totalmente com eles. Alguns comportamentos e associações desejados podem ser aplicados com estímulos fixos facilitados para dar strongs sugestões sobre o que é bom ou ruim em um contexto particular. Esses estímulos fixos são as coisas mais próximas que posso criar para codificar as três leis na prática. Essas associações devem ser congeladas de alguma forma para que sejam suficientemente eficazes. Os seres humanos podem desenvolver hábitos ruins ou bons que podem ser difíceis de mudar, afinal. Ao tornar isso particularmente difícil de mudar, devemos ficar bem.

Eu não acho que a perfeição jamais será alcançada com esse tipo de arquitetura. Em alguns casos, ele falharia, como os próprios humanos, mas com as informações fornecidas por alguns módulos extras, como o de "mega-computação", isso poderia ser um pouco aliviado. Estou disposto a apostar que um cérebro artificial, no sentido de uma máquina de computação, nunca irá tão longe assim. De fato, a própria inteligência do cérebro humano poderia ser superada em grande parte pela inteligência induzida por esses tipos de dispositivos. Poderia se acumular em vez de se perder em algum momento (como no final da vida de um ser humano). Tudo o que um ser humano tem é a linguagem para extrair sua inteligência ou conhecimento de seu próprio cérebro. Infelizmente, leva tempo para transferir esse conhecimento para outro cérebro dessa maneira. Além disso, não importa o quanto você tente, muitas vezes é alterado no processo. Outra questão é que às vezes nunca fazemos associações cruciais que são, no entanto, latentes e à beira de serem feitas, se forem dadas um pouco mais de tempo. Conclusão, muito tempo é perdido. Você nunca vê mais do que a ponta do iceberg da inteligência dentro de um único cérebro em uma vida tão curta quanto a nossa. Talvez uma solução para nossas limitações seria encontrar uma maneira de nossos cérebros se comunicarem com tal dispositivo. Seria muito mais difícil, mas não impossível. A ética também estaria apontando o nariz, suponho.

Eu apreciaria se isso acontecesse em um fórum onde eu poderia falar mais sobre isso, porque eu discordo muito. Eu não sou aquele que inventou isso, a propósito ... Hawkins o transferiu para o meu cérebro através de seu livro. E, para ele, talvez devêssemos considerar formas de agentes inteligentes em um sentido mais amplo, não necessariamente entidades humanas ou animais. Também fique à vontade para roubar essas idéias para o próximo livro:).

    
23.04.2012 / 15:31

P.W. Singer argumenta que as leis da robótica de Asimov não funcionam. Ele levantou questões com a implementação de "As Três Leis da Robótica" de Asimov em seu livro " Wired for War " (2009), especificamente na página 423 na edição em brochura.

There are only three problems with these laws. The first is that they are fiction. They are a plot device that Asimov made up to help drive his stories. Indeed, his tales almost always revolved around robots' following the laws but then going astray and the unintended consequences that result. An advertisement for the 2004 movie adaptation of Asimov's famous book I, Robot put it best: "Rules were made to be broken."

For example, in one of Asimov's stories, robots are made to follow the laws, but they are given a certain meaning of "human." Prefiguring what now goes on in real world ethnic cleansing campaigns, the robots only recognize people of a certain group as "human." They follow the laws, but still carry out genocide.

The second problem is that no technology can yet replicate Asimov's laws inside a machine. As Rodney Brooks put it, "People ask me about whether our robots follow Asimov's laws. There is a simple reason [they don't]. I can't build Asimov's laws in them." Daniel Wilson is a bit more florid. "Asimov's rules are neat, but they are also bullshit. For example, they are in English. How the heck do you program that?"

Finally, much of the funding for robotics research comes from the miltary. It explicitly wants robots that can kill, won't take orders from just any human, and don't care about their own lives. So much for Laws One, Two, and Three.

Como programador, eu odiaria ter essas leis como requisitos de software. Eles lidam com conceitos abstratos: prejuízo, inação, humano, ordem, existência, humanidade. Esses conceitos não estão definidos nas leis e você teria dificuldade em fazer com que um grupo de pessoas concordasse com o que eles significam.

Supondo que as pessoas pudessem concordar com definições concretas e observáveis para os conceitos abstratos e os obstáculos técnicos poderiam ser superados, pode-se argumentar que muitas partes, particularmente os militares, não têm interesse em codificar essas leis para o comportamento robótico.

    
25.04.2012 / 04:58

Eu sugeriria explorar os seguintes ângulos:

Em suas histórias de robôs, Asimov explorou mudanças no comportamento se o peso relativo das leis é modificado. Por exemplo, em um ambiente de mineração, o peso da primeira lei foi reduzido ou os robôs não permitiriam que os humanos deixassem suas naves espaciais (devido ao perigo de ficarem doentes de radiação). Portanto, há a) um raciocínio profundo por que existem três leis eb) por que elas estão nessa ordem.

Naturalmente, a realidade é muito mais complexa do que nas histórias. Se você tem um trem correndo em uma pista e há três pessoas na pista, você inverteria uma junção se isso salvasse as três vidas? E se houver uma única pessoa na outra faixa? E se houver 500 pessoas no trem e houver uma pequena chance de que o trem salte para fora dos trilhos, possivelmente matando os passageiros e as 3 pessoas na pista? Você mataria as três pessoas se isso significasse manter a pista em boa forma para garantir o bem-estar de milhares de pessoas na próxima cidade que depende das mercadorias trazidas de trem?

Para poder avaliar um risco, você precisa ser capaz de perceber isso. Sensores raramente são perfeitos. A potência da CPU é limitada. Algoritmos são limitados. Se três pessoas virem um crime, você terá quatro histórias. Por quê? Porque nosso cérebro recebe 100 milhões de bits de informação a cada segundo dos sensores do corpo, mas apenas 40 deles fazem isso em nossa consciência - ficaríamos completamente sobrecarregados se tivéssemos que lidar com tudo. Então, as informações são compactadas. Às vezes, partes importantes se perdem. Essas partes são recriadas com bom senso e memórias sem que percebamos. Podemos construir um robô que faça melhor ou esse cérebro artificial se fritaria em poucos minutos?

Sempre há casos de canto. Existem regras sociais. A sociedade não se importará se um robô consciente for morto, mas e o robô? E quanto ao movimento dos direitos dos robôs? Quantas dessas regras sociais um robô pode saber? Ou talvez eles conheçam mais regras do que qualquer humano poderia compreender e, assim, agir de maneiras que nenhum ser humano poderia compreender?

Lembre-se sempre de que as coisas nunca são perfeitas. Você sempre tem um equilíbrio entre vantagens e desvantagens. Se o robô puder processar muitas informações, o raciocínio por trás disso só poderá ser superficial. Se é um pensador profundo, a quantidade de informação deve ser limitada de alguma forma.

Tem metas ou uma agenda oculta (pense em HAL em 2001)?

Síndrome de transformação: Se o robô evoluiu, quão fácil é a comunicação com um humano? Eventualmente, os seres humanos serão como formigas para o robô: primitivo, simples, pequeno, mas ainda é difícil conseguir formigas para construir um arranha-céu.

    
20.02.2012 / 15:06

Um take alternativo (eu tenho a tendência de tentar ver as coisas do outro lado se possível) seria fazê-lo do ponto de vista do Robot. Ou seja, nem isso, nem ele, mas eu .

Agora, segure seus cavalos mais um pouquinho mais, por favor, eu sei que já existe um trabalho bastante famoso de um polímata famoso cujo título parece ter coberto exatamente o que eu estou sugerindo, mas considere esta potencial abertura. . . .

The beginning? Well, the first thing I can remember is my blocks. I had three blocks at first. And I could put one on top of another one. And I could put one next to another one. And if I wanted to I could put one behind another one. And I could make a tower with all three.

. . . um traço distante de um teste de coordenação da percepção motora?

    
25.04.2012 / 11:14

Vocês estão super complicando isso:

Primeira lei

setClass Law01

if { status_human=danger;
     Then rescue_human;
}

if{ status_Self=(status_human=harm);
     then cancel action;
}

else goto 01;

Segunda lei

SetClass Law02;
cin >>directive;
Law01 = directive;

if {status_human= danger;
    then cout<<"I'm afraid I can't do that, Dave.";
else
    status=directive;
}

Terceira Lei

SetClass Law03
if{ status_Self=harm;
    then Law01 action_status;

    Law02 action_status;
    if {action_status=0;
        then self_status=0;}
        else action_status=1;
}

Por favor, note: no caso de você não poder dizer, esta é uma resposta tola. Não fique muito obcecado com a minha mistura de C ++ com o BASIC ou com ponto e vírgula no lugar errado, ok?

    
01.08.2015 / 11:42