Usando humanos como componentes para construir um computador?


20

Ok, antes de começar, percebo que isso está à margem do tópico (li a ajuda do Questions neste site), principalmente porque esse não é um problema do mundo real. Contudo:

  1. Não consigo encontrar nada relevante no Google
  2. De um ponto de vista purista, certamente deve estar dentro da Ciência da Computação?

De qualquer forma, se eu ultrapassar um limite, peço desculpas e congratulo-me com o encerramento, pois sou um usuário ávido de outros sites da SE, para entender os problemas.

Advertências à parte, aqui está: há muito tempo me pergunto se seria possível construir um sistema de computação funcional, usando humanos como componentes lógicos discretos, para resolver problemas que humanos individuais não poderiam resolver em uma escala de tempo prática. Por exemplo, imagine um número de humanos presos em uma ilha sem máquinas, que precisavam triturar alguns números complexos para escapar.

Imagino organizar as pessoas para que recebam contribuições de outros grupos dentro do sistema, tomem decisões simples (talvez decisões binárias, talvez não) e passem os resultados para outros grupos.

Então eu imagino que algum tipo de linguagem de programação possa ser desenvolvida para controlar o fluxo de dados e computação e a linguagem possa ser usada para resolver problemas complexos sem que os indivíduos entendam o problema geral.

Então, acho que o exposto acima não é uma pergunta respondível - mas alguém sabe de alguma pesquisa, livros, papéis ou o que for necessário para alcançar, que tipos de problemas poderiam ser abordados e potencialmente resolvidos, que tipo de linguagem de controle poderia ser ser implantado e como a arquitetura pode ser ampliada para lidar com problemas mais complexos?

Suponho que, em essência, estou procurando qualquer coisa em unidades de computação atômica "idealizada" (como autônoma) e padrão que possam ser organizadas à vontade - só estou pensando em termos humanos.

Acho a ideia fascinante e sedutora. Eu adoraria experimentá-lo um dia e ver qual desempenho poderia ser alcançado! Desculpem as tags que usei, pois quando as procurava aqui, percebi rapidamente que não tenho ideia da terminologia correta para o que estou pensando, embora tenha certeza de que ela existe dentro do campo ...


17
A depuração seria realmente dolorosa.
Raphael

7
Penso que a resposta a esta pergunta é claramente que isso é possível e, de fato, foi feito desde a inovação da linha de montagem na fabricação; lá, os humanos são usados ​​como elementos discretos, cada um realizando o que poderia ser chamado de "computação" em tudo o que eles estão montando.
Patrick87

2
Chavão do Google "computação humana". Há muito por aí. Lembre-se de que os computadores originais onde as mulheres nas salas das fábricas que passavam em torno das folhas de papel com números nelas, cada uma executando uma etapa computacional atômica.
Raphael

1
De uma maneira que é o que a academia faz: alguém publica algumas idéias sobre um problema, outras usam os resultados e constroem sobre ele.
Rath

2
"Utilizando seres humanos como componentes para construir um computador ..." ... e uma vez que é "ligado", programe-o para passar no teste de Turing :-)
Vor 27/03

Respostas:


20

Até a década de 1950, a palavra computador era usada para se referir a um humano que fazia cálculos aritméticos. Uma (ou mais) das (muitas) autobiografias de Richard Feynman contém histórias sobre seu tempo no projeto de Manhattan , onde ele dirigia o grupo de computadores humanos . Para organizar um grupo de humanos para executar uma computação complexa, eles não começam com componentes lógicos discretos, mas pedem que cada humano execute várias operações aritméticas e depois coordene seus resultados (juntamente com algumas verificações de erros). cálculos podem ser abordados em livros de métodos numéricos da década de 1940 ou início da década de 1950.

A primeira versão do Logic Theorist de Newell, Simon e Shaw foi simulada usando seres humanos em 1956 (menos dispendiosa que o tempo do computador). Mais tarde, eles ganharam um Prêmio Turing por contribuições básicas à IA, a psicologia da cognição humana e o processamento de listas (o Teórico da Lógica pode ter sido o primeiro programa a usar listas vinculadas para representar estruturas de dados). E a experiência influenciou as idéias posteriores de Simon sobre emergentes. comportamento (veja suas Ciências do Artificial .)

Conforme apontado nos comentários e outras respostas, agora existe uma disciplina emergente da computação baseada em humanos , na qual vários incentivos são usados ​​para levar os humanos a fazerem partes de um cálculo maior, onde essas partes fazem bom uso da solução ou padrão humano de resolução de problemas. reconhecimento. Um exemplo disso é o reCaptcha , em que os usuários precisam digitar duas palavras para provar que não são um bot, uma imagem distorcida usada para a "prova" real e a segunda uma palavra real de um livro digitalizado, que é usado para produzir uma versão digitalizada do livro. Outro exemplo é o Amazon Mechanical Turk, onde uma empresa pode terceirizar "microtasks" para trabalhadores humanos por pequenas somas de dinheiro. O turco mecânico tem sido usado, por exemplo, paracolete anotações em 250.000 imagens para pesquisa de processamento de imagens . A chave parece estar dividindo o problema em uma pilha de itens de trabalho independentes, com quantidades significativas de redundância usada para reduzir erros. (Por exemplo, você atribui o mesmo item de trabalho a 2 humanos diferentes e, se eles fornecerem respostas conflitantes, você atribui o item de trabalho a um terceiro humano para resolver a diferença.)


