arxiv: v1 [math.ag] 13 Oct 2010

Similar documents
Computing Minimal Polynomial of Matrices over Algebraic Extension Fields

Counting and Gröbner Bases

On the relation of the Mutant strategy and the Normal Selection strategy

On the minimal free resolution of a monomial ideal.

Gröbner Bases & their Computation

The F 4 Algorithm. Dylan Peifer. 9 May Cornell University

Gröbner Bases. Martin R. Albrecht. DTU Crypto Group

,,, SUDOKUS AND GRÖBNER BASES: NOT ONLY A DIVERTIMENTO

Sparse Polynomial Multiplication and Division in Maple 14

MCS 563 Spring 2014 Analytic Symbolic Computation Monday 27 January. Gröbner bases

POLYNOMIAL DIVISION AND GRÖBNER BASES. Samira Zeada

WORKING WITH MULTIVARIATE POLYNOMIALS IN MAPLE

Problem Set 1 Solutions

The University of Southern Mississippi ROW REDUCTION OF MACAULAY MATRICES. Lorrin Debenport. A Thesis

Algebraic theory for discrete models in systems biology

Möller s Algorithm. the algorithm developed in [14] was improved in [18] and applied in order to solve the FGLM-problem;

MCS 563 Spring 2014 Analytic Symbolic Computation Friday 31 January. Quotient Rings

Groebner Bases in Boolean Rings. for Model Checking and. Applications in Bioinformatics

Sudokus and Gröbner bases: not only a Divertimento

Gröbner Bases. eliminating the leading term Buchberger s criterion and algorithm. construct wavelet filters

M3P23, M4P23, M5P23: COMPUTATIONAL ALGEBRA & GEOMETRY REVISION SOLUTIONS


On Implementing the Symbolic Preprocessing Function over Boolean Polynomial Rings in Gröbner Basis Algorithms Using Linear Algebra

1 xa 2. 2 xan n. + c 2 x α 2

DESIGN OF EXPERIMENTS AND BIOCHEMICAL NETWORK INFERENCE

Polynomial multiplication and division using heap.

Standard Bases for Linear Codes over Prime Fields

Designing rotating schedules by using Gröbner bases

Monomial orderings, rewriting systems, and Gröbner bases for the commutator ideal of a free algebra

QR Decomposition. When solving an overdetermined system by projection (or a least squares solution) often the following method is used:

Extending Clause Learning of SAT Solvers with Boolean Gröbner Bases

Groebner Bases, Toric Ideals and Integer Programming: An Application to Economics. Tan Tran Junior Major-Economics& Mathematics

arxiv: v2 [cs.sy] 18 Sep 2014

Gröbner Bases: A Short Introduction for Systems Theorists

Lecture 2: Gröbner Basis and SAGBI Basis

Polynomials, Ideals, and Gröbner Bases

On the Inoue invariants of the puzzles of Sudoku type

Introduction to Gröbner Bases

Groebner Bases and Applications

ABSTRACT. Department of Mathematics. interesting results. A graph on n vertices is represented by a polynomial in n

Gröbner Bases over a Dual Valuation Domain

Complexity Analysis of the Bivariate Buchberger Algorithm in Theorema

Polynomial dynamical systems over finite fields, with applications to modeling and simulation of biological networks.

Computing Free Resolutions in Macaulay2

arxiv: v1 [math.ac] 14 Sep 2016

Algebraic Cryptanalysis of MQQ Public Key Cryptosystem by MutantXL

From Gauss. to Gröbner Bases. John Perry. The University of Southern Mississippi. From Gauss to Gröbner Bases p.

arxiv: v1 [cs.sc] 11 Aug 2013

Applications of results from commutative algebra to the study of certain evaluation codes

Characterizations of indicator functions of fractional factorial designs

A field F is a set of numbers that includes the two numbers 0 and 1 and satisfies the properties:

Algebra 1 Prince William County Schools Pacing Guide (Crosswalk)

review To find the coefficient of all the terms in 15ab + 60bc 17ca: Coefficient of ab = 15 Coefficient of bc = 60 Coefficient of ca = -17

Enhancing the Signal to Noise Ratio

Monomial Dynamical Systems over Finite Fields

MATH Spring 2010 Topics per Section

INSIDE ALGEBRA CORRELATED WITH CALIFORNIA S COMMON CORE STANDARDS HIGH SCHOOL ALGEBRA

A decoding algorithm for binary linear codes using Groebner bases

