ISSN 2079-3316 ПРОГРАММНЫЕ СИСТЕМЫ: ТЕОРИЯ И ПРИЛОЖЕНИЯ №3(26), 2015, с. 45-52
УДК 519.681.2
А. А. Демидов
О пополнении группоида до программной алгебры
Аннотация. Задача вложения конечного группоида в конечную программную алгебру имеет прикладное значение для преобразования алгоритма в форму, пригодную для вычисления на алгебраическом процессоре. Она была поставлена и решена Н. Н. Непейводой для полугрупп, затем им же было построено вложение группоида в бесконечную программную алгебру. В данной работе строится вложение конечного группоида в конечную программную алгебру, что завершает решение указанной задачи.
Ключевые слова и фразы: алгебры, алгебраические вычисления, вложение группоида.
Программные алгебры GAPS (Generic algebraic program structure) были предложены Н. Н. Непейводой [1] в рамках развития алгебраических методов представления программных систем.
Задача вложения конечного группоида в конечную программную алгебру имеет прикладное значение для преобразования алгоритма в форму, пригодную для вычисления на алгебраическом процессоре. Она была поставлена и решена в работе [1] для полугрупп, затем было построено вложение группоида в бесконечную программную алгебру [2].
В данной работе строится вложение конечного группоида в конечную программную алгебру, что завершает решение задачи.
Программная алгебра — бигруппоид с ассоциативной операцией «о» композиции программ и неассоциативной операцией «*» аппликации (применения программы к данным), которые связаны тождествами:
(х * /) * д = х * (/ о д); (1) 0 * х = х * 0 = 0;
х * е = х.
Проект проводится при финансовой поддержке государства в лице Минобрнауки России (идентификатор № RFMEFI61314X0030).
© А. А. Демидов, 2015
© Институт программных систем имени А. К. Айламазяна РАН, 2015 © Программные системы: теория и приложения, 2015
Искомое вложение будем строить с привлечением конечных автоматов, получающих на вход запись выражений над элементами конечного группоида.
С «переходной системой» (А, Q, у) конечного автомата над входным алфавитом А с множеством состояний Q и функцией переходов р: Q х А ^ Q можно связать полугруппу подстановок на множестве Q [3,4]: каждой букве а € А на основе функции переходов поставим в соответствие подстановку
Ра : Я ^ Я, Ра (я) = р(я,а)
перехода автомата из предыдущего состояния д в следующее. Последовательному действию букв а и Ь соответствует композиция
(2) раЬ = Рь(Ра(ч)) = Ра О РЪ.
Множество подстановок : а € А*} всех слов А* в алфавите А образует полугруппу Рд, называемую внутренней полугруппой автомата Л. Она изоморфна фактор-полугруппе полугруппы А* с операцией конкатенации (соединения слов) по отношению
Д = {(а,!3): а, ¡3 € А* и € Я (ф,а) = ф,Р))}.
Указанный изоморфизм позволяет связать формальную запись выражений над элементами конечного группоида С с операциями над элементами внутренней полугруппы соответствующего автомата, далее эту связь несложно распространить и на конечные программные алгебры.
Определение 1. Группоид С назовём редуктивным слева, если из того, что х ■ а = х ■ Ь для всех х € С, следует а = Ь (а,Ь € С) — см. [5].
Лемма 1 (Основная). Каждый редуктивный слева конечный группоид допускает вложение во внутреннюю полугруппу конечного автомата.
Формула (2) устанавливает соответствие между выражениями вида а^Ь над элементами группоида С и композициями вида раоо(рь над элементами полугруппы Рд. Для построения вложения С ^ Рд необходимо избавиться от подстановки у,, соответствующей символу операции.
Гомоморфизм, задаваемый левым сдвигом внутренней полугруппы Рд конечного автомата:
(3) фх^ у. х = у. О
— позволяет опустить знак операции в записи алгебраических выражений, что обычно и делается. Формально можно записать:
(4) аЬ ■ р-1 о о о у, о = р-1 о а о у,ь,
где <р~,1 — формальная запись, определяющая тождество 1 о ¡р,} о <ра = <ра; в общем случае элемента не существует, поскольку <р, не обязательно является биекцией. Это не мешает нам с помощью некоторого символа # перевести конечный автомат в особое «начальное» состояние, когда последующий аргумент х на входе будет действовать как подстановка <рх, а не у, х. Формально это означает вложение исходного группоида С в группоид с удвоенным множеством элементов.
Определение 2. Назовём элементы #х ■ <рх удвоенного группоида оригинальными, а элементы х ■ у,х — сопряжёнными к ним.
Подстановка соответствующая входному символу #, по построению — идемпотент: дважды перейдя в начальное состояние, окажемся там же. Руководствуясь выражением (4), формально можно записать:
2 —1 = = <Р. О <Р. .
Конечный автомат тогда можно представить как функцию Р : 2(°#) ^ рл из множества наборов аргументов в множество подстановок, действующую следующим образом:
(5) Р(фа) = о <ра, Р(а) = <р,а, Р(Ь) = <р,ь,
Р(фаЪ) = о (ра о <р,ь.
Пусть результат произведения аЪ в выражении (5) равен с. Формально выполним следующие преобразования:
Р(фаЬ) = о о ф,ъ = (рс;
(6) у, о Р(#аЬ) = у, о р-1 о у, о о у, ъ = у, о (рс;
У. а о ф. ь = у. с
— откуда следует, что подстановка в выражении (4) является левым сдвигом у, х ^ рх, возвращающим результат от сопряжённого к оригинальному виду.
Предложение 1. Если р, — биекция, то Р — изоморфизм, определённый на сопряжённых элементах удвоенного группоида.
Доказательство. Так как язык А* распознаётся автоматом, и все оригинальные элементы удвоенного группоида различны, то на этих элементах функция Р является однозначной. В силу биектив-ности у, левый сдвиг (3) является изоморфизмом, поэтому Р будет однозначной и на сопряжённых элементах. Отсюда, с учётом выражений (5) и (6), следует, что Р — изоморфизм, определённый на сопряжённых элементах:
Р(а) о Р(Ъ) = Р(аЪ).
Оригинальным элементам сопоставлены подстановки рх, и они указанному изоморфизму, вообще говоря, не удовлетворяют. □
Предложение 2. Функция р, является биекцией тогда, когда С — редуктивный слева конечный группоид.
Доказательство. Пусть у, не является биекцией, то есть отображает некоторые элементы а = Ь в одну подстановку у, а = у, Тогда, согласно выражениям (5), для любого элемента х будет верно:
Р(#ха) = о ух о у,а = о ух о у,ъ = Р(#хЬ).
В силу регулярности языка А* если двум выражениям сопоставлена одна и та же подстановка, то эти выражения равны. Поэтому равенство Р(#ха) = Р(#хЬ) влечёт равенство х ■ а = х ■ Ь для всех ж. □
Замечание 1. Обратное неверно: подстановки р,а = (2 2 1 2), р, ь = (2 2 4 2) и р, с = (2 2 2 2) дают контрпример х ■ а = х ■ Ь = с.
Доказательство основной леммы. Доказательство сводится к доказательству предложений 1 и 2. □
Формулировка леммы 1 ограничивает возможности метода. Пример 1 демонстрирует вложение конечного группоида в конечную программную алгебру, которое не может быть построено предложенным методом.
Пример 1. К полугруппе $ с нулевым умножением х ■ у = 0 для всех х,у € $ присоединим правую единицу: х ■ е = х, е ■ х = 0. Полученный группоид С не является редуктивным слева. Определим на С программную алгебру с операциями аппликации х * у = х ■ у и композиции
Группоид С вкладывается в эту алгебру по операции аппликации.
Указанный недостаток общности метода является устранимым — достаточно предварительно расширить исходный группоид новыми элементами так, чтобы выполнялось условие предложения 2.
Предложение 3. Каждый конечный группоид допускает вложение в редуктивный слева конечный группоид.
Доказательство. Пусть группоид С содержит элементы а = Ь, такие что х ■ а = х ■ Ь для всех х € С. Расширим его до группоида С, определив новый элемент е € С как единицу в С, так что е ■ х = х ■ е = х для всех х € С'. Тогда е ■ а = а = Ь = е ■ Ь для любых а,Ь € С', таких что а = Ь. □
Теорема 1. Каждый конечный группоид допускает вложение в конечную программную алгебру.
Доказательство. В соответствии с леммой 1 и предложением 3 каждый конечный группоид вкладывается в конечную полугруппу. На элементах полугруппы Рд определим вторую операцию «*» так, чтобы соблюдались аксиомы программной алгебры (1).
Так, можно взять фиксированный идемпотент с! € Рд и положить х * у = с! о х о у, тогда первая аксиома будет выполнена, поскольку
(х * у) * х = й о (й о х о у) о х = в? о х о (у о ¿) = х * (у о г); вторая аксиома выполняется при наличия нуля в Рд, поскольку
(х * у) * 0 = х * (у о 0)= х * 0 '
третья аксиома выполняется при наличия правой единицы в Рд, поскольку
х, при х = е; у, иначе.
(х * 0) * у = х * (0 о у) = х * 0
^ 0 о у = у о 0 = 0;
(х * у) * е = х * (у о е) = х * у ^ у о е = у.
Нуль и правую единицу в случае их отсутствия можно присоединить к полугруппе Рд, как это было проделано в доказательстве предложения 3 в отношении группоида G. □
В заключение необходимо отметить, что вложение в соответствии с предложенным алгоритмом не является минимальным. Так, пример 1 демонстрирует вложение, не требующее добавления новых элементов.
Благодарности
Автор выражает признательность Н. Н. Непейводе за оказанное доверие, формулировку задачи и ценные советы, способствовавшие решению.
Список литературы
[1] Н.Н. Непейвода, «От численного моделирования к алгебраическому», Труды VI Международной конференции «Параллельные вычисления и задачи управления». Т. 1, PACO-2012 (Москва, 24-26 октября 2012 г.), Ин-т проблем управления им. В. А. Трапезникова РАН, с. 93-103 t 45.
[2] Н.Н. Непейвода. «Алгебраический подход к управлению», Проблемы управления, 2013, №6, с. 2-14 t 45.
[3] С. В. Алёшин. «Полугруппы и группы автоматов», Интеллектуальные системы, 17:1-4 (2013), с. 129-141 t 46.
[4] В.М. Глушков. «Абстрактная теория автоматов», Успехи мат. наук, 16:5(101) (1961), с. 3-62 t 46.
[5] А. Клиффорд, Г. Престон. Алгебраическая теория полугрупп. Т. 1, Мир, М., 1972, 283 с. t 46.
Рекомендовал к публикации д.ф.-м.н. Непейвода Н. Н.
Об авторе:
Алексей Александрович Демидов
Младший научный сотрудник Исследовательского центра искусственного интеллекта ИПС им. А. К. Айламазяна РАН. e-mail: [email protected]
Пример ссылки на эту публикацию:
А. А. Демидов. «О пополнении группоида до программной алгебры», Программные системы: теория и приложения, 2015, 6:3(26), с. 45-52. URL http://psta.psiras.ru/read/psta2015_3_45-52.pdf
Aleksey Demidov. To the completion of a groupoid to a programm algebra. Abstract. The task of embedding of a finite groupoid into a finite programm algebra has a practical significance for the conversion of algorithm into a form suitable for computation on algebraic processor. It was posed and solved by N. N. Nepeivoda for semigroups, then he has proposed a method of embedding of a groupoid into a infinite programm algebra. In this paper we construct an embedding of a finite groupoid into a finite programm algebra, which completes the solution of the problem. (In Russian).
Key Words and Phrases: algebras, algebraic computations, groupoid embedding.
References
[1] N. N. Nepeyvoda, "Ot chislennogo modelirovaniya k algebraicheskomu", Trudy VI Mezhdunarodnoy konferentsii "Parallel'nyye vychisleniya i zadachi upravleniya". V. 1, PACO-2012 (Moskva, 24-26 oktyabrya 2012 g.), In-t problem upravleniya im. V. A. Trapeznikova RAN, pp. 93-103 (in Russian).
[2] N.N. Nepeyvoda. "Algebraicheskiy podkhod k upravleniyu", Problemy upravleniya, 2013, no.6, pp. 2-14 (in Russian).
[3] S.V. Aleshin. "Polugruppy i gruppy avtomatov", Intellektual'nyye sistemy, 17:1-4 (2013), pp. 129-141 (in Russian).
[4] V. M. Glushkov. "The abstract theory of automata", Russian Math. Surveys, 16:5 (1961), pp. 1-53.
[5] A. H. Clifford, G. B. Preston, The algebraic theory of semigroups. V. 1, Mathematical Surveys, vol. 7, AMS, Providence, RI, 1961.
Sample citation of this publication:
Aleksey Demidov. "To the completion of a groupoid to a programm algebra", Program systems: theory and applications, 2015, 6:3(26), pp. 45-52. (In Russian.) URL http://psta.psiras.ru/read/psta2015_3_45-52.pdf
© A. A. Demidov, 2015
© Ailamazyan Program System Institute of RAS, 2015 © Program systems: Theory and Applications, 2015