Публикации, посвященные искусственному интеллекту, можно условно разделить на два вида. К первому из них относятся книги по теории искусственного интеллекта, написанные специалистами в этой области, как правило, с целью, далекой от практического применения. Такие публикации предназначены для квалифицированных программистов, имеющих опыт работы с системами искусственного интеллекта, и служат для углубления знаний. Большая часть пользователей микроЭВМ вряд ли сможет на практике воспользоваться описываемыми в этих книгах программами и системами. Публикации второго вида, наоборот, ориентированы на массового пользователя микроЭВМ и предназначены прежде всего для практического применения. Фрагменты программ, иллюстрирующих рассматриваемые в них алгоритмы, представляются обычно на языке Бейсик.
Автор предлагаемой книги старался придерживаться некоторого среднего подхода между этими двумя крайностями. Теоретический материал, излагаемый здесь, несложен и поясняется примерами программ на языке Пролог. Этот язык программирования распространен в настоящее время в основном в Европе. Однако популярность его постоянно растет. Он выбран японскими специалистами как один из основных языков для создания программного и аппаратного обеспечения ЭВМ пятого поколения. В США этот язык находит все большее применение для ЭВМ с аппаратной реализацией языка Лисп, служащего для решения задач искусственного интеллекта и, кроме того, используемого как базовый при разработке трансляторов с Пролога. В последнее время Пролог получает все большее распространение на микроЭВМ. С появлением ряда мощных ЭВМ этого класса, снабженных накопителями на магнитных дисках большой емкости, стала возможной реализация небольших, но полезных на практике систем. Язык Лисп в настоящее время также используется на ряде микроЭВМ (например, на модели Sinclair QL). Однако для эффективного применения этого языка необходима специальная среда, поддерживаемая аппаратурой. Поэтому решение реальных задач с его помощью пока затруднено.
В этой книге главное внимание уделяется решению небольшого числа основных задач искусственного интеллекта. Однако по приводимым фрагментам программ можно получить представление о принципах создания сложных систем искусственного интеллекта. Автор надеется, что материал книги поможет читателю избежать составления длинных, узко специализированных программ на языке Бейсик и перейти к значительно более коротким универсальным программам на Прологе.
Книга рассчитана в первую очередь на самостоятельную работу, и все ее главы, за исключением первой, содержат упражнения с ответами. Однако ее материал может быть использован и в качестве основы для соответствующих учебных курсов.
Автор не стремился рассматривать теоретически сложные задачи искусственного интеллекта, такие, например, как распознавание речи человека. Основное внимание уделялось проблемам, которые пользователи микроЭВМ могут решить, не углубляясь в сложности теоретических построений.