GRÖBNER BASES AND POLYNOMIAL EQUATIONS. 1. Introduction and preliminaries on Gróbner bases

Current Advances. Open Source Gröbner Basis Algorithms

An efficient reduction strategy for signature-based algorithms to compute Gröbner basis

ZEROS OF POLYNOMIAL FUNCTIONS ALL I HAVE TO KNOW ABOUT POLYNOMIAL FUNCTIONS

arxiv: v1 [math.ac] 14 Nov 2018

Never leave a NEGATIVE EXPONENT or a ZERO EXPONENT in an answer in simplest form!!!!!

The generic Gröbner walk

Lecture 15: Algebraic Geometry II

Anatomy of SINGULAR talk at p. 1

Algebra 2A Unit 1 Week 1 Day Activity Unit 1 Week 2 Day Activity Unit 1 Week 3 Day Activity Unit 2 Week 1 Day Activity

ALGEBRA I CURRICULUM OUTLINE

Sylvester Matrix and GCD for Several Univariate Polynomials

Algebra Review. Terrametra Resources. Lynn Patten

Key words. Gröbner basis, Buchberger s Algorithm, Syzygy Module, F5 Algorithm, Module

Signature-based algorithms to compute Gröbner bases

Bellwood-Antis School District Curriculum Revised on 11/08/12

SPECTRA - a Maple library for solving linear matrix inequalities in exact arithmetic

A variant of the F4 algorithm

Chapter 7: Exponents

An Efficient Algorithm for Computing Parametric Multivariate Polynomial GCD

Units: 10 high school credits UC requirement category: c General Course Description:

Math 4370 Exam 1. Handed out March 9th 2010 Due March 18th 2010

Algebra I. Course Outline

Harbor Creek School District. Algebra II Advanced. Concepts Timeframe Skills Assessment Standards Linear Equations Inequalities

CURRICULUM MAP. Course/Subject: Honors Math I Grade: 10 Teacher: Davis. Month: September (19 instructional days)

The generic Gröbner walk

Overview of Computer Algebra

Binomial Ideals from Graphs

Symbolic Model Checking Using Algebraic Geometry George S. Avrunin Department of Computer Science University of Massachusetts at Amherst Amherst, MA 0

New Gröbner Bases for formal verification and cryptography

ASSIGNMENT. Please complete only the assignment for the class you will begin in September 2018.

Chetek-Weyerhaeuser High School

Giac and GeoGebra: improved Gröbner basis computations

MIDTERM REVIEW. Write an algebraic expression to represent the following verbal expressions. 1) Double the difference of a number and 7.

Computation of the Minimal Associated Primes

Solving a Binary Puzzle

Degree of a polynomial

S-Polynomials and Buchberger s Algorithm

Math for College Readiness

Abstract Algebra for Polynomial Operations. Maya Mohsin Ahmed

Beginning Algebra. 1. Review of Pre-Algebra 1.1 Review of Integers 1.2 Review of Fractions

NAME DATE PERIOD. A negative exponent is the result of repeated division. Extending the pattern below shows that 4 1 = 1 4 or 1. Example: 6 4 = 1 6 4

Transcription:

arxiv:1010.2669v1 [math.ag] 13 Oct 2010 Fast Gröbner Basis Computation for Boolean Polynomials Franziska Hinkelmann a,b September 24, 2018 Elizabeth Arnold c a Department of Mathematics, Virginia Polytechnic Institute and State University, Blacksburg, VA 24061-0123, USA b Virginia Bioinformatics Institute, Virginia Polytechnic Institute and State University, Blacksburg, VA 24061-0477, USA c Department of Mathematics and Statistics, James Madison University, Harrisonburg, VA 22807, USA Corresponding author: arnoldea@math.jmu.edu Abstract We introduce the Macaulay2 package BooleanGB, which computes a Gröbner basis for Boolean polynomials using a binary representation rather than symbolic. We compare the runtime of several Boolean models from systems in biology and give an application to Sudoku. 1 Introduction Buchberger s algorithm will theoretically compute a Gröbner basis for any ideal of a multivariate polynomial ring with rational coefficients. However, due to memory constraints, many examples still cannot be computed in real time. Since all computations are done symbolically over the rational numbers, two difficulties occur. The coefficients of the polynomials during the computation can grow very large, and also the degrees of the polynomials can grow very large allowing a large number of monomials in each polynomial. If an ideal consists of Boolean polynomials in the quotient ring, QR = F 2 [x 1,..., x n ]/ x 2 1 + x 1, x 2 2 + x 2,... x 2 n + x n, we can modify Buchberger s algorithm so that these two issues are avoided entirely. These ideas have been implemented and discussed before in [4, 10, 3]. In this paper, we describe a fast Gröbner basis implementation for Boolean polynomials in C++ which is included in the Macaulay2 release version 1.4 [8]. 1

