Экспертные системы распознавания химических веществ
Создана программа – экспертная система, которую можно использовать на уроках химии для проверки знаний учащихся и на уроках информатики при изучении тем «Моделирование» и «Алгоритмизация и программирование».
Профессиональные экспертные системы - это интеллектуальные программы, способные делать логические выводы на основе знаний из конкретной предметной области, обеспечивающие решение диагностических задач и способные заменить специалиста (эксперта), профессиональные экспертные системы имеют довольно сложную структуру и состоят обычно из нескольких компонентов (модулей):
• механизма представления знаний, в конкретной предметной области (базы знаний);
• механизма, который на основании, имеющихся в базе знаний, способен делать логические выводы (механизма логического вывода);
• пользовательского интерфейса ведения диалога «экспертная система- пользователь»;
• механизма, дающего комментарии и разъяснения найденного решения (модуля советов и объяснений).
Создание учебной экспертной системы как раз и является осознанием и фиксацией последовательности рассуждений (действий), которая приводит к распознаванию того или иного объекта среди некоторой совокупности.
В данном проекте рассмотрена лабораторная работа по химии, где учащемуся даются соли, химические реактивы и справочная таблица по взаимодействию шести различных солей с некоторыми реактивами. Учащемуся предлагается распознать каждую из солей. Результаты, которые должен сделать учащийся на основе химического эксперимента и таблицы, смоделированы программой, представленной в данном проекте.
Представленная программа составлена на объектно-ориентированном языке Visual Ваsic в виде диалога «экспертная система- пользователь» с удобным пользовательским интерфейсом, с комментариями.
Данный проект показывает практическое применение моделирования, алгоритмизации и программирования.
Модель-это такой материальный или мысленно представляемый объект, который замещает объект-оригинал с целью его исследования, сохраняя некоторые важные для данного исследования типичные черты и свойства оригинала, т. е. его существующие стороны.
Хорошо построенная модель, как правило, доступнее для исследования, чем реальные объекты. Другое не менее важное назначение модели состоит в том, что с её помощью выявляются наиболее существенные факторы, формирующие те или иные свойства объекта. Модель также позволяет учиться управлять объектом, что важно в тех случаях, когда экспериментировать с объектом бывает неудобно, трудно или невозможно (например, когда эксперимент имеет большую продолжительность или когда существует риск привести объект в нежелательное или необратимое состояние). В данном случае имеется возможность провести «химический эксперимент» без реактивов, с помощью компьютера.
Интересно, что хорошо построенная модель обладает удивительным свойством: ее изучение может дать некоторые новые знания об объекте-оригинале.
Процесс построения модели называется моделированием. Моделирование может быть физическим и математическим (заметим, что это не единственные группы приёмов моделирования).
Физическим принято называть моделирования, при котором реальному объекту соответствует его копия, допускающая исследование, после которого свойства процессов и явлений можно перенести с модели на объект на основе теории подобия. Примеры физических моделей: в астрономии – планетарий, в гидротехнике – лотки с водой, моделирующие реки и водоём, в архитектуре – макеты зданий, в самолетостроении – модели летательных аппаратов и т. п.
При математическом моделировании исследование объекта осуществляется посредством изучения модели, сформулированной на языке математике, с использованием тех или иных методов. Классическим примером математического моделирования является описание и исследование основных законов механики Ньютона средствами математики.
После того, как математическая модель создана, приступают к ее решению.
Необходимо разработать новый или использовать ранее созданный алгоритм для анализа этой модели. Модель описывает зависимость между входными данными и выходными, а алгоритм представляет собой последовательность действий, которые надо выполнить, чтобы от входных данных перейти к выходным.
Для разработки данного приложения была использована таблица взаимодействия и описание внешнего вида химических солей (см. Приложение) и язык программирования Visual Basic, так как он очень гибок и удовлетворяет всем нашим целям и задачам.
В своей работе я создала экспертную систему «Распознавание солей».
На уроке химии нам даются соли, химические реактивы и справочная таблица по взаимодействию семи различных солей с некоторыми реактивами. Предлагается распознать каждую из солей.
Проверить свои знания можно на созданном мной тесте.
Экспертная система может быть представлена в виде алгоритма, состоящего из последовательности шагов с использованием алгоритмической структуры «ветвление». Можно построить различные алгоритмы поиска, однако необходимо стремиться к выбору оптимальной стратегии распознавания (достижения цели за минимальное число шагов). Такая стратегия будет реализована, если каждый шаг будет максимально уменьшать неопределенность (нести максимальное количество информации).
Данный проект показывает практическое применение моделирования, алгоритмизации и программирования.
Работу программы можно проверить, используя таблицу (Приложение). Заполнив все поля правильно, вы увидите внизу в поле ответа результат. При неправильном ответе на вопрос экспертной системы, поле ответа остается не заполненным.
Исходный текст программы
( язык программирования Visual Basic 6. 0)
Public flag As Integer
Private Sub ab_Click(Index As Integer)
End Sub
Private Sub Form_load()
Label2. Caption = Time flag = 1
End Sub
Private Sub Timer1_Timer()
Label2. Caption = Time
List1. Clear
If Option21. Value = True Then
If Option1. Value = True Then
If Option3. Value = True Then
If Option8. Value = True Then
If Option9. Value = True Then
If Option16. Value = True Then
If Option17. Value = True Then
List1. AddItem "1. Нитрат аммония"
If Option21. Value = True Then
If Option1. Value = True Then
If Option5. Value = True Then
If Option8. Value = True Then
If Option9. Value = True Then
If Option12. Value = True Then
If Option17. Value = True Then
List1. AddItem "2. Хлорид аммония"
If Option22. Value = True Then
If Option1. Value = True Then
If Option3. Value = True Then
If Option8. Value = True Then
If Option10. Value = True Then
If Option13. Value = True Then
If Option18. Value = True Then
List1. AddItem "3. Нитрат калия"
If Option23. Value = True Then
If Option1. Value = True Then
If Option4. Value = True Then
If Option6. Value = True Then
If Option11. Value = True Then
If Option14. Value = True Then
If Option20. Value = True Then
List1. AddItem "4. Сульфат аммония "
If Option24. Value = True Then
If Option2. Value = True Then
If Option4. Value = True Then
If Option7. Value = True Then
If Option10. Value = True Then
If Option15. Value = True Then
If Option17. Value = True Then
List1. AddItem "5. Суперфосфат"
If Option25. Value = True Then
If Option1. Value = True Then
If Option4. Value = True Then
If Option8. Value = True Then
If Option10. Value = True Then
If Option12. Value = True Then
If Option19. Value = True Then
List1. AddItem "6. Сильвинит"
If Option26. Value = True Then
If Option1. Value = True Then
If Option4. Value = True Then
If Option8. Value = True Then
If Option10. Value = True Then
If Option12. Value = True Then
If Option19. Value = True Then
List1. AddItem "7. Хлорид калия"
Dim t t = Now
Dim pi pi = 3. 1415 sec = Second(t)
Min = Minute(t) h = Hour(t)
Picture1. Cls red = RGB(64, 0, 0)
Picture1. DrawWidth = 2
Picture1. Scale (-16, 16)-(16, -16) x = 13 * Sin(sec * pi / 30) y = 13 * Cos(sec * pi / 30)
Picture1. Line (0, 0)-(x, y), red x = 10 * Sin(Min * pi / 30) y = 10 * Cos(Min * pi / 30)
Picture1. Line (0, 0)-(x, y), red hr = h + Min / 60 x = 8 * Sin(hr * pi / 6) y = 8 * Cos(hr * pi / 6)
Picture1. Line (0, 0)-(x, y), red
End Sub
Внешний вид среда разработки и формы программы
Комментарии