Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2202 сфо 4 курс / методички / 06 Метод. указ. к контр. раб..doc
Скачиваний:
26
Добавлен:
20.04.2015
Размер:
386.56 Кб
Скачать

Тема 5. Программные средства для задач Систем Искусственного Интеллекта.

А. Языки программирования СИИ.

Программы для систем искусственного интеллекта можно составлять на любом языке программирования: Бейсике, Паскале, Фортране и т.п. Однако , вообще говоря, удобнее составлять программы СИИ на специальных языках.

Еще в 70-х годах прошлого века были разработаны два языка специально для программирования СИИ: ПрологиЛИСП. Но, так как в МГТА студенты эти языки не изучают, мы будем использовать для составления программ СИИ язык Бейсик.

Б. Бейсик –программа экспертной системы.

Ниже приводится бейсик -программа для разобранной в теме 4 задачи.

CLS

DIM U$(8, 2), F$(8, 2), L$(8), D$(8)

REM ВВОД БАЗЫ ЗНАНИЙ

U$(1, 1) = "СТАВКА": U$(2, 1) = "СТАВКА": U$(3, 1) = "РУБЛЬ": U$(4, 1) = "РУБЛЬ”

FOR I = 5 TO 8

U$(I, 1) = "БАНКСТАВ"

NEXT I

FOR I = 1 TO 4

U$(I, 2) = ""

NEXT I

FOR I = 5 TO 8

U$(I, 2) = "БАНКДОБ"

NEXT I

FOR I = 1 TO 7 STEP 2

F$(I, 1) = "ПАДАЕТ"

NEXT I

FOR I = 2 TO 8 STEP 2

F$(I, 1) = "РАСТЕТ"

NEXT I

FOR I = 1 TO 4

U$(I, 2) = ""

NEXT I

FOR I = 5 TO 8

U$(I, 2) = "БАНКДОБ"

NEXT I

FOR I = 1 TO 7 STEP 2

F$(I, 1) = "ПАДАЕТ"

NEXT I

FOR I = 2 TO 8 STEP 2

F$(I, 1) = "РАСТЕТ"

NEXT I

FOR I = 1 TO 4

F$(I, 2) = ""

NEXT I

F$(5, 2) = "ДОБАВИТЬ": F$(6, 2) = "ИЗЪЯТЬ": F$(7, 2) = "ИЗЪЯТЬ": F$(8, 2) = "ИЗЪЯТЬ»

L$(1) = "ЦЕНА": L$(2) = "ЦЕНА":

FOR I = 3 TO 8

L$(I) = "СТАВКА"

NEXT I

D$(1) = "РАСТЕТ": D$(2) = "ПАДАЕТ": D$(3) = "РАСТЕТ": D$(4) = "ПАДАЕТ":

D$(5) = "ПАДАЕТ": D$(6) = "ПАДАЕТ": D$(7) = "РАСТЕТ": D$(8) = "РАСТЕТ":

REM ВВОД ИСХОДНЫХ ДАННЫХ

INPUT "Введите имя W и значение G первой лингвистической переменной", W$, G$

IF W$ = "БАНКСТАВ" THEN PRINT "БАНКДОБ": INPUT "Введите имя и значение второй

Переменной»

IF W$ = "БАНКДОБ" THEN PRINT "БАНКСТАВ": INPUT "Введите имя и значение второй

Переменной»

REM РЕШЕНИЕ ЗАДАЧИ

0 FOR I = 1 TO 8

IF U$(I, 1) = W$ AND F$(I, 1) = G$ AND U$(I, 2) = W2$ AND F$(I, 2) = G2$ THEN SN = I: PRINT "SN=", SN

IF U$(I, 1) = W2$ AND F$(I, 1) = G2$ AND U$(I, 2) = W$ AND F$(I, 2) = G$ THEN SN = I: PRINT "Номер используемого правила", SN

NEXT I

FOR I = 1 TO 8

IF SN = I THEN V$ = L$(I): Z$ = D$(I): PRINT V$, Z$

NEXT I _

FOR I = 1 TO 8 _

