Tải bản đầy đủ (.pdf) (32 trang)

Vài ứng dụng của lý thuyết cơ sở groebner

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (791.55 KB, 32 trang )

1

Bộ giáo dục và đạo tạo
Tr-ờng Đại học Vinh

----------------------

Nguyễn thị thúy hằng

vài ứng dụng của lý thuyết
cơ sở Groebner
luận văn thạc sỹ toán học

Chuyên ngành: đại số và lý thuyết sè
M· sè: 60.46.05

Ng-êi h-íng dÉn khoa häc:
PGS.TS. Ngun Thµnh Quang

Vinh - 2009


2

MỤC LỤC
Trang
MỞ ĐẦU

1

Chƣơng 1. NHỮNG KHÁI NIỆM CƠ SỞ CỦA LÍ THUYẾT CƠ



3

SỞ GROBNER
1.1. Thứ tự từ……………………………………………………

3

1.2. Iđêan khởi đầu và cơ sở Grobner………………………….

8

1.3. Thuật toán chia……………………………………………..

12

Chƣơng 2. ỨNG DỤNG CỦA LÍ THUYẾT CƠ SỞ GROBNER

14

2.1. Ứng dụng của Lí thuyết cơ sở Grobner trong bài toán
qui hoạch nguyên tuyến tính………………………………………..

14

2.2. Ứng dụng của Lí thuyết cơ sở Grobner trong Lí thuyết mã

25

KẾT LUẬN


29

TÀI LIỆU THAM KHẢO

30

MỞ ĐẦU
Tốn học hình thức (Simbolic computation), hay cịn gọi là Đại số máy
tính (Computer Algebra), xuất hiện khoảng ba chục năm nay và gần đây đã
trở thành một chuyên ngành độc lập. Nó kết hợp chặt chẽ giữa Toán học và
Khoa học máy tính. Sự phát triển của máy tính địi hỏi phải xây dựng các lý
thuyết toán học làm cơ sở thiết lập các thuật toán và phần mềm toán học. Mặt
khác Đại số máy tính cũng tác động tích cực trở lại đối với nghiên cứu toán
học lý thuyết. Chúng ta đều biết, nhờ máy tính và các phần mềm tốn học,


3
phần mềm tin học đã giúp dự đoán các kết quả lý thuyết hoặc có được các
phản ví dụ.
Hạt nhân của tính tốn hình thức bằng máy tính trong Đại số giao hốn
và Hình học Đại số chính là lý thuyết Cơ sở Groebner. Lý thuyết này do nhà
Toán học người Áo, Bruno Buchberger đưa ra trong luận án Tiến sĩ của mình
năm 1965 dưới sự dẫn dắt của người thầy là Wolfgang Groebner [3]. Điểm
mấu chốt khởi đầu cho sự hình thành lý thuyết của Buchberger chính là việc
mở rộng thuật toán chia hai đa thức một biến sang trường hợp các đa thức
nhiều biến.
Cơ sở Groebner về phương diện lý thuyết còn được khẳng định bằng
việc cung cấp chứng minh cho ba Định lý của Hilbert: Định lý về cơ sở, Định
lý về xoắn và Định lý về không điểm.

Định lý cơ sở Hilbert cho ta cách xác định nghiệm của một hệ các
phương trình đa thức. Một hệ gồm một số vơ hạn các phương trình đều tương
đương với một hệ hữu hạn các phương trình đa thức.
Với mục đích tìm hiểu Lý thuyết Cơ sở Groebner và ứng dụng của nó,
chúng tơi quyết định chọn đề tài “Vài ứng dụng của Lí thuyết Cơ sở
Grobner”. Luận văn đã tập trung trình bày một số định nghĩa và tính chất
của lý thuyết Cơ sở Groebner, nghiên cứu một số tính chất về thứ tự từ - khái
niệm mở đầu trong lý thuyết Cơ sở Groebner. Trình bày cơ sở Lý thuyết Cơ
sở Groebner xung quanh các định lý Hilbert và tìm tịi các ứng dụng của
chúng trong bài toán quy hoạch nguyên và lý thuyết mã.
Luận văn được chia làm hai chương cùng với phần mở đầu, kết luận và
danh mục tài liệu tham khảo.
Chương 1 trình bày một số khái niệm cơ sở của lý thuyết Cơ sở
Groebner, nghiên cứu một số tính chất về thứ tự từ - khái niệm mở đầu để xây
dựng cơ sở Lý thuyết Cơ sở Groebner. Sau đó trình bày định nghĩa iđêan và
từ khởi đầu cũng như định nghĩa và một số tính chất cơ bản của Cơ sở


4
Grobner; Thuật toán chia đa thức cho cách xây dựng đa thức dư thỏa mãn
định lí chia đa thức.
Chương 2 giới thiệu thuật tốn Conti-Traverso để giải nó bằng lí thuyết
cơ sở Grobner và tìm tịi các ứng dụng của chúng trong bài toán quy hoạch
nguyên và lý thuyết mã.
Để hoàn thành luận văn này tác giả xin bày tỏ lòng biết ơn sâu sắc tới
PGS. TS Nguyễn Thành Quang đã giao đề tài và tạo mọi điều kiện thuận lợi
nhất cho việc nghiên cứu và hoàn thành luận văn. Tác giả xin gửi lời cảm ơn
các thầy cô giáo trong Khoa Tốn, các thầy cơ trong Bộ mơn Đại số đã giúp
đỡ, góp ý kiến chỉ bảo để tác giả hồn thành luận văn này cũng như trong suốt
khố học vừa qua. Tác giả cũng xin cảm ơn đến các thầy cô giáo Khoa đào

tạo Sau đại học đã tạo điều kiện cho chúng tôi trong thời gian học tập.
Mặc dù đã có nhiều cố gắng nhưng khơng tránh khỏi những thiếu sót,
hạn chế. Tác giả rất mong nhận được sự góp ý kiến quý báu của các thầy cô
và các bạn.

Vinh, tháng 12 năm 2009.
Tác giả

CHƢƠNG 1
NHỮNG KHÁI NIỆM CƠ SỞ CỦA
LÝ THUYẾT CƠ SỞ GROEBNER
1.1 THỨ TỰ TỪ
1.1.1. Thứ tự, giả thứ tự.
Cho X là tập khác rỗng. Quan hệ (2 ngôi ) trên X là một tập con R của tích
Đề các X  X . Để thuận tiện, thường viết xRy thay cho ( x, y )  R và dùng ký
hiệu ~, , , … để chỉ R .


