Введение в основы логики для КБ

В моем последнем посте я рассказал об агентах, основанных на знаниях, и представил концепции, лежащие в основе баз знаний (БЗ), и набор предложений, которые мы используем для их создания. В этом посте мы будем развивать идею предложения как точки, позволяющей погрузиться в логику и логическое представление.

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

Что в логике?

Синтаксис

Синтаксис - это способ выражения предложений. Синтаксис - это правила, определяющие, правильно ли составлено предложение.

Например, давайте посмотрим на английский язык. Если бы я написал фразу «Меня зовут Хантер», вы могли бы понять, что я пытался сказать, но это определенно неправильное предложение. Можно было ожидать, что я скажу: «Меня зовут Хантер». Точно так же, допустим, наш язык - математика. «1 + = 2 3» просто не подчиняется математическому синтаксису. Вместо этого мы хотим, чтобы «1 + 2 = 3» было счастливым.

Все логики будут иметь подобные синтаксические правила и ожидать, что их предложения будут им следовать. Поскольку КБ собираются из набора предложений, любой ожидаемый логический синтаксис обязательно должен соблюдаться, иначе ваш КБ будет непоследовательным.

Семантика

В то время как синтаксис - это правила создания предложений, семантика - это значение, стоящее за предложениями, которые у нас есть. В логике, часто в семантике, мы говорим о том, является ли предложение истинным или ложным.

Возвращаясь к нашему предыдущему примеру на английском языке, «меня зовут Хантер» имеет правдивую семантику в этом мире с этими состояниями. Если бы вместо этого я сделал заявление «меня зовут Пол», семантика которого была бы ложной в этом мире, где меня зовут не Пол. Точно так же, если у нас есть математическое предложение «x = 5», это предложение имеет семантику истинности только в том случае, если переменная x на самом деле равна 5 и ложна во всех других состояниях мира.

Более сжатый способ сказать «состояния мира» - это термин «модель». Модель - это версия среды, в которой состояния переменных принимают определенное значение, и это помогает нам оценивать правдивость предложений. В одной модели х равно 4, а в другой - 5,3. Модель, в которой x равно 5, является той, в которой верно наше предыдущее математическое предложение.

Фактически, у нас есть специальное слово, обозначающее, когда предложение истинно в рамках определенной модели, и это «удовлетворяет». Мы назовем model_5 моделью, где x равно 5. С этим мы можем сказать, что «model_5 удовлетворяет предложению x=5» и что model_5 является моделью x=5.

Еще одно замечание: если мы назовем x=5 A, то мы можем сказать, что M (A) - это множество всех возможных моделей, удовлетворяющих A.

Логическое следствие

Теперь у нас есть инструменты, чтобы погрузиться в понимание рассуждений и, в частности, такого типа логических отношений, который называется следствием. Если предложение A влечет за собой предложение B, это означает, что если предложение A истинно, то следует B. В математических обозначениях это выглядит так: A ⊢ B

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

Для математического примера x=1 влечет за собой xy=y. С помощью этого мощного инструмента следования мы можем делать логические выводы о новых предложениях, которые также верны в данной модели. Это легко увидеть, поскольку мы можем представить себе базу знаний, в которой мы не уверены в предложении xy=y, и добавление предложения x=1, позволяющего нам утверждать, что это действительно правда.

Фактически, с помощью логического вывода с помощью предложения x=1 мы можем сделать вывод, что все, с чем мы сталкиваемся, когда оно умножается на x, может быть сведено только к самому себе. Мы можем использовать эту идею, чтобы подумать о сценарии, в котором у нас есть KB и новое предложение A. Мы можем проверить, является ли M (KB) подмножеством M (A), и если да, то KB влечет за собой A. Проще говоря. Английский: Если каждая модель, в которой наше КБ истинно, А также истинно, то наша КБ влечет за собой А.

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

Алгоритмы вывода

Алгоритмы вывода - это алгоритмы, с помощью которых мы выводим новые, влекущие за собой предложения. Алгоритмы вывода называются сохраняющими правильность и истину тогда и только тогда, когда они выводят только предложения, вытекающие из нашей базы знаний. Например, если алгоритм вывода берет КБ и добавляет к нему новое предложение, не вытекающее из наших текущих знаний, он, по сути, выдумывает. Он выдумывает новые истины. Это крайне нежелательно.

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

Последнее, о чем следует подумать, - это идея, называемая заземлением. Это идея, что у нас есть наша база знаний и она полна предложений, но основывается ли наша база знаний на истине реального мира? Является ли это точным отображением того, что на самом деле правда? Это не совсем то, что полностью сосредоточено на логике, которую мы используем для представления вещей, но это то, что стоит рассмотреть. Если у нас есть агент, взаимодействующий в реальном мире, его восприятие настолько хорошо, насколько хороши его сенсоры. Если у нас есть алгоритм обучения, наша база знаний может быть обоснованной только в той мере, в какой наш алгоритм обучения точен при создании заученных предложений, которые он передает в базу знаний. Имея достаточно хорошие датчики и достаточно хорошее обучение, мы можем чувствовать себя в безопасности благодаря обоснованной природе нашей базы знаний и алгоритма вывода, но это все же стоит признать.

Заключение

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

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

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

Первоначально размещалось по адресу: hunterheidenreich.com