Экспертные системы распознавания химических веществ.

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

Постановка задачи:

Предположим, нам даны в трех неподписанных пробирках следующие вещества:

·      Хлорид натрия – NaCl;

·      Сульфат натрия – Na2SO4;

·      Карбонат натрия – Na2CO3

В качестве реактивов используем соляную кислоту – HCl, хлорид бария – BaCl2 и нитрат серебра – AgNO3.

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

Описательная модель:

Возьмем за основу следующие положения:

·      Кислота не вступает в реакцию с солью той же кислоты, поэтому соляная кислота не реагирует с хлоридом натрия;

·      Сильная летучая кислота не вытесняет из соли сильную нелетучую кислоту, поэтому соляная кислота не вступает в реакцию с сульфатом натрия;

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

·      Две соли одной кислоты не вступают в реакцию, поэтому хлорид бария не реагирует с хлоридом натрия;

·      Две соли вступают во взаимодействие, если  результате реакции выпадает нерастворимый осадок. Белый нерастворимый осадок – сульфат бария - является результатом реакции хлорида бария и сульфата натрия;

·      При взаимодействии нитрата серебра с хлоридом натрия образуется нерастворимое вещество хлорид серебра, которое выпадает в белый осадок – результат взаимодействия двух солей

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


Формальная модель:

Формализуем данную модель с помощью таблицы (табличная модель информационной системы):

 

NaCl

Na2SO4

Na2CO3

HCl

нет реакции

нет реакции

выделение газа

BaCl2

нет реакции

белый осадок

-

AgNO3

белый осадок

-

-

Рассмотрим компьютерную программу, которая, воссоздавая модель лабораторных условий, поможет нам решить предложенную задачу. Предлагаемая программа создана в среде программирования Borland Delphi на языке программирования Object Pascal.

 

Запустиvфайл chimiya.exe

v  Проведем первый опыт. Реактив – HCl.

§  Щелкнем мышкой в окошке поля «Введите номер пробирки». В поле установится курсор. Введем с клавиатуры число 1.

§  Нажмем кнопку «Реакция» в программной области «Опыт 1». Оценим результат.

§  Введем в окошко число 2. Нажмем ту же кнопку «Реакция». Оценим результат.

§  Введем в окошко число 3. Еще раз нажмем ту же кнопку «Реакция». Оценим и запишем результат.

v  Проведем второй опыт. Реактив – BaCl2.

§  Введем в окошко число 1. Нажмем кнопку «Реакция» в программной области «Опыт 2». Оценим результат.

§  Введем в окошко число 3. Нажмем ту же кнопку «Реакция». Оценим и запишем результат.

v  Проведем третий опыт. Поскольку два вещества (пробирки 2,3) мы уже выделили, нам необходимо доказать, что в пробирке 1 находится третье данное вещество – нитрат серебра.

§  Введем число 1 в окошечко. Нажмем кнопку «Реакция» в программной области «Опыт 3». Оценим и запишем результат.

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