psilogic: (Default)
[personal profile] psilogic
В очередной раз был удивлен количеством суеверий на эту тему. Решил написать небольшое разъяснение в пику безграмотным журналюгам.


Не надо путать двоичную систему счисления и двузначную логику.

________

Большинство компов используют двоичную систему счисления. Это значит, что числа в них кодируются последовательностью цифр, каждая из которых может иметь два варианта. Например, 0 вольт и +5 вольт. Условно каждый вариант обозначают 0 или 1.

Всякое целое число можно записать в любой системе счисления. Вот например, в десятичной системе число 13. В двоичной будет 1101.

С технической точки зрения считать в двоичной системе проще. Например, таблица умножения будет не 10 на 10, а 2 на 2. С другой стороны, для записи числа в двоичной стсиеме потребуется больще цифр. На примере выше это видно: 1101 и 13.

Если приблизительно прикинуть орган к носу, то идеальный вариант лежит где-то между 2-ичной и 3-ичной системами счисления.

______

А что такое двузначная логика? Двузначная логика, это когда рассматривается два варианта истинности: true и false - "истина" и "ложь". Обратите внимание: речь идет не о кодировании чисел, а о кодировании истинности.

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

Есть и другие виды логики. Они сложнее в обращении, но не так чтобы уж совсем... Тем не менее, лучше использовать именно двузначную логику, когда есть такая возможность - просто, чтобы не усложнять себе жизнь.

Не рекомендуется идти на поводу у тех, кто говорит что-нибудь типа: "Это такой сложный вопрос, как можно его обсуждать в двоичной логике!?"

Именно сложный вопрос лучше обсуждать в максимально простой логике. Раз вопрос сложный, значит не надо дополнительно его усложнять, применяя усложненный вид логики. Если двузначной логики действительно не хватает - другое дело. Но обычно это просто отмазка тех, кто боится любой логики вообще и надеется на то, что собеседник не знает никакой логики, кроме двузначной - и в результате обсуждение будет вестись вовсе без логики.

Технически операции двузначной логики проще всего запрограммировать на компьютере с двумя состояниями ячеек памяти. В этом случае те же 0 и +5 вольт будут условно соответствовать "лжи" и "истине". Но надо понимать, что операции с числами и логические операции - это две принципиально различные вычислительные задачи, имеющие разные цели.

Как вы наверное уже поняли, говорить "двоичная логика" безграмотно. Правильно говорить "двузначная логика", либо "двоичная система счисления". "Двоичная логика" - это компьютерный слэнг, означающий, что многие элементы электроники могут находиться ровно в двух состояниях (0 и +5 вольт илинаподобие). К логике словесных рассуждений этот термин имеет весьма отдаленное отношение.

______

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

Дурь журналистов состоит, во-вторых, в том, что на обычном компьютере с двузначной логикой легко реализуется любая логическая система. Например, нечеткая логика или теория вероятностей.

Почему-то думают, что применение недвузначной логики в компьютерах - это дело будущего, и это обеспечит могучий прорыв там или сям. Возможно, вы будете смеяться, когда узнаете правду. Вы давно играли в какую-нибудь компьютерную игрушку (или видели как кто-то играет)? В стрелялку типа Quake или Doom, в стратегию типа Heroes и т.п.?

Так вот, в компьютерных играх используют одновременно несколько видов логики. Двузначную, нечеткую, бесконечнозначную логику, основанную на теории вероятностей (ее еще называют иногда "квантовой логикой").

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

Пример: по лабиринту бежит монстр. Ему надо в вас стрелять. Чтобы игра была интересной, в поведение монстра вносится элемент случайности. Он медлит, промазывает, бежит то вправо, то влево. Тут то и используется недвузначная логика: не попасть/промазать, а попасть с некоторой вероятностью, бежать не однозначно влево/вправо, а с некоторой вероятностью влево, а иначе - вправо. В результате поведение монстров становится не таким примитивным и предсказуемым, как если бы они бегали по одному заранее заданному маршруту и всегда стреляли точно вам в сердце.

Напоследок, приведу краткий обзор терминов:

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