5
Quan hệ R trên tập X được gọi là một thứ tự (bộ phận) nếu nó thỏa mãn ba
điều kiện sau đây đối với mọi x, y,z  X :
(i) x R x (tính chất phản xạ).
(ii) Nếu xRy và yRz thì xRz (tính chất bắc cầu).
(iii) Nếu xRy và yRx thì x  y (tính chất phản đối xứng).
Thơng thường để chỉ thứ tự bộ phận thì ký hiệu bởi  ,  .
Nếu R là một thứ tự bộ phận thì quan hệ ngược
R1  ( x, y |( y,x )  R )

cũng là thứ tự bộ phận và gọi là thứ tự ngược của R. Và dùng  để chỉ thứ tự
ngược của thứ tự  tương ứng và ngược lại.

Trên X cho một thứ tự bộ phận  thì X là tập được sắp.
Nếu x, y  X mà x  y hoặc y  x thì x, y so sánh được với nhau, nếu trái lại
x, y không so sánh được với nhau.
Quan hệ thứ tự  trên X được gọi là thứ tự toàn phần nếu mọi cặp phần tử của
X đều so sánh được với nhau và X được gọi là tập được sắp hồn tồn.
Quan hệ chỉ thỏa mãn tính chất phản xạ (i) và bắc cầu (iii) ở trên được gọi là
giả thứ tự.
Cho X là tập được sắp bởi thứ tự  và A  X .
Phần tử a  A được gọi là phần tử tối tiểu (tương ứng tối đại) nếu b  A mà
b  a (tương ứng a  b ) thì a  b .

Phần tử a  A được gọi là phần tử nhỏ nhất (tương ứng lớn nhất) nếu
b  A mà a  b (tương ứng b  a ).

Phần tử b  A được gọi là chặn trên (tương ứng chặn dưới) của A nếu
b  A thì a  b (tương ứng b  a ).

Tập X được gọi là tập sắp thứ tự tốt nếu nó sắp hồn tồn và mọi tập con
khác rỗng đều có phần tử nhỏ nhất. Thứ tự tương ứng gọi là thứ tự tốt.
1.1.2. Thứ tự từ. Thứ tự từ  là một thứ tự toàn phần trên tập M tất cả các
đơn thức của vành K[x] thỏa mãn các điều kiện sau:


6
(i) Với mọi m  M , 1  m .
(ii) Nếu m, m1 , m2  M mà m1  m2 thì mm1  mm2 .
Cho  là một thứ tự từ. Sau khi đổi chỉ số các biến, ln có thể giả thiết
x1  x2  ...  xn .

Ví dụ.

+ Thứ tự từ điển lex xác định: x1 ...xn lex x1 ...xn khi và chỉ khi tồn tại
n

1

n

1

0  i  n sao cho 1  1 ,  2  2 ,...,i  i và i 1  i 1 , là một thứ tự từ.

+ Thứ tự từ điển phân bậc glex xác định: x1 ...xn  glex x1 ...xn khi và chỉ khi
n

1

n

1

deg( x1 ...xn )  deg( x1 ...xn ) hoặc deg( x1 ...xn )  deg( x1 ...xn ) và
1

n

1

n

n


1

n

1

x1 ...xn lex x1 ...xn , là một thứ tự từ.
1

n

1

n

+ Thứ tự từ điển ngược rlex xác định: x1 ...xn  rlex x1 ...xn khi và chỉ khi
n

1

n

1

deg( x1 ...xn )  deg( x1 ...xn ) hoặc deg( x1 ...xn )  deg( x1 ...xn ) và thành phần
1

n


1

n

1

n

1

n

đầu tiên khác không tính từ bên phải của vectơ (1  1 ,..., n  n ) là một số
dương, là một thứ tự từ.
Giả sử  là một thứ tự từ nào đó đã được xác định. Giả thứ tự trên tập các từ
của vành R = K[x] (cũng được ký hiệu là ) được định nghĩa:
Nếu 0   ,   K và m, n  M sao cho m  n (tương ứng m  n ) thì  .m   .n
(tương ứng  .m   .n ).
1.1.3. Thứ tự theo trọng liên kết và tích từ điển của các thứ tự (bộ phận).
+ Hàm trọng số  trên vành K[x] là một phiếm hàm tuyến tính
Hàm trọng số nguyên là hàm trọng số mà  (

n

n



.


) .

+ Thứ tự theo trọng liên kết với  là thứ tự bộ phận  trên M xác định bởi

x a  xb nếu và chỉ nếu  (a)   (b) .
+ Hàm trọng số  tương thích với thứ tự từ  nếu m1  m2 kéo theo m1  m2 .


7
+ Cho 1 ,, s là các thứ tự bộ phận trên tập X. Tích từ điển R của các thứ
tự này là quan hệ được xác định x, y  X , xRy khi và chỉ khi tồn tại 1 i  s
để x, y không so sánh được với nhau theo 1 ,, i 1 và xVí dụ.
+ Các hàm deg(a)  a1  a2  ...  an (gọi là hàm bậc tổng thể) và hàm  i (a)  ai ,
1  i  n là những hàm trọng số.

+ Hàm bậc tổng thể tương thích với một thứ tự từ thì thứ tự từ đó gọi là thứ tự
từ phân bậc. Theo đó, thứ tự từ điển phân bậc và thứ tự từ điển ngược là
những thứ tự từ phân bậc.
+ Thứ tự theo trọng là một thứ tự bộ phận, không phải là thứ tự từ.
Nhận xét: (a) Cho   là thứ tự theo trọng liên kết với λ . Khi đó với mỗi
m1 , m2  M thì:

(i) m1 , m2 so sánh được với nhau theo   khi và chỉ khi m1  m2 hoặc

 (m1 )   (m2 ) .
(ii) m1 , m2 không so sánh được với nhau theo   khi và chỉ khi m1  m2 hoặc

 (m1 )   (m2 ) .
(b) Cho   là thứ tự theo trọng. Khi đó  (1)  0 .

