-exec-, 11.05.2004 23:15:19 :мля! когда копируешь пост в кармашек, постится нормально. только забудешь как сразу еггоги толпятся. очень провоцирует расстройство. мля.
это не ясно. можно перефразировать?
не понятна "механика", если так можно выразиться.
на уровне примитивной арифметики (дальше которой я не развивался) операцию 1/2 and 1 => 1/2 я понять пока не могу.
Я просто обращаю внимание, что если в качестве алфавита взять предложенный мной набор функций принадлежности, то довольно разработанная теория нечеткой логики дает нам достаточно широкий аппарат функционалов, которые - во-первых - можно интуитивно поставить на место наших привычных функций логики, а во-вторых - по определению они дадут нам корректную картину обычной бинарной логики при редукции членов алфавита до 2.
Если бы вы мне в двух строках объяснили бы задачу чуть шире, то я бы, наверное, смог бы что-то сказать. Пока что я представляю это так - если автомат не "детектирует" значения на входе - то значит на выходе мы получим константу.
Честно говоря, все представления о нулях и полноте кажутся мне притянутыми за уши.
Теорию полей надо читать. Поле из трёх элементов - отличное поле, на нем можно определить все арифметические и логические операции, только нужно другие значки для них придумать, чтоб не возникало ложных ассоциаций с привычными AND, OR, XOR и так далее.
Совершенно без всяческих проблем вы можете взять просто множество различных функций (троичных) одной переменной, двух переменных и т.д. Тут ведь обсуждение и пошло - "как бы так сделать, чтобы "поведение" вводимых функций отвечало некоторым интуитивным представлениям, а при редукции алфавита до 2 - превращалось бы в обычную булевскую алгебру.
[Сергей:],12.05.2004 15:01:26Теорию полей надо читать. Поле из трёх элементов - отличное поле, на нем можно определить все арифметические и логические операции, только нужно другие значки для них придумать, чтоб не возникало ложных ассоциаций с привычными AND, OR, XOR и так далее.
Ммм... а зачем вам для этого поля?Совершенно без всяческих проблем вы можете взять просто множество различных функций (троичных) одной переменной, двух переменных и т.д. Тут ведь обсуждение и пошло - "как бы так сделать, чтобы "поведение" вводимых функций отвечало некоторым интуитивным представлениям, а при редукции алфавита до 2 - превращалось бы в обычную булевскую алгебру.
Я о том, что внутри автомата не проводится сравнение с заданными константами. Ни с нулем, ни с единицей, ни с undef. Вот мне пришлось такое ввести - кривовато получилось. ИМХО.
Скажем, если на входе у нас единичка - то и на выходе единичка, а если на входе ноль - то и на выходе ноль - можно сказать, что "внутри" есть сравнение на ноль, или нет? Пока у меня складывается впечатление, что вы имеете в виду - в двоичной логике любое сравнение с нулем является также и сравнением с единицей (поскольку если не ноль - то единица). Лично мне кажется очевидным, что мы, разумеется, не можем распространить такой принцип на "троичные" логики. Именно потому, что в троичной логике из того, что элемент не равен нулю не следует, что элемент равен единице (или двойке).
Всего лишь потому, что AND - это умножение в поле из двух элементов, а OR - сложение в нём же. И строить вокруг троичного алфавита логику надо по тому же принципу.
А также штрих Шеффера, например. Если бы Вы указали, чем являются эти функции в "поле из двух элементов", то, разумеется, остальное было бы уже легко.
Но при том - "детектирует" сразу все.
Другое дело, что такое "детектирование" нам не нужно - мы можем просто использовать саму переменную.
Это-то понятно. Но, может, можно добиться этого 'перенормировкой', переобозначением?
Мы ведь не фиксируем алфавит - эти проблемы возникают до любой "нормировки" и обозначения.
у нас будет:
if( eqv(a,0,1) ) {
somnething()
} anotheraction {
anothersomething()
} else {
somethingelse()
}
Не слишком ли громоздко для практического пользования? 
2 1 0
1 2 1
0 1 2