Date: 2005-11-23 08:51 pm (UTC)
From: [identity profile] psilogic.livejournal.com
ну смотри

пусть мы кодируем величину сигнала аналогово
чтобы передать аналогово число от 0 до 255 нам нужен приемник, который распознает 256 градаций амплитуды
величина помехи которая сожет все испортить равна 1/256 от максимальной амплитуды

пусть теперь мы кодируем величину сигнала дискретно в 4-ричной системе
чтобы передать аналогово число от 0 до 255 нам нужен приемник, который распознает 4 градации амплитуды (а сигнал разбит на 4 последовательных фрагмента)
величина помехи которая сожет все испортить равна 1/4 от максимальной амплитуды

понятна идея?

Date: 2005-11-24 01:17 am (UTC)
From: [identity profile] firtree.livejournal.com
Пардон, это тебе непонятна идея. Ошибка в словах "чтобы передать аналогово число". _Число_ аналогово не передают. Можно передать аналогово _величину_, которая будет в каком-то диапазоне. И вести разговор, как эту величину в канал связи преобразовали, как на другом конце измерили, и какие помехи в неё канал связи внёс.

А то, что ты написал - это просто два цифровых канала. 256- и 4-значный.

Date: 2005-11-24 02:07 am (UTC)
From: [identity profile] psilogic.livejournal.com
А теперь представь себе, что надо передать через аналоговый канал число. И подумай :)

Date: 2005-11-24 02:37 am (UTC)
From: [identity profile] firtree.livejournal.com
Когда через него передают число, он называется числовой канал.

Date: 2005-11-24 02:45 am (UTC)
From: [identity profile] firtree.livejournal.com
Тьфу, цифровой.

Короче, есть такая вещь, как аналоговые величины, и с ними работают через АЦП/ЦАП. А есть такая вещь, как цифра, которая запихнута в нетривиальной кодировке (не 0/+5 В), и с ней работают через модемы. Задачи перед устройствами стоят немножко разные. Демодулятору плевать на помехи, если он исходное число может узнать. А АЦПу не всё равно - ему по шее настучат. И ТТХ у них разные вещи содержат.

Короче, сам подумай. Вообще, от подумая слышу!

Date: 2005-11-24 09:21 am (UTC)
From: [identity profile] psilogic.livejournal.com
=)
Ага, ты еще попробуй развести понятия величина и число ;) Устреми в том примере 255 к бесконечности... в пределе получишь идеальную аналогувую величину. А теперь попробуй вернуться к реальности и уловить, что четкая граница между аналоговым и цифровым кодированием будет только в умах теоретиков ;)

Date: 2005-11-24 07:21 pm (UTC)
From: [identity profile] firtree.livejournal.com
> Ага, ты еще попробуй развести понятия величина и число
А чего их разводить, чай не кислота. Величину меряют, число циферками передают.

> Устреми в том примере 255 к бесконечности...
И обломишься, потому что придётся измерять напряжение с бесконечной точностью. В этом, кстати, отличие величины от числа: величину меряют с погрешностью, а в числе важна каждая циферка принципиально.

> четкая граница между аналоговым и цифровым кодированием будет только в умах теоретиков ;)
Практиков, Муся, практиков. Я же сказал: когда дело доходит до реализации конкретных устройств, перепутать даже с закрытыми глазами не получится. А ты как раз со своими пределами несколько затеоретизировался.

Date: 2005-11-24 07:26 pm (UTC)
From: [identity profile] psilogic.livejournal.com
[ Величину меряют, число циферками передают. ]

Результат измерения есть шо? :)

[ И обломишься, потому что придётся измерять напряжение с бесконечной точностью. ]

Во. За шо я тебя люблю нежно по-бГатски, так это за понятливость :)

[ В этом, кстати, отличие величины от числа: величину меряют с погрешностью, а в числе важна каждая циферка принципиально. ]

Да ниужели?? Приципиально, да? Яркость красного в дискретном видеосигнале будет не 253, ф 252 и хана фильму, правда? :)

