SlideShare a Scribd company logo
1 of 20
1
LỜI MỞ ĐẦU
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
ĐẠI HỌC QUỐC GIA HÀ NỘI
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ố: 60 48 01 03
TÓM TẮT LUẬN VĂN THẠC SĨ
HÀ NỘI – 2016
1
LỜI MỞ ĐẦUChương 1.
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 hệ thống. 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 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 toán học (Polynomial constraint) được ứng dụng nhiều trong
phân tích hệ thống và 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 toán học là đưa ra kết luận ràng buộc đó là SAT hoặc
UNSAT.
Việc tìm kết quả chính xác của một đa thức đôi khi là việc vô cùng khó khăn và
phức tạp. Do vậy việc tìm kiếm kết quả gần đúng với kết quả chính xác với mức độ
2
sai số có thể chấp nhận được là một giải pháp. Thay vì tìm kiếm kết quả chính xác ta
sẽ đi tìm tiệp cận trên và tiệm cận dưới của kết quả đó. Ở luận văn này chúng tôi sẽ
tập trung nghiên cứu về các kỹ thuật giải các ràng buộc không tuyến tính (non-linear
constraints) bằng phương pháp xấp xỉ (approximation methods) và thực nghiệm trên
công cụ SMT Solver raSAT. Cụ thể mục tiêu của luận văn là nghiên cứu và áp dụng
các kĩ thuật tính toán khoảng (Interval Arithmetic) để giải tự động các ràng buộc toán
học.
Luận văn bao gồm 4 chương, trong đó phần giới thiệu về giải các ràng buộc toán
học và ứng dụng của giải các ràng buộc toán học sẽ nằm ở Chương 1.
Chương 2: Giới thiệu về phương pháp tính toán khoảng và các kĩ thuật tính xấp
xỉ (over approximation) gồm Classical Interval (CA), Affine Interval (AI) và
Chebyshev Approximation Interval (CIA).
Chương 3: Giới thiệu về SAT Solver và SMT Solver. Tìm hiểu và ứng dụng
công cụ SMT Solver raSAT trong việc giải các ràng buộc đa thức.
Chương 4: Thực nghiệm kĩ thuật kiểm thử đôi một trên công cụ SMT Solver
raSAT để giải các ràng buộc.
Phần kết luận: Kết luận và hướng nghiên cứu dự định trong tương lai.
3
PHƯƠNG PHÁP TÍNH TOÁN KHOẢHƯChương 2.
Trong chương này tôi sẽ trình bày lý thuyết về phương pháp tính toán khoảng
2.1. Giới thiệu về phương pháp tính toán khoảng
Trong các tính toán số học đôi khi việc tìm được kết quả chính xác là việc vô
cùng khó khăn, do vậy việc tính toán các giá trị gần đúng với kết quả thực tế là một
giải pháp được đưa ra. Phương pháp tính toán khoảng (Interval Arithmetic - IA) sử
dụng để tìm cận trên và cận dưới của các ràng buộc dựa trên phương pháp tính xấp xỉ
(approximation methods). Phương pháp này được áp dụng cho giải các bài toán để
tìm ra kết quả gần đúng với mức độ lỗi có thể chấp nhận được.
Ví dụ: Với phương trình x2
+ x − 6 = 0 ta dễ dàng sử dụng công thức biến đổi
trong trương trình trung học cơ sở để tìm được nghiệm của phương trình là x1 =
−3 và x2 = +2. Tuy nhiên với một số bài toán không thể tìm được nghiệm chính
xác của bài toán, ví dụ với phương trình x2
− 2 = 0 thì nghiệm được biểu diễn √2.
Như vậy nếu chỉ sử dụng các kiểu số cơ bản thì không thể biểu diễn chính xác tất cả
các giá trị của bài toán mà bắt buộc phải làm tròn để lấy giá trị xấp xỉ. Do vậy các
nhà khoa học đã đưa ra lý thuyết tính toán khoảng (Interval Arithmetic -IA) để kiểm
soát lỗi làm tròn trong các tính toán, do vậy kết quả thu được sẽ được kiểm soát về độ
tin cậy.
Các số thực x, y trong phương pháp tính toán khoảng được biểu diễn như sau:
 x = [ x , x ], y = [ y , y ], Trong đó x = min( x ∈ x ) , y = min( y ∈
y ) là cận dưới lần lượt của x và y, x = max ( x ∈ x ), y = max ( y ∈ y) là
cận trên lần lượt của x và y .
 x = y nếu x = y và x = y
 x < 𝑦 nếu x < y
 x > 𝑦 nếu y > y
 x là số thực đơn (single real number) nếu x = x. Ví dụ 0 = [ 0 , 0 ]
