A Genetic Algorithm for Finding Minimal Multi-homogeneous B´ezout Number Dongshu Yan Department of basic science Jilin Institute of Architecture and Civil Engineering Changchun 130021, P.R. China yandongshu@jliae.edu.cn

Jintao Zhang, Bo Yu Department of Applied Mathematics Dalin University of Technology Dalian 116024, P.R. China (jtzhang, yubo)@dlut.edu.cn

Changtong Luo, Shaoliang Zhang Department of Computational Science and Engineering Nagoya University Nagoya 464-8603, Japan (c-luo, zhang)@na.cse.nagoya-u.ac.jp

Abstract Homotopy continuation is a most efficient numerical method for finding all isolated solutions of system of polynomial equations, and finding minimal multi-homogeneous B´ezout number is a basic problem of homotopy continuation. This paper presents a problem-specific genetic algorithm for finding minimal multi-homogeneous B´ezout number. The algorithm is easy to implement and easy to be parallelized for large scale problems. It can find the minimal multi-homogeneous B´ezout number in probability 1. Numerical results indicate that the proposed algorithm is reliable and efficient. The algorithm offers a competitive alternative for minimal multi-homogeneous B´ezout number problem. Meanwhile, it extends the application fields of genetic algorithms. Keywords. genetic algorithm, heuristics, polynomial equations, minimal multi-homogeneous B´ezout number

1

Introduction

Homotopy continuation[2] is a most efficient numerical method for finding all isolated solutions of system of polynomial equations. It based on a system of homotopy equations H(x, t) = Φ(P0 (x), P (x), t) (t ∈ [0, 1]), which satisfies H(x, 0) = P0 (x), H(x, 1) = P (x), where P (x) = (p1 (x), p2 (x), · · · , pn (x)) is the target system of polynomial equations to be solved, x = (x1 , x2 , · · · , xn ) ∈ C n , and P0 (x)is a start system, which is constructed according to a root count of P (x) and much easier to solve. The solution of target system P (x) is found by following

each homotopy path x(t) starting from an isolated solution of P0 (x) (at t = 0) towards the solution of the target system as t → 1. If the path following is successful, the endpoint (at t = 1) of the path x(1) would be a solution of P (x). To save computing time, one need to find a minimal root count of P (x) (the number of P (x)’s isolated solutions) to minimize the times of path following. Unfortunately, it is very hard to get its minimal root count. Various estimations of its upper bound have been provided to get its approximation, such as total degree, minimal multi-homogeneous B´ezout number[7] , general linearproduct B´ezout number and mixed volume[10] . Usually minimal root count is far less than its total degree. All of the three other upper bounds are much less than total degree, and widely used in practical calculations. We only consider minimal multi-homogeneous B´ezout number in this paper. For a given system of polynomial equations, a minimal multi-homogeneous B´ezout number corresponds to a partition of variables. Therefore, to get the minimal multihomogeneous B´ezout number is to get the optimal partition of variables. Wampler provided an enumerative method[11] that can get the optimal partition but the complexity of computation time will increase exponentially with the increase of n. F. Bai, et al. provided local search method[5] , fission method and assembly method[6] . However, all of these methods might be failed to get the optimal partition. Further Study of finding minimal multi-homogeneous B´ezout number is still necessary. Genetic algorithm (GA)[3] is a new heuristic motivated by natural selection, survival of the fittest. GA is suitable for hard optimization problems, including combinational optimization. This make it possible to get an effective GA for minimal multi-homogeneous B´ezout

number. However, no existing GA can get minimal multihomogeneous B´ezout number, and special design must be done to fascinate this problem. In this paper, we will propose a problem-specific GA for finding minimal multi-homogeneous B´ezout number. The new GA needs specific encoding plan, decoding plan, fitness scaling and evolutionary operators (including crossover and mutation). The proposed algorithm is easy to implement and it can find the minimal multi-homogeneous B´ezout number in probability 1. Numerical results show that our algorithm is reliable and efficient and it offers a competitive alternative for minimal multi-homogeneous B´ezout number problem. The rest of this paper is organized as follows. Some basic factors of the proposed GA are described in section 2, and detailed procedure of the GA is described in section 3. Section 4 provides a revised genetic algorithm (RGA) based on boundary partition. Numerical results are given in section 5, and section 6 draws the concluding remarks.

2

Basic factors of GA

i=1

called a m-partition. The multi-homogeneous B´ezout number of a partition F is denoted by mB(F ), and all possible partitions of x is denoted by F .

Encoding plan

