Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет superhuman ([info]superhuman)
@ 2009-08-25 16:09:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Предположим, некоторое количество людей стали по экватору, и взялись за руки. Я только что прикинул, что достаточно 10 млн. человек. Одного из них назначим сверхчеловеком. Эти люди могут подсчитать своё количество следующим образом: сверхчеловек говорит "один" ("первый") следующему, следующий говорит "два" ("второй") последующему и т.д. Когда число возвращается к сверхчеловеку, это и будет общее число людей в цепочке.

Обобщая идею, можно провести голосование. Сверхчеловек задумывает некоторое произвольное целое число (это называется "посолить"), и называет его второму. Второй добавляет единицу, если он голосует "за" или нуль, если голосует "против" и шепчет сумму третьему. Третий добавляет единицу, если он голосует "за" или нуль, если голосует "против" и шепчет сумму четвёртому, и так далее. Когда сумма возвращается к сверхчеловеку, он точно знает, какое количество из людей в цепочке проголосовало "за", но не знает кто конкретно как сделал выбор. И люди в цепочке не могут знать этого, т.к. процесс "посолен".

В принципе, сама эта сумма и процесс её циркуляции - это метафора мема. Необходимо забыть про сверхчеловека, потому что во-первых, никакой человек не доживёт до момента, когда сумма возвратится к нему, а во-вторых, даже если можно было бы осознать сумму-результат, процесс её циркуляции охватить никто не сможет. Вот и получается, что мем - это бесконечный (пока существует цепочка) процесс циркуляции некого эфемерного числа, выявить которое уже давно никто не в состоянии.


(Добавить комментарий)


[info]k_d
2009-08-25 18:46 (ссылка)
Это 42, наверное.

(Ответить) (Ветвь дискуссии)


[info]superhuman
2009-08-25 20:00 (ссылка)
Хехе, ну, это смотря что под 42 подразумевать.

(Ответить) (Уровень выше)


[info]ppkk
2009-10-01 02:06 (ссылка)
Можно сделать в два раза быстрее (алгоритм *): человек в обе стороны передаёт, а получивший два сообщения всё понимает. Но это будет уже не "сверхчеловек".

В "компьютерных науках", мне кажется, придумали бы ещё что-нибудь похитрее (если уточнить математическую модель).

А программисты, полагаю, реализовали бы примерно такой базовый алгоритм: "сверхчеловек" реализует сам и передаёт по кругу алгоритм *, который каждый реализует самостоятельно. Когда каждый алгоритм реализован, по идее все должны знать количество людей.

Для того, чтобы знать, кто как проголосовал, нужны подставные лица. Если передача чисел производится какими-то техническими средствами, вполне можно поставить по роботу между соседними людьми. Если всё-таки по-старинке, то нужно слишком много людей. В таком случае, наверное, эффективнее придумать более сложный алгоритм под тем предлогом, что иначе два соседа смогут определить, как проголосовал человек между ними. Главное, что передавать должны уже не один бит, так что достаточно будет лишь малой доли подставных лиц.

(Ответить)