4
Trong phương pháp tính toán khoảng có hai kĩ thuật chính gồm Classical
Interval (CI) và Affine Arithmetic (AF). Ngoài ra còn một số kĩ thuật được phát triển
từ hai kĩ thuật trên gồm AF1, AF2 và Chebyshev Affine Interval (C AI). Chi tiết các
kĩ thuật sẽ được trình bày lần lượt ở phần tiếp theo của luận văn.
2.2. Phương pháp tính toán khoảng CI
Kĩ thuật tính toán khoảng Classical Interval (CI) được tác giả Ramnon E.Moore
giới thiệu vào năm 1960. Ý tưởng chính của kĩ thuật này là đặt giới hạn lỗi làm tròn
trong các tính toán số học bằng cách biểu diễn mỗi giá trị trong CI bởi một khoảng
giới hạn. Các khoảng giới hạn này sẽ được sử dụng để tính toán thay thế cho giá trị
gốc. Kĩ thuật Classical Interval được định nghĩa như sau.
Định nghĩa 2.2.1: Một Classical Interval của x là một khoảng x = [ xl , xu]
trong đó xl ≤ x ≤ xu .
Định nghĩa 2.2.2: Các phép toán cơ bản trong Classical Interval gồm ☉= { + ,
− , × ,÷ } được định nghĩa như sau.
 [ xl , xu] + [ yl , yu] = [ xl + yl , xu + yu ]
 [ xl , xu] − [ yl , yu] = [ xl − yu , xu − yl]
 [xl , xu ] × [ yl , yu ] = [min(xlyl, xlyu , xuyl, xuyu),
max(xl yl, xlyu, xuyl, xuyu) ]
 [xl , xu] ÷ [ yl , yu] = [ xl , xu] × [
1
yl
,
1
yu
] nếu 0 ∉ [ yl , yu]
Hạn chế của Classical Interval là kết quả tính toán có thể rộng hơn kết quả thực tế
mong muốn trong các phép tính lớn. Khi mà kết quả ở một trạng thái là đầu vào của
trạng thái tiếp theo. Nguyên nhân là do các đầu vào ban đầu của CI là độc lập và
không phục thuộc nhau do đó trong trường hợp các tính toán có liên quan tới các đầu
vào phục thuộc nhau sẽ làm kết quả của phép toán sai lệnh so với kết quả thực tế.
Ví dụ với phép toán trừ ( − ) , sử dụng công thức ở 2.2.2 với x = [2 , 5] kết
quả thu được là x − x = [2 , 5] − [2 , 5] = [−3 , 3] . Do kĩ thuật CI không thể nhận
5
biết được hai đầu vào là giống nhau nên sẽ biểu diễn hai giá trị với cùng một khoảng
do vậy dẫn đến kết quả là [−3 , 3] thay vì kết quả chính xác là [0 , 0] .
2.3. Phương pháp tính toán khoảng Affine Interval
Kĩ thuật tính toán khoảng Affine Interval (AI) được giới thiệu bởi hai tác giả
Comba và Stolfi vào năm 1993. Kĩ thuật AI được phát triển từ kĩ thuật CI bằng cách
tự động theo dõi việc làm tròn số để giảm thiểu các lỗi trong mỗi bước tính toán.
Ngoài ra để khắc phục nhược điểm các đầu vào độc lập của CI như ở trên, AI có thể
theo dõi mỗi tương tác giữa các thành phần của đa thức.
Mục đích của AI là cung cấp các giới hạn tính toán để đảm bảo cho các kết quả
tính toán có lỗi đủ nhỏ, đặc biệt trong các chuỗi tính toán lớn kĩ thuật AI sẽ phát huy
được lợi thế này. AI được đánh giá là kĩ thuật có độ chính xác cao, tuy nhiên kĩ thuật
này phức tạp và tốn nhiều chi phí cho việc áp dụng vào các ứng dụng thực tế.
Các biến trong Affine Interval được biểu diễn bởi số thực ɛ (noise symbols) có
giá trị trong khoảng [−1 , 1]. Các tính toán trong Affine Interval cho phép giữ giá trị
ban đầu của các tính toán dựa trên kí tự ɛ và cải thiện độ chính xác khi thực hiện phép
trừ (−).
Ví dụ x ∈ (1 , 3), x được biểu diễn x = 2 + ɛ, khi đó x = (2 + ɛ) − (2 + ɛ)
có giá trị hợp lý bằng 0.
Affine Interval được phát triển dưới các dạng Affine Forms (AF) bằng cách xác
định số lượng biến để theo dõi mức độ lỗi khi thực hiện lấy xấp xỉ hoặc làm tròn
trong phép nhân. Phần tiếp theo của luận văn sẽ giới thiệu các dạng của Affine
Interval gồm AF, AF1, AF2.
2.3.1. Dạng AF
Định nghĩa 2.3.1: Dạng AF của biến x biểu diễn như sau:
ẍ = a0 + ∑ aiɛi
n
i=1
Với x ∈ ( a0 − ∑|ai|
n
i=0
, a0 + ∑|ai|
n
i=0
) , ɛi ∈ [−1 , 1] (noise symbols)
6
Định nghĩa 2.3.2: Cho x, y biểu diễn lần lượt dưới dạng AF như sau:
ẍ = a0 + ∑ aiɛi
n
i=1
ÿ = b0 + ∑ biɛi
n
i=1
Các phép toán của dạng AF gồm ☉={ + , − , × ,÷ } như sau:
ẍ + ÿ = (a0 + b0 ) + ∑(ai + bi)ɛi
n
i=1
ẍ − ÿ = (a0 − b0 ) + ∑(ai − bi)ɛi
n
i=1
ẍ × ÿ = (a0b0 ) + ∑(a0bi − b0ai)ɛi
n
i=1
+ ( ∑|ai|
n
i=1
) ( ∑|bi|
n
i=1
) ɛn+1
ẍ ÷ ÿ = ẍ ×
1
ÿ
nếu 0 ∉ (b0 − ∑|bi|
n
i=0
, b0 + ∑|bi|
n
i=0
))
Với ɛn+1 là một noise symbols mới và
1
ÿ
được tính bằng phương pháp xấp xỉ
Chebyshev.
Chuyển đổi giữa CI và AF:
Với x ở dạng CI x = [ xl , xu ] chuyển thành AF Form của biến x như sau:
ẍ =
xu + xl
2
+
xu − xl
2
ɛx
Với x ở dạng AF Form ẍ = a0 + ∑ aiɛi chuyển thành CI của biến x như sau:
n
i=1
x = [ a0 − ∑|ai|
n
i=0
, a0 + ∑|ai|
n
i=0
]
7
Dạng AF có hạn chế là khi tính toán với các ràng buộc phi tuyến tính lớn sẽ làm
gia tăng noise symbols mới.
2.3.2. Dạng AF1
Dạng AF1 được mở rộng từ dạng AF bằng cách thêm một số thực ɛ⫨ (fixed
error noise symbol) có giá trị trong khoảng [−1 , 1], để kiểm soát lỗi tính toán xấp xỉ
của các toán hạng phi tuyến tính. Tất cả các toán hạng phi tuyến tính sẽ sử dụng biến
này để tính toán.
Định nghĩa 2.3.4: Dạng AF1 của biến x biểu diễn như sau:
x̂ = a0 + ∑ aiɛi
n
i=1
+ an+1ɛ⫨
Với x ∈ (a0 − ∑|ai|
n
i=0
− an+1, a0 + ∑|ai| + an+1
n
i=0
) , ɛi ∈ [−1 , 1] (noise symbols)
, ɛ⫨ ∈ [−1 , 1] (fixed error noise symbol), an+1 ≥ 0.
Định nghĩa 2.3.5: Biểu diễn x, y dưới dạng AF1 :
x̂ = a0 + ∑ aiɛi
n
i=1
+ an+1ɛ⫨
ŷ = b0 + ∑ biɛi + bn+1ɛ⫨
n
i=1
Các phép toán của dạng AF1 gồm ☉ = { + , − , × ,÷ } như sau :
x̂ + ŷ = (a0 + b0 ) + ∑(ai + bi)ɛi
n
i=1
+ (an+1 + bn+1)ɛ⫨
x̂ − ŷ = (a0 − b0 ) + ∑(ai − bi)ɛi
n
i=1
+ (an+1 + bn+1)ɛ⫨
8
x̂ × ŷ = (a0b0 ) + ∑(a0bi − b0ai)ɛi + (|a0|bn+1 + |b0|an+1)
n
i=1
+ ( ∑|ai|
n
i=1
) ( ∑|bi|
n
i=1
) ɛ⫨
x̂ ÷ ŷ = x̂ ×
1
ŷ
nếu 0 ∉ (b0 − ∑|bi|
n
i=0
− bn+1, b0 + ∑|bi|
n
i=0
+ bn+1))
Với
1
ŷ
được tính bằng phương pháp xấp xỉ Chebyshev,
an+1 ≥ 0 , bn+1 ≥ 0 và hệ số của ɛ⫨ là (an+1 + bn+1) với phép toán trừ (−) .
2.3.3. Dạng AF2
Dạng AF2 được mở rộng từ dạng AF1 bằng cách thêm hai số thực ɛ− ∈
[−1 ,0] (negative noise symbol) và ɛ+ ∈ [0 , 1] (positive noise symbol) để cải
thiện độ chính xác của kết quả trong các biểu thức có hai noise symbol trở lên. Các
noise symbol có hệ số hai trở lên sẽ được thay thế bằng ɛ− hoặc ɛ+ phụ thuộc vào hệ
số của noise symbol đó trong ràng buộc.
Định nghĩa 2.3.7: Dạng AF2 của biến x biểu diễn như sau :
x̆ = a0 + ∑ aiɛi
2n
i=1
+ an+1ɛ+ + an+2ɛ− + an+3ɛ⫨
Với x ∈ ( a0 − ∑|ai|
n
i=0
− an+2 − an+3 , a0 + ∑|ai| + an+1 + an+3
n
i=0
) ,
ɛi ∈ [−1 , 1] (noise symbols), ɛ− ∈ [−1 ,0] (negative noise symbol), ɛ+ ∈
[0 , 1] (positive noise symbol) , ɛ⫨ ∈ [ −1 , 1] (fixed error noise symbol) và
an+1 ≥ 0, an+2 ≥ 0, an+3 ≥ 0.
Định nghĩa 2.3.8: Biểu diễn hai số x, y dưới dạng AF2 như sau:
x̆ = a0 + ∑ aiɛi
n
i=1
+ an+1ɛ+ + an+2ɛ− + an+3ɛ⫨
9
y̆ = b0 + ∑ bɛi
n
i=1
+ bn+1ɛ+ + bn+2ɛ− + bn+3ɛ⫨
Các phép toán của AF2 form gồm ☉= { + , − , × ,÷ } như sau :
x̆ + y̆ = (a0 + b0 ) + ∑(ai + bi)ɛi
n
i=1
+ (an+1 + bn+1)ɛ+ + (an+2 + bn+2)ɛ−
+ (an+3 + bn+3)ɛ⫨
x̆ − y̆ = (a0 − b0 ) + ∑(ai − bi)ɛi
n
i=1
+ (an+1 + bn+2)ɛ+ + (an+2 + bn+1)ɛ−
+ (an+3 + bn+3)ɛ⫨
x̆ × y̆ = (a0b0 ) + ∑(a0bi − b0ai)ɛi +
n
i=1
K1ɛ+ + K2ɛ− + K3ɛ⫨
Với
K1 = ∑ aibi
n+2
i=1,aibi >0
+
{
a0bn+1 + b0an+1 nếu a0 ≥ 0, b0 ≥ 0
a0bn+1 − b0an+2 nếu a0 > 0, 𝑏0 < 0
−a0bn+2 − b0an+1 nếu a0 < 0, 𝑏0 > 0
−a0bn+2 − b0an+2 nếu a0 < 0, 𝑏0 < 0
K2 = ∑ aibi
n+2
i=1,aibi <0
+
{
a0bn+2 + b0an+2 nếu a0 ≥ 0, b0 ≥ 0
a0bn+2 − b0an+1 nếu a0 > 0, 𝑏0 < 0
−a0bn+1 − b0an+2 nếu a0 < 0, 𝑏0 > 0
−a0bn+1 − b0an+1 nếu a0 < 0, 𝑏0 < 0
K3 = ∑ ∑ |aibj|
n+3
j=1,i # j
n+3
i=1
+ ( |a0|bn+3 + |b0|an+3) + (an+3 + bn+3)
x̆ ÷ y̆ = x̆ ×
1
y̆
nếu 0 ∉ ( b0 − ∑|bi|
n
i=0
− bn+2 − bn+3 , b0 + ∑|bi| +
n
i=0
bn+1
+ bn+3 ) . Với
1
y̆
được tính bằng phương pháp xấp xỉ Chebyshev.
10
2.4. Phương pháp tính toán khoảng C AI
Phương pháp tính toán khoảng Chebyshev Approximation Interval (C AI) được
hai tác giả Tô Văn Khánh (UET/VNU-HN) và Mizuhito Ogawa (JAIST) giới thiệu
vào năm 2012. Phương pháp tính toán khoảng C AI là một dạng mới của phương
pháp tính toán khoảng Affine Interval được phát triển dựa trên phương pháp tính xấp
xỉ Chebyshev.
Định nghĩa 2.4.1: C AI của biến x biểu diễn dưới dạng sau :
ẋ = a̅0 + ∑ a̅iɛi
n
i=1
+ ∑ a̅i+nɛi+n
n
i=1
+ a̅2n+1ɛ⫨
Với ɛi ∈ [−1 , 1] (noise symbols), ɛ⫨ ∈ [−1 , 1] (fixed error noise symbols),
ɛi+1 ∈ [0 , 1] sử dụng biểu diễn cho giá trị tuyệt đối |ɛi| của ɛi , a̅i được biểu diễn
dưới dạng CI.
Ý tưởng chính của phương pháp này như sau:
 Sử dụng một noise symbols mới ɛi+1 ∈ [0 , 1] để thay cho giá trị tuyệt đối
của |ɛi| (ɛi+1 = |ɛi| ).
 Giá trị xấp xỉ của x2
theo phương pháp tính xấp xỉ Chebyshev sẽ được tính
bằng giá trị tuyệt đối của các noise symbols.
 Với x ∈ (−1,1) , Giá trị sấp xỉ Chebyshev của x2
và x|x| lần lượt như sau:
 |x| −
1
4
≤ x2
= |x2| < |x|
 x −
1
4
≤ x|x| ≤ x +
1
4
Giá trị sấp xỉ Chebyshev của x2
và x|x| được mô tả cụ thể ở biểu đồ ở hình 1.
Tương tự nếu áp dụng cho noise symbols ɛ sẽ tìm được giá trị xấp xỉ ɛ 2
và ɛ|ɛ| lần
lượt như sau:
 ɛ 2
= |ɛ||ɛ| = |ɛ| + (−
1
4
, 0)
 ɛ|ɛ| = ɛ + (−
1
4
,
1
4
)
11
Hình 1: Đồ thị biểu diễn giá trị xấp xỉ Chebyshev của x2
và x|x|.
SMT SOLVER VÀ SMT SOLVER raSATChương 3.
3.1. SAT Solver
SAT (satisfiability problem of propositional logic) là công cụ để giải quyết các
bài toán ở dạng logic mệnh đề. Bài toán SAT là bài toán chứng minh tính thỏa mãn
hay không thỏa mãn (SAT/UNSAT) của một công thức mệnh đề logic. Các công cụ
chứng minh tự động cho bài toán này gọi là SAT Solver. SAT Solver được ứng dụng
trong việc giải các bài toán trí tuệ nhân tạo và xây dựng các công cụ kiểm thử tự động
trong các phần mềm. SAT Solver đóng vai trò như các công cụ nền hỗ trợ cho các
SMT Solver (SAT Modul Thoeries), là các công cụ chứng minh tính thỏa mãn của
các công thức logic xây dựng trên lý thuyết logic vị từ cấp 1. SAT Solver có thể giải
được biểu thức logic với hàng trăm ngàn hoặc thậm chí hàng triệu biến trong một
mệnh đề dưới dạng chuẩn tắc hội (CNF- Conjunctive Normal Form) với khoảng thời
gian hợp lý. Những vấn đề cần thiết lập khi sử dụng SAT để giải quyết bao gồm:
 Mã hóa bài toán theo biểu thức logic mệnh đề.
 Chuyển đổi biểu thức sang dạng CNF(conjunctive normal form).
 Sử dụng SAT Solver để tìm mối quan hệ của các biến logic.
12
3.2. SMT Solver
Với các biểu thức logic thì SAT Solver là công cụ tốt để giải. Tuy nhiên với các
hệ thống hiện tại được thiết kế ở mức cao (high level) thay cho mức logic (logic
level). Nếu sử dụng các công cụ kiểm chứng ở mức logic thì cần phải chuyển đổi từ
mức cao về mức logic, tuy nhiên chí phí cho việc chuyển đổi này rất đắt đỏ. Do vậy
SMT Solver (satisfiability modulo theories) là một giải pháp cho vấn đề trên. SMT
Solver được sử dụng giải quyết các bài toán cụ thể như sinh ca kiểm thử tự động, bài
toán lập lịch, kiểm thử mô hình...
SMT là vấn đề quyết định tính thỏa mãn của công thức được biểu diễn trên nền
tảng lý thuyết Logic vị từ cấp I (First order logic). Có thể coi SMT là phần mở rộng
của SAT trong lý thuyết logic vị từ cấp I. Để duy trì quá trình quyết định lý thuyết
bậc nhất thường được giới hạn không chứa các phép toán lượng tử tồn tại (∃) và với
mọi (∀). Cũng tương tự SAT, việc chỉ ra một phép gán M thỏa mãn công thức đầu
vào F trên nền tảng Logic vị từ cấp I được gọi là SMT solver.
3.3. SMT Solver raSAT
SMT Solver raSAT được hai tác giả Tô Văn Khánh (UET/VNU-HN) và
Mizuhito Ogawa (JAIST) giới thiệu vào năm 2012. raSAT ứng dụng trong việc giải
các ràng buộc bằng phương pháp tính xấp xỉ dựa trên các kĩ thuật tính toán khoảng
(Interval Arithmetic) và kiểm thử kết quả dựa trên thủ tục DPLL(T) đã được giới
thiệu ở phần 3.3.1.
SMT Solver raSAT ứng dụng trong việc giải các ràng buộc trên tập số thực, với
các ràng buộc số nguyên raSAT dễ dàng ứng dụng bằng một số thay đổi như chặn
việc phân rã khoảng với giới hạn là 1. raSAT đã tham gia cuộc thi “SMT Competition
2015” dành cho các công cụ SMT Solver và SAT Solver với hai dạng là QF NRA và
QF NIA.
Đầu vào của raSAT là các ràng buộc biểu diễn dưới dạng F = I ˄ P. Trong đó I
là các ràng buộc tính toán khoảng I = ( x1 ∈ ( a1, b1) ˄ … ˄ xn ∈ ( an, bn). Và
ràng buộc đa thức P biểu diễn dưới dạng ⋀ 𝑓𝑖( x1, … , xn)m
i=1 > 0, P là phép hội
13
của các hàm 𝑓𝑖. Ràng buộc tính toán khoảng I sẽ được phân rã thành các ràng buộc
nhỏ hơn hoặc loại bỏ các miền UNSAT bằng cách sử dụng SAT Solver. Sau quá trình
trên ràng buộc tính toán khoảng I sẽ ở dưới dạng chuẩn tắc hội (CNF). Các giá trị
𝑓𝑖
𝑢
, 𝑓𝑖
𝑙
lần lượt là giá trị cận trên và cận dưới được tính bởi các kĩ thuật tính toán
khoảng. Giá trị của P được định nghĩa như sau :
 P kết luận là 𝐼𝐴 − 𝑉𝐴𝐿𝐼𝐷 trên I nếu ∀𝑖 ∈ (1, 𝑚), 𝑓𝑖
𝑙
( x1, … , xn) > 0
 P kết luận là 𝐼𝐴 − 𝑈𝑁𝑆𝐴𝑇 trên I nếu ∃𝑖 ∈ (1, 𝑚), 𝑓𝑖
𝑢
( x1, … , xn) ≤ 0
 P kết luận là 𝐼𝐴 − 𝑆𝐴𝑇 trên I nếu (∃𝑖 ∈ (1, 𝑚), 𝑓𝑖
𝑢
( x1, … , xn) ≤ 0)
˄ (⋀ 𝑓𝑖( x1, … , xn)m
i=1 ) > 0
Kiểm thử kết quả bằng cách sinh ra bộ dữ liệu kiểm thử ⊝i từ dải giá trị đầu vào
ban đầu x1 ∈ ( a1, b1) ˄ … ˄ xn ∈ ( an, bn). Với Ѳ(I) = ( a1, b1) ×. . .× ( an, bn)
thì giá trị của P được định nghĩa như dưới.
 P kết luận là Test-SAT trên I nếu trong P tồn tại Ѳ ∈ ⊝
 P kết luận là Test-UNSAT trên I nếu trong P không tồn tại Ѳ nào ∈ ⊝
Như vậy bước kiểm thử sẽ dừng lại khi kết quả là Test-SAT và kết luận là SAT.
Ngược lại nếu kết quả là Test-UNSAT raSat sẽ sử dụng bộ Domain Decomposition
để phân rã dải giá trị hiện tại thành các dải giá trị nhỏ hơn.
14
Hình 2: Kiến trúc của SMT Solver raSat
Chương 4. THỰC NGHIỆM
Ở chương này chúng tôi sẽ trình bày cài đặt kĩ thuật kiểm thử đôi một ở bước
kiểm thử của SMT Solver raSAT để so sánh hiệu quả trước và sau khi sử dụng kĩ
thuật kiểm thử đôi một trên các ràng buộc.
4.1. Kiểm thử đôi một
Kiểm thử đôi một (pairwise testing) là một trường hợp đặc biệt của kiểm thử tất
cả các tổ hợp đầu vào. Kiểm thử đôi một yêu cầu mỗi cặp giá trị của ( xi, xj),
1 ≤ i ≠ i ≤ n xuất hiện trong một ca kiểm thử nào đó. Một ca kiểm thử thường có
nhiều cặp giá trị này với các i, j khác nhau nên dễ thấy số lượng ca kiểm thử sẽ giảm
đáng kể so với tổ hợp tất cả các ca kiểm thử. Kiểm thử đôi một được ứng dụng rất
nhiều trong quá trình đảm bảo chất lượng của phần mềm. Với một dự án phần mềm
chi phí cho việc đảm bảo chất lượng thường chiếm hơn 50% chi phí của dự án. Do
15
vậy kiểm thử đôi một sử dụng trong việc đảm bảo chất lượng phần mềm với chi phí
hợp lý hơn.
Lý do sử dụng kĩ thuật kiểm thử đôi một:
 Nguyên nhân lỗi của phần mềm thường sảy ra khi kết hợp hai đầu vào.
Kiểm thử đôi một có thể đảm bảo 92% độ phủ của source code, 85% bao
phủ quyết định.
 Không cần kiểm thử tổ hợp tất cả đầu vào của hệ thống. Với hệ thống có
m đầu vào và với mỗi đầu vào có n giá trị. Như vậy sẽ cần m×n trường
hợp cần kiểm thử. Với hệ thống có số lượng đầu vào lớn thì kiểm thử tổ
hợp sẽ tốn rất nhiều chi phí.
Sử dụng kiểm thử tổ hợp có thể sảy ra nhiều ca kiểm thử cùng phát hiện một lỗi,
do vậy việc sẽ gây ra lãng phí ca kiểm thử. Hạn chế này của kiểm thử tổ hợp sẽ được
khắc khục ở kĩ thuật kiểm thử đôi một.
4.2 Áp dụng kiểm thử đôi một vào SMT Solver raSAT
Như đã trình bày hoạt động của SMT Solver raSAT ở chương 3. Nếu sau khi
đầu vào được đánh giá bởi lý thuyết tính toán khoảng (Interval Arithmetic - IA) cho
kết quả là IA- SAT thì sẽ chuyển sang bước kiểm thử để tiếp tục giải ràng buộc đa
thức. Kiểm thử kết quả bằng cách sinh ra bộ dữ liệu kiểm thử từ dải giá trị đầu vào
ban đầu. Bản chất của bước kiểm thử là đi tìm giá trị có kết quả là SAT trong dải giá
trị của đầu vào. Nếu tìm được một điểm trong dải giá trị cho kết quả là SAT thì kết
luận ràng buộc đó là SAT. Tuy nhiên để thử tất cả các giá trị trong dải giá trị là điều
không thể. Do vậy cần có chiến lược chọn giá trị kiểm thử cho các biến hiệu quả thay
vì thử tất cả các giá trị.
raSAT hiện tại chỉ cho phép chọn tối đa hai giá trị cho mỗi biến để sinh các ca kiểm
thử. Nguyên nhân do nếu lựa chọn nhiều giá trị sẽ ảnh hưởng tới hiệu năng của
raSAT. Do vậy chúng tôi cải tiến raSAT bằng cách áp dụng kĩ thuật kiểm thử đôi một
cho các biến của ràng buộc để sinh ra bộ kiểm thử. Với kĩ thuật kiểm thử đôi một sẽ
sinh ra số lượng ca kiểm thử không lớn mà cho phép chọn nhiều giá trị cho mỗi biến.
16
Khi raSAT cho phép chọn nhiều giá trị cho một biến thì khả năng tìm được giá trị
SAT sẽ tăng lên. Cụ thể cách áp dụng kĩ thuật kiểm thử đôi một vào raSAT như sau:
 Áp dụng sinh bộ kiểm thử bằng kĩ thuật kiểm thử cặp đôi cho các biến ở mỗi
ràng buộc.
 Với mỗi biến sẽ chọn ngẫu nhiên 4 ca kiểm thử ở 4 khoảng giá trị khác nhau
trong dải giá trị của biến. Ví dụ x1 = [−10,10] sẽ chọn ngẫu nhiên một ca
kiểm thử ở 4 khoảng gồm [−10, −5] , [−4, 0] , [1, 5] và [6,10].
4.3 Kết quả thực nghiệm
raSAT thực nghiệm trên bộ các ràng buộc “SMT- LIB 2015 -06-01” với
timeout là 2500s , bộ vi xử lý Intel Xeon E5-4655v3 , ram 8GB.
STT Loại ràng buộc raSAT – Pairwise testing raSAT - Old
1 zankl (SAT) 33 41
2 zankl (UNSAT) 12 14
3 meti-tarski (SAT) 4801 4597
4 meti-tarski (UNSAT) 1772 1750
5 hong (SAT) 0 0
6 hong (UNSAT) 4 5
7 LassoRanker (SAT) 45 5
8 LassoRanker (UNSAT) 0 0
9 kissing (SAT) 17 12
10 kissing (UNSAT) 0 0
11 hycomp (SAT) 128 6
12 hycomp (UNSAT) 1724 1720
Total 8536 8150
Time(s) 7500302.763 8562351.838
17
Nhận xét: Số lượng bài toán raSAT mới giải được tăng lên 386 bài. Đặc biệt với
loại ràng buộc meti-tarski số lượng ràng buộc SAT tăng lên khá lớn (204 bài) hay loại
hycomp (SAT) tăng lên 122 bài. Tuy nhiên với loại ràng buộc có số lượng biến lớn
như zankl số lượng giải được bị giảm đi (10 bài) nguyên nhân là do tốn nhiều thời
gian cho testing dẫn đến thời gian cho phân rã khoảng ít đi. Về mặt thời gian raSAT
mới cũng đã cải thiện được 1062049.075s . Như vậy xét về tổng thể raSAT áp dụng
kiểm thử cặp đôi đã cải thiện được hai tiêu chí gồm tăng số lượng bài toán giải được
và giảm tổng thời gian cho tất cả các loại ràng buộc.
18
KẾT LUẬN
Giải các ràng buộc toán học có vai trò quan trọng trong kiểm chứng phần cứng
và phần mềm. Trong luận văn này chúng tôi trình bày phương pháp tính toán khoảng
để giải tự động các ràng buộc toán học, cụ thể giải các ràng buộc đa thức phi tuyến
tính.
Trong luận văn chúng tôi trình bày rõ ràng kiến trúc của 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ự và số nguyên. Trong
luận văn này chúng tôi đề xuất áp dụng kiểm thử cặp đôi và bước kiểm thử (testing)
nhằm mục đích có thể chọn nhiều giá trị hơn cho mỗi biến mà số lượng ca kiểm thử
không quá lớn. Sau khi cài đặt và thực nghiệm kết quả đạt được đã tốt hơn cả về mặt
số lượng bài toán giải được và tổng thời gian giảm đi. Như vậy kết quả thực nghiệm
đã đúng như mục tiêu của luận văn đề ra ban đầu.
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.
19
TÀI LIỆU THAM KHẢO
[1]. To Van Khanh, Mizuhito Ogawa. SMT for Polynomial Constraints on Real
Numbers http://www.jaist.ac.jp/~mizuhito/papers/conference/TAPAS12.pdf
[2]. To Van Khanh, Mizuhito Ogawa. SMT for Polynomial Constraints and Its
Application
[3]. To Van Khanh, Mizuhito Ogawa. raSAT: SMT for Polynomial Inequality.
JAIST Technical Report 2013, IS-RR-2013-003
http://hdl.handle.net/10119/11349
[4]. Vu Xuan Tung, To Van Khanh, Mizuhito Ogawa. raSAT: An SMT Solver for
Polynomial Constraints http://www.jaist.ac.jp/~s1310007/raSAT/
[5]. Moore, R. E. Interval Analysis. Prentice-Hall, 1966
[6]. Comba, J. L. D., and Stolfi, J. Affine arithmetic and its applications to computer
graphics. In Proceedings of VI SIBGRAPI. (1993)
[7]. Stolfi, J. Self-Validated Numerical Methods and Applications. PhD thesis, PhD.
Dissertation, Computer Science Department, Stanford University, 1997.
[8]. raSat SMT Solver http://www.jaist.ac.jp/~s1310007/raSAT/
[9]. Stolfi, Figueiredo. An Introduction to Affine Arithmetic
http://www.sbmac.org.br/tema/seletas/docs/v4_3/101_01summary.pdf
[10].Cristina Borralleras, Salvador Lucas, Albert Oliveras, Enric Rodríguez-
Carbonell, Albert Rubio. SAT Modulo Linear Arithmetic for Solving Polynomial
Constraints
[11].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.
[12].Harald Ganzinger, George Hagen, Robert Nieuwenhuis, Albert Oliveras, Cesare
Tinelli. DPLL(T): Fast Decision Procedures
[13].Robert Nieuwenhuis, Albert Oliveras, Cesare Tinelli. Abstract DPLL and
Abstract DPLL Modulo Theories.
Miquel Bofill, Robert Nieuwenhuis, Albert Oliveras, Enric Rodríguez-Carbonell
Albert Rubio. The Barcelogic SMT Solver
http://www.cs.upc.edu/~oliveras/espai/papers/cav08.pdf
[14].Armin Biere, Marijn Heule, Hans van Maaren, Toby Walsch IOS Press (2008),
Handbook of Satisfiability, Dimitris Achlioptas.

More Related Content

What's hot

Hdc cttoan gdtx_tn_k10
Hdc cttoan gdtx_tn_k10Hdc cttoan gdtx_tn_k10
Hdc cttoan gdtx_tn_k10ntquangbs
 
Bai 5 uoc luong cac tham cua bien ngau nhien
Bai 5   uoc luong cac tham cua bien ngau nhienBai 5   uoc luong cac tham cua bien ngau nhien
Bai 5 uoc luong cac tham cua bien ngau nhienbatbai
 
Slide Kinh tế lượng
Slide Kinh tế lượngSlide Kinh tế lượng
Slide Kinh tế lượngTran Dat
 
HƯỚNG DẪN SỬ DỤNG DATA-TABLE
HƯỚNG DẪN SỬ DỤNG DATA-TABLEHƯỚNG DẪN SỬ DỤNG DATA-TABLE
HƯỚNG DẪN SỬ DỤNG DATA-TABLEhoang_duyuyen
 
Cac dang toan lien quan den khao sat ham so
Cac dang toan lien quan den khao sat ham soCac dang toan lien quan den khao sat ham so
Cac dang toan lien quan den khao sat ham soHuynh ICT
 
Phát hiện và khắc phục phương sai thay đổi (heteroskedasticity) trên Eview, S...
Phát hiện và khắc phục phương sai thay đổi (heteroskedasticity) trên Eview, S...Phát hiện và khắc phục phương sai thay đổi (heteroskedasticity) trên Eview, S...
Phát hiện và khắc phục phương sai thay đổi (heteroskedasticity) trên Eview, S...vietlod.com
 
Báo cáo thảo luận nhóm 14
Báo cáo thảo luận nhóm 14Báo cáo thảo luận nhóm 14
Báo cáo thảo luận nhóm 14huongdangyeu91
 
TÀI LIỆU HƯỚNG DẪN THÍ NGHIỆM VẬT LÝ ĐẠI CƯƠNG ĐIỆN-TỪ VÀ QUANG_10294612052019
TÀI LIỆU HƯỚNG DẪN THÍ NGHIỆM VẬT LÝ ĐẠI CƯƠNG ĐIỆN-TỪ VÀ QUANG_10294612052019TÀI LIỆU HƯỚNG DẪN THÍ NGHIỆM VẬT LÝ ĐẠI CƯƠNG ĐIỆN-TỪ VÀ QUANG_10294612052019
TÀI LIỆU HƯỚNG DẪN THÍ NGHIỆM VẬT LÝ ĐẠI CƯƠNG ĐIỆN-TỪ VÀ QUANG_10294612052019phamhieu56
 
Bai tap giai tich 2
Bai tap giai tich 2Bai tap giai tich 2
Bai tap giai tich 2quyet tran
 
Kinh te lương chương 5
Kinh te lương chương 5Kinh te lương chương 5
Kinh te lương chương 5hung bonglau
 
Ôn tập lý thuyết kinh tế lượng
Ôn tập lý thuyết kinh tế lượng Ôn tập lý thuyết kinh tế lượng
Ôn tập lý thuyết kinh tế lượng Quynh Anh Nguyen
 
BàI ThảO LuậN ktl
BàI ThảO LuậN  ktlBàI ThảO LuậN  ktl
BàI ThảO LuậN ktlRatleback
 
CHƯƠNG 1 ĐẠI SỐ MA TRẬN ỨNG DỤNG TRONG GIẢI TÍCH MẠNG
CHƯƠNG 1  ĐẠI SỐ MA TRẬN ỨNG DỤNG TRONG GIẢI  TÍCH MẠNGCHƯƠNG 1  ĐẠI SỐ MA TRẬN ỨNG DỤNG TRONG GIẢI  TÍCH MẠNG
CHƯƠNG 1 ĐẠI SỐ MA TRẬN ỨNG DỤNG TRONG GIẢI TÍCH MẠNGĐinh Công Thiện Taydo University
 
C9 bai giang kinh te luong
C9 bai giang kinh te luongC9 bai giang kinh te luong
C9 bai giang kinh te luongrobodientu
 
Trắc nghiệm cực trị hàm số (chủ đề 2)
Trắc nghiệm cực trị hàm số (chủ đề 2)Trắc nghiệm cực trị hàm số (chủ đề 2)
Trắc nghiệm cực trị hàm số (chủ đề 2)VuKirikou
 
Công thức kinh tế lượng
Công thức kinh tế lượngCông thức kinh tế lượng
Công thức kinh tế lượngdlmonline24h
 
C fakepathly-thuyet 1
C fakepathly-thuyet 1C fakepathly-thuyet 1
C fakepathly-thuyet 1maiquyen_85
 
Bảng các thông số trong hồi quy eview
Bảng các thông số trong hồi quy eviewBảng các thông số trong hồi quy eview
Bảng các thông số trong hồi quy eviewthewindcold
 

What's hot (20)

Hdc cttoan gdtx_tn_k10
Hdc cttoan gdtx_tn_k10Hdc cttoan gdtx_tn_k10
Hdc cttoan gdtx_tn_k10
 
Bai 5 uoc luong cac tham cua bien ngau nhien
Bai 5   uoc luong cac tham cua bien ngau nhienBai 5   uoc luong cac tham cua bien ngau nhien
Bai 5 uoc luong cac tham cua bien ngau nhien
 
Slide Kinh tế lượng
Slide Kinh tế lượngSlide Kinh tế lượng
Slide Kinh tế lượng
 
HƯỚNG DẪN SỬ DỤNG DATA-TABLE
HƯỚNG DẪN SỬ DỤNG DATA-TABLEHƯỚNG DẪN SỬ DỤNG DATA-TABLE
HƯỚNG DẪN SỬ DỤNG DATA-TABLE
 
Cac dang toan lien quan den khao sat ham so
Cac dang toan lien quan den khao sat ham soCac dang toan lien quan den khao sat ham so
Cac dang toan lien quan den khao sat ham so
 
Phát hiện và khắc phục phương sai thay đổi (heteroskedasticity) trên Eview, S...
Phát hiện và khắc phục phương sai thay đổi (heteroskedasticity) trên Eview, S...Phát hiện và khắc phục phương sai thay đổi (heteroskedasticity) trên Eview, S...
Phát hiện và khắc phục phương sai thay đổi (heteroskedasticity) trên Eview, S...
 
Huong dan thuc hanh kinh te luong
Huong dan thuc hanh kinh te luongHuong dan thuc hanh kinh te luong
Huong dan thuc hanh kinh te luong
 
Báo cáo thảo luận nhóm 14
Báo cáo thảo luận nhóm 14Báo cáo thảo luận nhóm 14
Báo cáo thảo luận nhóm 14
 
TÀI LIỆU HƯỚNG DẪN THÍ NGHIỆM VẬT LÝ ĐẠI CƯƠNG ĐIỆN-TỪ VÀ QUANG_10294612052019
TÀI LIỆU HƯỚNG DẪN THÍ NGHIỆM VẬT LÝ ĐẠI CƯƠNG ĐIỆN-TỪ VÀ QUANG_10294612052019TÀI LIỆU HƯỚNG DẪN THÍ NGHIỆM VẬT LÝ ĐẠI CƯƠNG ĐIỆN-TỪ VÀ QUANG_10294612052019
TÀI LIỆU HƯỚNG DẪN THÍ NGHIỆM VẬT LÝ ĐẠI CƯƠNG ĐIỆN-TỪ VÀ QUANG_10294612052019
 
Bai tap giai tich 2
Bai tap giai tich 2Bai tap giai tich 2
Bai tap giai tich 2
 
Kinh te lương chương 5
Kinh te lương chương 5Kinh te lương chương 5
Kinh te lương chương 5
 
Ôn tập lý thuyết kinh tế lượng
Ôn tập lý thuyết kinh tế lượng Ôn tập lý thuyết kinh tế lượng
Ôn tập lý thuyết kinh tế lượng
 
Luận văn: Hồi quy bội tuyến tính và Hồi quy phi tuyến, HOT, 9đ
Luận văn: Hồi quy bội tuyến tính và Hồi quy phi tuyến, HOT, 9đLuận văn: Hồi quy bội tuyến tính và Hồi quy phi tuyến, HOT, 9đ
Luận văn: Hồi quy bội tuyến tính và Hồi quy phi tuyến, HOT, 9đ
 
BàI ThảO LuậN ktl
BàI ThảO LuậN  ktlBàI ThảO LuậN  ktl
BàI ThảO LuậN ktl
 
CHƯƠNG 1 ĐẠI SỐ MA TRẬN ỨNG DỤNG TRONG GIẢI TÍCH MẠNG
CHƯƠNG 1  ĐẠI SỐ MA TRẬN ỨNG DỤNG TRONG GIẢI  TÍCH MẠNGCHƯƠNG 1  ĐẠI SỐ MA TRẬN ỨNG DỤNG TRONG GIẢI  TÍCH MẠNG
CHƯƠNG 1 ĐẠI SỐ MA TRẬN ỨNG DỤNG TRONG GIẢI TÍCH MẠNG
 
C9 bai giang kinh te luong
C9 bai giang kinh te luongC9 bai giang kinh te luong
C9 bai giang kinh te luong
 
Trắc nghiệm cực trị hàm số (chủ đề 2)
Trắc nghiệm cực trị hàm số (chủ đề 2)Trắc nghiệm cực trị hàm số (chủ đề 2)
Trắc nghiệm cực trị hàm số (chủ đề 2)
 
Công thức kinh tế lượng
Công thức kinh tế lượngCông thức kinh tế lượng
Công thức kinh tế lượng
 
C fakepathly-thuyet 1
C fakepathly-thuyet 1C fakepathly-thuyet 1
C fakepathly-thuyet 1
 
Bảng các thông số trong hồi quy eview
Bảng các thông số trong hồi quy eviewBảng các thông số trong hồi quy eview
Bảng các thông số trong hồi quy eview
 

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

Tính toán khoa học - Chương 0: Introduction
Tính toán khoa học - Chương 0: IntroductionTính toán khoa học - Chương 0: Introduction
Tính toán khoa học - Chương 0: IntroductionChien Dang
 
Math educare] toan a1-giai tich ham mot bien_giai tich ham nhieu bien_phuong ...
Math educare] toan a1-giai tich ham mot bien_giai tich ham nhieu bien_phuong ...Math educare] toan a1-giai tich ham mot bien_giai tich ham nhieu bien_phuong ...
Math educare] toan a1-giai tich ham mot bien_giai tich ham nhieu bien_phuong ...Nguyen Vietnam
 