1.1.4. Định lý. Cho  là một thứ tự từ. Khi đó nếu m1 m2 thì m1  m2 . Tuy
nhiên điều ngược lại khơng đúng.
Chứng minh: Giả thiết m1 m2 suy ra tồn tại m  M sao cho m2  mm1 .
Vì  là thứ tự từ nên 1  m  m1.1  m1.m  m1  m2 .



Điều ngược lại không đúng. Chẳng hạn xét cho thứ tự từ điển lex:
Chọn m1  x1.x2 , m2  x12 . Rõ ràng m1 lex m2 nhưng m2 không chia hết cho m1 .
1.1.5. Định lý. Cho  là một thứ tự từ và m1  m2 .
Nếu  là thứ tự từ phân bậc thì giữa m1, m2 chỉ có hữu hạn đơn thức.
Nếu  là thứ tự từ bất kỳ thì giữa m1, m2 có thể có vơ hạn đơn thức.


8
Chứng minh. Gọi n1  deg(m1 ), n2  deg(m2 )  n1 , n2 

và n1  n2

(vì nếu ngược lại n2  n1  deg(m2 )  deg(m1 )  m2  m1 trái giả thiết).
+ Nếu đơn thức m ở giữa m1 , m2 ; tức là m1  m  m2 . Khi đó
deg(m1 )  deg(m)  deg(m2 )  n1  deg(m)  n2 .

Giả sử m  x a với a  (a1 , a2 ,...an ) có

n1  deg( x a )  n2  n1  a1  a2  ...  an  n2 .
Tuy nhiên tập các bộ số mũ a  (a1 , a2 ,...an ) sao cho
n1  a1  a2  ...  an  n2

là hữu hạn nên tập các đơn thức m nằm giữa m1, m2 là hữu hạn.




+ Nếu  là thứ tự từ bất kỳ giữa m1 , m2 có thể có vô hạn đơn thức.
Thật vậy, chẳng hạn xét cho thứ tứ tự từ điển lex :
Chọn m1  x1 , m2  x13 thì m1  m2 .
Ta có m  x12 x2 n với n

thỏa mãn m1  m  m2 .


Rõ ràng m xác định như vậy là vô hạn.

1.1.6. Định lý. Cho  là một thứ tự từ sao cho x1  x2  ...  xn . Khi đó với
mọi s  2 thì x1s  x2 s  ...  xn s .
Chứng minh: Cần chứng minh x1s  x2 s . Thật vậy, chứng minh khẳng định
tổng quát hơn x1s i x2i  x1s  j x2 j , 0  i  j  s và sau đó cho i  0 và j  s .
Hay cần chứng minh

x1m1 x2 n1  x1m x2 n .
Do x1  x2 và  là thứ tự từ nên

x1 ( x1m x2 n1 )  x2 ( x1m x2 n1 )  x1m1 x2 n1  x1m x2 n .

n
1.1.7. Định lý. Cho u  (u1 , u2 ,...un )  sao cho u1, …, un là các số thực
dương độc lập tuyến tính trên

. Khi đó quan hệ u được định nghĩa như sau


là một thứ tự từ:

x a u xb khi và chỉ khi

n

n

i 1

i 1

 aiui   biui .


9
Chứng minh. Vì ui 

*


, ai 

nên u là thứ tự. Chứng minh u sắp thứ tự

tồn phần.
Ta có: x a , xb  M
+ Nếu
+ Nếu


n

n

i 1

i 1

 ai ui   bi ui thì x u x .
n

n

 bu  a u thì
i 1

+ Nếu

a

i

i

i 1

n

n


i 1

i 1

i

i

b

x b u x a .

 ai ui   bi ui : Điều này tương đương với

Do u1 , u2 ,...un  độc lập tuyến tính trên

n

 (a  b )u
i 1

i

i

, mà ai  bi  

ai  bi  0, i  1, n  ai  bi

i


 0.

nên

 a  b  x a  xb .

 x a , xb luôn so sánh được với nhau theo thứ tự u.

Vậy u là một thứ tự từ.



1.2. IĐÊAN KHỞI ĐẦU VÀ CƠ SỞ GROEBNER
1.2.1. Từ khởi đầu, đơn thức đầu. Cho  là thứ từ từ và f  R  K[x1 ,..., xn ] .
Từ khởi đầu của f , ký hiệu in ( f ) là từ lớn nhất của f đối với thứ tự từ  .
Nếu in ( f )   .x a , 0    K thì lc ( f )   gọi là hệ số đầu và lm ( f )  x a là
đơn thức đầu của f đối với thứ tự từ  .
Nếu  đã được ngầm hiểu thì viết in( f ) , lc( f ) , lm( f ) tương ứng thay cho
in ( f ) , lc ( f ) , lm ( f ) .

Từ khởi đầu của đa thức 0 xem là khơng xác định (có thể nhận giá trị tuỳ ý).
1.2.2. Tính chất. Cho f , g  R và m  M . Khi đó
(i)

in( fg )  in( f ).in( g ) .


10
(ii)


in(m. f )  m.in( f ) .

(iii) lm( f  g )  max lm( f ), lm( g ) .
Dấu < xảy ra khi và chỉ khi in( f )  in( g ) .
1.2.3. Iđêan khởi đầu. Cho I là iđêan của R và  là một thứ tự từ. Iđêan khởi
đầu của I, ký hiệu in ( I ) là iđêan của R sinh bởi các từ khởi đầu của các phần
tử của I, nghĩa là in ( I )  (in( f ) / f  I ) .
Viết in( I ) thay cho in ( I ) nếu  đã rõ.
Rõ ràng cũng có in( I )  ( lm( f )| f  I ) nên in( I ) là iđêan đơn thức.
1.2.4. Tính chất. Cho  là một thứ tự từ và I, J là hai iđêan của R. Khi đó
(i) Tập tất cả các đơn thức của in( I ) là lm( f ) / f  I  .
(ii) I là iđêan đơn thức thì in( I )  I .
(iii) Nếu I  J thì in (I ) in (J ) . Hơn nữa nếu I  J và in( I )  in( J ) thì I  J .
(iv) in( I ).in( J )  in( I .J ) .
(v) in( I )  in( J )  in( I  J ) .
1.2.5. Cơ sở Grobner. Cho  là một thứ tự từ và I là một iđêan của R.
Tập hữu hạn các đa thức khác không g1 ,..., g s  I gọi là một cơ sở Groebner
của I đối với thứ tự từ  nếu in ( I )  (in ( g1 ),..., in ( g s )) .
Tập g1 ,..., g s gọi là một cơ sở Groebner, nếu nó là cơ sở Groebner của iđêan
sinh bởi chính các phần tử này.
Cơ sở Groebner tối tiểu của I đối với một thứ tự từ đã cho là một cơ sở
Groebner G  I thỏa mãn 2 điều kiện:
(i) lc( g )  1, g  G .
(ii) g  G , không tồn tại g' G để in( g ') in( g ) .
Cơ sở Groebner rút gọn của iđêan I đối với một thứ tự từ đã cho là một cơ sở
Groebner G  I thỏa mãn 2 điều kiện:
(i) lc( g )  1, g  G .
(ii) g  G và mọi từ m của g đều không tồn tại g '  G \  g để in( g ') m .
Nhận xét: Mọi cơ sở Groebner rút gọn là cơ sở Groebner tối tiểu.



