1. Trang chủ
  2. » Kinh Doanh - Tiếp Thị

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

14 335 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 14
Dung lượng 1,19 MB

Nội dung

ĐẠ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.

Trang 1

ĐẠ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

Trang 2

ĐẠ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

Trang 3

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

Trang 4

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

Trang 5

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

Trang 6

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

Trang 7

BẢNG CÁC KÝ HIỆU VÀ CHỮ 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

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 Quantifier elimination - Cylindrical Algebraic

Decomposition

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

Trang 8

DANH MỤC HÌNH VẼ

1 Hình 1 Đồ thị biểu diễn giá trị xấp xỉ Chebyshev của x2 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

Trang 9

DANH MỤC 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 Bảng so sánh raSAT 0.2 và raSAT áp dụng kiểm thử cặp

đôi

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 Kết quả thực nghiệm của raSAT 0.2 và raSAT0.2 –

Pairwise testing

Trang 10

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

Trang 11

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

Trang 12

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íguez-Carbonell Albert Rubio The Barcelogic SMT Solver, 20th International

Conference on Computer Aided Verification (CAV), July 2008, Princeton (USA)

Trang 13

[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íguez-Carbonell, 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

Trang 14

[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

Ngày đăng: 01/03/2017, 20:30

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w