bo-de-tham-khao-giua-hoc-ky-2-toan-8-nam-2023-2024-phong-gddt-tp-hai-duong.pdf
bo-de-tham-khao-giua-hoc-ky-2-toan-8-nam-2023-2024-phong-gddt-tp-hai-duong.pdfbo-de-tham-khao-giua-hoc-ky-2-toan-8-nam-2023-2024-phong-gddt-tp-hai-duong.pdf
bo-de-tham-khao-giua-hoc-ky-2-toan-8-nam-2023-2024-phong-gddt-tp-hai-duong.pdfLinhTrnTh14
 
Gt ung dung tin hoc trong kinh doanh
Gt ung dung tin hoc trong kinh doanhGt ung dung tin hoc trong kinh doanh
Gt ung dung tin hoc trong kinh doanhvantai30
 
Luận văn: Bài toán trên không chính quy cho hệ phương trình vi phân hàm bậc cao
Luận văn: Bài toán trên không chính quy cho hệ phương trình vi phân hàm bậc caoLuận văn: Bài toán trên không chính quy cho hệ phương trình vi phân hàm bậc cao
Luận văn: Bài toán trên không chính quy cho hệ phương trình vi phân hàm bậc caoViết thuê trọn gói ZALO 0934573149
 
Lap trinh matlab_co_ban_1731
Lap trinh matlab_co_ban_1731Lap trinh matlab_co_ban_1731
Lap trinh matlab_co_ban_1731Vu Tuan
 
