DRAKON.SU

Текущее время: Пятница, 29 Март, 2024 00:16

Часовой пояс: UTC + 3 часа




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

Зарегистрирован: Вторник, 04 Октябрь, 2011 17:45
Сообщения: 585
С 27 по 29 сентября 2017 г. мы с Бьёрном Энглюндом поучаствовали в соревновании по программированию.
Соревнование проводила норвежская компания Infront.

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

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

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

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


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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 01 Октябрь, 2017 22:16 

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

Молодцы!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 01 Октябрь, 2017 22:35 

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

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

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 01 Октябрь, 2017 22:44 

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 02 Октябрь, 2017 10:24 
Аватара пользователя

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

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

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

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 02 Октябрь, 2017 10:46 
Аватара пользователя

Зарегистрирован: Вторник, 04 Октябрь, 2011 17:45
Сообщения: 585
Что конкретно даёт ДРАКОН для описания правил? В чём плюсы?
Рассмотрим данную диаграмму:
Вложение:
jon.png
jon.png [ 24.51 КБ | Просмотров: 5755 ]

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

Код:
(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).


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2008-2024, участники конференции «DRAKON.SU», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB