- •Лекция 1. Общие сведения об интеллектуальных системах.
- •Лекция 2. Основные понятия нейробиологии. Нейроны. Нейронные сети.
- •Модель Маккаллока—Питтса
- •Другие модели.
- •Лекция 3. Конечные автоматы и нейронные сети.
- •Лекция 4. Машины Тьюринга.
- •Лекция 5. Рекурсивные множества и тезис Тьюринга. Идея эффективной процедуры.
- •Лекция 6. Регулярные и представимые события
- •Лекция 7. Нейронные сети. Методы обучения нейронных сетей
- •Обучение однослойного персептрона
- •Обучение многослойного персептрона
- •Обучение без учителя
- •Нейронные сети Хопфилда и Хэмминга
- •Лекция 8. Персептрон Розенблатта
- •Лекция 9. Теорема Новикова
- •Лекция 10. Постановка задач распознавания.
- •1. Принцип перечисления членов класса
- •2. Принцип общности свойств
- •3. Принцип кластеризации
- •1. Эвристические методы
- •2. Математические методы
- •3. Лингвистические (синтаксические) методы
- •Простая модель распознавания образов.
- •Лекция 11. Структура знания. Представление знаний об окружающей среде
- •Модель окружающей среды. Исходные понятия
- •Формальные и неформальные отношения.
- •Природа времени.
- •Лекция 12. Представление знаний и вывод на знаниях Данные и знания
- •Модели представления знаний
- •Вывод на знаниях
- •Нечеткие знания
- •Лекция 13. Введение в основы нечеткой логики
- •Лекция 14. Экспертные системы, базовые понятия
- •Лекция 15. Машинная эволюция
- •Лекция 16. Игровые программы.
- •Конец повторять
- •Лекция 17. Интеллектуальные системы в Интернет
- •Машины поиска.
- •Неспециализированные и специализированные поисковые агенты
- •Системы интеллектуальных поисковых агентов
- •Система marri
- •Оглавление.
Лекция 3. Конечные автоматы и нейронные сети.
Пусть нейронная сеть Nсостоит изgнейронов, имеетmвходных иrвыходных линий.
Будем говорить, что задан входсетиN, если известно, какие входные линии возбуждены, а какие— не возбуждены. Так как значения «возбужден» и «не возбужден»mвходным линиям можно приписать 2m различными способами, то в сетиNимеется 2mвходов. Аналогично в ней имеется 2rвыходов.
Будем говорить, что задано состояниесетиNв моментt,если известно, какие нейроны в этот момент возбуждены, а какие не возбуждены. Таким образом,Nимеет 2gсостояний.
Обозначим через Qмножество состояний, черезX —множество входов и черезY— множество выходов сетиN.Возбуждение любого нейрона сетиNв моментt+1определяется тем, какие входы этого нейрона возбуждены в моментtи, следовательно, определяется состоянием и входом всей сетиNв моментt.Но это означает, что вход и состояние сети в моментtоднозначно определяют выход и состояние сети в моментt+1. Следовательно, конечный автомат теперь можно определить как простое обобщение нейронной сети. В дальнейшем конечный автомат будем рассматривать как «черный ящик» с конечным числом входов, конечным числом «внутренних состояний» (это могут быть либо состояния нейронной сети, либо позиции зубцов часового механизма и т. п.) и конечным числом выходов. Предполагаем, что вход и состояние в моментtопределяют выход и состояние в моментt+1.Более точно эти требования можно сформулировать следующим образом.
Определение 3.1.Конечным автоматомназывается пятерка
А=(Х, Y, Q, , ),
где Х – конечное множество (множество входов),Y – конечное множество (множество выходов),Q – конечное множество (множество внутренних состояний),:QXQ – функция перехода),: QXY – функция выхода. Предполагается, чтоАработает в дискретной шкале времени так, что если в моментtон находился в состоянииqи воспринимал входа, то в моментt+1он перейдет в состояние(q,a), а(q,а)будет его выходом.
Легко видеть, что любая нейронная сеть является конечным автоматом. Аналогично, что любой конечный автомат можно заменить подходящей нейронной сетью.
Действительно, пусть конечный автомат Аимееттвозможных входовиrвозможных выходов.Сопоставим этому автомату нейронную сетьN с т входными линиями (заметим, чтоN,таким образом, имеет 2mвходов)иrвыходными линиями.ВходxjавтоматаАсопоставим такому входу сетиN,в котором возбуждена толькоhj-я входная линия. Аналогично определим выход, сетиN.Искомая сетьN состоит изтп+rнейронов:тпнейронов сопоставляются возможным парам «вход—состояние» автоматаА,а остальныеrнейронов — выходамА.Нейрон, соответствующийk-му состоянию иj-му входу автоматаA, обозначим(k, j), а нейрон, который соответствуетk-му выходу, обозначим(k).Выходная линияpkнашей сетиNподсоединена к нейрону(k).
Нейроны соединим таким образом, чтобы нейрон (k, j)возбуждался в моментt+1тогда и только тогда, когда автоматАв моментtимеет входхjи находится вk-м состоянии; нейрон(k)возбуждается в моментt+1тогда и только тогда, когда автоматАв моментtдает выходyk.
Пусть ,т. е. это множество таких пар«состояние — вход»,которые переводят автоматАвсостояние k.Тогда нейрон(k,s)должен быть возбужден в моментt+1тогда и только тогда, когда
т. е. тогда и только тогда, когда автомат Ав моментt находится вk-м состоянии и имеетs-й вход.
Пусть
,
т. е. это множество таких пар «состояние – выход», при которых автоматАимеетвыход k.
Тогда нейрон (k)возбужден в моментt+1тогда и только тогда, когда.
Легко убедиться, что каждый нейрон сети Nдействительно может быть реализован при условии подходящего выбора весов и порога. Таким образом, наша сетьNудовлетворяет следующей теореме.
Теорема 3.1.Пусть А=(Х, Y, Q, , ) - произвольный конечный автомат, где
, , .
Тогда существуют нейронная сеть Nи подмножества ее входов, выходов, состоянийтакие, что если автоматA, первоначально находящийся в состоянии qj, под действием входавыдает, то сетьN, первоначально находящаяся в состоянииqj,noд действием входоввыдает.Это означает, что любой автомат с заданным поведением «вход—выход» можно заменить подходящей нейронной сетью с тем же поведением.
Исходя из того, что любой конечный автомат можно заменить нейронной сетью, теперь нетрудно убедиться в том, что нейронные сети способны хранить информацию и производить вычисления. Для этого достаточно показать, что любая цифровая вычислительная машина может быть представлена в виде надлежащего соединения конечных автоматов, поскольку нам известно, что возможно заменить эти автоматы нейрон сетями. Цифровая вычислительная машина является, конечно, менее «интеллектуальным» объектом, нежели мозг. Здесь же мы только хотим показать, что наша модель мозга, как бы груба она ни была, относится к категории вычислительных машин.
Любая цифровая вычислительная машина обычно состоит из четырех устройств: устройства ввода и вывода, устройства памяти, устройства управления и арифметического устройства. Устройство ввода и вывода служит для чтения команд и исходных данных с входной ленты и их пересылки в устройство памяти и, наоборот, для вывода из устройства памяти результатов вычислений на выходную ленту. Устройство памяти состоит из конечного числа «ячеек», каждая из которых имеет свой адрес и вмещает одно «слово», где «слово» может быть как числом (исходные данные, промежуточный или окончательный результат), так и командой. Устройство управления в каждый такт работы машины выбирает из устройства памяти по одной команде и выполняет ее. Если эта команда является операцией ввода или вывода или операцией обращения к устройству памяти, то устройство управления приводит в действие либо устройство ввода и вывода, либо устройство памяти; если команда является арифметической операцией, то устройство управления приводит в действие арифметическое устройство; если условным переходом, то оно осуществляет необходимую проверку и принимает решение о выполнении следующей команды.
Построив для каждого устройства конечный автомат, выполняющий необходимые функции, соединив их (конечные автоматы) надлежащим образом мы получим цифровую вычислительную машину в виде набора конечных автоматов.