11
1.2.6. Tính chất. (i) Cho I là một iđêan tuỳ ý của R. Nếu g1 ,..., g s là cơ sở
Groebner của I đối với một thứ tự từ nào đó thì g1 ,..., g s là cơ sở của iđêan I.
(ii) Cho  là một thứ tự từ. Khi đó mọi iđêan đều có cơ sở Groebner tối
tiểu và mọi cơ sở Groebner tối tiểu của cùng một iđêan đều chung số lượng
phần tử và chung tập từ khởi đầu.
(iii) Cho I  0 . Khi đó đối với mỗi thứ tự từ, I có duy nhất một cơ sở
Groebner rút gọn.
(iv) Cho trước s là một số nguyên dương. Khi đó tồn tại iđêan I sinh tối
tiểu bởi f1 ,..., f s nhưng in( I ) thực sự chứa (in( f1 ),..., in( f s )) .
1.2.7. Định lý. Cho G  I là một cơ sở hữu hạn của iđêan I. Khi đó, G là cơ
sở Groebner của I nếu và chỉ nếu với mọi f  I , in( f ) chia hết cho in( g )
với g  G nào đó.
Chứng minh. G là cơ sở Groebner của I  in( I )  (in( g1 ),..., in( g s )) .
(với G   g1 ,..., g s  ).
Cần chứng minh in( I )  (in( g1 ),..., in( g s ))  Với mọi f  I , in( f ) chia hết
cho in( g ) với g  I nào đó.
s

+) Chiều thuận : Với mọi f  I , do I  ( g1 ,..., g s ) nên f   fi gi .
Ta có in( f )  in( I )  in( f )  (in( g1 ),..., in( g s )) .

i 1

 in( f ) chia hết cho in( g k ) với 1  k  s .




+) Chiều nghịch: Rõ ràng (in( g1 ),..., in( g s ))  in( I ) .
Với f  I , hay in( f )  in( I ) thì in( f ) chia hết cho in( g ) với g  I nào đó.
 in( f )  (in( g1 ),..., in( g s ))  in( I )  (in( g1 ),..., in( g s )) .
 in( I )  (in( g1 ),..., in( g s )) .



1.2.8. Định lý. Với mỗi đa thức f  R  K[x] , kí hiệu M(f) là tập tất cả các
đơn thức của f. Cho  là một thứ tự từ trên M. Với f , g  R ta định nghĩa

f * g  M ( f )  ' M ( g ) , nghĩa là:
- Nếu M ( f )  M ( g ) thì f * g và g * f .
- Nếu M ( f )  M ( g ) thì f * g .


12
- Nếu M ( f )  M ( g ) , sắp xếp các đơn thức của M ( f ) và M ( g ) theo thứ
tự giảm dần. Tại cặp đơn thức khác nhau đầu tiên kể từ bên trái, đa thức nào có
đơn thức bé hơn thì bé hơn.
Khi đó * là giả thứ tự tốt trên R và là mở rộng của giả thứ tự trên tập các từ
của R.
Chứng minh. Vì  là thứ tự từ nên nó là thứ tự tốt. Kiểm tra được * giả thứ tự
tồn phần. Cần chứng minh nó là giả thứ tự tốt.
Giả sử nó khơng là giả thứ tự tốt  Tồn tại tập A   gồm các đa thức trên R
và A khơng có phần tử nhỏ nhất theo giả thứ tự *.
Trên A: Gọi A1 là tập các đa thức có cùng đơn thức đầu bé nhất (điều này là
tồn tại do  là thứ tự tốt trên M). Tương tự :
Trên A1: Gọi A2 là tập các đa thức có cùng đơn thức thứ hai bé nhất (đa thức
được viết theo thứ tự giảm dần các đơn thức).
………………

Trên An: Gọi An+1 là tập các đa thức có cùng đơn thức thứ n +1 bé nhất.
Rõ ràng

A  A1  ...  An  ...

Gọi mi là đơn thức thứ i của Ai , i = 1, 2, … m1  m2  ...  mn  ...
Điều này mâu thuẫn với M(A) - tập các đơn thức của các đa thức của A là có


phần tử nhỏ nhất.

1.2.9. Định lý. Cho I là iđêan của vành R = K[x]. Trên R cố định một thứ tự từ
và cho T  in( I ) là một từ nào đó. Khi đó tập các đa thức f  I với in( f )  T
chỉ có một phần tử tối tiểu (theo giả thứ tự định nghĩa như ở Định lý 1.2.8).
Chứng minh. Theo Định lý 1.2.8 thì tập đó có phần tử tối tiểu. Bây giờ chứng
minh nó duy nhất. Thật vậy, giả sử ngược lại, tập đó có ít nhất 2 phần tử tối
tiểu khác nhau f và g. Khi đó chúng có dạng:

f  T  1 x a1   2 x a 2  ...   n x an
g  T  1 x a1  2 x a 2  ...  n x an
trong đó i , i  0, i  1, n .


13
Gọi k là chỉ số nhỏ nhất mà  k   k . Khơng mất tính tổng qt ta giả sử k  1 .
Do I là iđêan và f , g  I  1. f ,1.g  I  1. f  1.g  I .
 (1  1 )T  (11  11 ).x a1  ( 2 1  12 ).x a 2  ...  ( n 1  1 n ).x an  I

 (1  1 )T  ( 2 1  12 ).xa 2  ...  ( n 1  1 n ).xan  I .
