Usi gli umani come componenti per costruire un computer?


20

Ok prima di iniziare mi rendo conto che questo è ai margini dell'argomento (ho letto la guida Domande su questo sito), in particolare perché questo non è un problema reale. Tuttavia:

  1. Non riesco a trovare nulla di rilevante su Google
  2. Da un punto di vista purista sicuramente deve rientrare in Informatica?

In ogni caso, se ho oltrepassato un limite, chiedo scusa e accolgo con favore la chiusura poiché sono un avido utente di altri siti SE, quindi comprendo i problemi.

Avvertenze a parte, eccolo qui: mi sono chiesto a lungo se sarebbe possibile costruire un sistema informatico funzionante, usando gli umani come componenti logici discreti, per risolvere problemi che i singoli umani non potevano risolvere in una scala temporale pratica. Ad esempio, immagina un certo numero di umani bloccati su un'isola senza macchine, che avevano bisogno di sgretolare alcuni numeri complessi per fuggire.

Immagino di organizzare le persone in modo che ricevano input da altri gruppi all'interno del sistema, prendano decisioni semplici (forse decisioni binarie, forse no) e trasmettano gli output ad altri gruppi.

Quindi immagino che potrebbe essere sviluppato un qualche tipo di linguaggio di programmazione per controllare i dati e il flusso di calcolo e il linguaggio potrebbe essere usato per risolvere problemi complessi senza che gli individui comprendano il problema generale.

Quindi suppongo che quanto sopra non sia una domanda responsabile, ma qualcuno è a conoscenza di ricerche, libri, documenti o qualsiasi cosa su ciò che sarebbe necessario raggiungere, quali tipi di problemi potrebbero essere risolti e potenzialmente risolti, che tipo di linguaggio di controllo potrebbe essere implementato e in che modo l'architettura potrebbe essere scalata per gestire problemi più complessi?

Suppongo, in sostanza, che sto cercando qualcosa su unità atomiche "idealizzate" (come in autosufficienti) e standard che possano essere organizzate a piacimento. Sto solo pensando in termini umani.

Trovo l'idea affascinante e allettante. Mi piacerebbe provarlo un giorno e vedere quali prestazioni potrebbero essere raggiunte! Ci scusiamo per i tag che ho usato, mentre stavo cercando i tag qui mi sono subito reso conto che non ho idea della terminologia corretta per quello che sto pensando, anche se sono sicuro che esista nel campo ...


17
Il debug sarebbe davvero doloroso.
Raffaello

7
Penso che la risposta a questa domanda sia chiaramente che è possibile, e in effetti, è stato fatto dall'innovazione della catena di montaggio nella produzione; lì, gli umani sono usati come elementi discreti ciascuno eseguendo quello che potrebbe ragionevolmente essere chiamato un "calcolo" su qualunque cosa stiano assemblando.
Patrick87,

2
Parola d'ordine di Google "informatica umana". C'è molto in giro. Ricorda che i computer originali in cui le donne nelle sale della fabbrica passavano attorno a fogli di carta con dei numeri su di essi, ciascuno eseguendo un passo di calcolo atomico.
Raffaello

1
In un certo senso è ciò che fa il mondo accademico: qualcuno pubblica alcuni approfondimenti su un problema, altri usano i risultati e si basano su di esso.
rath,

2
"Uso degli umani come componenti per costruire un computer ..." ... e una volta "acceso" programmalo per superare il test di Turing :-)
Vor

Risposte:


20

In realtà, fino agli anni '50 la parola computer veniva usata per indicare un essere umano che faceva calcoli aritmetici. Una (o più) delle (molte) autobiografie di Richard Feynman contiene aneddoti sul suo tempo nel progetto Manhattan , dove gestiva il gruppo di computer umani . Per organizzare un gruppo di umani per eseguire un calcolo complesso, non inizierebbero con componenti logici discreti, ma piuttosto farebbero in modo che ogni essere umano eseguisse più operazioni aritmetiche e quindi coordinasse i loro risultati (insieme a qualche controllo degli errori). Come organizzare questi tipi di grandi i calcoli possono essere trattati in libri con metodi numerici degli anni '40 o all'inizio degli anni '50.