2 Algorithm 2.1 Binary Representation Consider a polynomial in the ring QR = F 2 [x 1,..., x n ]/ x 2 1 + x 1, x 2 2 + x 2,... x 2 n + x n. Since the Boolean polynomials are multilinear, we can represent a monomials in n variables as a binary string of length n. We store these strings as integers. Polynomials, then, are just lists of these integers. Arithmetic on the binary representation of these polynomials is very fast. To add two monomials, we can just concatenate the binary strings. If we add two identical monomials, they sum to zero. To multiply two monomials, we use the binary operation OR. Since x 2 i = x i for every i, if x i appears in either monomial, then x i will appear in the product. For the Boolean Gröbner basis algorithm, we only need to multiply a monomial by a polynomial. To do this, we just multiply the monomial by each monomial in the polynomial using bitwise OR. Then we add the monomials by concatenation, removing duplicate pairs. The other operations that we need for Buchberger s algorithm are least common multiple and division of monomials. The least common multiple of two monomials is again just bitwise OR. In fact, the operation of least common multiple in this Boolean ring is just multiplication. To divide one monomial by another, we must first check divisibility. If a monomial m 1 is divisible by a monomial m 2, then any variable appearing in m 2 must also appear in m 1. So m 1 is divisible by m 2 if and only if bitwise m 1 m 2 > 0. Once divisibility has been established, then division is binary exclusive OR. Note that this is nothing more than subtraction. In order to implement Buchberger s first criterion, we also need an operation to determine if two monomials are relatively prime. This can be determined by comparing the minimum value for each variable in the monomial. If the minimum for each variable is 0, then the monomials are relatively prime. Now we have enough operations to execute Buchberger s algorithm. 2.2 Buchberger s Algorithm Given a set of Boolean polynomials, F in QR = F 2 [x 1,..., x n ]/ x 2 1 +x 1, x 2 2 + x 2,... x 2 n + x n, we want to compute a Gröbner basis for the ideal generated by F using Buchberger s Algorithm. The basic Buchberger Algorithm computes S polynomials for every pair of polynomials in F. It is important to note that when working in a quotient ring, we need to perform Buchberger s algorithm on the ideal generated by F together with the field polynomials. For example, consider the ideal generated by xy + z in 2

F 2 [x, y, z]/ x 2 + x, y 2 + y, z 2 + z. Since there is just one polynomial in the ideal, Buchberger s algorithm produces the the Gröbner basis for this ideal as xy + z. However, xz + z is also in this ideal, since xz + z = x(xy + z) + (xy + z). In fact, the Gröbner basis for the ideal generated by xy + z in F 2 [x, y, z]/ x 2 + x, y 2 + y, z 2 + z is {xy + z, yz + z, xz + z}. xz + z is the reduction of the S-polynomial of xy + z and x 2 + x. So the first difficulty in implementing Buchberger s algorithm using the binary representation of Boolean polynomials is how to encode these quadratic field polynomials. This difficulty is bypassed using the following result. Theorem 2.1. The S-polynomial of any multilinear Boolean polynomial and a quadratic field polynomial is always multilinear. Proof. Let f be a mutilinear Boolean polynomial with leading term lt(f). If lt(f) and x i are relatively prime, then the S-polynomial of f and x 2 i +x i will reduce to 0 by Buchberger s first criterion [5]. So we only consider quadratic field polynomials whose variable in the leading term is contained in lt(f). Suppose x i is in lt(f). Then S(f, x 2 i +x i) = f +( lt(f) x i )(x 2 i +x i) = f lt(f)+x i which is multilinear. Therefore, no special encoding for quadratic field polynomials is necessary. 2.3 Implementation The package BooleanGB contains the algorithm gbboolean, which is an implementation of Buchberger s algorithm for binary representations of Boolean polynomials over the quotient ring, QR = F 2 [x1, x2,..., x n ]/ x 2 1 + x 1, x 2 2 + x 2, x 2 n + x n. The algorithm is implemented in C++ and is part of the Macaulay2 engine. gbboolean computes a reduced Gröbner basis in lexicographic order for an ideal of Boolean polynomials in QR. All computations are done bitwise instead of symbolically, by representing a monomial as bits in an integer and a polynomials as a list of monomials. On a 64 bit machine, the algorithm works in the ring with up to 64 indeterminates. The algorithm uses Buchberger s first and second criteria [5] as described in [6, p. 109]. Here is algorithm computing the example from Section 2.2. i1 : loadpackage "BooleanGB"; i2 : R = ZZ/2[x,y,z]; 3