Do 1  1  1  1  0 , và do K là một trường nên tồn tại   K sao cho


  (1  1 )1  0 .
  ((1  1 )T  ( 2 1  12 ).xa 2  ...  ( n 1  1 n ).xan )  I .


T   ( 2 1  12 ).xa 2  ...   ( n 1  1 n ).xan  I .

Điều này mâu thuẫn với f, g là phần tử tối tiểu.



1.3. THUẬT TỐN CHIA
1.3.1. Định lí.( Định lí chia đa thức). Cố định một thứ tự từ  trên M và
cho F   f1 , f 2 ,..., f s   R  K[x1 ,...,x n ] . Khi đó mọi đa thức f  R có thể viết
được dưới dạng f  q1 f1  ...  qs f s  r .
Trong đó qi , r  R thỏa mãn các điều kiện sau:
(i) Hoặc r = 0 hoặc khơng có từ nào của r chia hết cho một trong các từ
khởi đầu in(f1), …, in(fs). Hơn nữa in(r)  in(f).
(ii) Nếu qi  0 thì in(qi fi)  in(f), i =1, s .
1.3.2 Định nghĩa. Đa thức r ở trên gọi là đa thức dư (hoặc phần dư ) của f
khi chia cho F và ký hiệu là r =RemF(f).
Biểu diễn trên của f gọi là biểu diễn chính tắc của f theo f1, ..., fs.


14
1.3.3. Chú ý. Đa thức dư RemF(f) không xác định duy nhất.
Định lý được chứng minh nhờ vào thuật toán chia đa thức sau:
Tìm PHANDU ( f ; f1 ,..., f s ) : r khi chia f cho f1, …, fs.
Input: f1 ,..., f s , f : các đa thức trong K[x]
Output: q1 ,..., qs , r : các đa thức trong K[x]

q1 : 0;...; qs : 0; r : 0

p : f

WHILE p  0 DO
i : 1

Chiahet := false
WHILE i  s and Chiahet = false DO
IF in( fi ) | in( p) THEN
qi : qi  in( p) / in( f i )
p : p  (in( p) / in( fi )) fi

Chiahet := true
ELSE
i : i  1

IF Chiahet = false THEN
r : r  in( p)
p : p  in( p)

Kết quả thuật toán chia đa thức phụ thuộc vào thứ tự sắp xếp các phần tử của
F   f1 ,..., f s  . Đa thức PHANDU(f; F) xác định duy nhất và là giá trị của

RemF(f).
1.3.4. Tính chất. (i) Giả sử F ={f1, …, fs} là một cơ sở Groebner đối với một
thứ tự từ cho trước. Khi đó với mỗi đa thức f  R , đa thức dư r của phép
chia f cho hệ F (trong Định lý chia đa thức 1.3.1) là xác định duy nhất.



15
(ii) F ={f1, …, fs} là một cơ sở Groebner của iđêan I đối với một thứ tự từ
cho trước và đa thức f  I . Khi đó f  I khi và chỉ khi đa thức dư r của phép
chia f cho hệ F bằng 0.
1.3.5. Định lý. Trong Định lý chia đa thức, khi hệ đa thức chia chỉ gồm một đa
thức thì đa thức dư và do đó cả đa thức "thương" được xác định duy nhất.
Chứng minh. Gọi g là đa thức chia (giả thiết cho hệ đa thức chia chỉ gồm một
đa thức) và f là đa thức "bị chia".
Giả sử đa thức dư không xác định duy nhất, tức là tồn tại các đa thức
q1 , q2 , r1 , r2 sao cho f  qi .g  ri với i  1,2 thỏa mãn 2 điều kiện trong Định lý

chia đa thức, r1  r2 .
Ta có:

f  q1 .g  r1  q2 .g  r2  r1  r2  (q2  q1 )g .

Do r1  r2 nên r1  r2  0 .
Suy ra in(r1  r2 )  in(q2  q1 ).in(g) .
Do q1  q2 nên in(r1  r2 ) chia hết cho in( g).
(Điều này là mâu thuẫn với đơn thức của in(r1  r2 ) là đơn thức của r1 hoặc r2
nên nó khơng chia hết cho in( g) ).



CHƢƠNG 2
ỨNG DỤNG CỦA LÝ THUYẾT CƠ SỞ GROEBNER
2.1. ỨNG DỤNG CỦA LÝ THUYẾT CƠ SỞ GROEBNER TRONG BÀI
TỐN QUI HOẠCH NGUN TUYẾN TÍNH.
2.1.1. Bài tốn quy hoạch ngun tuyến tính.
Kí hiệu A  (aij )  M (d , n, ) là ma trận d dòng, n cột và các phần tử nguyên.

 x1 
 b1 
 
 
Ma trận hàng c  (c1 ,..., cn ) cấp 1 n , u   ...  , b   ...  là các ma trận cột.
b 
x 
 d  d 1
 n  n1


16
Bài tốn quy hoạch tuyến tính tổng qt n biến và d ràng buộc được phát biểu
như sau: Tìm u để hàm số f ( X )  c.u đạt giá trị cực tiểu với điều kiện
 A.u  b
.

u  0

Hay là LPA,c (b) : minimize c.u Au  b, u  0, u 

n

.

Trong đó u  0 hiểu theo nghĩa x1  0,..., xn  0 .
Phương trình ai1u1  ...  ai nun  bd được gọi là một ràng buộc. Vectơ c là giá thành.
Mỗi vectơ u 

n


thỏa mãn Au  b, u  0 được gọi là phương án (nghiệm)

chấp nhận được.
Nếu phương án chấp nhận được u0 mà tại đó c.u đạt giá trị bé nhất thì nó
được gọi là phương án (nghiệm) tối ưu.
Tích c.u0 được gọi là giá trị tối ưu của bài toán quy hoạch LPA,c (b) .
Tập tất cả phương án chấp nhận được là tập
Pb  u 

n

| Au  b, u  0 

n

.

Đây tập lồi đa diện. LPA,c (b) được gọi là bài tốn có phương án chấp nhận
được nếu Pb  0 .
Để đơn giản xét trường hợp Pb là đa diện lồi giới nội, hay gọi tắt là đa diện.
Điều đó tương đương với điều kiện

u 

n

| Au  b, u  0  0 .

Giải bài toán qui hoạch nguyên tức là giải một số hữu hạn các bài tốn qui

