Реализация и исследование особенностей использования методологии экспертных систем на потребительском рынке

Исследование и разработка программ, использующих процедуры решения задач, которые трудны для экспертов. Взаимосвязь рыночных и социально-экономических отношений в развитии потребительского рынка. Сравнительный анализ экспертных систем по подбору товаров.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 08.10.2018
Размер файла 6,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Рассмотрим сам алгоритм прямого вывода, его удобно представить в виде таблицы 1.

Таблица 1 - Алгоритм прямого вывода

ВОПРОС системы

ПРАВИЛО

ОТВЕТ пользователя

ОТВЕТ ЭС

Какую сумму вы готовы потратить?

телефон (W):-цена <12000 (W).

До 12000 рублей

цена <12000

Для чего вам нужен телефон?

для общения(R):- wi-fe=1, время разговора >10 (R).

Для общения

wi-fe=1, время разговора >10

Вы обладаете 1 номером?

sim карт(S):- sim карт =1(S).

Да

sim карт =1

Важно ли вам наличие кнопок?

сенсорный(T):- сенсорный экран=1(T).

Нет

сенсорный экран=1

HTC Nexus One, Nokia Asha 311, Samsung Galaxy Y pro GT-B5510,

Apple iPhone 3GS 8 Gb,

Apple iPhone 3GS 32 Gb,

BlackBerry Z10,

ASUS Fonepad Note 6 16Gb

Для каждого пути можно записать правило. Совокупность всех правил составит базу знаний.

Если до 12000 (цена <12000)

и для общения (wi-fe=1, время разговора >10)

то вопрос 4

если да (sim карт =1)

и нет (сенсорный экран=1)

ТО телефон (HTC Nexus One, Nokia Asha 311, Samsung Galaxy Y pro GT-B5510, Apple iPhone 3GS 8 Gb, Apple iPhone 3GS 32 Gb, BlackBerry Z10, ASUS Fonepad Note 6 16Gb).

По такому алгоритму заполняются все необходимые параметры, а какие параметры важны, определяется после ответа на 2 вопрос «Для чего вам нужен телефон». Если пользователь знает, для чего, то система сразу отметает параметры, которые дальне не понадобятся, а все остальные характеристики заполняются или нет с последующими ответами. А если выбран ответ «не знаю», систему будет задаваться вопросы, пока не получит ответ из которого можно будет провести отбор моделей.

Весь алгоритм изображен с помощью дерева принятия решений представленного на рисунке 15 и в приложение Г.

Рисунок 15 - Дерево принятия решений

2.6 Информационная безопасность и защита информации

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

Рисунок 16 - Таблица идентификации и аутентификации

Рассмотрим сам алгоритм:

1. Эксперт вводит свой логин - ID.

2. Если ID не совпадает ни с одним IDi, зарегистрированным в компьютерной системе, то идентификация отвергается - пользователь не допущен к работе, иначе (существует IDi=ID) устанавливается факт «пользователь, назвавшийся пользователем i, прошел идентификацию».

3. По идентификатору IDi из базы данных аутентификации выделяется информация Si.

4. Субъект аутентификации запрашивает у пользователя аутентифицирующую информацию пароль - К. и вычисляет значение Y=F(Si, K).

5. Субъект аутентификации сравнивает Ei и Y. При совпадении фиксируется событие «пользователь успешно аутентифицирован», в противном случае аутентификация отвергается, и пользователь не допускается к работе.

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

2.7 Описание контрольного примера и результатов тестирования

Контрольным примером являлся подбор наиболее подходящей модели телефона для меня.

Для демонстрации работы системы описан контрольный пример ответов на вопросы.

Запускаем систему. Открывается стартовая страница. Выбираем кнопку «Начать поиск». Появляется первый вопрос (рисунок 17).

Рисунок 17- Интерфейс первого вопроса

Выбираю вариант ответа «до 12000 рублей» и нажимаю кнопку «Далее». Появляется следующий вопрос (рисунок 18).

Рисунок 18 - Интерфейс задаваемого вопроса

Выбираю ответ «Карманный компьютер» и нажимаю «Далее». Появляется следующий вопрос (рисунок 19).

Рисунок 19 - Интерфейс задаваемого вопроса

Выбираю ответ «Нет» и нажимаю «Далее». Появляется следующий вопрос (рисунок 20).

Рисунок 20 - Интерфейс задаваемого вопроса

Выбираю ответ «Да» и нажимаю «Далее». Появляется следующий вопрос (рисунок 21).

Рисунок 21 - Интерфейс задаваемого вопроса

Выбираю ответ «Да» и нажимаю «Далее». Появляется следующий вопрос (рисунок 22).

Рисунок 22 - Интерфейс задаваемого вопроса

Выбираю ответ «Да» и нажимаю «Далее». И появилась форма с результатом (рисунок 23).

Рисунок 23 - Результат опроса

Я выбрала просмотреть телефон «HTC Wildfire», появилась подробная информация о нем и его фото. Могу просмотреть информацию о других моделях, закрыть систему или перейти на главную страницу. Тестирование программы показало, что система работает хорошо.

ВЫВОДЫ ПО ГЛАВЕ 2

