Есть очень глубокая и повсеместная связь между логикой и информатикой. Чтобы понять, какими они могут быть, имейте в виду, что компьютерные науки также называют «информационными технологиями» или «информатикой», что означает, что компьютерные системы собирают, обрабатывают и доставляют информацию. Ну, логика - вещь похожая. Он изучает, как информация собирается в предложениях и как возможно, чтобы одно утверждение было следствием другого, т. Е. Как его информационное содержание уже присутствует в другом утверждении (или совокупности утверждений). В этом смысле логика и информатика - это одно и то жедисциплина, ориентируясь на разные аспекты. Логики (Черч, Клин, Тьюринг, Пост и их ученики и коллеги) создали дисциплину «Информатика», и многие логики продолжают вносить свой вклад в информатику, особенно Жан-Ив Жирар и его ученики.
Вот некоторые стандартные приложения логики в информатике:
Проектирование цифровых схем полностью основано на логике предложения, настолько, что его инженеры называют это «логическим дизайном», а не «схемотехникой». Считается, что даже написание компьютерной программы предполагает разработку ее «логики». (Обратите внимание, что «логика» в последнем смысле - это неформальная идея, а не формальная логика, используемая для обозначения потока информации через программу и правильности ее обработки.)
Логика предикатов и ее математическая родственница, теория множеств, используются в различных вычислительных языках , например, в языке SQL для запросов к реляционной базе данных. Существуют также языки программирования, основанные на логике, называемые «языки логического программирования».
Представление знаний , о котором вы уже упоминали, имеет много формализмов, основанных на логике. Даже если он использует нелогические формализмы, многие из них все же имеют логическое значение и, следовательно, основаны на логике.
Вероятностная логика, где утверждения имеют не только истинные / ложные значения, но и уровни уверенности / неопределенности, все чаще становится основой для систем машинного обучения .
Если вы хотите официально заявить о том, что делает программа, то есть дать спецификацию программы , вы в конечном итоге будете использовать какую-то форму логического языка. Действительно, существует много языков спецификации программ, таких как Z и B, которые основаны на логике предикатов и теории множеств. Существуют также языки спецификации, основанные на эквациональной логике, такие как Larch. Ученые-информатики часто изобретают новую логику для представления потребностей информатики, например, логику Хоара и логику разделения, или они выбирают и развивают различные недоиспользуемые формы традиционной логики, такие как временная логика и модальная логика, и развивают их дальше.
Если вы хотите проверить , выполняет ли программа то, что должна, то в конечном итоге вы используете не только язык логики, но и весь механизм логики: теорию доказательств, теорию моделей и процедуры принятия решений. Технологии верификации сейчас растут как на дрожжах, и я ожидаю, что примерно через десятилетие они будут использоваться практически для любой разработки программного обеспечения.
На самом деле, связи между логикой и информатикой настолько глубоки и распространены, что я бы сказал, что трудно быть хорошим ученым без глубокого понимания логики.
Причина, по которой некоторые ученые ИИ недооценивают логику в настоящее время, заключается в том, что некоторые из первых разработчиков ИИ предложили готовую логику в качестве инструмента.а не фундамент. ИИ по своей природе обещает доставить магию. Нам не нужно выполнять тяжелую работу по программированию систем для достижения результатов. Они смогут сами понять, как создавать решения, потому что они будут «умными». Логика, казалось, указывала путь, потому что, если компьютерные системы понимали логику и знали, как обрабатывать информацию, используя правила логики, они были бы способны создавать магию. Вера в логику в ретроспективе была неуместна. Во-первых, готовая логика слишком сильна и слишком слаба одновременно. Он слишком силен в том смысле, что логические правила слишком общие, чтобы разрабатывать эффективные процедуры. Это также слишком слабо, потому что это логика, разработанная математиками для нужд математики, и она не у него есть словарь, необходимый для работы со множеством других видов информации реального мира, с которыми должны работать системы ИИ (таких как неопределенность, контекстная информация, такая как время, изменения, знания, агентство и так далее). Таким образом, ИИ в настоящее время подвергается негативной реакции против логики. Но я думаю, что, когда они преодолеют эту обратную реакцию, ученые ИИ поймут, что все более новые методы все еще основаны налогика, в широком смысле .