И паки трибблы...

Уравновешенная троичная система счисления - форум переехал с http://ternary.info

Moderator: haqreu

petrenko
Doomed
Posts: 598
Joined: 10 Mar 2012 16:21
Location: РФ

И паки трибблы...

Post by petrenko »

Странно, почему не решаемся назвать три трита "триббл" ?

( Я уже задавал такой вопрос - сколь-нибудь обоснованного мнения об этом так и не удалось выудить из собеседников. )
Last edited by petrenko on 19 Jun 2015 17:34, edited 1 time in total.
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

petrenko wrote:Странно, почему не решаемся назвать три трита "триббл" ?

( Я уже задавал такой вопрос - сколь-нибудь обоснованного мнения об этом так и не удалось выудить из собеседников. )
Мы тут уже давным-давно пришли к умозаключению, что "триббл" это 2 трита (по аналогии с тем как "ниббл" - это половина байта, триббл - это ТРЕТЬ трайта)...
Я тут за главного - если что шлите мыло на me собака shaos точка net
petrenko
Doomed
Posts: 598
Joined: 10 Mar 2012 16:21
Location: РФ

Post by petrenko »

Ну если трайт из шести тритов - то - да.

С чем можно согласиться - так с определением, что триббл есть одна треть от трайта. :idea:

Обсуждение таким образом повертается до прежнего вопроса сколько трит в трайте.

Тут мнения уже разходятся, как Вы знаете.


Теперь касаемо памяти - с какой начать. ( ПМСМ==IMHO ) хорошо бы с трёх-портовой регистровой памяти шириной в девять тритов. Это был бы сразу готовый блок для процессора, способного выполнять трёхадресные команды. В качестве ориентира смотреть на VAX-11 (например).
Типы данных, обрабатываемых процессором - по аналогии, но чуть шире : логические=1трит
, {упакованная цифра}/{признак}=3трита
, {короткое число}=9трит
, слово/{число тройной длины}=27трит
, {тройное слово}=81трит
Odin P. Morgan
Senior
Posts: 151
Joined: 23 Feb 2015 15:37
Location: OMS

Re: Стандартизация троичных элементов в железе

Post by Odin P. Morgan »

Скажу ещё лучше в одном трайте три триббла, в одном триббле три трита. Считаем: в одном трайте 9 трит.
На сём думаю и так ясно :)
Теперь о стандартизации: касательно внутреннего устройства. Предлагаю использовать "дискретно-аналоговое" внутреннее устройство. При этом 0 - это отсутсвие напряжения, "+" - это полярный плюс напряжения, "-" - это полярный минус напряжения. Что это даст? Это даст возможность решать некоторые задачи организации логических элементов, не способами цифровой схемотехники, а аналоговой. Так например аналоговой инвертор напряжения "на кристалле" окажется проще по конструкции, чем троичный цифровой. Никто при этом не запрещает использовать гибридно полностью цифровые блоки вместе с аналоговыми.
petrenko
Doomed
Posts: 598
Joined: 10 Mar 2012 16:21
Location: РФ

Re: Стандартизация троичных элементов в железе

Post by petrenko »

Видите ли , коллега, тут паки возвертаемся к вопросу о базисе изчисления.
Как я уже отмечал, наш базис изчисления желательно совместить с "fuzzy logik" ,так, чтоб в пределе при длине "нечётких" аргументов в один трит был наш "чёткий" троичный базис, а с большими длинами - совместимость со стандартной арифметикой в формате мантисса.порядок
Odin P. Morgan
Senior
Posts: 151
Joined: 23 Feb 2015 15:37
Location: OMS

Re: Стандартизация троичных элементов в железе

Post by Odin P. Morgan »

Коллега, если исходить из того, что само устройство будет "дискретно-аналоговое" то чёткий троичный базис в один трит - будет! (т.к. дискретно), при больших длинах я думаю проблем с арифметикой "мантисса" тоже не возникнет. Базис вычисления мне кажется и так понятен - с основанием в "3", в бинарных соответственно в "2". Сочинять что-то ещё я не вижу смысла. Лучше посчитаем колличество состояний разрядов по комбинатории: 3 трита = 27 состояний, 4 бита = 16 сотояний. Тут думаю всё понятно ;) А вот дальше интересней 8 бит = 64 состояния, а 6 трит (НедоТрайт :) ) = 216 состояний!, но так как система имеет в основании "3" мы должны использовать 9 трит (для описания слова): 9 трит = 729 состояний. Расчёт состояний производится по количеству комбинаций сигнала на шине - грубо говоря: 1. 0000, 2. 0001 и т.д. Таким образом, одним троичным словом, можно описать 88 с небольшим байт. Считаем дальше 2 КилоТрайт = 2187 - это самое интересное: чистой еденицы под названием КилоТрайт - нет, если только не округлять 729 Трайт в большую сторону. С помощью 2 Кт можно описать объём данных равный ~188 Кб. Идём далее: в 1 Кт будет 1458 Мт - объём данных равный ~134 Мб. Однако, если считать 729 Трайт, как 1 Кт, шаг получается ровным: в 1 Кт - 729 т, в 1 Мт - 729 Кт и т.д., при этом эквивалент объёма информации в байтах: 1Кт = ~63 Кб, 1Мт = ~45 Мб. В связи с этим название "МегаТрайт" и "ГигаТрайт" не весьма корректны, поэтому величины хранения данных должны иметь более сопутствующие названия, максимально точно выражающие суть. Таких покамест не имеем. :)
Last edited by Odin P. Morgan on 18 Jun 2015 05:43, edited 1 time in total.
Odin P. Morgan
Senior
Posts: 151
Joined: 23 Feb 2015 15:37
Location: OMS