bai giang Matlab
bai giang Matlabbai giang Matlab
bai giang Matlableoteo113
 
Bai toan va thuat toan
Bai toan va thuat toanBai toan va thuat toan
Bai toan va thuat toanHữu Duy Duy
 
Luận văn: Một số lớp bài toán về loại phương trình hàm, HAY - Gửi miễn phí qu...
Luận văn: Một số lớp bài toán về loại phương trình hàm, HAY - Gửi miễn phí qu...Luận văn: Một số lớp bài toán về loại phương trình hàm, HAY - Gửi miễn phí qu...
Luận văn: Một số lớp bài toán về loại phương trình hàm, HAY - Gửi miễn phí qu...Dịch vụ viết bài trọn gói ZALO: 0909232620
 

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

Tính toán khoa học - Chương 0: Introduction
Tính toán khoa học - Chương 0: IntroductionTính toán khoa học - Chương 0: Introduction
Tính toán khoa học - Chương 0: Introduction
 
Math educare] toan a1-giai tich ham mot bien_giai tich ham nhieu bien_phuong ...
Math educare] toan a1-giai tich ham mot bien_giai tich ham nhieu bien_phuong ...Math educare] toan a1-giai tich ham mot bien_giai tich ham nhieu bien_phuong ...
Math educare] toan a1-giai tich ham mot bien_giai tich ham nhieu bien_phuong ...
 
