system
Tôi muốn nghe truyện Tại sao phải nghiên cứu thuật toán? nha
user
Nói theo cách thông tục thì thuật toán là cách thức cụ thể giải quyết vấn đề. Trong Tam quốc diễn nghĩa, Chu Du và Gia Cát Lượng để đập tan cuộc tiến công của 80 vạn đại quân của Tào Tháo, trước hết đã bày cách trừ khử Sái Mạo và Trương Doãn là hai tướng thủy quân giỏi của Tào Tháo, và thế là "hội Quần Anh Tưởng Cán trúng kế". Trong quân Tào không có tướng nào thực sự nắm được quy luật thủy chiến, quân lính miền Bắc lại không quen cuộc sống sông nước, nên kế liên hoàn của Bàng Thống đã thành công. Do tác chiến trên sông lớn vào mùa đông tháng giá, mới có chuyện Hoàng Cái thi hành khổ nhục kế và dùng thuyền cỏ mượn tên. Sau đó thủy quân Đông Ngô nhân lúc gió đông nam nổi lên để phóng hỏa Xích Bích, giành được thắng lợi quyết định đại phá quân Tào. Đây chính là kế sách phá Tào của Chu Du và Gia Cát Lượng. Trong các khâu trên, nếu một khâu nào đó bị thất bại thì hậu quả sẽ khó lường.
Trong cuộc sống hằng ngày, muốn giải quyết một vấn đề thì trước hết cần tìm ra các bước hoặc cách thức giải quyết vấn đề này. Vấn đề đơn giản thì các bước giải quyết vấn đề ít hơn. Vấn đề phức tạp thì các bước cần nhiều hơn.
Rất nhiều vấn đề nổi tiếng đã được giải quyết đều là vì có người đưa ra được cách tính toán hay. Nêu một ví dụ đơn giản là trong số chín đồng xu trông bề ngoài như nhau có lẫn vào một đồng xu giả. Ta biết trọng lượng của nó khác với các đồng xu kia. Nếu cho bạn một chiếc cân Rôbécvan thì cần cân bao nhiêu lần mới phát hiện ra đồng giả kia? Bài toán này bạn có thể lập ra được ngay. Nhưng nếu là một đồng giả lẫn vào trong 999 đồng xu thì bạn làm sao dùng cân này để tìm ra nó đây? Một ví dụ khác, có mấy thành phố có đường nối liền nhau. Người bán hàng xuất phát từ một thành phố muốn đạp xe đi khắp tất cả các thành phố kể trên, cuối cùng là trở về điểm xuất phát. Ta làm sao tìm ra được tuyến đường ngắn nhất mà người bán có thể đi. Dùng máy tính đánh cờ với người cũng vậy nếu là cờ năm quân (loại cờ vây, để liên kết được năm quân cờ thành một hàng sẽ thắng) thì cách tính toán nước cờ thật đơn giản, rất nhiều người đều có thể tính ra. Nhưng nếu chơi cờ vây Nhật Bản thì thật khó mà tính ra được nước đi.
Trong lĩnh vực máy tính, thuật toán là phương pháp chính xác mà máy dùng để giải quyết một vấn đề nào đó. Nó là bộ phận cấu tạo quan trọng trong chương trình máy tính. Thuật toán hay hay dở là tiêu chí quan trọng của chất lượng chương trình. Khi ta gặp một đề khó thì đều đòi hỏi máy tính phải giải quyết được vấn đề trong thời gian ngắn nhất. Như vậy, chúng ta phải đi sâu vào nghiên cứu thuật toán, tìm kiếm thuật toán tốt để soạn ra phần mềm hiệu quả cao và tiện dụng, sao cho máy tính có thể hoàn thành nhiệm vụ nhanh hơn, xuất sắc hơn.
assistant