УДК 512.53
МИНИМАЛЬНАЯ НЕПРОДОЛЖАЕМАЯ ЧАСТИЧНАЯ ПОЛУГРУППА
А. О. Петриков
Петриков Александр Олегович, аспирант, Национальный исследовательский университет Московский институт электронной техники, Россия, 124498, Москва, Зеленоград, площадь Шокина, 1 [email protected]
В статье рассматриваются частичные полугруппы с конечным числом элементов. Любая частичная полугруппа может быть продолжена до полной полугруппы с помощью добавления элементов — внешним полугрупповым образом, например нуля полугруппы. Интересен вопрос продолжения частичной полугруппы без добавления к ней элементов — внутренним полугрупповым образом. Целью данной работы является нахождение непродолжаемой внутренним образом частичной полугруппы с минимальным количеством элементов. С увеличением количества элементов в множестве количество частичных группоидов на этом множестве растет экспоненциально, а количество частичных полугрупп среди этих частичных группоидов заранее не известно. Поэтому для нахождения частичных полугрупп необходимо воспользоваться помощью компьютера или Интернета. В сети Интернет (пакет GAP) уже есть все полугруппы с точностью до изоморфизма и антиизоморфизма на множестве, состоящем не более чем из 8 элементов, поэтому достаточно получить из полугрупп с нулем частичные полугруппы путём удаления нуля. Проверка на возможность продолжить частичную полугруппу внутренним полугрупповым образом проводилась с помощью компьютера. В результате было установлено, что все частичные полугруппы на множестве, состоящем не более чем из 4 элементов, могут быть продолжены внутренним полугрупповым образом до полных. На 5-элементном множестве существует только одна частичная полугруппа с точностью до изоморфизма и антиизоморфизма, которая не может быть продолжена до полной полугруппы.
Ключевые слова: частичная полугруппа, продолжение частичной полугруппы, слабая ассоциативность, сильная ассоциативность.
DOI: 10.18500/1816-9791-2017-17-1-31-39 ВВЕДЕНИЕ
Частичные операции, т. е. операции, определённые, возможно, не для всех значений аргументов, в последнее время привлекают всё большее внимание специалистов [1-3]. Интересен и важен вопрос: может ли частичная операция быть продолженной до полной (т. е. всюду определённой) с сохранением тех или иных свойств, например ассоциативности [4]? Понятие ассоциативности частичной операции было введено В. В. Розеном в [5] двумя неэквивалентными способами: сильная и слабая ассоциативности. Частичная бинарная операция [6] называется сильноассоциативной, если для любых элементов a, b, c произведения (ab)c и a(bc) либо оба не существуют, либо оба существуют и равны друг другу, и слабоассоциативной, если для любых элементов a, b, c произведения (ab)c и a(bc) равны друг другу либо хотя бы одна из них не определена. Очевидно, что сильная ассоциативная частичная бинарная операция является также слабоассоциативной. Множество с ассоциативной операций называется полугруппой [7]. Множество с сильноассоциативной частичной бинарной операцией назовём частичной полугруппой. Нетрудно видеть, что частичная полугруппа — это в точности множество ненулевых элементов полугруппы с
нулём. Е. С. Ляпин и А. Е. Евсеев [8, гл. 1, § 6] вводят два типа продолжения частичной операции: внутреннее и внешнее продолжение. Продолжение частичной операции • на множестве A называется внешним, если существуют множество B D A и операция «*» на B такие, что для любых a1, a2 £ A из того, что a1 • a2 существует следует равенство ai ★ a2 = ai • a2. Продолжение называется внутренним, если существует операция «*» на A такая, что для любых a1, a2 £ A из того, что a1 • a2 существует следует равенство a1 *a2 = a1 • a2). В данной статье ставится цель найти непродолжаемую внутренним полугрупповым образом частичную полугруппу с минимальным количеством элементов.
1. ПОИСК НЕПРОДОЛЖАЕМЫХ ЧАСТИЧНЫХ ПОЛУГРУПП
Для достижения поставленной цели мы написали компьютерную программу на языке С++, с помощью которой можно определить, продолжается ли внутренним образом операция на n-элементной частичной полугруппе, заданной таблицей Кэ-ли [9], до полной. В качестве неопределенных произведений в данной программе будем использовать обозначение UNDEF_ELEM, которое равно — 1, все элементы полугруппы на n-элементном множестве обозначим в программе числами от 0 до n — 1.
Для нахождения минимальной непродолжаемой частичной полугруппы на k-элементном множестве необходимо найти непродолжаемую частичную полугруппу на k-элементном множестве и показать, что все возможные частичные полугруппы на n-элементном множестве, где n < k, продолжаются до полной.
Поскольку количество всевозможных частичных группоидов на n-элементном множестве равно (n + 1)n , и при этом сложно определить, какие из них являются частичными полугруппами, то мы воспользовались уже готовым пакетом GAP [10], включающим в себя все возможные полугруппы с точностью до изоморфизма и антиизоморфизма на 1-8-элементных множествах.
Из всевозможных полугрупп из GAP рассматривались только полугруппы с нулем и записывались в текстовые файлы для дальнейшего использования (листинг 1):
1
2
3
4
5
6
7
8 9
10
n in [2..6] do
list:=AllSmallSemigroups(n, IsSemigroupWithZero, true);; filename:=Concatenation("ZeroSemigroupsN", String(n- 1),".txt"); PrintTo(filename, String(Length(list)), "\n\n"); for k in [1..Length(list)] do AppendTo(filename,
JoinStringsWithSeparator(List(MultiplicationTable(list[k]), row — > JoinStringsWithSeparator(row, " " )), "\n"), "\n\n");
od;
od;
Листинг 1: Полугруппы с нулем из системы GAP
Как уже отмечалась выше, для получения частичной полугруппы S нам необходимо удалить из полугруппы с нулём элемент нуль, это можно сделать с помощью функции deleteZero, которая использует вспомогательную функцию copyTable (листинг 2):
1 void copyTable(const int* zero_sem, int* S, const int& N,
2 int a_left, int a_right, int b_left, int b_right,
3 int a_offs, int b_offs, int ind) {
4
5
6
7
8 9
10 11 12
13
14
15
16
17
18
19
20 21 22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
int prod;
for (int i = a_left; i < a_right; i ++)
for (int j = b_left; j < b_right; j ++) { prod = zero_sem[i * (N + 1) + j]; if (prod == ind)
prod = UNDEF_ELEM;
else
if (prod > ind) prod—;
S[(i - a_offs) * N + (j - b_offs)] = prod;
}
}
bool deleteZero(const int* zero_sem, int* S, const int& N) { int ind = 0; bool hasZero = false; for (int i = 0; i < N + 1; i++) { bool flag = true; for (int j = 0; j < N + 1; j++) {
if (zero_sem[i * (N + 1) + j] != i || zero_sem[j * (N + 1) + i] != i) { flag = false; break;
}
}
if (flag) { ind = i;
hasZero = true; break;
}
}
if (hasZero) {
copyTable(zero_sem, S, N, 0, ind, 0, ind, 0, 0, ind); copyTable(zero_sem, S, N, 0, ind, ind + 1, N + 1, 0, 1, ind); copyTable(zero_sem, S, N, ind + 1, N + 1, 0, ind, 1, 0, ind); copyTable(zero_sem, S, N, ind + 1, N + 1, ind + 1, N + 1, 1, 1, ind);
}
return hasZero;
Листинг 2: Функция удаления нуля из полугруппы
После удаления нуля из полугрупп будут рассматриваться только частичные полугруппы с не всюду определённой операцией. Для реализации этого требования была написана функция findNotDefined, которая определяет расположение неопределенного произведения в частичной полугруппе, и isPartial, которая определяет, есть ли вообще хотя бы одно неопределенное произведение (листинг 3):
1 int* S, const int& N) {
2 for (int ind = 0; ind < N * N; ind++)
3 if (S[ind] == UNDEF_ELEM)
4 return ind;
5
6
7
8 9
10
Изв. Сарат. ун-та. Нов. сер. Сер. Математика. Механика. Информатика. 2017. Т. 17, вып. 1 return N * N;
}
bool isPartial(const int* S, const int& N) {
return findNotDefined(S, N) != N * N;
}
Листинг 3: Функции для выяснения, существует ли неопределённое произведение и нахождения его в случае существования
Каждую частичную полугруппу будем пытаться продолжить следующим образом. Каждое неопределенное произведение будем доопределять перебором всех элементов частичной полугруппы и проверять на выполнение слабой ассоциативности. В случае невыполнения слабой ассоциативности будем убирать из рассмотрения ветки перебора (листинг 4):
typedef struct { int a; int b;
int prod; } triple;
1
2
3
4
5
6
7
8 9
10 11 12
13
14
15
16
17
18
19
20 21 22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
triple initTriple(const int _a, const int _b, const int _prod) { triple tr; tr.a = _a; tr.b = _b; tr.prod = _prod; return tr;
bool checkWeakAssoc(const int* S, const int& N) { for (int a = 0; a < N; a++) for (int b = 0; b < N; b++)
for (int c = 0; c < N; c++) { int ab = S[a * N + b]; int bc = S[b * N + c];
if (ab == UNDEF_ELEM || bc — UNDEF_ELEM) continue;
int ab_c = S[ab * N + c]; int a_bc = S[a * N + bc];
if (ab_c != UNDEF_ELEM && a_bc != UNDEF_ELEM && ab_c != a_bc) return false;
}
return true;
bool extendSem(int* S, const int& N) { triple* tr = new triple[N * N]; int tr_count = 0; int num; while(1) {
num = findNotDefined(S, N);
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
if (num != N * N) {
tr[tr_count ++] = initTriple(num / N, num % N, 0); S[num] = 0;
}
while (!(checkWeakAssoc(S, N) || (tr_count == 0))) {
while ((tr_count > 0) && (tr[tr_count - 1].prod == N - 1)) {
triple t = tr[tr_count---1];
S[t.a * N + t.b] = UNDEF_ELEM;
}
if (tr_count == 0) { delete[] tr; return false;
}
tr[tr_count — 1].prod++;
S[tr[tr_count — 1].a * N + tr[tr_count — 1].b]++;
}
if (!isPartial(S, N) && checkWeakAssoc(S, N)) { delete[] tr; return true;
}
}
}
Листинг 4: Функция продолжения частичной полугруппы с проверкой на слабую частичную ассоциативность
В случае, когда частичная полугруппа не может быть продолжена, будем её выводить на экран с помощью функции printSem (листинг 5):
1 void printSem(const int* S, const int& N) {
2 for (int a = 0; a < N; a++) {
3 for (int b = 0; b < N; b++)
4 if (S[a * N + b] != UNDEF_ELEM)
5 cout << S[a * N + b] << " ";
6
7
8 9
10 11
else
cout << "— "; cout << endl;
}
cout << endl;
Листинг 5: Функция вывода на экран частичной полугруппы
Для запуска перебора всех частичных полугрупп на выявление минимальных непродолжаемых была использована следующая функция (листинг 6):
int main(int argc, char * argv[]) { for (int N = 2; N < 6; N++) {
int* zero_sem = new int[(N + 1) * (N + 1)]; int* S = new int[N * N]; char infilePath[80];
sprintf(infilePath, "ZeroSemigroupsN%d.txt", N); ifstream in;
}
8 9 10 11 12
13
14
15
16
17
18
19
20 21 22
23
24
25
26
in.open(infilePath); int sem_count; in >> sem_count;
for (int i = 0; i < sem_count; i++) { for (int a = 0; a < N + 1; a++)
for (int b = 0; b < N + 1; b++) { int prod; in >> prod;
zero_sem[a * (N + 1) + b] = prod — 1;
}
if (deleteZero(zero_sem, S, N) && isPartial(S, N) && !extendSem(S, N)) printSem(S, N);
}
in.close(); delete[] zero_sem; delete[] S;
}
return 0;
Листинг 6: Функция для нахождения минимальной частичной полугруппы
}
2. ОСНОВНЫЕ РЕЗУЛЬТАТЫ
С помощью данной программы были получены следующие результаты:
Предложение 1. Все частичные полугруппы на п-элементном множестве, где п < 4, внутренним образом продолжаются до полных.
Предложение 2. Частичная полугруппа на 5-элементном множестве, приведенная в таблице Кэли (табл. 1), не продолжается до полной.
Таблица 1 Доказательство. Покажем, что данная частичная по-
лугруппа не продолжается.
Допустим, что полугруппа продолжается. 1. Положим а = 1 • 1.
1.1. Рассмотрим произведение 1 • 5• 2. Расставляя скобки так: (1 • 5) • 2, получим (1 • 5) • 2 = 1 • 2. При расстановке скобок другим образом: 1-(5-2), получим 1 • (5-2) = 1 -1 = а. Следовательно, 1 • 2 = а.
1.2. Имеем: (1 • 5) • 2 = 1 • 3, 1 • (5 • 3) = 1 • 1 = а. Следовательно, 1 • 3 = а.
1.3. Имеем: (2 • 4) • 1 = 1 • 1 = а, 2 • (4 • 1) = 2 • 3. Следовательно, 2 • 3 = а. После данных доопределений таблица Кэли имеет вид табл. 2.
2. Положим Ь = 2 • 1.
2.1. Имеем: (2 • 5) • 1 = 3 • 1, 2 • (5 • 1) = 2 • 1 = Ь. Следовательно, 3 • 1 = Ь.
2.2. Имеем: (3 • 5) • 2 = 3 • 2, 3 • (5 • 2) = 3 • 1 = Ь (из п. 2.1). Следовательно, 3 • 2 = Ь.
2.3. Имеем: (3 • 5) • 3 = 3 • 3, 3 • (5 • 3) = 3 • 1 = Ь. Следовательно, 3 • 3 = Ь.
Для оставшегося произведения положим с = 2-2. Полученная таблица Кэли имеет вид табл. 3.
1 2 3 4 5
1 - - - 1 1
2 - - - 1 3
3 - - - 3 3
4 3 3 3 4 4
5 1 1 1 5 5
Таблица 2 Таблица 3
1 2 3 4 5 1 2 3 4 5
1 а а а 1 1 1 а а а 1 1
2 - - а 1 3 2 Ь с а 1 3
3 - - - 3 3 3 Ь Ь Ь 3 3
4 3 3 3 4 4 4 3 3 3 4 4
5 1 1 1 5 5 5 1 1 1 5 5
3. Имеем: (5 • 3) • 1 = 1 • 3 = а, 5 • (3 • 1) = 5 • Ь. Следовательно, 5 • Ь = а. Из табл. 3 можно видеть, что для любого £: 5 • £ е {1,5}, а значит, а е {1,5}.
4. Имеем: (4 • 1) • 1 = 3 • 1 = Ь, 4 • (1 • 1) = 4 • а. Следовательно, 4 • а = Ь. Из табл. 3 можно заключить, что для любого £ 4 • £ е {3,4}, а значит, Ь е {3,4}. Причём либо а = 1 и Ь = 3, либо а = 5 и Ь = 4.
5. Пусть а = 1 и Ь = 3. Тогда таблица Кэли будет иметь вид табл. 4.
5.1. Имеем: (2 • 2) • 1 = с • 1, 2 • (2 • 1) =2 • 3 = 1. Следовательно, с • 1 = 1. Из табл. 4 заключаем, что с • 1 = 1 при с е {1,5}.
5.2. Имеем: (2 • 2) • 3 = с • 3, 2 • (2 • 3) = 2 • 1 = 3. Следовательно, с • 3 = 3. Из табл. 4 видим, что с • 3 = 3 при с е {3,4}. Но в п. 5.1 мы получили, что с е {1, 5}, следовательно, случай, когда а = 1 и Ь = 3, невозможен.
6. Пусть а = 5 и Ь = 4. В этом случае таблица Кэли имеет вид табл. 5.
Таблица 4 Таблица 5
1 2 3 4 5 1 2 3 4 5
1 1 1 1 1 1 1 5 5 5 1 1
2 3 с 1 1 3 2 4 с 5 1 3
3 3 3 3 3 3 3 4 4 4 3 3
4 3 3 3 4 4 4 3 3 3 4 4
5 1 1 1 5 5 5 1 1 1 5 5
6.1. Имеем: (2 • 2) • 1 = с • 1, 2 • (2 • 1) = 2 • 4 = 1. Следовательно, с • 1 = 1. Из табл. 5 заключаем, что с • 1 = 1 при с = 5.
6.2. Наконец, 2 • 2 • 3. Имеем: (2 • 2) • 3 = с • 3, 2 • (2 • 3) = 2 • 5 = 3. Следовательно, с • 3 = 3. Из табл. 5 заключаем, что с • 3 = 3 при с = 4. Но в п. 6.1 мы получили, что с = 5, следовательно, случай, когда а = 5 и Ь = 4, также невозможен.
Так как оба случая невозможны, то данную частичную полугруппу нельзя продолжить до полной полугруппы без добавления элементов. □
Предложение 3. Частичная полугруппа из предложения 2 — единственная непродолжаемая частичная полугруппа на 5-элементном множестве с точностью до изоморфизма и антиизоморфизма.
Предложение 4. Добавление единицы к непродолжаемой частичной полугруппе на п-элементном множестве не сохраняет непродолжаемость частичной полугруппы на (п + 1)-элементном множестве.
Доказательство. Добавим к непродолжаемой частичной полугруппе на 5-эле-ментном множестве единицу, тогда таблица Кэли полученной полугруппы примет вид табл. 6.
Данная частичная полугруппа может быть продолжена, например, как показано на табл. 7.
Таблица 6
Таблица 7
1 2 3 4 5 6
1 - - - 1 1 1
2 - - - 1 3 2
3 - - - 3 3 3
4 3 3 3 4 4 4
5 1 1 1 5 5 5
6 1 2 3 4 5 6
1 2 3 4 5 6
1 5 5 5 1 1 1
2 4 6 5 1 3 2
3 4 4 4 3 3 3
4 3 3 3 4 4 4
5 1 1 1 5 5 5
6 1 2 3 4 5 6
Библиографический список
1. Ляпин Е. С. О возможности полугруппового продолжения частичного группоида // Изв. вузов. Матем. 1989. № 12. С. 68-70.
2. Ляпин Е. С. Внутреннее полугрупповое продолжение некоторых полугрупповых амальгам // Изв. вузов. Матем. 1993. № 11. С. 20-26.
3. Goralcik P., Koubek V. On completing partial groupoids to semigroups // Intern. J. Algebra Comput., 2006. Vol. 16, № 3. P. 551-562. DOI: 10.1142/S0218196706003086.
4. Петриков А. О. Частичные полугрурппы и отношения Грина // Электронные информационные системы. 2014. № 3(3). С. 65-72.
5. Розен В. В. Частичные операции в упорядоченных множествах. Саратов : Изд-во Сарат. ун-та, 1973. 123 с.
6. Курош А.Г. Лекции по общей алгебре. М. : Наука, 1973. 400 С.
7. Клиффорд А., Престон Г. Алгебраическая теория полугрупп : в 2 т. Т. 1. М. : Мир, 1972. 286 с.
8. Ляпин Е. С., Евсеев А. Е. Частичные алгебраические действия. СПб. : Образование, 1991. 163 с.
9. Cayley A. On the Theory of Groups // American Journal of Mathematics. 1889. Vol. 11, № 2. P. 139-157.
10. The GAP Group. URL: http:// www.gap-system.org (дата обращения : 14.08.2016).
Образец для цитирования:
Петриков А. О. Минимальная непродолжаемая частичная полугруппа // Изв. Сарат. ун-та. Нов. сер. Сер. Математика. Механика. Информатика. 2017. Т. 17, вып. 1. С. 31-39. DOI: 10.18500/1816-9791-2017-17-1-31-39.
A Minimal Non-extendable Partial Semigroup A. O. Petrikov
Alexander O. Petrikov, National Research University of Electronic Technology, 1, Shokina Square, 124498, Zelenograd, Moscow, Russia, [email protected]
This article discusses partial semigroups with a finite number of elements. Any partial semigroup can be extended to a full semigroup by adding elements to it, for example, a zero semigroup, in an external semigroup way. The author of the article is interested in the question of continuation of a partial semigroup without adding any elements to it in an internal semigroup way. The aim of this work is to find an internally non-extendable partial semigroup with a minimal number of elements. With increasing the number of elements in the set the number of partial groupoids on this set increases exponentially, and the number of partial semigroups among these partial groupoids is not known in advance. In order to find such partial semigroups it is necessary to use a computer or the Internet. In the Internet (GAP package) there are stored all the semigroups up to isomor-
phism and antiisomorphism on the set consisting of no more than 8 elements; that is why it will be enough to get partial semigroups out of semigroups with zero by deleting zero. The possibility of continuation of a partial semigroup in an internal semigroup way was checked out by a computer. As a result, it was revealed that all the partial semigroups on the set consisting of no more than 4 elements can be extended in an internal semigroup way to full ones. On the 5-element set, there is only one partial semigroup up to isomorphism and antiisomorphism, which can not be extended to a full semigroup.
Key words: partial semigroup, extension of a partial operation, week associativity, strong associativity. References
1. Lyapin E. S. The possibility of semigroup continuation of a partial groupoid. Soviet Math. (Iz. VUZ), 1989, vol. 33, iss. 12, pp. 82-85.
2. Lyapin E. S. Inner semigroup continuation of some semigroup amalgams. Soviet Math. (Iz. VUZ), 1993, vol. 37, iss. 11, pp. 18-24.
3. Goralcik P., Koubek V. On completing partial groupoids to semigroups. Intern. J. Algebra Comput, 2006, vol. 16, no. 3, pp. 551-562. DOI: 10.1142/S0218196706003086.
4. Petrikov A. O. Partial Semigroups and Green's Relations. Electronic Information Systems, 2014, no. 3(3), pp. 65-72 (in Russian).
5. Rozen V. V. Chastichnye operatsii v uporiadochennykh mnozhestvakh [Partial operations in ordered sets]. Saratov, Saratov Univ. Press, 1973. 123 p. (in Russian).
6. Kurosh A.G. Lekcii po obshhej algebre [Lectures on general algebra]. Moscow, Nauka, 1973. 400 p. (in Russian).
7. Clifford A., Preston G. The algebraic theory of semigroups, Vol. 1. Providence, R.I., American Mathematical Society, 1964, vol. 1, 224 p. (Russ. ed.: Clifford A., Preston G. Algebraicheskaia teoriia polugrupp : v 2 t. T. 1. Moscow, Mir, 1972. 286 p.)
8. Lyapin E. S., Evseev A. E. Chastichnye algebraicheskie deistviia [Partial algebaic operations]. S. Petersburg, Obrazovanie, 1991. 163 p. (in Russian).
9. Cayley A. On the Theory of Groups. American Journal of Mathematics, 1889, vol. 11, no. 2, pp. 139-157.
10. The GAP Group. Available at: http:// www.gap-system.org (accessed 14 August 2016).
Cite this article as:
Petrikov A. O. A Minimal Non-extendable Partial Semigroup. Izv. Saratov Univ. (N. S.), Ser. Math. Mech. Inform., 2017, vol. 17, iss. 1, pp. 31-39 (in Russian). DOI: 10.18500/1816-97912017-17-1-31-39.