Создана база данных состоящая из двух частей. Разработан основной алгоритм. Эксперт заполняет БД моделями телефонов и их параметрами. Он же создает вопросы, которые для пользователя просты и не требуют никаких углубленных знаний в данной области, но в тоже время позволяют узнать необходимые для телефона параметры. Поэтому реализована связь, между ответами и параметрами. Пользователь выбирает подходящий для него вариант ответа, а система уже заполняет необходимые параметры. Когда вся необходимая информация от пользователя получена, программа сравнивает полученные данные о моделях с имеющимися в БД. Результат состоит из моделей, чьи параметры совпали.

Система реализована на языке: C++. Для работы приложения на компьютере лишь должна быть ОС Windows не позже 2000 и Microsoft Access.

Тестирование работы системы прошло успешно.

3. МАТЕМАТИЧЕСКАЯ МОДЕЛЬ И ИСХОДНАЯ ИНФОРМАЦИЯ

3.1 Требования к модели и исходным данным

Модель должна осуществлять переход между вопросами с учетом выбранного ответа и занесением при этом определённых параметров.

Исходными данными являются: телефоны и их параметры, вопросы, условия переходов между вопросами и заполнения характеристик. Они заполняются экспертом на этапе работы с базой данных.

3.2 Основные гипотезы и допущения

1. Использование методологии экспертных систем эффективно в области потребительского рынка, для создания программного продукта, подбирающего любой товар.

2. Экспертная система может быть реализована на разных языках программирования. Но для каждой задачи, лучше выбрать наиболее подходящий язык. Для подбора товара лучше выбрать традиционные языки программирования. Но если нужно быстро найти решение для поставленной задачи подойдут языки искусственного интеллекта.

3.3 Основные понятия модели и обозначения

Параметры телефонов - ,

где i - параметры, которые заполняет эксперт;

j - параметры, которые заносятся в БД автоматически.

Ответы -

n- номер вопроса.

D - экспертная система;

B -база знаний;

P - программные средства функционирования экспертной системы.

3.4 Математические соотношения и их обоснование

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

Все параметры проходят попарное сравнение:

если параметры равны, эта модель подходит по данному параметру,\

если параметры неравны, эта модель не подходит по данному параметру.

Так сравниваются все необходимые параметры, по результат выдаются наиболее подходящие модели.

3.5 Методы получения исходных данных

Исходные данные получаются при ответе на каждый вопрос. Каждый выбранный пользователем ответ, проверяется на соответствующее значение и система дальше работает с этим значением.

3.6 Полученные в процессе работы исходные данные

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

ВЫВОДЫ ПО ГЛАВЕ 3

Для ЭС не разрабатывается, какая - то определенная, точная математическая модель, потому что основное достоинство этих система в том, что они работают не по точно заданным алгоритмам. Поэтому разрабатываются условия, правила работы систем.

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

4. ИССЛЕДОВАНИЯ И АНАЛИЗ РЕЗУЛЬТАТОВ

4.1 Описание объекта исследования

Объектом исследования является методология экспертных систем, их особенностей, их построения и реализации, использования в области потребления товаров, а именно для решения задачи поиска подходящего мобильного телефона.

4.2 Разработка плана исследования

План исследования состоял из следующих пунктов:

1. Изучить особенности использования экспертных систем на потребительском рынке.

2. Сравнить с другими система, используемыми в этой сфере.

3. Разработать критерии для изучения сайтов по подбору телефонов.

4. Провести анализ сайтов русских и зарубежных по подбору телефонов.

5. Сравнить сайты со своей системой.

6. Провести сравнительный анализ двух разработанных систем на разных языках.

4.3 Описание хода исследования

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

Сначала я выбрана несколько систем по поиску товаров и сравнила их со своей экспертной системой, для выявления ее достоинств.

Экспертная Система - система, предназначенная для быстрого сужения поиска без потери качества выборки; помогает пользователю выбрать объект, из некоторого множества объектов. Работает в режиме «вопросы-ответы», каждый диалог с новым пользователем строится индивидуально.

Фильтр по атрибутам - онлайновая система, предназначенная для поиска товаров по каталогу сайта [16].

Обычная система поиска - онлайновая служба, предоставляющая возможность поиска информации на сайтах в интернете. Поиск представляет собой фильтрацию товаров по их основным параметрам и/или поиск по ключевому слову [17].

Яндекс-Гуру - онлайновая каталоговая система, предназначенная для быстрого поиска товаров по каталогам магазинов; помогает выбрать товар по разным параметрам; является частью Яндекс-Маркета. Работает в режиме "вопросы-ответы", использует жесткое дерево вопросов в диалоге с пользователем [18].

Результаты анализа систем поиска товаров представлены в следующем пункте, в таблице 2.

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

1. Возможность выбора языка - если возможность поменять язык всего сайта хотя бы на один другой язык.

2. Удобство пользования - удобно ли пользоваться сайтом, все ли легко найти и все ли понятно.

3. Поиск по параметрам.

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

5. Наличие подсказок - всплывающих, в виде картинок или при нажатии специальной кнопки (например: вопроса).

6. Возможность не вникать при поиске в технические подробности - может ли человек, не разбирающийся в технических характеристиках телефонов, найти что-то для себя.

7. Возможен пустой результат - пользователь выбрал такие параметры, что система зашла в тупик.

8. Возможность сравнения нескольких моделей.

Результаты сравнительного анализа сайтов представлены в следующем пункте, в таблице 3.