1
Até agora, o foco mudou para usar seres humanos onde os computadores são fracos, por exemplo, reconhecimento de imagem. Você pode fornecer algumas informações e perspectivas sobre isso?
Raphael

2
Veja também When Computers Were Human , de David Alan Grier. O livro abrange a história da computação de 1758 a 1986 e inclui coisas como a sala cheia de mulheres que a NASA usaria para cálculos de foguetes, porque não confiavam nessas máquinas de computação para acertar as coisas.
Brian S

2
Obrigado por isso. Na verdade, estou ciente das coisas do Projeto Feynman / Manhattan. E claramente é inteiramente possível modelar um domínio de problema e distribuí-lo entre um grupo de calculadoras humanas para resolver uma equação específica dessa maneira. No entanto, isso não aborda meu ponto de vista sobre uma linguagem de controle, para que o problema seja modelado nessa linguagem e depois "executado" pelo sistema, que é um nível adicional de abstração. O ponto é que o mesmo sistema funcional pode ser usado para resolver problemas diferentes sem "religar". Eu vou def. acompanhar essas referências though- mais interessante
Marv Mills

@MarvMills, o "programa" provavelmente foi escrito como instruções para cada uma das pessoas que faz o cálculo, mas o interesse por isso parece ter surgido muito mais tarde. Talvez alguns sobreviver no velho numérica livros de análise ou relatórios ... mas não googleable :-(
vonbrand

2
Gostei do Google Tech Talk sobre computação humana, de Luis von Ahn. Ele tem alguns anos, mas ele ilustra alguns aspectos e motivações importantes. O jogo de marcação de imagens que ele propõe é realmente divertido.
Raphael

1

Eu pensaria que, de certa forma, a tecnologia atual de desenvolvimento de provas e, possivelmente, as técnicas de síntese de programas associadas, dependem de uma simbiose entre humanos e computadores, o que não está muito distante do exemplo dos computadores humanos do projeto Manhattan. O computador fornece algumas etapas do raciocínio e faz toda a contabilidade tediosa, embora difícil, enquanto os humanos fornecem as etapas Aha que o computador ainda não consegue encontrar.

Lembro-me de um antigo sistema de transformação de programas, em que as transformações foram programadas em uma linguagem de programação específica. Quando o programa identificava uma situação que não era possível, passava o controle para o usuário que deveria fazer o que fosse necessário manualmente, com comandos interpretados, e depois passava o controle de volta ao programa de transformação.


1

como outras respostas apontam, os humanos foram usados ​​como computadores antes da computação baseada em hardware (principalmente para calcular grandes tabelas matemáticas publicadas como volumes), e esse é o significado literal original da palavra "computador". na história da computação, a tendência foi exatamente na direção oposta, da computação humana à computação baseada em hardware, porque os humanos são essencialmente não confiáveis ​​(e cada vez mais desnecessários) para tarefas quase mecânicas.

no entanto, as redes sociais deram origem a novas formas de computação baseada em humanos, também conhecidas como "inteligência coletiva" (IC). Existem muitos exemplos. por exemplo, na stackexchange, a pergunta "ratings" (positivo menos votos negativos) e "hot questions" são baseadas no IC de usuários do stackexchange (expressos por votação). algoritmos para encontrar itens semelhantes na Amazon, com base no comportamento do usuário, estão relacionados ao IC. algoritmos semelhantes são executados no Netflix para encontrar filmes semelhantes com base nas preferências do usuário (e nas classificações enviadas pelo usuário).

O Google Pagerank foi projetado para funcionar com base no IC codificado em padrões de link (o link em páginas da Web é baseado em escolhas humanas). O Facebook está introduzindo um novo algoritmo Graph Search, também fortemente associado ao CI. observe que até mesmo os amigos de uma pessoa, conforme expressos nas redes sociais, estão relacionados ao IC.

exemplos de conceitos relacionados à computação humana:

portanto, no que diz respeito à tendência de longo alcance, os seres humanos, como computadores digitais ou mecânicos, estão em declínio durante todo o século XX , continuando no século XXI , mas a inteligência coletiva está em alta, assim como os computadores baratos e os conjuntos de computação alimentados por Lei de Moores .


-1

Esse é um desafio do mundo real e está intimamente relacionado aos fluxos de trabalho. A idéia de ter um fluxo de trabalho é ter uma fila ou uma lista ordenada ou não ordenada de tarefas que as pessoas ou computadores precisam executar a qualquer momento para concluir um processo maior no qual eles podem ou não estar preocupados ou conhecer. .

Com efeito, você terá uma máquina que pode criar algo e, geralmente, esse é o principal desafio e / ou objetivo de um empreendedor, principalmente porque o dinheiro pode ser ganho se você puder automatizar algo e depois se afastar (como uma máquina).

O problema inerente ao uso de seres humanos é que eles cometem mais erros ou ficam entediados com o trabalho. Basicamente, esse também é o motivo dos empreendedores tentarem substituir as peças de pessoas reais por peças mecânicas ou de computadores.


1
Isso não parece responder à pergunta de como você faria isso com as pessoas. Claramente, as pessoas cometem erros, então qualquer sistema teria que ser capaz de detectar e corrigir esses erros.
David Richerby

Um processo corporativo não é o mesmo que um computador (de uso geral). É um protocolo de comunicação e programação de distribuição de carga de trabalho para atores / computadores independentes.
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.