Re: И опять трибблы...

Post by Odin P. Morgan »

Если ввести еденицу под названием Октотрайт "От" (8 трайт - 72 трита), затем Политрайт "Пт" (14 От - 1008 трит), тогда Килотрайт "Кт" будет 1008 трайт и будет состоять из 3х Пт (9072 трита). Затем КилоОктотрайт (КОт) - 8 Кт, потом КилоПолитрайт (КПт) - 14 КОт, затем Мегатрайт (Мт) - 3 КПт. Короче вот такой вариант, причём я считаю оптимальный. Причина в троичной системе, немного по-другому нужно выделять еденицы данных: ситуация "в лоб" как с битами не канает, из-за системы исчисления, мало того и плотность данных не особо распологает к тысячным шагам. Допустим 1 От - может быть базовым размером кластера файловой системы, т.е. размер кластера (файловой системы ТриФС) равен 1 От. (ну это так чуть юмора). Каждый из 14 От одного Пт имеет своё имя: Андрей, Пётр, Иоанн, И. Зеведеев, Филипп‎, Варфоломей, Нафанаил, Матфей, Фома, И. Алфеев, Леввий, Варнава, Искариот, Павел. (Это тоже шутка, но если кто не знает апостолов по Библии было 14... впрочем в каждой шутке, только доля шутки). Таким образом, что мы имеем: 1 Пт - это треть Кт, 1 Пт занимает 14 кластеров ФС, каждый из которых размером в 1 От., проще говоря "эталонный кластер" ТриФС установить равным в 8 трайт, дабы было удобно рабтать с данными на обычных (двоичных) HDD. (кто хочет может пересчитать и удостовериться в этом)
Odin P. Morgan
Senior
Posts: 151
Joined: 23 Feb 2015 15:37
Location: OMS

Re: И опять трибблы...

Post by Odin P. Morgan »

Система троичного исчисления данных:
01. Трит (тр) - три состояния: "+","0","-"
02. [ Триббл (трб) - три трита. ]
03. [ Дитриббл (дтб) - два триббла. ]
04. Трайт (Т) - три триббла. (9 трит)
05. [ Октотрайт (От) - 8 трайт. (72 трита) ]
06. [ Политрайт (Пт) - 14 Октотрайт. (112 трайт, 1008 трит) ]
07. Килотрайт (Кт) - 3 Политрайта. (336 Октотрайт, 1008 трайт, 9072 трита)
08. [ КилоОктотрайт (КОт) - 8 Кт (24 Пт, 2688 От, 8064 Т, 72576 тр) ]
09. [ КилоПолитрайт (КПт) - 14 КОт (112 Кт, 336 Пт, 37632 От, 112896 Т, 1016064 тр) ]
10. Мегатрайт (Мт) - 1008 Кт. ...
Всё имеет в основании 3. :)
petrenko
Doomed
Posts: 598
Joined: 10 Mar 2012 16:21
Location: РФ

Re: И опять трибблы...

Post by petrenko »

Это всё логично. :idea:

Однако ж под базисом изчисления я подразумевал логические операции, а они в отличие от булевых могут быть нескольких видов.
Логический базис .. :rotate:
Например в троичной системе имеется большее число импликаций, различающихся своими формальными свойствами..

Вообще о троичных функциях ознакомительно можно прочитать там http://dic.academic.ru/dic.nsf/ruwiki/1652589
или там http://library.kiwix.org/wikipedia_ru_a ... нкции.html
или там http://www.chinapads.ru/c/s/troichnyie_ ... e_funktsii
Впрочем везде переписано примерно одно и то же, но вот там http://phg.su/basis2/X19.HTM
чуток больше, да и интересней изложено.

Строго говоря :
Чёткую математическую троичную логику, в которой имеется три чётких значения (0,1,2), (-1,0,+1), (0,1/2,1) и т. п. часто путают с нечёткой троичной логикой, которая является частным случаем нечёткой логики c тремя значениями, одно, два или все три из которых нечёткие.
То есть нам желательно определиться будем ли мы оперировать только и строго с чёткой троичной логикой или всё же предпочтём режим совместимости и будем оперировать с троичной логикой как частным случаем fuzzy при разрядности лог.операнда в один трит.

