Программирование - это просто
Advertisement
Главная arrow Искусственный интеллект arrow Искусственный интеллект arrow Создаем экспертную систему (платный раздел) arrow Разрабатываем экспертную систему. Урок 15. Улучшаем интерфейс ЭС. Продолжение.
16.12.2017 г.
Главное меню
Главная
Системный подход
Интернет магазин
Биржевые роботы
Программные продукты
Математика и информатика
1С:Предприятие
C#, Delphi, VB, F#, Web и пр.
Искусственный интеллект
Услуги
Ча. Во. (FAQ)
Платный раздел
Наука для чайников
Разное
Размышления
Карта сайта
Друзья сайта
Excel-это не сложно
Все о финансах
Разрабатываем экспертную систему. Урок 15. Улучшаем интерфейс ЭС. Продолжение. Печать E-mail
Автор megabax   
05.12.2017 г.
unit AIObj

Разрабатываем экспертную систему. Урок 15. Улучшаем интерфейс ЭС. Продолжение.

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

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


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

...

...

Теперь идем в класс Core, к нему добавляем новое поле study_matrixes:

...

        /// <summary>

        /// Набор обучающих матриц

        /// </summary>

        public List<StudyMatrix> study_matrixes;

...

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

        public Core()

        {

            properties = new List<ObjectProperty>();

            objects = new List<RecognizableObject>();

            init();

        }

Что мы ту добавили? Мы добавили метод init(), который и создаст объект study_matrixes:

        /// <summary>

        /// Инициализация

        /// </summary>

        public void init()

        {

            if (study_matrixes==null) study_matrixes = new List<StudyMatrix>();

        }

Почему так? Дело в том, что у нас класс Core сохраняемый. Мы добавили новое поле, и, как вы думаете, что будет, если мы откроем старый файл, в котором у нас сохранен объект Core? Он нормально прочитается, но study_matrixes будет равно null. Следовательно, после прочтения его нужно создать. В будущем у нас возможно появиться аналогичные поля, которые тоже придется создавать. Разумно объявить для этого отдельный метод, который мы будем вызывать после загрузки, а также в конструкторе, чтобы создать эти поля....

...

...

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

Разрабатываем экспертную систему. Урок 15. Улучшаем интерфейс ЭС. Продолжение.

Можно также и задать признаки, которые показывает, что это не эта болезнь:

Разрабатываем экспертную систему. Урок 15. Улучшаем интерфейс ЭС. Продолжение.

Еще у нас в постановке звучало такое требование, чтобы нельзя было ввести один и тот же признак дважды. Можно конечно, сделать простой поиск, но что если пользователь один введет признак: "Угнетенное или подавленное состояние" а второй раз сделает ошибку и введет, например "Угнетенное или подавленное состояние". Компьютер пропустит это. Как быть? Над придумать способ приближенного поиска по тексту, и если компьютер нашел что-то похожее, просто выводить предупреждение, а если нашел точное соответствие - не давать вводить. Эту задачу мы решим на следующем уроке.


Скриншоты, помеченные знаком *, являются цитатами и иллюстрациями  программного продукта "Microsoft Visual Studio 2010 Professional", авторское право на который принадлежит корпорации Microsoft.. 


Последнее обновление ( 05.12.2017 г. )
 
Пред. »
 
© 2017 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги
Мы принимаем
Банковские карты
Оплатите покупку в интернет-магазине банковскими картами VISA и Mastercard любого банка.
узнать больше
Электронный кошелек
Моментальная оплата покупок с помощью вашего электронного кошелька RBK Money.
узнать больше
Банковский платеж
Оплатите покупку в любом российском банке. Срок зачисления средств на счет - 3-5 рабочих дней.
узнать больше
Денежные переводы
Оплата покупок через крупнейшие системы денежных переводов CONTACT и Unistream.
узнать больше
Почтовые переводы
Оплатите покупку в любом отделении Почты России. Срок зачисления платежа - 3-4 рабочих дня.
узнать больше
Платежные терминалы
Оплата покупок в терминалах крупнейших платежных систем в любом городе России - быстро и без комиссии.
узнать больше