bcd70132f27a448ab4b06ca73a5a9c57
.docxСанкт-Петербургский государственный университет телекоммуникаций
им. проф. М.А. Бонч-Бруевича
факультет Информационных систем и технологий
Отчёт по лабораторной работе №5
Тема: «Функциональные семантические сети»
Предмет: Интеллектуальные информационные системы
Выполнил: студент группы
Санкт-Петербург
2012
Цель работы: Познакомиться с математическими моделями представления знаний. Выполнить поиск решения на функциональных семантических сетях с использованием алгоритмов прямой волны и обратной волны.
Задание:
Вариант 1. Даны сторона треугольника a и два прилежащих к ней угла С и В. Требуется определить площадь треугольника S.
Ход работы:
В табл. 1 указаны основные соотношения, связывающие параметры треугольника, где a, b, c – стороны треугольника, A, B, C – его углы, ha, hb, hc – высоты (высота ha проведена к стороне а, высота hb – к стороне b и высота hс – к стороне с), p – периметр и S – площадь треугольника.
Таблица 1
Обозначение |
Математическое отношение |
Параметры, связанные отношением |
F1 |
A + B + C - = 0 |
A, B, C |
F2 |
A, B, a, b |
|
F3 |
B, C, b, c |
|
F4 |
A, C, a, c |
|
F5 |
A, a, b, c |
|
F6 |
B, a, b, c |
|
F7 |
c2 a2b2 2abcosC |
C, a, b, c |
F8 |
pabc |
p, a, b, c |
F9 |
S, p, a, b, c |
|
F10 |
S, ha, a |
|
F11 |
S, hb, b |
|
F12 |
S, hc, c |
|
F13 |
B, ha, c |
|
F14 |
C, ha, b |
|
F15 |
C, hb, a |
|
F16 |
h b c sin A = 0 |
A, h b , c |
F17 |
A, hc, b |
|
F18 |
B, hc, a |
|
F19 |
B, C, a, b, c |
|
F20 |
A, C, a, b, c |
|
F21 |
A, B, a, b, c |
|
F22 |
A, b, c, p |
|
F23 |
B, a, c, p |
|
F24 |
C, a, b, p |
|
F25 |
A, a, b, c, p |
|
F26 |
B, a, b, c, p |
|
F27 |
C, a, b, c, p |
|
F28 |
A, a, b, c, p |
|
F29 |
B, a, b, c, p |
|
F30 |
C, a, b, c, p |
|
F31 |
A, a, b, c, p |
|
F32 |
B, a, b, c, p |
|
F33 |
C, a, b, c, p |
-
Схема решения задачи по алгоритму обратной волны
Как видим, наименьшее число неизвестных аргументов из выражений, в состав которых входит площадь S, в выражении F10. Выпишем параметры, связанные первыми 18 соотношениями, и пометим символом * известные по условию аргументы.
F1 A, B*, C*
F2 A, B*, a*, b
F3 B*, C*, b, c
F4 A, C*, a*, c
F5 A, a*, b, c
F6 B*, a*, b, c
F7 C*, a*, b, c
F8 p, a*, b, c
F9 S, p, a*, b, c
F10 S, ha, a*
F11 S, hb, b
F12 S, hc, c
F13 B*, ha, c
F14 C*, ha, b
F15 C*, hb, a*
F16 A, hb, c
F17 A, hc, b
F18 B*, hc, a*
Выбираем разрешение, соответствующее отношению F10. Далее схему решения задачи по алгоритму обратной волны представим следующим образом:
Таблица 2
S1 |
S2 |
S3 |
S4 |
комментарии |
S |
- |
- |
- |
Исходное состояние |
ha |
S |
F10 |
L10 |
Шаг 1 |
- |
- |
- |
- |
Шаг 2 |
С |
ha |
F13 |
L13 |
Шаг 3 |
- |
- |
- |
- |
Шаг 2 |
A |
с |
F4 |
L4 |
Шаг 3 |
- |
- |
- |
- |
Шаг 2 |
- |
A |
F1 |
L1 |
Шаг 3 |
Так как список S1 пуст, то план решения найден.
-
Дерево поиска решения по алгоритму обратной волны
<a*, B*, C *>F(1, A)AF(4, c)c F(13, ha) haF(10, S)S
-
Пример поиска решения по алгоритму обратной волны с заданием конкретных исходных данных
Зададим конкретные значения для известных параметров и выполним решение по найденному алгоритму:
а=21 см, В=400, С=550
-
F1: A + B + C - = 0
A = - B - C = 1800 - 400 - 550 = 850
-
F4:
-
F13:
-
F10:
Ответ:
-
Схема решения задачи по алгоритму прямой волны
Поиск решения можно представить графом состояний следующего вида:
S0 - a*, B*, C* |
S1 - a*, B*, C* |A* |
S2 - a*, B*, C*, A*|b* |
F1(C) S3 - a*, B*, C*, A*, b*|a* |
F2(b) S4 - a*, B*, C*, A*, b*, c*|p*
F3(c) S5 - a*, B*, C*, A*, b*, c*, p*|S
F8(p)
|F9(S) | - целевое состояние
Обозначим через ЧП число параметров в математическом отношении;
ЧНП число неизвестных параметров; ЧИП число параметров, найденных (известных) на данном шаге применением соответствующего оператора F.
Составим таблицу следующего вида (табл. 3).
Таблица 3
|
ЧП |
Шаг алгоритма |
||||||||
|
|
1 |
2 |
3 |
4 |
|||||
|
|
ЧНП |
ЧИП |
ЧНП |
ЧИП |
ЧНП |
ЧИП |
ЧНП |
ЧИП |
|
F1 A, B*, C* |
3 |
1 |
1(A) |
0 |
0 |
0 |
0 |
0 |
0 |
|
F2 A*, B*, a*, b |
4 |
2 |
0 |
1 |
1(b) |
0 |
0 |
0 |
0 |
|
F3 B*, C*, b*, c |
4 |
2 |
0 |
1 |
1(c) |
0 |
0 |
0 |
0 |
|
F4 A*, C*, a*, c* |
4 |
2 |
0 |
2 |
0 |
0 |
0 |
0 |
0 |
|
F5 A*, a*, b*, c* |
4 |
2 |
0 |
2 |
0 |
0 |
0 |
0 |
0 |
|
F6 B*, a*, b*, c* |
4 |
2 |
0 |
2 |
0 |
0 |
0 |
0 |
0 |
|
F7 C*, a*, b*, c* |
4 |
2 |
0 |
2 |
0 |
0 |
0 |
0 |
0 |
|
F8 p, a*, b*, c* |
4 |
3 |
0 |
3 |
0 |
1 |
1(p) |
0 |
0 |
|
F9 S, p*, a*, b*, c* |
5 |
4 |
0 |
4 |
0 |
2 |
0 |
1 |
1(S) |
-
Дерево поиска решения по алгоритму прямой волны
Таким образом за три шага алгоритма найден допустимый маршрут расчета целевого параметра (дерево решения):
<a*, B*, C *>F(1, A)AF(2, b)b F(3, c) cF(8, p)pF(9, S)S
-
Пример поиска решения по алгоритму прямой волны с заданием конкретных исходных данных
а=21 см, В=400, С=550
-
F1: A + B + C - = 0
A = - B - C = 1800 - 400 - 550 = 850
-
F2:
-
F3:
-
F8:
-
F9:
Ответ: