Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом ИПОВС 2003 / Пояснительная запискаFinalVersion.doc
Скачиваний:
47
Добавлен:
16.04.2013
Размер:
1.28 Mб
Скачать
    1. Разработка алгоритма генерации критерия

После получения данных от пользователя программа должна сформировать критерий, по которому будут оцениваться туры на предмет приемлемости для клиента. Очевидно, что этот критерий будет многопараметрическим (практически каждый атрибут тура является параметром) и характер его заранее предсказать невозможно. При формировании модели тур был представлен набором конечных параметров. При этом часть параметров выражается количественно (то есть имеет числовую оценку), часть качественно (то есть их можно перевести в числовую форму). Также есть набор параметров, которые характеризуются двумя состояниями (присутствует/отсутствует). Для уравнивания влияния параметров на критерий проводится нормализация значений. Для хранения информации были выбраны 3 битные гены, которые обеспечивают достаточный диапазон для любых данных, в том числе и тех, которые пока не хранятся и могут потребоваться при доработке программы в дальнейшем. Признаки, которые определяются одним битом вынесены в отдельные гены (в настоящей версии программы их 2, но при необходимости возможно расширение).

Кроме данных, относящимся к туру, есть данные, полученные от пользователя. Эти данные могут свидетельствовать о следующем:

  • вид отдыха – должен влиять на значимость различных параметров, например, то, что важно для пляжного отдыха, совершенно не нужно в активном;

  • наличие или отсутствие каких либо услуг – должно увеличивать рейтинг туров, где условие выполнено;

  • качество тех или иных услуг – должно поднимать оценку туров, у которых эти качества близки к требуемым.

После нормировки признаков имеем ряд характеристик, которые нужно изменять в соответствии с данными пользователя. Логично ввести коэффициент значимости, который бы отображал влияние конкретного параметра на результирующее значение оценки. Эти параметры частично определяются видом отдыха, частично самим пользователем, который может вручную увеличить или уменьшить значимость того или иного атрибута в соответствии со своими нуждами. Не все параметры нужно устремлять к нулю или бесконечности (на самом деле все числа лежат в определённом диапазоне и бесконечность представляет собой просто нереально большое для данного атрибута значение). Есть также ряд свойств, которые должны по возможности принимать строго заданное значение. В этом случае естественно рассматривать разницу между необходимым значением и реальным, пытаясь свести её у нулю. Для простоты сведём ситуацию к рассмотрению разницы, принимая необходимое значение за нуль либо за бесконечность в зависимости от того, нужно ли максимизировать признак или минимизировать.

Отдельно следует рассмотреть битовую строку, содержащую информацию о дополнительных услугах, на каждую из которых выделен 1 бит. Оценка производится следующим образом: производится подсчёт признаков, удовлетворяющих требованиям пользователя (то есть наличия или отсутствия некоторых услуг) и подсчёт признаков, относительно которых не высказано пожеланий. Параметры, которые пользователь запросил (или запретил) имеют больший приоритет по сравнению с теми, про которые не упомянул клиент. Это не позволит турам с большим набором ненужных услуг возобладать над турами, у которых услуг меньше, но они именно те, что нужны туристу.

Для формирования окончательного критерия необходимо сложить следующие числа:

  • разницы «идеальных» параметров (к которым нужно стремиться) и реальных, которые есть в данном туре, помноженные на коэффициенты, сформированные программой и скорректированные (по необходимости) пользователем;

  • оценку битовой строки, содержащей информацию о наличии (отсутствии) дополнительных услуг.

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

Тут вы можете оставить комментарий к выбранному абзацу или сообщить об ошибке.

Оставленные комментарии видны всем.