¿Usando humanos como componentes para construir una computadora?

20

Bien, antes de comenzar, me doy cuenta de que esto está al margen del tema (he leído la ayuda de Preguntas para este sitio), particularmente porque este no es un problema del mundo real. Sin embargo:

  1. No puedo encontrar nada relevante en Google
  2. ¿Desde un punto de vista purista seguramente debe caer dentro de la informática?

En cualquier caso, si he sobrepasado un límite, me disculpo y le doy la bienvenida al Cierre, ya que soy un usuario ávido de otros sitios de SE, así que entiendo los problemas.

Dejando de lado las advertencias, aquí está: hace tiempo que me he preguntado si sería posible construir un sistema informático que funcione, utilizando a los humanos como componentes lógicos discretos, para resolver problemas que los humanos individuales no podrían resolver en una escala de tiempo práctica. Por ejemplo, imagine un número de humanos varados en una isla sin ninguna máquina, que necesitaban algunos números complejos para escapar.

Me imagino organizando a las personas para que reciban entradas de otros grupos dentro del sistema, tomen decisiones simples (quizás decisiones binarias, tal vez no) y pasen las salidas a otros grupos.

Luego imagino que se podría desarrollar algún tipo de lenguaje de programación para controlar el flujo de datos y cómputo y que el lenguaje podría usarse para resolver problemas complejos sin que las personas comprendan el problema general.

Así que supongo que lo anterior no es una pregunta que se pueda responder, pero ¿alguien sabe de alguna investigación, libros, documentos o lo que sea necesario para lograr, qué tipo de problemas podrían abordarse y potencialmente resolverse, qué tipo de lenguaje de control podría implementarse y cómo se podría ampliar la arquitectura para manejar problemas más complejos?

Supongo que, en esencia, estoy buscando cualquier cosa sobre unidades atómicas "idealizadas" (como en autocontenido) y estándar que puedan organizarse a voluntad. Solo estoy pensando en términos humanos.

La idea me parece fascinante y atractiva. ¡Me encantaría probarlo algún día y ver qué rendimiento se puede lograr! Perdón por las etiquetas que he usado, mientras buscaba las etiquetas aquí rápidamente me di cuenta de que no tenía idea de la terminología correcta para lo que estaba pensando, aunque estoy seguro de que existe dentro del campo ...

Marv Mills
fuente
17
La depuración sería realmente dolorosa.
Raphael
77
Creo que la respuesta a esta pregunta es claramente que es posible, y de hecho, se ha hecho desde la innovación de la línea de ensamblaje en la fabricación; allí, los humanos se usan como elementos discretos, cada uno de los cuales realiza lo que razonablemente podría llamarse un "cálculo" en lo que sea que estén ensamblando.
Patrick87
2
Palabra de moda de Google "computación humana". Hay mucho por aquí. Recuerde que las computadoras originales eran mujeres en los pasillos de las fábricas que pasaban hojas de papel con números, cada una de las cuales realizaba un paso computacional atómico.
Raphael
1
En cierto modo, eso es lo que hace la academia: alguien publica una idea de un problema, otros usan los resultados y se basan en él.
rath
2
"Uso de humanos como componentes para construir una computadora ..." ... y una vez que esté "encendida", prográmela para pasar la prueba de Turing :-)
Vor

Respuestas:

20

En realidad, hasta la década de 1950, la palabra computadora se usaba para referirse a un humano que hacía cálculos aritméticos. Una (o más) de las (muchas) autobiografías de Richard Feynman contiene anécdotas sobre su tiempo en el proyecto de Manhattan , donde dirigió el grupo de computadoras humanas . Para organizar un grupo de humanos para realizar un cálculo complejo, no comenzarían con componentes lógicos discretos, sino que cada humano realizaría múltiples operaciones aritméticas y luego coordinaría sus resultados (junto con alguna comprobación de errores). Cómo organizar este tipo de grandes los cálculos pueden estar cubiertos en libros de métodos numéricos de la década de 1940 o principios de la década de 1950.

La primera versión de The Logic Theorist de Newell, Simon y Shaw fue simulada usando humanos en 1956 (menos costoso que el tiempo de computadora). Más tarde ganaron un Premio Turing por contribuciones básicas a la IA, la psicología de la cognición humana y el procesamiento de listas (The Logic Theorist puede haber sido el primer programa en usar listas vinculadas para representar estructuras de datos). Y la experiencia influyó en las ideas posteriores de Simon sobre emergencias comportamiento (ver sus Ciencias de lo artificial ).

Como se señaló en los comentarios y otras respuestas, ahora existe una disciplina emergente de la computación basada en humanos , donde se utilizan varios incentivos para que los humanos realicen partes de un cálculo más amplio, donde esas partes hacen un buen uso de la resolución o el patrón de problemas humanos. reconocimiento. Un ejemplo de esto es reCaptcha , donde los usuarios necesitan ingresar dos palabras para demostrar que no son bot, una imagen distorsionada que se usa para la "prueba" real y la segunda una palabra real de un libro escaneado, que se usa para producir una versión digitalizada del libro. Otro ejemplo es el Amazon Mechanical Turk, donde una empresa puede externalizar "microtasks" a trabajadores humanos por pequeñas sumas de dinero. El turco mecánico se ha utilizado, por ejemplo, pararecopile anotaciones en 250,000 imágenes para la investigación del procesamiento de imágenes . La clave parece estar dividiendo el problema en una pila de elementos de trabajo independientes, con cantidades significativas de redundancia utilizadas para reducir los errores. (Por ejemplo, asigna el mismo elemento de trabajo a 2 humanos diferentes, y luego, si proporcionan respuestas conflictivas, asigna el elemento de trabajo a un tercer humano para resolver la diferencia).