i3 : QR = R/ideal(x^2-x, y^2-y, z^2-z); i4 : I = ideal(x*y+z); o4 : Ideal of QR i5 : gbboolean I o5 = ideal (x*y + z, y*z + z, x*z + z) o5 : Ideal of QR The code for gbboolean is freely available with the source code distribution of Macaulay2 [8]. 3 Applications Boolean Gröbner basis algorithms such as gbboolean can be used for any system of Boolean polynomials. In particular, exact cover problems, satisfiability problems and problems in systems biology described below are examples. In some cases, it may be possible to turn a system of non-boolean polynomials into a Boolean system. This involves dramatically increasing the number of variables. But in the example of Sudoku, described below, the time saved by the bitwise computations outweighs the increase in variables. 3.1 Boolean Models in Systems Biology Logical models [1] are widely used in systems biology. They can be translated to polynomial dynamical systems [12], in particular, logical models with binary variables result in Boolean polynomials. Key dynamic features of logical models such as fixed points correspond to the points in algebraic varieties generated by the polynomials describing the model. To assure that gbboolean is efficient on practical ideals, we translate all binary logical models in the GINsim repository [9] to Boolean polynomial systems using ADAM [13], and compute the Gröbner basis of the ideal describing the fixed points. For all logical models in the repository, gbboolean is faster than current Macaulay2 implementations, run-times are are depicted in Fig. 1 and table 1. 4

3.2 Sudoku Sudoku is a popular game played on a 9 9 grid where the numbers 1-9 are filled in so that each number appears exactly once in each row column and 3 3 block. These constraints can be represented by polynomials, with one variable for each cell in the grid. (See [2] and [7] for more details.) For ease of demonstration, we use Shidoku as an example. Shidoku is played with the same rules as Sudoku, but on a 4 4 grid with the numbers 1-4. For Shidoku, we use 16 variables that can each take on only the values 1-4. We can represent this fact, together with the constraints of the game, in a total of 40 polynomials. If we consider the ideal generated by these polynomials in Q[x 1,..., x 16 ] with the lexicographical ordering, we cannot compute the Gröbner basis for the ideal in Macaulay2 in a reasonable amount of time. We can, however, convert the problem to a system of Boolean polynomials and use gbboolean to compute the Gröbner basis. The Boolean system has 64 variables, representing each of the possible values 1-4 for each of the 16 cells. We consider the ideal of the polynomials in QR = F 2 [x1, x2,..., x n ]/ x 2 1 + x 1, x 2 2 + x 2, x 2 n + x n. The Boolean system gives us a total of 256 polynomials to represent the Shidoku constraints. As seen in Section 4 below, gbboolean computes the Gröbner basis for the Boolean ideal in just 4.1 seconds. 4 Results We test gbboolean on several random ideals and compare the run times with the standard Gröbner basis implementation in Macaulay2. In addition, we also test published Boolean logical models stemming from biological systems and compute the basis of the ideals corresponding to key dynamic features. Finally, we test the algorithm on Sudoku, a problem that can be described by a system of Boolean polynomials. We compare gbboolean to the symbolic computation in lexicographic order. Since the graded reverse lexicographic (grl) monomial order usually yields the fastest calculation, we also compare gbboolean to the combined times of computing a basis in grl and lifting it to the quotient ring with lexicographic order. Fig. 1 shows the run-times on a 3.06 GHz Intel Core 2 Duo MacBook Pro. In almost all examples, gbboolean is faster than current implementations in Macaulay2. Cumulatively, gbboolean is about four times faster ( 0.27614741% ) than the Gröbner basis calculation in the ring with grl order, and 50 times faster ( 0.017562079% ) than the calculation in the 5