Для сравнения было выбрано 9 сайтов и моя система.

Русские сайты:

- Яндекс Гуру - функция доступна на Яндекс Маркете. Диалог с пользователем построен «вопрос - ответ»;

- Подбери сотик. На этом сайте можно осуществить подбор по большому числу параметров, которые подробно расписаны [19];

- Мобильный портал. У сайта простой интерфейс и при выборе одного параметра изменяются другие и становятся недоступны неподходящие [20];

- MobiStyle. Красивый и интересный интерфейс, многие параметры в виде картинок [21];

Зарубежные сайты:

- Bestbuy. Сайт США. Можно перевести весь сайт только на испанский язык [22];

- Dealsmachine. Китайский сайт. Нет возможности перевести сайт на другой язык, но зато есть возможность выбрать страну и цены будут показываться в валюте этой страны [23];

- Handtec. Сайт Великобритании. Весь сайт можно перевести на много разных языков, в том числе и русский [24];

- Personaldigital. Австралийский сайт. Нет возможности перевода на другие языки [25];

- Computeruniverse. Немецкий сайт. Весь сайт можно перевести на много разных языков, в том числе и русский [26].

Как было сказано во второй главе, пролог (Prolog) является одним из наиболее распространенных языков, предназначенные для решения задач искусственного интеллекта. Поэтому я провела сравнительный анализ ЭС на прологе и моей ЭС на С++. Для сравнения программ на двух языках было выбрано 12 критериев и за наличие каждого из них ставится «+» или «-». Данные по сравнению представлены в следующем пункте в таблице 4.

4.4 Результаты, полученные в ходе исследования

Таблица 2- Сравнение систем поиска

Характеристики

Экспертная система

Фильтр по атрибутам

Обычная система поиска

Яндекс-Гуру

1. Структура поиска

Поиск товаров по параметрам

Нет

Да

Да

Да

Поиск по ключевому слову

Нет

Нет

Да

Есть только на уровне Яндекс-Маркет.

Поиск представляет собой фильтрацию товаров по основным параметрам - жесткий поиск

Нет

Да

Да

Нет

Поиск представляет собой последовательность вопросов, которая динамично изменяется при каждом новом поиске - гибкий поиск

Да

Нет

Нет

Нет

Поиск товаров по параметрам в режиме "вопросы-ответы"

Да

Нет

Нет

Да

Возможность не вникать при поиске в технические подробности (за счет подсказки)

Да

Нет

Нет

Да

Автоматическое определение системой взаимозависимых параметров - более быстрый поиск

Да

Параметры автоматически определяются системой, но из списка параметров не убираются (при нажатии на такой параметр предлагается только один вариант ответа)

Нет

Нет

2. Результат поиска

Результат работы системы

Результат поиска никогда не бывает пустым.

Результат поиска никогда не бывает пустым.

Результат поиска может быть пустым - система ничего не находит.

Результат поиска никогда не бывает пустым.

Возможность сравнения нескольких выбранных моделей товара

Нет

Да

Нет

Да

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

- она не привязана к заранее заданным деревьям вопросов;

- процесс общения пользователя и ЭС индивидуален: система вычисляет приоритеты пользователя и в зависимости от них выдает результаты;

- поиск требуемого объекта поэтапно: система задает следующий вопрос исходя из предыдущих ответов ведущего с ней диалог пользователя;

- ЭС самостоятельно определяет параметры и приоритеты поиска;

Результаты сравнительного анализа зарубежных и русских сайтов и моей системы представлены в сравнительной таблице 3.

Таблица 3 - Сравнение сайтов

Критерии

Яндекс Гуру

Подбери сотик

Мобильный портал

MobiStyle

Bestbuy

Dealsmachine

Handtec

Personaldigital

Computeruniverse

ЭС

1. Возможность выбора языка

Нет

Нет

Нет

Нет

Да

Нет

Да

Нет

Да

Нет

2. Удобство пользования

Нет

Нет

Да

Да

Нет

Нет

Да

Да

Да

Да

3. Поиск по параметрам

Да

Да

Да

Да

Да

Да

Да

Да

Да

Нет

4. Возможность не вникать при поиске в технические подробности

Да

Нет

Нет

Нет

Нет

Нет

Нет

Нет

Нет

Да

5. Поиск представляет собой последовательность вопросов, которая динамично изменяется при каждом новом поиске - гибкий поиск

Да

Нет

Нет

Нет

Нет

Нет

Нет

Нет

Нет

Да

6. Наличие подсказок

Да

Да

Нет

Да

Нет

Нет

Нет

Нет

Нет

Нет

7. Возможен пустой результат

Нет

Да

Да

Да

Да

Да

Да

Да

Да

Нет

8. Возможность сравнения нескольких моделей

Да

Нет

Да

Нет

Нет

Нет

Нет

Нет

Да

Нет

Сравнение программ на двух языках представлено в таблице 4.

Таблица 4 - Сравнение языков программирования

Критерии

Prolog

C++

1. Популярность языка

-

+

2. Различные версии

+

+

3. Литература по работе с данным языком

+

+

4. Различные сферы применения

-

+

5. Простота языка

+

-

6. Схожесть кода с человеческими рассуждениями

+

-

7. Поддерживание баз данных

-

+

8. Компактность программ

+

-

9. Возможность создание удобного интерфейса