IF U$(I, 1) = V$ AND F$(I, 1) = Z$ THEN W$ = V$: G$ = Z$: W2$ = "": G2$ = "": GOTO 50

NEXT

END

Напоминаем, что словом REMв бейсике обозначаются комментарии.

Первая часть программы - ввод базы знаний. Мы введем ее в виде нескольких массивов. Массив U$ (знак доллара означает, что переменная является строковой) содержит имена переменных из условной части базы. Так как в правилах 5 –6 участвуют одновременно по две переменных, то массивU$ - двумерный .МассивG$ включает в себя значения переменных из условной части правил. Он также двумерный. Оба массива приведены ниже на рис…...

Рис.2 Содержимое массивов U$ иG$.

Имена и значения переменных правой части правил занесены в массивы L$ иD$, представленных на рис…..

Рис.3.Содержимое массивов L$ и D$.

В программе значения массивов вводятся частично просто присвоением, частично присвоением в цикле.

Модуль ВВОД ИСХОДНЫХ ДАННЫХ содержит три оператора. Первым из них вводится имя и значение первой переменной условной части, вторым и третьим – имя и значение второй переменной.

В модуле РЕШЕНИЕ ЗАДАЧИ введенные переменные сравниваются с содержимым массивов U$ и G$ и тем определяется номер правила, соответствующего введенным переменным.

По номеру правила определяется и выводится на печать следствие (ТО).

Это следствие снова сравнивается с переменными условной части ( массив U$), и при наличии в условной части переменной, использованной в рассмотренном правиле следствия процесс повторяется.

На рис…. Приведен результат для одного из рассмотренных случаев.

Введите имя W и значение G первой лингвистической переменной "БАНКДОБ","ДОБАВИТЬ"

БАНКСТАВ

Введите имя и значение второй переменной" БАНКСТАВ","ПАДАЕТ"

Номер используемого правила = 5

СТАВКА ПАДАЕТ

Номер используемого правила =1

ЦЕНА РАСТЕТ

Рис.4. Результат решения задачи.

В начале компьютер просит ввести имя и значение лингвистической переменной. Вводится БАНКДОБ и ДОБАВИТЬ. Это значит, что клиент хочет узнать, как повлияет на биржу вбрасывание дополнительных денег центральным банком. Так как соответствующее правило в условной части использует две переменных, то компьютер просит ввести ее (подсказывая, что это переменная БАНКСТАВ) и ее значение. Клиент уточняет, что его интересует результат вбрасывания денег центральным банком при одновременном понижении им своей процентной ставки. Вводится переменная БАНКСТАВ и ее значение ПАДАЕТ. Компьютер сообщает, что заданные условия рассматриваются правилом 5 (Номер используемого правила=5) и происходит падение процентных ставок на бирже. Но так как переменная СТАВКА и ее значение ПАДАЕТ в следствии правила 5 имеется и в условной части правил, то вывод продолжается. Компьютер определяет номер правила, в условной части которого имеется эта переменная и ее соответствующее значение (Номер правила =1), исследует это правило и сообщает: ЦЕНА РАСТЕТ.

Окончательный ответ: Если центральный банк вбросит деньги на биржу и понизит свою процентную ставку, то процентная ставка на бирже упадет, а уровень цен на ней повысится.

ЗАДАНИЕ НА КОНТРОЛЬНУЮ РАБОТУ.

Студент выбирает вариант контрольной работы по последней цифре своего шифра.

Задача 1. Записать следующие выражения на языке алгебры логики.

Варианты: 0. Студент, не выполнивший учебный план, исключается из института.

1. Если на улице идет дождь, то пешеход, не имеющий зонта, промокнет.

2.Для создания систем искусственного интеллекта необходимо знание алгебры

логики, теории предикатов и теории нечетких множеств.

3.Инженер, не знающий математики и не работающий на компьютере, не

может выполнять работу.

4. Из Москвы в Петербург можно добраться на поезде , или на машине, или на

автобусе, или на самолете.

5. Семья – это отец, мать, дети, бабушка и дедушка.

6. Человек, летящий на самолете, является пилотом, стюардом или

