ALGORITHMS FOR GENERATING NEAR-RINGS ON FINITE CYCLIC GROUPS

Similar documents
PAijpam.eu A NOTE ON KNUTH S IMPLEMENTATION OF EXTENDED EUCLIDEAN GREATEST COMMON DIVISOR ALGORITHM Anton Iliev 1, Nikolay Kyurkchiev 2, Angel Golev 3

The p-sized partitioning algorithm for fast computation of factorials of numbers

Lecture 1. Introduction

Outline. Computer Science 331. Desirable Properties of Hash Functions. What is a Hash Function? Hash Functions. Mike Jacobson.

SAT-CNF Is N P-complete

Heap Order Property: Key stored at the parent is smaller or equal to the key stored at either child.

arxiv: v1 [cs.ds] 3 Oct 2017

COMP6700/2140 Recursive Operations

A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY

An implementation of hash table for classification of combinatorial objects

Fundamental Algorithms

Application of Bounded Variable Simplex Algorithm in Solving Maximal Flow Model

Advanced algorithms. topological ordering, minimum spanning tree, Union-Find problem. Jiří Vyskočil, Radek Mařík 2012

Introduction to Algorithms Third Edition

The Cheapest Way to Obtain Solution by Graph-Search Algorithms

A Deterministic Polynomial-time Algorithm for the Clique Problem and the Equality of P and NP Complexity Classes

REVIEW AND OUTLOOKS OF THE MEANS FOR VISUALIZATION OF SYNTAX SEMANTICS AND SOURCE CODE. PROCEDURAL AND OBJECT ORIENTED PARADIGM DIFFERENCES

CS 157: Assignment 6

Maximum flows & Maximum Matchings

Algorithms and Data Structures

Algorithms and Data Structures

COVERING SPACES AND SUBGROUPS OF THE FREE GROUP

Lecture C8: Trees part II 3 C 2 A 4 D. Response to 'Muddiest Part of the Lecture Cards' (16 respondents)

GROUP DECISION MAKING FOR SELECTION OF K-BEST ALTERNATIVES

Fixed points of Kannan mappings in metric spaces endowed with a graph

On Voltage Graphs and Cages

Distributed minimum spanning tree problem

CS 157: Assignment 5

CS583 Lecture 01. Jana Kosecka. some materials here are based on Profs. E. Demaine, D. Luebke A.Shehu, J-M. Lien and Prof. Wang s past lecture notes

Shortest Path Algorithm

Finite Fields can be represented in various ways. Generally, they are most

Binary trees having a given number of nodes with 0, 1, and 2 children.

Implementing Divide and Conquer Technique for a Big-Data Traffic

Department of Computer Science & Engineering Indian Institute of Technology Patna CS701 DISTRIBUTED SYSTEMS AND ALGORITHMS

Department of Information Technology

SRM UNIVERSITY FACULTY OF ENGINEERING AND TECHNOLOGY SCHOOL OF COMPUTING DEPARTMENT OF CSE COURSE PLAN. Sec. Name Office Office hour Mail id

Advanced algorithms. binary heap, d-ary heap, binomial heap, amortized analysis, Fibonacci heap. Jiří Vyskočil, Radek Mařík 2013

Complexity Analysis of Routing Algorithms in Computer Networks

CS161 - Minimum Spanning Trees and Single Source Shortest Paths

Algorithms and Data Structures. Algorithms and Data Structures. Algorithms and Data Structures. Algorithms and Data Structures

Proposal: k-d Tree Algorithm for k-point Matching

Algorithm Analysis and Design

ON SWELL COLORED COMPLETE GRAPHS

Advanced algorithms. strongly connected components algorithms, Euler trail, Hamiltonian path. Jiří Vyskočil, Radek Mařík 2012

Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest. Introduction to Algorithms

The minimum spanning tree and duality in graphs

CSEE 4840 Embedded Systems. LABYRINTH Dijkstra s implementation on FPGA

Algorithms and Data Structures

On Rainbow Cycles in Edge Colored Complete Graphs. S. Akbari, O. Etesami, H. Mahini, M. Mahmoody. Abstract

NP versus PSPACE. Frank Vega. To cite this version: HAL Id: hal

Computable Euclidean Domains

Algorithms and Data Structures

Total magic cordial labeling and square sum total magic cordial labeling in extended duplicate graph of triangular snake