To use genetic algorithm for the problem of finding minimal multi-homogeneous B´ezout number, the first thing one needs to do is to give a proper representation (chromosome) for the partition of variables. Both binary encoding and real encoding are hard to represent a partition. Next we will introduce a symbol encoding. Let the string k1 k2 · · · kn represents a m-partition F of variables x = (x1 , x2 , · · · , xn ), where ki ∈ {1, 2, · · · , m} is the index of the group where the ith component of x lies. Example 1 Consider all 3-partitions of x = (x1 , x2 , x3 , x4 ). There are six 3-partitions: {{x1 , x3 }, {x2 }, {x4 }}, {{x1 , x2 }, {x3 }, {x4 }}, {{x1 }, {x2 , x3 }, {x4 }}, {{x1 , x4 }, {x2 }, {x3 }}, and {{x1 }, {x2 }, {x3 , x4 }}. {{x1 }, {x2 , x4 },{x3 }} According to the above definition, the chromosome of each 3-partition is 1123, 1213, 1231, 1223, 1232 and 1233, respectively.

Fitness scaling

To get the optimal multi-homogeneous B´ezout number of a system of polynomial equations is a combinational optimization problem of the following form min

F ∈F

mB(F )

(1)

where mB(F ) is the multi-homogeneous B´ezout number of partition F . mB(F ) can be attained by a recursive algorithm proposed by Wampler[11] , in which the degree matrix D (of the system under partition F ) is expanded along rows recursively. D = (dik )n×m , where dik , k = 1, 2, · · · , m is the degree of the polynomial Pi (x) with respect to xk . It is obvious that ∀F ∈F , mB(F ) ≥ 0. The fitness of an individual (chromosome) I corresponding to a partition F is defined by Fitness(I)=(M −mB(F )), where M is a sufficient large number that satisfies (M −mB(F )) ≥ 0.

2.3

Consider the system of polynomial equations P (x). Let its variables x = (x1 , x2 , · · · , xn ) be partitioned into m groups, denoted by F = (x(1) , · · · , x(m) ), where x(i) = m ni = n. F is (xi1 , · · · , xini ), i = 1, 2, · · · , m, and

2.1

2.2

Evolutionary operators

Let the probability of crossover be Pc , the probability of mutation be Pm , then the cross over of two individuals (I1 = k11 k12 · · · k1n , I2 = k21 k22 · · · k2n ) is defined as l1 l2 · · · ln , if rand < Pc ; C(I1 , I2 ) = (2) else. I1 ,

k1i , if i ≤ r; , r is a random integer bek2i , else. tween 1 and n, rand is a random real number in [0, 1). It is a kind of single point crossover. The mutation of an individual (I = k1 k2 · · · kn ) is defined as where li =

M (I) = l1 l2 · · · ln ,

(3)

m − ki + 1, if rand < Pm ; , rand is a else. ki , random real number in [0, 1). It is a kind of uniform mutation. Note that mB(F ) might be very large. Proportional selection is not suitable in this case because the total fitness of the population might possibly overflow. Therefore, we adopt binary tournament selection that can be described as follows. I1 , if mB(I1 ) < mB(I2 ); (4) S(I1 , I2 ) = I2 , else. where li =

where I1 , I2 are two competitive individuals of current population.

2.4

preserve the partition and its mB(FIi (t) ) in M (t). Update A with the elite individual.

Decoding plan

Note that the above evolutionary process might get unexpected individuals unless a proper decoding plan is applied. For example, crossover between I1 = 32213113 and I2 = 53341262 could get an offspring individual I = 32213262. In this paper, we define a decoding plan that can avoid this problem. Suppose the offspring individual be I = k1 k2 · · · kn . = min{k1 , k2 , · · · , kn }, l2 = Let l1 min{k1 , k2 , · · · , kn }\{kj |kj = l1 , j = 1, · · · , n}, l3 = min{k1 , k2 , · · · , kn }\{kj |kj = l1 ∨ kj = l2 , j = 1, · · · , n}, · · · , lm = min{k1 , k2 , · · · , kn }\{kj |kj = l1 ∨ · · · ∨ kj = lm−1 , j = 1, · · · , n}, then I is decoded as the ith variable xi lies in the li th group of the partition. Example 2 Consider the partition of variables with four components x = (x1 , x2 , x3 , x4 ). Let the offspring individuals be 1234, 1123, 2322 and 1334, then they are decoded as {{x1 }, {x2 }, {x3 }, {x4 }}, {{x1 , x2 }, {x3 }, {x4 }}, {{x1 , x3 , x4 }, {x2 }} and {{x1 }, {x2 , x3 }, {x4 }}, respectively.