О нечёткой логике можно почитать там https://ru.wikipedia.org/wiki/%CD%E5%F7 ... 3%E8%EA%E0
, там http://matlab.exponenta.ru/fuzzylogic/book1/1_7.php
, там http://nrsu.bstu.ru/chap26.html
и там http://traditio-ru.org/wiki/Троичная_логика

Кстати :
... Символическая нечёткая логика основывается на понятии t-нормы. После выбора некоторой t-нормы (а её можно ввести несколькими разными способами) появляется возможность определить основные операции над пропозициональными переменными: конъюнкцию, дизъюнкцию, импликацию, отрицание и другие.

Нетрудно доказать теорему о том, что дистрибутивность, присутствующая в классической логике, выполняется только в случае, когда в качестве t-нормы выбирается t-норма Гёделя ...
Odin P. Morgan
Senior
Posts: 151
Joined: 23 Feb 2015 15:37
Location: OMS

Re: И опять трибблы...

Post by Odin P. Morgan »

Извиняюсь за тугодумие :)
Логика есстественно нечёткая, в значениях "true" (+), "null" (0) и "false" (-),
Где "null" носит возможные значения: "мнение пока не определенно"/"пусто"/"в поиске булево (придти к определённому мнению)"
Троичность используется именно для того, чтобы микросхема имела задатки нейросети на уровне железа (одна из причин).
Проще говоря, можно реализовать такую вещь, как "интуитивное" предсказание перехода процессором.
Это-ж какая красота! Дискретно-аналоговая микросхема с нечёткой логикой - нейронность в железе!
По поводу "возможны ли программируемые вычисления без использования логических операций типа AND или OR?" я уже писал, про операцию копирования трита со ссылкой, её будет более чем достаточно! viewtopic.php?f=79&t=10983
Поэтому надо смотреть на жизнь проще. Наш троичный процессор должен быть простым как AK'47 и умным как Энштейн. :)
petrenko
Doomed
Posts: 598
Joined: 10 Mar 2012 16:21
Location: РФ

Re: И опять трибблы...

Post by petrenko »

Как Однокамушкин - не надо, поговаривают, что неспроста он всю нобелевку жене отдал. :no:

И вообще ум от "железяк" не требуется - требуется эффективность и желательно подешевле, а ум может встать в нехилую "копеечку"/"центик"/... и др. ...

( Нашёл заодно по ходу "гуглений" и соотношение {инф.ёмкость трита}/{инф.ёмкость бита}==~1.58.. )

Если брать "fuzzy"- совместимый базис, то это действительно удобно - но только в том случае, если процессор будет способен работать с масштабируемыми данными причём динамически меняемой разрядности ( обязательно снабжаемыме тегами данные - по сути уже данные~объекты , тег которых указывает на просто на тип, но и на способы обработки данных данных.. :rotate: каламбурчик получился .. :D )
Тему таким образом разширяем плавно до более общего вопроса - типов данных и объектов ... :wink:

Например : тег==(-) означает , что сразу за ним следует однотритовый_логический_операнд
тег==(0) означает {пустое множество} или {разделитель объектов}
{начальный трит тега}==(+) означает , что тег длиннее -> см. следующую таблицу :
тег==(- -) означает , что сразу за ним следует трёхтритовый_нечёткий_логический_операнд
тег==(- 0) означает , что сразу за ним следует буквенно-символьный_операнд
тег==(- +) означает , что сразу за ним следует девятитритовый_числовой_ целый_операнд
......
{начальные два трита тега}==(+ +) означают , что что тег ещё длиннее -> см. следующую таблицу :
..
Ну и так далее. Но это только "например" - на самом деле продумать типизацию данных надо намного тщательнее.
Odin P. Morgan
Senior
Posts: 151
Joined: 23 Feb 2015 15:37
Location: OMS

Re: И паки трибблы...

Post by Odin P. Morgan »

Если принять во внимание мою концепцию "POISC" (ссылку на которую я уже давал в предыдущем посте), то процессор будет дешев (хотя бы по причине простоты конструкции), мало того разрядность будет масштабируема (по-крайней мере из-за особенностей построения POISC она напрашивается). По поводу тегов, изложи по подробнее - это интересно, и укладывается в концепцию POISC. Если хочешь можем попробовать проработать концепцию моей, пока ещё, теоретической архитектуры, вместе. Заодно выработать спецификацию POISC и согласовать её с Shaos'ом.

P.S. Товарищ мой, тут ещё появилась у меня на днях интересная концепция устройств "без прерываний" - вполне реализуема как в бинаре, так и в тринаре. Но по причине того, что речь ведём о троичности, думаю включить её в спецификацию POISC (который тоже решил сделать троичным, изначально планировался бинар).