B Á O C Á O T Ó N G K ẾTA .Đ ặt vấn đề Nhận dạng là một nhu cầu cần thiết trong thực tiễn, được áp dụng vào nhiều chuyên ngành và ẵnh vực như trong xây dựng thư viện điện tử, phục vụ cho
Trang 1ĐẠI HỌC QUÔC GIA HÀ NỘI
rwi A À , > •
Tên đê tài
“Nghiên cửu mô hình tích họp hệ thống nhận dạng
thông minh vào trong chip A R M ”
Trang 2B áo c á o tổng họp nghiệm thu đề tài K H C N của Đ H Q G H N
M ụ c lục
Báo cáo tổng hợp nghiệm thu đề tài KHCN của Đ H Q G H N 2
Bảng giải thích các chữ viết t ắ t 3
Danh sách những người tham gia thực hiện đề tà i 3
Danh mục các h ìn h 4
Tóm tắt các kết quả nghiên cứu chính của đề t à i 5
BÁO CÁO TỔNG K Ế T 6
A Đặt vấn đ ề 6
B Tổng quan các vấn đề nghiên c ứ u 6
c Mục tiêu và Nội dung Nghiên cứu của Đề tà i 17
D Địa điểm, thời gian và phương pháp nghiên c ứ u 17
E Kết quả nghiên c ứ u 18
F Kết luận và kiến n g h ị 18
Tài liệu tham k h ả o 19
Trang 3B ảng giải thích các ch ữ viết tất
D a n h s á c h những n gư ời tham gia t h ự c hiện đ ề tài
Trang 4D an h m ục các hình
Hình 1 Cấu trúc chung của hệ thống thời gian thực sử dụng vi xử lý JavaHình 2 Sử dụng bộ nhớ động trong chu kỳ thuật toán concuưent copyHình 3 Hệ thống vi xử lý nhúng thời gian thực Java
Hình 4 Thuật toán lập lịch thời gian thực
Hình 5 Biểu đồ thời gian thực thi hệ thống
Hình 6 Lớp đối tượng
Hình 7 Đối tượng stack
Hình 8 Thực thi của GC trong vi xử lý Java
Hình 9 Kiến trúc đồng xử lý GC
Hình 10 Kiến trúc hệ thống nhận dạng nhúng
Trang 5B Á O C Á O T Ó N G K ẾT
A Đ ặt vấn đề
Nhận dạng là một nhu cầu cần thiết trong thực tiễn, được áp dụng vào nhiều chuyên ngành và ẵnh vực như trong xây dựng thư viện điện tử, phục vụ cho quá trình [ưu trữ hồ sơ, bảo mật thông tin, ứng dụng trên các robot tự động tìm đường đi Hệ thống nhận dạng thông
m inh ảnh hưởng tới sự nghiên cứu các quá trinh về nhận dạng chừ viết, phân tích hình ảnh, nhận dạng đường đi
Một vấn đề được đặt ra trong quá trình xử lý nhận dạng là cần phải có một công cụ đặc biệt được tích hợp hệ thống nhận dạng thông minh D ự án sẽ tạo tiền đề khoa học cho các quá trình xây dựng hệ thống nhận dạng chữ viết tay tiếng Việt, xây dựng hệ thống nhận dạng thông qua camera cho các robot tự hành
Hiện tại ờ Việt Nam chưa có sự phát triển đồng nhất về hệ thống nhận dạng, nhất là vể nhận dạng chữ viết tay tiếng Việt và nhận dạng đuờng đi tự động D ự án này sẽ tạo tiền đề khả thi cho việc xây dựng một hệ thống hướng vào các khả năng nhận dạng chuyên nghiệp, được tích hợp các chức năng chuyên môn trên một bộ vi xử lý nhúng Với sự phát triển ngày càng mạnh mẽ của công nghệ nhúng trên thế giới cũng như ở Việt Nam , đề án này sẽ tạo ra một cơ sở khoa học cho các ngành nghiên cứu khác, tạo cơ sở gắn kết giữa các chuyên ngành với nhau, tạo nên sự phân công công việc rõ ràng trong nghiên cứu và nắm bắt những lĩnh vực khoa học mới
GC là một thành phần cổt yếu trong máy ảo Java GC có thể đáp ứng cơ chế quản lý bộ nhớ tự động, góp phần vào thành phần chính để xây dựng các chương trình lớn Cơ chế quản
lý bộ nhớ tự động sẽ giải phóng cho người ỉập trình các tính chất phức tạp và các lỗi sinh ra
do cung cấp bộ nhớ Trong báo cáo này, chúng tôi đề xuất một phương thức cho phép sử dụng tính chất của các thiết bị di động với bộ nhớ có hạn, và kết hợp với các giải pháp của hệ thổng thời gian thực Java (RTSJ) nhàm đưa ra một cách tiếp cận mới về quản lý, điều khiển
bộ nhớ, đặc biệt là bộ nhớ cố định một cách hiệu quả nhất Và áp dụng các phương pháp đó
Trang 6vào trong xây dựng hệ thống nhận dạng chữ viết online trên các thiết bị di động, mà nền tảng phần dưới là hệ thống thời gian thực chạy vi xử lý Java.
Nhằm tăng kích thước và độ phức tạp của hệ thống thời gian thực cứng, sử dụng trong các thiết bị di động với bộ nhớ hạn chế như Java cards, chúng tôi cần phải cân nhắc tới chu trình hoạt động của luồng, và phương pháp giải phỏng bộ nhớ tự động sau khì kết thúc một chu trình Trong hệ thống thời gian thực được thực thi bởi Java, cần phải thông qua cơ chế lập lịch, các độ ưu tiên và GC thời gian thực nẳm trong khoảng thời gian của hệ thống và phải thông qua khoảng thời gian thực thi xấu nhất cùa hệ thông (W CET) như trong hnh 1
GC có thể đứng sau sau trường hợp bộ nhớ xấu nhất tiêu thụ cho các luồng, liên kết với môi trường tối ưu của java trong hệ thống thời gian thực cứng
Để đơn giản quá trình khởi tạo cùa một chương trình thời gian thực đơn giản, hầu hết các đoạn code chương trinh s ẽ sử dụng tới sự quản lý GC của bộ nhớ động Chúng tôi đưa ra 2 điểm chính sau:
• GC phải được tăng lên trong khoảng thời gian lớn nhất được cho trước
• GC phải giữ vết của tất cả các tiến trình của chương trinh, n h àm tránh tình trạng tràn
Hình 1 Cấu trúc chung của hệ thống thòi gian thực sử dụng vi xử lý Java
Trang 7Sao chép vùng nhớ được thực hiện bàng thuật toán sao chép song song, và không liên quan tới vùng nhớ cố định Chương trình được gọi là võrng chắc khi chư ơng trình đó thay đổi cây đối tượng khi GC hoạt động Quá trình của GC được gọi là quá trinh thu dọn rác Hình 2
mô tả sử dụng bộ nhớ động trong suốt chu kỳ thuật toán concuưent-copy
ai th e b e g in o f Ih e G C c y c l e
u 93 91 9 /rnm -tpocr tn-xpact
Hình 2 Sử dụng bộ nhớ động trong chu kỳ thuật toán concurrent copy
Hệ thống nhúng được phục vụ cho nhiều mục đích khác nhau N ó được tích họp vào trong hệ thống cùng với phần cứng và phần mềm Phần lớn hệ thống nhúng cỏ tính chất tiết kiệm năng lương, xử lý nhanh, bộ nhớ nhò và ngày càng gần với phần mềm
Hệ thống nhúng sử dụng trong mục đích thời gian thực, và với các tính chất với độ thực
tế cao, xử lý đa luồng và WCET
Với các khả năng đó, vi xử lý thời gian thực Java được lựa chọn phù hợp với các đặc tính:
• An toàn trong bytecode
• Bytecode là chương trình chính và khó thay đổi sau khi được lập trình
• Phần lớn không có GC
• Không có quá trình chạy file class động
• WCET dễ dàng dự đoán trước
Trang 8Sự tối ưu được cho ở hinh 1, Java cần phải xác định các hỗ trợ thêm mới dành cho vi xử
lý nhúng thời gian thực Java, quá trình chạy class động và sử dụng GC trong suốt quá trinh hoạt động cùa hệ thống Thông qua [6] mô tả quá trình tối ưu, gồm m ột số định nghĩa sau:
C lass: file gốc sinh ra bởi quá trình biên dịch java chuẩn
Im ag e: đầu ra sau khi convert class và là đầu vào cho vi xử lý java
C: c □ (loading Ư verifying u preparation ư resolution u linking ư initialization)
and c is finished by the Class Converter
C(r|): processing T] by c
(C(tị)): the results created by C(rj) (C(rj)) can be © □
Then, the optimization policy can be described as: •
I f (TỊ □ class) A ( C(T|) is TRUE )
Then
Image = Image u (COi))
Else
Hình 3 Hệ thống vi xử lý nhúng thời gian thực Java
Hệ thống GC thời gian thực dành cho vi xử lý Java phải được phân tích bởi WCET tiêu hao cho các tiến trình và lập lịch
T ư tưởng chính của WCET được thể hiện bởi thuật toán lập lịch thời gian thực theo hình
3 [2] Khi phần lớn các tiến trình thời gian thực được gán để hoạt động thì quá trình tính toán
W CET thường không được quan tâm nhiều Trong công nghiệp, quá trình kiểm thử hệ thống dưới các điều kiện khác nhau thường cố gắng nội suy ra giá trị W CET Khi tiếp cận với công việc trong một khoảng thời gian, W CET thường không tuân theo sự tính toán nào Dữ liệu
Trang 9đầu vào khône mong đợi có thể là nguyên nhân làm chậm hệ thống, hơn là quá tình tính toán kiểm thử ở hình 4 sau
-Hình 4 Thuật toán lập lịch thòi gian thực
Hình 5 Biểu đồ thời gian thực thi hệ thống
Sự tin cậy và cách tiếp cận có hệ thống để tìm được giá trị W CET trong phân tích ĩnh càng được nâng cao Trong thực tế thì tính toán tĩnh là không đơn giản Môi trường thời gian thực jav a truyền thống thường có nhiều nguồn không thể dự đoán trước, do đó kết quả
W CET nhiều khi không khả quan Đối với sự biên dịch just-in-tim e, vấn đề kỹ thuật cơ bản dành chơ tương quan các giá trị trung bình trong máy ảo java, sẽ ảnh hường trước hết tới hoạt động của một số luồng, làm chậm các hoạt động luồng tiếp sau Sự phân tích tĩnh phải
Đ A I H Ọ C Q U Ố C G I A H À N Ộ l
T P Ụ N G I Ẩ M 1 H Ò N G T I N Ĩ H Ư V l Ệ N
0 0 0 ( , 0 0 0 0 0 ĩ ỉ
Trang 10được tính toán cho trường hợp khi mà ước lượng về W CET là rất lớn Nỏ có thể là nguyên nhân do rác trong bộ nhớ, và trước tiên cần phải tẳt quá trình biên dịch just-in-tim e, mà có thể dẫn đến làm chậm quá trình hoạt động M ột cách tiếp cận khác là giải quyết vấn đề với
sử dụng GC trong hệ xử lý thời gian thực java Nó có thể kiểm soát bộ nhớ, và tăng hiệu suất hoạt động của jav a bytecode
Bộ vi xử lý hiện đại là sự đối lập với phân tích WCET Pipeline lớn, tiên đoán trước được các trường hợp, và giả đa mức cach có sự cải thiện lớn thông qua W CET Phân tích WCET phải bao gồm sự caching khoảng thời gian thậm chí là sự cố là hiếm Vì the, GC phải hoàn thiện trong thời gian kết thúc WCET, sau khi đọc bytecode Nó phải chạy ở chế độ thời gian thực để đảm bảo là các luồng kế tiếp không bị trễ, và hoạt động theo thời gian lập lịch
N hư đã nó về hệ GC thời gian thực, ở đây, chúng tôi sử dụng thuật toán concuưency- copy algorithms dành cho hệ thống GC thời gian thực trong vi xử lý Java Đây à gi ải phap dành cho đối tượng tĩnh sử dụng bộ nhớ immortal trong RTSJ và lập lịch trong WCET
Theo [3], độ lớn bộ nhớ heap dành cho concuưent-coping là Hcc , chứa 2 phần nhớ bằng nhau, chu kỳ luồng GC là T q c , chu kỳ đơn period o f a single của luồng m utator là TM, chu
kỳ luồng mutator I là (Ti) từ tập hợp các luồng, và bộ nhớ tính bởi luồng đơn mutator (a) và bởi luồng m utator i (a,) từ tập hợp các luồng
Theo đỏ, giá trik lớn nhất từ phần nhớ from-space as Mfrom giá trị lớn nhất từ phần nhớ to-space as M t0
Ký hiệu dành cho copying-collector trong heap là Hcc được chia là 2 phần bàng nhau Hfrom và H I0 Độ lớn bộ nhớ cấp phát M trong mỗi phần phải nhỏ hơn hoặc bàng Hcc/2
Hcc = H from + Ht0 > 2M
Tiên đề đổi với m ột chu kỳ, bộ nhớ cấp p h á t M trong mỗi phần được xách định bời giá trị
dữ liệu bộ nhớ lớn nhất L max tại điểm xuất p h á t của chu kỳ đó và g iá trị dữ liệu bộ nhớ lớn nhất Amax được cấp p h á t bởi mutator or trong suốt chu kỳ.
M < L max + A max
Proof Floating garbage at the end o f cycle n will be detactable garbage in cycle n+1.
Trang 11Under the assumption that there is true for cycle n, we must to show for cycle n+1.
Trang 12Sử dụng thuật toán trên, chúng tôi đưa ra một kiến trúc phần cứng dành cho GC Phần cứng hỗ trợ GC đòi hỏi phải trỏ tới đối tượng tại mức độ kiến trúc Vì thế, bộ vi xử lý không thể nhận biết con trỏ từ phần không hồ trợ hay không thể xác định đối tượng trong bộ nhớ
Bộ vi xử lý chính trong hệ thống này được thực thi theo kiến trúc RISC [5] Thay vì sử dụng tag bits để xác định con trỏ, kiến trúc này phân biệt con trỏ từ các dừ liệu bình thường không được trò Sừ dụng thuật toán concuưency-copying, chúng tôi chia thanh ghi dữ liệu làm 2 phần - vùng nhớ có địa chi trỏ và vùng nhớ không trỏ.Vì thể, đổi tượng được lưu trong bộ nhớ sẽ ở trong 2 phần - phần con trò và phần dữ liệu, được thể hiện theo hình vẽ lớp đối tượng sau
lưu dữ liệu (hình 7) Đ ộ lớn của vùng con trỏ bị liên quan tới đổi tượng thuộc tính K và đ ộ
lớn của vùng dữ liệu - đối tượng thuộc tính ô
Trang 13Theo [7] và sử dụns thuật toán concurrency-copying, chúng ta có thể thực thi GC, mà trong vòng lặp, tất cả đối tượng từ root được copy từ một vùng bộ nhớ (from-space) sang vùng bộ nhớ (to-space) Hình dưới thể hiện cách thức hoạt động của GC trong vi xử lý Java.
a itn b u ie s p o in te r S lack a r e a đ a ia S lack a ia a
[, 18 Ị/I/ITTTI |q|DMol rn
0 I S -1 r n - 1 0 I á -1 6 J - t
pointer S la c k index (psix) data * a c * indoc (đsix)
Ị 7 Ị pointer word { □ ] data word Q undefined'.Vủfd
Hình 7 Đối tượng stack
' 8A
Từ các nhận định trên, chúng tối đưa ra một kiến trúc đồng xử lý GC, kết nối vào trong
vi xử lý Java Kiến trúc đó được thể hiện tại hình 9 Đồng xử lý được xây dựng trên kiến trúc
32 bit, chứa 32 thanh ghi, bao gồm các thanh ghi tổng quát dành cho các giá trị vi tính toán,
Trang 14giao diện bộ nhớ thanh ghi dành cho nạp và lưu dừ liệu, và một số thanh ghi đặc biệt để truy cập tới đối tượng con trỏ trong stack, và trỏ tới vi xử lý chính.
Hình 9 Kiến trúc đồng xử lý GC
Trong phần này, chúng tôi đưa ra một giải pháp nhằm thiết kế hệ thống nhận dạng chừ viết tay dành cho hệ thống thiết bị nhúng với kiên trúc hạn chế Phương pháp sừ dụng đầu vào là các ký tự nhận dạng Một điểm hết sức quan trọng là chất lượng giao diện phụ thuộc vào tần xuất chất lượng nhận dạng Giải pháp chúng tôi đưa ra nhàm tập trung vào nghiên cứu khả năng tối ưu của hệ thống nhận dạng trên thiết bị nhúng Cơ sở của nghiên cứu là khả năng lien kết người sử dụng vào trong giao diện với các quá trình thực thi tuần hoàn Chúng tôi sẽ sử dụng phương pháp đưa chữ viết tay có sẵn, trên cơ sở đỏ đưa ra giải pháp nhận dạng chữ viết tay, và cơ chế thiết kế giao diện nhận dạng trên thiết bị nhúng
Kiến trúc hoạt động đề xuất của hệ thống có thể chia ra làm ba thành phần chính: tầng phân tích layout vật lý (physical layout analysis), tầng nhận dạng dòng (text line recognition),
và tầng mô hình hóa ngôn ngữ (statistical language modeling) Hình 10 mô tả hoạt động của
Trang 15Tần? mô hình hóa ngôn ngữ đặc tả các khả nãng về ngôn ngữ, từ vựng, ngữ pháp và cấu trúc toàn văn bản.
D òng văn bản nhận dạng bao gồm quá trình tiền xử lý, sử dụng phân đoạn văn bản và các cấu trúc giả thuyết của văn bản Một mặt quan trọng của hệ thống là cố gắng xác định khả năng đáp ứng của hệ thống một cách tốt nhất thông qua từng tiến trình Ngoài ra, nếu khả năng cho phép về mặt thời gian và kinh phí, chúng tôi sẽ sử dụng MLP, xác định mô hình ngôn ngữ và tối ưu Bayes
Trang 16vii Ket luật và công việc tiếp theo
Tại báo cáo này, chúng tôi đã đưa ra một thiét kế và thực thi cùa vi xử lý Java kết hợp với
bộ đồng xử lý GC Sự tiếp cận sử dụng W CET làm tăng khả năng dự báo các trường hợp xấu trong hệ thống.Sự hỗ trợ mô hình lập trình động trong hệ thống thời gian thực sử dụng vi xử
lý java, nó có thể đảm bảo không hoạt động ngoài bộ nhớ trong suốt chu kỳ cùa luồng Bộ vi
xử lý Java đảm bảo sự nguyên vẹn cùa con trỏ trong phần cứng và linh hoạt trong xừ lý GC tại mức mã máy
Trong thời gian tiếp theo, chúng tôi sẽ thực thi Java trên mô phỏng phần cứng Kiểm thừ
mã Java bytecode chạy trên chip, và xử lý java card applets Kết hợp với kiểm thử hệ thời gian thực GC dành cho hệ thời gian thực Java cứng với hỗ trợ bộ nhớ nhỏ Tiếp theo, chúng tôi sẽ kết hợp quá trình xử lý nhận dạng tiếng Việt vào trong hệ thống, tích họp trên thiết bị
di động với phần xử lý cùa bộ vi xử lý thời gian thực Java
C.Mục tiêu và N ội dung Nghiên cứu cùa Đề tài
- Xây dựng và phát triển mô hình toán học cho hệ thống.
- Xây dựng được thuật toán training cho m ạng nơron trong hệ thống nhận dạng
- Các phương pháp, kỹ thuật hỗ trợ phát triển hệ thống - phương pháp porting hệ thống iên trên môi trường phần cứng (hệ thống phần cứng xây dựng trên chip xử lý nhúng ARM, và cài đặt hệ điều hành Embedded linux)
- Tạo ra được môi trường tích hợp hệ thống - tích hợp giữa giao thức cùa phần cứng và phần mềm, tạo ra tầng giao thức tích hợp
D.Địa điểm, thời gian và phương pháp nghiên cứu
- Địa điểm nghiên cứu tại bộ môn CNPM, khoa CNTT, trường Đại học Công nghệ
- Thiết bị sử dụng nghiên cứu là Altera Cyclone II
- Sử dụng phần mềm Altera Quartus II 8.0 Web edition, Nios II EDS 8.0
Trang 17E K ết quả nghiên cứu
- Vu Quang Dung and Nguyen Viet Ha, Real-Time Garbage Collection for Java
M icroprocessor, 1st International Conference on Advanced Technologies for com m unications (ATC 2008), pp 339-342, Hanoi, Vietnam, O ctober 6-9, 2008
- D anh mục KLTN hướng dẫn từ đề tài này được liệt kê trong phần phụ lục thống kê KLTN
- K ểt quả nghiên cứu của đề tài đóng góp một phần trong hình thành môn học “Lập trình phần mềm nhúng” dành cho sinh viên chuyên ngành CNPM
- K hả năng khả thi của đề tài nếu được đầu tư thời gian gồm:
o Xây dựng bộ vi xử lý nhúng trên cấu trúc Java,
o Cấu trúc thiết bị trên FPGA chuyên môn hóa
o Phát triển nhận dạng chữ viết tay trên thiết bị trên
F K ết luận và kiến nghị
Đề tài đã tiếp cận được hướng nghiên cứu trong phát triển hệ thống nhúng Đề tài dành phần lớn thời gian vào nghiên cứu và xây dựng nền tảng thiết bị nhúng trước, và chì có thể đưa ra được hướng tiếp cận về phát triển nhận dạng trên thiết bị Đ ề tài đã đưa ra được khả năng khả thi để phát triển bộ vi xử lý nhúng trên cấu trúc Java, sử dụng máy ảo Java nhằm sinh ra các tập lệnh, và cho phép hoạt động trên các thiết bị nhúng m ột cách chuyên môn hóa Tìm hiểu được khả năng tương tác giữa phần cứng và phần mềm, cách thức phát triển bộ xừ
lý mềm (soft processor) Đề tài cũng tham gia đóng góp xây dựng môn học “Lập trình phần mềm nhúng”, có 4 khóa luận tốt nghiệp được bảo vệ thông qua đề tài, và một báo cáo khoa học tại hội nghị khoa học quốc tết ATC2008 về Advanced Technologies for communications
Trang 18T ài liệu tham khảo
a T à i liệu T iếng Việt
b Tài liệu tiếng nước ngoài.
[1 ] A n il K J a m , J ia n c h a n g M a o , K M M o h iu d d in , ‘A rtific ia l N e u r a l N e tw o r k s A T u to r ia l IE E E, tr.3 1 -4 4 , 1996.
[2], B e h n k e s , P fis te r M a n d R o ja s , R , ‘R e c o g n itio n o f H a n d w ritte n Z IP C o d e s in a R e a l-W o rld
N o n -S ta n d a r d - L e tte r S o rtin g S y s te m ’, K lu w e r A c a d e m ic P u b lish ers, 2 0 0 0
[3 ] D a v e A n d e r s o n a n d G e o r g e M c N e ill, ‘ A rtific ia l N e u ra l N e tw o rk s T e c h n o lo g y ’, P re p a re d f o r
[4], D u ra R O , H a r t P E a n d S to rk D G , ‘P a tte rn C la s s if ic a tio n ’, W iley 2 nd E d itio n , tr 2 8 2 - 3 5 0
[5], F re e m a n J A a n d S k a p u r a D M , ‘N e u r a l N e tw o r k s - A lg o rith m s , A p p lic a tio n s a n d P ro g ra m m in g
T e c h n iq u e s ', A d d iso n W esley, tr 8 9 - 1 2 4 , 1991.
[6 ] P ra tt K , “ D ig ita l Im a g e P ro c e s s in g : PIK.S in sid e, T h ird E d itio n ” , J o h n W iley, In c, 5 1 3 -6 1 5
[7 ], S S a th iy a K e e rth i a n d D r P K S a d a s iv a n N e u r a l N etw orks. P re n tic e H a ll, tr 1-1 4 2
[14] Martin Schoeberl: Real-Time Garbage Collection for Java, IEEE 2006
[15] Matthias Meyer: An On-chip Garbage Collection Coprocessor for Embedded Real- Time Systems, RTCSA 2005
[16] Meyer, M: A novel processor architecture with exact tag-free pointer, IEEE Micro,
VO 124(3), May 2005
Trang 19[17] Chai ZhiLei, Tang ZhiQiang, Wang LiMing and Tu ShiLiang: An Effective Instruction Optimization Method for Embedded Real-Time Processor, ICPPW 2005.[18] Dijkstra, E.W., et al: On-the-fly garbage collection; an exercise in cooperation, Comm ACM, vol 21(11), Nov 1978.
Trang 20PHỤ LỤC
Trang 21National Convention Center, Hanoi, Vietnam
October 6-9, 2008
IEEECOMMUNICATIONSSOCIETY
0 3 3
0 £ ) G
H O N Ộ I V ie tn a m N a t i o n a i U n i v e r s i t y P u W is h a r s , H a n o i