3

Procedure of GA

Some special techniques are applied in this paper to make GA more efficient. One is the strategy of elite archive, which preserves the best so far individual in an archive A outside the evolutionary progress. The other is the strategy of memory, which preserves some multi-homogeneous B´ezout numbers and their corresponding partitions in a memory sequence M (t), t = {1, 2, · · · }. Whether a partition as well as its multi-homogeneous B´ezout number should be preserved depends on its computational cost. It will be preserved in M (t) only if the cost is high. The preserved partitions are used for evaluation of new individuals. Genetic algorithm for minimal multi-homogeneous B´ezout number problem (GA): 1. (Initialization) Input the population size N , the probability of crossover Pc ∈ [0, 1] and the probability of mutation Pm ∈ (0, 1). Set A = Φ, t := 0, Randomly Generate an initial population P (0) = {I1 (0), I2 (0), · · · , IN (0)}, where Ii (0) = ki1 ki2 · · · kin , and kij is a random integer between 1 and n. 2. (Individual evaluation with memory and elite archive) Decoding each individual Ii (t) in current population according to the rules described in subsection 2.4, and get its partition FIi (t) . If it is already in memory sequence M (t − 1), we use its mB(FIi (t) ) for fitness calculation. Otherwise, the recursive algorithm is used to get its mB(FIi (t) ). If the computational cost is high,

3. (Selection) Select N individuals to form a temporary population P (t) by formula (4) from current population P (t). 4. (Crossover) Apply crossover to the temporary population P (t) by formula (2) and get another temporary population P (t). 5. (Mutation) Apply mutation to the temporary population P (t) by formula (3) and get the population of next generation P (t + 1). 6. (Stopping test) If some stopping criterion is satisfied, output the best partition in A and its mB(F ). Otherwise, return to step 2. Note that the above genetic algorithm has adopted the strategy of elite archive and the probability of mutation satisfies 0 < Pm < 1, so it can converge to minimal multihomogeneous B´ezout number in probability[8, 4] . Its reliability and efficiency will be tested by numerical experiment in section 5.

4

Genetic algorithm with boundary mutation

A partition is called a boundary partition if m = 1 or m = n, i.e., {{x1 , x2 , x3 , · · · , xn }} A partition is said to or {{x1 }, {x2 }, · · · , {xn }}. be near boundary if m is near 1 or near n, e.g. {{x1 }, {x2 , x3 , · · · , xn }} (in this case m = 2). Next, based on the definition of boundary partition, we introduce a boundary mutation into the above genetic algorithm, in which the mutated individual is drawn from the boundary individuals with some given probability. For the sake of convenience, the genetic algorithm with boundary mutation is called revised genetic algorithm (RGA) in this paper.

5 5.1

Numerical results Classical test problems

This testbed consists of 20 systems of polynomial equations from [1, 9, 10], and later are cited by [5] and [6]. Our algorithms are implemented in C language and executed on a personal computer with AMD 800MHz CPU and 256MB memory. The control parameters are set as follows: N = 100, Pm = 0.1, Pc = 0.9. Three runs for each system are executed, and the smallest multi-homogeneous B´ezout number and averaged time are recorded. The comparison with three existing algorithms are listed in table 1.

# 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Table 1. Comparison with three existing algorithms mB LS-mB;time FA-mB;time As-mB;time GA-mB;time RGA-mB;time 10 10 10 10 10 10 384 384 384 384 384 384 96 96 96 96 96 96 62 62 62 62 62 62 450 450 450 450 450 450 16 16 16 16 16 16 8 8 8 8 8 8 645120 645120; 5.55 645120 645120 645120; 2.54 645120; 1.33 16 16; 4.50 16 16 16 16 20 20 20 20 20 20 320 320; 1221.95 448∗ ; 2.23 320 320 576∗ ; 51.41 193 193; 2.25 193 193 193; 3.36 193 1361 1361; 1.98 1361 1361 1361 1361 3628800 3628800; 30.53 3628800; 4.37 3628800; 209.86 3628800; 23.83 3628800; 6.74 362880 362880; 9.51 362880 362880; 15.02 362880; 1.01 362880 216 216 216 216 216 344∗ 56 56 56 56 56 56 368 368 368 368 368 368 44; 6.4 48∗ ; 89.84 44 44 44 64∗ ; 18.95 error reported error reported 160; 1.57 160 160 160

