Трехзначная логика на писишке
"С децтва" не любил базы данных... уже сейчас и не вспомню причину, по которой их невзлюбил. Тут по работе, однако, пришлось изучать SQL. Сидел, весь день читал толстенную книженцию, дочитал. Но речь не в том. SQL - довольно старинный язык и интересен тем, что в нем используется трехзначная логика.
Привет журналюгам, которые любят писать о том, что применение трехзначной логики приведет к революции в компьютерной технике. И де она ваша революция? ;))
Логика используется самая что ни на есть "стандартная", ее еще называют трехзначной логикой Лукасевича. Между TRUE и FALSE есть еще промежуточное значение: NULL. По смыслу это NULL соответствует приблизительно выражениям "не известно", "не определено", "не задано", "не указано". Если TRUE ассоциировать с единицей, FALSE с нулем, а NULL - с 1/2, то логические операции в этой логике выглядят так:
A and B = min(A, B)
A or B = max(A, B)
not A = 1 - A
Кстати, закон исключенного третьего в этой логике не выполняется. По нему должно быть:
A or ~A = TRUE
а на самом деле при A = NULL = 1/2 получаем:
A or ~A = NULL or ~NULL = 1/2 or (1 - 1/2) = 1/2 or 1/2 = max(1/2, 1/2) = 1/2 = NULL ≠ TRUE
Привет журналюгам, которые любят писать о том, что применение трехзначной логики приведет к революции в компьютерной технике. И де она ваша революция? ;))
Логика используется самая что ни на есть "стандартная", ее еще называют трехзначной логикой Лукасевича. Между TRUE и FALSE есть еще промежуточное значение: NULL. По смыслу это NULL соответствует приблизительно выражениям "не известно", "не определено", "не задано", "не указано". Если TRUE ассоциировать с единицей, FALSE с нулем, а NULL - с 1/2, то логические операции в этой логике выглядят так:
A and B = min(A, B)
A or B = max(A, B)
not A = 1 - A
Кстати, закон исключенного третьего в этой логике не выполняется. По нему должно быть:
A or ~A = TRUE
а на самом деле при A = NULL = 1/2 получаем:
A or ~A = NULL or ~NULL = 1/2 or (1 - 1/2) = 1/2 or 1/2 = max(1/2, 1/2) = 1/2 = NULL ≠ TRUE
Re: Огласите весь списочек!
Вчера вечером пытался найти. Перерыл у себя дома все талмуды, где, кажестя, это читал.
Но найти не смог. В сети тоже найти ничего подобного не удалось. На глазок,(по тем же талмудам и справочникам) их штук 20 не больше. Но я точно где-то взял эту цифру 300. Она меня очень удивила и запала в память. В общем можете мне поставить "бан".
Неподтвержденная информация снимается.
:(
"Решаются какие-то новые задачи в новых логиках, ранее не решавшиеся в двузначной булевой логике?Нет."
Да
Например?
Re: Огласите весь списочек!
Re: Огласите весь списочек!
Ага... попрошу рояльчик... из кустов...
Цитата :
Мы можем попытаться "принять" парадокс лжеца, вводя новую, более совершенную классификацию высказываний (взамен обычного подразделения на истинные и ложные): а) истинные высказывания,
б) ложные высказывания,
в) высказывания, не имеющие значения истинности.
Сделав это, возьмем теперь высказывание
q: q ложно или q не имеет значения истинности
Если q истинно, то q не ложно и q имеет значение истинности. Это значит, что высказывание, содержащееся в рамке, является ложным ..., но это и есть q! Аналогично, если q ложно, то q истинно. Наконец, если q не имеет значения истинности, то q истинно! Наша классификация высказываний опять не является исчерпывающей. (Последний парадокс принято называть Усиленным Лжецом.)
Конец цитаты.
Источник:
http://www.ltn.lv/~podnieks/gt_rus/gram5.htm
Ваш ход?
:)(
Усили по усилению лжеца...
Вот что получилось.
И так.
1 – истина
0 – ложь
1/2 - не имеет значения истинности.
Возьмем приведенную выше троичную логику:
Операции:
A and B = min(A, B)
A or B = max(A, B)
not A = 1 – A
Но нам потребуется еще одна одноместная операция. "Не знаю, имеет ли Х значение истинности?"
Обозначим ее так ?(Х) и пока не будем для нее строит таблицу значений.
А давайте для начала запишем простой парадокс лжеца:
Р: не(Р).
Если P=1 то не(1)=0 <>1
Если Р=0 то не(0)=1 <>0
Усиленный Лжец:
P: не(P) or ?(P)
Вот распальцовка от Подниекса в нашей троичной логике:
Если P=1 то не(1) or ?(1)= 0 оr 0 =0 <>1
Если P=0 то не(0) or ?(0)= 1 оr 0 =1 <>0
Если P=1/2 то не(1/2) or ?(1/2)= 1/2 оr 1 =1 <>1/2
Теперь давайте поймем из нее действие оператора "?"
?(1) = 0
Не знаю, имеет ли истина значение истинности. Это явная ложь! Знает же, гад, что имеет!
?(0) = 0
Не знаю, имеет ли ложь значение истинности. Это тоже явная ложь! Знает, сволочь, что не имеет и врет!
?(1/2) =1
Не знаю, имеет ли не имеющее значение истинности, значение истинности? Действительно не знает.
Говорит правду. ЗначитИстина!
Все логично?
Вроде как...
Не знаю, поможет ли вся эта кабалистика понять усиленного лжеца?
Мне, вроде, помогла...
:))))
Re: Огласите весь списочек!
Re: Огласите весь списочек!
:)(
Что-ж, формально вы правы. Мне нужно было бы уточнить, что речь идет о неком классе задач, а не об одной задаче. Конечно "Усиленный Лжец" – это другая задача. Это не "Лжец". Из одного класса задач, но другая.
Кстати, а как простой "Лжец" решается в трехзначной логике?
Re: Огласите весь списочек!
Если P=1 то не(1)=0 <>1
Если Р=0 то не(0)=1 <>0
Если Р=1/2 то не(1/2)=1/2 =1/2
:)
Re: Огласите весь списочек!
Re: Огласите весь списочек!
В бинарной логике мы имеем "Лжеца".
Избавляемя от него введя троичную. Но и здесь есть усиленный "Лжец". Можно избавится и он того, скажем введя четверичную. Но и для нее появится "Супер-Лжец"
Это напоминает диагональную процедуру Кантора или доказательство Геделя.
Какаую бы систему мы не придумали, ее всегда можно поставить в тупик. Она всегда неполна. Ее всегда можно дополнить. Но никогда до конца.
Если расширить ее, все равно получим тупик но в новом месте и так до бесконечности.
Мы всегда опаздываем.
Мы не можем огласить весь списочек сразу. Говоря совсему умно - он рекурсивно-не-счетный. Хаотичный. То есть нет программы, которая бы его выписывала.
У меня есть пьеса про Ахилла и Черепаху. Так вот они там просто программируют игру с достаточно широкими правилами, подозрительно похожимил на нашу жизнь. Тоже получается такой вот бесконечная лестница. Ахилл программист решение задачи всегда опаздывает за черепахой, которая всегда может поставить задачу, которая решается в более широкой системе но не той программой, которую написал Ахилл. Ахилл пишет новую програму... И так продолжается до бесконечности.
Но что бы создать ИИ он должен обогнать мистера Черепаху раз и на всегда.
А как обогнать?
...
Ваша идея (в избранных у вас) рассматривать парадоксы как некие уравнения у которых нет корней мне очень понравилась. Что-то в ней есть...
Но я ее еще думаю...
Может потом появится мысль?
:)(
Re: Огласите весь списочек!
да как-то не очень :)
вас ведь не смущает идея следующего процесса:
имеем натуральное x
не нашлось решения уравнения x + 2 = 1
--- введем отрицательные числа, теперь решение есть
не нашлось решения уравнения x * 3 = 2
--- введем рациональные числа, теперь решение есть
не нашлось решения уравнения x * x = 3
--- введем иррациональные числа, теперь решение есть
не нашлось решения уравнения x * x = -1
--- введем комплексные числа, теперь решение есть
...
Re: Огласите весь списочек!
Вы это сделали своими мозгами.
Может ли это сделать рекурсивная функуия?
Проще говоря - программа.
Это и есть мой камень предкновения и идея фикс в которой я давно пытаюсь разобраться.
Я ни на чем не настаиваю.
Но я очень сомневаюсь.
И согласитесь, это нормально.
"Если все думают одинаково, значит никто в общем то и не думает" (с)
:)
Мы вышли на тему, которая настолько обширна для меня, что остается только свернуть этот наш топик.
(Но это не значит что я не буду над этим думать)
Надеюсь увидеть ваши комментарии, когда я все же выложу свои аргументы на несделанном сайте Z-механика.
Мне будет очень интересно ваше мнение.
Re: Огласите весь списочек!
Если появятся интересные мысли, не забудьте меня позвать :)