hoạch tuyến tính bằng cách làm nhỏ dần đi miền các phương án chấp nhận
được của các bài tốn. Ở đây khơng đi sâu vào kĩ thuật giải mà chỉ muốn giới
thiệu thuật tốn Conti-Traverso để giải nó bằng lí thuyết cơ sở Grobner.
Rõ ràng bài tốn qui hoạch ngun IPA,c (b) có phương án chấp nhận được khi
và chỉ khi
b  pos ( A)   Au | u 

n



d

.


17
Tích vơ hướng c.u là một hàm trọng số. Do đó nó xác định một thứ tự theo
trọng  c trên tập các đơn thức M của vành đa thức K[x] (K là một trường nào
đó). Tích từ điển của thứ tự theo trọng này và một thứ tự từ * nào đó được kí
hiệu là *c . Như vậy

xu *c xu '  c.u  c.u ' hoặc
c.u  c.u ' và xu * xu ' .

Xét bài toán qui hoạch nguyên sau đây:
IPA, (b) : Tìm u 
*

c


n

sao cho x u bé nhất đối với *c và Au  b .

Rõ ràng bài toán qui hoạch nguyên IPA, (b) có phương án tối ưu khi và chỉ
*

c

khi bài tốn IPA,c (b) có phương án tối ưu. Hơn nữa, nếu IPA, (b) có phương
*

c

án tối ưu thì đó là phương án tối ưu duy nhất và là phương án tối ưu của bài
toán IPA,c (b) . Do vậy cần tìm cách giải bài tốn IPA, (b) .
*

c

Kí hiệu K[t  ]=K[t1 ,t11 ,...,t d ,t d1 ] là vành đa thức Laurent. Tồn cấu của các nửa
nhóm

 :  A :

n

 posZ ( A)


u

Au

Xác định đồng cấu vành sau:

ˆ : ˆ A : K[x]  K[t  ]
xj

t

aj

Trong đó a j , j  1, n là cột thứ j của ma trận A. Hạch của ˆ :
I A  Ker (ˆ )  K[x]

được gọi là iđêan xuyến của A.
Cho u 

n

. Giá của u là tập hợp
Supp(u)  i 1  i  n, ui  0 .

Với mỗi u 

n

viết duy nhất dưới dạng u  u   u  với u  , u  


trị khơng giao nhau.

n

và có giá


18
Ker ( )  u 

Đặt

n

|  (u)  0 .

Nếu u  Ker ( ) thì xu  xu  I A .




2.1.2. Tính chất. Iđêan xuyến IA xét như không gian vectơ trên K sinh bởi tập
các nhị thức

x
Nói riêng,

u

 xu ' | u, u ' 




n

sao cho  (u )   (u ') .



I A  xu  xu | u  Ker ( ) .




và IA có cơ sở gồm các nhị thức.
Chứng minh. Rõ ràng một nhị thức xu  xu '  I A   (u)   (u ') .
Nếu đưa hết thừa số chung lớn nhất m của hai đơn thức này ra ngoài, sẽ được
xu  xu '  m( xv  xv ) , v  Ker ( )




Cần chứng minh mỗi đa thức của I A là tổ hợp tuyến tính trên K của nhị thức này.
Cố định một thứ tự  * trên K [x] . Giả sử f  I A không viết được thành
tổ hợp tuyến tính của nhị thức đó. Chọn trong số những đa thức như vậy một
đa thức f sao cho in( f )  xu bé nhất có thể có đối với thứ tự từ * . Đương
nhiên khi khai triển f (t a ,..., t a ) phải bằng 0. Nói riêng, đơn thức t  (u )  ˆ( xu )
1

n