La prima versione del Logic Theorist di Newell, Simon e Shaw è stata simulata usando gli umani nel 1956 (meno costosa del tempo del computer). Successivamente hanno vinto un Turing Award per i contributi di base all'IA, la psicologia della cognizione umana e l'elaborazione delle liste (il teorico della logica potrebbe essere stato il primo programma a utilizzare liste collegate per rappresentare strutture di dati). E l'esperienza ha influenzato le idee successive di Simon sull'emergere comportamento (vedi le sue scienze dell'artificiale .)

Come sottolineato nei commenti e in altre risposte, esiste ora una disciplina emergente del calcolo basato sull'uomo , in cui vengono utilizzati vari incentivi per indurre gli esseri umani a fare parti di un calcolo più ampio, in cui quelle parti fanno buon uso della risoluzione o del modello dei problemi umani riconoscimento. Un esempio di ciò è reCaptcha , in cui gli utenti devono inserire due parole per dimostrare che non sono un bot, una un'immagine distorta che viene utilizzata per la "prova" effettiva e la seconda una parola effettiva da un libro digitalizzato, che viene utilizzata per produrre una versione digitalizzata del libro. Un altro esempio è l' Amazon Mechanical Turk in cui un'azienda può esternalizzare "microtask" ai lavoratori umani per piccole somme di denaro. Il turk meccanico è stato usato, ad esempio, perraccogliere annotazioni su 250.000 immagini per la ricerca sull'elaborazione delle immagini . La chiave sembra scomporre il problema in un mucchio di oggetti di lavoro indipendenti, con quantità significative di ridondanza utilizzate per ridurre gli errori. (Ad esempio, assegni lo stesso oggetto di lavoro a 2 umani diversi, quindi se forniscono risposte contrastanti assegni l'oggetto di lavoro a un terzo umano per risolvere la differenza.)


1
Ormai, l'attenzione si è spostata per utilizzare gli umani in cui i computer sono deboli, ad esempio il riconoscimento delle immagini. Potete fornire alcune informazioni e prospettive al riguardo?
Raffaello

2
Vedi anche When Computers Were Human , di David Alan Grier. Il libro copre la storia dell'informatica dal 1758 al 1986 e include cose come la stanza piena di donne che la NASA userebbe per i calcoli dei missili perché non si fidavano di quelle macchine informatiche per ottenere le cose giuste.
Brian S,

2
Grazie per quello In realtà sono a conoscenza delle cose del Progetto Feynman / Manhattan. E chiaramente è del tutto possibile modellare un dominio problematico e distribuirlo in un gruppo di calcolatori umani per risolvere una specifica equazione in questo modo. Tuttavia, questo non affronta il mio punto su un linguaggio di controllo in modo che il problema sia modellato in quel linguaggio e quindi "eseguito" dal sistema, che è un ulteriore livello di astrazione. Il punto è che lo stesso sistema funzionale può quindi essere utilizzato per risolvere diversi problemi senza "ricablare". Definirò. follow-up di quei riferimenti però - molto interessante
Marv Mills

@MarvMills, il "programma" è stato probabilmente trascritto in istruzioni per ognuna delle persone che eseguono il calcolo, ma l'interesse per questo sembra essere arrivato molto più tardi. Forse alcuni sopravvivono in vecchi libri di analisi numerica o rapporti ... ma non googleable :-(
vonbrand

2
Mi è piaciuto il Google Tech Talk su Human Computing di Luis von Ahn. Ha un paio d'anni, ma illustra alcuni aspetti e motivazioni chiave. Il gioco di tag di immagini che propone è in realtà divertente.
Raffaello

1