A novel algorithm to determine the leaf (leaves) of a binary tree from its preorder and postorder traversals

STRUCTURE EXITS, NOT LOOPS

Exact String Matching. The Knuth-Morris-Pratt Algorithm

SRI VENKATESWARA COLLEGE OF ENGINEERING. COURSE DELIVERY PLAN - THEORY Page 1 of 6

Iterative CKY parsing for Probabilistic Context-Free Grammars

We Trusted What We Proved! Greatest Common Divisors: Theorem, Proof and Algorithm in PowerEpsilon

Connected size Ramsey number for matchings vs. small stars or cycles

LATIN SQUARES AND THEIR APPLICATION TO THE FEASIBLE SET FOR ASSIGNMENT PROBLEMS

1 Elementary number theory

VISUALIZING NP-COMPLETENESS THROUGH CIRCUIT-BASED WIDGETS

TOPSIS Modification with Interval Type-2 Fuzzy Numbers

Portraits of Groups on Bordered Surfaces

A Class of Non Invertible Matrices in GF (2) for Practical One Way Hash Algorithm

Odd-Numbered Answers to Exercise Set 1.1: Numbers

Analysis of Time complexity in Binary Search Tree

CS2 Algorithms and Data Structures Note 1

Volumes of Solids of Revolution

Block Method for Convex Polygon Triangulation

Algorithms and Data Structures, or

Just Sort. Sathish Kumar Vijayakumar Chennai, India (1)

Understanding Cryptography by Christof Paar and Jan Pelzl. Chapter 9 Elliptic Curve Cryptography

Lecture 10: Strongly Connected Components, Biconnected Graphs

Grouping Genetic Algorithm with Efficient Data Structures for the University Course Timetabling Problem

The Union-Find Problem Is Linear

A MULTI-DIMENSIONAL DATA ORGANIZATION THAT ASSISTS IN THE PARSING AND PRODUCTION OF A SENTENCE

Termination Analysis of the Transformation UML to CSP

Unique Permutation Hashing

ApplMath Lucie Kárná; Štěpán Klapka Message doubling and error detection in the binary symmetrical channel.

MATH 423 Linear Algebra II Lecture 17: Reduced row echelon form (continued). Determinant of a matrix.

EULER TOUR. Example: Consider the following graph, which has an Euler tour. c d

How Efficient Can Fully Verified Functional Programs Be - A Case Study of Graph Traversal Algorithms

IP Packet Filtering using Hash Table for Dedicated Real Time IP Filter

SPERNER S LEMMA MOOR XU

Chapter 2: Algorithm Complexity Analysis. Chaochun Wei Spring 2018

COMP6700/2140 Correctness and Efficiency

Efficient subset and superset queries

An Improvement of an Approach for Representation of Tree Structures in Relational Tables

Faster Algorithms for Computing Distances between One-Dimensional Point Sets

Report on article The Travelling Salesman Problem: A Linear Programming Formulation

Primes in Classes of the Iterated Totient Function

CS388C: Combinatorics and Graph Theory

Evaluating find a path reachability queries

Analysis of Algorithms Part I: Analyzing a pseudo-code

Natural Numbers and Integers. Big Ideas in Numerical Methods. Overflow. Real Numbers 29/07/2011. Taking some ideas from NM course a little further

Multiple Choice Style Informatics

String matching algorithms تقديم الطالب: سليمان ضاهر اشراف المدرس: علي جنيدي

Modular Arithmetic. Marizza Bailey. December 14, 2015

Transcription:

ALGORITHMS FOR GENERATING NEAR-RINGS ON FINITE CYCLIC GROUPS Angel Golev Abstract. In the present work are described the algorithms that generate all near-rings on finite cyclic groups of order 16 to 29. Keywords: near-ring, finite cyclic group 2010 Mathematics Subject Classification: 16Y30 1. Introduction J. R. Clay started the study of near-rings whose additive groups are finite cyclic ones in 1964 [2]. In 1968 all the near-rings on cyclic groups of order up to 7 were computed [3]. Later all the near-rings on cyclic groups of order 8 [7], up to 12 [12], up to 13 [9] and up to 15 [1] were computed. In works [10, 5] calculating the number of all near-rings on Z n, 16 n 29 is announced. In the present work the algorithms that generate these near-rings are described. The annotations, used in this paper, are described in [10]. It is known [2] that there exists a bijective correspondence between the left distributive binary operations defined on Z n and the n n functions π mapping Z n into itself. If r 1 = b defines the function π(r) = b, then according to [2, Theorem II], the binary operation is left distributive exactly when, for any x, y Z n, the equality (1) π(x) π(y) = π(x π(y)) holds. According to the above result, obtaining the near-rings on Z n is equivalent to obtaining functions π such that equation (1) holds. 2. Data Structure We use the following notation for the near-rings (2) k) ( x 0 x 1... x n 1 ), where k is the number of the generated near-ring and x i are the values of the function π : x i = π(i), i Z n. For example, 2) ( 0 0 0 1 ) means the second near-ring on Z 4 with values of the function π: π(0) = π(1) = π(2) = 0, π(3) = 1. In the developed programs we represent a near-ring by using the function π. To store values of π we use one-dimensional array of integers pi.

256 Anniversary International Conference REMIA2010 3. Algorithms for generating near-rings on finite cyclic groups I check the correctness of described algorithms and programs by using a known number of near-rings on Z n, n 15. For verification the number of near-rings on Z n, n > 16 the exact values for Z n where n is prime are used and the number of non-zero-symmetric near-rings described in [8]. Algorithm 1 The elements of the function π are constructed consequently, by adding elements in the array pi which meet the Equation (1). If the new element of π does not meet (1), we go to the previous level. In the calculation of (1), the right side of equality it can happen that x π(y) is greater than the number of the elements found so far. In this case, it is assumed that the new element fulfills Equation (1). Function: Equation1(x, y, q) Input: x, y indexes of the elements of π, q index of the last found element; Operation: checks the Equation (1) for x and y; Output: 1 Equation (1) is satisfied; 0 not. function Equation1(x, y, q) t (x pi[y]) mod n if t q and ((pi[x] pi[y]) mod n) pi[t] then else return 1 end function Function: CheckConditions (q) Input: q the index of new element of π; Operation: checks the Equation (1) for each previous element of π and q Output: 1 Equation (1) is satisfied; 0 not. function CheckConditions(q) if Equation1(q, q, q) = 0 then for p 0, q 1 do if Equation1(p, q, q) = 0 then if Equation1(q, p, q) = 0 then end for return 1 end function

10-12 December 2010, Plovdiv, Bulgaria 257 Because not all elements satisfy the Equation (1), the obtained function π must be checked again that all pairs of elements meet (1). Here are used some programming techniques to improve the performance of the program. For example, to calculate a b = a b mod n a two-dimensional array mod_n with pre-calculated elements of all products of numbers from 0 to n is used: a b mod_n[a, b]. This algorithm is much better than generating all possible functions π and verifying Equation (1). It is used to generate and find the number of all near-rings on Z n, n 23. We also use this algorithm to verify the output of the next algorithms. The accumulated empiric data from generation of these near-rings is used to make some hypotheses about the lower bounds of near-rings. Some properties are found, and are used to obtain the number of all near-rings on finite cyclic groups for larger n. Algorithm 2 By definition, for Equation (1) to be fulfilled, the values of the function π must be a multiplicative subgroup of (Z n, ). At the end of the function CheckConditions, if the right side of (1) is greater than q, we check whether this new value forms a multiplicative subgroup with previous values of π. Inc(quantity[pi[q]]) for qn 0, q 1 do if quantity[qn] > 0 and quantity[(pi[qn] pi[q]) mod n] = 0 then end for Here we use an array quantity, which contains the number of different values of the function π. This algorithm does not improve significantly the performance of the program, but the idea can be further developed as follows: The functions π can be generated only from elements of a previously found multiplicative subgroup. Algorithm 3 In this algorithm we do a complete verification of Equation (1) for the new elements of the function π. In some cases this may result in inconsistent addition of new elements to the array pi. These inconsistent elements can not be saved directly into the array pi. Therefore two new array pi_2 and pi_n are used. In the first we save the value of the inconsistent element, equal to x π(y), and in the second array we save the number of occurrences of that value at this position, because the value can

