Khóa luận Xây dựng và đánh giá một hệ thống mô phỏng giao thông Việt Nam

MỤC LỤC

MỞ ĐẦU 1

CHƯƠNG 1: MÔ PHỎNG GIAO THÔNG 3

1.1. Giới thiệu 3

1.2. Hệ thống mô phỏng giao thông trực quan 4

1.2.1. Mô hình hệ thống giao thông 5

1.2.2. Mô hình điều khiển sự di chuyển các xe trên đường 5

1.2.3. Mô hình thống kê 6

1.3. Mô phỏng xe thông minh trên đường cao tốc 6

1.3.1. Mô hình mạng lưới đường cao tốc 7

1.3.2. Mô hình xe cộ 8

1.4. Hệ thống mô phỏng đèn giao thông 9

1.5. Kết luận 10

CHƯƠNG 2: MÔ HÌNH DỰA TRÊN AGENT 11

2.1. Agent và hệ thống đa agent 11

2.1.1. Agent 11

2.1.2. Hệ thống đa agent – MAS 12

2.2. Mô hình dựa trên agent 13

2.2.1. Khái niệm về mô hình dựa trên agent – ABM 13

2.2.2. Sự khác nhau giữa agent và đối tượng 14

2.2.3. Một số ứng dụng của ABM 14

2.2.4. Cách xây dựng một ABM 15

2.3. Kết luận 15

CHƯƠNG 3. HỆ THỐNG MÔ PHỎNG GIAO THÔNG VIỆT NAM SỬ DỤNG MÔ HÌNH DỰA TRÊN AGENT 16

3.1. Một số đặc điểm của giao thông Việt Nam 16

3.2. Các ý tưởng xây dựng hệ thống 16

3.2.1. Xây dựng hệ thống đường xá 17

3.2.2. Xây dựng agent đóng vai trò người tham gia giao thông 20

3.3. Mô tả hệ thống 24

3.3.1. Các thành phần chính của hệ thống 24

3.3.2. Các thuật toán được sử dụng 28

3.4. Cài đặt hệ thống mô phỏng 35

3.5. Giới thiệu chương trình mô phỏng 37

3.5.1. Chế độ thiết kế 37

3.5.2. Chế độ mô phỏng 41

3.6. Một số thử nghiệm và nhận xét 42

3.6.1. Một số thử nghiệm 43

3.6.2. Nhận xét các thử nghiệm 47

CHƯƠNG 4. TỔNG KẾT 48

4.1. Kết luận 48

4.2. Hướng phát triển và mở rộng 48

Tài liệu tham khảo 50

 

 

doc59 trang | Chia sẻ: netpro | Lượt xem: 2368 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Khóa luận Xây dựng và đánh giá một hệ thống mô phỏng giao thông Việt Nam, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
9]. Internet có thể được coi là một mạng lưới rộng lớn với mỗi nút của mạng lưới là một agent. Các nút mạng này được thiết kế, thực thi bởi những người, tổ chức khác nhau, và hoạt động với những mục đích khác nhau. Ngoài ra, hoạt động của chúng là không đồng bộ. Các nút mạng trao đổi thông tin với các nút mạng khác trong một phạm vi nào đó và theo một giao thức nào đó, … Trong một hệ thống giao thông, hệ thống đường xá, các đèn giao thông, tín hiệu giao thông đóng vai trò môi trường. Mỗi người tham gia giao thông trong đó đóng vai trò một agent. Các agent này đưa ra hành động bằng cách di chuyển theo các cách khác nhau để đạt được một mục tiêu là đi đến một vị trí nào đó trong hệ thống đường xá. Mỗi người tham gia giao thông đều có những thuộc tính riêng biệt phụ thuộc vào giới tính, tuổi tác, kinh nghiệm, … và do đó cách di chuyển của họ cũng là không đồng nhất. Người tham gia giao thông tương tác với những người khác trong một phạm vi nào đó. Họ có một số cách thức truyền thông điệp như bấm còi, bật sinh nhan để ra hiệu xin đường, … Chính vì vậy mà việc mô phỏng hệ thống giao thông dựa trên agent là một phương pháp rất thích hợp. 2.2. Mô hình dựa trên agent 2.2.1. Khái niệm về mô hình dựa trên agent – ABM Mô hình dựa trên agent, gọi tắt là ABM ( Agent-Based Modeling ) là một trong các loại mô hình tính toán dùng để mô phỏng các hành động không đồng nhất của các thực thể tự trị trong một môi trường và sự tương tác giữa chúng. Bằng việc mô phỏng lại hoạt động và tương tác giữa các thực thể giống như agent, ABM được sử dụng dể tái tạo hay dự đoán sự hiện diện của những những hiện tượng phức tạp. ABM đặc biệt được dùng để nghiên cứu các hệ thống phức hợp. Trong những hệ thống này, ta sử dụng những nguyên tắc ở mức độ vi mô để tạo ra những hiện tượng mang tính vĩ mô. Những hiện tượng nổi bật này không thể được giải thích bởi một đơn vị vi mô đơn lẻ [2]. Có thể coi ABM là một kỹ thuật mô phỏng mạnh mẽ được sử dụng nhiều năm qua, trong đó có cả các ứng dụng liên quan đến các vấn đề thực tế trong đó có cả thương mại. ABM có một số tên gọi khác nhau như ABS ( Agent-Based Systems ), IBM (Individual-Based Modeling) hay ABMS (Agent-Based Modeling and Simulating) nhưng trong khóa luận này, chúng tôi sẽ sử dụng ABM. 2.2.2. Sự khác nhau giữa agent và đối tượng Từ khi ra đời cho đến nay, công nghệ hướng đối tượng luôn là một phương pháp hữu hiệu trong công nghiệp sản xuất phần mềm. So với phương pháp xây dựng một chương trình theo hướng module như trước, phương pháp hướng đối tượng đã có nhiều ưu điểm vượt bậc. Tuy nhiên, sự ra đời của agent, hệ thống đa agent mà mô hình dựa trên agent đã mở ra một cách thức mới trong xây dựng phần mềm với những ưu việt của nó so với phương pháp hướng đối tượng. Hình 2-1: Ưu việt của agent so với đối tượng Hình 2-1 [3] có thể mô tả được phần nào được sự ưu việt của agent so với đối tượng. Ta có thể thấy rằng, đối tượng chỉ mang tính thụ động do các phương thức của chỉ được thực thi khi các thực thể bên ngoài gửi cho nó một thông điệp nào đó. Trong khi đó, agent có tính chủ động hay tự trị, chúng có thể đưa hành động một cách độc lập mà không chịu sự tác động nào từ bên ngoài. Ngoài ra, giữa chúng còn một số điểm khác biệt như sau [5, 8]: Các phương thức của đối tượng luôn là cố định, không bao giờ thay đổi, trong khi agent có khả năng học hỏi, thích nghi để thay đổi hành vi cho phù hợp với môi trường. Do đó hành vi của đối tượng luôn là có thể đoán trước được, trong khi các hành vi của agent chưa chắc là có thể đoán trước được. Agent có mục tiêu, mục đích, nó có có khả năng lập kế hoạch hay phối hợp với các agent khác để có thể đạt được mục tiêu đó. 2.2.3. Một số ứng dụng của ABM ABM được sử dụng từ những giữa thập kỷ 90 để giải quyết rất nhiều vấn đề về thương mại và công nghệ. Các ví dụ điển hình về ứng dụng của ABM gồm tối ưu dây chuyền cung ứng, mô hình hành vi của người tiêu thụ, các hiệu ứng xã hội, tính toán phân tán, quản lý lực lượng lao động và quản lý hồ sơ. Một số ABM được dùng để phân tích sự lan tràn của dịch bệnh, sự nguy hiểm của vũ khí sinh học, sự phát triển và suy tàn của những nền văn minh cổ đại hay nghiên cứu về sự viêm nhiễm và hệ miễn dịch của con người. Một số ABM được sử dụng để phân tích sự tắc nghẽn của giao thông. Trong những ứng dụng của ABM, hệ thống được quan tâm sẽ được mô phỏng bằng cách tìm ra những hành vi của các agent và mối liên hệ giữa chúng. Các công cụ ABM có thể được sử dụng để kiểm tra xem những thay đổi về hành vi của agent sẽ thay đổi như thế nào đến toàn bộ hệ thống. 2.2.4. Cách xây dựng một ABM Ở mức chung nhất, cách xây dựng một ABM cũng tương tự như cách xây dựng các mô hình khác. Điều cần làm trước tiên là cần xác định được mục đích của mô hình cần xây dựng. Tiếp theo, phân tích nghiên cứu về hệ thống, xác định các thành phần và mối liên hệ giữa chúng. Sau đó, áp dụng mô hình để thực hiện những thí nghiệm nếu-thì đơn giản. Cuối cùng, cần đánh giá được sự hữu dụng của mô hình qua kết quả và việc so sánh nó với các mô hình khác. Sau đây là một số bước cần thực hiện khi xây dựng một ABM [4]: Xác định agent: Xác định loại thực thể của agent, các thuộc tính và các hành vi của chúng Định nghĩa môi trường mà agent sẽ “sống” trong đó Xác định các phương thức mà các thuộc tính của agent được cập nhật trong việc phản ứng lại sự tương tác giữa agent-agent và tương tác agent-môi trường Thêm vào các phương thức điểu khiển việc agent sẽ tương tác với agent nào, khi nào nó tương tác, và nó sẽ tương tác như thế nào trong suốt quá trình mô phỏng Thực thi mô hình 2.3. Kết luận Trên đây, chúng tôi đã trình bầy những khái niệm về cơ bản của agent và hệ thống đa agent cũng như sự ưu việt của nó so với phương pháp hướng đối tượng. Chương này cũng đã nêu ra phương pháp mô phỏng dựa trên trên agent. Đây là một phương pháp pháp tiên tiến trong lĩnh vực mô phỏng những hệ thống phức tạp trong thế giới thực, điều đó thể hiện qua những ứng dụng của nó trong thực tiễn. Ở chương tiếp theo, chúng tôi xin trình bầy về chi tiết về hệ thống mô phỏng giao thông mà chúng tôi đã nghiên cứu và xây dựng. Đây cũng là hệ thống áp dụng mô hình dựa trên agent. CHƯƠNG 3. HỆ THỐNG MÔ PHỎNG GIAO THÔNG VIỆT NAM SỬ DỤNG MÔ HÌNH DỰA TRÊN AGENT 3.1. Một số đặc điểm của giao thông Việt Nam Hệ thống giao thông nước ta, như đã đề cập, là tương đối phức tạp. Sự phức tạp này đến từ nhiều yếu tố khác nhau. Một mặt, cơ sở hạ tầng giao thông nước ta còn chưa phát triển, trong khi lượng phương tiện tham gia giao thông ngày càng tăng với mức độ chóng mặt. Mặt khác, sự thiếu ý thức của người dân khi tham gia giao thông cũng làm cho hệ thống giao thông trở nên hỗn độn. Hệ thống giao thông trước hết gồm các hệ thống đường xá, hệ thống đèn giao thông, và các biển báo. Hầu hết các đường xá ở nước ta nhỏ hẹp, đặc biệt là trong các thành thị. Nhiều ngã ba, ngã tư không có đèn giao thông, hay có đèn giao thông nhưng thời gian bật đèn xanh đèn đỏ chưa hợp lý. Nhiều tuyến đường một chiều, hai chiều có giải phân cách không phù hợp tạo ra những hành vi rẽ trái, rẽ phải hoặc quay đầu không đúng của người tham gia giao thông. Ở nước ta hiện nay có nhiều loại phương tiện giao thông khác như gồm xe đạp, xe máy, ô tô, xe buýt, thậm chí cả các phương tiện không đạt tiêu chuẩn an toàn như xe ba gác, xích lô. Lượng phương tiện tham gia giao thông là rất lớn, trong khi hệ thống đường xá nhỏ hẹp nên thường xảy ra nhiều ách tách, đặc biệt là trong các giờ cao điểm. Một trong những yếu tố quan trọng ảnh hưởng tới giao thông của nước ta chính là yếu tố con người. Do ý thức chưa cao, cộng thêm sự thiếu hiểu biết về các tín hiệu, biển báo, nên sự di chuyển của người tham gia giao thông là rất tùy tiện. Điều đó càng làm tăng tính hỗn độn của giao thông Việt Nam. Từ những đánh giá trên về thực trạng giao thông của nước ta, chúng tôi đã đưa ra những ý tưởng xây hệ thống mô phỏng sao cho dựng phù hợp. Do hệ thống áp dụng mô hình dựa trên agent trong việc mô phỏng nên việc đầu tiên cần làm là xác định các yếu tố môi trường, xác định các agent trong một hệ thống giao thông. Ở phần tiếp theo, chúng tôi xin trình bầy về các ý tưởng về xây dựng hệ thống, gồm hệ thống đường xá – đóng vai trò môi trường và các ý tưởng xây dựng agent đóng vai trò người tham gia giao thông. 3.2. Các ý tưởng xây dựng hệ thống Trước khi đi vào trình bầy chi tiết thiết kế các thành phần của hệ thống mô phỏng, phần này sẽ đưa ra các ý tưởng về cách thức xây dựng hệ thống. Đầu tiên chúng tôi xin đưa ra ý tưởng về xây dựng hệ thống đường xá, đóng vai trò môi trường trong hệ thống giao thông. Tiếp theo sẽ là mô tả chi tiết các ý tưởng về xây dựng agent đóng vai trò người tham gia giao thông. Các ý tưởng xây dựng agent sẽ bao gồm xây dựng các hành vi, các thuộc tính và mục tiêu của agent. Ở cuối phần này, chúng tôi xin đưa ra một số ví dụ minh họa về sự ảnh hưởng của các thuộc tính ảnh lên hành vi của agent trong quá trình di chuyển trong hệ thống giao thông. 3.2.1. Xây dựng hệ thống đường xá Ở chương 1, chúng tôi đã trình bầy về một số hệ thống mô phỏng giao thông trước đây. Đây đều là những hệ thống mô phỏng cho phép tạo ra hệ thống đường từ các thành phần cơ bản. Tuy nhiên, như đã đề cập, hệ thống giao thông Việt Nam khá phức tạp, không theo một quy luật nào. Việc xây dựng hệ thống đường xá của Việt Nam bằng các công cụ mô phỏng này là rất khó khăn. Vì vậy, một thành phần quan trọng cần xây dựng trong hệ thống mô phỏng giao thông Việt Nam chính là hệ thống đường xá. Hệ thống đường xá đóng vai trò môi trường trong hệ thống mô phỏng giao thông sử dụng mô hình dựa trên agent (ABM). Chúng tôi cũng đã cố gắng xây dựng các thành phần cơ bản để tạo nên đường xá. Các thành phần này sẽ giúp tạo ra nhiều mô hình đường xa khác nhau, vì thế mà ta có thể mô phỏng được nhiều hệ thống giao thông phức tạp trong thực tế. Hình 3-1: Chia một ngã tư gồm nhiều tuyến đường thành các vùng đơn giản Với một hệ thống giao thông phức tạp gồm nhiều tuyến đường, ta có thể chia chúng thành các vùng, các đoạn đường nhỏ hơn. Hình 3-1 minh họa việc chia một ngã tư gồm nhiều tuyến đường giao nhau thành các vùng đơn giản hơn. Với các vùng này, ta thấy tám vùng xung quanh chỉ gồm một tuyến đường duy nhất, chỉ có duy nhất vùng ở giữa là chứa nhiều tuyến đường khác nhau từ các hướng đến tới các hướng đi khác nhau. Hình 3-2: Vùng ở giữa ngã tư chứa nhiều tuyến đường khác nhau Dựa vào ý tưởng này, chúng tôi đã xây dựng hệ thống đường xá từ các các thành phần đơn giản là vùng đường và các đoạn đường trong mỗi vùng. Đây có thể coi là thành phân cơ bản nhất của hệ thống đường xá cũng như hệ thống mô phỏng giao thông. Hình 3-3: Các lối vào, lối ra và các đoạn đương trong một vùng Mỗi vùng sẽ có các lối vào và các lối ra. Giữa mỗi lối vào và một lối ra của một vùng đường sẽ có một đoạn đường nào đó. Hướng của đoạn đường là hướng từ lối vào đến lối ra (Hình 3-3). Khi ghép nhiều vùng đường với nhau, các đoạn đường trên các vùng sẽ tạo với nhau thành các tuyến đường. Hình 3-2 mô tả các tuyến đường khác nhau khi ghép vùng ở giữa ngã tư và các vùng chứa đoạn đường thẳng. Các agent đóng vai trò người lái xe trên đường có thể chọn cho mình một tuyến đường đi gồm nhiều đoạn đường nối tiếp nhau, từ vùng này sang vùng kia để có thể đến nơi mà mình muốn đến. Hình 3-4: 16 đoạn đường ở vùng giữa ngã tư Trong ngã tư ở hình 3-3, vùng ở giữa sẽ có 4 lối vào và 4 lối ra, vì vậy số đoạn đường ở vùng giữa ngã tư này là 16 đoạn. Còn với các vùng xung quanh, mỗi vùng chỉ có một lối vào và một lối ra nên chỉ có một đoạn đường trên các vùng này. Hình 3-4 mô tả 16 đoạn đường ở vùng giữa của ngã tư. Cần lưu ý dẫy hình cuối cùng, lối đi quay đầu được tạo từ 2 đoạn đường nối tiếp nhau. Như vậy trong mỗi vùng, các đoạn đường giữa một lối vào và một lối ra không nhất thiết là duy nhất một đoạn đường mà nó có thể là một chuỗi các đoạn đường nối tiếp nhau. Điều này là rất hữu ích vì nó có thể giúp tạo ra các vùng đường tùy ý. Chẳng hạn như ta có thể thiết kế một vùng vòng xuyến bằng cách xấp xỉ đoạn đường cong của vòng xuyến thành các đoạn đường thẳng ngắn nối tiếp nhau. Từ các thành phần cơ bản như vùng đường, các đoạn đường trong mỗi vùng, ta có thể xây dựng đượng nhiều hệ thống giao thông phong phú, đa dạng và phức tạp trong thực tế. Cách thiết kế các thành phần đường xá mà chúng tôi đưa ra không chỉ giúp tạo ra một cách linh động các hệ thống giao thông mà mà còn có tác dụng nâng cao hiệu quả trong việc tính toán cách lái xe của các agent đóng vai trò người tham gia giao thông. Trước khi mô tả tác dụng này ở phần mô tả các thuật toán, chúng tôi xin đưa ra các ý tưởng về xây dựng các agent đóng vai trò người tham gia giao thông ở phần tiếp theo. 3.2.2. Xây dựng agent đóng vai trò người tham gia giao thông Phần trước đã đề cập đến cách thức thiết kế đường xá nhằm tạo ra một hệ thống giao thông bất kỳ. Dù hệ thống giao thông này có phực tạp cỡ nào, ta luôn có thể tìm được một tuyến đường từ một lối vào đến một lối ra khỏi toàn bộ hệ thống giao thông. Ở đây, ta giả thiết các agent khi bắt đầu tại một đầu vào sẽ có mục tiêu là sẽ đi đến một đầu ra nào đó của hệ thống và mục tiêu này là không đổi trong suốt quá trình di chuyển của agent. Giả sử trên một hệ thống giao thông được tạo ra chỉ có một agent đang di chuyển, thì việc di chuyển của agent hết sức đơn giản. Agent đó chỉ cần di chuyển theo một tuyến đường định trước, đi hết đoạn đường này sang đoạn đường khác hay từ vùng đường này sang vùng đường khác rồi kết thúc di chuyển khi đến đích. Nhưng khi có nhiều agent trên hệ thống này, ngoài việc tuân thủ các luật lệ của môi trường ở đây là hệ thống đường xá, các agent cần chú ý đến các agent khác khi di chuyển. Tùy từng tình huống, và cũng tùy vào các agent khác nhau mà cách di chuyển của nó sẽ khác nhau. Trong phần này, chúng tôi xin trình bầy về các hành vi và các thuộc tính của mỗi agent. 3.2.2.1. Các hành vi cơ bản của mỗi agent Để di chuyển, các agent cần có các hành động hợp lý tùy từng tình huống. Mỗi hành động này các agent sẽ đảm bảo một số yêu cầu là: Hướng đến đích, không va chạm với lề đường và không va chạm với các agent khác. Chúng tôi xin đưa ra các hành động cơ bản nhất của mỗi agent bao gồm: Tăng tốc Giảm tốc Đánh lái hay hành động điều chỉnh hướng xe Các agent sẽ thực hiện tăng tốc khi vận tốc hiện tại đang thấp hoặc đang ở trạng thái dừng và phải đảm bảo ở phía trước không có agent nào. Việc giảm tốc sẽ được thực hiện khi các agent nhận thấy nếu duy trì ở vận tốc hiện tại thì sẽ gây ra va chạm với agent khác hoặc va chạm với lề đường, ... Để điều chính xe theo đúng hướng đi của đường hoặc cần điều chỉnh hướng đi để tránh các agent khác, mỗi agent đều cần phải có hành động là đánh lái. 3.2.2.2. Xây dựng các thuộc tính đăng trưng cho mỗi agent Tùy từng tình huống khác nhau mà các agent sẽ đưa ra các hành động khác nhau. Tuy nhiên, kể cả khi gặp một cùng tình huống, những agent khác nhau khác nhau cũng sẽ chọn các cách hành động khác nhau. Sự khác nhau này được tạo ra bởi sự khác nhau về thuộc tính của các agent. Đối với những người tham gia giao thông thì tuổi tác, giới tính, tính cách, kinh nghiệm, … sẽ chi phối đến cách lái xe của từng người. Dựa vào những nhận xét trên, chúng tôi đã xây dựng các thuộc tính mang tính đặc trưng cho mỗi agent. Giá trị của các thuộc tính này sẽ phụ thuộc vào tuổi tác và giới tính của từng người. Theo hệ quả, giá trị của các thuộc tính này sẽ ảnh hưởng đến lựa chọn hành động lái xe của từng agent đóng vai trò người tham gia giao thông. Các thuộc tính đó gồm: Tốc độ tối đa Mức độ tăng tốc Tốc độ an toàn Khoảng thời gian dự tính Tốc độ tối đa là tốc độ lớn nhất mà agent có thể đạt được cho dù di chuyển trên bất cứ đoạn đường nào, dù có hay không có agent phía trước. Các lứa tuổi và giới tính khác nhau sẽ có tốc độ khác nhau, chẳng hạn như tốc độ tối đa của nam giới thường cao hơn nữ giới. Giá trị của thuộc tính này sẽ ảnh hưởng đến sự lưu thông trên đường. Mức độ tăng tốc chỉ khả năng tăng tốc của agent. Các agent sẽ thực hiện hành động tăng tốc khi đang ở tốc độ thấp hoặc đang ở trạng thái dừng trong khi phía trước không có xe nào. Cũng như tốc độ tối đa, mức độ tăng tốc của các agent khác nhau là khác nhau. Mức độ tăng tốc của thanh niên thường cao hơn người già, của nam giới thường cao hơn nữ giới. Mức độ tăng tốc của các agent rất có ảnh hưởng đến sự lưu thông trên đường. Chẳng hạn như tại các đoạn ùn tắc, các xe khi thoát khỏi đám đông mà tăng tốc càng nhanh sẽ càng tạo khoảng trống cho các xe phía sau nhanh hơn. Tốc độ an toàn là giá trị có liên quan mật thiết đến lựa chọn đánh lái của các agent. Khi cần đánh lái, các agent cần giảm tốc độ xuống tốc độ an toàn. Ví dụ, khi một người đang đi xe với một vận tốc nào đó mà nhận thấy sẽ va chạm vào xe khác phía trước nếu duy trì hướng và vận tốc hiện tại. Nếu vận tốc hiện tại lớn hơn vận tốc an toàn thì người này nhất thiết phải giảm tốc độ, nếu không thì người đó có thể xem xét việc đánh lái để tránh xe phía trước. Giá trị của tốc độ an toàn sẽ phụ thuộc vào giới tính và tuổi tác người lái. Ở người già, giá trị này thường thấp, còn ở người trung niên và thanh niên thì giá trị này cao hơn. Khoảng thời gian dự tính là quãng thời gian sắp tới mà mỗi agent cần xác định cách lái xe tốt nhất cho mình. Giá trị của thuộc tính này thường nhỏ, từ vài trăm miligiây đến vài giây, tùy thuộc từng lứa tuổi, giới tính. Giá trị này có ảnh hưởng đến cách lựa chọn hành động của các agent. Giả sử một agent đang chuyển động với vận tốc 30km/h và giá trị của thuộc tính này là 600 miligiây thì agent này cần xác định được cách lái tốt nhất trong quãng đường 4.98m sắp tới. Giá trị này ở các lứa tuổi khác nhau sẽ khác nhau. Giá trị này ở người trung tuổi và người già sẽ cao hơn thanh niên. Thuộc tính tốc độ an toàn thể hiện tính cẩn thận của các người lái, trong khi thuộc tính khoảng thời gian dự tính thể hiện sự “nhìn xa trông rộng” của các người lái. 3.2.2.3. Các ví dụ về sự ảnh hưởng của các thuộc tính lên cách lựa chọn hành động của agent Ví dụ 1: Các giá trị khác nhau của tốc độ an toàn ảnh hưởng đến cách lái xe khác nhau. Hình 3-5 minh họa hai agent đóng vai trò một thanh niên và một người già tham gia giao thông gặp tình huống giống nhau nhưng sẽ cho quyết định khác nhau. Cả hai agent này đều đang di chuyển với vận tốc là 26km/h và sẽ va chạm với xe trước mặt trong khoảng 1000 miligiây tới nếu tiếp tục đi thẳng và duy trì vận tốc hiện thời. Tuy nhiên, do giá trị vận tốc an toàn của agent giữ vai trò người thanh niên là 30km/h cao hơn vận tốc hiện thời, nên agent này đã xem xét trường hợp đánh lái. Vì xét thấy đánh lái sang trái là an toàn vì không chạm lề đường hay agent nào khác nên agent thanh niên đã chọn quyết định đánh lái sang trái. Còn agent người già do đang di chuyển với vận tốc 26km/h, cao hơn vận tốc an toàn là 20km/h nên đã chọn luôn quyết định giảm tốc độ mà không xem xét các lựa chọn nào khác. (a) Thanh niên Vận tốc hiện thời: 26km/h Vận tốc an toàn: 30km/h Thời gian dự tính: 1000ms Lựa chọn: Đánh lái sang trái (b) Người già Vận tốc hiện thời: 26km/h Vận tốc an toàn: 20km/h Thời gian dự tính: 1000ms Lựa chọn: Giảm tốc Mũi tên mầu xám chỉ ra người già không hề xem xét lựa chọn đánh lái sang trái Hình 3-5: Thuộc tính vận tốc an toàn ảnh hưởng đến cách lái xe của các agent Ví dụ 2: Các agent có khoảng thời gian dự tính khác nhau sẽ có cách lái xe khác nhau. Hình 3-6 mô tả hai agent đóng vai trò một người trung tuổi và một thanh niên gặp một tình huống giống hệt nhau khi tham gia giao thông. Cả hai đều đang di chuyển với vận tốc là 26km/h, nhỏ hơn vận tốc an toàn, do đó có thể xem xét các lựa chọn tránh xe nếu xét thấy sẽ va chạm với agent khác phía trước. Tuy nhiên, do khoảng thời gian dự tính của agent người trung tuổi là cao hơn do đó quãng đường phải xem xét va chạm với các xe khác là dài hơn. Trong trường hợp này, agent người trung tuổi đã xem xét cả 3 lựa chọn và đều thấy sẽ va chạm với các agent nên đành đưa ra quyết định giảm tốc. Với agent thanh niên, do quãng đường dự tính là ngắn hơn nên đã cho rằng sẽ không xảy ra va chạm với agent phía trước bên phải nên đã chọn cách đánh lái đi về phía bên phải. (a) Người trung tuổi Vận tốc hiện thời: 26km/h Vận tốc an toàn: 28km/h Thời gian dự tính: 1200ms Lựa chọn: Giảm tốc (b) Thanh niên Vận tốc hiện thời: 26km/h Vận tốc an toàn: 30km/h Thời gian dự tính: 1000ms Lựa chọn: Đánh lái sang phải Hình 3-6: Thuộc tính thời gian dự tính ảnh hưởng đến cách lái xe của các agent 3.3. Mô tả hệ thống Từ những ý tưởng đã trình bầy ở trên, chúng tôi đã thiết kế hệ thống dựa trên các ý tưởng này. Phần này sẽ đi vào mô tả thiết kế hệ thống bao gồm các thành phần dữ liệu và các thuật toán được sử dụng cho việc mô phỏng. 3.3.1. Các thành phần chính của hệ thống Phần này xin trình bầy các thành phần chính của hệ thống, chủ yếu phục vụ cho công việc mô phỏng. Các thành phân này được thiết kế theo hướng đối tượng, nên sẽ được mô tả dưới dạng lớp. Biểu đồ UML sau sẽ mô tả các các thuộc tính, các phương thức của các lớp và mối quan hệ giữa chúng. Hình 3-7: Biểu đồ mô tả các thành phần của hệ thống và mối quan hệ của chúng Dưới đây là mô tả chi tiết các thuộc tính và các phương thức của từng lớp: Lớp Gate Đây là lớp dùng để mô tả một lối vào và một lối ra, gọi chung là cổng. Mỗi cổng được chỉ ra bởi hai điểm là leftPoint – điểm bên trái và rightPoint – điểm bên phải. Thuộc tính area dùng để lưu vùng đường mà cổng này liên thông tới. Lớp Area Đây là lớp mô tả vùng đường đã được nêu ra ở mục 3.2.1. Các thuộc tính của lớp này gồm có: entries: Danh sách các lối vào exits: Danh sách các lối ra roads: Danh sách các đoạn đường giữa các lối vào và các lối ra vehicles: Danh sách các xe (agent) đang di chuyển trong vùng. Như đã đề cập, việc phân chia hệ thống đường xá không chỉ nhằm mục đích tạo ra các hệ thống đường tùy ý, mà còn giúp nâng cao hiệu quả xử lý tránh xe của các agent. Khi di chuyển trong một vùng, các agent chỉ cần quan tâm đến các agent ở vùng hiện thời và một số vùng liên quan chứ không cần xem xét mọi agent trong toàn bộ hệ thống giao thông. Danh sách này phục vụ cho mục đích đó và nó giúp nâng cao hiệu quả xử lý tránh xe đáng kể. Chẳng hạn có khoảng vài nghìn agent trong hệ thống giao, nhưng khi xử lý việc di chuyển, mỗi agent chỉ xem cần xem xét va chạm với vài chục agent khác mà vẫn có thể di chuyển một cách hợp lý. Các phương thức quan trọng của lớp Area gồm: getVihicles():Vehicle[]: Trả lại danh sách các xe di chuyển trong vùng. connectArea(area:Area): Giúp kết nối 2 vùng với nhau. Việc kết nối sẽ dựa vào thông tin các lối vào và các lối ra giữa của 2 vùng. Kết nối sẽ được thực hiện chỉ khi tọa độ của lối vào của vùng này khớp với tọa độ lối ra của vùng kia hoặc ngược lại. route(): Phương thức sẽ tìm và này trả về đoạn đường đầu tiên của tuyến đường đi từ lối vào của một vùng đến lối ra của một vùng khác. Phương thức này giúp xác định các tuyến đường giữa các lối vào và các lối ra của hệ thống giao thông. Lớp Road Lớp này mô tả một đoạn đường như trong mô tả ở mục 3.2.1. Mối đoạn đường đơn giản được mô tả bởi 2 đoạn thẳng đóng vai trò lề ở hai bên đường. Ngoài ra nó có thêm một số thông tin khác để phục vụ cho việc tính toán di chuyển của các agent. Các thuộc tính của lớp này gồm: leftPave: Đoạn thẳng mô tả bởi 2 điểm, chỉ ra lề bên trái của đoạn đường. rightPave: Cũng như vậy, đây là đoạn thẳng chỉ ra lề bên phải của đoạn đường. next: Đây là đoạn đường tiếp theo đoạn đường hiện thời. Một tuyến đường sẽ gồm một dẫy nối tiếp nhau của các đoạn đường. Nhờ thuộc tính này, một tuyến đường sẽ xác định khi biết được đoạn đường đầu tiên của tuyến đường. direction: Vector chỉ hướng đi của đường. Thuộc tính này sẽ định hướng cho các agent khi di chuyển. area: Khu vực chứa đoạn đường. Mỗi đoạn đường đều phải nằm trong một vùng đường nào đó. Thuộc tính này giúp các agent biết chúng đang di chuyển trên vùng nào. Các phương thức quan trọng của lớp Road gồm: getDirection():Vector: Trả lại vector chỉ hướng của đường. getDistanceToLeftPave(p:Point): Trả lại khoảng cách từ một điểm đến lề trái. getDistanceToRightPave(p:Point): Trả lại khoảng cách từ một điểm đến lề phải. getDistanceToEnd(p:Point): Trả lại khoảng cách từ một điểm đến vạch cuối của đoạn đường. getNext():Road: Trả lại đoạn đường tiếp theo. getArea():Area: Trả lại vùng chứa đoạn đường. Các phương thức này đều phục vụ cho xử lý sự di chuyển của các agent. Lớp DriverAttributes Lớp này mô tả các thuộc tính đặc trưng của người lái, đây chính là các thuộc tính mà chúng tôi đã trình bầy trong phần ý tưởng về xây dựng agent đóng vai trò người tham gia giao thông (phần 3.2.2.2). Các thuộc tính của lớp này gồm: gender: Chỉ ra giới tính của agent. Thuộc tính này sẽ tác động đến giá trị của một số thuộc tính khác mô tả bên dưới age: Tuổi tác của agent. Cũng như vây, thuộc tính này sẽ có ảnh hưởng tới một số thuộc tính mang tính đặc trưng của mỗi agent. maxSpeed: Tốc độ tối đa của agent. Giá trị này sẽ khác nhau với các giá trị khác nhau của thuộc tính gender và age. incSpeed: Mức độ tăng tốc của agent. Giá trị này thường cao ở nam giới và thanh niên

Các file đính kèm theo tài liệu này:

  • docXây dựng và đánh giá một hệ thống mô phỏng giao thông việt nam.doc