DRAKON.SU
https://forum.drakon.su/

Язык ДРАКОН и экспертные системы
https://forum.drakon.su/viewtopic.php?f=147&t=6086
Страница 1 из 1

Автор:  Степан Митькин [ Воскресенье, 01 Октябрь, 2017 10:28 ]
Заголовок сообщения:  Язык ДРАКОН и экспертные системы

С 27 по 29 сентября 2017 г. мы с Бьёрном Энглюндом поучаствовали в соревновании по программированию.
Соревнование проводила норвежская компания Infront.

Суть нашего проекта:
Экспертная система, которая генерирует программу из модели.
Правила в экспертной системе задаются языком ДРАКОН.

На написание кода и создание видео-отчёта у нас было 48 часов.
Так что сделали не много. Но сделали!

https://www.youtube.com/watch?v=jYxRG6YHSUQ

Вот пример правила из проекта.
Вложение:
indexed.png
indexed.png [ 19.29 КБ | Просмотров: 5936 ]


А вот тестовое правило и логическим ИЛИ.
Здесь вместо console.log() предполагается добавлять или изменять факты в базе знаний.
Вложение:
jon.png
jon.png [ 24.51 КБ | Просмотров: 5936 ]

Автор:  TAU [ Воскресенье, 01 Октябрь, 2017 22:16 ]
Заголовок сообщения:  Re: Язык ДРАКОН и экспертные системы

Степан Митькин писал(а):
С 27 по 29 сентября 2017 г. мы с Бьёрном Энглюндом поучаствовали в соревновании по программированию.
Соревнование проводила норвежская компания Infront.
Суть нашего проекта:
Экспертная система, которая генерирует программу из модели.
Правила в экспертной системе задаются языком ДРАКОН.
На написание кода и создание видео-отчёта у нас было 48 часов.
Так что сделали не много. Но сделали!

Молодцы!

Автор:  Владимир Ситников [ Воскресенье, 01 Октябрь, 2017 22:35 ]
Заголовок сообщения:  Re: Язык ДРАКОН и экспертные системы

Степан Митькин писал(а):
С 27 по 29 сентября 2017 г. мы с Бьёрном Энглюндом поучаствовали в соревновании по программированию.
Соревнование проводила норвежская компания Infront.

Суть нашего проекта:
Экспертная система, которая генерирует программу из модели.

А есть какие-нибудь пояснения?
Из видео непонятно что является бизнес-задачей, непонятно какие функции возложены на систему и т.п.
Я понимаю что такое таблицы и индексы. Но не видно, чтобы код, показанный на экране "output javascript" как-то соотносился с "правилами на Драконе".

По видеоотчёту слова "faster development", "cheaper maintenance" получились необоснованными.
Да, были примеры Дракон правил. Но откуда следует, что они позволяют быстрее разрабатывать? Или откуда следует, что они делают поддержку программы дешёвой?

Автор:  Владимир Паронджанов [ Воскресенье, 01 Октябрь, 2017 22:44 ]
Заголовок сообщения:  Re: Язык ДРАКОН и экспертные системы

Владимир Ситников писал(а):
По видеоотчёту слова "faster development", "cheaper maintenance" получились необоснованными.
Да, были примеры Дракон правил. Но откуда следует, что они позволяют быстрее разрабатывать? Или откуда следует, что они делают поддержку программы дешёвой?
Правильные замечания. Законные вопросы.

Нужны, очень нужны пояснения.

Автор:  Степан Митькин [ Понедельник, 02 Октябрь, 2017 10:24 ]
Заголовок сообщения:  Re: Язык ДРАКОН и экспертные системы

Владимир Ситников писал(а):
А есть какие-нибудь пояснения?
...
По видеоотчёту слова "faster development", "cheaper maintenance" получились необоснованными.

Я расскажу об этом позднее.

Сейчас же можно сказать следующее. Эксперимент показал, что
ДРАКОН можно применять как язык правил для экспертных систем.

Экспертные системы весьма полезны для решения некоторых задач.
Одна из причин, почему экспертные системы применяются редко, — это неудобство языков для записи правил.
Может быть, ДРАКОН в этом поможет.

Вот что непонятно: почему я не додумался до этого раньше?

Автор:  Степан Митькин [ Понедельник, 02 Октябрь, 2017 10:46 ]
Заголовок сообщения:  Re: Язык ДРАКОН и экспертные системы

Что конкретно даёт ДРАКОН для описания правил? В чём плюсы?
Рассмотрим данную диаграмму:
Вложение:
jon.png
jon.png [ 24.51 КБ | Просмотров: 5901 ]

Эта диаграмма будет переведена в следующие правила:

Код:
(person.name == 'Jon') =>
    console.log('Found Jan Jon or car owner');   
   
(person.name != 'Jon' && car.owner == person) =>
    console.log('Not Jon, but a car owner',   person,   car);
    console.log('Found Jan Jon or car owner');
   
(person.name != 'Jon') =>
    console.log('Not a Jon', person);


Вот плюсы:
1. Визуальные формулы для И, ИЛИ и НЕ
2. Не нужно создавать новые правила для негативных условий См. правила с person.name == 'Jon' и person.name != 'Jon'.
3. Можно задавать несколько правил без лишних повторов См. правило (person.name != 'Jon') => console.log('Not a Jon', person).

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/