-

+

10. Быстрота создания программы

+

-

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

+

-

12. Создание интерфейса с русским языком

-

+

4.5 Анализ результатов и сравнение с аналогами

Проведённый анализ сайтов показал, что почти все сайты построены на подборе по параметрам. Именно поэтому моя система хоть и не выигрывает по многим другим параметрам, является более удобной для использования. Во всех сайтах нужно точно знать, какие характеристики нужны будущему телефону, а некоторые люди даже не знают, какие они могут быть. Моя система позволяет любому человеку подобрать подходящую модель.

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

Аналогом моей системы является Яндекс Гуру. Он так же работает в режиме «Вопрос-ответ», спрашивает мало технических характеристик, есть так же возможность поиска по параметрам. Но преимущество моей системы, в том, что она узко - направленная, из-за этого у нее более удобный и понятный пользовательский интерфейс, уточняет больше параметров, позволяя сузить круг, многие параметры выбирает сама, не может зайти в тупик и ничего не выдать.

ВЫВОДЫ ПО ГЛАВЕ 4

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

Для решения поставленной задачи, достаточно и программы на языке Prolog, но если запускать программу в массовое пользование, то конечно это будет программа на языке С++.

ЗАКЛЮЧЕНИЕ

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

Для автоматизации диалога «консультант-покупатель» был разработан специальный алгоритм. Пользователю задаются простые вопросы, для ответа на которые ему не нужно разбираться в технических параметрах телефонов. А вот система при получении ответа, понимает из него, какие технические характеристики должны быть у телефона. В итоге пользователю выдаются варианты подходящих для него моделей телефонов с учетом его пожеланий.

Было проанализировано много существующих сайтов по подбору мобильных телефонов, как наших, так и зарубежных. Все сайты объединяет одно, они работают с поиском телефонов по выбранным техническим параметрам. Что сразу исключает работу с этими сайтами людей, не понимающих этих параметров. А использование моей системы, позволит любому человеку подобрать подходящий телефон, не выходя из дома.

Все поставленные задачи были выполнены. Разработанная система наглядно показывает эффективность использования данного метода. Созданный алгоритм подойдет для подбора любого товара, нужно лишь найти эксперта и переписать исходные данные. По данной теме мною было написано несколько статей: принята к публикации статья в сборник СГАСУ - 2014, справка в приложение Е; опубликована статья в Научном журнале «Европейская наука ХХІ века» [27]. Так же опубликована статья в соавторстве с Прохоровой Ольгой Витольдовной в Международном Научно-Исследовательском журнале [28].

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Прохорова, О.В. Основы искусственного интеллекта. Курс лекций./ О.В. Прохорова //М.: АПКиППРО, 2009. - 56 с.

2. Попова, Э.В. Искусственный интеллект. Книга 1. Системы общения и экспертные системы./ Под ред. проф. Э.В. Попова // М.: Радио и связь, 1990. - 461с.

3. Усков, А.А. Интеллектуальные системы управления на основе методов нечеткой логики/ А.А. Усков, В.В. Круглов //Смоленск: Смоленская городская типография, 2003.-177 с.

4. Поспелова, Д.А. Искусственный интеллект. Книга 2. Модели и методы. / Под ред. проф. Д.А. Поспелова// М.: Радио и связь, 1990. - 304 с.

5. Тельнов, Ю.Ф. Интеллектуальные системы обработки данных./ Ю.Ф. Тельнов, С.М. Диго, Т.М. Полякова // Учебное пособие.- М.: МЭСИ, 1989.-102с.

6. Тельнов, Ю.Ф. Проектирование баз знаний./ Ю.Ф. Тельнов, А.А. Скорова, Н.В. Андреева // Учебное пособие.- М.: МЭСИ, 1992.-100с.

7. Таунсенд, К. Проектирование и программная реализация экспертных систем на персональных ЭВМ./ К. Таунсенд, Д. Фохт // 1990.- 319с

8. Попов, Э.В. Статические и динамические экспертные системы/ Э.В. Попов, М.Д. Шапот, Е.Б. Кисель Е.Б., И.Б. Фоминых// 1996. -320с.

9. Бердышев, А.С. О методологии проектирования экспертных систем/ А.С. Бердышев, К.А. Калиева, М.А. Кантуреева // Проблемы информатики. 2013. № 1 (18). С. 56-62.

10. Иневатова, О.А. Социально экномические особенности развития регионального потребительского рынка/ О.А. Иневатова //Вестник Оренбургского государственного университета. 2010. № 2 (108). С. 67-72.

11. Durkin, J. Expert Systems: a view of the field. / J. Durkin //IEEE Expert, 1996, No2 ,p. 56- 63

12. Искусственный интеллект и экспертные системы [Электронный ресурс]: URL:http://expro.ksu.ru/materials/ii_i_es/book.html#point1.6

13. Захарова, В.Н. Искусственный интеллект. Книга 3. Программные и аппаратные средства. / Под. ред. В.Н. Захарова, В.Ф. Хорошевского //- М.: Радио и связь, 1990. - 320с.

14. Братко, И. Программирование на языке Пролог для искусственного интеллекта./И. Братко// Мир, 1990.-560 с.

15. Prata, S. C++ Primer Plus, 6th Edition / S. Prata // Язык программирования C++. Лекции и упражнения. Вильямс. 2007. С. 200-500.

16. Онлайновая система, предназначенная для поиска товаров по каталогу сайта [Электронный ресурс]: URL: http://7440880.ru/cat/large/refrigerator/

17. Онлайновая служба, предоставляющая возможность поиска информации на сайтах в интернете [Электронный ресурс]: URL: http://www.yandex.ru/advanced.html

18. Яндекс-Гуру - онлайновая каталоговая система [Электронный ресурс]: URL: http://market.yandex.ru/guru-categories.xml

19. Подбери сотик [Электронный ресурс]: URL: http://podberi-sotik.ru/

20. Мобильный портал [Электронный ресурс]: URL: http://mob.ua/phone/

21. MobiStyle [Электронный ресурс]: URL:

http://mobistyle.com.ua/?action=find

22. Bestbuy [Электронный ресурс]: URL: http://www.bestbuy.

23. Dealsmachine [Электронный ресурс]: URL:

http://www.dealsmachine.com/android-phones-c_630/

24. Handtec [Электронный ресурс]: URL:

25. http://www.handtec.co.uk/catalogsearch/result/?cat=0&order=most_viewed&dir=desc&q=sony

26. Personaldigital [Электронный ресурс]: URL:

https://www.personaldigital.com.au/

27. Computeruniverse [Электронный ресурс]: URL:

http://www.computeruniverse.ru/group/smartphones/smartphones-handys.asp

28. Международный Научный журнал «Европейская наука ХХІ века» [Электронный ресурс]: URL: http://www.ukrnauka.ru/2014_ENXXI/2014-05-08_A4_tom-30.pdf

29. Международный Научно - Исследовательский журнал [Электронный ресурс]: URL: http://research-journal.org/wp-content/uploads/2011/10/5-1-24.pdf

30. Баймухамедов, М.Ф. ,Построениение автоматизированной системы управления технологическими процессами на базе продукционной экспертной системы/ М.Ф. Баймухамедов // Аграрный вестник Урала. 2013. № 8 (114). С. 26-28.

31. Akinnuwesi, B. A FRAMEWORK OF WEB BASED FUZZY EXPERT SYSTEM FOR MANAGING TOURISM INFORMATION / B. Akinnuwesi, F.M.E. Uzoka //Computer Sciences and Telecommunications. 2009. № 3. С. 77-89.

32. Dergatchev, S. AN EVOLUTIONARY MODEL FOR MARKET BEVAVIOR OF CONSUMER./ S. Dergatchev// Известия Южного федерального университета. Технические науки. 2000. Т. 16. № 2. С.109-110.

33. Martnez, J . EXPERT SYSTEMS IN THE CONTEXT OF MULTI-BRAIN SYSTEMS Negrete/ J. Martnez //.Expert Systems with Applications. 1998. Т. 15. № 3-4. С. 211-214.

34. Yang, H.L. A SIMPLE COUPLER TO LINK EXPERT SYSTEMS WITH DATABASE SYSTEMS/H.L. Yang // Expert Systems with Applications. 1997. Т. 12. № 2. С. 179-188.

35. Patricia, L. USER PARTICIPATION IN EXPERT SYSTEMS. Rees Industrial Management & Data Systems. / L. Patricia // 1993. Т. 93. № 6.

ПРИЛОЖЕНИЕ 1

Диаграммы

Рисунок А1- Диаграмма вариантов использования

Рисунок А2 - Диаграмма состояний системы по работе с конечным пользователем

ПРИЛОЖЕНИЕ 2

Схема алгоритма опроса пользователя

Рисунок Б1 - Схема

ПРИЛОЖЕНИЕ 3

Список вопросов

1. Какую сумму вы готовы потратить на сотовый телефон?

1.1. До 2000 рублей

1.2. До 5000 рублей

1.3. До 12000 рублей

1.4. До 25000 рублей

1.5. Больше 25000 рублей

2. Для чего вам нужен телефон?

2.1. Для общения

2.2. Карманный компьютер

2.3. Для бизнеса

2.4. Не знаю

3. Сколько звонков в день вы совершаете?

3.1. 2-5 звонка

3.2. 5-10 звонков

3.3. Больше 10 звонков

3.4. Не знаю

4. Вы обладаете 1 номером?

4.1. Да

4.2. Хочу приобрести еще один номер

4.3. Нет

5. Важно ли вам наличие кнопок?

5.1. Да

5.2. Нет

5.3. Не знаю

6. Удобна ли вам раскладка клавиш на компьютере?

6.1. Да, мне она удобна

6.2. Нет

6.3. Не знаю

7. Хотели бы вы делать качественные фотографии с помощью телефона?

7.1. Да

7.2. Не знаю

7.3. Нет

8. Нужен ли вам постоянный выход в интернет?

8.1. Да

8.2. Нет

8.3. Не знаю

9. Используете ли вы GPS навигатор?

9.1. Да

9.2. Нет

9.3. Не знаю

10. Много информации (видео, фото, музыку) вы храните на телефоне?

10.1. Очень

10.2. Немного

10.3. Почти ничего

11. Хотели бы вы использовать приложения?

11.1. Да

11.2. Нет

11.3. Не знаю

12. Собираетесь ли вы использовать сразу несколько функций (подключение к интернету и просмотр видео)?

12.1. Да

12.2. Возможно

12.3. Нет

ПРИЛОЖЕНИЕ 4

Дерево принятия решений

Рисунок Г1 - Дерево принятия решений

ПРИЛОЖЕНИЕ 5

Часть листинга программы

#include "mainwindow.h"

#include "ui_mainwindow.h"

#include <QCryptographicHash>

#define MAIN_PAGE 0

#define ABOUT_PAGE 1

#define EXPERT_PAGE 2

#define AUTH_PAGE 3

#define TEST_PAGE 4

#define STATISTIC_PAGE 5

MainWindow::MainWindow(QWidget *parent) :

QMainWindow(parent),

ui(new Ui::MainWindow)

{

ui->setupUi(this);

this->resize(636,479);

// authtable();

n=0;

testp=0;

questions=13;

questionnumber=0;

answers=new int[questions];

ansval=new int[questions];

questval=new int[questions];

db = QSqlDatabase::addDatabase("QODBC");

db.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};FIL={MS Access};DBQ="+QApplication::applicationDirPath()+"/nnn.accdb");

if(loaddb())

qDebug()<<"OK";

palette.setBrush(ui->centralWidget->backgroundRole(), QBrush(QImage(QApplication::applicationDirPath()+"/scr/background.jpg")));

palette1.setBrush(ui->label_10->backgroundRole(), QBrush(QImage(QApplication::applicationDirPath()+"/scr/Smartphony.png").scaled(ui->label_10->width(),ui->label_10->height(),Qt::IgnoreAspectRatio,Qt::SmoothTransformation)));

}

MainWindow::~MainWindow()

{

db.close();

delete ui;

}

void MainWindow::loadtable()

{

int n1=29;

ui->tableWidget_2->setColumnCount(n1);

ui->tableWidget_2->setRowCount(n);

QTableWidgetItem** tableitems;

tableitems=new QTableWidgetItem*[n1];

for(int i=0;i<n1;i++)

tableitems[i]=new QTableWidgetItem;

tableitems[0]->setText("Марка");

for(int i=0;i<n1;i++)

ui->tableWidget_2->setHorizontalHeaderItem(i,tableitems[i]);

line=new QLineEdit**[n1];

for(int i=0;i<n1;i++){

line[i]=new QLineEdit*[n];

for(int j=0;j<n;j++)

line[i][j]=new QLineEdit;

}

for(int i=0;i<n1;i++)

for(int j=0;j<n;j++)

ui->tableWidget_2->setCellWidget(j,i,line[i][j]);

int i=0;

QSqlQuery query("SELECT * FROM Телефоны");

while (query.next()){

for(int j=1;j<n1;j++)

line[j-1][i]->setText(query.value(j).toString());

line[27][i]->setText(query.value(29).toString());

line[28][i]->setText(query.value(31).toString());

i++;

}

ui->tableWidget->setColumnCount(n1);

ui->tableWidget->setRowCount(1);

QTableWidgetItem** tableitems1;

tableitems1=new QTableWidgetItem*[n1];

for(int i=0;i<n1;i++)

tableitems1[i]=new QTableWidgetItem;

tableitems1[0]->setText("Марка");

for(int i=0;i<n1;i++)

ui->tableWidget->setHorizontalHeaderItem(i,tableitems1[i]);

addline=new QLineEdit*[n1];

for(int i=0;i<n1;i++)

addline[i]=new QLineEdit;

for(int i=0;i<n1;i++)

ui->tableWidget->setCellWidget(0,i,addline[i]);

}

bool MainWindow::checkauth(QString Login, QString Password)

{

QSqlDatabase db1 = QSqlDatabase::addDatabase("QODBC","Auth");

db1.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};FIL={MS Access};DBQ="+QApplication::applicationDirPath()+"/3.accdb");

bool ok = db1.open();

if(ok)

{

QSqlQuery query("SELECT * FROM Info",db1);

while (query.next()){

if(query.value(0).toString().left(6)==Login)

if(query.value(2).toString().left(32)==QCryptographicHash::hash((QString("%1:%2").arg(query.value(1).toInt()).arg(Password).toUtf8()),QCryptographicHash::Md5).toHex()){

db1.close();

return 1;

}

}

db1.close();

}

return 0;

}

void MainWindow::showtestpage()

{

ui->widget_7->setEnabled(0);

ui->widget_7->setVisible(0);

ui->radioButton->setEnabled(0);

ui->radioButton->setVisible(0);

ui->radioButton->setChecked(1);

ui->label_16->setEnabled(0);

ui->label_16->setVisible(0);

// questions=12;

if(testp==-1){

ui->widget_10->setEnabled(1);

ui->widget_10->setVisible(1);

int min=-1,max=-1;

int _talktime=-1;

int _gprs=-1,_gps=-1,_wife=-1,_cpu=-1,_ram=-1,_memoryval=-1,_battery=-1;

int _sim=-1;

int _touch=-1;

int _querty=-1;

double _cam=-1;

int __3g=-1;

int _platform=-1;

for(int i=0;i<questionnumber;i++){

if(questval[i]==1){

if(answers[i]==1){

min=0;

max=2000;

}

if(answers[i]==2){

min=0;

max=5000;

}

if(answers[i]==3){

min=0;

max=12000;

}

if(answers[i]==4){

min=0;

max=25000;

}

if(answers[i]==5){

min=25000;

max=min*10;

}

}

if(questval[i]==2){

if(answers[i]==1){

_talktime=9;

}

if(answers[i]==2){

_gprs=1;

_wife=1;

_gps=1;

_cpu=0;

_ram=511;

_memoryval=1023;

_battery=1999;

}

if(answers[i]==3){

_talktime=11;

_gprs=1;

_wife=1;

}

}

if(questval[i]==3){

if(answers[i]==2){

_talktime=6;

}

if(answers[i]==3){

_talktime=9;

}

}

if(questval[i]==4){

if(answers[i]==1){

_sim=0;

}

if(answers[i]==2){

_sim=1;

}

if(answers[i]==3){

_sim=1;

}

}

if(questval[i]==5){

if(answers[i]==1){

_touch=0;

}

if(answers[i]==2){

_touch=1;

}

}

if(questval[i]==6){

if(answers[i]==1){

_querty=1;

}

if(answers[i]==2){

_querty=0;

}

}

if(questval[i]==7){

if(answers[i]==1){

_cam=1;

}

if(answers[i]==3){

_cam=0;

}

}

if(questval[i]==8){

if(answers[i]==1){

__3g=1;

_wife=1;

}

if(answers[i]==2){

__3g=0;

_wife=0;

}

}

if(questval[i]==9){

if(answers[i]==1){

_gps=1;

}

if(answers[i]==3){

_gps=0;

}

}

if(questval[i]==10){

if(answers[i]==1){

_memoryval=1023;

}

if(answers[i]==2){

_memoryval=512;

}

}

if(questval[i]==11){

if(answers[i]==1){

_platform=1;

}

if(answers[i]==2){

_platform=0;

}

if(answers[i]==3){

}

}

if(questval[i]==12){

if(answers[i]==1){

_cpu=2;

}

if(answers[i]==2){

_cpu=1;

}

}

}

ui->listWidget->clear();

for(int i=0;i<n;i++){

bool t=true;

if(!((price[i]>min)&&(price[i]<max)))

t=0;

if(_talktime>-1)

if(talktime[i]<_talktime)

t=0;

if(_gprs>-1)

if(_gprs)

if(!gprs[i])

t=0;

if(_gps>-1)

if(_gps)

if(!gps[i])

t=0;

if(_wife>-1)

if(_wife)

if(!wifi[i])

t=0;

if(_cpu>-1)

if(cpu[i]<_cpu)

t=0;

if(_ram>-1)

if(ram[i]<=_ram)

t=0;

if(_memoryval>-1)

if(memoryval[i]<=_memoryval)

t=0;

if(_battery>-1)

if(battery[i]<=_battery)

t=0;

if(_sim>-1)

if(_sim)

if(sim[i]<2)

t=0;

if(_touch>-1)

if(!_touch)

if(touch[i])

t=0;

if(_querty>-1)

if(_querty)

if(!qwerty[i])

t=0;

if(_cam>-1){

if(_cam)

if(cam[i]<5)

t=0;

}

if(__3g>-1)

if(__3g)

if(!_3g[i])

t=0;

if(_platform>-1)

if(_platform)

if(!(platform[i].contains("Android")||platform[i].contains("iOS")||platform[i].contains("Windows")))

t=0;

if(t){

ui->listWidget->addItem(marka[i]+" "+model[i]);

QSqlQuery q;

// q.exec("SELECT * FROM Телефоны");

q.exec(QString("UPDATE Телефоны SET count = count+1 where ID = %1").arg(i));

q.next();

count[i]++;

}

}

}

}

void MainWindow::authtable()

{

QSqlDatabase db1 = QSqlDatabase::addDatabase("QODBC");

db1.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};FIL={MS Access};DBQ="+QApplication::applicationDirPath()+"/3.accdb");

qDebug()<<QApplication::applicationDirPath();

QApplication::applicationDirPath();

bool ok = db1.open();

if(ok){

QSqlQuery q;

// q.exec("CREATE TABLE Info (Login CHAR (30) NOT NULL, S INTEGER, Hash CHAR (100) );");

for(int i=0;i<10;i++){

int s=qrand()%100;

q.exec(QString("INSERT INTO Info VALUES ('Login%1', %2, '%3')").arg(i).arg(s).arg(QString(QCryptographicHash::hash((QString("%1:Password%2").arg(s).arg(i).toUtf8()),QCryptographicHash::Md5).toHex())));

}

db1.close();

}

}

void MainWindow::aboutpage()

{

if(page==MAIN_PAGE)

page=ABOUT_PAGE;

else page=MAIN_PAGE;

updatepage();

}

void MainWindow::expertpage()

{

if(page==MAIN_PAGE){

page=EXPERT_PAGE;

if(!auth)

page=AUTH_PAGE;

}

else page=MAIN_PAGE;

updatepage();

}

void MainWindow::testpage()

{

testp=0;

if(page==MAIN_PAGE){

page=TEST_PAGE;

nexttestpage();

}

else page=MAIN_PAGE;

updatepage();

}

void MainWindow::statisticpage()

{

if(page==MAIN_PAGE)

page=STATISTIC_PAGE;

else page=MAIN_PAGE;

updatepage();

//ui->listWidget_2

for(int i=0;i<n;i++){

if(count[i]>0){

QString text=marka[i]+" "+model[i]+QString(" - %1").arg(count[i]);

ui->listWidget_2->addItem(text);

}

}

}

void MainWindow::tryauth()

{

ui->label_9->setVisible(0);

ui->label_9->setEnabled(0);

if(checkauth(ui->lineEdit->text(),ui->lineEdit_2->text()))

auth=1;

if(!auth){

ui->label_9->setVisible(1);

ui->label_9->setEnabled(1);

}

if(auth){

expertpage();

expertpage();

}

}

void MainWindow::nexttestpage()

{

if(testp==0){

ui->pushButton_12->setVisible(1);

ui->pushButton_12->setEnabled(1);

testp=1;

questionnumber=0;

showtestpage();

return;

}

int answer=0;

if(testp){

if(ui->radioButton->isChecked())

answer=1;

if(ui->radioButton_2->isChecked())

answer=2;

if(ui->radioButton_3->isChecked())

answer=3;

if(ui->radioButton_4->isChecked())

answer=4;

if(ui->radioButton_5->isChecked())

answer=5;

}

questval[questionnumber]=testp;

answers[questionnumber++]=answer;

if(testp==1)

testp=2;

else if(testp==2){

if(answer==1)

testp=4;

if(answer==2)

testp=6;

if(answer==3)

testp=4;

if(answer==4)

testp=3;

}

else if(testp==3){

testp=6;

}

else if(testp==4){

if(answers[1]==1)

testp=5;

if(answers[1]==2)

testp=-1;

if(answers[1]==3)

testp=5;

if(answers[1]==4)

testp=7;

}

else if(testp==5){

if(answers[1]==1){

if(answer==2)

testp=-1;

else testp=6;

}

if(answers[1]==2)

testp=7;

if(answers[1]==3){

if(answer==2)

testp=10;

else testp=6;

}

if(answers[1]==4)

testp=4;

}

else if(testp==6){

if(answers[1]==1)

testp=-1;

if(answers[1]==2){

if(answer==1)

testp=7;

else testp=5;

}

if(answers[1]==3)

testp=10;

if(answers[1]==4)

testp=4;

}

else if(testp==7){

if(answers[1]==2)

testp=4;

else testp=8;

}

else if(testp==8){

testp=9;

}

else if(testp==9)

testp=10;

else if(testp==10)

testp=11;

else if(testp==11){

if(answers[1]==3)

testp=-1;

else testp=12;

}

else if(testp==12)

testp=-1;

ui->pushButton_12->setVisible(1);

ui->pushButton_12->setEnabled(1);

if(testp==-1){

ui->pushButton_12->setVisible(0);

ui->pushButton_12->setEnabled(0);

}

showtestpage();}}

Размещено на Allbest.ru


Подобные документы

  • Изучение характеристик, классификации, функций и основных элементов экспертных систем. Исследование их структуры и отличительных особенностей от другого программного обеспечения. Описания методов проектирования и области применения экспертных систем.

    реферат [38,1 K], добавлен 18.09.2013

  • Сущность экспертных систем и их научно-познавательная деятельность. Структура, функции и классификация ЭС. Механизм вывода и система объяснений. Интегрированные информационные системы управления предприятием. Применение экспертных систем в логистике.

    курсовая работа [317,3 K], добавлен 13.10.2013

  • Определение экспертных систем, их достоинство и назначение. Классификация экспертных систем и их отличие от традиционных программ. Структура, этапы разработки и области применения. Классификация инструментальных средств и технология разработки систем.

    курсовая работа [78,0 K], добавлен 03.06.2009

  • Понятие и особенности экспертных систем, способных накапливать, обрабатывать знания из некоторой предметной области, на их основе выводить новые знания и решать на основе этих знаний практические задачи. История и устройство юридических экспертных систем.

    реферат [58,4 K], добавлен 17.03.2015

  • Этапы разработки экспертных систем. Требования к организации-разработчику. Правильный выбор подходящей проблемы, работа с экспертом. Разработка прототипной системы. Развитие прототипа до промышленной экспертной системы. Особенности оценки системы.

    презентация [169,1 K], добавлен 14.08.2013

  • Структура экспертных систем, их классификация и характеристики. Выбор среды разработки программирования. Этапы создания экспертных систем. Алгоритм формирования базы знаний с прямой цепочкой рассуждений. Особенности интерфейса модулей "Expert" и "Klient".

    курсовая работа [1,1 M], добавлен 18.08.2009

  • Теоретико-методологические основы моделирования интеграционных экспертных систем. Направления повышения эффективности адаптивных систем обнаружения сетевых аномалий. Математическая реализация модели адаптивных систем обнаружения сетевых аномалий.

    дипломная работа [5,1 M], добавлен 03.01.2023

  • Сущность, виды, направления использования и основные понятия экспертных систем. Понятие и характеристика основных элементов структуры экспертной системы. Основные виды классификаций экспертных систем: по решаемой задаче и по связи с реальным временем.

    доклад [104,5 K], добавлен 09.06.2010

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

    презентация [252,6 K], добавлен 14.08.2013

  • Общая характеристика экспертных программ как систем искусственного интеллекта. Описание реализации в реляционной системе управления базами данных. Рассмотрение особенностей интеграции объектных таблиц принятия решения в проект по распознаванию символов.

    дипломная работа [662,5 K], добавлен 20.07.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.