Полную версию читайте на странице: https://www.evlabs.io/blog/chatgpt-reasoning

То, как мы взаимодействуем с машинами, вот-вот изменится. Вы, вероятно, уже знаете о ChatGPT или, может быть, даже пробовали его. Несколько недель назад OpenAI выпустила искусственный интеллект с таким названием, который удивил мир, и в течение пяти дней у него было более миллиона пользователей. Этот ИИ способен поддерживать естественные и связные разговоры, как человек. И не только это, он способен составлять проекты договоров аренды, писать код для дизайна веб-сайта, вести удивительно глубокие философские дебаты и выполнять огромное количество задач, которые оставляют Siri, Alexa и компанию в пыли.

Однако ChatGPT — не первый из существующих ИИ такого рода, фактически он основан на другом, называемом GPT-3, только обучен он по-другому. И в течение многих лет новая версия этого типа модели выпускается каждые несколько месяцев. Итак, почему этот ИИ вызвал такой ажиотаж? Ну, потому что его способность понимать очень сложные инструкции, глубина его рассуждений и его способность так хорошо понимать нюансы естественного языка представляют собой огромный скачок качества по сравнению с предыдущей версией.

Но в этой статье я предлагаю пойти дальше. Давайте проверим пределы возможностей ChatGPT и посмотрим, способен ли он имитировать логическое мышление человека.

Для этого мы начнем разговор с ряда предпосылок, чтобы увидеть вывод, который он делает:

Я: Все люди смертны. Сократ — человек. Поэтому…

ChatGPT: Поэтому Сократ смертен. Это пример силлогизма, который является своего рода логическим аргументом, который применяет дедуктивное рассуждение, чтобы прийти к заключению, основанному на двух предпосылках, которые утверждаются или предполагаются истинными. В этом случае первая посылка — «Все люди смертны», а вторая посылка — «Сократ — человек». Из этих двух посылок логически следует, что вывод «Сократ смертен» должен быть верным.

Я: Разве не логический вывод: «Все люди — Сократы»?

ChatGPT: Нет, логическое завершение силлогизма «Все люди смертны. Сократ — человек. Следовательно…» означает «Сократ смертен».

Первая посылка «Все люди смертны» утверждает, что все члены группы «люди» обладают определенным атрибутом, а именно смертностью. Вторая посылка «Сократ — человек» утверждает, что Сократ принадлежит к группе «людей». Из этих двух предпосылок логически следует, что Сократ также должен обладать атрибутом, общим для всех членов группы «люди», которым в данном случае является смертность.

Поэтому логический вывод силлогизма состоит в том, что Сократ смертен, а не в том, что «все люди — Сократы».

Я: Я понимаю. Можете ли вы объяснить мне это с помощью логики? Вы знаете, что «p подразумевает q» и тому подобное.

ChatGPT: Конечно! В логике символ «⇒» используется для обозначения логической связки «имплицитно», так что «p ⇒ q» означает «если p, то q».

В силлогизме «Все люди смертны. Сократ — человек. Следовательно, Сократ смертен», мы можем представить первую посылку как «p: Все люди смертны», а вторую посылку как «q: Сократ — человек». Вывод «Сократ смертен» можно представить как «r: Сократ смертен».

Используя это обозначение, мы можем переформулировать силлогизм следующим образом:

p: Все люди смертны

q: Сократ — мужчина

Поэтому

r: Сократ смертен

Этот силлогизм верен, потому что он следует правилу modus ponens, которое гласит, что если p подразумевает r и p истинно, то r также должно быть истинным. В этом случае первая посылка «p: Все люди смертны» подразумевает вывод «r: Сократ смертен», а вторая посылка «q: Сократ — человек» устанавливает, что p истинно. Следовательно, вывод «r: Сократ смертен» также должен быть верным.

Я: Хорошо. Можете ли вы объяснить это мне, используя логику первого порядка?

ChatGPT: Конечно! В логике первого порядка мы можем использовать логику предикатов для представления силлогизма «Все люди смертны. Сократ — человек. Следовательно, Сократ смертен».

Во-первых, нам нужно определить предикаты и константы, которые мы будем использовать в нашем представлении. В этом случае давайте определим следующее:

  • M(x): x — мужчина
  • Mo(x): x смертен

Тогда мы можем представить первую предпосылку «Все люди смертны» как ∀x(M(x) ⇒ Mo(x)), что означает «для всех x, если x — человек, то x смертен». .”

Вторую посылку "Сократ — человек" можно представить как M(s), где "s" — константа, представляющая Сократа.

Из этих двух посылок мы можем сделать вывод о том, что «Сократ смертен», используя modus ponens:

M(s) помещение

∀x(M(x) ⇒ Mo(x)) предпосылка

Mo(s) modus ponens

Это означает, что если мы предположим, что две посылки верны, то вывод «Сократ смертен» также должен быть верен.

