Thuật toán rút gọn giải hệ phương trìnhlogic mở rộng Tóm tắt Hệ phương trình logic mở rộng được xem xét trong bài báo này phụ thuộc vào số lượng hạn chế các biến.. Có ba kĩ thuật rút gọn
Trang 1Trường Đại Học Công Nghệ Thông Tin
TIỂU LUẬN MÔN HỌC TOÁN CHO KHOA HỌC MÁY TÍNH
THUẬT TOÁN RÚT GỌN GIẢI HỆ PHƯƠNG TRÌNH
LOGIC MỞ RỘNG
DỰA TRÊN TÀI LIỆU:
Reduction algorithms for solving large
systems of logical equations
A Zakrevskij
GVHD: PGS TS NGUYỄN PHI KHỨ HVTH: NGUYỄN MINH PHÁT
MSHV: CH1301047
TP HỒ CHÍ MINH Tháng 12/2013
Trang 2MỤC LỤC
Tóm tắt 3
1 Giới thiệu 3
2 Hình thành công thức cho bài toán 4
3 Phương pháp phân bố hằng 4
4 Phương pháp tam đoạn luận 5
4.1 Hệ P đóng 6
4.2 Tìm tất cả số nguyên tố bans 8
4.3 Thuật toán rút gọn bằng tam đoạn luận 8
5 Phương pháp rút gọn cục bộ 8
5.1 Ví dụ 9
5.2 Thuật toán 10
6 Kết luận 11
Trang 3Thuật toán rút gọn giải hệ phương trình
logic mở rộng
Tóm tắt
Hệ phương trình logic mở rộng được xem xét trong bài báo này phụ thuộc vào số lượng hạn chế các biến Một phương pháp rút gọn được đề xuất để giảm số nghiệm trong
phương trình riêng biệt, tiết kiệm thời gian tìm nghiệm cho hệ thống Có ba kĩ thuật rút gọn được đề xuất, mỗi biện pháp tìm nghiệm ngăn chặn sự kết hợp các biến trong các phương trình riêng (các kết hợp không thỏa mãn phương trình) Thủ tục tìm kiếm cho hằng số đầu tiên (ngăn chặn giá trị của một vài biến hay 1-bans) Thủ tục tìm kiếm thứ hai cũng ngăn chặn sự kết hợp của mỗi cặp biến (2-bans) và tìm tất cả hệ quả đóng hợp lý của chúng với tập phát hiện 2-bans Thứ ba là phân tích các phương trình bằng các cặp biến, tìm các biến chung r và kiểm tra từng bước một tất cả các sự kết hợp các giá trị khác nhau với sự giới hạn các biến (r-bans) Việc tìm ra bans được dùng để xóa một vài nghiệm trong các phương trình khác Sau khi bans mới này có thể được tìm thấy, các thủ tục rút gọn có chuỗi tự nhiên Nó là cách dễ nhất để giải quyết hệ phương trình logic lớn Đôi khi
nó chỉ đủ để tìm một vài nghiệm của hệ hay chứng minh tính không nhất quán của nó
1 Giới thiệu
Nhiều bài toán có liên quan đến phân tích, thiết kế logic (cả trong y học và công nghệ), nhận dạng mẫu, bảo mật thông tin và nhiều lĩnh vực khác đã được biến đổi công thức và giải hệ phương trình logic lớn Việc này khó khăn hơn bởi vì một hệ thống có thể
có nhiều phương trình và biến, vì vậy không thể giải chúng bằng các phương pháp trực tiếp mà chỉ dựa trên việc tìm trong không gian Bool của các biến và kiểm tra từng phần tử một
Tuy nhiên, quy tắc của các biến trong các phương trình riêng thì cực kì hạn chế, ví
dụ như nó không thể vượt quá 10 Điều này cho phép biểu diễn mỗi phương trình bởi một vec-tơ Bool của các nghiệm của phương trình, cung cấp một mô tả ngắn gọn đối với hệ thống và hiệu quả ứng dụng của các phép toán vectơ logic
Điều đáng quan tâm nhất từ quan điểm thực tế là trường hợp hệ có một vài nghiệm hoặc không có nghiệm nào Trường hợp này là điển hình cho việc kiểm tra một hệ có khả năng thỏa mãn hay không (một tác vụ phổ biến!) và giải một vài bài toán phân tích, nhận diện Kĩ thuật cây tìm kiếm có thể được sử dụng trong trường hợp này, đặc biệt có ý nghĩa mới khi kết hợp với việc giảm không gian tìm kiếm một cách mạnh mẽ
Có ba thuật toán tương tranh thuộc loại này được đề xuất trong bài báo này
2 Hình thành công thức cho bài toán
Mỗi phương trình logic với biến Bool có dạng rút gọn sau:
Trang 4F = (ϕ1(u1) = 1, ϕ2(u2) = 1, , ϕm(um) = 1),
Trong đó ϕi(ui) là hàm Bool với đối số được chọn từ tập x = (x1,x2, ,xn) : ui ⊆ x,
i = 1,2, ,m Để giải hệ F nghĩa là tìm các nghiệm của nó bằng cách kết hợp các giá trị của các biến x1,x2, ,xn, mà trả về 1 đối với mỗi hàm ϕi Nó là cần thiết trong một vài trường hợp để thu được tất cả các nghiệm, đôi khi chỉ có thể tìm một vài nghiệm hay thậm chí một nghiệm tùy ý trong số chúng, đôi khi nó là cần thiết để biết nếu có tồn tại một vài nghiệm, ví dụ giải bài toán một cách rõ ràng với điều kiện thỏa mãn
Ta có thể biểu diễn bất kì hàm Bool ϕi với k đối số (k = |ui|) từ hệ F bởi một cặp vectơ Bool: 2k vectơ thành phần vi của các giá trị hàm (sử dụng thứ tự quy ước) và n vectơ thành phần ai của các đối số hàm Ví dụ, nếu x = (a,b,c,d,e,f,g,h), thì cặp vectơ v3=
01101010 và a3= 00101001 biểu diễn hàm ϕ3(c,e,h) mà nó nhận giá trị 1 trên bốn tập con
001, 010, 100 và 110 của các giá trị đối số và nhận giá trị 0 ở các trường hợp khác
Khi n nhỏ (bằng 10), sự biểu diễn tất cả các hàm ϕi có thể được thống nhất thông qua mỗi hàm chức năng với biến x (như là một sự minh họa) và tương ứng với vec tơ mở rộng vi Sau khi hoàn thành giải pháp của hệ thống một cách dễ dàng nhờ vào các liên kết giữa các thành phần thông minh của các vectơ mở rộng này: tất cả các nghiệm sẽ được liệt
kê trong vectơ kết quả v Nhưng phép toán này không thể thực hiện được trong thực tế nếu n lớn, khi độ dài của vectơ v sẽ vượt quá 1018 khi n = 60
Một phương pháp mới có thế được sử dụng trong trường hợp này, dựa trên một thủ tục rút gọn được mô tả bên dưới
3 Phương pháp phân bố hằng
Quy tắc chuyển đổi tương đương của hệ F được giới thiệu bên dưới, trong đó ϕj là một hàm tùy ý lấy từ F và một vài biến xi lấy từ X Các quy tắc này để đơn giản F với tập nghiệm lưu giữ
Khẳng định 1 Nếu xiϕj= 0, bất đẳng thức với xi ≠ 1 có thể được thêm vào F, nếu x’iϕj= 0, thì xi ≠ 0 có thể được thêm
Khẳng định 2 Nếu F chứa bất đẳng thức xi ≠ 1, thì biến xi trong ϕj có thể được thay đổi giá trị 0 ( 1 trong trường hợp xi ≠ 0)
Khẳng định 3 Nếu hệ F chứa cả hai bất đẳng thức xi ≠ 1 and xi ≠ 0, thì không nhất quán (không có nghiệm)
Khẳng định đầu tiên có thể được dùng để tìm hằng số của hệ Nếu hệ hiển nhiên nhất quán, xi = 0 khi xi ≠ 1 và xi = 1 khi xi ≠ 0 Xác suất để tìm một vài hằng số trong hệ tăng lên với sự giảm số lượng biến và nghiệm trong việc phân tích phương trình
Trang 5Khẳng định thứ hai có thể được sử dụng cho việc phân bố các hằng Thay thế một vài biến bằng hằng số thông dụng để giảm số lượng nghiệm đối với phương trình mà nó trả về, giúp ích cho việc khám phá ra các hằng số mới Vì vậy, quá trình phân bố hằng là một chuỗi tự nhiên Kết quả là kích thước của phương trình giảm xuống, đôi khi giảm đến không khi tất cả các biến của phương trình nhận giá trị xác định Nếu hàm ϕj nhận giá trị
1, tương ứng với phương trình bị xóa khỏi hệ thống; Nếu ϕj nhận giá trị 0, thì hiển nhiên là
hệ thống không nhất quán
Phương pháp này đơn giản nhưng hiệu quả, và được áp dụng cho một số bài toán
mã hóa Một bài toán áp dụng kĩ thuật giải mã đặc biệt đối mật mã máy Hagelin M-209-B,
đã được áp dụng trong một vài dạng bởi Germans trong suốt thế chiến thứ hai, và trong điều tra [3] Điều đó chỉ ra rằng các hệ giải mã có thể được rút gọn để giải nhiều hệ
phương trình logic xác định (khoảng 500) với mỗi phương trình chứa sáu biến Bool, trong khi đó số lượng biến tổng quát bằng 131 – tập các giá trị có liên quan đến việc tìm khóa
Để giải hệ này một phương pháp được đề xuất trong [3] dựa trên việc sử dụng Biểu đồ
quyết định nhị phân có thứ tự rút gọn (Reduced Ordered Binary Decision Diagrams (ROBDDs)) [4] cho việc biểu diễn các hàm Nó được cài đặt trên hệ máy tính Pentium
Pro 200 cho thấy máy có thể phỏng đoán tìm ra khóa chỉ trong một vài phút
Việc áp dụng phương pháp phân bố hằng số sử vectơ biểu diễn hàm Bool và áp dụng vào việc giải thích đối với hệ phương trình logic được chỉ rõ thì hiệu quả hơn nhiều
Nó tăng tốc quá trình tìm kiếm khóa hơn hàng ngàn lần: thời gian chạy để giải quyết một bài toán khó thì không vượt quá 0.1 giây trong một chuỗi thực nghiệm sử dụng C++ và hệ máy Pentium 100 [5]
4 Phương pháp tam đoạn luận
Phương trình ϕ(z1,z2, ,zk) = 1 với hàm ϕ nhận giá trị 1 dựa trên các đầu vào s được chọn ngẫu nhiên Khi s nhỏ, có thể tìm một vài hằng số – chặn trên giá trị một vài biến (a ban of rank 1, hay 1-ban) Nhưng rất có thể để lộ ra chặn trên một số sự kết hợp các giá trị của 2 biến(2-ban), mà xác định tương ứng với gợi ý thông thường, hoặc liên kết giữa những biến này Ví dụ, “Nếu a, thì không b” không cho phép sự kết hợp các giá trị a = 1,
b = 1 Điều này có thể cho thấy ϕ nếu abϕ = 0 Để thuận tiện, việc biểu diễn ban này bằng
tích ab (chú ý trường hợp ab = 0)
Tương tự, 2-bansab’, a’b, a’b’ được định nghĩa Chúng được hiểu như một phạm trù phân loại khẳng định hay phủ định chung Bên canh ba nhận định tam đoạn luận của Aristotle (ab’– tất cả phần tử A thuộc B, a’b – tất cả phần tử B thuộc A, ab – không phần
tử nào của A thuộc B), quy tắc thứ tư được sử dụng: a’b’– không có đối tượng nào thuộc
A và cũng không thuộc B Một nhận định không được xem xét bởi Aristotle, vì ông ấy không quan tâm đến các lớp rỗng [6]
Trang 6Có thể một vài biến thứ hạng r (chứa biến r) là đủ lớn nếu kì vọng toán học M của
số lượng bans thì không nhỏ hơn 1: M ≥ 1 Tính toán bởi công thức
[7], giảm đến k/2s−1 cho 1-bans và giảm đến
2k(k − 1)(3/4)s cho 2-bans Tương ứng với công thức điều kiện M ≥ 1 thỏa mãn với số
lượng hạn chế các biến (k) và đặc biệt các nghiệm (s) trong phương trình ϕ(z1,z2, ,zk) = 1,
và hạn chế này được xem xét khi so sánh 2-bans với 1-bans (Giả định rằng các nghiệm
được sinh ra một cách ngẫu nhiên) Vì thực tế có k giá trị được quan tâm (từ 5 đến 10) chúng được tính toán từ công thức đã cho và biểu diễn dưới bảng sau Tồn tại giá trị lớn
nhất thỏa mãn điều kiện M ≥ 1 cho 1-bans (s1
max) và 2-bans (s2
max) Quan hệ tham số giá trị
s đã cho trước với 2-bans bởi xâu cuối:
s2
max% = 100s2
max/2k)
Theo bảng này khi k nhỏ vẫn có thể tìm được thậm chí trong trường hợp tỷ lệ có nghiệm đối với các phương trình cao hơn
4.1 Hệ P đóng
Giả sử, bằng phương trình kiểm tra chi tiết hệ F, chúng ta có thể tìm một tập P của
2-bans Chúng ta sẽ xem xét các tác vụ đóng, ví dụ bổ sung thêm tất cả 2-bans khác một
cách logic suy từ hệ P (được gọi là phép rút gọn của P) Tác vụ này tương đương với bài
toán tam đoạn luận phức Kí hiệu kết quả tập đóng của 2-bans là Cl(P) Một phương pháp
tìm nó được đề xuất bên dưới Nó khác với giải pháp rõ ràng ở [8] và lối giải thích bằng
đồ thị [9] bằng cách áp dụng các toán tử vectơ ma trận để tăng tốc suy luận logic
Cho X1
t and X0
t là tập tất cả tịnh tiến vào 2-bans trong F lẫn nhau tịnh tiến với xt
hay x’t, một cách tương ứng Tác giả giới thiệu toán tử Clt của tập đóng riêng P với biến
xt, mở rộng tập này bằng cách thống nhất nó với tích trực tiếp X1 × X0
t chứa kết quả của tất cả các giải pháp có thể bằng biến này
Khẳng định 4 Clt(P) = P ∪ X1
t × X0
t ⊆ Cl(P)
Khẳng định 5 Cl(P) = Cl1Cl2 Cln(P)
Tập P có thể được khép kín với các biến riêng biệt từng biến một
Tập P có thể được biểu diễn bởi một ma trận Bool bình phương P với kích thước 2n x 2n, với các hàng pt1,pt0 và các cột pt1,pt0 tương ứng với các tịnh tiến xt,x’t,t = 1,2, ,n
Trang 7Các phần tử của ma trận P tương ứng với các cặp ngữ nghĩa, và các phần tử không chéo
nhau có giá trị 1 biểu diễn rõ 2-bans Vì vậy tổng của 1s trong hàng pt1(cũng như trong cột
pt1) biểu thị qua tập X1
t, và tổng của 1s trong hàng pt0 (cột pt0) biểu thị qua tập X0
t Sử dụng các phép toán vectơ, chúng ta có thể xây dựng ma trận P+, trình bày kết quả của phép toán đóng: P+= Cl(P)
Ví dụ, nếu x = (a,b,c,d) và 2- bans ab’, ac, a’d’, bc’ được tìm với tập P, thì
– hệ quả bans được đánh dấu trong ma trận P+ biến ký tự tương ứng với giải pháp được thực thi
Tập đóng Cl(P) có thể dựa trên việc tăng cường thuật toán khai triển P: mỗi lần khi 2-ban mới p được bổ sung bởi một toán hạng đặc biệt ins(p,P) tất cả đều rút gọn kể cả P Trong trường hợp đó sau mỗi bước tập P vẫn đóng: P = Cl(P)
Phép toán ins(p,P) được định nghĩa như sau
Khẳng định 6 Nếu P = Cl(P), thì Cl(P ∪ {p}) = P ∪ D, điều kiện
D = ({x} ∪ X0) × ({y} ∪ Y0), nếu p = xy,
D = ({x} ∪ X0) × ({y’} ∪ Y1), nếu p = xy’,
D = ({x’} ∪ X1) × ({y} ∪ Y0), nếu p = x’y,
D = ({x’} ∪ X1) × ({y’} ∪ Y1), nếu p = x’y’
4.2 Tìm tất cả số nguyên tố bans
Xem xét bài toán tìm tất cả số nguyên tố bans (không theo một cách khác) được suy diễn
từ hệ P Không có tập 2-bans nào có thể sinh ra bất kỳ bans cấp cao hơn Nhưng có thể sinh ra một vài 1-bans, ngăn chặn các giá trị xác định của các biến riêng.
Khẳng định 7 Tất cả 1-bans được suy diễn từ tập P được biểu diễn bởi 1đường chéo
chính của ma trận P+
Trang 8Ví dụ 1-bans a và d’ được biểu diễn theo cùng một cách.
Khẳng định 8 Nếu cặp 1-bans x và x’ được tìm thấy trong một vài biến x, thì hệ F không
nhất quán
Chú ý rằng sự không nhất quán của F theo sự không nhất quán của P, nhưng không ngược lại
4.3 Thuật toán rút gọn bằng tam đoạn luận
Phương pháp được đề xuất với tập phương trình logic F, rỗng ở giai đoạn đầu Kiểm tra phương trình theo một chu trình, rút gọn tập nghiệm của phương trình hiện tại fj
= 1 bằng cách xem xét liệt kê bans trong P (hạn chế các nghiệm bị xóa) và tìm kiếm cho 2-bans mới không tồn tại trong P bans này được bổ sung vào P, tại cùng một thời điểm
toán tử của P đóng được thực hiện Bằng cách này một vài biến có thể nhận giá trị duy nhất - 1s xuất hiện trên đường chéo chính của ma trận P (1-bans được tìm thấy) Thủ tục kết thúc khi có mâu thuẫn xảy ra (0-ban được phát hiện biểu diễn bởi một cặp 1s trên đường chéo chính của P) hay khi xử lý m phương trình từng bước một mà không thành công – trong trường hợp này tác giả thu được một hệ phương trình rút gọn tương đương với ban đầu
5 Phương pháp rút gọn cục bộ
Đề nghị đầu tiên cho phương pháp này [10] có tính cục bộ Nghĩa là khả năng thu gọn được xem xét khi kiểm tra những cặp hàm khác nhau ϕi(ui) và ϕj(uj) với tập giao điểm của các đối số:
ui,j= ui ∩ uj ≠ ∅
Xét tập kí tự Mi của hàm ϕi(ui) trong không gian các đối số từ tập ui, và a là một yếu tố ngẫu nhiên bất kì: a ∈ Mi Kế đến là a k-phần véc-tơ Bool Với k là số lượng đối số của hàm ϕi(ui): k = |ui| v là tập con tùy ý từ ui(v ⊆ ui) và a/v – phép chiếu của phần tử a trên v,
ví dụ: vec-tơ kết hợp các thành phần của vec-tơ a tương ứng với các biến trong tập V.
Tập tất cả các phép chiếu khác nhau của các phần tử từ Mi lên V được gọi là phép chiếu của tập Mi trên V và kí hiệu là Mi/v Gọi Mi,j là giao của các tập Mi/ui,j và Mj/ui,j, và
Mi/j – tập tất cả các phần tử từ Mi ánh xạ trên ui,j thuộc về tập Mi,j
Ví dụ, Nếu ui = (a,b,c,d,e), uj = (c,d,e,f,g,h), Mi = (01101,11010,10011) và
Mj=(101110,001101,010010), thì ui,j=uj,i = (c,d,e), Mi,j = Mj,i = (101,010), Mi/j=
(01101,11010) và Mj/i= (101110,010010)
Để thuận tiện, đưa vào kí hiệu phép toán Mi:= Mi/j của biến đổi Mi cho Mi/j
Khẳng định 9 Cho bất kỳ i,j = 1,2, ,m phép toán Mi := Mi/j là một biến đổi tương đương của hệ F, dành riêng cho tập gốc của nó
Trang 9Việc áp dụng phép toán như đã cho ở ví dụ trên rút gọn mỗi tập Mi và Mj bởi một phần tử.
Phép gán Mi:= Mi/j được áp dụng đến từng cặp hàm thứ tự (ϕi,ϕj) nếu Mi ≠ Mi/j Xác suất có thể ứng dụng của nó tăng lên với sự tăng dần các yếu tố |ui,j| trong tập ui,j và giảm xuống khi |ui,j| giảm Trong một vài trường hợp thì cao hơn khi |Mj| < 2s, điều kiện s = |ui,j|
Bây giờ xem xét thủ tục thực hiện dãy phép toán này trên các cặp mà nó có thể được áp dụng Việc này có thể kết thúc với sự thu gọn một vài tập Mi giảm xuống thành tập rỗng, có nghĩa là hệ F không nhất quán, hay một vài tập hợp của hàm thu gọn sẽ được phát hiện với điều kiện phép toán đã cho không được áp dụng đến bất kì cặp nào Thủ tục này gọi là sự rút gọn cục bộ của hệ F
5.1 Ví dụ
Một hệ F gồm có ba phương trình ϕ1(a,b,c,d) = 1, ϕ2(c,d,e,f) = 1 và ϕ3(e,f,g,h) = 1 được
biểu diễn bởi hai ma trận Bool: ma trận các đối số A xác định phân bố các đối số qua các hàm, và ma trận của các hàm F với mỗi hàm được xác định tương ứng hàng giá trị tại các
đầu vào (tổ hợp các giá trị đối số) Chú ý các đầu vào được sắp thứ tự từ trái qua phải bằng dãy nhị phân – ví dụ, đầu vào 1001 tương ứng với thành phần thứ chín của chuỗi
(đánh số bắt đầu từ 0) Các đầu vào này được biểu diễn bởi cột của ma trận hằng số C, các thành phần của chúng được đánh số từ trái sang phải: c1c2c3c4 Mỗi hàng của C biểu
diễn hàm đơn giản nhất trùng khớp với một trong các đối số
Ví dụ, hàm ϕ1 nhận giá trị 1 tại các đầu vào 0010, 0101 và 1001 – kết hợp các giá trị của các đối số a,b,c,d
5.2 Thuật toán
Tác giả chứng minh thuật toán rút gọn cục bộ dựa vào các ví dụ đã cho ở trên của
hệ F Đối với sự thành công cặp các hàm, bắt đầu với (ϕ1,ϕ2) Việc dùng phép toán liên kết
thành phần tốt tương ứng với các hàng của ma trận A, chúng ta tìm ra cặp đối số chung c
và d Duyệt qua tất cả các giá trị của các biến này, chúng ta kiểm tra định nghĩa trong không gian các đối số của hàm ϕ1 (không gian này được biểu diễn bởi vec-tơ ϕ1) và tìm khoảng cách trống giữa chúng và 1 của hàm này Sau đó xóa tất cả 1s trong khoảng thời gian tương ứng của vec-tơ ϕ2
Trang 10Vec-tơ biểu diễn xen kẽ các phép toán logic thành phần thông minh được sử dụng trong suốt thủ tục này Ví dụ, xét tổ hợp giá trị 00 của các biến c, d và thực hiện các phép toán kết hợp nghịch đảo của các vec-tơ c3 và c4, chúng ta xây dựng vec-tơ 1000 1000 1000
1000 xác định khoảng thời gian thích hợp trong không gian của các biến a, b, c, d Kết hợp với vector ϕ1 không chứa các biến này, vì vậy phương trình ϕ1= 1 không có nghiệm trong khoảng này Tương ứng với các khoảng trong không gian các đối số của hàm ϕ2
được biểu diễn bởi vector 1111 0000 0000 0000, bởi vì các biến c và d có vị trí tại bên trái Tất cả các biến chứa trong khoảng này sẽ bị xóa khỏi vector ϕ2, vì vậy nhận được giá trị 0000 0000 1001 0110
Tất cả các phép toán trước đây có thể được trình bày trong một hình thức nhỏ gọn hơn, theo công thức
c’d’ϕ 1 = 0 → ϕ 2 := 0000 0000 1001 0110.
Các phép toán tiếp theo được trình bày tương tự:
cdϕ1= 0 → ϕ2:= 0000 0000 1001 0000,
c’dϕ2= 0 → ϕ1:= 0010 0000 0000 0000,
e’fϕ2= 0 → ϕ3:= 0000 0000 1001 0010,
ef’ϕ2= 0 → ϕ3:= 0000 0000 0000 0010,
e’f’ϕ3= 0 → ϕ2:= 0000 0000 0001 0000
Kết quả là, hệ thống ban đầu của hàm Bool được rút gọn thành một trong những dạng sau đây:
Từ điều trên, nghiệm duy nhất của hệ dễ dàng chứa: 00101110
6 Kết luận
Giải các hệ phương trình logic lớn là một bài toán tổ hợp khó nhưng có rất nhiều ứng dụng hữu ích Để tạo thuận lợi, có ba thuật toán để giảm số lượng các biến trong phương trình riêng được đề xuất Như thí nghiệm cho thấy, các thuật toán cho phép giải các hệ phương trình lớn chứa lẫn nhau lên đến hàng trăm biến nhưng với số lượng hạn chế của các đối số trong mỗi phương trình Kết hợp các thuật toán được đề xuất với kỹ thuật cây tìm kiếm thì có thể tốt hơn
Tài liệu tham khảo
[1] Bài giảng của Thầy PGS.TS Nguyễn Phi Khứ.