Lógica Errante
fuente
1
Por ahora, el enfoque se ha desplazado para usar humanos donde las computadoras son débiles, por ejemplo, el reconocimiento de imágenes. ¿Puede proporcionar alguna información y perspectiva sobre eso?
Raphael
2
Ver también When Computers Were Human , de David Alan Grier. El libro abarca la historia de la computación desde 1758 hasta 1986, e incluye cosas como la sala llena de mujeres que la NASA usaría para los cálculos de cohetes porque no confiaban en que las máquinas informáticas hicieran las cosas bien.
Brian S
2
Gracias por eso. En realidad estoy al tanto de las cosas del Proyecto Feynman / Manhattan. Y claramente es completamente posible modelar un dominio problemático y distribuirlo entre un grupo de calculadoras humanas para resolver una ecuación específica de esta manera. Sin embargo, esto no aborda mi punto sobre un lenguaje de control, de modo que el problema se modela en ese lenguaje y luego "ejecuta" el sistema, que es un nivel adicional de abstracción. El punto es que el mismo sistema funcional puede usarse para resolver diferentes problemas sin "volver a cablear". Yo def. sin embargo, siga esas referencias, lo más interesante
Marv Mills el
@MarvMills, el "programa" probablemente fue escrito con instrucciones para cada una de las personas que realizan el cálculo, pero el interés en esto parece haber llegado mucho más tarde. Tal vez algunos sobrevivan en viejos libros de análisis numérico o informes ... pero no googleable :-(
vonbrand
2
Disfruté de la charla técnica sobre computación humana de Google Tech de Luis von Ahn. Tiene un par de años, pero ilustra algunos aspectos y motivaciones clave. El juego de etiquetado de imágenes que propone es realmente divertido.
Raphael
1

Creo que, en cierto modo, la tecnología de desarrollo de pruebas actual, y posiblemente las técnicas de síntesis de programas asociadas, se basan en una simbiosis entre humanos y computadoras, que no está muy lejos del ejemplo de las computadoras humanas del proyecto Manhattan. La computadora proporciona algunos pasos del razonamiento y realiza todos los tediosos, aunque difíciles libros de contabilidad, mientras que los humanos proporcionan los pasos Aha que la computadora no puede (¿todavía?).

Recuerdo un antiguo sistema de transformación de programas, donde las transformaciones se programaban en un lenguaje de programación específico. Cuando el programa identificaba una situación que no podía manejar, podía pasar el control al usuario que se suponía que debía hacer lo que fuera necesario a mano, con comandos interpretados, y luego devolver el control al programa de transformación.

babou
fuente
1

Como señalan otras respuestas, los humanos se usaron como computadoras antes que la computación basada en hardware (principalmente para calcular grandes tablas matemáticas publicadas como volúmenes), y ese es el significado literal original de la palabra "computadora". En la historia de la informática, la tendencia ha sido exactamente en la dirección opuesta, alejándose de la informática humana a la informática basada en hardware porque los humanos son esencialmente poco confiables (y cada vez más innecesarios) para tareas casi mecánicas.

sin embargo, las redes sociales han dado lugar a nuevas formas de computación basada en humanos, también conocida como "inteligencia colectiva" (CI). Hay muchos ejemplos. por ejemplo, en stackexchange, las preguntas "calificaciones" (votos positivos menos votos negativos) y "preguntas candentes" se basan en el CI de los usuarios de stackexchange (expresado mediante votación). Los algoritmos para encontrar elementos similares en, por ejemplo, Amazon basados ​​en el comportamiento del usuario están relacionados con CI. Algoritmos similares se ejecutan en Netflix para encontrar películas similares basadas en las preferencias del usuario (y las calificaciones enviadas por el usuario).

Google Pagerank está diseñado para funcionar según el CI codificado en los patrones de enlace (el enlace en páginas web se basa en última instancia en elecciones humanas). Facebook está presentando un nuevo algoritmo de búsqueda de gráficos también estrechamente acoplado con CI. tenga en cuenta que incluso qué amigos tiene una persona, como se expresa en las redes sociales, está relacionado con CI.

Ejemplos de conceptos relacionados con la informática humana:

por lo que, en lo que a largo tendencia gama, los seres humanos como computadoras digitales o mecánicos ha estado en declive durante toda la 20 ª siglo continuando en la 21 st , pero la inteligencia colectiva es en gran medida de la subida, así como la computación barato y racimos de computación alimentado por Ley de los Moores .

vzn
fuente
-1

Este es un desafío del mundo real y está estrechamente relacionado con los flujos de trabajo. La idea de tener un flujo de trabajo es tener una cola o una lista ordenada o no ordenada de tareas que las personas o las computadoras tienen que recoger en cualquier momento para completar un proceso más grande en el que puedan o no preocuparse o saber nada .

En efecto, tendrá una máquina que puede hacer algo y, por lo general, este es el principal desafío y / o meta para un emprendedor, principalmente porque se puede ganar dinero si puede automatizar algo y luego alejarse de él (como una máquina).

El problema inherente al uso de humanos es que cometen más errores o se aburren con el trabajo. Básicamente, esta es también la razón por la cual los empresarios intentan reemplazar las partes de personas reales con partes mecánicas o de computadoras.

jwize
fuente
1
Esto no parece responder a la pregunta de cómo lo haría con las personas. Claramente, las personas cometen errores, por lo que cualquier sistema debería ser capaz de detectarlos y corregirlos.
David Richerby
Un proceso corporativo no es lo mismo que una computadora (de propósito general). Es más bien un protocolo de comunicación y un cronograma de distribución de carga de trabajo para actores / computadoras independientes.
Raphael