10 loại thuật toán chính

Trong số các loại thuật toán khác nhau tồn tại, những loại được phân loại theo hệ thống ký hiệu của chúng và theo chức năng của chúng nổi bật. Thuật toán là một chuỗi các bước được thực hiện để giải quyết vấn đề, thực thi một nhiệm vụ hoặc thực hiện tính toán.

Theo định nghĩa, chúng thường là những thiết kế chặt chẽ và hợp lý, chẳng hạn như các phép toán, đã được chứng minh là tối ưu để giải quyết mọi khó khăn trong câu hỏi.

Về cơ bản một thuật toán là giải pháp được biết đến nhiều nhất cho một vấn đề cụ thể. Theo chiến lược và chức năng của nó, có nhiều loại thuật toán.

Một số loại này là: thuật toán động, thuật toán đảo ngược, thuật toán vũ phu, thuật toán cơ hội, thuật toán đánh dấu và thuật toán ngẫu nhiên, trong số các thuật toán khác.

Các thuật toán có cách sử dụng khác nhau trong nhiều lĩnh vực. Từ khu vực máy tính, thông qua toán học đến khu vực tiếp thị. Có hàng ngàn thuật toán thích hợp để giải quyết các vấn đề trong từng lĩnh vực.

Phân loại các loại thuật toán

Theo hệ thống dấu hiệu của nó

Thuật toán định tính

Các thuật toán này là những thuật toán được đặt các yếu tố bằng lời nói. Một ví dụ về loại thuật toán này là các hướng dẫn hoặc "từng bước" được đưa ra bằng miệng.

Đó là trường hợp của công thức nấu ăn hoặc hướng dẫn để làm một công việc DIY.

Thuật toán định lượng

Chúng trái ngược với các thuật toán định tính, bởi vì các yếu tố số được đặt. Các loại thuật toán được sử dụng trong toán học để thực hiện các phép tính. Ví dụ, để tìm một căn bậc hai hoặc giải phương trình.

Thuật toán tính toán

Chúng là các thuật toán được tạo ra bằng máy tính; Nhiều thuật toán trong số này phức tạp hơn và do đó cần phải được thực hiện thông qua một máy. Chúng cũng có thể là các thuật toán định lượng được tối ưu hóa.

Thuật toán phi tính toán

Các thuật toán này là những thuật toán không thể thực hiện được với máy tính; ví dụ, chương trình của một chiếc tivi

Theo chức năng của nó

Thuật toán dán nhãn

Thuật toán này sử dụng tự động hóa để đặt giá động, dựa trên các yếu tố như hành vi của khách hàng.

Đó là thực tế để tự động đặt giá cho các mặt hàng được bán, để tối đa hóa lợi nhuận của người bán. Nó đã là một thực tế phổ biến trong ngành hàng không kể từ đầu những năm 1990.

Thuật toán gắn thẻ là một thông lệ phổ biến trong các ngành công nghiệp cạnh tranh cao, chẳng hạn như du lịch và thương mại trực tuyến.

Loại thuật toán này có thể cực kỳ phức tạp hoặc tương đối đơn giản. Trong nhiều trường hợp, chúng có thể tự học hoặc chúng có thể được tối ưu hóa liên tục với các bài kiểm tra.

Thuật toán gắn thẻ có thể không phổ biến với khách hàng vì mọi người có xu hướng coi trọng sự ổn định và vô tư.

Một thuật toán xác suất

Nó là một thuật toán trong đó kết quả hoặc cách thức thu được kết quả phụ thuộc vào xác suất. Đôi khi chúng còn được gọi là thuật toán ngẫu nhiên.

Trong một số ứng dụng, việc sử dụng loại thuật toán này là tự nhiên, ví dụ như khi mô phỏng hành vi của một số hệ thống hiện có hoặc theo kế hoạch theo thời gian. Trong trường hợp này kết quả là tình cờ.

