Nghiên cứu xây dựng mô hình tính toán ứng dụng chiến đấu của phương tiện sát thương hàng không dựa trên văn phạm phi ngữ cảnh

Bài báo trình bày kết quả xây dựng mô hình toán để giải quyết các bài

toán ứng dụng chiến đấu của phương tiện sát thương hàng không. Trong nghiên

cứu này, chúng tôi đề xuất sử dụng văn phạm phi ngữ cảnh để mô hình hóa lời giải

của các bài toán ứng dụng chiến đấu của phương tiện sát thương hàng không. Lời

giải của các bài toán được mô tả thành các chuỗi thuộc ngôn ngữ của văn phạm phi

ngữ cảnh đề xuất, sau đó, chuỗi được đưa vào một bộ phân tích cú pháp để xây

dựng cây dẫn xuất tương ứng. Từ các cây dẫn xuất, các bài toán sẽ được giải và

đưa ra đáp án với các giá trị đầu vào cụ thể. Mô hình này đã được đưa vào ứng

dụng thực tiễn để xây dựng các phần mềm giải quyết các bài toán ứng dụng chiến

đấu của phương tiện sát thương hàng không phục vụ công tác dẫn đường của Quân

chủng Phòng không – Không quân và cho thấy kết quả khả quan.

pdf 9 trang kimcuc 4960
Bạn đang xem tài liệu "Nghiên cứu xây dựng mô hình tính toán ứng dụng chiến đấu của phương tiện sát thương hàng không dựa trên văn phạm phi ngữ cảnh", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Nghiên cứu xây dựng mô hình tính toán ứng dụng chiến đấu của phương tiện sát thương hàng không dựa trên văn phạm phi ngữ cảnh