Penserei che, in un certo senso, l'attuale tecnologia di sviluppo delle prove, e possibilmente le tecniche di sintesi dei programmi associate, si basano su una simbiosi tra uomo e computer, che non è molto lontana dall'esempio del progetto Manhattan computer computer. Il computer fornisce alcuni passaggi del ragionamento e fa tutto il noioso, sebbene difficile conteggio dei libri, mentre gli umani forniscono i passi di Aha che il computer non riesce (ancora?) A trovare.

Ricordo un vecchio sistema di trasformazione del programma, in cui le trasformazioni erano programmate in un linguaggio di programmazione specifico. Quando il programma identificava una situazione che non era in grado di gestire, poteva passare il controllo all'utente che doveva fare tutto ciò che era necessario a mano, con comandi interpretati, e quindi restituire il controllo al programma di trasformazione.


1

come sottolineano altre risposte, gli umani venivano usati come computer prima dell'elaborazione basata sull'hardware (principalmente per il calcolo di grandi tabelle matematiche pubblicate come volumi), e questo è il significato letterale originale della parola "computer". nella storia dell'informatica, la tendenza è stata esattamente nella direzione opposta rispetto all'elaborazione umana rispetto all'elaborazione basata sull'hardware perché gli esseri umani sono essenzialmente inaffidabili (e sempre più inutili) per compiti quasi meccanici.

tuttavia, i social network hanno dato origine a nuove forme di elaborazione basata sull'uomo, nota anche come "intelligenza collettiva" (CI). ci sono molti esempi. ad esempio su stackexchange la domanda "voti" (positivi meno voti negativi) e "domande frequenti" si basano sull'IC degli utenti di stackexchange (espressa tramite votazione). gli algoritmi per trovare elementi simili su Amazon, in base al comportamento degli utenti, sono correlati a CI. algoritmi simili vengono eseguiti su Netflix per trovare film simili in base alle preferenze dell'utente (e alle valutazioni inviate dall'utente).

google Pagerank è progettato per funzionare in base all'elemento della configurazione codificato in schemi di collegamento (il collegamento su pagine Web si basa in definitiva su scelte umane). Facebook sta introducendo un nuovo algoritmo di ricerca di grafici, anch'esso strettamente associato a CI. si noti che anche ciò che gli amici di una persona, come espresso nei social network, è correlato alla CI.

esempi di concetti relativi al calcolo umano:

così, per quanto riguarda tendenza a lungo raggio, gli esseri umani come i computer digitali o meccanici è in declino per tutto il 20 ° secolo, proseguendo per la 21 ° , ma l'intelligenza collettiva è molto in aumento, così come calcolo a basso costo e di cluster di calcolo alimentato da Legge di Moores .


-1

Questa è una sfida del mondo reale e si collega strettamente ai flussi di lavoro. L'idea di disporre di un flusso di lavoro è quella di disporre di una coda o di un elenco di attività ordinate o non ordinate che le persone o i computer devono raccogliere in qualsiasi momento per completare un processo più ampio in cui potrebbero essere o non essere interessati o non conoscere affatto .

In effetti avrai una macchina che può fare qualcosa e di solito questa è la principale sfida e / o obiettivo per un imprenditore, soprattutto perché si possono fare soldi se puoi automatizzare qualcosa e poi allontanarti da essa (come una macchina).

Il problema inerente all'uso degli umani è che fanno più errori o si annoiano con il lavoro. Fondamentalmente, questo è anche il motivo per cui gli imprenditori cercano di sostituire le parti delle persone reali con parti meccaniche o computer.


1
Questo non sembra rispondere alla domanda su come lo faresti con le persone. Chiaramente, le persone commettono errori, quindi qualsiasi sistema dovrebbe essere in grado di rilevarli e correggerli.
David Richerby,

Un processo aziendale non è uguale a un computer (per scopi generici). È piuttosto un protocollo di comunicazione e un programma di distribuzione del carico di lavoro per attori / computer indipendenti.
Raffaello
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.