- •Лекция 1. Общие сведения об интеллектуальных системах.
- •Лекция 2. Основные понятия нейробиологии. Нейроны. Нейронные сети.
- •Модель Маккаллока—Питтса
- •Другие модели.
- •Лекция 3. Конечные автоматы и нейронные сети.
- •Лекция 4. Машины Тьюринга.
- •Лекция 5. Рекурсивные множества и тезис Тьюринга. Идея эффективной процедуры.
- •Лекция 6. Регулярные и представимые события
- •Лекция 7. Нейронные сети. Методы обучения нейронных сетей
- •Обучение однослойного персептрона
- •Обучение многослойного персептрона
- •Обучение без учителя
- •Нейронные сети Хопфилда и Хэмминга
- •Лекция 8. Персептрон Розенблатта
- •Лекция 9. Теорема Новикова
- •Лекция 10. Постановка задач распознавания.
- •1. Принцип перечисления членов класса
- •2. Принцип общности свойств
- •3. Принцип кластеризации
- •1. Эвристические методы
- •2. Математические методы
- •3. Лингвистические (синтаксические) методы
- •Простая модель распознавания образов.
- •Лекция 11. Структура знания. Представление знаний об окружающей среде
- •Модель окружающей среды. Исходные понятия
- •Формальные и неформальные отношения.
- •Природа времени.
- •Лекция 12. Представление знаний и вывод на знаниях Данные и знания
- •Модели представления знаний
- •Вывод на знаниях
- •Нечеткие знания
- •Лекция 13. Введение в основы нечеткой логики
- •Лекция 14. Экспертные системы, базовые понятия
- •Лекция 15. Машинная эволюция
- •Лекция 16. Игровые программы.
- •Конец повторять
- •Лекция 17. Интеллектуальные системы в Интернет
- •Машины поиска.
- •Неспециализированные и специализированные поисковые агенты
- •Системы интеллектуальных поисковых агентов
- •Система marri
- •Оглавление.
Лекция 1. Общие сведения об интеллектуальных системах.
Термин «интеллектуальная система» вряд ли можно считать достаточно определенным, ибо в него входят два слова, каждое из которых вызывает трудности для точного истолкования. Кроме того, само содержание понятия «интеллектуальная система» постоянно меняется с развитием науки об искусственном интеллекте и с развитием наших представлений о том, какую систему мы склонны наделять хотя бы малой долей интеллекта.
Определение 1.1.Система называетсяинтеллектуальной, если в ней реализованы следующие три основные функции:
1. Она способна накапливать знания об окружающем, систему мире, классифицировать и оценить их с точки зрения прагматической полезности и непротиворечивости, инициировать процессы получения новых знаний, осуществлять соотнесение новых знаний с ранее хранившимися.
2. Она способна на пополнение поступивших знаний с помощью логического вывода, отражающего закономерности в окружающем систему мире или в накопленных ею ранее знаниях, получать обобщенные знания на основании более частных знаний и логически планировать свою деятельность.
3. Она способна общаться с человеком на языке, максимально приближенном к естественному человеческому языку и получать информацию от каналов аналогичных тем, которые использует человек при восприятии окружающего его мира (прежде всего зрительный и акустический каналы), уметь формировать «для себя» или по просьбе человека объяснение собственной деятельности (т. е. отвечать на вопросы типа: «Как я это сделал?»), оказывать человеку помощь за счет тех знаний,, которые хранятся в памяти, и тех логических средств рассуждений, которые присущи системе.
Введенные функции кратко можно назвать» функция представления и обработки знаний, функция рассуждений и функция общения. Это совершенно не означает того, что в любой интеллектуальной системе должны быть реализованы все те возможности, которые были указаны в нашей расшифровке. Возможно, что чего-то не будет. Но возможно, что при реализации этих функций возникнет нечто такое, чего нет в наших пояснениях к содержанию основных функций интеллектуальной системы. Важно лишь то, что в некотором виде, достаточном для того, чтобы не сомневаться в наличии интеллекта у искусственной системы, в ней реализованы все три основные функции.
Рис. 1.1. Схема интеллектуальной системы
Схематически на рис. 1.1 показана некоторая интеллектуальная система. Схема эта весьма условна. Мы видим на ней совокупность блоков, относящихся к трем основным функциям интеллектуальных систем. В базе знаний сосредоточены все те знания, которыми располагает система, а также средства преобразования знаний, которые нужны системе. Вся совокупность этих блоков образует то, что принято называть машиной базы знанийили простомашиной знаний.Как видно из рисунка, знание различного типа хранятся в различных базах.
В базе фактовхранятся единичные факты, носящие конкретный характер. Например: «сейчас Петя в школе», «вчера шел дождь», «входная температура больше 30°» и т. п.
В базе правилхранятся элементарные выражения, называемые в теории искусственного интеллектапродукциями.Продукции имеют различный вид. Приведем некоторые из возможных видов продукций: «если давление повышается более 50 атмосфер, то надо снизить температуру в котле», «если в вагоне метро нет свободных мест и ты сидишь, то, если в вагон вошел инвалид, а ты не являешься инвалидом или другим человеком, для которого стоять трудно, уступи ему место», «если хочешь быть здоровым, то занимайся гимнастикой». Из этих примеров видно, что основу продукций составляют выражения типа: Еслих,тоу.В ниххиграет роль условия, выполнение которого требует реализации заключенияу.
База процедурсодержит то, что в обычных вычислительных машинах называетсяприкладными программами. Спомощью процедур выполняются все необходимые вычисления, преобразования и другие нужные системе последовательности внутренних действий. Примерами задач, решаемых за счет хранимых процедур, могут служить: нахождение максимального числа в заданном массиве, вычисление значенияsinхдля заданного значения аргумента,. нахождение производной некоторого выражения и т. п.
База закономерностейсодержит в себе различные сведения, относящиеся к особенностям той среды, в которой действует система. Если, например, весь интеллект системы сосредоточен на решении задач планиметрии треугольника, то в этой базе могут храниться такие закономерности: «сумма углов треугольника равна 180°», «сумма любых двух сторон треугольника должна быть больше третьей стороны», «медиана — линия, проведенная из угла треугольника так, что точка ее пересечения с той стороной треугольника, которая не участвовала в образовании угла, из которого проводится медиана, делит эту сторону пополам» и т. п. При другом назначении системы (в теории искусственного интеллекта говорят обычно опроблемных областях,в которых работает система) набор закономерностей может быть другим.
База знаний о себесодержит списки того, что хранится в данный момент в остальных базах, сведения о том, как внутри системы представляются единицы информации различного типа, как взаимодействуют отдельные части системы, как было получено решение той или иной конкретной задачи. Другими словами; в этой базе хранятся на том или ином уровне подробности описания самой системы и способов ее функционирования.
Наконец, база целейсодержит в себе целевые структуры, позволяющие организовать процессы движения от исходных фактов, правил и процедур к достижению той цели, которая поступила в систему от пользователя или сформирована в самой системе в процессе ее деятельности в среде. Такие целевые структуры в теории искусственного интеллекта называютсценариями.
Наконец, монитор машины, базы знаний —это ее орган управления. Монитор осуществляет управление всеми базами, входящими в базу знаний, и организует их взаимодействие между собой. С его же помощью осуществляются и внешние связи базы знаний. Часть этих связей (наиболее важные) показана на рис. 1.1. Менее важные связи, а также связи внутри машин, выделенных пунктиром, не показаны, чтобы не загромождать рисунок.
Машина базы знаний реализует первую основную функцию интеллектуальной системы. Другая машина, называемая обычно решатель,имитирует в интеллектуальных системах выполнение второй основной функции. Эта машина, как и машина базы знаний, состоит из ряда блоков, управление которыми осуществляет монитор решателя. Блок дедуктивного вывода в решателе реализует дедуктивные рассуждения, с помощью которых на основании общих закономерностей из базы закономерностей, конкретных фактов из базы фактов и правил вывода из базы правил выводятся новые факты. С помощью этого же блока происходит поиск пути на сценариях при заданной конечной цели.
Пусть, например, на вход системы поступила задача (цель) в следующем виде: «Сообщить Х оневозможности встречи». Тогда дедуктивный блок вызывает в рабочее поле памяти решателя из базы целей сценарий передачи сообщения, примерный вид которого мы только что обсуждали. Рабочее поле памяти необходимо для того, чтобы при использовании информации из базы знаний не искажать ее различными преобразованиями, нужными для решения данной задачи.
После нахождения в базе целей нужного сценария начинается движение по его вершинам. Прежде всего, проверяется утверждение, связанное с вершиной 1.Для этого дедуктивный блок обращается к базе фактов, где хранится нечто вроде телефонного справочника. Если поиск в ней оказывается безуспешным, то считается, что уХтелефона нет. Это приведет к отказу от движения по первым двум ветвям сценария. Если же телефон обнаружится, то дедуктивный блок ищет в базе знаний о себе информацию о наличии телефона у системы (соответствующая стрелка на рис. 1.2 не показана, как редко используемая). Если телефон уХобнаружился, то от вершины3сценария осуществляется переход к вершине8.Этой вершине соответствует целая процедура — звонок по телефону. Она состоит из набора продукций типа: «если телефон имеется, то подойди к нему и сними трубку», «если слышишь непрерывный гудок, то набери номер X», «если слышишь короткие частые гудки, то положи трубку и перейди снова ко второй по счету продукции» и т. п.
Дедуктивный решатель проводит вывод в формальной системе с заданным набором аксиом, хранящихся в базах правил, закономерностей и знаний о себе, интерпретацией (означиванием) переменных за счет информации, имеющейся в базе фактов, и со стратегией вывода, задаваемой сценариями из базы целей и теми встроенными процедурами, которые имеются в блоке дедуктивного вывода (например, метода прямой или обратной волны движения по сценарию, метода резолюции и т. д.). В своей жизни мы, конечно, не всегда действуем строго логично. К этому есть немало причин. Часто мы не располагаем необходимой для строго логического вывода информацией, а бывает так, что решение надо принять в условиях ограниченного времени, когда невозможно провести все многошаговые рассуждения. Поэтому человеческие рассуждения носят не только дедуктивный характер. Стремясь минимизировать длину дедуктивных рассуждении, уменьшить число различных сценариев, сократить число фактов, хранящихся в базе фактов, мы очень часто прибегаем к обобщению понятий и фактов, стремимся заменить рассуждения о конкретных фактах рассуждениями о множестве таких фактов постоянно ищем в множестве известных нам фактов связывающие их правила и закономерности.
Вся эта работа ложится на блоки индуктивного вывода и правдоподобного вывода, входящие в решатель.
Рассмотрим следующий пример. Предположим, что в базе фактов хранятся следующие конкретные наблюдения, полученные от рецепторов: «третьего дня светило солнце, температура была 14°, дул сильный северо-восточный ветер, Наташа гуляла», «позавчера небо было затянуто тучами, солнца не было видно,, температура была 14°, Наташа гуляла», «вчера ярко светило солнце, температура была 14°, дул легкий южный ветер, Наташа гуляла», «сегодня ярко светит солнце, температура 10°, дует сильный северо-восточный ветер, Наташа не гуляет». Давайте подумаем, какую связь можно вывести из этих фактов? Что общего есть в них? Прежде всего выделим то, что нас интересует в приведенных описаниях, относительно чего мы будем искать связи. Предположим, что нас очень интересует Наташа. Например, когда она гуляет, то можно, воспользовавшись этим, встретиться с нею и сообщить ей о своих чувствах. Но важно не ошибиться, все рассчитать и выйти на улицу наверняка. Анализируя условия, при которых Наташа гуляла, мы обнаруживаем, что во всех трех известных нам примерах ситуаций, в которых прогулка имела место, присутствует фактор «температура была 14°». Смена температуры, как это было в факте, относящемся к сегодняшнему дню, привела к тому, что Наташа от прогулки отказалась. Из этого анализа можно сделать вывод, представляющий собой продукцию вида: «если температура равняется 14°, то Наташа гуляет».
Верно ли наше наблюдение? Если относительно прогулок Наташи в базе фактов нет иных фактов, кроме тех, которые мы использовали при выводе правила то можно с уверенностью сказать, что правило верно отражает текущее состояние базы фактов. Но мы отнюдь не гарантируем того, что правильно сможем прогнозировать поведение Наташи на будущее. Ведь то, что она не вышла сегодня на прогулку, может означать многое иное, чем результат смены температуры. Например, Наташа могла заболеть, уехать куда-нибудь, быть слишком занята и т. п. Тем не менее, как может почувствовать каждый читатель, вывод, полученный нами индуктивным путем, весьма близок к тем, которыми пользуются люди. Наши наблюдения за окружающим миром и поведением других людей всегда принципиально неполны, но если бы мы не делали постоянно умозаключении индуктивного типа, не вырабатывали бы все время новые правила и не искали бы новые закономерности, то вряд ли мы смогли бы выжить в нашем сложном и динамичном мире.
Для того чтобы оградить себя от возможных ошибок, можно использовать определенные указатели правдоподобия сформированного нами правила. Можно, например, сформулировать его так: «почти всегда, когда температура воздуха равна 14°, Наташа гуляет», или еще осторожнее: «часто, когда температура воздуха равна 14°, Наташа гуляет». Такие правила носят не абсолютный, а правдоподобный характер. Правила такого типа очень любимы людьми. И недаром в естественных языках так много слов и выражений, отражающих степень правдоподобности фактов и правил. Примерами могут служить: вероятно, с большой долей уверенности, часто, почти никогда, много рази т. п.
Чтобы работать с такими правилами и делать с их помощью умозаключения, в решатель включен блок правдоподобного вывода.В этом же блоке моделируются рассуждения по аналогии и ассоциации. Суть этих процессов состоит в перенесении свойств, выявленных для одних фактов, явлений или процессов, на другие, которые по некоторым признакам мы считаем похожими на уже изученные. Такой перенос, конечно, не гарантирует от ошибок. И когда мы видим человека, отравившегося ягодами кустарника, называемого в народе «волчье лыко», то мы понимаем, в чем его ошибка. Ягоды волчьего лыка чрезвычайно привлекательны для нас из-за своей схожести с многими съедобными ягодами. Но чаще всего рассуждение по аналогии бывает успешным, и в человеческой практике такие рассуждения занимают важное и почетное место, как и близкие к ним по духу рассуждения по ассоциации.
Работа функционального блокапроста. С его помощью производятся действия с числами и те математические символьные преобразования, к которым мы привыкли со школы. Этот блок в какой-то мере традиционен и делает работу, выполняемую с успехом современными вычислительными машинами.
Все поведение человека, как речевое, так и в виде последовательности действий, обычно подчинено некоторой цели. И, как правило, заранее спланировано. Если исключить случаи аффектов или безусловно-рефлекторного поведения, то мы всегда обнаружим некоторую предварительную стадию связанную с обдумыванием и планированием. Планирование может быть многоуровневым. Сначала мы планируем на очень «грубом» уровне, потом спускаемся к более детальному плану, а в процессе его реализации можем вносить в него коррективы, необходимые из-за получения новой информации об окружающей среде, людях, с которыми мы контактируем, и о своих возможностях. Этими процедурами и занимается блок планирования,показанный в нашей схеме интеллектуального устройства.
Третья основная функция интеллектуальной системы — функция общенияреализована на нашей схеме в виде двух отдельных блоков. В один из них входят рецепторы и эффекторы. С помощьюрецепторовинформация от органов чувств искусственной системы (ее глаз, ушей, тактильных датчиков и т. п.) поступает в базу фактов, А с помощью эффекторовискусственная система может передвигаться в среде, брать отдельные предметы и что-то делать сними. Канал общения, имитируемый этим блоком, это невербальное общение, о котором много говорилось в этой книге. Если говорить об общении с партнером-человеком, то с помощью рецепторов и аффекторов можно организовать тот невербальный канал общения (мимика, жесты, звуковые сигналы и т. п.), без которого истинное общение для человека заменяется общением с «бездушной» машиной, а значительная часть информации для искусственной системы просто теряется.
Общение же на естественном языке происходит с помощью той системы, которая показана на рис. 1.1 внизу.