Some notations used in table 1 are as follows: # — number of system of polynomial equations; time — averaged execution time (seconds), those less than 1 second are omitted; mB — minimal multi-homogeneous B´ezout number; LS–mB — best multi-homogeneous B´ezout number obtained by local search method; FA–mB — best multi-homogeneous B´ezout number obtained by fission method; As–mB — best multi-homogeneous B´ezout number obtained by assembly method; GA–mB — best multi-homogeneous B´ezout number obtained by Genetic Algorithm; ∗ — the result is non-optimal. From table 1, we can see that GA/RGA has outperformed local search method in sense of both reliability and averaged execution time. For small scale problem, GA/RGA is slower than fission method. For large scale problem, GA/RGA has similar performance to fission method and assembly method.

5.2

Randomly generated problems

From table 1, it seems that RGA is better than GA. However, if we take a careful look at the 20 problems used in the above subsection, we will find that many of their optimal partitions are near boundary. In general cases, can RGA outperform GA? To show the effect of boundary mutation,

Table 2. Results for randomly generated problems

# 1 2 3 4 5 6

n d 6 3 6 4 7 5 8 4 8 6 10 4

s 0.06 0.04 0.01 0.02 0.03 0.01

GA percent 96 94 92 94 92 84

time 0.23 0.38 0.81 1.76 1.35 36.06

RGA percent 94 98 92 94 88 76

time 0.23 0.40 0.78 2.57 1.44 43.29

we apply our algorithms to some randomly generated problems in this subsection. The rule to generate polynomial equations follows [6]. Six groups of experiments are done, and each group includes 50 random polynomial equations. The comparison of GA and RGA are listed in table 2. Some notations used in table 2 are as follows: # — group number; n — number of variables; d — maximum total degree; s — sparsity of the polynomial equations; percent — percentage of success; time — averaged execution time (seconds). From table 2, we can see that RGA is no better than GA in general cases.

6

Conclusion

We have presented a problem-specific genetic algorithm (GA) that can find minimal multi-homogeneous B´ezout number reliably and efficiently. It has outperformed local search method. The GA has a similar performance as existing methods (fission method and assembly method), but the ideas are quite different. As a result, they might have different performance for the same problem. This complementarity can be used to get better result. The proposed GA offers a competitive alternative for minimal multi-homogeneous B´ezout number problem. Furthermore, it is easy to use and easy to be parallelized for large scale problems. It can get the minimal multi-homogeneous B´ezout number in probability 1.

Acknowledgement This work was partially supported by a Grant-in-Aid for 21st Century COE ”Frontiers of Computational Science” of Japan, and by the National Nature Science Foundation of China (10671029).

References [1] T.A. Gao, T.Y. Li, X.S. Wang(1999), Finding isolated zeros of polynomial systems in C n with stable mixed volumes, J. Symbolic Comput., vol.28, pp.187-211, 2000. [2] C.B. Garcia, W.I. Zangwill, Finding all solutions to polynomial systems and other systems of equations, Math. Prog., vol.16 pp.159-176, 1979. [3] J.H. Holland, Adaption in Natural and Artificial Systems, MIT Press, Cambridge, 1992. [4] K.S. Leung, Q.H. Duan, Z. B. Xu and C. K. Wong, A New Model of Simulated Evolutionary Computation — Convergence Analysis and Specifications, IEEE Trans. evolutionary computation, vol.5, pp.3-16, 2001. [5] T.J. Li, F.S. Bai, Minimizing multi-homogeneous B´ezout numbers by a local search method, Math. Comp., vol.70, pp.767-787, 2000. [6] T. Li, Z.J. Lin, F.S. Bai, Heuristic methods for computating the minimal multi-homogeneous B´ezout number, Appl. Math. Comp., vol.146 pp.237-256, 2003. [7] A.P. Morgan, A.J. Sommese, A homotopy for solving general polynomial systems that respect mhomogeneous structures, Appl. Math. Comp., vol.24 pp.115-138, 1989.

[8] G. Rudolph, Convergence analysis of canonical genetic algorithms, IEEE Trans. Neural Network, vol.5, pp.96-101, 1994. [9] J. Verschelde, P. Verlinden and R. Cools, Homotopies exploiting Newton polytopes for solving sparse polynomial systems, SIAM J. Number. Anal., vol.31, pp.915-930, 1994. [10] J. Verschelde, K. Gatermann and R. Cools. Mixedvolume computation by dynamic lifting applied to polynomial systems solving, Discrete Comput. Geom., vol.16, pp.69-112, 1996. [11] C.W. Wampler, B´ezout number calculations for multihomogeneous polynomial systems, Appl. Math. Comput., vol.51, pp.143-157, 1992.