Кудрявцев, С.А. Кварталов А.Р., Егорушкин Е.О. (сост.). Методы искусственного интеллекта - файл n1.doc

Кудрявцев, С.А. Кварталов А.Р., Егорушкин Е.О. (сост.). Методы искусственного интеллекта
Скачать все файлы (1571 kb.)

Доступные файлы (1):
n1.doc1571kb.31.03.2014 10:32скачать

n1.doc

  1   2   3   4   5   6   7   8   9   ...   14
Федеральное агентство по образованию

Государственное образовательное учреждение

высшего профессионального образования

Нижегородский государственный технический университет
Кафедра “Автоматизация машиностроения”


МЕТОДЫ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА


Методические указания к лабораторным работам по дисциплине

“Методы искусственного интеллекта” для студентов специальностей

210200 и 210300 всех форм обучения

Нижний Новгород

2006


Составители: С.А. Кудрявцев, А.Р. Кварталов, Е.О. Егорушкин
УДК 007.52.62
Методы искусственного интеллекта. Метод. указания к лаб. работам по дисциплине “Методы искусственного интеллекта” для студентов специальностей 210200 и 210300 всех форм обучения/ НГТУ; Сост.: С.А. Кудрявцев, А.Р. Кварталов, Е.О. Егорушкин. Н.Новгород, 2006. с.
Методические указания предназначены для ознакомления студентов с методами, применяющимися при построении современных систем искусственного интеллекта.

Редактор
Подп. к печ. Формат 60х84 1/16. Бумага газетная. Печать офсетная. Печ.л. 4

Уч.-изд.л. . Тираж 100 экз. Заказ .




Нижегородский государственный технический университет.

Типография НГТУ. 603600, Н. Новгород, ул. Минина, 24.
© Нижегородский государственный

технический университет, 2006
Содержание


1. Лабораторная работа №1 «Основы МATLAB» 4

1.1. Цель лабораторной работы 4

1.2. Описание системы MATLAB 4

1.3. Основные операции над матрицами 8

1.4. Графическая визуализация вычислений 12

1.5. Основы трехмерной графики 17

1.6. Программирование в среде MATLAB 21

1.7. Задания к лабораторной работе № 1 25

2. Лабораторная работа №2 «Системы распознавания образов» 27

2.1. Цель лабораторной работы 27

2.2. Теоретическая часть 27

2.3. Задания к лабораторной работе № 2 38

3. Лабораторная работа №3 «Нейронные сети» 41

3.1. Цель лабораторной работы 41

3.2. Понятие нейрона 41

3.3. Архитектура нейронных сетей 43

3.4. Персептрон 45

3.5. Линейные сети 48

3.6. Обратное распространение ошибки 49

3.7. Работа с нейронными сетями в MatLab 50

3.8. Задания к лабораторной работе №3 53

4. Лабораторная работа №4 «Логическое программирование на языке Пролог» 54

4.1. Цель лабораторной работы 54

4.2. Основы языка Пролог 54

4.3. Структура программного обеспечения 59

4.4. Задания к лабораторной работе № 4 60


1.Лабораторная работа №1 «Основы МATLAB»



1.1. Цель лабораторной работы


Целью работы является изучение основных возможностей пакета MatLab, а также получение практических навыков работы с матрицами и средствами графической визуализации вычислений.

1.2.Описание системы MATLAB

      1. Краткая характеристика MATLAB


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


Рабочая среда MATLAB содержит следующие элементы:

Настройка окон рабочей среды производится с помощью меню View и View -> Desktop Layout
Дополнительные возможности MATLAB

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

Для удобства работы в состав MATLAB входит программа Simulink, которая позволяет выполнять моделирование систем в графическом виде. Simulink содержит библиотеку элементов (blocksets) для построения систем из отдельных блоков и позволяет соединять эти блоки друг с другом с помощью мыши.

      1. MATLAB в режиме прямых вычислений



Работа с системой в режиме прямых вычислений носит диалоговый характер и происходит по правилу «задал вопрос – получил ответ». Пользователь набирает на клавиатуре вычисляемое выражение, редактирует его (если нужно) в командном окне и завершает ввод нажатием клавиши ENTER.

Примеры:1

>>1+2

ans=3

>>ans/10

ans=0.08415

>>4*5; %(для блокировки вывода результата вычислений добавьте символ ";" (без кавычек) %в конец выражения)

>>sin(1)

ans=0.8415
Замечание:



      1. Понятие о математическом выражении



Центральным понятием всех математических систем является математическое выражение. Оно задает то, что должно быть вычислено в численном (реже символьном) виде. Но в отличие от других систем, эти выражения в MATLAB включают матрицы. Математические выражения строятся на основе чисел, констант, переменных, операторов, функций и разных спецзнаков.

Вот примеры простых математических выражений:

2.301*sin(x)

4+exp(3)/5

sqrt(y)/2

