Phần trước đã đề cập đến cách thức thiết kế đường xá nhằm tọa 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, 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.
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. Tôi xin đưa ra các hành động cơ bản nhất của mỗi Agent bao gồm:
30
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.
Xây dựng các thuộc tính đặc 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 cùng một tình huống, những Agent khác nhau cũng sẽ chọn các 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.
Dựa vào những nhận xét trên, 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 từng loại phương tiện tham gia giao thông. 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 kỳ đoạn đường nào, dù có hay không có Agent phía trước. Các loại xe khác nhau sẽ có tốc độ khác nhau, chẳng hạn như tốc độ tối đa của ô tô thường cao hơn của các loại phương tiện khác. Giá trị của thuộc tính này sẽ ảnh hưởng đến sự lưu thông trên đường.
31
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 ô tô thường cao hơn xe máy và xe đạp. 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 xem việc đánh lái để tránh xe phía trước.
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. 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.
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 người lái.