ring with lexicographic order. We do not list run-times for symbolic computations using the Sugar strategy [11] because it is much slower than the sugarless strategy for all examples. QR Lex QR Lift gbboolean II0 220.681 19.0562 4.4871 S2 0.002174 0.003237 0.00001 S3 0.0032 0.004926 0.000009 SS2 0.003438 0.005541 0.00001 Shidoku 470.703 19.6797 4.11442 TCR 0.007104 0.012106 0.000208 THBool 0.001946 0.003759 0.000009 BoolCC 0.002007 0.003859 0.000012 erbb2 0.002609 0.003017 0.00001 yeastli 0.002593 0.002013 0.00009 Table 1: Run Times for Random, Biological, and Shidoku Examples Figure 1: Benchmarks: The left graph depicts run-times for random ideals and an application to Sudoku, the right graph for Boolean ideals originating from biological systems. 5 Conclusion Computing Gröbner bases for Boolean polynomials bitwise rather than symbolically can speed up computation time considerably. In the example of Shidoku, even though converting the problem from Q to F 2 increases the 6

number of variables from 16 to 64, the time to compute the Gröbner basis decreases. The package BooleanGB in Macaulay2 has proven to be generally faster than the standard algorithm in Macaulay2 over the quotient ring for Boolean polynomial ideals. Further improvements might be achieved by implementing the Sugar strategy [11] or other monomial orders. Acknowledgments The authors thank Mike Stillman for adding the C++ implementation to the M2 engine and for his improvements of the implementation. Furthermore, the authors thank Samuel Lundqvist, Amelia Taylor, Dan Grayson, and Reinhard Laubenbacher for stimulating discussions, insightful comments, and organizing several Macaulay2 workshops. References [1] Aurélien Naldi, D. Berenguier, Adrien Fauré, F. Lopez, Denis Thieffry, and Claudine Chaouiya. Logical modeling of regulatory networks with ginsim 2.3. Biosystems, 97(2):134:139, 2009. [2] E. Arnold, S. Lucas, & L. Taalman, Gröbner Basis Representation of Sudoku, College Mathematics Journal, 41, 2010, 101-111. [3] A. Bernasconi, B. Codenotti, V. Crespi & G. Resta, Computing Groebner bases in the Boolean setting with applications to counting, in: G. Italiano & S. Orlando, eds., Proceedings of the Workshop on Algorithm Engineering (WAE 97), University of Venice, Venice, September 11-13, 1997, 209 218. [4] M. Brickenstein, A. Dreyer, PolyBoRi: A framework for Gröbner-basis computations with Boolean polynomials, Journal of Symbolic Computation, Volume 44, I(9), September 2009, Pages 1326-1345. [5] B. Buchberger, Ein Algorithmus zum Auffinden der Basiselemente des Restklassenringes nach einem nulldimensionalen Polynomideal, Ph.D. Thesis, Inst. University of Innsbruck, Innsbruck, Austria, 1965. [6] D. Cox, J. Little, & D. O Shea, Ideals, Varieties, and Algorithms, Springer- Verlag, 1992. [7] J. Gago-Vargas, I. Hartillo-Hermoso, J. Martín-Morales, & J.M. Ucha- Enríquez, Sudokus and Gröbner bases: not only a divertimento, Computer algebra in scientific computing, 155 165, Lecture Notes in Comput. Sci., 4194, Springer, Berlin, 2006. [8] D. Grayson and M. Stillman, Macaulay2, a software system for research in algebraic geometry, Available at http://www.math.uiuc.edu/macaulay2/. 7

[9] GINsim Model Repository, Available at http://gin.univ-mrs.fr/ginsim/model repository.html/. [10] Y. Sato, A. Nagai, & S. Inoue, On the Computation of Elimination Ideals of Boolean Polynomial Rings, in: D. Kapur, Ed., Computer Mathematics: 8th Asian Symposium, ASCM 2007, Singapore, December 15-17, 2007, Revised and invited Papers, Lecture Notes In Artificial Intelligence, 5081, Springer- Verlag, Berlin, 2008, 334 348. [11] A. Giovini, T. Mora, G. Niesi, L. Robbiano, & C. Traverso, One Sugar Cube, Please?, or Selection Strategies in the Buchberger Algorithm. Proceedings of the International Symposium on Symbolic and Algebraic Computation. pp. 49-54, June 1991. [12] Alan Veliz-Cuba, Abdul S. Jarrah, & Reinhard Laubenbacher. Polynomial algebra of discrete models in systems biology. Bioinformatics, 26(13):16371643, July 2010. [13] Franziska Hinkelmann, Madison Brandon, Bonny Guang, Rustin Mc- Neill, Alan Veliz-Cuba, Greg Bleckherman, & Reinhard Laubenbacher. Adam, analysis of dynamic algebraic models. Available at http://adam.vbi.vt.edu/. 8