Thuật toán là gì? Tất tần tật cần biết về thuật toán
Tìm hiểm chuyên sâu các khái niệm xoay quanh thuật ngữ Thuật toán (Algorithms) như: Thuật toán là gì, vai trò của thuật toán trong phạm vi kinh doanh, marketing và lập trình, cập nhật thuật toán của một số nền tảng phổ biến trên thế giới, các loại thuật toán chính thường gặp và hơn thế nữa.
Nằm trong bức tranh lớn hơn là công nghệ (Technology) hay mạng xã hội (Social Network), khái niệm Thuật toán (Algorithms) đề cập đến một quá trình được sử dụng để xử lý, tính toán hay giải quyết một vấn đề nào đó liên quan đến công nghệ và máy tính. Trong bối cảnh kinh doanh mới, thế giới của các nền tảng (platforms) và mạng xã hội, thuật toán hay giải thuật còn gắn liền với cách phân phối và tối ưu nội dung cho người dùng và được coi là một trong những yếu tố mang tính sống còn quyết định sự tồn tại và phát triển của các nền tảng. Vì là thuật ngữ được sử dụng khá rộng và mang nhiều nghĩa, thuật toán là gì vẫn là một câu hỏi lớn. Bài viết dưới đây từ MarketingTrips sẽ giúp bạn giải đáp tất cả các thắc mắc xoay quanh Thuật toán.
Các nội dung sẽ được MarketingTrips phân tích trong bài viết này bao gồm:
- Thuật toán là gì?
- Thuật toán hoạt động như thế nào?
- Các loại thuật toán được sử dụng phổ biến nhất hiện nay là gì?
- Vai trò của thuật toán đối với sự tồn tại và phát triển các doanh nghiệp (chủ sở hữu các nền tảng)?
- Phân tích cơ bản một số thuật toán của các nền tảng mạng xã hội.
- FAQs – Một số câu hỏi thường gặp xoay quanh khái niệm thuật toán.
Bên dưới là nội dung chi tiết.
Thuật toán là gì?
Thuật toán trong tiếng Anh có nghĩa là Algorithms.
Chủ yếu được sử dụng trong lĩnh vực khoa học máy tính và công nghệ, thuật toán là khái niệm đề cập đến một quá trình được sử dụng để xử lý, tính toán hay giải quyết một vấn đề nào đó.
Các thuật toán hoạt động như một danh sách bao gồm nhiều các hướng dẫn khác nhau dùng để thực thi các hành động cụ thể dựa trên phần cứng hoặc phần mềm.
Khái niệm thuật toán vốn được sử dụng rộng rãi trong các lĩnh vực như công nghệ, lập trình, trong toán học, trong ngành khoa học máy tính hay thậm chí là trong kinh doanh và marketing, tuỳ thuộc vào từng điều kiện cụ thể, các thuật toán được ứng dụng theo những cách khác nhau.
Ví dụ như trong ngành khoa học dữ liệu, các thuật toán cũng được sử dụng như các thông số đặc tả để thực hiện việc xử lý dữ liệu.
Hay ngày nay với các nền tảng mạng xã hội như Facebook hay TikTok, thuật toán là thứ sẽ quyết định cách người dùng được đề xuất nội dung, cách nền tảng quản lý các hành động trên ứng dụng và hơn thế nữa.
Thuật toán hoạt động như thế nào?
Về mặt tổng thể, các thuật toán có thể được thể hiện dưới dạng ngôn ngữ tự nhiên (ngôn ngữ giao tiếp thông thường của con người), ngôn ngữ lập trình (programming languages), mã giả (Pseudocode) hay sơ đồ.
Vì các ngôn ngữ tự nhiên rất khó hiểu đối với các chương trình máy tính, các ngôn ngữ lập trình thường được sử dụng để diễn đạt các thuật toán được thực thi bởi các hệ thống máy tính (computer systems).
Như đã đề cập trong phần khái niệm về thuật toán, bạn có thể hình dung về thuật toán bởi 2 đầu đó là đầu vào (input) và đầu ra (output).
Đầu vào chính là các dữ liệu ban đầu, những thứ được sử dụng để ra quyết định, dữ liệu đầu vào được đưa vào một tập hợp các hướng dẫn hoặc tính toán (thường ở dạng số học hoặc quy trình ra quyết định), đầu ra là bước cuối cùng trong một thuật toán và thường được biểu thị dưới dạng dữ liệu.
Ví dụ: một thuật toán tìm kiếm chẳng hạn như của Google sẽ lấy một từ khoá tìm kiếm của người dùng làm dữ liệu đầu vào (input) và chạy nó thông qua một tập hợp các hướng dẫn cụ thể để tìm kiếm từ cơ sở dữ liệu (trên hệ thống lưu trữ của Google) những nội dung liên quan đến truy vấn đó.
Đầu ra (output) khi này như bạn vẫn thường thấy, chính là các trang kết quả tìm kiếm có chứa các nội dung mà thuật toán cho là người dùng đang cần.
Một ví dụ khác về ứng dụng của thuật toán đó là các phần mềm tự động, vì khả năng tự động hóa cần tuân theo một tập hợp các quy tắc hay hướng dẫn cụ thể, các thuật toán đóng vai trò là trung gian trong suốt quá trình từ lúc nhận được “mệnh lệnh” đến lúc xử lý và hoàn thành nhiệm vụ (trả về kết quả).
Các loại thuật toán được sử dụng phổ biến nhất hiện nay là gì?
Hiện nay có rất nhiều các loại thuật toán khác nhau được sử dụng vào từng bối cảnh kỹ thuật và kinh doanh cụ thể khác nhau.
Dưới đây là các loại thuật toán phổ biến bạn có thể tham khảo.
Thuật toán tìm kiếm (Search Engine algorithm).
Thuật toán tìm kiếm hay thuật toán của các công cụ tìm kiếm lấy các từ khóa hay còn được gọi là truy vấn tìm kiếm làm dữ liệu đầu vào, thuật toán này sau đó sẽ giúp hệ thống tìm kiếm các nội dung có liên quan trên cơ sở dữ liệu (data base) và trả về các nội dung tương ứng.
Thuật toán đề xuất (Suggested algorithm).
Nếu bạn là người thường xuyên sử dụng các nền tảng mạng xã hội như Facebook hay Instagram, bạn thấy rằng nền tảng sẽ chủ động đề xuất (suggest, recommand) các nội dung mà bạn có thể thích.
Thuật toán này hoạt động chủ yếu dựa trên nguyên tắc là căn cứ vào các dữ liệu lịch sử tương tác trên nền tảng của người dùng để gợi ý các nội dung liên quan.
Thuật toán mã hóa (Encryption algorithm).
Thuật toán này sử dụng các mật mã để mã hóa, giải mã và bảo về dữ liệu. Về bản chất không ai có thể mã hoá được dữ liệu nếu thiếu đi các mật mã. Những nền tảng nhắn tin như WhatsApp sử dụng thuật toán này để bảo vệ các nội dung có trong tin nhắn.
Thuật toán tham lam (Greedy algorithm).
Thuật toán này giải quyết các vấn đề tối ưu hóa bằng cách tìm ra các giải pháp tối ưu cục bộ nhưng lại hy vọng nó là giải pháp tối ưu ở diện rộng. Vì điều này, đây không phải là thuật toán hay giải pháp tối ưu.
Thuật toán đệ quy (Recursive algorithm).
Thuật toán này tự lặp đi lặp lại chính nó cho đến khi giải quyết được một vấn đề. Các thuật toán đệ quy sẽ gán chúng với một giá trị nhỏ hơn mỗi khi được lặp lại.
Thuật toán ngược hay Thuật toán quay lui (Backtracking algorithm).
Thuật toán này sẽ cố gắng tìm ra giải pháp cho một vấn đề nhất định theo cách tiếp cận là giải quyết từng phần một.
Thuật toán chia để trị (Divide-and-conquer algorithm).
Thuật toán này được chia thành hai phần. Một phần là chia một vấn đề lớn thành các bài toán con nhỏ hơn. Phần thứ hai là giải quyết những vấn đề con và sau đó kết hợp chúng lại với nhau để tạo ra một giải pháp lớn (hoàn chỉnh).
Thuật toán lập trình động (Dynamic programming algorithm).
Thuật toán này sẽ giải quyết các vấn đề bằng cách chia chúng thành các bài toán con. Kết quả có được sau đó được lưu trữ để áp dụng cho các bài toán tương ứng trong tương lai.
Thuật toán thô (Brute-force algorithm).
Thuật toán này lặp lại tất cả các giải pháp có thể có cho một vấn đề một cách thiếu cơ sở khoa học, chúng tìm kiếm một hoặc nhiều giải pháp cho một hàm hay chức năng nhất định.
Thuật toán sắp xếp (Sorting algorithm.).
Các thuật toán sắp xếp được sử dụng để sắp xếp lại cấu trúc dữ liệu dựa trên một toán tử so sánh (comparison operator), được sử dụng để quyết định các thứ tự mới cho dữ liệu.
Thuật toán băm (Hashing algorithm).
Thuật toán này lấy dữ liệu và chuyển đổi nó thành một thông báo thống nhất với một hàm băm (hashing).
Thuật toán ngẫu nhiên hóa (Randomized algorithm).
Thuật toán này làm giảm thời gian xử lý và sự phức tạp dựa trên thời gian. Nó sử dụng các yếu tố ngẫu nhiên thay vì là logic.
Vai trò của thuật toán đối với sự tồn tại và phát triển các doanh nghiệp (chủ sở hữu các nền tảng) là gì?
Với hầu hết các nền tảng (Platforms), cho dù đó là nền tảng tìm kiếm như Google, nền tảng mua sắm thương mại điện tử (eCommerce) như Shopee hay nền tảng mạng xã hội như TikTok, thuật toán là một trong nhóm những yếu tố quan trọng nhất.
Dưới đây là những gì mà các thuật toán có thể mang lại cho các nền tảng này:
Thuật toán giúp níu chân khách hàng hay người dùng ở lại nền tảng.
Ví dụ đối với các nền tảng mạng xã hội chẳng hạn như TikTok, một khi bạn đã gia nhập nền tảng, điều gì sẽ khiến bạn ở lại và tiếp tục sử dụng nó?
Khi tất cả mọi người dùng đã gia nhập, hiển nhiên, họ sẽ bắt đầu trải nghiệm, “lướt” và tương tác với những người khác (giả sử bạn bè của họ cũng đang có mặt trên nền tảng), với các thương hiệu mà họ yêu thích (giả sử các thương hiệu cũng đã nhanh chóng gia nhập), cũng như bắt đầu trải nghiệm những thứ nâng cao khác (chẳng hạn như tìm kiếm).
Như là điều tất yếu, sau một quá trình trải nghiệm, nếu các tính năng, giao diện, hay những thứ nâng cao như thuật toán không thể làm hài lòng được họ, họ sẽ chọn cách rời đi và tìm kiếm sang một nền tảng khác. Mạng xã hội có thể rơi vào thất bại.
Để có thể tiếp tục hình dung điều này một cách rõ hơn, bạn lại hình dung thế này, bạn gia nhập một mạng xã hội nào đó nhưng nền tảng lại “không thể hiểu” bạn thích hay muốn gì, thậm chí bạn chủ động tìm kiếm cũng không thể thấy, liệu bạn có tiếp tục “lướt” nó.
Hay chuyện gì sẽ xảy ra nếu cứ mỗi lần mở ứng dụng, hàng loạt tin rác ập đến bạn, quảng cáo ngổn ngang không thể kiểm soát…bạn lại chọn cách rời đi.
Thuật toán là thứ có thể giải quyết tất cả những vấn đề này.
Thuật toán giúp doanh nghiệp chiều lòng khách hàng bằng cách hiểu họ để từ đó bán được nhiều hàng hơn, doanh số cao hơn.
Như đã đề cập ở các phần ở đầu bài, trong phạm vi kinh doanh nói chung, khái niệm thuật toán hay ứng dụng của thuật toán gắn liền với môi trường internet và nền tảng.
Hãy lấy ví dụ với sàn thương mại điện tử Shopee, giả sử bạn là người yêu thích mua sắm trực tuyến và do đó bạn tải xuống và trải nghiệm ứng dụng Shopee (hoặc sử dụng bản web), cũng như nhiều người dùng khác, bạn tương tác với nhiều thứ trên nền tảng và bạn cũng có những sở thích riêng (chẳng hạn như bạn yêu màu Tím).
Trong quá trình sử dụng, không biết có một “ma lực” nào đó, nền tảng liên tục gợi ý những thứ mà bạn có thể thích (dựa trên các dữ liệu đầu vào mà Shopee có được), may mắn là nó chính xác là những thứ bạn rất muốn mua, và như một nhu cầu bình thường, đến thời điểm bạn cần nó, bạn đã bắt đầu đặt mua nó.
Vậy điều gì mà giúp Shopee hiểu bạn và tối ưu hoá trải nghiệm cá nhân của bạn trền tảng, thuật toán chính là câu trả lời cho điều này.
Phân tích cơ bản một số thuật toán của các nền tảng mạng xã hội.
Để có thể hiểu sâu hơn về thuật toán cũng như cách thức hoạt động của thuật toán, hãy nhìn vào một số thuật toán của các nền tảng mạng xã hội như Facebook hay TikTok.
Những dấu hiệu chính có trong thuật toán đề xuất video của Facebook.
Với bất cứ nền tảng nào, họ cũng đều có nhiều thuật toán khác nhau sử dụng trong các trường hợp khác nhau, thuật toán đề xuất video của Facebook sẽ dựa vào các yếu tố sau khi đề xuất nội dung tới người dùng.
- Tính nguyên bản (nội dung gốc).
- Khả năng thu hút sự chú ý và giữ chân người dùng.
- Lòng trung thành và ý niệm (ý định).
- Khả năng tương tác.
Ngoài ra, Facebook cũng chia sẻ thêm các yếu tố sẽ làm giảm mức độ phân phối của video:
- Video trông giống như các bản trình chiếu (slideshows) – Facebook nói rằng video phụ thuộc quá nhiều vào hình ảnh tĩnh có thể bị giảm phân phối.
- Cố tình tự chia sẻ nội dung – Nếu bạn đang tìm cách tự chia sẻ các nội dung do mình tạo ra, dù là thông qua các tài khoản ảo hay Trang được tạo ra với mục đích chia sẻ thì điều này cũng đang đi ngược lại với thuật toán xếp hạng video của Facebook.
- Sử dụng các chiến thuật “kêu gọi” – Đừng thúc giục mọi người thích, chia sẻ hoặc bình luận về nội dung chỉ để tăng phạm vi tiếp cận.
- Video đánh lừa người xem – Đừng đăng các video với nội dung giật gân hoặc đánh lừa người xem để họ phải xem.
Những dấu hiệu chính có trong thuật toán của TikTok.
Cũng tương tự như Facebook, TikTok cũng dựa vào những dấu hiệu khác nhau làm dữ liệu đầu vào cho thuật toán của mình.
TikTok phác thảo các chi tiết cụ thể mà hệ thống sẽ sử dụng:
- Tương tác của người dùng – Các yếu tố TikTok dựa vào là các video bạn thích và / hoặc chia sẻ, tài khoản bạn theo dõi, nhận xét bạn đăng và nội dung bạn tạo. Ví dụ: nếu bạn đăng clip bằng một hashtag nhất định, sẽ có nhiều khả năng bạn sẽ thấy nội dung có cùng thẻ hashtag đó trong luồng (stream) của mình.
- Thông tin video – Điều này có thể bao gồm các chi tiết như chú thích, âm thanh và bài hát cụ thể và một lần nữa, nó có thể là hashtag.
- Cài đặt thiết bị và tài khoản – Các yếu tố ảnh hưởng ít hơn là những thứ như sở thích ngôn ngữ, cài đặt quốc gia và loại thiết bị di động của bạn. TikTok nói rằng những yếu tố này được xem xét để mang đến sự tối ưu những nội dung được thể hiện cho người dùng, nhưng chúng không được cân nhắc quan trọng như 2 yếu tố ở trên.
Qua đây chúng ta có thể thấy, thuật toán của TikTok tương tự như thuật toán đang hoạt động trên hầu hết các nền tảng mạng xã hội khác như Facebook hay Instagram – nó là tổng hợp của các yếu tố mà bạn đã tham gia tương tác, sau đó chúng cố gắng hiển thị cho bạn nhiều hơn những nội dung tương tự.
FAQs – Một số câu hỏi thường gặp xoay quanh khái niệm thuật toán.
- Đầu vào của thuật toán là gì?
Đầu vào của thuật toán hay Input Algorithms chính là những thứ mà thuật toán sử dụng để sau đó gán nó vào các hướng dẫn (có sẵn) của hệ thống để ra các quyết định có liên quan.
Ví dụ, đầu vào của thuật toán tìm kiếm Google là từ khoá (thứ mà người dùng nhập lên thanh tìm kiếm), Google sau đó sử dụng từ khoá này đối sánh vào cơ sở dữ liệu hiện có để trả lại các kết quả tương ứng (Đầu ra của thuật toán).
- Mô tả thuật toán là gì?
Chính là các hướng dẫn về cách một thuật toán nào đó sẽ hiểu đầu vào, xử lý dữ liệu và trả kết quả đầu ra. Mô tả thuật toán là những chính sách, quy định, bản hướng dẫn, định hướng và hơn thế nữa.
- Giải thuật là gì?
Giải thuật là một cách gọi khác của khái niệm thuật toán. Những gì nó mô tả là một quá trình được sử dụng để xử lý, tính toán hay giải quyết một vấn đề nào đó.
- Thuật toán máy học là gì?
Là một trong những thuật toán phổ biến nhất hiện nay, và được sử dụng rộng rãi trên các nền tảng mạng xã hội, thuật toán máy học (machine learning algorithms) là khái niệm đề cập đến thuật toán trong đó hệ thống chủ yếu sử dụng AI (trí tuệ nhân tạo) để xử lý dữ liệu hay kết quả đầu ra thông qua khả năng nhận diện các kết quả đầu vào (lặp lại).
- Thuật toán là gì trong lập trình (programming)?
Trong lĩnh vực lập trình, các thuật toán hoạt động như một hệ thống chứa nhiều hướng dẫn và mệnh lệnh khác nhau dựa trên phần cứng hoặc phần mềm. Căn cứ trên các mệnh lệnh được định sẵn (nạp vào), các thuật toán có nhiệm vụ xử lý các vấn đề liên quan và trả về một kết quả (đầu ra) tương ứng nào đó.
- Thuật toán tìm kiếm là gì?
Thuật toán tìm kiếm hay thuật toán của các công cụ tìm kiếm lấy các từ khóa hay còn được gọi là truy vấn tìm kiếm làm dữ liệu đầu vào, thuật toán này sau đó sẽ giúp hệ thống tìm kiếm các nội dung có liên quan trên cơ sở dữ liệu (data base) và trả về các nội dung tương ứng.
- Thuật toán đề xuất là gì?
Nếu bạn là người thường xuyên sử dụng các nền tảng mạng xã hội như Facebook hay Instagram, bạn thấy rằng nền tảng sẽ chủ động đề xuất (suggest, recommand) các nội dung mà bạn có thể thích.
- Thuật toán mã hóa là gì?
Thuật toán này sử dụng các mật mã để mã hóa, giải mã và bảo về dữ liệu. Về bản chất không ai có thể mã hoá được dữ liệu nếu thiếu đi các mật mã.
- Thuật toán tham lam là gì?
Thuật toán này giải quyết các vấn đề tối ưu hóa bằng cách tìm ra các giải pháp tối ưu cục bộ nhưng lại hy vọng nó là giải pháp tối ưu ở diện rộng. Vì điều này, đây không phải là thuật toán hay giải pháp tối ưu.
- Thuật toán đệ quy là gì?
Thuật toán này tự lặp đi lặp lại chính nó cho đến khi giải quyết được một vấn đề. Các thuật toán đệ quy sẽ gán chúng với một giá trị nhỏ hơn mỗi khi được lặp lại.
- Thuật toán ngược hay Thuật toán quay lui là gì?
Thuật toán này sẽ cố gắng tìm ra giải pháp cho một vấn đề nhất định theo cách tiếp cận là giải quyết từng phần một.
- Thuật toán chia để trị là gì?
Thuật toán này được chia thành hai phần. Một phần là chia một vấn đề lớn thành các bài toán con nhỏ hơn. Phần thứ hai là giải quyết những vấn đề con và sau đó kết hợp chúng lại với nhau để tạo ra một giải pháp lớn (hoàn chỉnh).
- Thuật toán lập trình động là gì?
Thuật toán này sẽ giải quyết các vấn đề bằng cách chia chúng thành các bài toán con. Kết quả có được sau đó được lưu trữ để áp dụng cho các bài toán tương ứng trong tương lai.
- Thuật toán thô là gì?
Thuật toán này lặp lại tất cả các giải pháp có thể có cho một vấn đề một cách thiếu cơ sở khoa học, chúng tìm kiếm một hoặc nhiều giải pháp cho một hàm hay chức năng nhất định.
- Thuật toán sắp xếp là gì?
Các thuật toán sắp xếp được sử dụng để sắp xếp lại cấu trúc dữ liệu dựa trên một toán tử so sánh (comparison operator), được sử dụng để quyết định các thứ tự mới cho dữ liệu.
- Thuật toán băm là gì?
Thuật toán này lấy dữ liệu và chuyển đổi nó thành một thông báo thống nhất với một hàm băm (hashing).
- Thuật toán ngẫu nhiên hóa là gì?
Thuật toán này làm giảm thời gian xử lý và sự phức tạp dựa trên thời gian. Nó sử dụng các yếu tố ngẫu nhiên thay vì là logic.
Kết luận.
Trên đây là toàn bộ các kiến thức nền tảng về thuật ngữ thuật toán (Algorithms) cũng như các lý thuyết xoay quanh nó. Với tư cách là những người làm marketing và kinh doanh, đặc biệt là kinh doanh trên môi trường trực tuyến và gắn liền với yếu tố công nghệ, việc hiểu thuật toán là gì, các loại thuật toán phổ biến, và nó được ứng dụng như thế nào trong thực tế là điều hết sức quan trọng.
Dù là với phương diện người làm sản phẩm có sử dụng thuật toán hay người cần hiểu thuật toán để tối ưu hoá trải nghiệm cho người dùng để từ đó gia tăng trải nghiệm của họ với thương hiệu, bạn thấy rằng, bạn không thể không hiểu về thuật toán.
Tham gia Cộng đồng We’re Marketer để thảo luận các chủ đề về Marketing và Business tại: Link
Nam Nguyen | MarketingTrips
Nguồn: MarketingTrips