О сказках про троичную логику
Nov. 23rd, 2005 06:18 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
В очередной раз был удивлен количеством суеверий на эту тему. Решил написать небольшое разъяснение в пику безграмотным журналюгам.
Не надо путать двоичную систему счисления и двузначную логику.
________
Большинство компов используют двоичную систему счисления. Это значит, что числа в них кодируются последовательностью цифр, каждая из которых может иметь два варианта. Например, 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.
Двузначная логика - методика рассуждений, в которой возможны только две степени уверенности: истина и ложь.
Двоичная логика - устройство электроники компьютера, при котором элементы схем имеют два рабочих напряжения.
Не надо путать двоичную систему счисления и двузначную логику.
________
Большинство компов используют двоичную систему счисления. Это значит, что числа в них кодируются последовательностью цифр, каждая из которых может иметь два варианта. Например, 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.
Двузначная логика - методика рассуждений, в которой возможны только две степени уверенности: истина и ложь.
Двоичная логика - устройство электроники компьютера, при котором элементы схем имеют два рабочих напряжения.
no subject
Date: 2005-11-24 07:29 pm (UTC)Доверительный интервал.
> Во. За шо я тебя люблю нежно по-бГатски, так это за понятливость :)
Я тебя тоже. Щас полюблю. Величину-то можно не с бесконечной точностью мерять, ку?
> Да ниужели?? Приципиально, да? Яркость красного в дискретном видеосигнале будет не 253, ф 252 и хана фильму, правда? :)
Вот поэтому, кстати, яркость и аналоговая величина. А теперь представь себе ошибочку в знаковом бите. Или ещё проще - в каком-нибудь бите команды в экзешнике. Другие результаты, не правда ли?
no subject
Date: 2005-11-24 07:35 pm (UTC)Слова какие страшные, я таких слов если и знал кода, то забыл :o)
[ Величину-то можно не с бесконечной точностью мерять, ку? ]
Да. И шо?
[ Вот поэтому, кстати, яркость и аналоговая величина. ]
Когда как! Пример, что не всегда важно...
no subject
Date: 2005-11-24 07:51 pm (UTC)На что и расчёт был.
> [ Величину-то можно не с бесконечной точностью мерять, ку? ] Да. И шо?
А то, что если ты цифровой канал на 256 уровней будешь слушать с погрешностью +-5, ни черта хорошего не получится.
Ладно, всё, прекращаем курить в присутствии Профа :-)
no subject
Date: 2005-11-24 07:52 pm (UTC)все равно насколько я понял спор чисто терминологический - по фактам разногласий не вижу :)
no subject
Date: 2005-11-24 07:54 pm (UTC)Тебе сказали, что помехоустойчивость - плюс двоичного кодирования. Ты сказал, что помехоустойчивать - плюс вообще любой цифры. Контрпример: цифровой канал на 256 уровней, передающий по байту за такт, ни черта не помехоустойчив. Закрыли тему?
no subject
Date: 2005-11-24 08:16 pm (UTC)Помехоустойчивость для дискретного кодирования тем лучше, чем меньше основание системы счисления. При увеличении основания п.у. снижается. Однако кроме того при увеличении основания мы приближаемся по всем свойствам к аналоговому кодированию, в том числе и по помехоустойчивости.
Вот теперь можно закрыть тему :)
no subject
Date: 2005-11-24 08:47 pm (UTC)no subject
Date: 2005-11-24 08:56 pm (UTC)но программистски-практически - нет.
берется задача переслать по каналу одно число... аналогово либо дискретно. тут то и вылезает очень похожие помеХуеСтоячести