sin(pi/2)

      1. Действительные и комплексные числа



Число – простейший объект языка MATLAB, представляющий количественные данные. Числа можно считать константами, имена которых совпадают с их значениями:

2

-3

Возможно представление чисел в научном формате с указанием мантиссы и порядка чисел:

2.301

123.456e-24

-234.456e10

В мантиссе чисел целая часть отделяется от дробной не запятой, а точкой. Для отделения порядка чисел от мантиссы используется символ e. Пробелы между символами в числах не допускаются.

Числа могут быть комплексными: z=Re(x) + Im(x)*i.

3i

2j

2+3i

-3.14i

-123.456-3i
      1. Константы и системные переменные



Основные системные переменные (задаются системой при ее загрузке и могут переопределяться):

i или j – мнимая единица

pi – число "пи"

eps – погрешность операций над числами с плавающей точкой (2-52)

realmin – наименьшее число с плавающей точкой (2-1022)

realmax – наибольшее число с плавающей точкой (21023)

inf – значение машинной бесконечности

ans – переменная, хранящая результат последней операции

NaN – указание на нечисловой характер данных (Not-a-Number)

Бесконечность появляется при делении на нуль или при выполнении математи­ческого выражения, приводящего к переполнению, т.е. к превышению realmax. Не число (NaN) генерируется при вычислении выражений типа 0/0 или Inf- Inf, которые не имеют определенного математического значения.
Пример:

>>2*pi

>>eps

>>1/0

Inf

>>0/0

NaN

      1. Переменные и присваивание им значений



{Имя_переменной} = {выражение}

В MATLAB нет необходимости в определении типа переменных или размерно­сти. Когда MATLAB встречает новое имя переменной, он автоматически созда­ет переменную и выделяет соответствующий объем памяти. Если переменная уже существует, MATLAB изменяет ее состав и если это необходимо выделяет дополнительную память. Например, если мы назначим:

a = 25,

система создает матрицу 1x1 с именем а и сохраняет значение 25 в ее един­ственном элементе. Имя переменной может содержать сколько угодно символов, но запоминается и идентифицируется только 31 начальный символ. Имя должно начинаться с буквы, может содержать буквы, цифры и символ подчеркивания. Недопустимо включать в имена переменных пробелы и спец. знаки +, - и т.д.
Уничтожение определений переменных:

who и whos– вывести список имеющихся переменных;

clear – уничтожение определений всех переменных;

clear x – уничтожить только x;

clear a, b, c – только a, b и c;

      1. Операторы



Простейшие алгебраические:

+ сложение

- вычитание

* умножение

/, \ деление

^ степень

' комплексно сопряженное транспонирование

() определение порядка вычисления
Отношения:

< - меньше

> - больше

<= - меньше или равно

>= - больше или равно

== - равно

~= - не равно
      1. Функции



MATLAB предоставляет большое количество элементарных математических функций, таких как abs, sqrt, exp, sin. Вычисление квадратного корня или лога­рифма отрицательного числа не является ошибкой: в этом случае результатом является соответствующее комплексное число. MATLAB также предоставляет и более сложные функции, включая Гамма функцию и функции Бесселя. Боль­шинство из этих функций имеют комплексные аргументы. Чтобы вывести спи­сок всех элементарных математических функций, наберите:

help elfun

Для вывода более сложных математических и матричных функций, наберите

help specfun

help elmat

Некоторые функции, такие как sqrt и sin, - встроенные. Они являются частью MATLAB, поэтому они очень эффективны, но их вычислительные детали труд­но доступны. В то время как другие функции, такие как gamma и sink, реализо­ваны в виде программного кода в М-файлах. Поэтому вы можете легко увидеть их код и, в случае необхо­димости, даже модифицировать его.
      1. Форматы вывода результата вычислений



По умолчанию MATLAB выдает числовые результаты в нормализованной форме с четырьмя цифрами после десятичной точки и одной до нее. Однко это не всегда удобно, поэтому в MATLAB предусмотрена возможность задавать различные форматы представления чисел.
Для установки формата используется команда:
>>format name, где name – имя формата
short – короткое представление в фиксированном формате (5 знаков)

short e – короткое представление в экспоненциальном формате (5 знаков мантиссы и 3 знака порядка)

long – длинное представление в фиксированном формате (15 знаков)

long e – (15 знаков мантиссы и 3 знака порядка)

hex – представление чисел в шестнадцатеричной форме

bank – представление для денежных единиц
Задание формата сказывается только на форме вывода чисел. Вычисления все равно происходят в формате двойной точности, а ввод возможен в любом удобном для пользователя виде. Альтернативный вариант задания формата представления числовых данных осуществляется через File -> Preferences -> Command Window -> Numeric Format.
  1   2   3   4   5   6   7   8   9   ...   14
Учебный текст
© perviydoc.ru
При копировании укажите ссылку.
обратиться к администрации