УДК 510.66
doi: 10.18101/2304-5728-2017-3-32-39
ФОРМАЛЬНОЕ ОПИСАНИЕ ФУНКЦИОНАЛЬНОГО ЛОГИКО-МАТЕМАТИЧЕСКОГО МОДЕЛИРОВАНИЯ ДИНАМИЧЕСКИХ СИСТЕМ
© Кравченко Вячеслав Александрович
старший преподаватель,
Восточно-Сибирский государственный университет технологий и управления Россия, 670013, г. Улан-Удэ, ул. Ключевская, 40В E-mail: [email protected]
О Ширапов Дашадондок Шагдарович
доктор физико-математических наук, профессор, заведующий кафедрой,
Восточно-Сибирский государственный университет технологий и управления Россия, 670013, г. Улан-Удэ, ул. Ключевская, 40В E-mail: [email protected]
© Чимитов Доржи Намсараевич
кандидат физико-математических наук, доцент,
Восточно-Сибирский государственный университет технологий и управления Россия, 670013, г. Улан-Удэ, ул. Ключевская, 40В E-mail: [email protected]
Статья посвящена формальному описанию принципов построения логико-математических моделей динамических систем при использовании аппарата функциональных грамматик. В качестве логической системы применяется лямбда-исчисление, являющееся теоретической основой функциональных грамматик и функциональных языков программирования.
Ключевые слова: математическое моделирование; задача моделирования; база знаний; функциональные грамматики; лямбда-исчисление.
Введение
Целью статьи является описание метода построения логико-математических моделей динамических систем с использованием функциональных грамматик. Данный метод включает:
1) описание теории предметной области динамической системы в виде неполной функциональной грамматики;
2) описание задачи моделирования в рамках теории в виде полной функциональной грамматики;
3) построение логико-математической модели в виде суперпозиции функций на основе построения вывода в рамках полной функциональной грамматики.
1. Формальное описание задачи логико-математического моделирования динамических систем
В общем виде задача логико-математического моделирования динамических систем может быть задана совокупностью:
ж = {к, д О),
состоящей из трех множеств:
1) множество понятий и отношений предметной области, составляющих базу знаний:
К = {к1}, 1=1,2, ... , р-
2) множество входных переменных задачи, характеризующих исходные знания о модели:
Л = / = 1, 2, ... , г;
3) множество выходных переменных задачи, характеризующих цель моделирования:
6 = {?,}, 1 = 1,2,...,$. Если задача моделирования разрешима, то её можно представить в виде:
(К, ё2, ... , ёг н» ... , ).
Таким образом, логико-математическое моделирование заключается в отображении вектора входных переменных Х> в вектор выходных параметров () с помощью соотношений из базы знаний К:
<2=вв,
где В - оператор логического вывода, который в случае последовательно-параллельной декомпозиции можно представить в виде:
( Ва
д.
в
д
в,
(М)2
в
В,„ в( в
(«Хг-1) '(t-V)g
в2
Вп Д-
д д
'2(8-1)
д.
где Ва, Вч |,,. ... , В2%, . g = r■s. —операторы отдельных элементарных операций.
2. Методы построения логико-математических моделей на основе аппарата функциональных грамматик
Общие идеи представления знаний аппаратом функциональных грамматик и вывода моделей в виде суперпозиции функций представлены в [1] и [2]. Сформулируем основные теоретические аспекты вывода логико-математических моделей, основанных на применении аппарата функциональных грамматик.
Определение 1. Неполная контекстно-свободная грамматика - это совокупность:
0\' = {У1, Р1}, состоящая из множества (алфавита) символов:
VI = {с,}, ¡=1,2,... ,п
и множества правил:
Р1 = {Р13), 7 = 1,2 ,...,т
вида:
У,'
где — произвольная последовательность символов алфавита, т. е. у- е VI +, VI — множество ненулевых последовательностей символов алфавита VI.
Аксиома 1. Для математического описания теории динамических систем существует неполная контекстно-свободная грамматика (} 1' = {VI, Р1} . При этом символы грамматики с обозначают понятия теории, а правила грамматики . — отношения между понятиями в виде формул.
Определение 2. Неполная функциональная контекстно-свободная грамматика — это совокупность:
С' = рТ0, V, Р),
состоящая из терминального базисного множества (алфавита) символов:
Уто={Ьг)> г=\ 2, ... , п0; множества объединенного множества (алфавита) символов:
К = {£!,.}, г = 1,2,..., и,; множества базисных унарных и бинарных функций:
Р0={/01}, г=\, 2, ... , к0
вида:
= КХ1, х2) = ххЬ}х2, /0{ = /{хх) = Ь}хх или /0{ = /{хх) = ххЬ}; множества общих функций:
^ = /=1,2 ,...,к
вида:
/:=/(х1, х2, ... , хр) = ет(х1, х2, ... , хр, Д, /02,.. , Д); множества правил:
Р = {Р}, 7 = 1,2 ,...,тп
вида:
а:> <Р> Ш,
где £ V — произвольная последовательность символов объединенного алфавита, являющаяся совокупностью фактических параметров ар-
гументов хх, х2, ... , х функции ^ .
Аксиома 2. Математическое описание теории динамических систем в виде неполной контекстно-свободной грамматики 0\' = {VI, Р1} может быть преобразовано в неполную функциональную контекстно-свободную грамматику (7 = {Уго. V, Рп, Р. Р} за счет выделения из множества VI подмножества Vтo, Уго 'о V = VI. элементам которого соответствуют базисные функции ДД. через которые выражаются функции^, описывающие предметную логику правил Ру
Определение 3. (Полная) функциональная контекстно-свободная грамматика - это совокупность:
0 = № V V Р Р Р
V ТО' Г' N ? О' ' '
состоящая из множества (алфавита) базисных терминальных символов:
^та — {^гоЛ' I ... , П0,
множества (алфавита) терминальных символов:
VT={VTi}, 1=1,2,...,^; множества (алфавита) нетерминальных символов:
начального нетерминального символа (аксиомы):
множества базисных унарных и бинарных функций:
^={/0,.}, г=\,2,...,к0
вида:
= КХ1, х2) = ххЬ}х2, fOi = /{хх) = Ь}хх или fOi = /{хх) = ххЬ}; множества общих функций:
^ = 1 = 1, 2,..., к
вида:
/;=/(х1, х2, ... , хр) = сг(х1, х2, ... , хр, Д, /02,.. , Д); множества правил:
Р = {Р.}, 7 = 1,2
вида:
я, ш,
где ф- е К — произвольная последовательность символов объединенного алфавита, являющаяся совокупностью фактических параметров х15 х2, ... , хр функции _/;.
Аксиома 3. Задача математического моделирования динамической системы Ж = {К, 2), О) может быть представлена в виде полной функциональной контекстно-свободной грамматики (} = {Утп, Ут. Ух. Р0, Р. Р, Л'} за счет выделения из обобщенного ал-
фавита V неполной функциональной контекстно-свободной грамматики (У = {Утп. V, Ра. Р, Р) алфавита терминальных символов Ут. обозначающих понятия входных переменных Д и выбора из оставшегося множества нетерминальных символов У\ (Ут и Уы = У) аксиомы обозначающей понятие выходной переменной
Теорема. Если задача математического моделирования динамической системы Ж = {К, 2), О) представлена в виде полной функциональной контекстно-свободной грамматики (г = {Уто, Ут, Ух. Р, Р, Л'} и для указанной задачи существует решение, то логико-математическая модель может быть построена в виде суперпозиции функций сг = сг(х;, Х2, ... , Хр, ^//(2)5 ••• 5 .//(д)Х где
х1, ••• > Хр е 5 1(Гу 1{2)' ■■■ '/(д) е ^
При этом функции ... выступают в качестве элементар-
ных операторов последовательно-параллельной декомпозиции Ву, а суперпозиция функций о- имеет смысл оператора вывода решения В.
Доказательство. Задача математического моделирования Ж = {К, 2), О) имеет решение лишь в том случае, если цель моделирования в виде выходных переменных может быть выражена через входные переменные Х> в виде оператора В. Т. е., согласно аксиоме 3, задача математического моделирования имеет решение, если с помощью применения правил может быть построен полный вывод:
^ -> <Рп -> Ч>У2 -> - -> <^(И-1) Ч>Т,
где фуХ, (ру2, ... , Щ-п, , (руп е (Уг и Ух) - последовательности, содержащие как терминальные, так и нетерминальные символы; <рт е Уг — последовательность терминальных символов.
Каждому применению правила
« > % !./'!• 7 = 1, 2, ... , п соответствует функция:
/АХ1? Х2> ••• ' Хр^->
где / — номер произвольной функции грамматики, 1 < ¡ <к\
Pi — количество аргументов функции^.
Первому непосредственному выводу £ —» соответствует функция:
/цГ)(Х1' Х2' ••• > ХрЦ1))•
Второму непосредственному выводу <р1—> <р1 -2 соответствует функция:
1ц2)(Х ¡п(1)+1' ХрЦ1)+2' ■■■ ' ХР1(1)+Р1(2)) ■
Тогда вывод —» щ.2 описывается суперпозицией:
fi(2)iXpi(l)+1' Xpi(l)+2? ••• 'Х pi(l)+ pi(2)-l ' fi(l)(Xl> X2> ••• > Xpi(l)))
~ fi(2)(Xl> X2' ••• ' X pi(l)+ pi(2)-l ' fi(l))-
В общем случае выводу S —> щ соответствует суперпозиция функций:
fiU)(X» Х2' ••• ' Xpi(l)+pi(2)+...+pi(j)-j+l' fi(l)> fi(2)> ••• ' fi(j-l)) ■
Тогда полный вывод описывается суперпозицией функций:
fi(n+l)(Xl> Х2> ••• > Xpi(l)+pi(2)+...+pi(n+l)-n' f,(lp fi(2)> ••• ' fi(n))-
— СГ(Х;, X2, ... , Xpi(l)+pi(2)+...+pi(„+l).„-> fi(l)-' fi(2) ' ••• ' fi(n+\))~
= <j(xi, X2, ... , xp, fi{1), /¿(2)5 ••• 5 fi(q))-
где p = Pi(1)+ Pi(2)+ + Pi(n+i)'n — количество аргументов суперпозиции, q = n +1 — количество функций в суперпозиции.
Таким образом, если задача математического моделирования имеет решение, то в представляющей ее функциональной контекстно-свободной грамматике может быть построен полный вывод:
S -> <Рп -> <PV2 -> - ^ (Pvin-V) Ч>Т,
которому соответствует математическая модель в виде суперпозиции функций:
<y(Xj, Х2, ... , хр, fi(ï), fi(2), ••• , fi(q))
Теорема доказана.
3. Формальное лямбда-описание построения логико-математических моделей на основе функциональных грамматик
Так как теоретической основой функциональных грамматик является лямбда-исчисление, то вывод логико-математической модели формально представляется в виде совокупности лямбда-функций.
Для примера приведем лямбда-функции для построения полной функциональной грамматики G = {Vrn, VT. VN, Fg, F, P, 5"} на основе задачи моделирования динамических систем W = {К, D, Q} . Используем при этом принципы чистого лямбда-исчисления, которые приведены, например, в [3] и [4].
Тг = Лх.Лу.х — логическое значение true;
Fl = Ах.Ау.у — логическое значение false;
If = уIр.Лх.Лу.р х у — функция условного оператора;
Nu = Я/./ (Ях.Я у./'У) — функция проверки пустого списка;
N1 = ЛхТг — пустой список;
Cs = Ах.А V.A.V..S' х у — функция-конструктор списка;
Сг = Л t.t Тг — функция-селектор первого элемента списка;
Cd = Al J Fl — функция-селектор хвоста списка.
Функции построения базы знаний в виде неполной функциональной
грамматики:
О' = [Xx.Xy.Xz.Xp.Xq.Cs х(( \ у (С* г(Сх р (Г.у q №))))] Уто V !■'„ /•' Р;
К = [Хх.х]0'.
Функция построения списка задачи моделирования:
Ж = [Xx.Xy.Xz.Cs х(С? у (Су г М))]ДГ £> £>.
Функции вывода полной функциональной грамматики на основе задачи моделирования:
Уп = У[Хf-Xp.Xq.If (Ж р) N1 (I/ (Уп1 q (Сг р)) (/ (Сё р д))
(Сп (Сг р) (/(СУ/О <?)))];
Уп1 = У[ХfXp.Xq.If (Ыи г) Ш (I/ (= (Сг г) 0 Тг (/ (Сё г) 0)];
(¡1 = Хх.Сп (Сг (Сг х)) (Сп (Сг (Сс! (Сг х))) (Сп (Уп (Сг (Сс1 (Сг х))) (Сг (Сй х))) (Сп (Сг (Сй (Сй (Сй (Сг х))))) (Сп (Сг (Сй (Сй (Сй (Сй (Сг х)))))} (Сп (Сг (Сй (Сй (Сй (Сй (Сй (Сг х))))))} М))))));
02 = У\Л fXx.Xy.If (Ыи у) N1 (Сп (Сг х) (Сп (Сг (Сё х)) (Сп (Сг (Сй (Сй х))) (Сп (Сг (Сй (Сй (Сй х)))) (Сп (Сг (Сй (Сй (Сй (Сй х)))))(Сп (Сг (Сй (Сй (Сй (Сй (Сй х)))))) (Сп(Сгу) ^х(Сёу)))))))т 0 = [Хх.02 (01 х) (Сг (Сй(Сс1 х)))] Ж
Заключение
Использование функциональных грамматик в логико-математическом моделировании формально описывается в функциях лямбда-исчисления. Так как лямбда-исчисление является теоретической основой всех современных функциональных языков программирования, то логико-математическая моделирование может быть эффективно реализовано на функциональном языке программирования. Кроме того, сама логико-математическая модель в этом случае принимает вид предметно-логической модели, представляющей собой функциональную программу компьютерного моделирования динамической системы.
Литература
1. Кравченко В. А., Могнонов П. Б., Чимитов Д. Н. Представление знаний в функциональных грамматиках // Вестник Сибирского государственного аэрокосмического университета им. М. Ф. Решетнева. 2011. №5(38). С. 55-61.
2. Кравченко В. А. Моделирование поиска решения с помощью функциональных грамматик // Вестник Бурятского государственного универ-
ситета. 2012. №9. С. 33-41.
3. Барендрегт X. Ламбда-исчисление. Его синтаксис и семантика: пер. с англ. М.: Мир, 1985. 606 с.
4. Кубенский А. А. Функциональное программирование.М.: Юрайт, 2017. 348 с.
FORMAL DESCRIPTION OF FUNCTIONAL LOGICAL-MATHEMATICAL MODELING OF DYNAMIC SYSTEMS
Vyacheslav A. Kravchenko Senior Lecturer,
East Siberian State University of Technology and Management 40v Klyuchevskaya St., Russia, Ulan-Ude 670013, Russia E-mail: [email protected]
Dashadondok Sh. Shirapov Dr. Sci. (Phys. and Math.), Prof.,
East Siberian State University of Technology and Management 40v Klyuchevskaya St., Russia, Ulan-Ude 670013, Russia E-mail: [email protected]
Dorzhi N. Chimitov
Cand. Sci. (Phys. and Math.), A/Prof.,
East Siberian State University of Technology and Management 40v Klyuchevskaya St., Russia, Ulan-Ude 670013, Russia E-mail: [email protected]
The article presents a formal description of the principles of building logical-mathematical models for dynamic systems using the apparatus of functional grammars. Lambda calculus, which is the theoretical basis of functional grammars and functional programming languages, has been used as a logical system.
Keywords: mathematical modeling; modeling problem; knowledge base; functional grammars; lambda calculus.