Nghiên cứu xây dựng mô hình tính toán ứng dụng chiến đấu của phương tiện sát thương hàng không dựa trên văn phạm phi ngữ cảnh
Công nghệ thông tin & Cơ sở toán học cho tin học 
Đ. T. Quyền, N. C. Thành, , “Nghiên cứu xây dựng mô hình  văn phạm phi ngữ cảnh.” 138 
NGHIÊN CỨU XÂY DỰNG MÔ HÌNH TÍNH TOÁN ỨNG DỤNG 
CHIẾN ĐẤU CỦA PHƯƠNG TIỆN SÁT THƯƠNG HÀNG KHÔNG 
DỰA TRÊN VĂN PHẠM PHI NGỮ CẢNH 
Đặng Thanh Quyền*, Nguyễn Chí Thành,Phạm Thu Hương, Nguyễn Nhật An 
Tóm tắt: Bài báo trình bày kết quả xây dựng mô hình toán để giải quyết các bài 
toán ứng dụng chiến đấu của phương tiện sát thương hàng không. Trong nghiên 
cứu này, chúng tôi đề xuất sử dụng văn phạm phi ngữ cảnh để mô hình hóa lời giải 
của các bài toán ứng dụng chiến đấu của phương tiện sát thương hàng không. Lời 
giải của các bài toán được mô tả thành các chuỗi thuộc ngôn ngữ của văn phạm phi 
ngữ cảnh đề xuất, sau đó, chuỗi được đưa vào một bộ phân tích cú pháp để xây 
dựng cây dẫn xuất tương ứng. Từ các cây dẫn xuất, các bài toán sẽ được giải và 
đưa ra đáp án với các giá trị đầu vào cụ thể. Mô hình này đã được đưa vào ứng 
dụng thực tiễn để xây dựng các phần mềm giải quyết các bài toán ứng dụng chiến 
đấu của phương tiện sát thương hàng không phục vụ công tác dẫn đường của Quân 
chủng Phòng không – Không quân và cho thấy kết quả khả quan. 
Từ khóa: Phương tiện sát thương hàng không, Văn phạm phi ngữ cảnh, Phân tích cú pháp. 
1. ĐẶT VẤN ĐỀ 
Bài toán tính toán ứng dụng chiến đấu phương tiện sát thương hàng không (PTSTHK) 
đánh mục tiêu mặt đất, mặt nước là một bài toán quan trọng trong quá trình chuẩn bị, bao 
gồm các tính toán về sử dụng lực lượng, lựa chọn đường bay mặt cắt đường bay và chế độ 
bay, tính toán các số liệu công kích và đảm bảo an toàn [1, 2]. 
Các nghiên cứu về hiệu suất cũng như phương thức sử dụng PTSTHK của quân đội 
mỗi nước đều có những đặc trưng riêng, tùy thuộc vào tiềm lực quốc phòng và nghệ thuật 
quân sự của mỗi nước, phương pháp luận trong tiến công quân sự và phụ thuộc vào 
PTSTHK được trang bị. Các nghiên cứu về tính toán ứng dụng chiến đấu cho PTSTHK 
của các nước tư bản và khối NATO hiện nay có rất ít thông tin chúng ta không tiếp cận 
được các tài liệu có liên quan. 
Các nghiên cứu về ứng dụng PTSTHK trên thế giới mà hiện nay chúng ta biết đến 
nhiều nhất là các nghiên cứu của Nga trên cơ sở việc viện trợ, trao đổi, đào tạo giữa quân 
đội Nga (Liên Xô trước đây) và quân đội ta. Phương pháp tính toán ứng dụng chiến đấu sử 
dụng PTSTHK của Nga hiện nay đang được sử dụng rộng rãi trong quân đội ta, tuy nhiên 
các phương pháp này đang được áp dụng hoàn toàn thủ công, dựa trên các loại tài liệu giấy 
chứ chưa có một hệ thống máy tính điện tử trợ giúp cho việc tính toán. 
Hiện nay, chưa có các nghiên cứu ứng dụng khoa học kỹ thuật, nhất là sử dụng thế 
mạnh về tính toán và xử lý số liệu của máy tính, nhằm cải tiến hiệu năng, rút ngắn thời 
gian, đảm bảo độ tin cậy của việc giải bài toán trong tính toán ứng dụng chiến đấu của 
PTSTHK. Tại Học viện Phòng không Không quân và Quân Chủng Phòng không Không 
quân cũng đã xây dựng và ứng dụng một số phần mềm tính toán phục vụ những mục đích 
tính toán cụ thể, nhưng đó chỉ là những phần mềm nhỏ, giải quyết một số bài toán tính 
toán cụ thể, chưa giải quyết được bài toán tính toán tổng thể. Do đó, việc xây dựng mô 
hình toán học để giải quyết các bài toán là hết sức cần thiết. 
Trong bài báo này, chúng tôi đề xuất một phương pháp sử dụng văn phạm phi ngữ cảnh 
để mô hình hóa lời giải của các bài toán tính toán ứng dụng chiến đấu PTSTHK, nhằm xây 
dựng phần mềm tự động giải các bài toán đó. 
Nghiên cứu được trình bày theo thứ tự sau: Phần 2 trình bày nội dung nghiên cứu; Phần 3 
trình bày các kết quả thử nghiệm, đánh giá; Cuối cùng, kết luận được trình bày trong phần 4. 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số 50, 08 - 2017 139
2. NỘI DUNG CẦN GIẢI QUYẾT 
2.1. Bài toán tính toán ứng dụng chiến đấu phương tiện sát thương hàng không 
(PTSTHK) 
Bài toán tính toán ứng dụng chiến đấu PTSTHK đánh mục tiêu mặt đất, mặt nước là 
một bài toán quan trọng trong quá trình chuẩn bị tổ chức bay bắn, ném bom, phóng tên lửa 
vào các mục tiêu điểm, mục tiêu cụm (mục tiêu diện) và các mục tiêu phức hợp trong tấn 
công đường không. Các bài toán này có thể chia làm các dạng chính như sau. 
- Chọn phương án, loại và cỡ PTSTHK: Khi chọn các phương án mang treo PTSTHK 
theo tình huống, để đánh giá so sánh hiệu quả tấn công mục tiêu của chúng cần phải xem 
xét tính chất mục tiêu, đặc điểm tác động sát thương của PTSTHK vào mục tiêu dự kiến, 
kiểu loại (và số lượng) PTSTHK có trên máy bay, khả năng của hệ thống điều khiển vũ 
khí tạo vùng phân bố của PTSTHK cần thiết, các đặc điểm tản mát nhóm và tản mát riêng 
lẻ. Phương pháp nghiệp vụ lựa chọn chủng loại và cỡ PTSTHK cùng loại trong các 
phương án mang treo PTSTHK hiện có là ưu tiên lựa chọn loại PTSTHK có tổng diện tích 
sát thương tương đối là lớn nhất. 
- Xác định độ dài loạt hợp lý của PTSTHK (độ dài loạt bom) theo hướng bay của máy bay. 
- Chọn các điểm ngắm khi tấn công hỏa lực vào các mục tiêu cụm (mục tiêu diện): xác 
định các điểm ngắm vào mục tiêu tấn công đường không nhằm bảo đảm hiệu suất sát 
thương cao nhất đối với mục tiêu cần tính toán. 
- Lựa chọn hướng bắn hoặc tiếp cận mục tiêu, được tính toán để phát hiện chắc chắn 
mục tiêu từ khoảng cách bảo đảm thực hiện ngắm bắn và khả năng thực hiện nhiệm vụ 
được giao với hiệu quả cao nhất. 
- Đánh giá hiệu suất sử dụng phương tiện sát thương hàng không trong bắn, ném bom, 
phóng tên lửa vào mục tiêu mặt đất (mặt nước): bài toán tính xác suất tiêu diệt mục tiêu 
theo các mức độ sát thương mục tiêu (tiêu diệt, loại khỏi vòng chiến đấu, làm hư hỏng). 
- Tính số lượng máy bay dùng để tiêu diệt mục tiêu trong các tình huống tác chiến tiêu 
biểu: với mỗi phương án mang treo PTSTHK cụ thể của máy bay, tính số lượng máy bay 
(số lần tấn công độc lập lặp lại vào mục tiêu) cần thiết để sát thương mục tiêu theo yêu cầu 
đặt ra. 
Để giải quyết các bài toán này, cần thực hiện các bước tính toán từ các tham số đầu vào 
để tính các giá trị trung gian, kết hợp với tra cứu các bảng biểu, tra cứu đồ thị để tính toán 
đưa ra kết quả cuối cùng. Với mỗi bài toán, các bước thực hiện tính toán cụ thể là khác 
nhau, tuy nhiên có thể khái quát quy trình giải quyết các bài toán thành 4 bước như sau. 
Bước 1: Nhập các tham số đầu vào, ví dụ: loại mục tiêu, kích thước mục tiêu, loại PTST 
sử dụng, số lượng PTST sử dụng, mức độ tiêu diệt, số lượng mục tiêu thành phần trong 
mục tiêu cụm cùng loại, độ dài loạt, độ lệch xác suất tản mát nhóm dọc theo trục x và z, độ 
lệch xác suất tản mát riêng lẻ dọc theo trục x và z, xác suất tin cậy trong tính toán (xác suất 
mà theo đó tổn thất tương đối trong thực tế sẽ không nhỏ hơn giá trị dự kiến), tỷ lệ dự kiến 
các mục tiêu thành phần (cần phải) bị tiêu diệt trong mục tiêu cụm cùng loại hoặc phần (tỷ 
lệ) diện tích bị sát thương trong mục tiêu diện (mục tiêu phức hợp). Bước 2: Tra bảng để 
xác định kích thước vùng sát thương quy đổi khi biết loại mục tiêu, loại phương tiện sát 
thương sử dụng, mức độ sát thương mục tiêu. Bước 3: Tính toán các giá trị trung gian. Các 
giá trị này có thể tính toán qua các biểu thức toán học của các giá trị tham số hoặc được tra 
trên đồ thị có sẵn do tài liệu Nga cung cấp. Bước 4: Đưa ra kết quả theo yêu cầu của từng 
bài toán. 
Các bước tính toán trong lời giải các bài toán tính toán ứng dụng chiến đấu PTSTHK 
có những điểm tương đồng với các thuật toán như đều có các bước gán giá trị đầu vào, gọi 
Công nghệ thông tin & Cơ sở toán học cho tin học 
Đ. T. Quyền, N. C. Thành, , “Nghiên cứu xây dựng mô hình  văn phạm phi ngữ cảnh.” 140 
các hàm (tra cứu bảng, đồ thị), tính các giá trị trung gian bằng biểu thức toán học,  Đặc 
điểm chung của các lời giải các bài toán này và các thuật toán là có thể được biểu diễn 
bằng một ngôn ngữ lập trình để thực hiện và đưa ra kết quả cuối cùng. Đối với các ngôn 
ngữ lập trình, văn bản phi ngữ cảnh thường được sử dụng trong các trình biên dịch để phân 
tích một chương trình viết bằng một ngôn ngữ lập trình thành các câu lệnh cụ thể. Do đó, 
chúng tôi đề xuất sử dụng một mô hình dựa trên văn phạm phi ngữ cảnh để có thể phân 
tích được một lời giải bài toán thành các bước tính toán cụ thể, từ đó xây dựng được phần 
mềm tự động giải các bài toán này. Chúng ta có thể sử dụng một ngôn ngữ lập trình đã có 
để thực hiện việc giải các bài toán này, tuy nhiên, việc học và thành thạo một ngôn ngữ lập 
trình tốn khá nhiều thời gian và công sức, chúng tôi đề xuất một ngôn ngữ đơn giản, dễ 
học, giúp những người không có kiến thức lập trình cũng có thể đưa các lời giải bài toàn 
vào chương trình tính toán tự động. 
2.2. Văn phạm phi ngữ cảnh 
Văn phạm phi ngữ cảnh (Context Free Grammar - CFG) là một hệ thống gồm bốn 
thành phần [3], ký hiệu là văn phạm G = (V, Ʃ, R, S), trong đó : 
1. V là tập hữu hạn các ký hiệu không kết thúc (hay còn gọi là các biến). 
2. Ʃ là tập hữu hạn các ký hiệu kết thúc, V ∩ Ʃ = ∅. 
3. R là tập hữu hạn các luật sản xuất mà mỗi luật sản xuất có dạng A →α với A là ký 
hiệu không kết thúc và α là chuỗi các ký hiệu ∈ (V∪ Ʃ)* 
4. S là một ký hiệu không kết thúc đặc biệt gọi là ký hiệu bắt đầu văn phạm. 
Ví dụ: Văn phạm G1 = (V, Ʃ, R, S), trong đó: 
V = {A, B} 
Ʃ = {0, 1, 2} 
R = {A → 0A1, A → B, B → 2} 
S = A 
Cho văn phạm G = (V, Ʃ, R, S) và η, ω∈(V∪ Ʃ)*. Ta nói ω được suy dẫn trực tiếp từ η 
trong G, ký hiệu η├G ω hay ngắn gọn là η├ ω, nếu tồn tại luật sản xuất α→β∈R và γ, 
δ∈(V∪ Ʃ)* sao cho η = γαδ, ω = γβδ. 
Ta nói ω được suy dẫn từ η trong G, ký hiệu η╞G ω hay ngắn gọn là η╞ ω, nếu η = ω 
hoặc tồn tại một dãy D = ω0, ω1,, ωk∈(V∪ Ʃ)* sao cho ω0 = η, ωk = ω và ωi-1├ ωi, với i = 
1, 2,..., k. Dãy D = ω0, ω1, , ωk được gọi là một dẫn xuất của ω từ η trong G và số k được 
gọi là độ dài của dẫn xuất này. Nếu ω0 = S và ωk∈ Σ* thì dãy D gọi là dẫn xuất đầy đủ. 
Hình 1. Mô hình phân tích cú pháp trong trình biên dịch. 
Cây phân tích (hay còn gọi là cây dẫn xuất) là một biểu diễn dưới dạng đồ thị của một 
dẫn xuất đầy đủ với gốc là ký hiệu bắt đầu S, các lá là các ký hiệu kết thúc, các đỉnh còn 
lại là các ký hiệu không kết thúc, mỗi đỉnh và các đỉnh con của nó tương ứng với một luật 
sản xuất. 
mã nguồn Phân tích 
từ vựng 
Phân tích 
cú pháp 
chuỗi thẻ 
từ vựng 
Sinh mã 
trung gian 
cây 
phân tích 
Bảng 
ký hiệu 
mã 
trung gian 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số 50, 08 - 2017 141
Văn phạm phi ngữ cảnh thường được ứng dụng để định nghĩa cú pháp của các ngôn 
ngữ lập trình [4], biểu diễn cú pháp trong xử lý ngôn ngữ tự nhiên, mô hình hóa tính toán, 
biểu diễn cấu trúc các file văn bản [5]. 
Hình 1 minh họa ứng dụng của văn phạm phi ngữ cảnh trong trình biên dịch[6]. Với 
chương trình nguồn (source program) là đầu vào, bộ phân tích từ vựng (lexical analyzer) 
sẽ biến đổi nó thành một chuỗi các thẻ từ vựng (token). Chuỗi này được đưa vào bộ phân 
tích cú pháp (parser) để sinh ra một cây phân tích (systax tree) và từ đó sinh ra mã trung 
gian. Ở các giai đoạn sau, mã trung gian được tối ưu hóa và cuối cùng trình biên dịch sinh 
mã máy. 
Do các thuật toán trong các ngôn ngữ lập trình và lời giải các bài toán ứng dụng chiến 
đấu PTSTHK có những điểm tương đồng như đều có các bước gán giá trị đầu vào, gọi các 
hàm, tính các giá trị trung gian bằng biểu thức toán học,  nên mô hình tương tự như mô 
hình trong trình biên dịch có thể áp dụng cho để tự động giải các bài toán tính toán ứng 
dụng chiến đấu PTSTHK. 
2.3. Mô hình hóa bài toán tính toán ứng dụng chiến đấu phương tiện sát thương 
hàng không 
Để mô hình hóa lời giải của bài toán ứng dụng chiến đấu của phương tiện sát thương 
hàng không, chúng tôi định nghĩa một văn phạm phi ngữ cảnh để biểu diễn lời giải của bài 
toán này. 
prog → stat+ 
stat → expr NEWLINE 
 | VARIABLE '=' expr NEWLINE 
 | NEWLINE 
 | 'clear' 
expr → expr MUL expr 
 | expr DIV expr 
 | expr ADD expr 
 | expr SUB expr 
 | '-'?NUMBER 
 | VARIABLE 
 | '(' expr ')' 
 | FUNCNAME '(' expr (',' expr)* ')' 
 | TABLE '(' VARIABLE ',' VARIABLE ',' expr (',' expr)* ')' 
 | GRAPH '(' STRING (',' expr)* ')' 
TABLE → 'table'; 
GRAPH → 'graph'; 
FUNCNAME → 'cos' | 'tan' | 'sin' | 'acos' | 'atan' | 'asin' | 'log' | 'pow' | 'max' | 'min' 
 | 'ceiling' | 'abs' | 'nextgreater' | 'iif' 
MUL → '*' 
DIV → '/' 
ADD → '+' 
SUB → '-' 
NEWLINE → '\r'? '\n' 
NUMBER → [0-9]+ ('.' [0-9]+)? 
VARIABLE → [a-zA-Z][a-zA-Z0-9]* 
STRING → '"' ~[\r\n"]* '"' 
Hình 2. Tập luật sản xuất của văn phạm phi ngữ cảnh dùng để biểu diễn lời giải của bài 
toán ứng dụng chiến đấu của phương tiện sát thương hàng không. 
Công nghệ thông tin & Cơ sở toán học cho tin học 
Đ. T. Quyền, N. C. Thành, , “Nghiên cứu xây dựng mô hình  văn phạm phi ngữ cảnh.” 142 
Đặc điểm của lời giải các bài toán này là ngoài các tính toán đại số trên dữ liệu đầu 
vào, chúng ta còn phải tra cứu các tham số của các phương tiện sát thương hàng không và 
các trận địa qua đồ thị hoặc các bảng biểu, tính toán các hàm. 
Văn phạm phi ngữ cảnh biểu diễn lời giải của bài toán này được định nghĩa gồm bốn 
thành phần (V, Ʃ, R, S) như sau. 
V = { prog, stat, expr, NEWLINE, VARIABLE, NUMBER, FUNCNAME, 
TABLE, GRAPH } 
Ʃ = { ‘a’ ‘z’, ‘A’ ‘Z’, ‘0’ ‘9’, ‘\r’, ‘\n’ }, với ‘\r’ , ‘\n’ là các ký tự đặc biệt 
biểu thị hết một dòng và bắt đầu một dòng mới trong chuỗi ký tự. 
S = prog 
Tập luật sản xuất R được định nghĩa ở hình 2. 
Trong đó, các kí hiệu không kết thúc thuộc V có ý nghĩa như sau. Kí hiệu prog tương ứng 
với một lời giải bài toán, stat tương ứng với một bước tính toán trong lời giải, expr tương 
ứng với một biểu thực toán học, NEWLINE là kí hiệu kết thúc một dòng, bắt đầu một dòng 
mới, VARIABLE là các biến số, NUMBER kí hiệu các số thực, FUNCNAME kí hiệu các 
tên hàm số, TABLE, GRAPH tương ứng các hàm tra cứu bảng và đồ thị tham số. 
Xxk=20 
Xzk=200 
vc=800 
n=8 
Exr=30 
Ezr=15 
Exi=10 
Ezi=5 
table(lx, lz, 65, 1, 8, 1) 
Xxks=Xxk/Exr 
Xzks=Xzk/Ezr 
lxs=lx/Exr 
lzs=lz/Ezr 
Exis=Exi/Exr 
Ezis=Ezi/Ezr 
nze=n 
Lzis = graph("4.10", lzs, nze) 
Lzs=Lzis 
nk=1 
Sxs=n*nk*lxs*min(1, (lzs/Lzs)) 
FSxs = graph("3.3.1", Xxks, Sxs) 
LxtsP=FSxs-(0.8*lxs) 
LxtP=LxtsP*Exr 
ix=LxtP/(n-1) 
Lxt = nextgreater(LxtP, 80, 160, 320, 640) 
Hình 3. Script giải một bài toán xác định độ dài loạt hợp lý của PTSTHK (chiều dài loạt 
bom) theo hướng bay của máy bay. 
Mỗi lời giải bài toán sẽ được viết lại dưới dạng 1 chuỗi thuộc ngôn ngữ được định 
nghĩa bởi văn phạm trên, được gọi là một script. Mỗi script đầu vào sẽ được phân tích qua 
bộ phân tích cú pháp theo thuật toán Adaptive LL(*) Parsing để sinh ra một cây phân tích 
[7]. Đầu vào của thuật toán Adaptive LL(*) Parsing là một chuỗi (một script), đầu ra là 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số 50, 08 - 2017 143
cây phân tích tương ứng của chuỗi đó. Cây phân tích là một cây nhiều nhánh, mỗi đỉnh và 
các đỉnh con của nó tương ứng với một luật sản xuất trong văn phạm phi ngữ cảnh. 
Hình 3 minh họa script của một lời giải một bài toán xác định độ dài loạt hợp lý của 
PTSTHK (chiều dài loạt bom) theo hướng bay của máy bay. Các biến số Xxk, Xzk, vc, n, 
Exr, Ezr, Exi, Ezi là các tham số đầu vào, Lxt là kết quả đầu ra, các biến số khác trong các 
bước tính toán là các giá trị trung gian. Hàm table thực hiện việc tra cứu đồ thị để lấy ra 
các giá trị lx và lz, hàm graph là hàm tra cứu đồ thị. 
Hình 4. Mô hình hoạt động của phương pháp giải bài toán bằng phân tích 
văn phạm phi ngữ cảnh. 
Quy trình hoạt động của phương pháp giải bài toán bằng phân tích văn phạm phi ngữ 
cảnh được minh họa ở hình 4. Mỗi script đầu vào (tương ứng với lời giải của một bài toán) 
sẽ được đưa qua bộ phân tích từ vựng để sinh ra một chuỗi thẻ từ vựng tương ứng, sau đó 
bộ phân tích cú pháp dựa vào văn phạm phi ngữ cảnh đã được định nghĩa ở trên để phân 
tích script thành một cây phân tích. Bước cuối cùng là duyệt cây phân tích để thực hiện 
các bước tính toán tương ứng với mỗi đỉnh (mỗi đỉnh tương ứng với một luật sản xuất). 
Khi mỗi đỉnh trên cây phân tích được duyệt cũng tương ứng với việc một bước tính toán 
trong lời giải bài toán. Các kết quả tính toán được lưu vào một bảng giá trị biến. Sau khi 
quá trình duyệt cây kết thúc, các kết quả tính toán có thể lấy từ các biến trong bảng giá trị 
biến. Các bước tính toán này được mô tả trong thuật toán ở bảng 1. 
Bảng 1. Thuật toán giải bài toán tính toán ứng dụng chiến đấu PTSTHK. 
Đầu vào: script s lời giải bài toán, mảng các tham số đầu vào p[] của một bài toán tính toán 
ứng dụng chiến đấu PTSTHK 
Đầu ra: giá trị kết quả đầu ra o của bài toán 
[1] t[] ← tách script s thành chuỗi các thẻ từ vựng. 
/* Cập nhật giá trị các tham số đầu vào p[] vào bảng giá trị biến variable_table */ 
[2]variable_table[] ← p[] 
/* Dùng thuật toán Adaptive LL(*) Parsing để phân tích chuỗi thẻ từ vựng t[] thành một 
cây phân tích */ 
[3] syntax_tree ← Adaptive_LL(*)_Parsing(t[]) 
/* Sử dụng một thuật toán duyệt cây đệ quy để duyệt toàn bộ cây phân tích, đồng thời thực 
hiện các bước tính toán tương ứng với mỗi đỉnh trên cây, các kết quả được lưu vào bảng 
giá trị biến variable_table */ 
[4] visit(syntax_tree.root) 
/* Đọc giá trị đầu ra o từ bảng giá trị biến */ 
[5] o ← variable_table[index_of_o] 
/* Trả về giá trị đầu ra */ 
[6] return (o) 
Phân tích 
từ vựng 
script Phân tích 
cú pháp 
chuỗi thẻ 
từ vựng Duyệt cây 
cây 
phân tích 
Bảng giá trị 
biến 
Văn phạm phi 
ngữ cảnh 
Công nghệ thông tin & Cơ sở toán học cho tin học 
Đ. T. Quyền, N. C. Thành, , “Nghiên cứu xây dựng mô hình  văn phạm phi ngữ cảnh.” 144 
3. THỬ NGHIỆM, ĐÁNH GIÁ 
3.1. Số liệu đầu vào 
Để thử nghiệm tính chính xác của mô hình tính toán này, chúng tôi đã tiến hành viết lại 
lời giải của 80 bài toán đặc trưng tính toán ứng dụng chiến đấu PTSTHK theo chuẩn văn 
phạm phi ngữ cảnh được đề xuất ở trên. 80 lời giải được viết thành 80 script để đưa vào 
chương trình tính toán. Các bài toán này là các bài toán mẫu trong tài liệu tham khảo về 
tính toán ứng dụng chiến đấu PTSTHK của Nga. 
3.2. Phương pháp, công cụ thử nghiệm 
Sau khi chạy chương trình với 80 bài toán, kết quả tính toán được thể hiện từ các kết 
quả trung gian đến đáp số cuối cùng, các kết quả được so sánh với các bước làm bằng tay 
theo đúng quy trình nghiệp vụ. Ngoài ra, những bài toán đặc trưng này cũng được kiểm 
nghiệm lời giải với các số liệu đầu vào khác nhau, đảm bảo độ chính xác trong tính toán. 
Để kiểm tra mức độ hiệu quả của mô hình tính toán, chúng tôi tiến hành thử nghiệm so 
sánh thời gian giải các bài toán dùng chương trình và thời gian tính toán bằng tay. Những 
người tham gia thử nghiệm được chia thành 2 nhóm là chuyên gia và không phải chuyên 
gia. Nhóm chuyên gia là nhóm những người nắm vững các kiến thức về ứng dụng 
PTSTHK và thành thạo việc giải các bài toán tính toán ứng dụng chiến đấu PTSTHK, 
những người còn lại được xếp vào nhóm không phải chuyên gia. Mỗi người tham gia thử 
nghiệm sẽ giải các bài toán bằng 2 cách là dùng chương trình và giải bằng tính toán thủ 
công để so sánh thời gian giữa 2 cách. Khi dùng chương trình để giải bài toán, thời gian 
được tính từ lúc người dùng bắt đầu nhập các số liệu đầu vào cho tới khi chương trình hiển 
thị kết quả của lời giải. 80 bài toán được chia làm 2 nhóm là đơn giản và phức tạp theo độ 
khó của các bước tính toán. 
Chương trình phần mềm áp dụng mô hình tính toán giải quyết bài toán dựa trên văn 
phạm phi ngữ cảnh được viết bằng công cụ lập trình Visual C#, các thử nghiệm được chạy 
trên máy tính để bàn hệ điều hành Windows 10. 
3.3. Kết quả thử nghiệm và bình luận 
3.3.1. Đánh giá về độ chính xác 
Sau khi thực hiện giải 80 bài toán bằng chương trình, các đáp số cuối cùng và các kết 
quả tính trung gian được kiểm tra tính đúng đắn theo quy trình nghiệp vụ. Kết quả cho 
thấy các bước tính toán của chương trình đều đảm bảo chính xác so với lời giải bằng 
phương pháp nghiệp vụ của chuyên gia. 
3.3.2. Đánh giá về thời gian thực hiện 
Kết quả thử nghiệm đánh giá về thời gian thực hiện của chương trình so với phương 
pháp nghiệp vụ truyền thống được trình bày ở bảng 2. Kết quả này cho thấy việc sử dụng 
chương trình giúp giảm đáng kể thời gian giải các bài toán tính toán ứng dụng chiến đấu 
PTSTHK, thời gian để giải quyết bài toán chỉ còn trong vài phút, trong đó phần lớn thời 
gian là để nhập các dữ liệu đầu vào, thời gian để máy tính thực hiện tính toán chỉ vài giây. 
Bảng 2.Kết quả thử nghiệm chương trình. 
 Mức độ bài toán Chuyên gia Không phải là 
chuyên gia 
Tính toán 
bằng tay 
Đơn giản 5 phút 20 phút 
Phức tạp 15 phút 40 phút 
Sử dụng 
chương trình 
Đơn giản 1 phút 2 phút 
Phức tạp 2 phút 3 phút 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số 50, 08 - 2017 145
3.3.3. Nhận xét 
Thuật toán và cách thức giải các bài toán được đưa vào dưới dạng các script mô tả để 
engine của chương trình thực hiện tính toán, do vậy, hoàn toàn có khả năng đưa thêm các 
tính toán cho các tình huống tác chiến khác. 
Cách tiếp cận truyền thống để xây dựng một chương trình giải quyết những bài toán 
này là lập trình thực hiện các bước tính toán sử dụng một công cụ lập trình nào đó. Cách 
tiếp cận truyền thống này đòi hỏi người dùng phải thông thạo về một ngôn ngữ lập trình, 
công cụ lập trình của ngôn ngữ đó, biết cách xây dựng giao diện chương trình, tương tác 
với người sử dụng để nhập các tham số đầu vào và hiển thị kết quả đầu ra, tìm hiểu các thư 
viện để tra cứu các tham số dạng bảng biểu và các tham số dạng đồ thị. Ưu điểm của 
phương pháp được đề xuất là nó không yêu cầu người dùng phải hiểu biết những kiến thức 
về lập trình như vậy mà chỉ cần viết ra một script để định nghĩa các tham số đầu vào và kết 
quả đầu ra, các bước tính toán của lời giải. Như vậy, với phương pháp mới này, việc thêm 
một bài toán và lời giải cho nó vào trong phần mềm để tự động tính toán, giải quyết bài 
toán đơn giản hơn so với cách tiếp cận truyền thống. 
4. KẾT LUẬN 
Để đáp ứng nhu cầu giải quyết các bài toán tính toán ứng dụng chiến đấu PTSTHK một 
cách nhanh chóng, chính xác, đáp ứng yêu cầu tác chiến của Quân chủng Phòng không – 
Không quân, chúng tôi đã xây dựng một mô hình tính toán dựa trên văn phạm phi ngữ 
cảnh để tự động hóa quá trình giải các bài toán. Lời giải bài toán được viết lại dưới dạng 
ngôn ngữ phi ngữ cảnh, sau đó được đưa vào bộ phân tích cú pháp để xây dựng cây cú 
pháp. Cuối cùng, chương trình duyệt cây cú pháp để thực hiện các bước tính toán và đưa 
ra đáp số cuối cùng. Mô hình tính toán này đã được thử nghiệm với một tập các bài toán 
mẫu, kết quả thử nghiệm cho thấy kết quả tính toán của mô hình này là chính xác, tốc độ 
tính toán cao. Từ mô hình này chúng tôi đã xây dựng phần mềm phục vụ tính toán, xây 
dựng cơ sở dữ liệu các bài toán tính toán ứng dụng chiến đấu PTSTHK giúp người dùng 
tra cứu nhanh và giải nhanh các bài toán, phục vụ tham mưu, chỉ huy trong công tác dẫn 
đường ở Quân chủng Phòng không – Không quân. 
Lời cảm ơn: Nhóm tác giả cảm ơn sự tài trợ về kinh phí của đề tài: “Nghiên cứu thiết 
kế xây dựng hệ thống phần mềm hỗ trợ tính toán ứng dụng chiến đấu sử dụng các phương 
tiện sát thương hàng không tiêu diệt mục tiêu mặt đất, mặt nước”. 
TÀI LIỆU THAM KHẢO 
[1]. Đỗ Duy Đản, “Tài liệu sử dụng vũ khí hàng không công kích mục tiêu mặt đất, mặt 
nước”, Học viện PK-KQ (2005). 
[2]. Lê Đình Vạn, “Giáo trình ứng dụng chiến đấu súng, pháo, tên lửa trên máy bay”, Học 
viện PK-KQ (2000). 
[3]. D. Jurafsky and J. H. Martin, “Speech and language processing, Prentice Hall”, 
(2008). 
[4]. K. Cooper and L. Torczon, “Engineering a Compiler”, Elsevier Science & 
Technology, (2011) 
[5]. T. Parr, “Language implementation patterns: create your own domain-specific and 
general programming languages”, Pragmatic Bookshelf, (2009). 
[6]. A. V. Aho, M. S. Lam, R. Sethi and J. D. Ullman, “Compilers - Principles, 
Techniques, and Tools-Pearson”, Addison Wesley, (2006). 
[7]. T. Parr, S. Harwell and K. Fisher, “Adaptive LL (*) parsing: the power of dynamic 
analysis” in ACM SIGPLAN Notices, Vol. 49. No. 10. ACM, 2014. 
Công nghệ thông tin & Cơ sở toán học cho tin học 
Đ. T. Quyền, N. C. Thành, , “Nghiên cứu xây dựng mô hình  văn phạm phi ngữ cảnh.” 146 
ABSTRACT 
A METHOD FOR COMPUTING COMBAT USE OF AIRCRAFT WEAPONS BASED 
ON CONTEXT-FREE GRAMMAR 
In the paper, results of a study on building a model for computing combat use of 
aircraft weapons are presented. To enable computer to automatically solve the 
problems of combat use of aircraft weapons, a method to model solutions based on 
a context-free grammar is proposed. In this method, a solution to a problem is 
represented by a sentence of the language generated by the defined contex-free 
grammar. Then, a parsing algorithm constructs a parse tree from the sentence. 
Finally, a tree traversal algorithm is applied to the parse tree to visit each node in 
the tree struct. Computational steps of the solution are performed simultaneously 
with node visiting and the problem is solved when the tree traversal finish. 
Experiment results show that the proposed method could solve problems of combat 
use of aircraft weapons with accurate calculations. 
Keywords: Context-free grammar, Aircraft weapons usage, Parsing syntax. 
Nhận bài ngày 21 tháng 12 năm 2016 
Hoàn thiện ngày 22 tháng 02 năm 2017 
Chấp nhận đăng ngày 18 tháng 8 năm 2017 
Địa chỉ: 1Viện Công nghệ Thông tin, Viện KHCNQS. 
 *Email:dangthanhquyen@gmail.com. 

File đính kèm:

  • pdfnghien_cuu_xay_dung_mo_hinh_tinh_toan_ung_dung_chien_dau_cua.pdf