.
Разрабатываем экспертную систему. Урок 12. Еще один вариант ЭС на C#.
Автор megabax   
28.09.2014 г.
unit AIObj

Разрабатываем экспертную систему. Урок 12. Еще один вариант ЭС на C#.

Что бы смотреть урок полностью, подпишитесь на платный раздел.

В платном разделе статья находиться здесь.


Сегодня я представляю вашему внимаю еще один вариант реализации экспертной системы языке. По сравнению с предыдущим вариантам эта ЭС имеет более удобный интерфейс.

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

Разрабатываем экспертную систему. Урок 12. Еще один вариант ЭС на C#.

Слева перечислены доступные характерные признаки объектов, справа - сами объекты. Задача экспертной системы - по заданному набору признаков распознать объект. Возможные значения признаков и объектов можно редактировать:

Разрабатываем экспертную систему. Урок 12. Еще один вариант ЭС на C#.

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

Разрабатываем экспертную систему. Урок 12. Еще один вариант ЭС на C#.

Здесь можно ввести признаки, которые однозначно говорят о том, что это данный объект, а так же напротив, признаки, говорящие за то, что это не является данным объектом:

Разрабатываем экспертную систему. Урок 12. Еще один вариант ЭС на C#.

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

Разрабатываем экспертную систему. Урок 12. Еще один вариант ЭС на C#.

И ответит, что это за объект:

Разрабатываем экспертную систему. Урок 12. Еще один вариант ЭС на C#.

Теперь разберемся, как работает данная экспертная система. Начнем изучать ее код "сверху".

И так, открыв в исходниках главную форму, ...

...

        private void tsmiLoad_Click(object sender, EventArgs e)

        {

            openFileDialog.Filter = "Файлы экспертной системы (*.exs)|*.exs|Все файлы (*.*)|*.*";

            if (openFileDialog.ShowDialog() == DialogResult.OK)

            {

                FileStream fs = new FileStream(openFileDialog.FileName, FileMode.Open);

                BinaryFormatter formatter = new BinaryFormatter();

                data = (Core)formatter.Deserialize(fs);

                fs.Close();

                refresh_objects();

                refresh_properties();

            }

        }

 

...

 

..см. так же.

..

 

...Это называется обучение с учителем. Еще есть обучение без учителя. Подробнее здесь:

...

...

...

Последнее обновление ( 28.09.2014 г. )