В логике первого порядка мы также можем использовать квантификаторы для выражения понятия "все" и "некоторые". В этом случае квантор ∀ (произносится как «для всех») используется для выражения понятия «все», а квантор ∃ (произносится как «существует») используется для выражения понятия «некоторые». Например, утверждение ∀x(M(x) ⇒ Mo(x)) можно прочитать как «для всех x, если x — человек, то x смертен», тогда как утверждение ∃x(M(x) ∧ ¬Mo(x)) можно прочитать как «существует такой x, что x — человек и x не смертен».

Я: Я понимаю. Согласно моим предпосылкам, Зевс смертен?

ChatGPT:Я не могу определить, смертен ли Зевс, на основании предоставленной вами информации. Чтобы оценить, смертен ли Зевс, нам нужно знать, принадлежит ли Зевс к группе существ, описанных в первой посылке вашего силлогизма как «люди», и применим ли атрибут смертности к этой группе.

Не зная больше о контексте и определениях предикатов и констант, используемых в вашем силлогизме, я не могу сделать какие-либо выводы о смертности Зевса.

Я: Что, если я скажу вам, что Зевс — бог, а боги не смертны? Можем ли мы тогда заключить, что Зевс смертен? Расскажите мне, используя логику первого порядка.

ChatGPT: Если вы скажете мне, что «Зевс — бог» и «ни один бог не смертен», то мы можем использовать логику первого порядка, чтобы представить эти утверждения следующим образом:

G(z): Зевс — бог

¬∃x(G(x) ∧ Mo(x)): ни один бог не смертен

Используя эти представления, мы можем заключить, что Зевс не смертен, следующим образом:

Предпосылка G(z)

Предпосылка ¬∃x(G(x) ∧ Mo(x))

Модус tollens ¬Mo(z)

Это означает, что если мы предположим, что две посылки верны, то вывод "Зевс не смертен" также должен быть верным.

В этом случае первая посылка «G(z): Зевс — бог» устанавливает, что Зевс принадлежит к группе существ, описываемых как «боги», а вторая посылка «¬∃x(G(x) ∧ Mo(x)): «Ни один бог не смертен» утверждает, что ни один член группы «боги» не смертен. Из этих двух посылок логически следует, что Зевс, будучи членом группы «боги», не должен быть смертным.

Надеюсь, это поможет! Дайте мне знать, если у вас возникнут другие вопросы.

Я: Что, если я скажу вам, что Геракл — человек и бог? Можем ли мы тогда решить, смертен он или бессмертен?

ChatGPT: Невозможно определить, смертен или бессмертен Геракл, на основе предоставленной вами информации. Чтобы оценить смертность Геракла, нам нужно знать, применим ли атрибут смертности или бессмертия к группе существ, к которой принадлежит Геракл.

Если вы скажете мне, что «Геракл — это человек и бог», мы можем представить эти утверждения в логике первого порядка следующим образом:

M(h): Геракл — мужчина

G(h): Геракл — бог

Эти утверждения не предоставляют достаточной информации, чтобы определить, смертен или бессмертен Геракл, поскольку они не определяют атрибуты, которые относятся к группам "люди" и "боги", или эти атрибуты являются взаимоисключающими.

Например, возможно, что и «люди», и «боги» смертны, и в этом случае Геракл был бы смертен как человек и как бог. С другой стороны, также возможно, что «люди» смертны, а «боги» бессмертны, и в этом случае Геракл был бы бессмертен как бог, но смертен как человек.

Не зная больше о контексте и определениях предикатов и констант, используемых в вашем силлогизме, невозможно сделать какие-либо выводы о смертности Геракла.

Я: Спасибо. Я не думаю, что смогу сегодня уснуть.

ChatGPT: Извините, если мои ответы помешали вам уснуть. Пожалуйста, помните, что логика и силлогизмы — это всего лишь инструменты для анализа и оценки аргументов, и что важно тщательно рассмотреть предпосылки и определения, используемые в любом аргументе, прежде чем принимать его заключение за истинное.

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

Если вы по-прежнему испытываете проблемы со сном или у вас есть другие проблемы со сном, может быть полезно поговорить с поставщиком медицинских услуг или специалистом в области психического здоровья для получения дальнейших указаний и поддержки.

Честно говоря, я не ожидал таких хороших результатов. Тем не менее, ChatGPT не свободен от ошибок. На самом деле, когда я попытался повторить разговор, он ответил, что быть смертным означает быть человеком, или ∀x(Mo(x) ⇒ M(x)), что неверно. Однако, когда я указал на ошибку в ее рассуждениях, она смогла ее найти и исправить и даже извинилась за нее. Кроме того, иногда аргументы, которые он приводит, немного повторяются и даже повторяются.

Несмотря на то, что может показаться, этот ИИ не способен к символическому мышлению, а скорее использует все знания Интернета, которые были задействованы в его обучении, чтобы определить, как человек ответил бы на наши вопросы.

Однако от этого он не становится менее впечатляющим. Посмотрите на последние вопросы. Когда мы говорили с ним о Зевсе, он знал из контекста, что мы делаем логические упражнения, и относился к нему как к новому объекту, признавая, что у него недостаточно информации о нем, чтобы прийти к заключению. Или когда мы говорили с ним о Геракле, и он сказал нам, что не может ничего решить о его смертности.