Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Мониторинг от приложений к общей теории. Монография
.pdf
Ðèñ. 2.4.3. Схема обмена данными между
внутренней и внешней частями ИАС
вия. Возникает вторая подзадача поиска компромиссного решения.
Экспертная подсистема функционирует как на сайте организации
(должна предоставляться возможность бронирования квартиры),
так и внутри (когда клиент пришел).
Работу экспертной системы поддержки продаж в девелоперской компании можно представить в виде следующей блок-схемы
(см. рис. 2.4.4).
Задача подбора жилья разбивается на две подзадачи:
1) Задача о рюкзаке;
2) Задача поиска решения путем варьирования критериев.
Рассмотрим задачу о рюкзаке. Необходимо предложить клиенту жилье с учетом его предпочтений. Иначе говоря, необходим
механизм, который дает возможность при установленной предпочтительности каждого критерия составлять предложение жилья.
Предпочтительность – оценка важности для клиента каждого
критерия в баллах.
Пусть X – множество критериев,
XN=
– число критериев,
131

ȼɯɨɞ
ɉɨɢɫɤ ɪɟɲɟɧɢɹ (Ɂɚɞɚɱɚ ɨ ɪɸɤɡɚɤɟ)
ȼɵɞɚɱɚ
ɪɟɡɭɥɶɬɚɬɨɜ
ȼɵɯɨɞ
Ⱦɚ ɇɟɬ
ɇɚɣɞɟɧɨ ɧɭɠɧɨɟ ɪɟɲɟɧɢɟ
ɉɨɢɫɤ ɪɟɲɟɧɢɹ (Ɂɚɞɚɱɚ ɩɨɢɫɤɚ
ɪɟɲɟɧɢɹ ɩɭɬɟɦ ɜɚɪɶɢɪɨɜɚɧɢɹ
ɤɪɢɬɟɪɢɟɜ )
ȼɵɞɚɱɚ
ɪɟɡɭɥɶɬɚɬɨɜ
ȼɵɯɨɞ
Ðèñ. 2.4.4. Блок-схема работы экспертной системы
поддержки продаж в девелоперской компании
(∈ X) – критерий j = 1, ..., N. Каждому ставится в соот-
x
j
ветствие
u
– предпочтительность (в баллах),
j
ν
– стоимость.
j
Из элементов необходимо составить набор, обладающий максимальной полезностью при ограничениях на стоимость. M – ìàê-
симально допустимая стоимость.
132

Таким образом, получена классическая задача о рюкзаке.
В качестве предметов будем рассматривать критерии x
полезности – предпочтительность u
имость ν
, в качестве максимально допустимого веса M – макси-
j
, в качестве веса предмета – сто-
j
, в качестве
j
мально допустимую стоимость M . Необходимо укомплектовать
рюкзак предметами (x
), учитывая, что uj – полезность, νj – âåñ
j
предмета. Ì – максимально допустимый вес рюкзака. Задачу
можно представить в виде:
Uu
=→
∑
vM
∑
j
max,
j
.
≤
Используем алгоритм Данцига для решения задачи [Сигал,
1999]. Каждому компоненту x
полезность α
.
j
α=
j
ставим в соответствие приведенную
j
u
j
; j = 1, ..., N.
v
j
Множество всех альтернатив сортируем по убыванию приведенной полезности и затем формируем набор из компонент с наибольшей приведенной полезностью до заполнения рюкзака.
Алгоритм Данцига
1. Получить uj, νj.
u
j
2. Äëÿ âñåõ j от 1 до N получить
3. Упорядочить по убыванию критерии в соответствии с полу-
ченными α
.
j
4. Пока сумма весов критериев не превосходит объема рюкзака M добавлять критерии в набор в соответствии с упорядоченностью.
α=
j
.
v
j
Приведенный алгоритм можно представить в виде следующей
блок-схемы (см. рис. 2.4.5).
133

Âõîä
Получить
uj, vj
Äëÿ âñåõ j
u
j
S = 0
J = 1
j
v
j
α=
Упорядочить
по убыванию
критерии x
j
Выдать
ответ
Выход
Íåò
S < M
Íåò
Äà
J < = N
Äà
S + Vj < = M
J = j + 1
Ðèñ. 2.4.5. Блок-схема алгоритма Данцига [Сигал, 1999]
134
Äà
Добавить в
набор x
j
S = S + ν
:
j

Рассмотрим пример. Имеется 10 элементов с полезностью 12,
53, 14, 73, 33, 51, 53, 50, 54, 78 и массой 6, 2, 5, 6, 4, 8, 7, 8, 2, 2
соответственно. М = 12. Составим таблицу (см. табл. 2.4.1).
Таблица 2.4.1
Набор критериев с указанием полезности и массы каждого
jxju
j
ν
j
α
j
1 Критерий 1 12 6 2
2 Критерий 2 53 2 26,5
3 Критерий 3 14 5 2,8
4 Критерий 4 73 6 12,17
5 Критерий 5 33 4 8,25
6 Критерий 6 51 8 6,375
7 Критерий 7 53 7 7,571
8 Критерий 8 50 8 6,25
9 Критерий 9 54 2 27
10 Критерий 10 78 2 39
Упорядочиваем по возрастанию. Получаем таблицу (см.
табл. 2.4.2).
Таблица 2.4.2
Упорядоченный набор критериев с указанием полезности
и массы каждого
jxju
j
ν
j
α
j
10 Критерий 10 78 2 39
9 Критерий 9 54 2 27
2 Критерий 2 53 2 26,5
4 Критерий 4 73 6 12,17
5 Критерий 5 33 4 8,25
7 Критерий 7 53 7 7,571
6 Критерий 6 51 8 6,25
8 Критерий 8 50 8 6,25
3 Критерий 3 14 5 2,8
1 Критерий 1 12 6 2
135