258 Anniversary International Conference REMIA2010 be produced on adding different elements. An array of pointers pi_ptr to lists of inconsistent elements is used. This helps us to remove these elements more easily. Procedure: InsertNode (q, p, value) Input: q the index of new element, p the value of x π(y), value the value of the left side of (1); Operation: adds a new element to the list for position q. procedure InsertNode(q, p, value) pi_2[p] value Inc(pi_n[p]) node_ptr NewNode(p) pi_ptr[q].listadd(node_ptr) end procedure Procedure: RemovePList (q) Input: q index of element of π; Operation: removes the list for position q. procedure RemovePList(q) if pi_ptr[q] = null then return for all node pi_ptr[q].list do Dec(pi_n[node.value]) end for pi_ptr[q].listremove pi_2[q] 1 end procedure For example, for a new element q of the function π with a value pi[q] it calculates q π(q), which is equal to t and all q π(i) = t 1i, 0 i<q and π(i) q = t 2i, 0 i<q. For all t, t 1i, t 2i we check: a) if they are less than or equal to q, they are compared directly with the values in the array pi; b) if they are greater than q, check whether there is a value in pi_2[q]: b1) if there is no element add a new element; b2) if there exists a value at this place: b21) if the value is not equal to the value of new element Equation (1) is not satisfied; b22) else add the new element to the list pi_ptr[q] and increase the element pi_n[q] and Equation (1) holds. In this way of working, the obtained function π does not need to be checked again if all pairs of elements meet (1).

10-12 December 2010, Plovdiv, Bulgaria 259 Function: Equation1(x, y, q) Input: x, y indexes of the elements of π, q index of the last found element; Operation: checks the Equation (1) for x and y; Output: 1 Equation (1) is satisfied; 0 not. function Equation1(x, y, q) ls (pi[x] pi[y]) mod n t (x pi[y]) mod n if t q then if ls pi[t] then else if pi_2[t] 1 and pi_2[t] ls then InsertNode(q, t, ls) return 1 end function The function CheckConditions does not change. Practically the execution time of the algorithm is linear to the number of near-rings on Z n. The number of near-rings grows at least twice compared to the previous n. The complexity is O(2 n ). Using some proven properties to calculate the number of nearrings on finite cyclic groups of order greater than 24 We cannot use the algorithms described above to generate all near-rings and to obtain the number of near-rings on Z n, n 24 when (Z n, ) has nonzero nilpotents of second degree, because the number of these near-rings is very large ([10, Theorem 9]) and they can not be generated in real time. In this case, to calculate the number of near-rings, we do not generate near-rings described in [10, Theorem 9]. On generating near-rings we skip entire groups of possible near-rings corresponding to this theorem. After that the number of these skipped near-rings is calculated. This can be done with reference to [5, Corrolary 17]. if i = nilp[1] and pi[i] = 0 then nilp_all 0 nilp_zero 0

260 Anniversary International Conference REMIA2010 for k 1, nilp[1] 1 do if pi[k] = 0 then inc(nilp_zero) if Nilpotent(pi[k]) then inc(nilp_all) end for if nilp_zero < nilp[1] 1 and nilp_all = nilp[1] 1 then Skip the rest of the elements of π In this way we calculate the number of near-rings on Z n, for n equal to 25 and 27. For example the number of all near-rings on Z 25 corrsponding to [10, Theorem 9] is 5 20 or 95 367 431 640 625. According to [5, Corrolary 17] we do not generate near-rings which begin with values for function π: 0, x 11, x 12, x 13, x 14, 0; 0, 0, 0, 0, 0, 0, x 21, x 22, x 23, x 24, 0; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, x 31, x 32, x 33, x 34, 0 and 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, x 41, x 42, x 43, x 44, 0, where x ij {d 1,..., d m } and one x ik, k=1, 2, 3, 4 at least has nonzero-value; In this case we generate near-rings corresponding to [10, Theorem 9] which have values for π: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, x 51, x 52, x 53, x 54 and their number is 5 4 = 625. For Z 25 the program generated 17887556 near-rings and number of all near-rings on Z 25 is 17887556 + 5 20 5 4 = 95367449527556. Using the algorithms described, we generated and obtained the exact number of all near-rings on Z n, 16 n 29. The results are presented in Table 1. The obtained results for Z 17, Z 19, Z 23, Z 29 (n is prime) are identical with the exact values from [6] and the obtained results for non-zero-symmetric nearrings on Z n, n = 6, 10, 14, 15, 21, 22, 26 (n = p.q, p and q are primes) are identical with the exact values from [8].

