Трехзначная логика на писишке
"С децтва" не любил базы данных... уже сейчас и не вспомню причину, по которой их невзлюбил. Тут по работе, однако, пришлось изучать 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: Огласите весь списочек!
:)
Во-первых, никаких "сверхвозможностей" нет и не было. Никаких революций на этой почве не было и не будет.
Ага... Означает ли это, что я общаюсь с "стронговым АI-шником"?
Что дурака валять? Я и так знаю, что означает. Я ведь кое-что на вашем сайте уже прочел. И мне понравилось. Только строгий ИИ-шник будет вынашивать планы запрограммировать чувство юмора!
Вера в силу кода на грани самоуверенности!
"Эх! Где мои семнадцать лет!"
:)
Во-вторых я пропускаю. Я это понял как отступление к мягкому ИИ. Не стоит мелочится.
Мы не на хай-тековском базаре... Строгий так строгий. Никогда и не помышяйте разменивайте великую задачу на стиральную машинку с фази лоджик.
:)
И, в-третьих, считать количество "логик", называя цифры 300, 100 и т.п. - ламерство. Потому как разных "логик" бесконечное количество.
Гм... Не люблю я слово "ламер". Это очень нехорошее ругательство в моем понимании. Это обвинение человека не просто в глупости. Это обвинение в неисправимой глупость. Это почти приговор. Но не стану настаивать на такой трактовке.
Когда я говорил про 300 логик, я имел ввиду множество именных логик. То есть логик, у которых есть автор, по которой издана монография. И все. Если вы настаивает, я мог бы даже поискать источник, где я почерпнул эту цифру 300. Конечно, я со всеми 300 не знаком. Мне хватило беглого знакомства с тремя-четырьмя что бы понять – это не то.
Называя цифру 300, я хотел только подчеркнуть, что разных логик сейчас развелось очень много. Но совсем не то, что их конечное число. Ведь посудите сами. Когда я говорил про трех, четырех, пяти и даже n-значную логику я уже предполагал бесконечное число логик такого типа. Верно?
:)
Все эти логики – всего лишь некоторые зауженные варианты обычной логики
Наоборот, расширенные. Все называнные вами выше логические системы есть расширение двузначной логики. Они точнее, но сложнее.
Давайте договоримся, что значит расширение?
Давайте нарисуем круг А внутри круг В. Пускай круг В - это множество старых задач.
Разность А/B – круг новых, ранее не решаемых задач. Если некий прием позволяет нам перейти от В к А то это и значит расширение возможностей. Решаются какие-то новые задачи в новых логиках, ранее не решавшиеся в двузначной булевой логике?
Нет.
О каком расширении может идти речь?
Давайте возьмем более близкий пример.
Расширяет ли объектный подход к программированию возможности вычислительной машины? Говоря точнее, класс вычислимых на машине Тьюринга рекурсвно-счетных функций можно расширить какими-либо уловками с языком компилятора? Например объектной моделью? Или переходом к декларативным языкам?
Нет!
Начерченную тезисом Тьюринга-Черчя границу никто никогда не переступит.
Я очень долго был уверен, что смогу. Я выстроил хитрую систему рассуждений. Я держал в руках доказательство, что тезис Черча-Тьюринга не верен... Но когда рассуждения устрожились, я понял, что мой дракон все же нарисован на бумаге. Я думаю никто не сможет переступить эту границу.
:(
Но не об этом речь...
Re: Огласите весь списочек!
на машине Тьюринга рекурсвно-счетных функций можно расширить
рекурсивно-счетные это множества. О них и думал... функции же просто рекурсивые.
:)
Второе. Отказываюсь от утверждения что все остальные логики "более узкие" чем бинарная. Они не шире. Это будет правильей.
И мне такого вывода достаточно чтобы ими не интересоваться.
:)(
Re: Огласите весь списочек!
Как ты меня назвал?! Гррр.... ;)
Когда я говорил про 300 логик, я имел ввиду множество именных логик. То есть логик, у которых есть автор, по которой издана монография.
Ну и откуда цифирка то?
Решаются какие-то новые задачи в новых логиках, ранее не решавшиеся в двузначной булевой логике?
Нет.
Да
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: Огласите весь списочек!
Если появятся интересные мысли, не забудьте меня позвать :)