phải bị triệt tiêu khi đơn giản biểu thức đó. Suy ra có một từ khác chứa đơn
thức x v xuất hiện trong f với  (v)   (u) và xv  *xu .
Khi đó đa thức f ': f  xu  xv  I A và f’ khơng là tổ hợp tuyến tính của các
nhị thức dạng trên. Mâu thuẫn vì in( f ')  in( f ) .



2.1.3. Định lí. Giả sử ma trận A thỏa mãn điều kiện

u 

n

| Au  0, u  0  0 .

Khi đó ln có thể giả thiết các phần tử của A không âm và mỗi cột chứa ít
nhất một phần tử khác 0.
Chứng minh. Nếu biến x j nào đó xuất hiện trong một ràng buộc với dấu âm,
tức là cột a j chứa một phần tử âm, thì đưa thêm biến x j ' và ràng buộc


19
xj  xj '  0

(1)

Đồng thời trong tất cả các biến ràng buộc, thay những biến x j có hệ số âm
bằng x j ' và đổi dấu các hệ số. Đưa tất cả các ràng buộc mỗi dạng (1) xuống
dưới, mở rộng b và c bằng cách thêm 0 vào các thành phần tương ứng với các

ràng buộc mới và biến mới để nhận được b’ và c’. Khi đó bài tốn qui hoạch
ngun mới IPA',c ' (b ') tương đương với bài toán qui hoạch nguyên ban đầu.
Ma trận A’ rõ ràng có tất cả các phần tử nguyên không âm.
Nhận xét rằng, nếu biến x j ' được đưa thêm vào thì do ràng buộc (1) cả hai
cột ứng với cặp biến ( x j , x j ') đều khác 0. Do đó, nếu A’ có một cột là vectơ 0 thì
ma trận A ban đầu có một cột a j bằng 0. Lấy u là vectơ có tất cả các thành phần

ui  0, i  j và u j 

tùy ý. Khi đó Au  0 . Điều này mâu thuẫn giả thiết.



Từ bây giờ trở đi, giả sử A thỏa mãn định lí 2.1.3. Kí hiệu d j là tổng của
các phần tử của vectơ cột a j của A. Như vậy d1 ,..., dn  0 . Trên vành K[x] xét
cấu trúc phân bậc cho bởi deg( x j )  d j , tức là
deg( xu )  d1u1  ...  dnun .

2.1.4. Tính chất. Với cấu trúc phân bậc trên K[x] cho bởi deg( x j )  d j , nếu

 (u)   (v) thì deg( xu )  deg( xv ) .
Nói riêng, I A là iđêan thuần nhất .
Chưng minh. Ta có:
n

d

d

n


j 1

i 1

i 1

j 1

d

n

i 1

j 1

n

d

j 1

i 1

deg( xu )  d1u1  ...  dnun   ( ai j )u j   ( ai j u j )
=

 ( a


ij

v j ) (theo giả thiết)

  ( ai j )v j = deg( xv ) .

I A là iđêan thuần nhất được suy ra từ tính chất 2.1.2.




20
2.1.5. Định lí. Xét cấu trúc phân bậc trên K[x] cho bởi deg( x j )  d j . Tồn tại
c’ với các phần tử dương sao cho:
(i) Nếu m và m’ là hai đơn thức cùng bậc thì m c* m ' khi và chỉ khi

m c '* m ' . Do đó, nếu f là đa thức thuần nhất, thì in ( f )  in ( f ) .
*
c

*
c'

(ii) Với mọi iđêan thuần nhất I của vành K[x] đều có
in ( I )  in ( I ) .
*
c

*
c'


Chứng minh. Lấy  nguyên dương đủ lớn sao cho
c ': c   (d1 ,..., dn )

có tất cả các thành phần dương. Ta chứng tỏ c ' này thỏa mãn kết luận của
mệnh đề.
(i) Ta có:

n

n

n

i 1

i 1

i 1

c '.u   ci' .ui   ci .ui    di .ui  c.u   deg( xu ) .

Do đó, nếu deg( xu )  deg( xv ) thì xu c* xv khi và chỉ khi xu c '* xv
(ii) Trường hợp 1: Nếu f  I thuần nhất thì theo (i) ta có
in ( f )  in ( f ) .
*
c

*
c'


Trường hợp 2: Nếu f  I không thuần nhất. Viết f  f1  ...  f r thành
tổng các thành phần thuần nhất (bậc khác nhau). Vì I thuần nhất nên
f1 ,..., f r  I . Do các đơn thức của f i và f j không triệt tiêu được cho nhau và

thứ tự  c* là thứ tự toàn phần, nên in ( f ) là một từ của f j nào đó và trùng
*
c

với in ( f j ) . Tức là ta có:
*
c

in ( f )  in ( f j )  in ( f j )  in ( I ) .
*
c

*
c

*
c'

Suy ra

in ( I )  in ( I ) .

Tương tự ta có

in ( I )  in ( I ) .


*
c

*
c'

*
c'

*
c'

*
c



2.1.6. Định lí. Xét cấu trúc phân bậc trên K[x] cho bởi deg( x j )  d j . Đối với
thứ tự  c* , các điều khẳng định sau đây đúng:


21
(i) Cho f , f1 ,..., f s là các đa thức thuần nhất và deg( f )  d . Khi đó tồn
tại các đa thức thuần nhất q1 ,..., qs , r sao cho
f  q1 f1  ...  qs f s  r

thỏa mãn các điều kiện của định lí chia đa thức 1.3.1, và
deg(q1 f1 )  ...  deg(qs f s )  deg(r )  d .


(ii) Nếu f, g là hai đa thức thuần nhất thì

S ( f , g )  mgf . f  m fg .g với

m fg 

in( f )
.
UCLN (lm( f ), lm( g ))

mgf 

in( g )
.
UCLN (lm( f ), lm( g ))

cũng thuần nhất.
Đặc biệt, trong q trình thực hiện thuật tốn chia đa thức 1.3.3 cũng
như tính S ( f , g ) (áp dụng đối với  c* ), kết quả sẽ không thay đổi nếu thay

 c* bằng thứ tự từ  c '* .
Chứng minh. Ở đây kí hiệu in thay cho in .
*
c

(i) Cần chứng minh tại mỗi bước của thuật toán 1.3.3, qi là đa thức thuần
nhất bậc d  deg( fi ) và p, r là các đa thức thuần nhất bậc d.
Tại bước khởi đầu qi  0, r  0 và p  f điều khẳng định đúng.
Khi một trong hai đa thức thay đổi, có 2 trường hợp xảy ra:
Trường hợp 1: in( p) chia hết cho in( fi ) thì giá trị mới của qi là

qi '  qi  in( p) / in( fi ) .

Từ in ( p) / in ( fi ) có bậc là d  deg( fi )  deg(qi ) . Do đó qi ' là đa thức
*
c

*
c

thuần nhất có bậc là d  deg( fi ) .
Giá trị mới của p là p '  p  (in( p) / in( fi )) fi .
Do p là đa thức thuần nhất bậc d và f i là đa thức thuần nhất nên p’ cũng là đa
thức thuần nhất bậc d.


22
Trường hợp 2: in( p) không chia hết cho in( fi ) thì các q j khơng thay đổi, cịn
các giá trị mới của p, r tương ứng là p '  p  in( p) và r '  r  in( p) .
Theo giả thiết qui nạp suy ra p, r là các đa thức thuần nhất bậc d.


(ii) Được suy ra từ định lí 2.1.5(i).

2.1.7. Hệ quả 1. Tồn tại cơ sở Groebner GC của IA đối với thứ tự  c* bao gồm
một số hữu hạn nhị thức dạng

x

u




 xu | u  Ker ( ) .


2.1.8. Hệ quả 2. Cho m là đơn thức trong K[x]. Khi đó PHANDU(m, GC) đối
với thứ tự  c* cũng là đơn thức.
2.1.9. Định lí. (Conti-Traverso). Cho A là ma trận d dịng, n cột với các phần tử
khơng âm, c 

n

, b  pos ( A) . Giả sử GC là một cơ sở Groebner của I A đối

với thứ tự  c* chỉ bao gồm các nhị thức và u là một phương án chấp nhận được
(tức là u  PbI

n

). Gọi xu  PHANDU ( xu ; GC ) là đa thức dư của xu khi chia
o

cho GC. Khi đó uo là phương án tối ưu của bài tốn qui hoạch IPA, (b) .
*
c

Chứng minh. Vì u  PbI

n


 u  PbI  Au  b .

Do x u là đa thức dư của x u , nên xu  xu  I A .
o

o

Suy ra 0  ˆ ( x  x o )  t
u

u

Au

 t Au . Tức là Auo  Au  b .
o

Do đó uo là phương án chấp nhận được của bài toán qui hoạch IPA, (b) .
*
c

Giả sử tồn tại u* là phương án chấp nhận được của IPA, (b) sao cho xu* *c xu .
o

*
c

Khi đó theo tính chất 2.1.2 ta có

m  x u  x u*  I A .

o

Suy ra

in(m)  xu .
o

Vì GC là một cơ sở Groebner của I A nên in(m)  xu phải chia hết cho một từ
o

khởi đầu nào đó của GC . Điều này mâu thuẫn với tính chất x u là đa thức dư.
o


23


Vậy uo là phương án tối ưu của bài toán qui hoạch IPA, (b) .
*
c

2.1.10. Định lí. (Conti-Traverso). Cho A là ma trận d dòng, n cột với các
phần tử khơng âm và khơng có cột nào tồn 0. Cho c 

n

, b  pos ( A) .

Xét iđêan


J  ( x1  t a ,...xn  t a )  K[t1 ,..., td , x1 ,..., xn ] .
n

1

Chọn thứ tự từ khử  *' đối với tập biến t1 ,..., td

sao cho

t ,..., t   *'x ,..., x  ,và khi hạn chế trên K[x] thì nó trùng với thứ tự từ
1

n

1

n

*c '

xác định trong 2.1.5. Giả sử G là một cơ sở Groebner của J đối với thứ tự từ
đó và chỉ bao gồm các nhị thức. Biểu diễn phần dư của đa thức tb trong phép
chia cho các đa thức thuộc G dưới dạng
PHANDU (t b : G)  t  xu .
o

Khi đó:
(i) Nếu   0 thì uo là phương án tối ưu của bài toán IPA,c (b) .
(ii) Nếu   0 thì IPA,c (b) khơng có phương án chấp nhận được.
Chúng minh. Xét đồng cấu vành


 : R : K[t1 ,..., td , x1,..., xn ]  K[t1,..., td ]
ti

ti (i  1,..., d )

xj

t ( j  1,..., n) .
aj

Khi đó, J  ( x1  t a ,...xn  t a )  Ker ( ) .
1

n

(i) Nếu   0 thì t b  xu  J . Do đó
o

0   (t b  xu )  t b  t Au .
o

o

Suy ra Auo  b , hay uo là phương án chấp nhận được.
Mặt khác, G

K[x] là cơ sở Groebner của IA đối với thứ tự từ  c '* và chỉ bao

gồm các nhị thức. Như vậy GC : G


K[x] cũng sinh bởi các nhị thức thuần nhất.


24
Vì GC  G nên x u là phần dư của G khi chia cho GC . Hơn nữa, trên
o

K [x] có thể thay  c '* bởi  c* . Điều này có nghĩa GC là cơ sở Groebner của IA
đối với thứ tự từ  c* ( theo hệ quả 2.1.7).
Do đó theo định lí 2.1.9, uo là phương án tối ưu của bài toán IPA, (b) .
*
c



Suy ra, uo là phương án tối ưu của bài toán IPA,c (b) .

(ii) Giả sử   0 và u là phương án chấp nhận được của bài toán IPA,c (b) .
Khi đó

 (t b  xu )  t b  t Au  0  t b  xu  J .


t b  xu  (t b  t  xu )  (t  xu  xu ) và t b  t  xu  J .

nên

m  (t  xu  xu  J .


o

o

o

o

Do thứ tự

 *'

là thứ tự khử đối với tập biến t1 ,..., td và

ti  *' x j , i, j

nên

in(m)  t  xu . Suy ra đơn thức này phải chia hết cho một từ khởi đầu nào đó
o

của một phần tử trong G. Điều này mâu thuẫn với tính chất của đa thức dư.
Vậy u khơng phải là phương án chấp nhận được của bài toán IPA,c (b) .



Định lí trên có thể dễ dàng thuật tốn hóa. Dưới đây các tính tốn được chọn theo thứ
tự từ thỏa mãn định lí trên. Biến LG nhận giá trị trong tập hợp
Nếu KL


n

n

{vơ nghiệm}.

thì đó là một phương án tối ưu.

Nếu KL = {vơ nghiệm} thì bài tốn qui hoạch ngun khơng có phương án
chấp nhận được.
Thuật tốn Conti-Traverso: Xét xem bài tốn IPA,c (b) có phương án khơng ?
Nếu có cho phương án tối ưu LGTU( IPA,c (b) ) := KL
Input: a1 ,..., an ; b : các vectơ cột trong
Output: KL
FOR 1  j  t DO
f j : x j  t

aj

G : CSGR( f1 ,..., f n )

d


25

t  xu : PHANDU(t b ; G)
IF   0 THEN KL : u ELSE KL : “vơ nghiệm”.
Ví dụ. Giải bài toán qui hoạch nguyên sau:
minimize x1  5x2  5x3  x4


với điều kiện
 x1  x2 

x2 






x3  x4  x5  25
2 x3  x4

 34

x3  2 x4  x5  18
x1 ,x2 ,x3 ,x4 ,x5  0

Sử dụng Maple để tính theo thuật toán được kết quả như sau:
Kết quả khi chạy trên Maple:
> with(Ore-algebra):
>A:=poly-algebra (t_1,t_2,t_3,x_1,x_2,x_3,x_4,x_5):
> T:=termorder(A,’matrix’([[1,1,1,0,0,0,0,0],
[1,0,0,0,0,0,0,0],[0,1,0,0,0,0,0,0],[0,0,0,1,5,5,1,0],
[0,0,0,0,1,0,0,0],[0,0,0,0,0,1,0,0],[0,0,0,0,0,0,1,0],
[0,0,0,0,0,0,0,1]],[t_1,t_2,t_3,x_1,x_2,x_3,x_4,x_5])):
> J:=[x_1-t_1,x_2-t_1*t_2,x_3-t_1*t_2^2*t_3,
x_4-t_1*t_2*t_3^2,x_5-t_1*t_3]:
> G:= gbasis(J,T);

Kết quả tính toán cho cơ sở Grobner như sau
G

:= [  x12 x42  x53 x3 ,x52 x2  x12 x4 ,  x5 x3  x2 x4 ,
 x22 x5  x12 x3 ,  x5  t3 x1 ,  x1 x42  t3 x53 x3 ,
t3 x2 x5  x1 x4 ,  x1  t1 ,  x42  t32 x3 x5 , t32 x2  x4 ,  x3  t2t3 x2 ]

> q:=normalf(t_1^25*t_2^34*t_3^18,G,T);
Kết quả tính tốn cho đa thức dư
q : x17 x317 x5 .