Thời gian và dung lượng bộ nhớ cần thiết để chạy mô phỏng bài toán Gossiping

Một phần của tài liệu Hướng dẫn sử dụng UPPAAL 4.0 (Trang 30 - 32)

8 Các demo khác trong Uppaal

6.2 Thời gian và dung lượng bộ nhớ cần thiết để chạy mô phỏng bài toán Gossiping

Kết quả cho thấy việc tăng số lượng các cô gái làm tăng đáng kể thời gian và dung lượng bộ nhớ cần thiết cho việc mô phỏng. Điều này cho thấy sự cần thiết trong việc tìm cách mô phỏng bài toán theo cách tối ưu.

Chương 7

Các thiết kế mẫu

Trong phần này, chúng tôi sẽ đưa ra một số mô hình mẫu hữu ích cho Uppaal. Một mô hình mẫu là một dạng của việc thiết kế mô hình với một mục đích rõ ràng, động lực và cấu trúc. Chúng ta thấy rằng hầu hết các mô hình Uppaal của ta dùng một hoặc hơn theo những mẫu sau và những mẫu này được bắt chước khi thiết kế một mô hình mới.

7.1 Giảm biến số

Mục tiêu

Để giảm kích thước của không gian trạng thái bằng cách đặt lại các biến một cách rõ ràng khi chúng không được dùng, do đó tăng tốc độ kiểm tra.

Hỗ trợ từ Uppaal

Mặc dù các biến là khó có thể thay đổi, đôi lúc từ cách hoạt động của mô hình, có những biến mà giá trị của biến đó không quan trọng trong những trạng thái nhất định. Rõ ràng hai trạng thái chỉ khác nhau về tên biến là hoàn toàn tương đồng. Đặt lại những biến này để biết giá trị sẽ tạo ra hai trạng thái đồng nhất này, do đó sẽ giảm không gian trạng thái.

Cấu trúc Mẫu là dễ dàng nhất để ứng dụng vào các biến địa phương. Cơ bản là một biến v được gọi là không hoạt động trong vùng l, nếu dọc theo tất cả các con đường bắt đầu từ l, v sẽ reset trước khi nó được dùng. Nếu một biến v là không hoạt động trong vùng v, nên reset v đến giá trị khởi tạo trên tất cả các cạnh đến của l.

Ngoại trừ luật này khi v không hoạt động trong tất cả các vùng nguồn của sườn đến l. trong trường hợp này, v đã được reset, và không cần reset nữa. Mẫu đó cũng thích hợp với những biến chia sẻ, mặc dù nó có thể khó hơn để nhận ra nơi mà những biến đó sẽ là không hoạt động. Với đồng hồ, Uppaal tự động thực thi việc phân tích được mô tả ở trên. Quá trình này gọi là việc giảm đồng hồ hoạt động. trong một vài hoàn cảnh, phân tích này có thể sai, bởi vì Uppaal không lấy giá trị của biến ko phải của đồng hồ vào trong việc đếm khi phân tích tính hoạt động. trong

7.1. GIẢM BIẾN SỐ CHƯƠNG 7. CÁC THIẾT KẾ MẪU

những tình thế đó, có thể tăng tốc độ kiểm tra, nếu đồng hồ reset đến 0 khi nó trở nên không hoạt động. Một vấn đề tương tự nảy sinh nếu bạn dùng mảng đồng hồ và dùng biến số nguyên để biểu thị trong những mảng đó. Lúc đó Uppaal sẽ chỉ có thể tạo ra một xấp xỉ thô khi đồng hồ trong mảng sẽ được kiểm tra và reset, thường thì nguyên nhân của mảng đầy đủ được đánh dấu hoạt động mọi lúc. Việc reset bằng tay những đồng hồ có thể tăng tốc việc kiểm tra.

Ví dụ

Ví dụ về hàng đợi ở của tầu được giới thiệu sớm hơn trong hướng dẫn này dùng mẫu biến hoạt động hai lần, xem hình 7.1. Khi một phần tử bị loại đi, tất cả phần tử còn lại được dịch 1 vị trí.Ở cuối của vòng trong vùng dich xuống, biển đếm i được reset đến 0, bởi vì giá trị của nó không quan trọng nữa. Cũng như phần tử tự do list[i] trong danh sách được reset về 0, bởi vì giá trị của nó sẽ không bao giờ được dùng lại. trong ví dụ này, việc kiểm tra nhanh thêm nhờ việc dùng mẫu này là xấp xỉ 5 lần.

Một phần của tài liệu Hướng dẫn sử dụng UPPAAL 4.0 (Trang 30 - 32)

Tải bản đầy đủ (PDF)

(57 trang)