Составим набор.
1. Рассмотрим Критерий 10. Вес ν
не превосходит M. Добав-
10
ляем в набор.
2. Рассмотрим Критерий 9. ν
+ ν9 = 4, что не превосходит M.
10
Критерий 9 также добавляем в набор.
3. Рассмотрим Критерий 2. ν
+ ν9 + ν2 = 6, что не превосходит
10
M. Критерий 2 добавляем в набор.
4. Рассмотрим Критерий 4. ν
10
+ ν
+ ν2 + ν4 = 12. Получили
9
число, равное M. Это значит, что необходимый набор получен.
Таким образом, получаем ответ.
Искомый набор: Критерий 10, Критерий 9, Критерий 2, Кри-
терий 4; ν
10
+ ν
+ ν2 + ν4 = 12.
9
Таким образом, найден алгоритм для поиска набора критериев
с учетом предпочтительности каждого критерия. По полученному
набору критериев будем производить поиск решения (предложение
жилья). Если решение не найдено, необходимо производить поиск
вариантов, изменив начальные условия.
Существует два варианта для изменения.
1. Изменить начальную сумму M.
2. Изменить количество и состав критериев для поиска.
В первом случае изменяем сумму и вновь ищем решение задачи
о рюкзаке. Второй случай будет рассмотрен далее.
Постановка задачи поиска компромиссного решения имеет следующий вид. Рассмотрим X – множество всех критериев,
|X| = m < ∞. X
– множество наборов критериев, по которым будет
ij
производиться поиск решения; i – число отмеченных критериев,
j – нумерация. Число i принимает значения от 1 до n, где n – число
критериев, которые будут учитываться при поиске (0 n m);
j от 1 до
когда учитывается один критерий; ƒ ( X) – решение для случая,
i
⊂ X, ò. å. |Xij| |X| ⋅ ƒ ( X1j) решения в том случае,
⋅ X
C
ij
n
когда учитываются все отмеченные критерии. Необходимо найти
все ƒ ( X
).
ij
Будем строить функцию ƒ следующим образом. Каждому
элементу X
множества X поставим в соответствие подмножество
1j
множества Y, ãäå Y – множество вариантов жилья. Отображение
f : X → Y – инъективное. Причем выполняются свойства:
1) f (∅) = Y;
136

2) f(X
X1l) = f(X1j) f (X1l), ãäå l ≠ j.
1j
Рассматриваются два случая взаимного расположения мно-
жеств X
(ñì. ðèñ. 2.4.6, 2.4.7).
ij
Ðèñ. 2.4.6. Случай, когда множества пересекаются
Ðèñ. 2.4.7. Случай, когда множества не пересекаются
Решение задачи определяется следующим алгоритмом.
Пусть j – фиксированное.
137

1. В том случае, когда n = 1 (отмечен один критерий), а, зна-
÷èò, i = 1 , задача имеет решение: ƒ(X
).
1j
2. Зафиксируем 1 < n < m.
В таких случаях будем строить дерево следующего вида (см.
рис. 2.4.8).
1
2
3
4
5
4
3
4
5
n – 1 n
n
Ðèñ. 2.4.8. Дерево общего вида
Осуществляя обход дерева, будем получать упорядоченные
наборы вида:
(k, k + p1, k + p2, ¾),
ãäå
0 < k < m, 0 p
m – l, 0 p2 m – l – 1, ¾, p1 < p2 < ¾
1
Объединяя наборы, получим соответствующее множество
{(k, k + p
, k + p2, ¾)}.
1
Число элементов в полученном множестве равно
n – число отмеченных критериев.
3. Рассмотрим случай, когда i = m (при поиске учитываются
все отмеченные критерии).
C
i
, ãäå
n
138

Получим, что
Cj
n
=
1
−=nnn
. Дерево будет выглядеть сле-
)!(!
n
!
n
дующим образом (см. рис. 2.4.9).
1
2
3
4
Ðèñ. 2.4.9. Дерево для частного случая
Так как получен единственный вариант, то в этом случае дерево строить и совершать обход не нужно. Решение будет выглядеть
следующим образом:
n
⎛⎞
fX
∪
⎜⎟
⎝⎠
.
1
l
1
l
=
Таким образом, получили алгоритм для поиска решения по
выбранным критериям.
Алгоритм поиска при фиксированном числе указанных критериев имеет вид:
1. Выбрать критерии для поиска.
2. Отметить число критериев для поиска.
3. Построить дерево поиска.
4. Осуществить обход дерева, получить необходимые на-
áîðû.
5. Произвести поиск по каждому набору.
6. Выдать результат.
139

Блок-схема алгоритма поиска при фиксированном числе ука-
занных критериев показана на рис. 2.4.10.
Âõîä
Установить критерии
Отметить число критериев
для поиска
Произвести поиск
140
Произвести поиск
Âõîä
Ðèñ. 2.4.10. Блок-схема алгоритма поиска
при фиксированном числе указанных критериев
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