Trong các trường hợp khác, vấn đề cần giải quyết là xác định nhưng nó có thể được chuyển thành một tình huống ngẫu nhiên và có thể được giải quyết bằng cách áp dụng thuật toán xác suất.

Điểm hay của loại thuật toán này là ứng dụng của nó không đòi hỏi kiến ​​thức toán học hay tinh vi. Có ba loại chính: số, Monte Carlo và Las Vegas.

Thuật toán số sử dụng phép tính gần đúng, thay vì các thao tác tượng trưng, ​​để giải các bài toán phân tích toán học. Chúng có thể được áp dụng trong tất cả các lĩnh vực khoa học kỹ thuật và vật lý.

Mặt khác, thuật toán Monte Carlo tạo ra các phản ứng dựa trên xác suất. Kết quả là, các giải pháp được tạo ra bởi thuật toán này có thể đúng hoặc không chính xác, vì chúng có một lỗi sai nhất định.

Nó được sử dụng bởi các nhà phát triển, bởi các nhà toán học và các nhà khoa học. Chúng tương phản với các thuật toán Las Vegas.

Cuối cùng, thuật toán Las Vegas được đặc trưng bởi vì kết quả sẽ luôn chính xác, nhưng hệ thống có thể sử dụng nhiều tài nguyên dự đoán hơn hoặc nhiều thời gian hơn cho ước tính.

Nói cách khác: các thuật toán này tạo ra một loại cược với việc sử dụng tài nguyên, nhưng luôn tạo ra một kết quả chính xác.

Lập trình động

Từ động đề cập đến phương pháp trong đó thuật toán tính kết quả. Đôi khi giải pháp của một yếu tố của vấn đề phụ thuộc vào giải pháp của một loạt các vấn đề nhỏ hơn.

Do đó, để giải quyết vấn đề, các giá trị tương tự phải được tính toán lặp đi lặp lại để giải quyết các bài toán con nhỏ hơn. Nhưng điều này tạo ra một sự lãng phí của chu kỳ.

Để khắc phục điều này, lập trình động có thể được sử dụng. Trong trường hợp này về cơ bản, kết quả của mỗi bài toán con được ghi nhớ; khi cần, giá trị đó được sử dụng thay vì tính toán nó nhiều lần.

Thuật toán heuristic

Các thuật toán này là những thuật toán tìm ra giải pháp trong số tất cả những thuật toán có thể, nhưng chúng không đảm bảo rằng những thuật toán tốt nhất sẽ được tìm thấy. Vì lý do đó, chúng được coi là thuật toán gần đúng hoặc không chính xác.

Họ thường tìm một giải pháp gần với tốt nhất, và họ tìm thấy nó một cách nhanh chóng và dễ dàng. Nói chung loại thuật toán này được sử dụng khi không thể tìm ra giải pháp theo cách thông thường.

Thuật toán trở lại

Chúng là các thuật toán đã bị thu hồi bằng cách quan sát hành vi của chúng. Thông thường, chúng là các xấp xỉ của thuật toán ban đầu được xây dựng cho các mục đích như cạnh tranh hoặc nghiên cứu.

Các thuật toán có thể bị thu hồi để nghiên cứu tác động của chúng đối với thị trường, nền kinh tế, đánh dấu giá, hoạt động và xã hội.

Thuật toán quạ

Trong nhiều vấn đề, đưa ra quyết định phàm ăn dẫn đến giải pháp tối ưu. Loại thuật toán này được áp dụng cho các vấn đề tối ưu hóa.

Trong mỗi bước của một thuật toán phàm ăn, một quyết định hợp lý và tối ưu được đưa ra, để cuối cùng đạt được giải pháp tổng thể tốt nhất.

Nhưng hãy nhớ rằng một khi quyết định được đưa ra thì không thể sửa hoặc thay đổi trong tương lai.

Kiểm tra tính xác thực của một thuật toán phàm ăn là rất quan trọng, vì không phải tất cả các thuật toán thuộc loại này đều dẫn đến một giải pháp toàn cầu tối ưu.