Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
ГЛАВА 4. Символические вычисленияСодержание книги
Поиск на нашем сайте
Символическое представление Физическая символическая система Реализация символических структур на языке LISP Структуры данных в языке LISP Структура LISP-программы Приложение функции и лямбда-исчисление Обработка списков Сопоставление с образцом Почему LISP не является языком представления знаний Символический уровень и уровень знаний LISP и разработка программ Языки представления знаний Рекомендуемая литература Упражнения ГЛАВА 4. Символические вычисления Символическое представление Физическая символическая система Реализация символических структур на языке LISP Почему LISP не является языком представления знаний Языки представления знаний Рекомендуемая литература Упражнения Прежде чем приступить в обсуждению специализированных языков представления знаний, остановимся на более общей теме языков программирования задач искусственного интеллекта. В этой главе мы не задавались целью научить читателя пользоваться определенным языком, а стремились познакомить с некоторыми темами, касающимися представления и управления, которые имеют отношение к программной реализации экспертных систем. Интересно отметить, что широко распространившийся в современной практике создания программного обеспечения объектно-ориентированный подход к анализу и разработке должен привести к определенному сближению методик решения проблем, предполагающих использование идей искусственного интеллекта и не предполагающих такового. Кроме того, представление приложения как совокупности взаимодействующих относительно автономных модулей очень близко к подходу, реализуемому методами искусственного интеллекта. По мере того как все больше специалистов отдают предпочтение такому образу мышления, средства, используемые для решения обычных задач и задач искусственного интеллекта, будут становиться все более близкими. В этой главе читатель найдет: объяснение, почему исследования в области искусственного интеллекта и создание соответствующих приложений требуют применения языков программирования определенного вида; обсуждение специфических свойств таких языков, отличающих их от широко используемых в практике программирования задач обработки данных и научных расчетов; вводные сведения об основных концепциях языка LISP, который на определенном этапе стал основным языком программирования задач искусственного интеллекта; объяснение, почему LISP редко выбирается в качестве базового языка при построении экспертных систем; Объяснение, почему чаще используются более специализированные языки вроде CLIPS (подробное описание этого языка приведено в Приложении). Специализированные языки, объектно-ориентированный подход и программные инструментальные средства, предназначенные для построения экспертных систем, мы подробно рассмотрим в главах 5, 7 и 17. В этой же главе мы в первую очередь сосредоточим внимание на концепциях программирования и структурах, существенно влияющих на конструирование экспертных систем. Детали реализации и специфические приемы будут рассмотрены в соответствующих разделах других глав в контексте конкретных систем (главы 11-16). Одна из причин, по которой мы уделяем такое внимание языку LISP в этой главе, состоит в том, что многие языки, появившиеся на свет после него, имеют синтаксис, очень близкий синтаксису LISP (в частности, это относится к языку CLIPS), и включают очень много языковых конструкций, заимствованных из LISP. Однако при построении экспертных систем иногда используются языки, существенно отличающиеся от LISP, например PROLOG, которому будет уделено особое внимание в главе 8 при рассмотрении концепции логического программирования. Синтаксис, основанный на логическом формализме, который уже упоминался в главе 3 при обсуждении системы SRTIPS, имеет много общего с синтаксисом языка PROLOG. Символическое представление Понятие символ настолько распространено в современной теории и практике искусственного интеллекта, что важность его трудно переоценить. Именно на этом понятии базируются главные связи между проблематикой искусственного интеллекта и формальными системами математики и логики. Если воспользоваться самой понятной терминологией, то символ — это нечто, замещающее другое нечто. В этом определении "другое нечто" обычно называется значением (designation) символа. Это то, на что ссылается и что представляет символ. Значением может быть физический объект или понятие (концепт), но сам символ является физическим объектом. Так, цифра "7" является символом, представляющим число 7, которое является понятием. Идея, которая скрывается за термином "символические вычисления", состоит в том, что мы можем понимать под символом, с которым выполняются какие-то действия, все, что угодно. Языки программирования, основанные на этой парадигме, поддерживают множество простейших структур данных, связывающих одни символы с другими, а также примитивные операции манипулирования символами и структурами символов. Таким образом, программист должен специфицировать такие синтаксические правила формирования символических структур из символов, которые придают сформированным структурам смысл, зависящий от смысла компонентов; правила трансформации, регламентирующие преобразование одних символических структур в другие. Как правило, программы манипуляций с символами принимают в качестве исходной информации одну или более символических структур, представляющих исходное состояние решаемой проблемы, и возвращают символическую структуру, представляющую конечное состояние проблемы или ее решение, причем и вход, и выход должны иметь форму, удовлетворяющую оговоренные синтаксические правила, а преобразование входных символических структур в выходную должно выполняться только с использованием дозволенных правил трансформации. Программа на таком языке сама по себе также является символической структурой. Поэтому нет никаких формальных препятствий к тому, чтобы некоторая программа не могла рассматриваться в качестве исходных данных для другой, а отсюда следует вывод, что такое единообразие в представлении программ и данных очень полезно в контексте проблематики искусственного интеллекта. Но еще более важной является идея, что можно сделать нечто большее, чем просто сформулировать правила манипулирования символами, — мы можем воплотить эти символы вместе с правилами манипулирования ими в виде какого-то физического устройства. Отсюда следует очень, казалось бы, простая и в то же время очень продуктивная идея — идея физической символической системы.
|
||||
Последнее изменение этой страницы: 2021-07-18; просмотров: 113; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 52.15.70.0 (0.007 с.) |