пассажиром.

7. Мебель – это стол или диван, или шкаф, или стул.

8. В 21 веке добьется успеха только грамотный, культурный, хорошо

образованный, инициативный человек.

9. Экипаж космического корабля должен состоять из хорошо подготовленных

и психологически совместимых людей.

Задача 2. Используя законы алгебры логики, упростить следующие логические выражения:

Вариант 0.

1.

2.

3.

4.

5.

6.

7.

8.

9.

Задача 3. Представьте на языке логики предикатов следующее предложение русского языка:

Вариант 0. Не все студенты любят математику и физику.

1. Только один студент любит историю;

2. Только один студент любит как историю, так и

электронику;

3. Отставание по истории легче устранить, чем отставание по

электронике.

4. Любой охотник, не употребляющий дичь в пищу, вызывает

удивление.

5. Известны женщины, которые любят мужчин, не являющихся

охотниками.

6. Никто не любит охотника, который убивает дичь ради

развлечения.

7. Живет в городе охотник, который знаком со всеми

мужчинами-охотниками этого города.

8. Не все люди пьют утром кофе.

9. Существуют инженеры, которые являются плохими

специалистами

Задача 4. Подсчитать функцию принадлежности выполнения правила по заданным функциям принадлежности событий А, В, С,D.

Вариант 0 ЕСЛИ А (μ =0,3) И В (μ =0.6), ТО С (μ =0.5)

1 ЕСЛИ А (μ =0,4) И В (μ =0.5), ТО С (μ =0.6)

2 ЕСЛИ А (μ =0,5) И В (μ =0.4), ТО С (μ =0.7)

3 ЕСЛИ А (μ =0,6) И В (μ =0.3), ТО С (μ =0.8)

4 ЕСЛИ А (μ =0,7) И В (μ =0.2), ТО С (μ =0.9)

5 ЕСЛИ А (μ =0.8) И В (μ =0.1) ИЛИ D (μ =0.8), ТО С (μ =0.4)

6 ЕСЛИ А (μ =0.9) И В (μ =0.2) ИЛИ D (μ =0.7), ТО С (μ =0.5)

7 ЕСЛИ А (μ =0.8) И В (μ =0.3) ИЛИ D (μ =0.6), ТО С (μ =0.6)

8 ЕСЛИ А (μ =0.7) И В (μ =0.4) ИЛИ D (μ =0.5), ТО С (μ =0.7)

9 ЕСЛИ А (μ =0.6) И В (μ =0.5) ИЛИ D (μ =0.4), ТО С (μ =0.8)

Контрольные работы выполняются студентами в межсессионный период и сдаются в деканат в начале зачетно -экзаменационной сессии. В случае, если работы не сданы или не допущены к защите они выполняются в форме аудиторных контрольных работ на кафедре (или на территории соответствующего филиала) непосредственно в период сессии в дополнительное время. Лабораторные работы являются строго обязательной формой учебного процесса. Их пропуск, независимо от причин, означает последующую отработку. На кафедре ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ УПРАВЛЕНИЯ МГТА осуществляются бесплатные консультации и прием академических задолженностей по понедельникам и пятницам с 17 до 18.30. В эти же часы, или в другое согласованное время, по просьбе студентов проводятся дополнительные оплачиваемые занятия, в том числе и по контрольным работам.

Внимание абитуриентам!

Кафедра ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ УПРАВЛЕНИЯ МГТА приглашает абитуриентов, увлекающихся компьютерами, поступать учиться в Академию по специальности «Автоматизированные системы обработки информации и управления» (2202). Форма обучения – очная, срок обучения – 5 лет. По данной специальности Кафедра готовит квалифицированных инженеров (прикладных программистов) для работы в качестве системных аналитиков в самых широких областях деятельности: управление в экономике, муниципальном управлении, управление процессами в производстве и бизнесе, управление научными и техническими исследованиями, управление телекоммуникационными системами, управление в системах Интернет.

Контактные телефоны кафедры: (095) 270-66-00, 278-25-34;

Факс: (095) 270-66-00;