Мир Вам! Если это Ваш первый визит к нам, то Вы можете посмотреть как пользоваться форумом в справке. Для публикации статей и для общения необходимо зарегистрироваться. Для чтения регистрация необязательна. Благословений!
Бритва Оккамы или как вешают лапшу на уши на форуме.
Зачем создавать машину на троичной логике, если можно сделать то же самое на двоичной. Окромя того, вы знакомы с машинной электроникой? Транзисторами например. Покажите мне замену транзистору в троичной логике.
Сообщение от EDX
Еще один знаток...
А вы разве не знали? Да тут ВСЕ знатоки, и вы в их числе.
Учитесь:
Да, аналоговое. Я просто имел ввиду, что вы используете все тот же транзистор для реализации троичной логики.
Вот это как раз наглядный пример. На Аналоговом устройстве т.е. у которого база счисления бесконечна, можно реализовать устройства любой конечной системы счисления.
А наоборот - не получается. Для примера, попробыуте на двоичной логике серии 155/555, реализовать устройство с основой счисления, например 10 000. Мне просто интересно - сколько вам понадобиться микросхем, и хватит ли у вас на них зарплаты.
Переход между двоичной-троичной логикой, достаточно прост. Но вот горец говорил вообще-то о любом основании системы...
.
"Давайте учиться иметь свое мнение, давайте не будем повторять чужое."
Виктор Суворов
Так Вы договоритесь до того, что и операция сложения не нужна, нужна только операция обращения в память. Ведь операцию сложения можно сохранить в виде таблички в памяти.
Нет, что вы, операция сложения нужна, куда же без нее компьютеру!
Не над любыми. Только над рациональными (причем не со всеми). С иррациональными он не работает, используя их рациональные приближения. Например, с числом SQRT(2) не умеет выполнять операции.
Проверьте на Вашем компьютере, сколько будет SQRT(2)*SQRT(2) - 2? А в математике 0.
Вам известно такое понятие как точность вычислений?
Равнство нулю будет только теоретически, на практике результат будет зависеть от точности проведенных вычислений!
Kluge
Видите ли в чем дело, булева алгебра она не описывает логических устройств и не занимается демонстрацией чего-либо, нет у нее таких задач. Булева алгебра - алгебраическая система, т.е. некий математический формализм, математическая идея в чистом виде.
Т.е для описания логических устройств по-вашему булева алгебра не применяется?
Ну что за логическое устройство? Зачем вы на ходу придумываете термины, взамен устоявшихся.
Принцип бритвы Оккамма здесь не причем, он о другом совсем, о чем Вам опять же, если не ошибаюсь, намекал EDX.
Принцип о том, что не следует преумножать сущностей сверх необходимого, что вы, приведя свои схемы и сделали, т.е. нарушили принцип нагромоздив сверхнеобходимых действий! Да еще и схитрили малость!
Такую предлагали, если не ошибаюсь, но вот незадача, выходы забыли в один обьединить, поэтому раз уж пишите, то пишите так как положено, а именно:
!(!0 & !0) + !(!1 & !0) + !(!0 & !1) + !(!1 & !1)
То бишь по сути говоря, ничего и не промоделировали толком!
Принцип бритвы Оккамма здесь не причем, он о другом совсем, о чем Вам опять же, если не ошибаюсь, намекал EDX.
Напоминаю вам, что речь в теме прежде всего идет о бритве Оккама, поэтому вопрос был не только в том можно-ли сделать или нет, а еще, причем в первую очередь, в том, а нужно-ли? Т.е. не просто смоделировать работу третьего элемента на основе оставшийся двух, а чтобы это еще и было необходимостью, вот случае с "исключающем ИЛИ" таковая необходимость есть (поэтому и просил не упоминать его)! в представленных вами моделях необходимости нет, кроме как для тренировки мозгов!
Нет, всего лишь наложенные в данном конкретном случае ограничения. И-НЕ не цепочка, это логический элемент, реализующий определенную булеву функцию со своей таблицей истинности.
И-НЕ это последовательность сначала И, затем НЕ на его выходе, т.е. цепочка из двух элементов!
Нет, всего лишь наложенные в данном конкретном случае ограничения.
Скорее как я говорил выше, способ сделать универсальный элемент для создания недостающих в случае их отсутствия под рукой! В этом только и есть определенная необходимость, для других целех это малоприменимо!
Идея сконструировать регистр, на основе элементов "И, ИЛИ, НЕ", а не уже готовых триггеров может прийти в голову конструкторам только в пьяном бреду. Идея объяснить студенту что такое регистр, и как он работает, используя "И, ИЛИ, НЕ", а не уже готовые и изученные ранее триггеры, может прийти в голову преподавателю только в пьяном бреду.
Разумеется, ведь регистр и триггеры, из которых он образуется, это элемент памяти а не логическая схема, хотя триггер и можно при большом желании создать на логических элементах!
Вас за язык никто не тянул, вы сами это сказали. Принцип бритвы Оккамма здесь не причем, он о другом совсем, о чем Вам опять же намекал EDX. Вы тут опять что-то свое придумали, а формализовать не потрудились. Ну назовем это "принципом Тессеракта" и попробуем формализовать.
Принцип Тессеракта - не умножай и не исключай сущности без необходимости, при этом необходимость определяется Тессерактом из соображений удобства.
Ну что вы, на автораство нового научного принципа я не претендую, тем более что Оккама вполне достаточно! Однако вас это удивит, но что необходимо, то обычно и удобно и целесообразно одновременно, неудобно оно для тех, кто верит в то, что отекли!
Принцип Оккама универсален, он одинаково применим как в теории так и на практике, вот как в нашем случае например, если вы строите логическую схему ваша задача минимизировать количество элементов в ней, отрезав бритвой все неоптимальные а значит неудобные и сверхнеобходимые решения!
Поймите, не о каком удобстве речи быть не может, при применении бритвы Оккама в научных теориях, к примеру отсечении гипотезы о существовании Б-га, возникают теории столь неудобные для восприятия на обычном бытовом уровне, что у некоторых участников этого раздела форума просто крышу сносит (примеры Вы можете увидеть в ветках повещенных теории эволюции, ТВБ и т.д).
В частности это!
Для науки отсечение веры в существование Бога (которая кстати никакой гипотезой быть не может) необходимо, иначе просто не будет никакой науки!
В практической деятельности, при применении результатов и выводов из каких-либо теорий, нет нужды использовать бритву, основными принципами здесь будут соображения удобства и целесообразности, либо наложенные на нас в конкретных случаях ограничения. Бритва уже хорошо поработала на этапе построения теорий.
И отсечения нецелесообразных решений, вот как в нашем случае например, если вы строите логическую схему ваша задача минимизировать количество элементов в ней, отрезав бритвой все неоптимальные а значит неудобные и сверхнеобходимые решения!
Равнство нулю будет только теоретически, на практике результат будет зависеть от точности проведенных вычислений!
Ну не смешите мои носки. Если возвести в квадрат число, которое в квадрате дает два (по определению SQRT(2)), а затем вычесть двойку, то ноль тут только теоретический?
Знаете есть такой анекдот: в военное время значение синуса может достигать трех. И даже четырех!
Сообщение от Tessaract
Вам известно такое понятие как точность вычислений?
В поле рациональных чисел такого понятия нет. Там есть множество и две операции. Одну из которых Вы желаете отсечь. Но тут же добавляете понятие точности вычислений.
Вы бы отложили Бритву. Ибо не понимаете, как ее можно применять. Как бы лишний глаз и почку не отрезали за ненадобностью.
Ну, если вы такой умный, попробуйте взять любые два элемента (на ваш выбор) и смоделировать на их остнове работу третьего!
В этой теме уже взяли и смоделировали. И даже предоставили Вам базис из одного элемента. Почему Вы до сих пор не признали, что сморозили глупость?
Сообщение от Tessaract
Двоичным кодом вы можете записать любое действительное число, какое захотите, разница исключительно в способе записи чисел, у вас десятичная, у компа двоичная, только и всего!
Я показал Вам, что не любое. А только рациональное. Причем даже не любое рациональное. Если бы мог, то не было бы такого понятия, как точность вычисления. Почему Вы до сих пор не признали, что сморозили глупость?
Да, и это. Поймите, наконец, что компьютер моделирует алгебраические структуры. С большим или меньшим успехом (точностью). Но не наоборот. Ну не использует он при этом умножение (как Вы считаете) - честь тогда ему и хвала.
П.С. Я в отпуск на три недели. Извините, не смогу в случае чего ответить.
Да, это так. Но эти значения от этого двоичными быть не перестают. Они по-прежнему записаны в двоичных переменных,...
Нет. В том то и дело, что значения НЕ двоичные.
Вот потому, что они не двоичные для их записи на двоичной машине требуется несколько переменых под каждое значение. Были бы они двоичные - прекрасно умещались в один двоичный разряд.
...всего и разницы, что этих переменных не одна, а две, три, и т.д.
Разница в том, что я вообще могу эту программу не исполнять ни на какой машине. Просто написать статью о том, как удобно что-нибудь там делать, если помимо true/false ввести еще третье значение unknown. Напечатать эти статью на бумаге и давать читать кому-то. Или рассказывать об этом в какой-нибудь лекции, выписывая эти значения мелом на доске.
При этом значений будет три, и любая переменная в рассуждениях может принимать все три значения. Так что значения никак не двоичные, а "третичные".
А если вдруг подвернется компьютер с троичной системой счисления, то на нем эти переменные будут представляться одним разрядом.
И только на двоичном компьютере троичные переменны придется эмулировать как минимум двумя двоичными разрядами. Так вот, еще раз подчеркну - значения в этой логике троичные (в моем предыдущем преимере - четверичные). А на компьютере конкретной архитектуры их проходся изображать с помощью целой пачки мелких переменных. Но они от этого троичными быть не престают.
Вам никогда не приходилось пользоваться бумажными справочниками? Таблицами синусов/косинусов или каким-нибудь физическим справочником.
Так вот там все числа десятичные (с определенным количеством знаков после запятой). И если кто-то отсканирует этот справочник и перегонит в копьютер (просто как текст), то числа не превратятся в двоичные лишь потому, что для каждой цифры отводится пачка двоичных разрядов.
Именно вот об этом я и говорю.
Так вы путаете, как я уже сказал, то, что построено и то, из чего оно построено.
Люди тут говорят что-то типа - в нашем большом кирпичноим доме есть двух-, трех- и четырехкомнатные квартиры.
А вы врываетесь с криками - никаких "двух", "трех", "четырех". Все квартиры построены из одинаковых кирпичей, одного типа. Значит они все одно-кирпичные. А тех, кто тут говорил слова "два", "три" и больше, я сейчас буду сечь, как идиотов, ничего не смыслящих в кирпичах.
Ну так успокойтесь уже. Про то, что кирпич один, все и без вас знают. Просто разговор совсем не об этом.
Будут в твоей жизни и взлёты, и падения, и удачи, и разочарования. Но помни, сынок, самое главное - как бы ни сложилась твоя судьба, в какие бы обстоятельства ты ни попал, при любом раскладе надо оставаться человеком! Хитрой, коварной, беспощадной тварью! (c) bormor
Чему? В статье дана только история и голословная оценка:
"Троичные компьютеры, при одинаковом количестве базовых элементов, могут хранить больше информации и иметь более высокую производительность процессора."
Да, я рад, что в СССР был троичный компутер...Круто. Меня не удивляет, что это возможно. Вопрос был однако - зачем? Мне просто интересно, почему индустриалы, славящиеся своей жаждой к наживе и обгону конкуррентов, не пользуют этот концепт. Вы вот, судя по тону, считаете себя знатоком в электронике. Тогда вам известно, что для реализации АЛУ необходимы определенные устройства, напрмер сумматор. Так вот, вопрос в том, насколько эффективно может быть реализован сумматор в троичной системе по сравнению с двоичной и насколько его работа эффективней двоичного аналога. Ведь так или иначе вам придется пользовать транзисторы...Думаю для реализации троичного устройства требуется больше транзисторов чем для реализации аналогичного двоичного. Мне было бы интересно, если бы вы сумели аргументированно показать преимущества троичного компутера пред двоичным. То есть анализ должен быть полным.
EDX
А я вам еще раз повторю - компутер легко выполняет умножение любых чисел через последовательность сложений!
Я знаю, только делает он это далеко не с любыми числами...
Сообщение от Tessaract
А что, как убирать запятые вы не знаете и затем помножив 13*14 вернуть обратно? Я знаю что вы сейчас скажите, что убирая запятые идет умножение числа на 10, но если удаление запятых представить не в виде арифметической, а в виде логической операции переноса запятой (что компутер и делает), тогда все ваши примеры легко реализуются через сложение!
Ну вот, а говорите, что только через сложение. Вам нужно или умножение на 10 в соответствующей степени как опреация или шифт. Кроме того число 1/3 сдвинуть до целого представления у вас не выйдет. Да вы его в компьютере и представить то не сможете. Разве что с какой то конечной точностью(а это уже будет не оно). Отсюда вывод - компутер не умеет работать с действительными числами(Он знаком только с "дырявым" IR). Это кстати оч. большая проблема в численной математике...
Сообщение от Tessaract
Откуда в арифметике множества из матана?
А что числа собою множества не образуют? Мы в школе еще в самом начале числа как множества учили. Вот это множество действительных, а вот это - натуральных. Их много и все они числа, потому мы и говорим - множество. Че тут такого сложного?
Сообщение от Tessaract
Возьмите минус гугол в качестве исходного бесконечно малого, или еще чего, тут ведь как, если вы оперируйте числами в диапазоне [-10, 10], -10000 смело можно считать бесконечно малым числом!
Ну вообще то безконечно малое число - это нечто в окрестностях нуля...
Зачем брать минус гугл, если можно начать с нуля. Однако что вы будете добавлять к гуглу или нулю? 1? А оно существует? А кто вам это сказал? И что же вы получите? Неужто действительные числа?
Сообщение от Tessaract
См. выше, убирайте запятые и вперед!
см. выше - убрать запятую - операция помимо сложения.
Сообщение от Tessaract
С чего это вдруг? Двоичным кодом вы можете записать любое действительное число, какое захотите, разница исключительно в способе записи чисел, у вас десятичная, у компа двоичная, только и всего!
покажите мне представление числа 1/3 в двоичной системе. По совместительству можете ПИ представить в двоичной системе...
Проверьте на Вашем компьютере, сколько будет SQRT(2)*SQRT(2) - 2? А в математике 0.
Проверяем:
1,4142135623730950488016887242097 Х 1,4142135623730950488016887242097 = сколько б Вы думали? Не поверите, но таки 2.
Хороший у меня компьютер... Правильно делает, что рекламу не смотрит.
Проверяем:
1,4142135623730950488016887242097 Х 1,4142135623730950488016887242097 = сколько б Вы думали? Не поверите, но таки 2.
Хороший у меня компьютер... Правильно делает, что рекламу не смотрит.
Плохой у Вас компьютер. ))))
Точнее, плохой калькулятор, а не компьютер... неправильно считает. Excel тоже неправильно считает.
Ну не смешите мои носки. Если возвести в квадрат число, которое в квадрате дает два (по определению SQRT(2)), а затем вычесть двойку, то ноль тут только теоретический?
Верно, теоретический, а на практике это будет зависеть от точности вычислений!
Вот смотрите, забиваем ваше выражение в Визуал Бейсик, бейсик выдел такой результат: 4.440892E-16
А теперь, допустим что вы ведете расчеты с точностью до четвертого знака после запятой, чему тогда будет равен результат? Строго нулю! А вот если точность у вас до двадцатого знака, тогда ничего подобного!
В поле рациональных чисел такого понятия нет. Там есть множество и две операции. Одну из которых Вы желаете отсечь. Но тут же добавляете понятие точности вычислений.
Такое понятие есть на практике, а теория это основа любой практики!
В этой теме уже взяли и смоделировали. И даже предоставили Вам базис из одного элемента. Почему Вы до сих пор не признали, что сморозили глупость?
Такую предлагали, если не ошибаюсь, но вот незадача, выходы забыли в один обьединить, поэтому раз уж пишите, то пишите так как положено, а именно:
!(!0 & !0) + !(!1 & !0) + !(!0 & !1) + !(!1 & !1)
То бишь по сути говоря, ничего и не промоделировали толком!
Это во-первых, а во-вторых так и не показали необходимость модели!
Я показал Вам, что не любое. А только рациональное. Причем даже не любое рациональное. Если бы мог, то не было бы такого понятия, как точность вычисления. Почему Вы до сих пор не признали, что сморозили глупость?
Ничего вы не показали, число не зависит от системы счисления, вы можете записывать числа хоть в десятичной системе, хоть в двоичной, хоть в какой угодно еще!
Да, и это. Поймите, наконец, что компьютер моделирует алгебраические структуры. С большим или меньшим успехом (точностью). Но не наоборот. Ну не использует он при этом умножение (как Вы считаете) - честь тогда ему и хвала.
Любая практическая реализация вычислений это модель с определенной степенью точности, хоть на компьютере выполняйте расчеты, хоть на механическом арифмометре! Но это не отменяет того, что через сложение можно записать любую арифметическую операцию!
EDX
Я знаю, только делает он это далеко не с любыми числами...
С какими, например, он это не делает?
Ну вот, а говорите, что только через сложение. Вам нужно или умножение на 10 в соответствующей степени как опеация или шифт. Кроме того число 1/3 сдвинуть до целого представления у вас не выйдет. Да вы его в компьютере и представить то не сможете.
А вы введите такое правило: прибавлять показатель точности до тех пор, пока число не станет целым! Т.е. у 1.3, показатель 0.1, вот и прибавляйте, пока не получите целого числа! Разумеется в этом правиле нет никакого смысла, но это как пример того, что через сложение так перенос вполне реализуем! Записать 1/3 легко, возьмите калькулятор, поделите и увидите! В десятичной это будет 0.3(3), ну так ведь вам никто и не мешает ввести в двоичной системе доп. разряды для записи (3)!
Разве что с какой то конечной точностью(а это уже будет не оно). Отсюда вывод - компутер не умеет работать с действительными числами(Он знаком только с "дырявым" IR). Это кстати оч. большая проблема в численной математике...
И на бумаге обычными цифрами вы его записать не сможете! Отсюда вывод - математика не умеет работать с действительными числами
А что числа собою множества не образуют? Мы в школе еще в самом начале числа как множества учили. Вот это множество действительных, а вот это - натуральных. Их много и все они числа, потому мы и говорим - множество. Че тут такого сложного?
Образуют, но просто как некий набор каких-то чисел, в отличие от того, что называется множеством в матане, это вещи несколько разные!
Ну вообще то безконечно малое число - это нечто в окрестностях нуля...
Зачем брать минус гугл, если можно начать с нуля. Однако что вы будете добавлять к гуглу или нулю? 1? А оно существует? А кто вам это сказал?
Существует аксиоматически, как некий набор чисел, а что он из себя представляет, определяем через сложение!
см. выше - убрать запятую - операция помимо сложения.
Это логическая операция!
покажите мне представление числа 1/3 в двоичной системе. По совместительству можете ПИ представить в двоичной системе...
0001 / 0011
либо
0000, 0011 0011 0011 0011 0011 0011 0011 ... итд.
либо
0 1111111001010000001010101 1 1000 - это с плавающей запятой
здесь 0 - знак мантиссы - плюс
1111111001010000001010101 - мантисса
1 - знак порядка - минус
1000 - порядок (показатель степени)
А про ПИ вы не подумав сказали, ведь если подходить с позиции вашей логики, вы его сами обычными цифрами записать не сможете!
Последний раз редактировалось Tessaract; 20 May 2010, 08:37 PM.
Такую предлагали, если не ошибаюсь, но вот незадача, выходы забыли в один обьединить, поэтому раз уж пишите, то пишите так как положено, а именно:
!(!0 & !0) + !(!1 & !0) + !(!0 & !1) + !(!1 & !1)
То бишь по сути говоря, ничего и не промоделировали толком!
Вы, тут чего написали? Как положено? Какие входы? Зачем их объединять. Что это за гадость: "!(!0 & !0) + !(!1 & !0) + !(!0 & !1) + !(!1 & !1)"? Очередная порция отборного бреда в Вашу копилку.
Сообщение от Tessaract
Ну, если вы такой умный, попробуйте взять любые два элемента (на ваш выбор) и смоделировать на их остнове работу третьего!
Теперь понятно, Вы это сказали, очевидно полагая, что этого сделать нельзя, это лишь показывает Ваш уровень. Есть ли в этом смысл или нет это уже совсем другой вопрос.
Уберите все значки, оставьте только 1 и 0, получите таблицу истинности для логической (булевой) функции ИЛИ, но, очевидно, объяснение в такой форме для Вас слишком сложно.
Может быть Вам будет более понятно в виде формальной математической записи, которую я тоже приводил ранее. Итак, определение логической функции ИЛИ для двух аргументов через логические функции И и НЕ:
!(!x & !y)
Подставляйте вместо х и у единички и нули, результат будет в точности соответствовать результату логической функции ИЛИ. Опять слишком сложно и непонятно, или быть может Вас не устраивают используемые мной символы? Давайте я Вам картинку нарисую, на которой при помощи логических элементов И и НЕ реализующих логические функции И и НЕ, будет реализовано логическое устройство реализующее функцию ИЛИ. Нужно? Тогда объясните, что Вам сейчас непонятно? Если же не нужно, прежде чем мы продолжим вести дальнейшую дискуссию, признайте, что Вы в очередной раз написали бред.
Чему? В статье дана только история и голословная оценка:
"Троичные компьютеры, при одинаковом количестве базовых элементов, могут хранить больше информации и иметь более высокую производительность процессора."
....
Так вот, вопрос в том, насколько эффективно может быть реализован сумматор в троичной системе по сравнению с двоичной и насколько его работа эффективней двоичного аналога. Ведь так или иначе вам придется пользовать транзисторы...Думаю для реализации троичного устройства требуется больше транзисторов чем для реализации аналогичного двоичного.
Если бы вы нашли более подробную и полную инфу по тому компьютеру, то подобные вопросы не задавали. Оценка не голословная, потому как всё же производились тесты в т.ч. на быстродействие.... и троичный комп всех обогнал.
Почему не пошло в серию? Из-за некоторых трудностей с программным обеспечением - очень мало людей могут писать программы в троичной системе.
Что касается элементной базы, то тут вы в корне не правы, к тому же многоэмиттерные транзисторы ещё никто не отменял, особенно учитывая, что транзистор - устройство АНАЛОГОВОЕ и на нём можно реализовать любую размерность.
.
"Давайте учиться иметь свое мнение, давайте не будем повторять чужое."
Виктор Суворов
Может быть Вам будет более понятно в виде формальной математической записи, которую я тоже приводил ранее. Итак, определение логической функции ИЛИ для двух аргументов через логические функции И и НЕ:
!(!x & !y)
Подставляйте вместо х и у единички и нули, результат будет в точности соответствовать результату логической функции ИЛИ.
Теперь я понял о чем вы говорите, публично признаю свою ошибку и прошу у вас извинения если был излишне с вами груб, вы оказались правы, схема действительно работает! Также прощу прощения у int003! Но вопрос о необходимости такого рода модели по-прежнему остается!
Комментарий