?

Log in

No account? Create an account

Кухня шута

Шуты не бывают веселыми... А еще они не бывают чьими-то.

Previous Entry Share Next Entry
(no subject)
man_of_motley
Еще немножко долго и нудно из курса аналитикам… Боюсь что немного сумбурно, есть ощущение что пытаюсь впихнуть больше информации, чем позволяет формат. В этом случае лучше меня пнуть в те места где "ни хуя не понятно", я разверну.



Как известно, передача информации от человека к человеку не всегда проходит гладко и успешно. Понятно, что прикладная математика тут не решит всех проблем, но теория информации дядьки Шеннона, места возникновения ошибок при её передаче и способы их выявления и преодоления могут быть полезны.

Сразу оговорюсь, что в данном изложении я максимально упрощаю это дело, для того, что я хочу сказать – на самом деле научность и доточечная точность в изложении просто не нужна.

Итак, передача информации состоит из четырех предметов, участвующих собственно в передаче:
1) Передатчик
2) Приемник
3) Сообщение
4) Канал связи

Важно: Внешний вид сообщения внутри передатчика, в канале связи и внутри приемника может и, скорее всего, будет отличаться.

Назовем то, что мы на самом деле хотим передать “семантикой” или смысловым наполнением сообщения. Для того, чтобы передать сообщение по каналу связи надо в первую очередь привести его в вид пригодный для передачи по каналу связи и для извлечения смысла на стороне приемника. Для этого используется набор сигналов, в теории информации именуемый алфавитом – набор сигналов, где каждому сигналу назначена определенная семантика. Например, сигналу “нет” в русском языке соответствует семантика отрицания, несогласия, запрета.

Первая и самая очевидная причина, по которой семантика может быть не передана или передана не верно – это в случае если передатчик и приемник используют разный алфавит.

Важно: Никакая коммуникация не будет успешной, если заранее не установлен один алфавит для всех участников коммуникации – т.е. одни и те же сигналы – слова, утверждения, знаки, в том числе невербальные – означают одно и тоже. Самый простой пример – это разговор китайца с англичанином на китайском языке – англичанин просто не поймет китайца, ведь алфавит ему не знаком. Хуже, что даже в рамках одного языка – одни и те же слова могут нести совершенно разную семантику в зависимости от профессиональной, географической, культурной, политической и так далее принадлежности участника коммуникации.

Но даже если алфавит верен и одинаков для обоих участников – это не значит, что коммуникации состоит успешно. Просто перечислим все шаги, на которых может возникнуть ошибка:

Шаг 1) Передатчик выбирает сигналы, соответствующие семантике, которую он хочет передать.
Возможная ошибка – выбрана неверная семантика. Пример в человеческом мире – выбрано неверное слово.

Шаг 2) Передатчик передает сигнал в канал. Пример ошибки на этом этапе в человеческом мире – опечатка или оговорка.

Шаг 3) Сигнал идет по каналу. В случае компьютерной коммуникации вероятность ошибки очень мала, потому что эти-то люди очень хорошо знают, что такое ошибки в канале связи и как с ними бороться. Но, скажем, в разговоре проблема остается – посторонние шумы, скажем, могут исказить сказанное слово.

Шаг 4) Приемник снимает с сигнал с канала. Аналогично шагу второму – легко очитаться или ослышаться.

Шаг 5) Приемник преобразует сигнал в семантику.

Как видно, есть целая куча моментов, где может произойти ошибка, искажающая коммуникацию.

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

Скажем, можно долго и подробно рассказывать о том, что нельзя хвататься за спуск оружия пока не стреляешь, но проверить успешную передачу семантики достоверно можно только лишь одним способом – дав в руки оружие и посмотрев – хватаются за спуск или нет.

ИТ-шникам этот прием известен под именем “контрольной суммы” или “хэш-функции”.

Таким образом, успешный цикл передачи информации состоит из:
1) Передаем информацию
2) Передаем контрольное задание
3) Получаем ответ
4) Передаем следующую информацию, только если получен правильный ответ на задание. Если нет – возвращаемся к пункту 1.

ИТ-шникам этот прием известен под именем “протокол с квитированием получения информации” или “сессионный протокол”.

Говорите, напоминает не что иное, как прусскую систему образования? Ну да, а кто сказал, что люди такие дураки и не могли найти эффективные способы делать что-то пока им товарищи учОные не показали. Заодно становится понятно почему прусская система может быть не так хорошая для развития тонких и чувствительных натур™, но зато прекрасно справляется с передачей знаний и практических навыков.

Теперь немного о том, как не просто обнаружить ошибку, а еще и исправить её без того, чтобы передавать весь массив информации заново.

Ответ на это очень простой – передача избыточной информации. Причем эта избыточная информация не должна быть повторением еще раз, это должна быть информация логически проистекающая из основной информации или дополняющая её. Скажем, посыл “Автомобиль управляется рулевым колесом. Рулевое колесо находится в кабине.” – достаточен, но хватит одного сбоя, чтобы информация не дошла. Дополняем логически связанной информацией “Автомобиль управляется рулевым колесом. Рулевое колесо задает направление движение. Рулевое колесо имеет круглую форму, находится в кабине, перед передним сидением”. Теперь даже если часть информации потеряется – получатель информации всё равно догадается, зачем нужно рулевое колесо и где его искать. Или проще – “я пошел в тулает” – чистое сообщение, а “я пошел в туалет посрать” – введение избыточной информации, теперь уже в случае даже полной потери одного сигнала – семантика будет донесена.

ИТ-шникам этот прием известен под именем “код Хэмминга”.

Теперь добавим к этому контрольную сумму (“что вы будете использовать, чтобы задать направление”, “что вы видите прямо перед собой сидя на переднем левом сидении”) и квитирование – и вуаля, успешная коммуникация проведена.

Понятно, в чаще всего наш собеседник не менее, а то и более нас заинтересован в получении информации, и учитывать всё вышесказанное крайне утомительно, но бывают случаи, когда донести информацию – это то, что надо именно нам. Тогда разумнее всего списывать все случаи неуспешного общения на глупость и лень наших собеседников, а все-таки взять ответственность за успешную коммуникацию в свои руки.

p.s. А, да и пара слов о теореме Шенона для канала с шумами. :-) - всё что мы описывали выше - это о сферических источнике, канале и передатчике в вакууме. Есть еще один момент, который тоже не надо забывать - физические ограничения. Если мы будет гнать поток сингалов в канал быстрее чем канал может пропустить или приемник - принять и распознать - от хера мы чего передадим. Короче, кроме всего прочего, "не тара писька" из старого анекдота.