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

Phương pháp tính toán khoảng giải các ràng buộc không tuyến tính

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 (1.19 MB, 14 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN VĂN QUÂN

PHƯƠNG PHÁP TÍNH TOÁN KHOẢNG GIẢI CÁC RÀNG BUỘC
KHÔNG TUYẾN TÍNH

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Hà Nội - 2016


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN VĂN QUÂN

PHƯƠNG PHÁP TÍNH TOÁN KHOẢNG GIẢI CÁC RÀNG BUỘC
KHÔNG TUYẾN TÍNH

Ngành: Công nghệ thông tin
Chuyên ngành: Kỹ thuật phần mềm
Mã số: 60480103

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. TÔ VĂN KHÁNH

Hà Nội – 2016



LỜI CAM ĐOAN
Tôi xin cam đoan rằng, luận văn thạc sĩ công nghệ thông tin “Phương
pháp tính toán khoảng giải các ràng buộc không tuyến tính.” là sản phẩm nghiên
cứu của riêng cá nhân tôi dưới sự giúp đỡ rất lớn của Giảng viên hướng dẫn là
TS. Tô Văn Khánh, không sao chép lại của người khác. Những điều đã được
trình bày trong toàn bộ nội dung của luận văn này hoặc là của chính cá nhân tôi,
hoặc là được tổng hợp từ nhiều nguồn tài liệu. Tất cả các tài liệu tham khảo đều
có nguồn gốc rõ ràng và được trích dẫn hợp pháp.
Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy
định cho lời cam đoan của mình.
Hà nội, tháng 10 năm 2016
Học viên

Nguyễn Văn Quân


LỜI CẢM ƠN
Trước tiên tôi xin bày tỏ lòng biết ơn chân thành và sâu sắc đến thầy giáo,
TS. Tô Văn Khánh - người đã dành nhiều tâm huyết, tận tình chỉ bảo và giúp đỡ
tôi trong suốt quá trình bắt đầu thực hiện đề tài cho đến khi tôi hoàn thành đề tài.
Tôi xin gửi lời cảm ơn chân thành tới các thầy cô giáo khoa Công nghệ
thông tin, trường Đại học Công nghệ, Đại học Quốc Gia Hà Nội - nơi tôi đã
theo học trong thời gian qua. Các thầy cô đã cung cấp cho tôi những kiến thức
quý báu, tạo điều kiện tốt nhất cho tôi trong suốt quá trình học tập và nghiên cứu
tại trường.
Cuối cùng tôi xin chân thành cảm ơn những người thân trong gia đình,
đặc biệt là bố mẹ tôi là nguồn động viên và ủng hộ tôi. Xin cảm ơn bạn bè cùng
khóa, đồng nghiệp trong cơ quan đã giúp đỡ tôi trong quá trình học tập và
nghiên cứu thực hiện luận văn này.

Tuy rằng, tôi đã cố gắng hết sức trong quá trình làm luận văn nhưng
không thể tránh khỏi thiếu sót, tôi rất mong nhận được những góp ý của thầy cô
và các bạn.

Hà nội, tháng 11 năm 2016
Học viên

Nguyễn Văn Quân


MỤC LỤC

LỜI CAM ĐOAN
LỜI CẢM ƠN
BẢNG CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
DANH MỤC HÌNH VẼ
DANH MỤC BẢNG
MỞ ĐẦU .........................................................................................................................1
Chương 1. GIỚI THIỆU ...............................................................................................3
1.1. Giải các ràng buộc đa thức ....................................................................................3
1.2. Ứng dụng của giải các ràng buộc đa thức .............................................................4
1.3. Các SMT giải ràng buộc toán học .........................................................................5
Chương 2. PHƯƠNG PHÁP TÍNH TOÁN KHOẢNG .............................................7
2.1. Giới thiệu về phương pháp tính toán khoảng ........................................................7
2.2. Phương pháp tính toán khoảng CI ........................................................................8
2.3. Phương pháp tính toán khoảng Affine Interval...................................................10
2.3.1. Dạng AF ...........................................................................................................11
2.3.2. Dạng AF1 .........................................................................................................13
2.3.2. Dạng AF2 .........................................................................................................15
2.4. Phương pháp tính toán khoảng C AI ...................................................................18

Chương 3. SMT SOLVER VÀ SMT SOLVER raSAT ...........................................23
3.1. SAT Solver ..........................................................................................................23
3.2. SMT Solver .........................................................................................................24
3.3. Thủ tục DPLL .....................................................................................................26
3.3.1 Thủ tục DPLL cho SAT ....................................................................................26
3.3.1 Thủ tục DPLL cho SMT ...................................................................................30
3.4. SMT Solver raSAT .............................................................................................32
Chương 4. CẢI TIẾN KỸ THUẬT KIỂM THỬ TRÊN SMT SOLVER raSAT ..41
4.1. Kiểm thử trên raSAT ...........................................................................................41
4.2. Kiểm thử cặp đôi .................................................................................................45
4.3 Kiểm thử cặp đôi trên raSAT ...............................................................................47


4.4 Thực nghiệm ........................................................................................................49
4.4.1 Kết quả raSAT tại các cuộc thi SMT – COMP .............................................49
4.4.2 raSAT 0.2 .......................................................................................................50
4.4.3 Benchmarks ...................................................................................................50
4.4.4 Kết quả thực nghiệm ......................................................................................51
KẾT LUẬN ..................................................................................................................53
TÀI LIỆU THAM KHẢO...........................................................................................54


BẢNG CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
STT

Thuật ngữ đầy đủ

Thuật ngữ viết tắt

1


SAT

Satisfiability

2

SMT

Satisfiability Modulo Theories

3

DPLL

Davis Putnam Logemann Loveland

4

CNF

Conjunctive Normal Form

5

CA

Classical Interval

6


AI

Affine Interval

7

AF

Affine Form

8

AF1

Affine Form1

9

AF2

Affine Form2

10

CAI

Chebyshev Approximation Interval

11


IA

Interval Arithmetic

12

PID

Proportional Integral Derivative

13

QE-CAD

14

CAD

Cylindrical algebraic decomposition

15

RAHD

Real Algebra in High Dimensions

16

ICP


Interval constraint propagation

17

VS

Virtual substitution

18

APC

Atomic polynomial constraint

19

ICC

Interval constraint contraction

Quantifier elimination - Cylindrical Algebraic
Decomposition


DANH MỤC HÌNH VẼ
STT Số hiệu

Tên hình vẽ


1

Hình 1

Đồ thị biểu diễn giá trị xấp xỉ Chebyshev của x 2 và x|x|.

2

Hình 2

Mô hình giải quyết vấn đề bằng SAT.

3

Hình 3

Phương pháp “Eager approach”.

4

Hình 4

Phương pháp “Lazy approach”.

5

Hình 5

Sơ đồ cơ chế hoạt động của thủ tục DPLL.


6

Hình 6

Kết quả của ràng buộc đa thức.

7

Hình 7

Kết quả kiểm thử của ràng buộc đa thức.

8

Hình 8

Kiến trúc của SMT Solver raSat.

9

Hình 9

Kết quả kiểm thử của ràng buộc đa thức.

10

Hình 10

Kiểm thử trong SMT Solver raSat.



DANH MỤC BẢNG
STT Số hiệu

Tên bảng

1

Bảng 1

Chọn giá trị cho biến trong khoảng dựa vào hệ số ưu tiên.

2

Bảng 2

Bảng giá trị đầu vào của các biến.

3

Bảng 3

Các ca kiểm thử sử dụng kỹ thuật kiểm thử cặp đôi.

4

Bảng 4

Các ca kiểm thử cặp đôi của 2 biến đầu vào.


5

Bảng 5

Các ca kiểm thử cặp đôi thêm các giá trị biến thứ ba.

6

Bảng 6

Các ca kiểm thử cặp đôi của ba biến lặp theo chiều dọc.

7

Bảng 7

Các ca kiểm thử cặp đôi của ba biến lặp theo chiều ngang.

8

Bảng 8

9

Bảng 9

Kết quả raSAT 0.1 tại cuộc thi SMT - COMP 2014.

10


Bảng 10

Kết quả raSAT 0.2 tại cuộc thi SMT - COMP 2015.

11

Bảng 11

Kết quả raSAT 0.3 và 0.4 tại cuộc thi SMT - COMP 2016.

12

Bảng 12

Bảng so sánh raSAT 0.2 và raSAT áp dụng kiểm thử cặp
đôi.

Kết quả thực nghiệm của raSAT 0.2 và raSAT0.2 –
Pairwise testing.


MỞ ĐẦU
Với sự phát triển của công nghệ thông tin các sản phẩm phần mềm được
xây dựng với các yêu cầu khắt khe về chất lượng và độ tin cậy. Đặc biệt là các
hệ thống ứng dụng trong các ngành công nghệ cao như hàng không, vận tải, y
tế... cần độ tin cậy và chính xác cao. Bởi chỉ một sai sót nhỏ của hệ thống có thể
gây ra những tổn thất to lớn về tính mạng con người và thiệt hại kinh tế. Với nhu
cầu như vậy các công cụ kiểm thử và kiểm chứng tự động ra đời sẽ giúp các nhà
phát triển đảm bảo độ tin cậy và giảm chi phí sản xuất phần mềm.
Hiện nay rất nhiều kỹ thuật được nghiên cứu và sử dụng để đảm bảo chất

lượng của phần mềm. Hai kỹ thuật truyền thống đã và đang được sử dụng để
đảm bảo chất lượng phần mềm là kiểm thử phần mềm (Software testing) và
kiểm chứng phần mềm (Software verification). Tuy nhiên việc sử dụng các
phương pháp kiểm thử chỉ làm giảm bớt lỗi của hệ thống mà không thể kết luận
được hệ thống không có lỗi. Các phương pháp kiểm chứng đang được quan tâm
số một trong việc chứng minh tính đúng đắn của hệ thống. Hiện nay các hướng
nghiên cứu về SMT solver đang được quan tâm rộng rãi bởi chúng đóng vai trò
quan trọng trong bài toán kiểm chứng phần mềm. SMT solver đóng vai trò là
công cụ nền (backend engine) trong các công cụ kiểm chứng phần mềm. Các bài
toán kiểm chứng được đưa về giải tính thỏa mãn (SAT/UNSAT) của các công
thức logic bằng các công cụ SMT solver.
Giải các ràng buộc đa thức toán học (Polynomial constraint) được ứng
dụng nhiều trong phân tích hệ thống, kiểm chứng phần cứng và phần mềm, cụ
thể như chứng minh tính bất biến của một chương trình hoặc phân tích kết quả
của các hệ thống. Tất cả các ứng dụng trên cần được tự động và cần có công cụ
để hỗ trợ để giải quyết bài toán. Giải các ràng buộc đa thức toán học là đưa ra
kết luận ràng buộc đó là SAT hoặc UNSAT.

1


KẾT LUẬN
Giải các ràng buộc đa thức toán học (Polynomial constraint) được ứng
dụng nhiều trong phân tích hệ thống, kiểm chứng phần cứng và phần mềm, cụ
thể như chứng minh tính bất biến của một chương trình hoặc phân tích kết quả
của các hệ thống. Tất cả các ứng dụng trên cần được tự động và cần có công cụ
để hỗ trợ để giải quyết bài toán. Luận văn đã nghiên cứu và trình bày các kỹ thuật
giải các ràng buộc phi tuyến tính (non-linear constraints) bằng phương pháp tính
toán xấp xỉ (approximation methods). Cụ thể luận văn đã nghiên cứu và trình bày
về các phương pháp tính toán khoảng (Interval Arithmetic) để giải các ràng buộc

phi tuyến tính. Ngoài ra luận văn trình bày kiến trúc và các kỹ thuật áp dụng trong
SMT Solver raSAT. Một công cụ giải tự động ràng buộc toán học trên tập số thực
và số nguyên dựa trên phương pháp tính toán khoảng và kiểm thử.
Luận văn đề xuất áp dụng phương pháp kiểm thử cặp đôi (pairwise testing)
thực hiện kiểm thử tăng dần (test - inrementally) vào bước kiểm thử của raSAT để
cải thiện hiệu quả. Kết quả đạt được đã tốt hơn như mục tiêu ban đầu của luận văn.
Cụ thể kết quả đạt được như sau:
 Cải thiện số lượng bài toán giải được và thời gian. Cụ thể giải nhiều
hơn 386 bài toán với thời gian cải thiện được khoảng 12.4% (17,500
phút).
 Mở ra các phương pháp cải tiến raSAT trên các ràng buộc có số biến
lớn. Hiện tại với các ràng buộc có số biến lớn vẫn là thách thức của các
SMT Solver mạnh như Z3…
Hiện tại kiểm thử cặp đôi mới giải quyết được vấn đề chọn nhiều giá trị cho
mỗi biến nhưng chưa tìm được cách tìm giá trị SAT nhanh hơn. Trong tương lai
chúng tôi sẽ nghiên cứu tìm ra các chiến lược chọn giá trị cho các biến để tìm
được giá trị SAT nhanh hơn. Ngoài ra raSAT hiện tại mới giải được cho ràng
buộc bất đẳng thức, trong tương lai chúng tôi sẽ nghiên cứu để giải cho các ràng
buộc đa thức đẳng thức và ứng dụng raSAT vào kiểm chứng phần mềm.
53


TÀI LIỆU THAM KHẢO
[1] Borralleras, C., Lucas, S., Navarro-Marset, R., Rodr´ ıguez-Carbonell, E.,
and Rubio, A. Solving non-linear polynomial arithmetic via sat modulo linear
arithmetic. In Proceedings of the 22nd International Conference on Automated
Deduction (2009), CADE-22, Springer-Verlag, pp. 294–305
[2] Bryant, R. E., Kroening, D., Ouaknine, J., Seshia, S. A., Strichman, O., and
Brady, B. Deciding bit-vector arithmetic with abstraction. In Proceedings of the
13th international conference on Tools and algorithms for the construction and

analysis of systems (2007), TACAS’07, Springer-Verlag, pp. 358–372.
[3] Đỗ Thị Bích Ngọc and Mizuhito Ogawa, Overflow and roundoff error
analysis via model checking, Proceedings of the IEEE/ACM international
conference on software engineering and formal methods. SEFM ’09, IEEE
computer society, 2009, pp. 105-114.
[4] Franzle, M., Herde, C., Teige, T., Ratschan, S., and Schubert, T. Effi-cient
solving of large non-linear arithmetic constraint systems with complex
booleanstructure. Journal on Satisfiability, Boolean Modeling and Computation
1 (2007), 209–236.
[5] Franzle, M., Herde, C., Teige, T., Ratschan, S., and Schubert, T. Effi-cient
solving of large non-linear arithmetic constraint systems with complex
booleanstructure. Journal on Satisfiability, Boolean Modeling and Computation
1 (2007), 209–236.
[6] Ganai, M., and Ivancic, F. Efficient decision procedure for non-linear
arithmetic constraints using cordic. In Formal Methods in Computer-Aided
Design, 2009 FMCAD 2009 (2009), pp. 61 –68.
[7] Harald Ganzinger, George Hagen, Robert Nieuwenhuis, Albert Oliveras,
Cesare Tinelli. DPLL(T): Fast Decision Procedures ,16th International
Conference on Computer Aided Verification (CAV), July 2004, Boston (USA)
[8] Microsoft. Z3.
[9] Miquel Bofill, Robert Nieuwenhuis, Albert Oliveras, Enric RodríguezCarbonell Albert Rubio. The Barcelogic SMT Solver, 20th International
Conference on Computer Aided Verification (CAV), July 2008, Princeton
(USA).
54


[10] A. Blass and Y. Gurevich. Pairwise Testing, Bulletin of the European
Association for Theoretical Computer Science Number 78, October 2002, 100
132
[11] Armin Biere, Marijn Heule, Hans van Maaren, Toby Walsch IOS Press

(2008), Handbook of Satisfiability, Dimitris Achlioptas
[12] Comba, J. L. D., and Stolfi, J. Affine arithmetic and its applications to
computer graphics. In Proceedings of VI SIBGRAPI. (1993)
[13] Corzilius, F., and ´ Abrah´ am, E. Virtual substitution for SMT- solving. In
Pro-ceedings of the 18th international conference on Fundamentals of
computation theory (2011), FCT’11, Springer-Verlag, pp. 360–371.
[14] Cristina Borralleras, Salvador Lucas, Albert Oliveras, Enric RodríguezCarbonell, Albert Rubio. SAT Modulo Linear Arithmetic for Solving Polynomial
Constraints
[15] H. Anai, Algebraic. Methods for solving real polynomial constraints and
their applications in biology, Algebraic biology computer algebra in biology,
2005, pp. 139-147.
[16]J. Czerwonka. Pairwise Testing in Real World, Proceedings of 24th Pacific
Northwest Software Quality Conference, 2006
[17] Messine, F. Extensions of affine arithmetic: Application to unconstrained
globaloptimization. Journal of Universal Computer Science 8, 2 (2002)
[18] Nieuwenhuis, R., Oliveras ,Tinelli (2005), Abstract DPLL and abstract
DPLL modulo theories. In Logic for Programming, Articial Intelligence, and
Reasoning, F. Baader and A. Voronkov, Eds., vol. 3452 of Lecture Notes in
Computer Science. Springer-Verlag
[19] Passmore, G. O., and Jackson, P. B. Combined decision techniques for
theexistential theory of the reals. In Proceedings of the 16th Symposium, 8th
Interna-tional Conference. Held as Part of CICM ’09 on Intelligent Computer
Mathematics (2009), Calculemus ’09/MKM ’09, Springer-Verlag, pp. 122–137
[20] R.E. Moore , Interval Analysis. Prentice-Hall, 1966.
[21] Ratschan, S. Efficient solving of quantified inequality constraints over the
realnumbers. ACM Trans. Comput. Logic 7, 4 (Oct. 2006), 723–748.
55


[22] Robert Nieuwenhuis, Albert Oliveras, Cesare Tinelli. Abstract DPLL and

Abstract DPLL Modulo Theories, 11th International Conference on Logic for
Programming, Artificial Intelligence and Reasoning (LPAR). March 2005,
Montevideo (Uruguay).
[23] S. Lucas and R. Navarro-Marset, Comparing CSP and SAT solvers for
polynomial constraints in termination provers, Notes theory computer science,
2008, pp. 75-90.
[24] Stolfi, Figueiredo. An Introduction to Affine Arithmetic
[25] Stolfi, J. Self-Validated Numerical Methods and Applications. PhD thesis,
PhD. Dissertation, Computer Science Department, Stanford University, 1997.
[26] Tô Văn Khánh and Mizuhito Ogawa, raSAT: SMT for Polynomial
Inequality, Technical report School of Information Science Japan Advance
Institute of Science and Technology, 2013.
[27] Tô Văn Khánh and Mizuhito Ogawa, SMT for polynomial constraints on
real numbers, Notes theory computer science, 2012, pp. 27-40.
[28] Tô Văn Khánh, SMT for Polynomial Constraints and Its Applications, PHD
thesis, School of Information Science Japan Advance Institute of Science and
Technology, 2013.
[29] Vu Xuan Tung, To Van Khanh, Mizuhito Ogawa. raSAT: An SMT Solver
for Polynomial Constraints, International Joint Conference on Automated
Reasoning 2016. IJCAR 2016: Volume 9706 Pages 228-237
[30] Y.Lei and K.C.Tai In-parameter-order: a test generation strategy for
pairwise testing. Proceedings Third IEEE Intl. High-Assurance Systems
Engineering Symp., 1998, pp. 254-261

56



×