bo-de-tham-khao-giua-hoc-ky-2-toan-8-nam-2023-2024-phong-gddt-tp-hai-duong.pdf
bo-de-tham-khao-giua-hoc-ky-2-toan-8-nam-2023-2024-phong-gddt-tp-hai-duong.pdfbo-de-tham-khao-giua-hoc-ky-2-toan-8-nam-2023-2024-phong-gddt-tp-hai-duong.pdf
bo-de-tham-khao-giua-hoc-ky-2-toan-8-nam-2023-2024-phong-gddt-tp-hai-duong.pdf
 
Gt ung dung tin hoc trong kinh doanh
Gt ung dung tin hoc trong kinh doanhGt ung dung tin hoc trong kinh doanh
Gt ung dung tin hoc trong kinh doanh
 
Luận văn: Phép biến đổi phân tuyến tính, HAY, 9đ
Luận văn: Phép biến đổi phân tuyến tính, HAY, 9đLuận văn: Phép biến đổi phân tuyến tính, HAY, 9đ
Luận văn: Phép biến đổi phân tuyến tính, HAY, 9đ
 
Chuong01
Chuong01Chuong01
Chuong01
 
Luận văn: Phương trình phi tuyến không chỉnh loại J - đơn điệu, 9đ
Luận văn: Phương trình phi tuyến không chỉnh loại J - đơn điệu, 9đLuận văn: Phương trình phi tuyến không chỉnh loại J - đơn điệu, 9đ
Luận văn: Phương trình phi tuyến không chỉnh loại J - đơn điệu, 9đ
 
Luận văn: Phương pháp xây dựng độ đo và tích phân, HOT, 9đ
Luận văn: Phương pháp xây dựng độ đo và tích phân, HOT, 9đLuận văn: Phương pháp xây dựng độ đo và tích phân, HOT, 9đ
Luận văn: Phương pháp xây dựng độ đo và tích phân, HOT, 9đ
 
Ứng Dụng Công Thức Viète Trong Giải Toán Bậc Phổ Thông.doc
Ứng Dụng Công Thức Viète Trong Giải Toán Bậc Phổ Thông.docỨng Dụng Công Thức Viète Trong Giải Toán Bậc Phổ Thông.doc
Ứng Dụng Công Thức Viète Trong Giải Toán Bậc Phổ Thông.doc
 
Luận văn: Bài toán trên không chính quy cho hệ phương trình vi phân hàm bậc cao
Luận văn: Bài toán trên không chính quy cho hệ phương trình vi phân hàm bậc caoLuận văn: Bài toán trên không chính quy cho hệ phương trình vi phân hàm bậc cao
Luận văn: Bài toán trên không chính quy cho hệ phương trình vi phân hàm bậc cao
 
Simpson
SimpsonSimpson
Simpson
 
Phân cụm đa mô hình và ứng dụng trong phân đoạn ảnh viễn thám
Phân cụm đa mô hình và ứng dụng trong phân đoạn ảnh viễn thámPhân cụm đa mô hình và ứng dụng trong phân đoạn ảnh viễn thám
Phân cụm đa mô hình và ứng dụng trong phân đoạn ảnh viễn thám
 
matlab co ban
matlab co banmatlab co ban
matlab co ban
 
Lap trinh matlab_co_ban_1731
Lap trinh matlab_co_ban_1731Lap trinh matlab_co_ban_1731
Lap trinh matlab_co_ban_1731
 
Luận văn: Bất đẳng thức trong lớp hàm siêu việt, HAY, 9đ
Luận văn: Bất đẳng thức trong lớp hàm siêu việt, HAY, 9đLuận văn: Bất đẳng thức trong lớp hàm siêu việt, HAY, 9đ
Luận văn: Bất đẳng thức trong lớp hàm siêu việt, HAY, 9đ
 
bai giang Matlab
bai giang Matlabbai giang Matlab
bai giang Matlab
 
Bai toan va thuat toan
Bai toan va thuat toanBai toan va thuat toan
Bai toan va thuat toan
 
Chap5 new
Chap5 newChap5 new
Chap5 new
 
Luận văn: Một số lớp bài toán về loại phương trình hàm, HAY - Gửi miễn phí qu...
Luận văn: Một số lớp bài toán về loại phương trình hàm, HAY - Gửi miễn phí qu...Luận văn: Một số lớp bài toán về loại phương trình hàm, HAY - Gửi miễn phí qu...
Luận văn: Một số lớp bài toán về loại phương trình hàm, HAY - Gửi miễn phí qu...
 
Luận văn: Một số lớp bài toán về phương trình hàm, HAY, 9đ
Luận văn: Một số lớp bài toán về phương trình hàm, HAY, 9đLuận văn: Một số lớp bài toán về phương trình hàm, HAY, 9đ
Luận văn: Một số lớp bài toán về phương trình hàm, HAY, 9đ
 

More from Dịch vụ viết bài trọn gói ZALO 0917193864

Danh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏi
Danh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏiDanh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏi
Danh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏiDịch vụ viết bài trọn gói ZALO 0917193864
 

More from Dịch vụ viết bài trọn gói ZALO 0917193864 (20)

200 de tai khoa luạn tot nghiep nganh tam ly hoc
200 de tai khoa luạn tot nghiep nganh tam ly hoc200 de tai khoa luạn tot nghiep nganh tam ly hoc
200 de tai khoa luạn tot nghiep nganh tam ly hoc
 
Danh sách 200 đề tài luận văn tốt nghiệp ngành khách sạn,10 điểm
Danh sách 200 đề tài luận văn tốt nghiệp ngành khách sạn,10 điểmDanh sách 200 đề tài luận văn tốt nghiệp ngành khách sạn,10 điểm
Danh sách 200 đề tài luận văn tốt nghiệp ngành khách sạn,10 điểm
 
Danh sách 200 đề tài luận văn thạc sĩ ngân hàng, hay nhất
Danh sách 200 đề tài luận văn thạc sĩ ngân hàng, hay nhấtDanh sách 200 đề tài luận văn thạc sĩ ngân hàng, hay nhất
Danh sách 200 đề tài luận văn thạc sĩ ngân hàng, hay nhất
 
Danh sách 200 đề tài luận văn thạc sĩ ngữ văn, hay nhất
Danh sách 200 đề tài luận văn thạc sĩ ngữ văn, hay nhấtDanh sách 200 đề tài luận văn thạc sĩ ngữ văn, hay nhất
Danh sách 200 đề tài luận văn thạc sĩ ngữ văn, hay nhất
 
Danh sách 200 đề tài luận văn thạc sĩ ô tô, 10 điểm
Danh sách 200 đề tài luận văn thạc sĩ ô tô, 10 điểmDanh sách 200 đề tài luận văn thạc sĩ ô tô, 10 điểm
Danh sách 200 đề tài luận văn thạc sĩ ô tô, 10 điểm
 
Danh sách 200 đề tài luận văn thạc sĩ quản lý giáo dục mầm non, mới nhất
Danh sách 200 đề tài luận văn thạc sĩ quản lý giáo dục mầm non, mới nhấtDanh sách 200 đề tài luận văn thạc sĩ quản lý giáo dục mầm non, mới nhất
Danh sách 200 đề tài luận văn thạc sĩ quản lý giáo dục mầm non, mới nhất
 
Danh sách 200 đề tài luận văn thạc sĩ quản trị rủi ro, hay nhất
Danh sách 200 đề tài luận văn thạc sĩ quản trị rủi ro, hay nhấtDanh sách 200 đề tài luận văn thạc sĩ quản trị rủi ro, hay nhất
Danh sách 200 đề tài luận văn thạc sĩ quản trị rủi ro, hay nhất
 
Danh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏi
Danh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏiDanh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏi
Danh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏi
 
Danh sách 200 đề tài luận văn thạc sĩ tiêm chủng mở rộng, 10 điểm
Danh sách 200 đề tài luận văn thạc sĩ tiêm chủng mở rộng, 10 điểmDanh sách 200 đề tài luận văn thạc sĩ tiêm chủng mở rộng, 10 điểm
Danh sách 200 đề tài luận văn thạc sĩ tiêm chủng mở rộng, 10 điểm
 
danh sach 200 de tai luan van thac si ve rac nhua
danh sach 200 de tai luan van thac si ve rac nhuadanh sach 200 de tai luan van thac si ve rac nhua
danh sach 200 de tai luan van thac si ve rac nhua
 
Kinh Nghiệm Chọn 200 Đề Tài Tiểu Luận Chuyên Viên Chính Trị Hay Nhất
Kinh Nghiệm Chọn 200 Đề Tài Tiểu Luận Chuyên Viên Chính Trị Hay NhấtKinh Nghiệm Chọn 200 Đề Tài Tiểu Luận Chuyên Viên Chính Trị Hay Nhất
Kinh Nghiệm Chọn 200 Đề Tài Tiểu Luận Chuyên Viên Chính Trị Hay Nhất
 
Kho 200 Đề Tài Bài Luận Văn Tốt Nghiệp Ngành Kế Toán, 9 điểm
Kho 200 Đề Tài Bài Luận Văn Tốt Nghiệp Ngành Kế Toán, 9 điểmKho 200 Đề Tài Bài Luận Văn Tốt Nghiệp Ngành Kế Toán, 9 điểm
Kho 200 Đề Tài Bài Luận Văn Tốt Nghiệp Ngành Kế Toán, 9 điểm
 
Kho 200 Đề Tài Luận Văn Ngành Thủy Sản, từ các trường đại học
Kho 200 Đề Tài Luận Văn Ngành Thủy Sản, từ các trường đại họcKho 200 Đề Tài Luận Văn Ngành Thủy Sản, từ các trường đại học
Kho 200 Đề Tài Luận Văn Ngành Thủy Sản, từ các trường đại học
 
Kho 200 đề tài luận văn ngành thương mại điện tử
Kho 200 đề tài luận văn ngành thương mại điện tửKho 200 đề tài luận văn ngành thương mại điện tử
Kho 200 đề tài luận văn ngành thương mại điện tử
 
Kho 200 đề tài luận văn tốt nghiệp ngành điện tử viễn thông, 9 điểm
Kho 200 đề tài luận văn tốt nghiệp ngành điện tử viễn thông, 9 điểmKho 200 đề tài luận văn tốt nghiệp ngành điện tử viễn thông, 9 điểm
Kho 200 đề tài luận văn tốt nghiệp ngành điện tử viễn thông, 9 điểm
 
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Giáo Dục Tiểu Học
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Giáo Dục Tiểu HọcKho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Giáo Dục Tiểu Học
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Giáo Dục Tiểu Học
 
Kho 200 đề tài luận văn tốt nghiệp ngành luật, hay nhất
Kho 200 đề tài luận văn tốt nghiệp ngành luật, hay nhấtKho 200 đề tài luận văn tốt nghiệp ngành luật, hay nhất
Kho 200 đề tài luận văn tốt nghiệp ngành luật, hay nhất
 
Kho 200 đề tài luận văn tốt nghiệp ngành quản trị văn phòng, 9 điểm
Kho 200 đề tài luận văn tốt nghiệp ngành quản trị văn phòng, 9 điểmKho 200 đề tài luận văn tốt nghiệp ngành quản trị văn phòng, 9 điểm
Kho 200 đề tài luận văn tốt nghiệp ngành quản trị văn phòng, 9 điểm
 
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Sư Phạm Tin Học
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Sư Phạm Tin HọcKho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Sư Phạm Tin Học
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Sư Phạm Tin Học
 
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Xuất Nhập Khẩu
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Xuất Nhập KhẩuKho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Xuất Nhập Khẩu
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Xuất Nhập Khẩu
 

