Vì sao ta cần tìm phép toán nhiều số hạng?

Thông thường khi nói đến phép toán là nói đến phương pháp giải toán. Khi cần giải một bài toán có thể dùng nhiều loại phép toán khác nhau. Sau đây ta xét một ví dụ đơn giản.

Có n số a1, a2...,an cần tìm số lớn nhất trong các số đó. Có hai cách làm:

Phương pháp 1: Theo cách sắp xếp các số thứ tự, bắt đầu so sánh số a1 với n - 1 số còn lại, nếu phát hiện thấy có một số lớn hơn a1 thì rõ ràng a1 không phải là số lớn nhất. Lại lấy số a2 so với n - 1 số còn lại....cứ thế tiến hành cuối cùng sẽ tìm được số lớn nhất.

Phương pháp 2: Trước hết đem a1 so với a2, nếu a1 > a2, ta lại đem so a1 với a3, không cần phải so sánh a2 với a3. Khi so a1 với a2 hoặc a2 so với a3, ta tìm được số lớn nhất, trong ba số đem so với a4. Trong khi so sánh hai số ắt tìm được một số lớn hơn trong hai số đó và cuối cùng sẽ tìm được số lớn nhất trong các số đã đem so. Vì vậy chỉ cần n - 1 lần so là có thể tìm được số lớn nhất trong các số đã xét.

Trong hai phương pháp thì phương pháp nào hợp lí hơn? Rõ ràng là phương pháp hai. Với phương pháp hai, số lần tiến hành so sánh các số ít hơn phương pháp một. Với số n lớn thì thực hiện theo phương pháp 2 sẽ thu được kết quả nhanh hơn. Do vậy phép toán có thể tốt có thể xấu. Do đó khi thiết kế các phép toán để giải quyết một vấn đề cụ thể, người ta hi vọng tìm được một phép toán thực hiện bài toán nhanh nhất. Thế làm thế nào để đánh giá được phép toán là tốt hay xấu?

Một trong các tiêu chuẩn để đánh giá phép toán là tốt hay xấu là khi máy tính chấp hành phép toán để giải quyết một vấn đề nào đó thì tiêu phí thời gian dài hay ngắn. Trong ví dụ nêu trên, với số n rất lớn hiển nhiên dùng phương pháp 2 thời gian sử dụng để giải bài toán sẽ ngắn hơn khi dùng phương pháp 1. Nói chung khi chọn phép toán để giải quyết một vấn đề nào đó, căn cứ đầu tiên phải cân nhắc là quy mô. Ở ví dụ nêu trên, quy mô của bài toán là n. Thời gian sử dụng phép toán để giải bài toán được quyết định do n. Với phương pháp 2, thời gian tiêu phí được đánh giá bằng n - 1.

Thông thường mục tiêu tìm kiếm là chọn các phép toán có nhiều số hạng. Với các phép toán nhiều số hạng, thời gian tiêu phí cho quy mô n là một hạng thức nhiều số hạng. So với phép toán theo chỉ số (thời gian tiêu chí cho quy mô được biểu diễn theo chỉ số) thì phép toán theo hạng thức nhiều số hạng tiết kiệm thời gian hơn, trong đó n biểu diễn quy mô của bài toán:

Từ đó có thể thấy khi n càng lớn thì tiêu tốn thời gian của phép toán theo chỉ số càng nhiều. Cho dù tốc độ của máy tính rất lớn (ví dụ cỡ một tỉ phép tính/giây) thì hàm chỉ số đã tăng với tốc độ kinh người khi n tăng và máy tính sẽ không đảm nhiệm nổi. Giả sử chúng ta sử dụng máy tính có tốc độ 100.000 phép tính/giây thì với phép toán 230 cần thời gian làm việc 104 giây tức khoảng 3 giờ. Với thời gian như vậy còn có thể chấp nhận được. Nhưng với phép toán hao phí thời gian cỡ 2150, 21000 thì sẽ ra sao? Rõ ràng là các máy tính sẽ bó tay.

Do máy tính không thể giải quyết các vấn đề có cơ sở dữ liệu quá lớn, nên khi giải quyết các bài toán phức tạp cần tìm các phép toán (hay thuật toán) mà máy tính có thể có khả năng tiếp thu được. Đó là lí do tại sao ta cần tìm các phép toán (thuật toán) nhiều số hạng.

Thư viện thế giới lớn nhất thế giới ở đâu?

Thư viện Quốc hội Mỹ là thư viện lớn nhất thế giới. Nó được xây dựng ở thủ đô Washington tại một nơi tao nhã, phong cảnh rất đẹp.

"Xe mini" nhỏ đến mức nào?

Rất nhiều nước đã có những quy định và hạn chế nhất định đối với kích thước bên ngoài của ô tô đi lại trên đường phố, như vậy là để làm cho kích thước...

Có phải đường ray tàu hỏa chỉ có một khổ?

Chúng ta biết rằng, tàu hoả chạy trên hai đường ray bằng thép song song nhau. Vì khoảng cách giữa hai bánh xe đối diện nhau ở hai bên toa tàu là cố...

Vì sao tóc thường rụng?

Việc mọc tóc có liên quan với tình trạng sức khỏe, lứa tuổi và thời tiết. Ở người khỏe mạnh, tóc thường dày, đen nhánh.

Tìm các hành tinh trên bầu trời đêm như thế nào?

Trong đại gia đình hệ Mặt Trời, ngoài Mặt Trời ra, các hành tinh là những thành viên quan trọng nhất cấu tạo nên. Khoảng cách của chín hành tinh lớn...

Tại sao gọi cây xương rồng Saguaros là “người khổng lồ” của sa mạc

Với chiều cao trung bình 9,1 đến 13,3 mét, có cây cao vọt lên tới 15,5 mét, xương rồng Saguaros nổi bật trên sa mạc hoang vắng với những thân cây cao...

Người ta cho máy tính đọc chữ như thế nào?

Bình thường chúng ta phải nhập vào máy tính nhiều văn kiện, con chữ, kí hiệu hoặc chữ Hán và thông thường là dùng chức năng biên dịch của hệ thống máy...

Tại sao khi thực hiện động tác quay vòng trong trượt băng nghệ thuật, vận động viên phải co người lại?

Các vận động viên đã áp dụng nguyên lý cân bằng trong chuyển động quay.

Có phải khi mưa, càng đi nhanh càng ít bị ướt đẫm nước mưa?

Thông thường khi đi trong mưa người ta cố gắng chạy thật nhanh vì cho rằng đi càng nhanh thì càng ít bị ướt đẫm nước mưa. Thực tế có phải như vậy...