Date: 2005-11-24 07:29 pm (UTC)
From: [identity profile] firtree.livejournal.com
> Результат измерения есть шо? :)

Доверительный интервал.

> Во. За шо я тебя люблю нежно по-бГатски, так это за понятливость :)

Я тебя тоже. Щас полюблю. Величину-то можно не с бесконечной точностью мерять, ку?

> Да ниужели?? Приципиально, да? Яркость красного в дискретном видеосигнале будет не 253, ф 252 и хана фильму, правда? :)

Вот поэтому, кстати, яркость и аналоговая величина. А теперь представь себе ошибочку в знаковом бите. Или ещё проще - в каком-нибудь бите команды в экзешнике. Другие результаты, не правда ли?

Date: 2005-11-24 07:35 pm (UTC)
From: [identity profile] psilogic.livejournal.com
[ Доверительный интервал. ]

Слова какие страшные, я таких слов если и знал кода, то забыл :o)

[ Величину-то можно не с бесконечной точностью мерять, ку? ]

Да. И шо?

[ Вот поэтому, кстати, яркость и аналоговая величина. ]

Когда как! Пример, что не всегда важно...

Date: 2005-11-24 07:51 pm (UTC)
From: [identity profile] firtree.livejournal.com
> Слова какие страшные, я таких слов если и знал кода, то забыл :o)

На что и расчёт был.

> [ Величину-то можно не с бесконечной точностью мерять, ку? ] Да. И шо?

А то, что если ты цифровой канал на 256 уровней будешь слушать с погрешностью +-5, ни черта хорошего не получится.

Ладно, всё, прекращаем курить в присутствии Профа :-)

Date: 2005-11-24 07:52 pm (UTC)
From: [identity profile] psilogic.livejournal.com
ну как знаешь :)
все равно насколько я понял спор чисто терминологический - по фактам разногласий не вижу :)

Date: 2005-11-24 07:54 pm (UTC)
From: [identity profile] firtree.livejournal.com
Резюмируя:

Тебе сказали, что помехоустойчивость - плюс двоичного кодирования. Ты сказал, что помехоустойчивать - плюс вообще любой цифры. Контрпример: цифровой канал на 256 уровней, передающий по байту за такт, ни черта не помехоустойчив. Закрыли тему?

Date: 2005-11-24 08:16 pm (UTC)
From: [identity profile] psilogic.livejournal.com
Не совсем так
Помехоустойчивость для дискретного кодирования тем лучше, чем меньше основание системы счисления. При увеличении основания п.у. снижается. Однако кроме того при увеличении основания мы приближаемся по всем свойствам к аналоговому кодированию, в том числе и по помехоустойчивости.

Вот теперь можно закрыть тему :)

Date: 2005-11-24 08:47 pm (UTC)
From: [identity profile] firtree.livejournal.com
Для аналога и цифры слово "помехоустойчивость" разное означает.

Date: 2005-11-24 08:56 pm (UTC)
From: [identity profile] psilogic.livejournal.com
формально-математически - да. либо целое, либо действительное
но программистски-практически - нет.
берется задача переслать по каналу одно число... аналогово либо дискретно. тут то и вылезает очень похожие помеХуеСтоячести

Date: 2005-11-24 07:30 pm (UTC)
From: [identity profile] ex-l331.livejournal.com
четкая граница между аналоговым и цифровым кодированием будет только в умах теоретиков ;)
****
не надо лепить горбатого. :-)
Аналоговая и цифровая техника принципиально различны. Не веришь - попробуй проиграть CD на патефоне. :-)))))

Date: 2005-11-24 07:31 pm (UTC)
From: [identity profile] firtree.livejournal.com
Злой ты... Патефон жалко... И cd - на нём был дистрибутив линукса...

Date: 2005-11-24 07:36 pm (UTC)
From: [identity profile] ex-l331.livejournal.com
патефону ни хрена не будет.
я пробовал на нем винил 70-х проигрывать.
Звучит хорошо, но снимает стружку. В натуре снимает, не вру.
:-)))
Page generated Aug. 10th, 2025 11:17 pm
Powered by Dreamwidth Studios