Recently uploaded

30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...Nguyen Thanh Tu Collection
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...Nguyen Thanh Tu Collection
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfhoangtuansinh1
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líDr K-OGN
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................TrnHoa46
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...Nguyen Thanh Tu Collection
 
powerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxpowerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxAnAn97022
 
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...hoangtuansinh1
 
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfchuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfVyTng986513
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Nguyen Thanh Tu Collection
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfTrnHoa46
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdfTrnHoa46
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoáCác điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoámyvh40253
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIĐiện Lạnh Bách Khoa Hà Nội
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhvanhathvc
 

Recently uploaded (20)

30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
 
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
 
powerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxpowerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptx
 
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
 
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfchuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdf
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoáCác điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
 

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

  • 1. 1 LỜI MỞ ĐẦU ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐẠI HỌC QUỐC GIA HÀ NỘI 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ố: 60 48 01 03 TÓM TẮT LUẬN VĂN THẠC SĨ HÀ NỘI – 2016
  • 2. 1 LỜI MỞ ĐẦUChương 1. 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 hệ thống. 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 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 toán học (Polynomial constraint) được ứng dụng nhiều trong phân tích hệ thống và 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 toán học là đưa ra kết luận ràng buộc đó là SAT hoặc UNSAT. Việc tìm kết quả chính xác của một đa thức đôi khi là việc vô cùng khó khăn và phức tạp. Do vậy việc tìm kiếm kết quả gần đúng với kết quả chính xác với mức độ
  • 3. 2 sai số có thể chấp nhận được là một giải pháp. Thay vì tìm kiếm kết quả chính xác ta sẽ đi tìm tiệp cận trên và tiệm cận dưới của kết quả đó. Ở luận văn này chúng tôi sẽ tập trung nghiên cứu về các kỹ thuật giải các ràng buộc không tuyến tính (non-linear constraints) bằng phương pháp xấp xỉ (approximation methods) và thực nghiệm trên công cụ SMT Solver raSAT. Cụ thể mục tiêu của luận văn là nghiên cứu và áp dụng các kĩ thuật tính toán khoảng (Interval Arithmetic) để giải tự động các ràng buộc toán học. Luận văn bao gồm 4 chương, trong đó phần giới thiệu về giải các ràng buộc toán học và ứng dụng của giải các ràng buộc toán học sẽ nằm ở Chương 1. Chương 2: Giới thiệu về phương pháp tính toán khoảng và các kĩ thuật tính xấp xỉ (over approximation) gồm Classical Interval (CA), Affine Interval (AI) và Chebyshev Approximation Interval (CIA). Chương 3: Giới thiệu về SAT Solver và SMT Solver. Tìm hiểu và ứng dụng công cụ SMT Solver raSAT trong việc giải các ràng buộc đa thức. Chương 4: Thực nghiệm kĩ thuật kiểm thử đôi một trên công cụ SMT Solver raSAT để giải các ràng buộc. Phần kết luận: Kết luận và hướng nghiên cứu dự định trong tương lai.
  • 4. 3 PHƯƠNG PHÁP TÍNH TOÁN KHOẢHƯChương 2. Trong chương này tôi sẽ trình bày lý thuyết về phương pháp tính toán khoảng 2.1. Giới thiệu về phương pháp tính toán khoảng Trong các tính toán số học đôi khi việc tìm được kết quả chính xác là việc vô cùng khó khăn, do vậy việc tính toán các giá trị gần đúng với kết quả thực tế là một giải pháp được đưa ra. Phương pháp tính toán khoảng (Interval Arithmetic - IA) sử dụng để tìm cận trên và cận dưới của các ràng buộc dựa trên phương pháp tính xấp xỉ (approximation methods). Phương pháp này được áp dụng cho giải các bài toán để tìm ra kết quả gần đúng với mức độ lỗi có thể chấp nhận được. Ví dụ: Với phương trình x2 + x − 6 = 0 ta dễ dàng sử dụng công thức biến đổi trong trương trình trung học cơ sở để tìm được nghiệm của phương trình là x1 = −3 và x2 = +2. Tuy nhiên với một số bài toán không thể tìm được nghiệm chính xác của bài toán, ví dụ với phương trình x2 − 2 = 0 thì nghiệm được biểu diễn √2. Như vậy nếu chỉ sử dụng các kiểu số cơ bản thì không thể biểu diễn chính xác tất cả các giá trị của bài toán mà bắt buộc phải làm tròn để lấy giá trị xấp xỉ. Do vậy các nhà khoa học đã đưa ra lý thuyết tính toán khoảng (Interval Arithmetic -IA) để kiểm soát lỗi làm tròn trong các tính toán, do vậy kết quả thu được sẽ được kiểm soát về độ tin cậy. Các số thực x, y trong phương pháp tính toán khoảng được biểu diễn như sau:  x = [ x , x ], y = [ y , y ], Trong đó x = min( x ∈ x ) , y = min( y ∈ y ) là cận dưới lần lượt của x và y, x = max ( x ∈ x ), y = max ( y ∈ y) là cận trên lần lượt của x và y .  x = y nếu x = y và x = y  x < 𝑦 nếu x < y  x > 𝑦 nếu y > y  x là số thực đơn (single real number) nếu x = x. Ví dụ 0 = [ 0 , 0 ]
  • 5. 4 Trong phương pháp tính toán khoảng có hai kĩ thuật chính gồm Classical Interval (CI) và Affine Arithmetic (AF). Ngoài ra còn một số kĩ thuật được phát triển từ hai kĩ thuật trên gồm AF1, AF2 và Chebyshev Affine Interval (C AI). Chi tiết các kĩ thuật sẽ được trình bày lần lượt ở phần tiếp theo của luận văn. 2.2. Phương pháp tính toán khoảng CI Kĩ thuật tính toán khoảng Classical Interval (CI) được tác giả Ramnon E.Moore giới thiệu vào năm 1960. Ý tưởng chính của kĩ thuật này là đặt giới hạn lỗi làm tròn trong các tính toán số học bằng cách biểu diễn mỗi giá trị trong CI bởi một khoảng giới hạn. Các khoảng giới hạn này sẽ được sử dụng để tính toán thay thế cho giá trị gốc. Kĩ thuật Classical Interval được định nghĩa như sau. Định nghĩa 2.2.1: Một Classical Interval của x là một khoảng x = [ xl , xu] trong đó xl ≤ x ≤ xu . Định nghĩa 2.2.2: Các phép toán cơ bản trong Classical Interval gồm ☉= { + , − , × ,÷ } được định nghĩa như sau.  [ xl , xu] + [ yl , yu] = [ xl + yl , xu + yu ]  [ xl , xu] − [ yl , yu] = [ xl − yu , xu − yl]  [xl , xu ] × [ yl , yu ] = [min(xlyl, xlyu , xuyl, xuyu), max(xl yl, xlyu, xuyl, xuyu) ]  [xl , xu] ÷ [ yl , yu] = [ xl , xu] × [ 1 yl , 1 yu ] nếu 0 ∉ [ yl , yu] Hạn chế của Classical Interval là kết quả tính toán có thể rộng hơn kết quả thực tế mong muốn trong các phép tính lớn. Khi mà kết quả ở một trạng thái là đầu vào của trạng thái tiếp theo. Nguyên nhân là do các đầu vào ban đầu của CI là độc lập và không phục thuộc nhau do đó trong trường hợp các tính toán có liên quan tới các đầu vào phục thuộc nhau sẽ làm kết quả của phép toán sai lệnh so với kết quả thực tế. Ví dụ với phép toán trừ ( − ) , sử dụng công thức ở 2.2.2 với x = [2 , 5] kết quả thu được là x − x = [2 , 5] − [2 , 5] = [−3 , 3] . Do kĩ thuật CI không thể nhận
  • 6. 5 biết được hai đầu vào là giống nhau nên sẽ biểu diễn hai giá trị với cùng một khoảng do vậy dẫn đến kết quả là [−3 , 3] thay vì kết quả chính xác là [0 , 0] . 2.3. Phương pháp tính toán khoảng Affine Interval Kĩ thuật tính toán khoảng Affine Interval (AI) được giới thiệu bởi hai tác giả Comba và Stolfi vào năm 1993. Kĩ thuật AI được phát triển từ kĩ thuật CI bằng cách tự động theo dõi việc làm tròn số để giảm thiểu các lỗi trong mỗi bước tính toán. Ngoài ra để khắc phục nhược điểm các đầu vào độc lập của CI như ở trên, AI có thể theo dõi mỗi tương tác giữa các thành phần của đa thức. Mục đích của AI là cung cấp các giới hạn tính toán để đảm bảo cho các kết quả tính toán có lỗi đủ nhỏ, đặc biệt trong các chuỗi tính toán lớn kĩ thuật AI sẽ phát huy được lợi thế này. AI được đánh giá là kĩ thuật có độ chính xác cao, tuy nhiên kĩ thuật này phức tạp và tốn nhiều chi phí cho việc áp dụng vào các ứng dụng thực tế. Các biến trong Affine Interval được biểu diễn bởi số thực ɛ (noise symbols) có giá trị trong khoảng [−1 , 1]. Các tính toán trong Affine Interval cho phép giữ giá trị ban đầu của các tính toán dựa trên kí tự ɛ và cải thiện độ chính xác khi thực hiện phép trừ (−). Ví dụ x ∈ (1 , 3), x được biểu diễn x = 2 + ɛ, khi đó x = (2 + ɛ) − (2 + ɛ) có giá trị hợp lý bằng 0. Affine Interval được phát triển dưới các dạng Affine Forms (AF) bằng cách xác định số lượng biến để theo dõi mức độ lỗi khi thực hiện lấy xấp xỉ hoặc làm tròn trong phép nhân. Phần tiếp theo của luận văn sẽ giới thiệu các dạng của Affine Interval gồm AF, AF1, AF2. 2.3.1. Dạng AF Định nghĩa 2.3.1: Dạng AF của biến x biểu diễn như sau: ẍ = a0 + ∑ aiɛi n i=1 Với x ∈ ( a0 − ∑|ai| n i=0 , a0 + ∑|ai| n i=0 ) , ɛi ∈ [−1 , 1] (noise symbols)
  • 7. 6 Định nghĩa 2.3.2: Cho x, y biểu diễn lần lượt dưới dạng AF như sau: ẍ = a0 + ∑ aiɛi n i=1 ÿ = b0 + ∑ biɛi n i=1 Các phép toán của dạng AF gồm ☉={ + , − , × ,÷ } như sau: ẍ + ÿ = (a0 + b0 ) + ∑(ai + bi)ɛi n i=1 ẍ − ÿ = (a0 − b0 ) + ∑(ai − bi)ɛi n i=1 ẍ × ÿ = (a0b0 ) + ∑(a0bi − b0ai)ɛi n i=1 + ( ∑|ai| n i=1 ) ( ∑|bi| n i=1 ) ɛn+1 ẍ ÷ ÿ = ẍ × 1 ÿ nếu 0 ∉ (b0 − ∑|bi| n i=0 , b0 + ∑|bi| n i=0 )) Với ɛn+1 là một noise symbols mới và 1 ÿ được tính bằng phương pháp xấp xỉ Chebyshev. Chuyển đổi giữa CI và AF: Với x ở dạng CI x = [ xl , xu ] chuyển thành AF Form của biến x như sau: ẍ = xu + xl 2 + xu − xl 2 ɛx Với x ở dạng AF Form ẍ = a0 + ∑ aiɛi chuyển thành CI của biến x như sau: n i=1 x = [ a0 − ∑|ai| n i=0 , a0 + ∑|ai| n i=0 ]
  • 8. 7 Dạng AF có hạn chế là khi tính toán với các ràng buộc phi tuyến tính lớn sẽ làm gia tăng noise symbols mới. 2.3.2. Dạng AF1 Dạng AF1 được mở rộng từ dạng AF bằng cách thêm một số thực ɛ⫨ (fixed error noise symbol) có giá trị trong khoảng [−1 , 1], để kiểm soát lỗi tính toán xấp xỉ của các toán hạng phi tuyến tính. Tất cả các toán hạng phi tuyến tính sẽ sử dụng biến này để tính toán. Định nghĩa 2.3.4: Dạng AF1 của biến x biểu diễn như sau: x̂ = a0 + ∑ aiɛi n i=1 + an+1ɛ⫨ Với x ∈ (a0 − ∑|ai| n i=0 − an+1, a0 + ∑|ai| + an+1 n i=0 ) , ɛi ∈ [−1 , 1] (noise symbols) , ɛ⫨ ∈ [−1 , 1] (fixed error noise symbol), an+1 ≥ 0. Định nghĩa 2.3.5: Biểu diễn x, y dưới dạng AF1 : x̂ = a0 + ∑ aiɛi n i=1 + an+1ɛ⫨ ŷ = b0 + ∑ biɛi + bn+1ɛ⫨ n i=1 Các phép toán của dạng AF1 gồm ☉ = { + , − , × ,÷ } như sau : x̂ + ŷ = (a0 + b0 ) + ∑(ai + bi)ɛi n i=1 + (an+1 + bn+1)ɛ⫨ x̂ − ŷ = (a0 − b0 ) + ∑(ai − bi)ɛi n i=1 + (an+1 + bn+1)ɛ⫨
  • 9. 8 x̂ × ŷ = (a0b0 ) + ∑(a0bi − b0ai)ɛi + (|a0|bn+1 + |b0|an+1) n i=1 + ( ∑|ai| n i=1 ) ( ∑|bi| n i=1 ) ɛ⫨ x̂ ÷ ŷ = x̂ × 1 ŷ nếu 0 ∉ (b0 − ∑|bi| n i=0 − bn+1, b0 + ∑|bi| n i=0 + bn+1)) Với 1 ŷ được tính bằng phương pháp xấp xỉ Chebyshev, an+1 ≥ 0 , bn+1 ≥ 0 và hệ số của ɛ⫨ là (an+1 + bn+1) với phép toán trừ (−) . 2.3.3. Dạng AF2 Dạng AF2 được mở rộng từ dạng AF1 bằng cách thêm hai số thực ɛ− ∈ [−1 ,0] (negative noise symbol) và ɛ+ ∈ [0 , 1] (positive noise symbol) để cải thiện độ chính xác của kết quả trong các biểu thức có hai noise symbol trở lên. Các noise symbol có hệ số hai trở lên sẽ được thay thế bằng ɛ− hoặc ɛ+ phụ thuộc vào hệ số của noise symbol đó trong ràng buộc. Định nghĩa 2.3.7: Dạng AF2 của biến x biểu diễn như sau : x̆ = a0 + ∑ aiɛi 2n i=1 + an+1ɛ+ + an+2ɛ− + an+3ɛ⫨ Với x ∈ ( a0 − ∑|ai| n i=0 − an+2 − an+3 , a0 + ∑|ai| + an+1 + an+3 n i=0 ) , ɛi ∈ [−1 , 1] (noise symbols), ɛ− ∈ [−1 ,0] (negative noise symbol), ɛ+ ∈ [0 , 1] (positive noise symbol) , ɛ⫨ ∈ [ −1 , 1] (fixed error noise symbol) và an+1 ≥ 0, an+2 ≥ 0, an+3 ≥ 0. Định nghĩa 2.3.8: Biểu diễn hai số x, y dưới dạng AF2 như sau: x̆ = a0 + ∑ aiɛi n i=1 + an+1ɛ+ + an+2ɛ− + an+3ɛ⫨
  • 10. 9 y̆ = b0 + ∑ bɛi n i=1 + bn+1ɛ+ + bn+2ɛ− + bn+3ɛ⫨ Các phép toán của AF2 form gồm ☉= { + , − , × ,÷ } như sau : x̆ + y̆ = (a0 + b0 ) + ∑(ai + bi)ɛi n i=1 + (an+1 + bn+1)ɛ+ + (an+2 + bn+2)ɛ− + (an+3 + bn+3)ɛ⫨ x̆ − y̆ = (a0 − b0 ) + ∑(ai − bi)ɛi n i=1 + (an+1 + bn+2)ɛ+ + (an+2 + bn+1)ɛ− + (an+3 + bn+3)ɛ⫨ x̆ × y̆ = (a0b0 ) + ∑(a0bi − b0ai)ɛi + n i=1 K1ɛ+ + K2ɛ− + K3ɛ⫨ Với K1 = ∑ aibi n+2 i=1,aibi >0 + { a0bn+1 + b0an+1 nếu a0 ≥ 0, b0 ≥ 0 a0bn+1 − b0an+2 nếu a0 > 0, 𝑏0 < 0 −a0bn+2 − b0an+1 nếu a0 < 0, 𝑏0 > 0 −a0bn+2 − b0an+2 nếu a0 < 0, 𝑏0 < 0 K2 = ∑ aibi n+2 i=1,aibi <0 + { a0bn+2 + b0an+2 nếu a0 ≥ 0, b0 ≥ 0 a0bn+2 − b0an+1 nếu a0 > 0, 𝑏0 < 0 −a0bn+1 − b0an+2 nếu a0 < 0, 𝑏0 > 0 −a0bn+1 − b0an+1 nếu a0 < 0, 𝑏0 < 0 K3 = ∑ ∑ |aibj| n+3 j=1,i # j n+3 i=1 + ( |a0|bn+3 + |b0|an+3) + (an+3 + bn+3) x̆ ÷ y̆ = x̆ × 1 y̆ nếu 0 ∉ ( b0 − ∑|bi| n i=0 − bn+2 − bn+3 , b0 + ∑|bi| + n i=0 bn+1 + bn+3 ) . Với 1 y̆ được tính bằng phương pháp xấp xỉ Chebyshev.
  • 11. 10 2.4. Phương pháp tính toán khoảng C AI Phương pháp tính toán khoảng Chebyshev Approximation Interval (C AI) được hai tác giả Tô Văn Khánh (UET/VNU-HN) và Mizuhito Ogawa (JAIST) giới thiệu vào năm 2012. Phương pháp tính toán khoảng C AI là một dạng mới của phương pháp tính toán khoảng Affine Interval được phát triển dựa trên phương pháp tính xấp xỉ Chebyshev. Định nghĩa 2.4.1: C AI của biến x biểu diễn dưới dạng sau : ẋ = a̅0 + ∑ a̅iɛi n i=1 + ∑ a̅i+nɛi+n n i=1 + a̅2n+1ɛ⫨ Với ɛi ∈ [−1 , 1] (noise symbols), ɛ⫨ ∈ [−1 , 1] (fixed error noise symbols), ɛi+1 ∈ [0 , 1] sử dụng biểu diễn cho giá trị tuyệt đối |ɛi| của ɛi , a̅i được biểu diễn dưới dạng CI. Ý tưởng chính của phương pháp này như sau:  Sử dụng một noise symbols mới ɛi+1 ∈ [0 , 1] để thay cho giá trị tuyệt đối của |ɛi| (ɛi+1 = |ɛi| ).  Giá trị xấp xỉ của x2 theo phương pháp tính xấp xỉ Chebyshev sẽ được tính bằng giá trị tuyệt đối của các noise symbols.  Với x ∈ (−1,1) , Giá trị sấp xỉ Chebyshev của x2 và x|x| lần lượt như sau:  |x| − 1 4 ≤ x2 = |x2| < |x|  x − 1 4 ≤ x|x| ≤ x + 1 4 Giá trị sấp xỉ Chebyshev của x2 và x|x| được mô tả cụ thể ở biểu đồ ở hình 1. Tương tự nếu áp dụng cho noise symbols ɛ sẽ tìm được giá trị xấp xỉ ɛ 2 và ɛ|ɛ| lần lượt như sau:  ɛ 2 = |ɛ||ɛ| = |ɛ| + (− 1 4 , 0)  ɛ|ɛ| = ɛ + (− 1 4 , 1 4 )
  • 12. 11 Hình 1: Đồ thị biểu diễn giá trị xấp xỉ Chebyshev của x2 và x|x|. SMT SOLVER VÀ SMT SOLVER raSATChương 3. 3.1. SAT Solver SAT (satisfiability problem of propositional logic) là công cụ để giải quyết các bài toán ở dạng logic mệnh đề. Bài toán SAT là bài toán chứng minh tính thỏa mãn hay không thỏa mãn (SAT/UNSAT) của một công thức mệnh đề logic. Các công cụ chứng minh tự động cho bài toán này gọi là SAT Solver. SAT Solver được ứng dụng trong việc giải các bài toán trí tuệ nhân tạo và xây dựng các công cụ kiểm thử tự động trong các phần mềm. SAT Solver đóng vai trò như các công cụ nền hỗ trợ cho các SMT Solver (SAT Modul Thoeries), là các công cụ chứng minh tính thỏa mãn của các công thức logic xây dựng trên lý thuyết logic vị từ cấp 1. SAT Solver có thể giải được biểu thức logic với hàng trăm ngàn hoặc thậm chí hàng triệu biến trong một mệnh đề dưới dạng chuẩn tắc hội (CNF- Conjunctive Normal Form) với khoảng thời gian hợp lý. Những vấn đề cần thiết lập khi sử dụng SAT để giải quyết bao gồm:  Mã hóa bài toán theo biểu thức logic mệnh đề.  Chuyển đổi biểu thức sang dạng CNF(conjunctive normal form).  Sử dụng SAT Solver để tìm mối quan hệ của các biến logic.
  • 13. 12 3.2. SMT Solver Với các biểu thức logic thì SAT Solver là công cụ tốt để giải. Tuy nhiên với các hệ thống hiện tại được thiết kế ở mức cao (high level) thay cho mức logic (logic level). Nếu sử dụng các công cụ kiểm chứng ở mức logic thì cần phải chuyển đổi từ mức cao về mức logic, tuy nhiên chí phí cho việc chuyển đổi này rất đắt đỏ. Do vậy SMT Solver (satisfiability modulo theories) là một giải pháp cho vấn đề trên. SMT Solver được sử dụng giải quyết các bài toán cụ thể như sinh ca kiểm thử tự động, bài toán lập lịch, kiểm thử mô hình... SMT là vấn đề quyết định tính thỏa mãn của công thức được biểu diễn trên nền tảng lý thuyết Logic vị từ cấp I (First order logic). Có thể coi SMT là phần mở rộng của SAT trong lý thuyết logic vị từ cấp I. Để duy trì quá trình quyết định lý thuyết bậc nhất thường được giới hạn không chứa các phép toán lượng tử tồn tại (∃) và với mọi (∀). Cũng tương tự SAT, việc chỉ ra một phép gán M thỏa mãn công thức đầu vào F trên nền tảng Logic vị từ cấp I được gọi là SMT solver. 3.3. SMT Solver raSAT SMT Solver raSAT được hai tác giả Tô Văn Khánh (UET/VNU-HN) và Mizuhito Ogawa (JAIST) giới thiệu vào năm 2012. raSAT ứng dụng trong việc giải các ràng buộc bằng phương pháp tính xấp xỉ dựa trên các kĩ thuật tính toán khoảng (Interval Arithmetic) và kiểm thử kết quả dựa trên thủ tục DPLL(T) đã được giới thiệu ở phần 3.3.1. SMT Solver raSAT ứng dụng trong việc giải các ràng buộc trên tập số thực, với các ràng buộc số nguyên raSAT dễ dàng ứng dụng bằng một số thay đổi như chặn việc phân rã khoảng với giới hạn là 1. raSAT đã tham gia cuộc thi “SMT Competition 2015” dành cho các công cụ SMT Solver và SAT Solver với hai dạng là QF NRA và QF NIA. Đầu vào của raSAT là các ràng buộc biểu diễn dưới dạng F = I ˄ P. Trong đó I là các ràng buộc tính toán khoảng I = ( x1 ∈ ( a1, b1) ˄ … ˄ xn ∈ ( an, bn). Và ràng buộc đa thức P biểu diễn dưới dạng ⋀ 𝑓𝑖( x1, … , xn)m i=1 > 0, P là phép hội
  • 14. 13 của các hàm 𝑓𝑖. Ràng buộc tính toán khoảng I sẽ được phân rã thành các ràng buộc nhỏ hơn hoặc loại bỏ các miền UNSAT bằng cách sử dụng SAT Solver. Sau quá trình trên ràng buộc tính toán khoảng I sẽ ở dưới dạng chuẩn tắc hội (CNF). Các giá trị 𝑓𝑖 𝑢 , 𝑓𝑖 𝑙 lần lượt là giá trị cận trên và cận dưới được tính bởi các kĩ thuật tính toán khoảng. Giá trị của P được định nghĩa như sau :  P kết luận là 𝐼𝐴 − 𝑉𝐴𝐿𝐼𝐷 trên I nếu ∀𝑖 ∈ (1, 𝑚), 𝑓𝑖 𝑙 ( x1, … , xn) > 0  P kết luận là 𝐼𝐴 − 𝑈𝑁𝑆𝐴𝑇 trên I nếu ∃𝑖 ∈ (1, 𝑚), 𝑓𝑖 𝑢 ( x1, … , xn) ≤ 0  P kết luận là 𝐼𝐴 − 𝑆𝐴𝑇 trên I nếu (∃𝑖 ∈ (1, 𝑚), 𝑓𝑖 𝑢 ( x1, … , xn) ≤ 0) ˄ (⋀ 𝑓𝑖( x1, … , xn)m i=1 ) > 0 Kiểm thử kết quả bằng cách sinh ra bộ dữ liệu kiểm thử ⊝i từ dải giá trị đầu vào ban đầu x1 ∈ ( a1, b1) ˄ … ˄ xn ∈ ( an, bn). Với Ѳ(I) = ( a1, b1) ×. . .× ( an, bn) thì giá trị của P được định nghĩa như dưới.  P kết luận là Test-SAT trên I nếu trong P tồn tại Ѳ ∈ ⊝  P kết luận là Test-UNSAT trên I nếu trong P không tồn tại Ѳ nào ∈ ⊝ Như vậy bước kiểm thử sẽ dừng lại khi kết quả là Test-SAT và kết luận là SAT. Ngược lại nếu kết quả là Test-UNSAT raSat sẽ sử dụng bộ Domain Decomposition để phân rã dải giá trị hiện tại thành các dải giá trị nhỏ hơn.
  • 15. 14 Hình 2: Kiến trúc của SMT Solver raSat Chương 4. THỰC NGHIỆM Ở chương này chúng tôi sẽ trình bày cài đặt kĩ thuật kiểm thử đôi một ở bước kiểm thử của SMT Solver raSAT để so sánh hiệu quả trước và sau khi sử dụng kĩ thuật kiểm thử đôi một trên các ràng buộc. 4.1. Kiểm thử đôi một Kiểm thử đôi một (pairwise testing) là một trường hợp đặc biệt của kiểm thử tất cả các tổ hợp đầu vào. Kiểm thử đôi một yêu cầu mỗi cặp giá trị của ( xi, xj), 1 ≤ i ≠ i ≤ n xuất hiện trong một ca kiểm thử nào đó. Một ca kiểm thử thường có nhiều cặp giá trị này với các i, j khác nhau nên dễ thấy số lượng ca kiểm thử sẽ giảm đáng kể so với tổ hợp tất cả các ca kiểm thử. Kiểm thử đôi một được ứng dụng rất nhiều trong quá trình đảm bảo chất lượng của phần mềm. Với một dự án phần mềm chi phí cho việc đảm bảo chất lượng thường chiếm hơn 50% chi phí của dự án. Do
  • 16. 15 vậy kiểm thử đôi một sử dụng trong việc đảm bảo chất lượng phần mềm với chi phí hợp lý hơn. Lý do sử dụng kĩ thuật kiểm thử đôi một:  Nguyên nhân lỗi của phần mềm thường sảy ra khi kết hợp hai đầu vào. Kiểm thử đôi một có thể đảm bảo 92% độ phủ của source code, 85% bao phủ quyết định.  Không cần kiểm thử tổ hợp tất cả đầu vào của hệ thống. Với hệ thống có m đầu vào và với mỗi đầu vào có n giá trị. Như vậy sẽ cần m×n trường hợp cần kiểm thử. Với hệ thống có số lượng đầu vào lớn thì kiểm thử tổ hợp sẽ tốn rất nhiều chi phí. Sử dụng kiểm thử tổ hợp có thể sảy ra nhiều ca kiểm thử cùng phát hiện một lỗi, do vậy việc sẽ gây ra lãng phí ca kiểm thử. Hạn chế này của kiểm thử tổ hợp sẽ được khắc khục ở kĩ thuật kiểm thử đôi một. 4.2 Áp dụng kiểm thử đôi một vào SMT Solver raSAT Như đã trình bày hoạt động của SMT Solver raSAT ở chương 3. Nếu sau khi đầu vào được đánh giá bởi lý thuyết tính toán khoảng (Interval Arithmetic - IA) cho kết quả là IA- SAT thì sẽ chuyển sang bước kiểm thử để tiếp tục giải ràng buộc đa thức. Kiểm thử kết quả bằng cách sinh ra bộ dữ liệu kiểm thử từ dải giá trị đầu vào ban đầu. Bản chất của bước kiểm thử là đi tìm giá trị có kết quả là SAT trong dải giá trị của đầu vào. Nếu tìm được một điểm trong dải giá trị cho kết quả là SAT thì kết luận ràng buộc đó là SAT. Tuy nhiên để thử tất cả các giá trị trong dải giá trị là điều không thể. Do vậy cần có chiến lược chọn giá trị kiểm thử cho các biến hiệu quả thay vì thử tất cả các giá trị. raSAT hiện tại chỉ cho phép chọn tối đa hai giá trị cho mỗi biến để sinh các ca kiểm thử. Nguyên nhân do nếu lựa chọn nhiều giá trị sẽ ảnh hưởng tới hiệu năng của raSAT. Do vậy chúng tôi cải tiến raSAT bằng cách áp dụng kĩ thuật kiểm thử đôi một cho các biến của ràng buộc để sinh ra bộ kiểm thử. Với kĩ thuật kiểm thử đôi một sẽ sinh ra số lượng ca kiểm thử không lớn mà cho phép chọn nhiều giá trị cho mỗi biến.
  • 17. 16 Khi raSAT cho phép chọn nhiều giá trị cho một biến thì khả năng tìm được giá trị SAT sẽ tăng lên. Cụ thể cách áp dụng kĩ thuật kiểm thử đôi một vào raSAT như sau:  Áp dụng sinh bộ kiểm thử bằng kĩ thuật kiểm thử cặp đôi cho các biến ở mỗi ràng buộc.  Với mỗi biến sẽ chọn ngẫu nhiên 4 ca kiểm thử ở 4 khoảng giá trị khác nhau trong dải giá trị của biến. Ví dụ x1 = [−10,10] sẽ chọn ngẫu nhiên một ca kiểm thử ở 4 khoảng gồm [−10, −5] , [−4, 0] , [1, 5] và [6,10]. 4.3 Kết quả thực nghiệm raSAT thực nghiệm trên bộ các ràng buộc “SMT- LIB 2015 -06-01” với timeout là 2500s , bộ vi xử lý Intel Xeon E5-4655v3 , ram 8GB. STT Loại ràng buộc raSAT – Pairwise testing raSAT - Old 1 zankl (SAT) 33 41 2 zankl (UNSAT) 12 14 3 meti-tarski (SAT) 4801 4597 4 meti-tarski (UNSAT) 1772 1750 5 hong (SAT) 0 0 6 hong (UNSAT) 4 5 7 LassoRanker (SAT) 45 5 8 LassoRanker (UNSAT) 0 0 9 kissing (SAT) 17 12 10 kissing (UNSAT) 0 0 11 hycomp (SAT) 128 6 12 hycomp (UNSAT) 1724 1720 Total 8536 8150 Time(s) 7500302.763 8562351.838
  • 18. 17 Nhận xét: Số lượng bài toán raSAT mới giải được tăng lên 386 bài. Đặc biệt với loại ràng buộc meti-tarski số lượng ràng buộc SAT tăng lên khá lớn (204 bài) hay loại hycomp (SAT) tăng lên 122 bài. Tuy nhiên với loại ràng buộc có số lượng biến lớn như zankl số lượng giải được bị giảm đi (10 bài) nguyên nhân là do tốn nhiều thời gian cho testing dẫn đến thời gian cho phân rã khoảng ít đi. Về mặt thời gian raSAT mới cũng đã cải thiện được 1062049.075s . Như vậy xét về tổng thể raSAT áp dụng kiểm thử cặp đôi đã cải thiện được hai tiêu chí gồm tăng số lượng bài toán giải được và giảm tổng thời gian cho tất cả các loại ràng buộc.
  • 19. 18 KẾT LUẬN Giải các ràng buộc toán học có vai trò quan trọng trong kiểm chứng phần cứng và phần mềm. Trong luận văn này chúng tôi trình bày phương pháp tính toán khoảng để giải tự động các ràng buộc toán học, cụ thể giải các ràng buộc đa thức phi tuyến tính. Trong luận văn chúng tôi trình bày rõ ràng kiến trúc của 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ự và số nguyên. Trong luận văn này chúng tôi đề xuất áp dụng kiểm thử cặp đôi và bước kiểm thử (testing) nhằm mục đích có thể chọn nhiều giá trị hơn cho mỗi biến mà số lượng ca kiểm thử không quá lớn. Sau khi cài đặt và thực nghiệm kết quả đạt được đã tốt hơn cả về mặt số lượng bài toán giải được và tổng thời gian giảm đi. Như vậy kết quả thực nghiệm đã đúng như mục tiêu của luận văn đề ra ban đầu. 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.
  • 20. 19 TÀI LIỆU THAM KHẢO [1]. To Van Khanh, Mizuhito Ogawa. SMT for Polynomial Constraints on Real Numbers http://www.jaist.ac.jp/~mizuhito/papers/conference/TAPAS12.pdf [2]. To Van Khanh, Mizuhito Ogawa. SMT for Polynomial Constraints and Its Application [3]. To Van Khanh, Mizuhito Ogawa. raSAT: SMT for Polynomial Inequality. JAIST Technical Report 2013, IS-RR-2013-003 http://hdl.handle.net/10119/11349 [4]. Vu Xuan Tung, To Van Khanh, Mizuhito Ogawa. raSAT: An SMT Solver for Polynomial Constraints http://www.jaist.ac.jp/~s1310007/raSAT/ [5]. Moore, R. E. Interval Analysis. Prentice-Hall, 1966 [6]. Comba, J. L. D., and Stolfi, J. Affine arithmetic and its applications to computer graphics. In Proceedings of VI SIBGRAPI. (1993) [7]. Stolfi, J. Self-Validated Numerical Methods and Applications. PhD thesis, PhD. Dissertation, Computer Science Department, Stanford University, 1997. [8]. raSat SMT Solver http://www.jaist.ac.jp/~s1310007/raSAT/ [9]. Stolfi, Figueiredo. An Introduction to Affine Arithmetic http://www.sbmac.org.br/tema/seletas/docs/v4_3/101_01summary.pdf [10].Cristina Borralleras, Salvador Lucas, Albert Oliveras, Enric Rodríguez- Carbonell, Albert Rubio. SAT Modulo Linear Arithmetic for Solving Polynomial Constraints [11].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. [12].Harald Ganzinger, George Hagen, Robert Nieuwenhuis, Albert Oliveras, Cesare Tinelli. DPLL(T): Fast Decision Procedures [13].Robert Nieuwenhuis, Albert Oliveras, Cesare Tinelli. Abstract DPLL and Abstract DPLL Modulo Theories. Miquel Bofill, Robert Nieuwenhuis, Albert Oliveras, Enric Rodríguez-Carbonell Albert Rubio. The Barcelogic SMT Solver http://www.cs.upc.edu/~oliveras/espai/papers/cav08.pdf [14].Armin Biere, Marijn Heule, Hans van Maaren, Toby Walsch IOS Press (2008), Handbook of Satisfiability, Dimitris Achlioptas.