SoDeep IconSoDeep
·
Cách máy tính tìm đường đi ngắn nhất trên bản đồ

Cách máy tính tìm đường đi ngắn nhất trên bản đồ

@Sâu Thuật Toán · 12 tháng 6, 2026

Máy tính không hề nhìn bản đồ bằng mắt. Với nó, thế giới chỉ là một mạng lưới các điểm nối với nhau bằng những con số đại diện cho khoảng cách hoặc thời gian.

Hãy tưởng tượng bạn đổ một xô nước vào điểm xuất phát. Nước sẽ loang dần ra mọi hướng, nhưng dòng chảy nào chạm đến đích đầu tiên chính là con đường ngắn nhất.

Thuật toán sẽ liên tục cộng dồn chi phí và gạch tên những hướng đi tốn sức. Nó lạnh lùng, chính xác và luôn tìm ra lối thoát nhanh nhất giữa hàng triệu lựa chọn chỉ trong chớp mắt.

Nhưng lỡ đường đang kẹt xe cứng ngắc thì máy tính có biết không?

Biết chứ, nó thậm chí còn biết nhanh hơn cả bạn. Những "con số" chi phí mà mình nói ở trên không hề đứng yên, chúng nhảy múa liên tục dựa trên dữ liệu thực tế từ hàng triệu chiếc điện thoại đang di chuyển trên đường.

Hãy tưởng tượng mỗi con đường là một đường ống nước. Kẹt xe giống như một cái nút thắt làm ống bị hẹp lại, khiến dòng nước chảy qua đó cực kỳ chậm. Khi đó, thuật toán sẽ thấy "chi phí" thời gian tăng vọt và ngay lập tức lái dòng chảy sang những con đường khác thông thoáng hơn.

Đó là lý do đôi khi Google Maps chỉ bạn đi vào một con hẻm nhỏ thay vì đường lớn, đơn giản vì "ống nước" ở đại lộ đang bị tắc hoàn toàn rồi.

Ủa, làm sao nó biết mình đang kẹt xe thật hay chỉ là đang đứng mua xôi?

Nó không chỉ nhìn vào mình bạn đâu. Thuật toán là một tay trùm thống kê. Nếu chỉ có một dấu chấm đứng yên, nó sẽ mặc định bạn đang tạt vào lề mua đồ ăn hoặc nghe điện thoại.

Nhưng nếu đồng loạt 50 cái điện thoại trên cùng một đoạn đường đều di chuyển với vận tốc rùa bò, đó chắc chắn là kẹt xe. Máy tính so sánh tốc độ thực tế của đám đông với giới hạn tốc độ của con đường đó để "chốt đơn" tình trạng giao thông.

Thậm chí, cảm biến trong máy còn biết bạn đang đi bộ hay ngồi ô tô dựa trên nhịp rung. Mọi hành động cá nhân lẻ tẻ đều bị lọc bỏ để bức tranh tổng thể không bị sai lệch.

Rốt cuộc cái cảm biến đó 'nghe' nhịp rung của mình như thế nào?

Bên trong điện thoại có những linh kiện tí hon gọi là gia tốc kế và con quay hồi chuyển. Chúng nhạy bén đến mức cảm nhận được từng độ nghiêng và sự thay đổi vận tốc nhỏ nhất của máy.

Hãy tưởng tượng mỗi loại phương tiện có một 'nhịp tim' riêng. Đi bộ sẽ tạo ra những cú xóc lên xuống đều đặn theo bước chân. Xe máy thường có độ rung tần số cao và gắt, trong khi ô tô lại có độ đầm và quán tính tăng tốc mượt mà hơn hẳn.

Thuật toán lấy dữ liệu thô này và đối chiếu với 'bản đồ hành vi' khổng lồ. Nó không cần nhìn bạn, chỉ cần cảm nhận nhịp điệu chuyển động là đủ để biết bạn đang đi xe ôm hay đang chạy bộ trong công viên.

Lắc điện thoại liên tục có đánh lừa được nó là mình đang chạy bộ không?

Khó lắm, bạn không dễ gì "lừa" được nó đâu. Thuật toán không chỉ nhìn vào mỗi cái lắc tay của bạn, mà nó còn đối chiếu song song với dữ liệu từ GPS để xác nhận sự dịch chuyển.

Nếu bạn lắc máy điên cuồng nhưng vị trí vẫn đứng yên một chỗ, nó sẽ hiểu ngay là bạn đang... tập tạ hoặc chỉ đang nghịch máy. Chạy bộ thật sự có một quỹ đạo tịnh tiến và nhịp xóc cực kỳ đặc trưng mà việc lắc tay đơn thuần không thể mô phỏng hoàn hảo được.

Nó giống như việc bạn giả vờ gõ trống nhưng lại không có nhịp điệu của cả một bài nhạc. Máy tính sẽ nhận ra ngay sự "giả trân" đó và loại bỏ nhiễu để giữ cho bức tranh giao thông tổng thể luôn chính xác.

Trải nghiệm duyệt thẻ →

Chủ đề liên quan

Cách Google Maps biết đoạn đường nào đang kẹt xeCách bộ lọc tự động nhận biết và chặn email rácTại sao thuật toán có thể phát hiện quy luật từ dữ liệu hỗn loạn?Tại sao máy tính chỉ hiểu thế giới qua những con số?Tại sao trí tuệ nhân tạo có thể tạo ra những hình ảnh chưa từng tồn tại?Tại sao máy tính có khả năng tự học hỏi từ những sai lầm của chính nó?