пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

95. Понятие искусственного интеллекта. Логический подход к его созданию. Факты и правила. Язык предикат. Декларативный и процедурный смысл предикатов.

 

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

В настоящее время основными направлениями, в которых активно применяются методы ИИ являются:

1. Создание экспертных систем. Экспертные системы предназначены для установления какого-либо предмета или явления по его признакам. Причем эти системы не только выдают решение, но и объясняют его.

2. Автоматизированный логический вывод. 3. Решение задач ситуационного управления, т.е. создание систем управления процессами, работу которых тяжело или невозможно описать формальными алгоритмами, например, “диспетчер в аэропорту”. 4. Решение задач распознавания образов (распознавание печатных знаков, человеческого голоса). 5. Разработка эффективных поисковых систем в банке данных или в Internet’e. 6. Организация диалога между ЭВМ и пользователем на естественных языках. 7. Разработка качественных электронных переводчиков с одного естественного языка на другой.

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

 

Логический подход к созданию систем ИИ

С самого начала исследований в области моделирования процесса мышления (конец 40-х годов) выделились два до недавнего времени практически независимых направления: логическое и нейрокибернетическое. Первое было основано на выявлении и применении в интеллектуальных системах различных логических и эмпирических приемов (эвристик), которые применяет человек для решения каких-либо задач. В дальнейшем с появлением концепций "экспертных систем" (ЭС) (в начале 80-х годов) это направление вылилось в научно-технологическое направление информатики "инженерия знаний", занимающееся созданием т.н. "систем, основанных на знаниях" (Knowledge Based Systems). Именно с этим направлением обычно ассоциируется термин "искусственный интеллект" (ИИ).

Логическое направление можно рассматривать как моделирование мышления на уровне сознания или вербального мышления. Его достоинствами являются:

• возможность относительно легкого понимания работы системы;

• легкость отображения процесса рассуждений системы на ее интерфейс с

пользователем на естественном языке или каком-либо формальном языке;

• достижимость однозначности поведения системы в одинаковых ситуациях.

Недостатками этого подхода являются:

• трудность и неестественность реализации нечетких знаков

• трудность (или даже невозможность) реализации адекватного поведения

в условиях неопределенности (недостаточности знаний, зашумленности дан-

ных, не точно поставленной цели и т.п.);

• трудность и неэффективность распараллеливания процесса решения задач.

 

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

папа (Вова, Лена); - Вова - папа Лены

Правило – это предложение, истинность которого зависит от истинности одного или нескольких предложений.

Логика - это наука, изучающая правильность суждений, рассуждений и доказательств. Примеры суждений: «снег белый», «2´2 = 5», «Земля круглая», «информатика - наука», «генетика - лженаука». Суждения могут быть истинными или ложными. Истинность или ложность суждений проверяется их соответствием действительности. Математическая логика с самого начала использовалась для описания элементов и узлов ЭВМ, а теория алгоритмов - для описания компьютерных программ. Основными объектами в математической логике являются - высказывания и предикаты. Первые изучаются в исчислении высказываний, а вторые - в исчислении предикатов.

Высказывания - это суждения, о которых может быть известно - что они истины или ложны. В исчислении высказываний не исследуется - о чем утверждается в этих суждениях. Высказывания обычно обозначаются отдельными буквами или буквами с возможными индексами. Примеры простых высказываний и их обозначений: А = «снег белый» С математической точки зрения высказывания - это переменные, принимающие значения «истина» или «ложь». Эти два истинностных значения иногда заменяются словами «да», «нет», либо цифрами 1 и 0.

Предикаты - это суждения о некоторых переменных объектах или их свойствах. Примеры предикатов:

А(х) = «цвет яблока - х» В(х, у) = «х < у» где х, у - это некоторые переменные (объекты).

В информатике для обозначения переменных, функций и предикатов, а также их аргументов обычно используются осмысленные слова и словосочетания в целях простоты их ввода в ЭВМ. Например, предикаты, используемые для описания фактов в языке Пролог, обычно имеют обозначения, выражаемые в лексике родного языка: любит (Маша, х);

В форме предикатов с конкретными аргументами-значениями могут быть описаны факты любой базы данных. Примеры описания фактов из базы данных в записи на языке Пролог: любит (Маша, цветы) - Маша любит цветы

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

Основной особенностью системы Пролог являются встроенные процедуры логического вывода, имитирующие способность человеческого интеллекта выполнять логические умозаключения. Основная идея Пролога как языка записи фактов, вопросов и правил заключается в том, что они записываются в форме предикатов математической логики. Все они интерпретируются ЭВМ строго в соответствии с законами математической логики и ни чем более. Основные конструкции языка Пролог - это факты, вопросы и правила. Все эти три конструкции записываются в форме предикатов и их комбинаций. Рассмотрим правила их записи на языке Пролог. Факты - это конкретные сведения о ком-то либо о чем-то. Факты на языке Пролог записываются в форме предикатов с конкретными аргументами-значениями. Примеры записи фактов на Прологе: папа (Вова, Лена); - Вова - папа Лены

Вопросы на Прологе - это запросы к совокупности данных или процедурам, хранящимся, в ЭВМ. Запись вопросов начинается со знака ?, за которым записывается предикат или группа предикатов, разделяемых запятыми. Примеры записи простых вопросов на языке Пролог:

? папа (х, Лена) - Кто папы Лены? х = Вова

При записи сложносоставных вопросов в языке Пролог можно указывать несколько условий-предикатов, разделяемых запятыми. Запятая в этих сложносоставных вопросах играет роль логической связки и. Примеры сложносоставных вопросов: ? мама (х, у), мама (у, Оля) - Кто мама у мамы Оли? х = Зина у = Люба

Декларативный и процедурный смысл программ

Стоит различать два уровня смысла программы на Прологе, а именно: декларативный смысл и процедурный смысл.

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

 

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

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

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

 


12.06.2014; 21:20
хиты: 2312
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь