Разработка прототипа экспертной системы для прогноза профпригодности абитуриента к деятельности конструктора
Основные сведения об экспертных системах и моделях представления знаний. Реализация проекта с помощью нечеткой логики в MatLab. Создание программы для прогноза профпригодности абитуриента к деятельности инженера-конструктора в среде VisualProlog.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 12.01.2018 |
Размер файла | 2,5 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Министерство образования и науки Российской Федерации
Федеральное государственное автономное образовательное учреждение высшего образования
Казанский (Приволжский) федеральный университет
Набережночелнинский институт (филиал)
Кафедра системного анализа и информатики
Выпускная квалификационная работа
Разработка прототипа экспертной системы для прогноза профпригодности абитуриента к деятельности конструктора
Студент 4 курса А.Р. Бакиева
Научный руководитель
к. физ.-мат. н., доцент М.Я. Товштейн
Набережные Челны 2017
СОДЕРЖАНИЕ
РЕФЕРАТ
ВВЕДЕНИЕ
1. ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
1.1 Основные сведения об экспертных системах
1.2 Основные сведения о моделях представления знаний
1.3 Представление нечетких знаний
2. РАЗРАБОТКА КОМПОНЕНТОВ ПРОГРАММЫ
2.1 Выбор среды разработки
2.2 Рекомендации экспертов по составлению теста
2.3 Профессионально важные качества инженера-конструктора
2.4 Функционирование экспертной системы
3. ЭТАП СОЗДАНИЯ ПРОЕКТА
3.1 Реализация с помощью нечеткой логики в MatLab / Simulink
3.2 Создание проекта в среде VisualProlog 7.1
3.3 Создание форм
3.4 Написание кода
3.5 Выполнение программы
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
ПРИЛОЖЕНИЕ
РЕФЕРАТ
Бакиева А.Р. РАЗРАБОТКА ПРОТОТИПА ЭКСПЕРТНОЙ СИСТЕМЫ ДЛЯ ПРОГНОЗА ПРОФПРИГОДНОСТИ АБИТУРИЕНТА К ДЕЯТЕЛЬНОСТИ ИНЖЕНЕР-КОНСТРУКТОР, дипломная работа: стр. 76, рис.23, табл.6, библ. назв. 20.
Ключевые слова: ЭКСПЕРТНАЯ СИСТЕМА, ПРОФПРИГОДНОСТЬ АБИТУРИЕНТА, ИНЖЕНЕР-КОНСТРУКТОР, ПРОДУКЦИОННАЯ МОДЕЛЬ ПРЕДСТАВЛЕНИЯ ЗНАНИЯ, НЕЧЕТКАЯ ЛОГИКА.
В данной работе был рассмотрен и реализован процесс создания экспертной системы для прогноза профпригодности абитуриентка к деятельности инженер-конструктор. Были выполнены задачи, встающие перед экспертом, когнитологом и программистом экспертной системы.
В качестве модели знаний для создания базы знаний были рассмотрены различные их варианты: фреймы, семантические сети, продукционные модели. Наиболее подходящей моделью представления знаний была определена продукционная модель.
Разработанный прототип экспертной системы позволяет выявить личностные характеристики абитуриента и определить его профпригодность к деятельности инженер-конструктор.
ВВЕДЕНИЕ
Проблема выбора абитуриентом будущей профессии была и будет актуальной. В молодости легко сделать ошибку с выбором профессии, совершается эта ошибка в основном, потому что абитуриент не сам выбирает себе будущую профессию, а за него этот выбор делают родители или абитуриент при выборе профессии просто не знает основные требования к выбранной профессии. Выбор профессии - это важнейший этап жизни каждого человека. От этого шага зависит вся последующая жизнь: чем он будет заниматься, где работать, в каких кругах общаться, каким будет материальный доход. Важно, чтобы человеку нравилась его работа, и он получал от нее удовольствие. Бывает так, что при поступлении в ВУЗ абитуриент не может сам сделать этот выбор, и тогда на помощь ему приходят тесты на профориентацию, которые рассматривают психологические качества человека, склонности к профессиональной деятельности, его интересы, возможности, скрытые способности о которых абитуриент и сам порой не догадывается, стремления. Один из способов создания теста на профориентацию с помощью экспертной системы.
Такая экспертная система должна иметь возможность:
1. выявить личностные характеристики абитуриента;
2. выявить профессиональные склонности и способности;
3. вывода, рекомендуемого профессионально направление абитуриента в соответствии с его личностными характеристиками;
4. добавления, удаления или изменения вопросов тестов;
5. обеспечить защиту важной информации, такой как логины и пароли пользователей;
Далее перейдем к определению цели работы и постановке задач, необходимых для ее достижения.
Цель дипломной работы: Создание прототипа экспертной системы для прогноза профпригодности абитуриента к деятельности инженера-конструктора.
Для достижения цели дипломной работы были поставлены следующие задачи:
1. Разработать опросный лист;
2. Найти экспертов для проведения опроса;
3. Выбрать метод представления знаний экспертов;
4. Разработать программу-прототип экспертной системы;
5. Проверить разработанную программу.
программа экспертный нечеткий профпригодность
1. ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
1.1 Основные сведения об экспертных системах
Экспертная система (ЭС)- это компьютерная программа, которая моделирует рассуждения человека-эксперта в некоторой определенной области и использует для этого базу знаний, содержащую факты и правила об этой области, специальную процедуру логического вывода [1].
Базовые функции экспертных систем:
1. Приобретение знаний - это передача потенциального опыта решения проблемы от некоторого источника знаний и преобразование его в вид, который позволяет использовать эти знания в программе.
2. Представление знаний - еще одна функция экспертной системы. Теория представления знаний - это отдельная область исследований, тесно связанная с философией формализма и когнитивной психологией. Предмет исследования в этой области - методы ассоциативного хранения информации, подобные тем, которые существуют в мозгу человека. При этом основное внимание, естественно, уделяется логической, а не биологической стороне процесса, опуская подробности физических преобразований.
3. Управление процессом поиска решения. При проектировании экспертной системы серьезное внимание должно быть уделено и тому, как осуществляется доступ к знаниям и как они используются при поиске решения. Знание о том, какие знания нужны в той или иной конкретной ситуации, и умение ими распорядиться - важная часть процесса функционирования экспертной системы. Такие знания получили наименование метазнаний - т.е. знаний о знаниях. Решение нетривиальных проблем требует и определенного уровня планирования и управления при выборе, какой вопрос нужно задать, какой тест выполнить, и т.д.
4. Разъяснение принятого решения. Вопрос о том, как помочь пользователю понять структуру и функции некоторого сложного компонента программы, связан со сравнительно новой областью взаимодействия человека и машины, которая появилась на пересечении таких областей, как искусственный интеллект, промышленная технология, физиология и эргономика. На сегодня вклад в эту область исследователей, занимающихся экспертными системами, состоит в разработке методов представления информации о поведении программы в процессе формирования цепочки логических заключений при поиске решения.
Отличительные особенности ЭС:
1. Экспертиза может проводиться только в одной конкретной области.
2. Создание новой БЗ для ЭС должно обеспечивать выполнение требований машины логического вывода.
3. ЭС объясняет ход решения задачи (цепочку рассуждений) понятным пользователю способом (можно спросить, как и почему получилось такое решение и получить понятный ответ).
4. Выходные результаты являются качественными (например, совет), а не количественными (цифровыми).
5. Системы строятся по модульному принципу, что позволяет наращивать их базы знаний.
6. Наиболее подходящая область применения - решение задач дедуктивным методом (лат. deductio - выведение), позволяющим по определенным правилам логики делать выводы из некоторых утверждений и комбинаций[2].
Обобщенная структура экспертной.
Обобщенная структура экспертной системы представлена на рисунке 1.1 Следует учесть, что реальные экспертные системы могут иметь более сложную структуру, однако блоки, изображенные на рисунке, непременно присутствуют в любой действительно экспертной системе.
Рисунок 1.1 - Структура экспертной системы
Пользователь - специалист предметной области, для которого предназначена система. Обычно его квалификация недостаточно высока, и поэтому он нуждается в помощи и поддержке своей деятельности со стороны ЭС.
Инженер по знаниям - специалист по искусственному интеллекту, выступающий в роли промежуточного буфера между экспертом и базой знаний. Синонимы: когнитолог, инженер-интерпретатор, аналитик. Будем дальше использовать термин когнитолог.
Интерфейс пользователя - комплекс программ, реализующих диалог пользователя с ЭС как на стадии ввода информации, так и получения результатов.
База знаний (БЗ) - ядро ЭС, совокупность знаний предметной области, записанная на машинный носитель в форме, понятной эксперту и пользователю (обычно на некотором языке, приближенном к естественному). Параллельно такому "человеческому" представлению существует БЗ во внутреннем "машинном" представлении.
Решатель - программа, моделирующая ход рассуждении эксперта на основании знаний, имеющихся в БЗ. Синонимы: дедуктивная машина, блок логического вывода.
Подсистема объяснений - программа, позволяющая пользователю получить ответы на вопросы; "Как была получена та или иная рекомендация?" и "Почему система приняла такое решение?" Ответ на вопрос "как" - это трассировка всего процесса получения решения с указанием использованных фрагментов БЗ, т.е. всех шагов цепи умозаключений. Ответ на вопрос "почему"- ссылка на умозаключение, непосредственно предшествовавшее полученному решению, т.е. отход на один шаг назад.
Интеллектуальный редактор БЗ - программа, представляющая инженеру по знаниям возможность создавать БЗ в диалоговом режиме- Включает в себя систему вложенных меню, шаблонов языка представления знаний, подсказок ("help" - режим) и других сервисных средств, облегчающих работу с базой [3].
Этапы разработки экспертных систем.
В коллектив разработчиков ЭС входят как минимум четыре человека:
· эксперт;
· инженер по знаниям;
· программист;
· пользователь.
Возглавляет коллектив инженер по знаниям, это ключевая фигура при разработке систем, основанных на знаниях.Экспертная система может полностью взять на себя функции, выполнение которых обычно требует опыта человека эксперта или играть роль ассистента для человека, принимающего решение.
Процесс разработки ЭС можно разделить на следующие этапы:
1. Выбор проблемы.
2. Разработка прототипа ЭС.
3. Доработка до промышленной ЭС.
4. Оценка ЭС.
5. Стыковка ЭС.
6. Поддержка ЭС.
Выбор проблемы. Этот этап демонстрируется в разделе 2.3 нашего исследования. На этом этапе:
· определяется проблемная область;
· подбираются специалисты-эксперты;
· подбирается коллектив разработчиков;
· определяется предварительный подход к решению проблемы;
· готовится подробный план разработки.
Разработка прототипа ЭС. Прототип экспертной системы - это сокращенная версия ЭС, спроектированная для проверки правильности рассуждений эксперта. Объем прототипа - несколько десятков правил, фреймов или примеров. Разработка прототипа делится на шесть стадий: идентификация проблемы, извлечение знаний, концептуализация (структурирование) знаний, формализация, реализация прототипа, тестирование.
Идентификация проблемы - знакомство и обучение членов коллектива разработчиков, а также создание неформальной формулировки проблемы. На этом этапе уточняется задача, планируется ход разработки прототипа ЭС, определяются:
· ресурсы (время, люди и т.д.);
· источники знаний (книги, дополнительные эксперты);
· имеющиеся аналогичные ЭС;
· классы решаемых задач и т.д.
Извлечение знаний - получение инженером по знаниям наиболее полного из возможных представлений о предметной области и способах принятия решения в ней. Для извлечения знаний инженер использует различные методы: анализ текстов, диалоги, лекции, дискуссии, интервью, наблюдение и др. Этот этап расписан в пункте 2.2.
Концептуализация (или структурирование) знаний - разработка неформального описания знаний о предметной области в виде графа, таблицы, диаграммы или текста, которое отражает основные концепции и взаимосвязи между понятиями предметной области. На этом этапе определяются: терминология, список основных понятий и их атрибутов, отношения между понятиями, структура входной и выходной информации, стратегия принятия решений и т.д.
Формализация знаний - это разработка базы знаний на языке представления знаний. На этом этапе используются: логические методы, продукционные модели, семантические модели, фреймы, объектно-ориентированные языки.
Реализация прототипа - разработка программного комплекса, демонстрирующего жизнеспособность подхода в целом. На этом этапе создается прототип ЭС (включающий базу знаний, остальные программные модули) при помощи: языков программирования (традиционных, специализированных), инструментальных средств разработки ЭС, «пустых» оболочек ЭС. Разработка программного продукта в среде Visual Prolog 7.1, описана в пункте 3.2
Тестирование - это процесс выявления ошибок в подходе и реализации прототипа. Прототип проверяется на: удобство и адекватность интерфейса ввода/вывода, качество проверочных примеров, полноту и непротиворечивость правил в базе знаний.
Тестирование на удобство и адекватность интерфейса было проведено двумя экспертами и 43-мя учащимися Муслюмовского лицея. Описание - в разделе 3.6.
Развитие прототипа до промышленной ЭС.
Основная работа на этом этапе заключается в расширении базы знаний (добавление правил, фреймов, узлов семантической сети или других элементов знаний). После установления основной структуры знаний ЭС инженер по знаниям приступает к разработке и адаптации интерфейсов, с помощью которых система будет общаться с пользователем и экспертом. Система должна предоставлять пользователю возможность уточнять непонятные моменты, приостанавливать работу и т.д.
Оценка системы необходима для того, чтобы проверить точность работы программы и ее полезность. Оценка проводится по следующим критериям:
· критерии пользователя (понятность работы системы, удобство интерфейсов и т.д.);
· критерии приглашенных экспертов (оценка советов-решений, предлагаемые системой, оценка подсистемы объяснений и т.д.);
· критерии коллектива разработчиков (эффективность реализации, производительность, непротиворечивость базы знаний, количество тупиковых ситуаций и т.д.).
Стыковка ЭС - это соединение ЭС с другими программными средствами в среде, в которой она будет работать, и обучение людей, которых она будет обслуживать. Для подтверждения полезности системы важно предоставить каждому из пользователей возможность поставить перед ЭС реальные задачи и проследить, как она их выполняет. Стыковка включает обеспечение связи ЭС с существующими базами данных и другими системами на предприятии.
Поддержка системы. Готовые системы для повышения ее быстродействия и увеличения переносимости можно перекодировать на другой язык (например, С), но при этом уменьшится ее гибкость. Это можно производить с системами, которые разработаны для проблемных областей, где знания не изменяются. Если же проблемная область, для которой создана система, изменяется, то ее необходимо поддерживать в той инструментальной среде, где она создавалась [2].
1.2 Основные сведения о моделях представления знаний
Знания - это хорошо структурированные данные, а данные - информация, полученная в результате наблюдений или измерений, отдельных свойств (атрибутов), характеризующих объект, процессы и явления предметной области. В настоящее время разработаны различные модели представления знаний, которые сводятся к классам:
· семантические сети,
· формально-логические модели;
· фреймовые модели;
· продукционные модели;
Продукционные и формально-логические модели относятся к классу модульных, т.е. оперируют отдельными элементами знаний (правилами, аксиомами предметной области). Фреймовые модели и семантические сети относятся к классу сетевых моделей, поскольку представляют возможность связывать фрагменты знаний через отношения.
Семантические сети.
Семантика - это наука, устанавливающая отношения между символами и объектами, которые они обозначают, т.е. наука, определяющая смысл знаков. Семантическая сеть - это ориентированный граф, вершины которого - понятия, а дуги - отношения между ними.
В качестве понятия выступают абстрактные или конкретные объекты, а отношения - это связи типа: «принадлежит», «имеет частью», «это». Можно предложить несколько классификаций семантических сетей, связанных с типами отношений между понятиями. По количеству типов отношений: однородные (с единственным типом отношений); неоднородные (с различными типами отношений). По типам отношений: бинарные, в которых отношения связывают два объекта; N-арные, в которых есть специальные отношения, связывающие более двух понятий.
Недостатком этой модели является сложность организации. Эта проблема сводится к нетривиальной задаче поиска фрагмента сети, соответствующего некоторой подсети, отражающей поставленный запрос к базе знаний.
Для реализации семантических сетей существуют специальные сетевые языки, например: NET, SIMER+MIR.
Формально-логическая модель.
Формализация знаний основана на системе исчисления предикатов первого порядка, которая в свою очередь основывается на исчислении высказываний. Высказыванием называется предложение, принимающее только два значения: истина или ложь. Из простых высказываний с помощью связок и, или, не, если…то могут формироваться более сложные высказывания.
Логика высказываний оперирует логическими связями между высказываниями, то есть решает вопросы типа:
Можно ли на основе высказывания А получить высказывание В?
Истинно ли высказывание В при истинности высказывания А?
Исчисление высказываний позволяет формализовать лишь малую часть множества рассуждений, не позволяет учитывать внутреннюю структуру высказывания, которая существует в естественных языках.
Фреймовая модель.
Фреймы были впервые предложены в качестве аппарата для представления знаний М. Мински в 1975 г. Фреймовые модели представляют собой систематизированную в виде единой теории технологическую модель памяти человека и его сознания. Под фреймом понимают минимальные структуры информации, необходимые для представления класса объектов, явлений или процессов [4].
Продукционная модель.
Продукционная модель позволяет представить знания в виде конструкций типа «Если (условие), то (действие)». Под условием понимается некоторое предложение-образец, по которому осуществляется поиск в БЗ, а под действием - действия, выполняемые при успешном исходе поиска. Они могут быть промежуточными, выступающими далее как условия, и целевыми, завершающими работу системы.
В рабочей памяти продукционной системы хранятся пары «атрибут - значение», истинность которых установлена в процессе решения конкретной задачи к некоторому текущему моменту времени. Содержание рабочей памяти изменяется в процессе решения задачи, что происходит по мере срабатывания правил. Правило срабатывает, если при сопоставлении фактов, содержащихся в рабочей памяти, с образцом правила имеет место совпадение.
Существует два типа продукционных систем - с прямым и обратным выводом. Прямой логический вывод реализует стратегию от фактов к заключению или от данных к поиску цели. При обратном вывод выдвигаются гипотезы, которые могут быть подтверждены или опровергнуты на основании фактов, поступающих в рабочую память.
Продукционная модель представления знаний используется более чем в 80% экспертных систем, поскольку обладает наглядностью, высокой модульностью, легкостью внесения дополнений и изменений, простотой логического вывода. К недостаткам продукционных моделей следует отнести неясность взаимных связей правил; сложность оценки целостного образа знаний; низкую эффективность обработки знаний. Существует большое количество программных средств (ПС), реализующих продукционный подход к построению БЗ, Например, языки высокого уровня CLIPS,Prolog, OPSS, «пустые» ЭС EXSYS, Kappa, GURU, инструментальные системы MATLAB, KEE, ARTS, PIES [5].
1.3 Представление нечётких знаний
Модели представления нечетких знаний используются для формализации человеческих знаний, описывающих качественные характеристики (например, большой, сильный, очень сильный, высокий и т.п.) объектов предметной области, которые могут интерпретироваться неоднозначно, но содержат важную информацию [6].
При решении реальных задач часто возникают ситуации неопределенности, которые можно разделить на две категории:
· отсутствие достаточно полного и достоверного знания о предметной области и
· отсутствие возможности получить исчерпывающую информацию о конкретном состоянии среды, объекте, ситуации и т.п.
В первом случае речь может идти о плохо изученных явлениях, противоречивых теориях или нечетко сформулированных концепциях. Так, например, применение в терапии новых препаратов часто дает совершенно неожиданный результат, который невозможно предсказать. Возможна также и противоположная ситуация: предметная область хорошо изучена, но эксперты предпочитают прибегать к неформальным, но более эффективным, эвристическим приемам, вместо использования рутинных точных методов. Широкое распространение получил аппарат нечеткой логики.
Объекты проблемной области, базовые и нечеткие значения.
Понятийная структура проблемной области, связанная с ее объектами и процессами, представляется в теории нечетких систем как совокупность абстрактных сущностей (объектных переменных или переменных процесса). Примером признаков объектов проблемной области могут служить: личностные и профессиональные характеристики для выбора профессионального обучения в институте. Объектная переменная становится конкретной за счет присваивания ей значений. Личностные и профессиональные характеристики - внимательность, технический склад ума, аналитическое мышление и т.д.
Базовые значения каждого признака объекта проблемной области в интеллектуальных системах - это множество измеримых значений. В общем случае невозможно решить задачу выбора базовых значений, так как выбор зависит от особенностей проблемной области. Должны выполняться следующие условия выбора [7]:
Уникальность - в любой возможной ситуации объектная переменная принимает одно и только одно из базовых значений.
Измеримость - в любой возможной ситуации сущность может быть определена моментальным значением объектной переменной.
Рассмотрим ещё одно понятие, используемое при представлении нечётких знаний - функцию принадлежности.
В любой ситуации признак объекта проблемной области имеет одно и только одно четкое значение из согласованного множества базовых и одно и более чем одно нечеткое значение из соответствующего множества нечетких значений. Выберем для объектной переменной «количество положительных ответов» множество базовых значений: и множество нечетких значений: - степень принадлежности
Сущности «количество положительных ответов» и четкому значению «1» соответствует нечеткое - «низкая» степень принадлежности. При «1»-ом положительном ответе трудно говорить о «высокой» степени принадлежности к какому-либо направлению.
Интуитивное отношение между базовым и нечетким значением объектной переменной выражают более точно, а значит, и количественно, с помощью функции принадлежности, обозначаемой греческой буквой .
Функция отображает базовое значение и нечеткое значение в интервал . По определению: для и .
Представим понятие «количество положительных ответов» в наглядной форме (см. таблицу 3.1).
Если для пары значений , то четкое значение не принадлежит нечеткому и не является членом . Если , то . Частичная или неопределенная принадлежность выражается значением функции, лежащим в интервале между 0 и 1. Рассмотрим таблицу значений для примера (см. таблицу 3.2).
Сумма чисел по горизонтали часто, но не обязательно близка к 1.0. Реально это означает, что нечеткие значения неформально покрывают спектр базовых значений. На практике функцию принадлежности часто строят так, чтобы . Для фиксированного нечеткого значения функция принадлежности - это функция переменной , называемой частичной функцией принадлежности [8].
Таблица 1 - Нечеткое понятие «степень принадлежности»
Базовое значение |
Понятие |
||||
не применимое |
возможное |
допустимое |
подходящее |
||
0 |
Средняя Высокая |
Нет |
Нет |
Низкая |
|
1 |
Высокая |
Нет |
Низкая |
Низкая |
|
2 |
Высокая |
Средняя |
Низкая |
Нет |
|
3 |
Низкая Высокая |
Нет |
Нет |
Средняя |
|
4 |
Низкая |
Высокая |
Средняя |
Нет |
|
5 |
Низкая |
Высокая |
Высокая |
Нет |
|
6 |
Низкая Средняя |
Нет |
Нет |
Высокая |
Таблица 2 - Функция принадлежности для понятия «количество положительных ответов»
Базовое значение |
Нечеткое значение |
Сумма |
|||
Низкая |
Средняя |
Высокая |
|||
0 |
1.0 |
0.0 |
0.0 |
1.0 |
|
1 |
0.9 |
0.0 |
0.0 |
0.9 |
|
2 |
0.5 |
0.3 |
0.0 |
0.8 |
|
3 |
0.0 |
1.0 |
0.0 |
1.0 |
|
4 |
0.0 |
0.6 |
0.3 |
0.9 |
|
5 |
0.0 |
0.4 |
0.4 |
0.8 |
|
6 |
0.0 |
0.0 |
1.0 |
1.0 |
Нечеткие множества.
Рассмотрим объектную переменную с согласованными множествами базовых и нечетких значений. состоит из всех базовых значений объектной переменной и соответствующих нечетких значений . называется «нечетким множеством над множеством базовых значений » или просто «множеством » или еще проще «нечетким множеством »
Из таблицы 2 можно вывести три нечетких множества:
В принципе каждое нечеткое множество содержит все согласованные базовые значения с соответствующей степенью принадлежности к нечеткому значению . Но чаще базовые значения с удаляются, так как они не принадлежат к рассматриваемому нечеткому множеству.
Операции над нечеткими множествами.
Пересечение И.
Рассмотрим определение операции пересечения в традиционной теории множеств. Пусть заданы два множества и элементов из множества базовых значений , тогда пересечение множеств определяет множество, элементы которого из принадлежат к обоим множествам и одновременно:
Определим операцию пересечения в теории нечетких множеств. Пусть заданы два нечетких множества:
Пересечение нечетких множеств определяется как:
Значение и полностью содержится в
Значение , частично содержащееся в , только частично содержится в :
Если значение не содержится в
К исходному множествунечетких значений объектной переменной добавляются новые термины, получаемые с помощью использования операции И. Функция принадлежности нового значения переменной процесса определяется:
Объединение ИЛИ.
Рассмотрим определение операции объединения в традиционной теории множеств. Пусть даны два множества и элементов базового множества , тогда объединением множеств называется множество, содержащее такие элементы , которые принадлежат множествам или или обоим одновременно [9]:
Определим объединение в теории нечетких множеств. Пусть даны два нечетких множества:
тогда объединением множеств называется:
Значение , которое полностью содержится хотя бы в одном из множеств или , так же полностью содержится в : если или , то
Значение , которое хотя бы частично содержатся в или в , всегда частично содержится в : если то
Значение , так же не содержится в : если то
Для заданного множества нечетких значений объектной переменной мы можем добавить новые термины, используя связку «ИЛИ». Функция принадлежности нового значения объектной переменной определяется как:
Следовательно, нечеткое множество, принадлежащее к нечетким знаниям , это нечеткая дизъюнкция множеств, принадлежащих и .
Можно легко составить расширенное множество значений:
Так как операция ИЛИ симметрична, , то другие нечеткие значения, подобные «средняя степень принадлежности ИЛИ высокая», нет необходимости описывать. Значение «средняя степень принадлежности ИЛИ высокая» подобно «низкая степень принадлежности ИЛИ средняя».
Вывод правил формирования результирующей функции принадлежности при выполнении одного или нескольких нечетких правил можно осуществить методом максимума-минимума. Этот метод реализуется специальным алгоритмом Мамдани.
Алгоритм Мамдани
Данный алгоритм описывает несколько последовательно выполняющихся этапов (рисунок 1.2). При этом каждый последующий этап получает на вход значения, полученные на предыдущем шаге.
Рисунок 1.2 - Схема нечеткого вывода
Кратко поясним показанные на рисунке этапы.
1) Этап формирования правил - формализация экспертом базы знаний системы нечёткого логического вывода в виде нечётких продукционных правил заданного вида.
2) Фаззификация (введение нечеткости) входных переменных - установление соответствия между конкретным (обычно численным) значением отдельной входной переменной системы нечеткого вывода и значением функции принадлежности соответствующего ей терма водной лингвистической переменной.
3) Агрегирование подусловий - оценка степени истинности условий правил базы знаний по каждому из правил системы.
4) Активизация подзаключений - оценка истинности отдельных заключений правил базы знаний (в нечёткой форме) на основе оценок истинности нечётких условий данных правил.
5) Аккумулирование заключений - формирование нечёткого заключения для всей системы нечётких продукций базы знаний. Данное заключение определяет нечёткий выход системы нечёткого логического вывода.
6) Дефаззификация - приведение к чёткости, требуемое при необходимости преобразования нечёткого результата в чёткое число. Наиболее известными методами дефаззификации являются методы центра тяжести, деления площади пополам, максимума принадлежности [20].
В данном разделе было дано определение экспертной системы, рассмотрены несколько различных моделей представления знаний, нацеленных на решение определенных задач. Для создания базы знаний прототипа моей экспертной системы была выбрана продукционная модель представления знаний, а для программной реализации - система Visual Prolog 7.1.
2. РАЗРАБОТКА КОМПОНЕНТОВ ПРОГРАММЫ
2.1 Выбор среды разработки
Существует много языков программирования, ориентированных на разработку данного приложения. Рассмотрим некоторые из них:
Универсальные языки программирования:
1. Язык С - это универсальный язык программирования, для которого характерны экономичность выражения, современный набор операторов и типов данных. Язык С не является ниязыком "очень высокого уровня", ни "большим" языком, и не предназначается для некоторой специальной области применения, но отсутствие ограничений и общность языка делают его для многих задач более удобным и эффективным, чем языки, предположительно более мощные. Язык С не связан с какими-либо определенными аппаратными средствами или системами, и на нем легко писать программы, которые можно пропускать без изменений на любой ЭВМ, имеющей С-компилятор.
2. С++ является языком программирования общего назначения. Естественная для него область применения - системное программирование, понимаемое в широком смысле этого слова. Реализации С++ теперь есть на всех машинах, начиная с самых скромных микрокомпьютеров - до самых больших супер-ЭВМ, и практически для всех операционных систем [10].
3. C# --объектно-ориентированный язык, предназначенный для разработки разнообразных безопасных и мощных приложений, выполняемых в среде .NET Framework. С помощью языка C# можно создавать обычные приложения Windows, XML-веб-службы, распределенные компоненты, приложения "клиент-сервер", приложения баз данных и т. д. Visual C# предоставляет развитый редактор кода, конструкторы с удобным пользовательским интерфейсом, встроенный отладчик и множество других средств, упрощающих разработку приложений на базе языка C# и .NET Framework [11].
4. Язык Pascal, названный в честь французского математика и философа Блеза Паскаля (1623-1662), был создан как учебный язык программирования в 1968-71 годах швейцарским ученым Никлаусом Виртом на кафедре информатики Стэнфордского университета (Цюрих). В настоящее время это язык имеет более широкую сферу применения, чем предусматривалось при его создании. Свое признание Паскаль получил с появлением пакета Турбо Паскаль (TurboPascal). Этот язык отличается простотой понимания, стройностью и структурностью алгоритмов, быстротой компилятора и удобными средствами создания и отладки программ [12].
5. MATLAB -- это высокоуровневый язык и интерактивная среда для программирования, численных расчетов и визуализации результатов. С помощью MATLAB можно анализировать данные, разрабатывать алгоритмы, создавать модели и приложения [19].
В основном, эти языки не подходят для создания ЭС, они используются для создания инструментальных средств.
Языки искусственного интеллекта
6. Prolog (Programming in Logic)- язык программирования, который основан не на алгоритме, а на логике предикатов. Если программа на алгоритмическом (процедурном) языке является последовательностью инструкций, выполняющихся в заданном порядке, то Prolog, будучи декларативным языком, содержит только описание задачи. Так называемая Prolog-машина выполняет поиск решения, руководствуясь только этим описанием и используя механизм поиска с возвратом и унификацию.
7. Язык Лисп - один из старейших языков программирования и первый функциональный язык, получивший широкое распространение. Ядро языка было создано в 60-х годах прошлого века известным ученым Дж. Маккарти для решения задач обработки символьной информации. Основная структура данных языка Лисп - список, отсюда и название языка: Lisp - ListProcessing[13].
Пролог
Язык программирования Пролог может применяться для реализации логических моделей представления знаний. Далее будут рассмотрены особенности этого логического языка для создания экспертных систем.
Пролог - это логический язык программирования, который основывается на логике предикатов первого порядка. Название языка Пролог - сокращение, означающее «программирование в терминах логики».
Идея использовать логику в качестве языка программирования возникла впервые в начале 70-x годов. Первыми исследователями, разрабатывавшими эту идею, были Роберт Ковальский из Эдинбурга (теоретические аспекты), Мартен ванн Эмден из Эдинбурга (экспериментальная демонстрационная система) и Ален Колмероэ из Марселя (реализация). На сегодняшний день популярность Пролога во многом обязана эффективной реализации этого языка, полученной в Эдинбурге Дэвидом Уорреном в середине 70-x годов. Поскольку Пролог уходит своими корнями в математическую логику, его преподавание часто начинают с изложения логики [14].
Характеристика языка включает в себя следующие основные понятия:
· правила,
· факты и
· запросы, позволяющие создавать базы знаний, процедуры логического вывода и принятия решений.
Правила имеют вид: вывод:-условие. Значок «:-» соответствует логической импликации, поэтому правило можно прочитать так: «Вывод станет истинным, если условие истинно».
Условие содержит предикаты, которые называются целями правила. Пролог-машина пытается определить, будут ли истинными цели, входящие в условие правила. При этом учитываются предикаты, образующие так называемую базу фактов.
Факт в языке Пролог - это предикат со значениями истина. Иначе говоря, факт является высказыванием, имеющим значение истина
Запрос - это «сокращённое» правило, то есть отбрасывается его левая часть (вывод) и знак «:-», а остаётся только условие. Запрос - это указание Пролог-машине выяснить, какое значение получит условие.
Пролог имеет два основных отличия от процедурных языков - способ организации вычислений и способ представления данных. Оба этих аспекта языка отличаются от языков программирования процедурного типа[15].
CредаVisualProlog: основные понятия, интерфейс.
Prolog, как упоминалось, является языком, основанным на программировании логики. Вместо детальных инструкций, предписывающих как решать задачу, программист на языке Prolog уделяет основное внимание постановке задачи, то есть пишет, что надо делать, и не указывает, какие организовывать циклы, развилки, присваивания значений переменным. Поэтому Prolog называют языком декларативного типа.
Для реализации этого языка созданы различные программистские системы. В нашей работе использовалась система, которая называется Visual Prolog. В ней используется подход, получивший название «визуальное программирование», при котором внешний вид и поведение программ определяются с помощью специальных графических средств проектирования без традиционного программирования на алгоритмическом языке.
С помощью Visual Prolog проектирование пользовательского интерфейса (экранных окон, диалогов, меню, линии уведомлений о состояниях и т.д.) производится в графической среде. С созданными объектами сразу же могут работать так называемые Кодовые Эксперты, которые используются для генерации базового и расширенного кодов на языке Prolog, необходимых для обеспечения их функционирования.
В Visual Prolog входят интерактивная среда визуальной разработки. Она включает текстовый и различные графические редакторы, инструментальные средства генерации кода, конструирующие управляющую логику, а также интерфейс визуального программирования, Пролог-компилятор, набор различных подключаемых файлов и библиотек, редактор связей, файлы, содержащие примеры и помощь[16]..
Интерфейс Visual Prolog включает: главное меню, панель инструментов, окно проекта. На рисунке 2.1 показано, как выглядит окно с перечнем возможных программистских инструментов.
Рисунок 2.1 - Пример окна системы VisualProlog 7.1
Существуют несколько версий(модификаций) системы Visual Prolog. В данной работе используется самая последняя версия -Visual Prolog 7.1. Её мне пришлось изучить самостоятельно, поскольку на занятиях в университете мы использовали более простую версию - Visual Prolog 5.2.
Расскажем о структуре Пролог-программы. Как правило, она состоит из четырех секций.
PREDICATES - описания предикатов. Здесь объявляются предикаты и стандартные типы переменных- аргументов предикатов.
DOMAINS -описание нестандартные типов переменных. При этом учитывается смысл, семантика (домен) переменных
CLAUSES -описываются факты и правила вывода.
GOAL - здесь записывается запрос.
2.2 Рекомендации экспертов по составлению теста
Как известно, в создании экспертной системы существенную роль играют носители профессиональных знаний. Их называю Эксперты. В роли экспертов в данной работе выступали:
· Чукмарова Л.Ф - кандидат психологических наук, доцент, зав кафедрой общей психологии НЧФ КИУ им. В.Г. Тимирясова (ИЭУП);
· сотрудники НТЦ ОАО «КамАЗ»:
- Розов Е. В. - инженер конструктор 1 категории;
- Гильманов А.Р. - инженер конструктор 3 категории;
- Потапов В.Г - ведущий инженер-конструктор.
Рекомендации Чукмаровой Л.Ф: «Для составления тестовых вопросов сначала необходимо определить пвк характеристики профессии инженера-конструктора. Затем разделить тест на блоки с вопросами, отвечающими за определенные пвк, разделив их на: необходимые, желательные, запрещенные (противопоказанные). Также просмотреть уже существующие тесты на профориентацию»
Мнение инженеров-конструкторов: в работе конструктора большую роль играет пространственное мышление, умение представлять картинки еще не готовых изделия в уме, знания физики и математики, умение разбираться в программных средствах для графического проектирования.
2.3 Профессионально важные качества инженера-конструктора
Для прогноза профпригодности абитуриента к деятельности инженера-конструктора необходимо:
1. определить характеристику профессии инженера-конструктора;
2. выявить профессионально важные качества (ПВК) относящиеся к данной профессии;
3. на основе ПВК составить вопросы для теста на профпригодность;
4. обработать и оценку результатов теста.
Должностные обязанности инженер-конструктора:
· Разрабатывать эскизные, технические и рабочие проекты особо сложных, сложных и средней сложности изделий, используя средства автоматизации проектирования, передовой опыт разработки конкурентоспособных изделий, обеспечивать при этом соответствие разрабатываемых конструкций техническим заданиям, стандартам, нормам охраны труда, требованиям наиболее экономичной технологии производства, а также использование в них стандартизованных и унифицированных деталей и сборочных единиц.
· Проводить патентные исследования и определяет показатели технического уровня проектируемых изделий.
· Составлять кинематические схемы, общие компоновки и теоретические увязки отдельных элементов конструкций на основании принципиальных схем и эскизных проектов, проверяет рабочие проекты и осуществляет контроль чертежей по специальности или профилю работы.
· Снимать эскизы сложных деталей с натуры и выполнять сложные деталировки.
· Проводить технические расчеты по проектам, технико-экономический и функционально-стоимостной анализ эффективности проектируемых конструкций, а также расчет рисков при разработке новых изделий.
· Составлять инструкции по эксплуатации конструкций, пояснительные записки к ним, карты технического уровня, паспорта (в том числе патентные и лицензионные), программы испытаний, технические условия, извещения об изменениях в ранее разработанных чертежах и другую техническую документацию.
· Изучать и анализировать поступающую от других предприятий конструкторскую документацию в целях ее использования при проектировании и конструировании.
· Согласовывать разрабатываемые проекты с другими подразделениями предприятия, представителями заказчиков и органов надзора, экономически обосновывает разрабатываемые конструкции.
· Участвовать в монтаже, наладке, испытаниях и сдаче в эксплуатацию опытных образцов изделий, узлов, систем и деталей новых и модернизированных конструкций выпускаемой предприятием продукции, в составлении заявок на изобретения и промышленные образцы, а также в работах по совершенствованию, модернизации, унификации конструируемых изделий, их элементов и в разработке проектов стандартов и сертификатов.
· Предоставляет отзывы и заключения на проекты стандартов, рационализаторские предложения и изобретения, касающиеся отдельных элементов и сборочных единиц [17].
Профессионально важные качества (ПВК) субъекта труда - это характеристики человека, от которых зависит успешность его профессиональной деятельности. В качестве ПВК выделяют индивидуально-психологические (типологические) свойства индивида и отношения личности [18].
Профессионально важные качества профессии инженер-конструктор.
· аналитическое мышление -способность человека выявлять разного рода соотношения,видеть составные части системы или процесса закономерности и связи между ними,способность структурировать и сопоставлять информациюопределять причинные взаимоотношения.
· пространственное мышление-означает использование преимуществ естественной способности человека видеть-не только посредством глаз, но и мысленно, позволяющей обнаруживать идеи, которые в противном случае остались бы незамеченным; быстро и интуитивно развивать их, а затем доносить до других людей таким образом, чтобы окружающие быстро понимать и принимали их.
· технический склад ума - позволяет человеку хорошо разбираться в технических и математических науках. Такие люди любят все анализировать, они способны увидеть отдельные детали ситуации и оценить их.
· высокая концентрация - внимания-это сложное образование, которое определяется направленностью личности, системой ее ценностных ориентаций.
Такие ориентации предопределяют направление внимания человека. Внимательность формируется в деятельности. Так, педагогическая деятельность формирует устойчивое, способное к распределению и переключению внимание. Внимательный человек отличается наблюдательностью, он полнее и точнее воспринимает окружающий мир, учится и работает значительно успешнее, чем невнимательный человек.
· развитое логическое мышление-это мыслительный процесс, при котором человек использует логические понятия и конструкции, которому свойственна доказательность, рассудительность, и целью которого является получение обоснованного вывода из имеющихся предпосылок.
· Коммуникабельность- способность к общению, к установке связей, контактов, общительность; совместимость (способность к совм. работе) разнотипных систем передачи информации.
· Стрессоустойчивость-переделяется как «набор личностных черт, определяющих устойчивость к различным видам стрессов. Стрессоустойчивость состоит из трех, связанных между собой компонентов:
1) ощущение важности своего существования;
2) чувство независимости и способности влиять на собственную жизнь;
3) открытость и интерес к изменениям, отношение к ним не как к угрозе, а как к возможности развития.
В таблице 1 показано число вопросов для соответствующих ПВК.
Таблица 3 - ПВК и число соответствующих им вопросов
Характеристики |
Важные |
Необходимые |
Желательные |
Число вопросов |
|
Аналитическое мышление |
5 |
||||
Высокая концентрация и устойчивость внимания |
3 |
||||
Технический склад ума |
6 |
||||
Пространственное мышление |
9 |
||||
Хорошо развитое логическое мышление |
3 |
||||
Коммуникабельность |
4 |
||||
стрессоустойчивость |
4 |
||||
ИТОГО……. |
34 |
Введём обозначения:
А - Аналитическое мышление
Т - Технический склад ума
П - Пространственное мышление
К - Коммуникабельность
С - Стрессоустойчивость
В - Внимание
Л -Логическое мышление
Вывод результата теста будет основываться на подсчете баллов по каждой ПВК в отдельности.
Если 30<А+Т+П+К+В+Л+С, то Вы прирождённый инженер-конструктор.
Если 15<А+Т+П+К+В+Л+С<=30, то У Вас имеются склонности к профессии инженер-конструктор
Если А+Т+П+К+В+Л+С?15, то Профессия инженер-конструктор не для Вас
Далее вывод результата определяется по каждому параметру:
Если Т>4, то Ваш уровень развития общетехнических способностей высокий.
Если 2<Т?4, тоВаш уровень развития общетехнических способностей средний
Если Т?2, тоВаш уровень развития общетехнических способностей низкий
ЕслиП>6, тоУ Вас великолепное пространственное мышление!Просто отличные навыки визуализации!Вы способны делать точные выводы, но основании чрезвычайно малого количества информации.
Если 3<П?6, тоУ вас довольно хорошее пространственное мышление! Вы сильны в навигации, визуализации и внимании к деталям.
Если П<3, тоУ Вас не очень развитое пространственное мышление.Вы не визуальный человек, но это нормально! Ваши дедуктивные способности находятся в других областях.
ЕслиА>3, тоУвас очень высокий уровень аналитического мышления. Вы можете системно подходить к решению многих жизненных задач. Вам по плечу любая работа, требующая аналитических способностей и обработки числовых данных.
Если1<А?3, тоУ вас средний уровень аналитических способностей.
Если А=1, тоОчень низкий уровень аналитического мышления. Вы просто беззащитны перед большим количеством цифр или иной информации.
Если К=4, то Общительность - ваша самая яркая черта. Вы знаете все и обо всех.
Если К=3, то Ваша коммуникабельность в рамках нормы. Вы любознательны, умеете спокойно обсуждать проблемы и находить решения.
Если К?2, тоУ вас есть проблемы с общением, коммуникабельность - явно не ваша сильная сторона. Если С=4, тоВаш уровень стрессоустойчивости - высокий. Вы легко переносите невзгоды и лояльны к окружающим.
Если 1<С?3,тоВаш уровень стрессоустойчивости - средний. Вы являетесь человеком, который в целом неплохо справляется со стрессовыми ситуациями.
Если С=1, тоВаш уровень стрессоустойчивости - низкий, из колеи вас может вышибить любая, порой даже сама невинная деталь. ЕслиВ=3, то Вы Внимательный и наблюдательный человек.
ЕслиВ=2, то Вы не очень внимательный человек.
ЕслиВ=1, то К сожалению, результат очень плохой. Вам необходимо развивать внимательность.
Если Л=3, то Ваш мозг работает просто безупречно. Вы без проблем способны связать в голове абсолютно несвязанные вещи. Вы творческая и наблюдательная личность.
Если Л=2, тоУ вас средний уровень логического мышления.
Если Л=1, то Вы не всегда поступаете логично при разрешении жизненных ситуаций и проблем. Возможно, вы следуете своей интуиции, но если вы хотите иметь развитую логику, есть над чем поработать.
2.4 Функционирование экспертной системы
К входным относятся:
· Фамилия, имя, отчество (ФИО).
· Показатели А,Т,П,К,В,Л,С при сочетании которых будет составляться заключение.
· Ответы на вопросы теста.
· Номер вопроса по порядку - для контроля.
Выходные данные:
· ФИО тестируемого
· Вопросы тестов
· Результаты тестов
Описание классов.
Для удобства реализации программы, объявления фактов и предикатов по различным ПВК использовались классы объектов.
- КлассTitle -в этом классе создается главное окно теста, в нем выводится информация о тесте, происходит регистрация абитуриента и переход к самому тесту.
- Класс test- содержит формы теста, т.е. окна с вопросами и предлагаемыми ответами, здесь происходит регистрация ответа, при нажатии кнопки, вывод нового вопроса на экран и вывод результата теста.
В файле test.pro описан класс обращения к файлу q_bd.proи переход к новой форме вопросовtest1.
- Класс q_bd - содержит вопросы теста, счетчик результатов по коммуникабельности и стрессоустойчивости, содержит тексты вывода результатов теста по данным ПВК.
Файл q_bd.cl содержит предикаты и их типы, например:
· Predicates r_q имеет тип данных строковый (string) - этот предикат содержит текст результата теста, который выводится после подсчетов баллов.
· Predicates set_an имеет тип boolean - это логический тип данных, он принимает только 2 значения «Истина» или «Ложь». Этот предикат ведет учет по двум ПВК : стрессоустойчивость и коммуникабельность.
Файл q_bd.pro содержит описания правил вывода вопросов на экран, счетчик ответов, переход от одного вопроса к другому после ответа и вывод результата после подсчета всех баллов. Например:
Clauses next_q():- num:=num+1. Ведет подсчет номера вопроса, при ответе на первый вопрос он выводит второйret_text(TXT):-f_q(num, TXT, _,_,_).
- Класс q_bd1-содержит вопросы теста, счетчик результатов по техническому складу ума, пространственному мышлению и содержит тексты вывода результатов теста по данным ПВК.
- Класс q_bd2-содержит вопросы теста, счетчик результатов по логическому мышлению, внимательности и содержит тексты вывода результатов теста по данным ПВК.
- Класс paintPact-загружает картинки вопросов, идет настройка их размеров и координат.
Файл dopaint.cl содержит предикат bkg, тип данных которого - рисование (windowGDI).
Файл dopaint.pro содержит метод рисования bkg(GDIObj). Он выводится в окне, на которое указывает аргумент GDIObj. Пример: (????)
Для вывода рисунка на экран необходимо чтобы рисунок был в формате bmpи находился в папке проекта exe.
clausesbkg(W) :- P= vpi::pictLoad("1.BMP"), bkg(W) загружает картинку в формате bmp,при вызове W:pictDraw передается сообщение объекту W (окно), нарисовать объект в заданной вершине Р.ПеременнаяР- хранит список точек построения объекта.
W:pictDraw(P, pnt(10, 40)).
- Класс convas- содержит вопросы, имеющие картинки и соответствующие им формы. Именно в этот класс передается аргумент GDIObj.
PredicatesonPaint : drawWindow::paintResponder.
clauseonPaint(_Source, _Rectangle, GDIObj) :-dopaint::bkg(GDIObj).
Основные выводы по разделу 2
В качестве Программиста мне необходимо разработать, во-первых, интерфейс между экспертной системой и пользователем и, во-вторых, блок экспертной системы, который выдает рекомендации на основе полученных знаний. Для реализации этого я выбрала среду разработки VisualProlog 7.1 и язык программирования Prolog.
3. ЭТАП СОЗДАНИЯ ПРОЕКТА
3.1 Реализация с помощью нечеткой логики в MatLab / Simulink
...Подобные документы
Синтаксис логики предикатов. Преобразование унарных предикатов в бинарные. Функции, выполняемые экспертной системой. Правила "если-то" для представления знаний. Разработка оболочки в экспертных системах. Рассуждения, использующие логические формулы.
курс лекций [538,1 K], добавлен 16.06.2012Обобщенная структура и принципы функционирования экспертных систем. Выбор модели представления знаний. Разработка логического блока программы и графического пользовательского интерфейса. Текст программы и экспериментальная оценка результатов работы.
дипломная работа [2,4 M], добавлен 06.03.2013Понятия, классификация и структура экспертных систем. Базы знаний и модели представления знаний. Механизмы логического вывода. Инструментальные средства проектирования и разработки экспертных систем. Предметная область ЭС "Выбор мобильного телефона".
курсовая работа [2,2 M], добавлен 05.11.2014Понятие и сущность экспертной системы, ее внутренняя структура и назначение, этапы и принципы разработки. Продукционная и фреймовая модель представления знаний, порядок построения семантической сети. Разработка алгоритма программы, создание интерфейса.
курсовая работа [1,2 M], добавлен 22.01.2015Этапы разработки экспертных систем. Требования к организации-разработчику. Правильный выбор подходящей проблемы, работа с экспертом. Разработка прототипной системы. Развитие прототипа до промышленной экспертной системы. Особенности оценки системы.
презентация [169,1 K], добавлен 14.08.2013Понятие и суть нечеткой логики и генетических алгоритмов. Характеристика программных пакетов для работы с системами искусственного интеллекта в среде Matlab R2009b. Реализация аппроксимации функции с применением аппарата нечеткого логического вывода.
курсовая работа [2,3 M], добавлен 23.06.2012Фреймовые модели представления знаний. Разработка структуры фреймов для реализации экспертной системы. Разработка экспертной системы с фреймовой моделью представления знаний. Редактирование базы фактов кандидатов и описание режима консультации.
курсовая работа [1,3 M], добавлен 13.10.2012Создание базы данных в Microsoft Access с помощью мастера шаблонов. Создание таблиц путём ввода данных, с помощью мастера таблиц или таблицы в режиме конструктора таблиц. Создание запросов в Microsoft Access, с помощью мастера или конструктора запросов.
реферат [27,3 K], добавлен 08.09.2010Разработка программного обеспечения автоматизированной системы безопасности. Задание лингвистических переменных в среде MatLAB. Развитие нечеткой логики. Характеристика нечетких систем; смещение центра их исследований в сторону практических применений.
курсовая работа [2,2 M], добавлен 10.02.2013Проектирование экспертной системы выбора нейронной сети. Сущность семантических сетей и фреймов. MatLab и системы Фаззи-регулирования. Реализация программы с использованием пакета fuzzy logic toolbox системы MatLab 7. Составление продукционных правил.
курсовая работа [904,4 K], добавлен 17.03.2016Параметры автомобиля, используемые в экспертной системе. Задание нечетких и лингвистических переменных, виды термов. Список правил для функционирования системы, результаты анализа ее работы. Применение алгоритма Мамдани в системах нечеткой логики.
курсовая работа [1,5 M], добавлен 10.02.2013Разработка и реализация проекта информационной системы, предназначенной для хранения сведения о клиентах и недвижимости. Моделирование и реализация информационной системы. Разработка пользовательского интерфейса. Затраты на написание программы и отладку.
курсовая работа [1,0 M], добавлен 30.06.2022Проектирование системы принятия решения для аттестации знаний абитуриента на основе тестирования. Особенности создания базы данных и плана перевозок с минимизацией затрат. Разработка информационно-логической модели предметной области "Книга" с атрибутами.
курсовая работа [7,9 M], добавлен 10.10.2012Отличительные черты компьютерных программ экспертных систем, их разработка. Составные части систем: база знаний, механизм вывода, система пользовательского интерфейса. Структура базы знаний экспертной системы для помощи медикам в постановке диагноза.
курсовая работа [325,0 K], добавлен 04.02.2011Особенности отображения графики в приложениях. Представление контекста отображения; управление состоянием элементов меню. Реализация класса представления геометрических фигур GraphicsDisplay, конструктора окна MainFrame. Реализация чтения данных из файла.
лабораторная работа [1,1 M], добавлен 01.05.2014Рабочая среда MS Access. Окна, меню и панели инструментов. Основные режимы работы с таблицами. Создание таблиц. Создание первичных ключей и связей. Создание простого запроса с помощью мастера запросов. Изменение запроса с помощью конструктора запросов.
практическая работа [1,5 M], добавлен 03.06.2008Архитектура сети: одноранговая, клиент - сервер, терминал - главный компьютер. Разработка конструктора электронных моделей компьютерных сетей с функциями проектирования сети и её диагностики. Требования к проектированию структурированных кабельных систем.
курсовая работа [1,6 M], добавлен 19.11.2010Основные задачи системы электронного документооборота. Создание таблиц и определение связей между ними в MS Access. Работа с мастером подстановок. Разработка запросов. Форма в режиме конструктора. Создание простого отчета для одной таблицы. Вид макета.
курсовая работа [1,6 M], добавлен 20.09.2013Структура экспертных систем, их классификация и характеристики. Выбор среды разработки программирования. Этапы создания экспертных систем. Алгоритм формирования базы знаний с прямой цепочкой рассуждений. Особенности интерфейса модулей "Expert" и "Klient".
курсовая работа [1,1 M], добавлен 18.08.2009Фреймы как один из распространенных формализмов представления знаний в электронных системах, их классификация и типы, структура и элементы. Иерархические фреймовые структуры и принципы их построения. Код программы Интерфейс. Разработка программного кода.
лабораторная работа [524,2 K], добавлен 02.11.2013