10-12 December 2010, Plovdiv, Bulgaria 261 Zero- Non-zero- Total symmetric symmetric number Z 16 16 834 653 1 16 834 654 Z 17 72 816 1 72 817 Z 18 15 032 215 610 684 15 642 899 Z 19 286 380 1 286 381 Z 20 876 919 109 847 986 766 Z 21 1 164 023 304 834 1 468 857 Z 22 2 225 545 1 111 088 3 336 633 Z 23 4 371 615 1 4 371 616 Z 24 15 821 973 2 619 758 18 441 731 Z 25 95 367 449 527 555 1 95 367 449 527 556 Z 26 34 749 177 17 400 576 52 149 753 Z 27 286 174 087 734 1 286 174 087 735 Z 28 207 919 830 19 570 310 227 490 140 Z 29 273 300 895 1 273 300 896 Table 1. Number of near-rings on Z n, 3 n 29. Number of near-rings Algorithm 1 Algorithm 3 Z 15 27 998 0:00 0:00 Z 16 16 834 654 1:40 0:28 Z 17 72 817 0:01 0:01 Z 18 15 642 899 2:50 0:37 Z 19 286 381 0:04 0:02 Z 20 986 766 0:22 0:06 Z 21 1 468 857 0:25 0:11 Z 22 3 336 633 0:51 0:22 Z 23 4 371 616 1:07 0:30 Z 24 18 441 731 34:20 2:05 Z 25 95 367 449 527 556»» Z 26 52 149 753» 6:03 Z 27 286 174 087 735»» Z 28 227 490 140» 25:17 Z 29 273 300 896» 35:00 Table 2. Execution time of programs with algorithms 1 and 3 in minutes and seconds. Programs are executed on CPU: Intel(R) Core(TM)2 Duo P8600 @ 2.40GHz 4. Conclusion By using new algorithms we computed the numbers of all near-rings on Z n, 16 n 29.

262 Anniversary International Conference REMIA2010 The empiric data accumulated from the generated near-rings allows constructing hypotheses and improve the lower bounds for the number of near-rings on finite cycling groups in [10, 5]. Acknowledgements This research has been partially supported by the project of Bulgarian National Scientific Found from 2010. References [1] Aichinger E., F. Binder, J. Ecker, R. Eggetsberger, P. Mayr and C. Nöbauer. SONATA: Systems Of Nearrings And Their Applications, Package for the group theory system GAP4. Johanes Kepler University Linz, Austria, 2008. http://www.algebra.uni-linz.ac.at/sonata/ [2] Clay J. R., The near-rings on a finite cycle group, Amer. Math. Monthly, 71, 1964, 47 50. [3] Clay J. R., The near-rings on groups of low order, Math. Zeitschr., 104, 1968, 364 371. [4] Gilles Brassard, Paul Bratley, Fundamentals of Algorithmics, Prentice- Hall, 1995. [5] Golev A. A., A. K. Rahnev, Computing Near-rings on Finite Cyclic Groups of Order up to 29, Compt. rend. Acad. bulg. Sci. (to appear). [6] Jacobson R. A., The structure of near-rings on a group of prime order, Amer. Math. Monthly, 73, 1966, 59 61. [7] Pilz G., Near-rings, North-Holland, Amst., 23, 1977. [8] Rakhnev A. K., On near-rings, whose additive groups are finite cyclics, Compt. rend. Acad. bulg. Sci., 39, No. 5, 1986, 13 14. [9] Rakhnev A. K., G. A. Daskalov, Construction of near-rings on finite cyclic groups, Math. and Math. Education, Sunny Beach, Bulgaria, 1985, 280-288. (in Bulgarian) [10] Rahnev A. K., A. A. Golev, Computing Near-rings on Finite Cyclic Groups, Compt. rend. Acad. bulg. Sci., 63, No. 5, 2010, 645 650. [11] Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, Introduction to Algorithms (2nd ed.). MIT Press and McGraw-Hill, 2001. [12] Yerby R., H. Heatherly, Near-Ring Newsletter, 7, 1984, 14 22. Angel Golev Faculty of Mathematics and Informatics University of Plovdiv 236 Bulgaria Blvd. 4003 Plovdiv, Bulgaria e-mail: angelg@uni-plovdiv.bg