Các thuật toán là gì và tại sao chúng gây khó chịu?

“Thuật toán” là một từ được sử dụng rất nhiều. Nhưng khi chúng tôi xây dựng các cuộc trò chuyện xung quanh các thuật toán YouTube hay Facebook, chính xác thì chúng ta đang nói về cái gì? Thuật toán là gì và tại sao mọi người phàn nàn về chúng nhiều như vậy?

Thuật toán là hướng dẫn để giải quyết vấn đề

Chúng ta đang sống trong một thế giới mà máy tính được hiểu một cách mơ hồ, mặc dù chúng thâm nhập vào mọi khoảnh khắc trong cuộc sống của chúng ta. Nhưng có một lĩnh vực điện toán mà bất kỳ ai cũng có thể hiểu những điều cơ bản về những gì đang diễn ra. Lĩnh vực khoa học máy tính này được gọi là lập trình.

Lập trình không phải là công việc hấp dẫn, nhưng nó là nền tảng của mọi phần mềm máy tính, từ Microsoft Office cho đến các trình gọi tự động. Và ngay cả khi kiến ​​thức về lập trình của bạn hoàn toàn đến từ những bộ phim dở tệ của thập niên 90 và những bài báo bất thường, bạn có thể không cần ai giải thích cho bạn biết công việc của một lập trình viên là gì. Lập trình viên viết mã cho máy tính và máy tính tuân theo hướng dẫn của mã đó để thực hiện các tác vụ hoặc giải quyết vấn đề.

Chà, trong thế giới khoa học máy tính, thuật toán chỉ là một từ hoa mỹ cho mã. Bất kỳ tập hợp hướng dẫn nào cho máy tính biết cách giải quyết vấn đề đều là thuật toán, ngay cả khi nhiệm vụ rất dễ dàng. Khi bạn bật máy tính, một tập hợp các hướng dẫn “cách bật” sẽ theo sau. Đó là một thuật toán hoạt động. Khi máy tính của NASA sử dụng dữ liệu sóng vô tuyến thô để hiển thị các bức ảnh về vũ trụ, đó cũng là cách thuật toán hoạt động.

Từ “thuật toán” có thể được sử dụng để mô tả bất kỳ bộ hướng dẫn nào, ngay cả bên ngoài lĩnh vực khoa học máy tính. Ví dụ: phương pháp sắp xếp dao nĩa trong ngăn kéo của bạn là một thuật toán, cũng như phương pháp rửa tay sau khi đi vệ sinh của bạn.

Nhưng đây là một điều: ngày nay, từ “thuật toán” được dành riêng cho cuộc nói chuyện kỹ thuật rất cụ thể. Bạn không nghe thấy mọi người nói về thuật toán “thuật toán cơ bản” hoặc thuật toán “công cụ graffiti MS Paint”. Thay vào đó, bạn nghe thấy người dùng Instagram phàn nàn về thuật toán gợi ý kết bạn hoặc nhóm bảo mật tấn công thuật toán thu thập dữ liệu của Facebook.

Nếu “thuật toán” là một thuật ngữ chung cho các hướng dẫn tính toán, thì tại sao chúng ta hầu như chỉ sử dụng nó để mô tả các khía cạnh khó hiểu, ma thuật và xấu xa của thế giới kỹ thuật số?

Hầu hết mọi người sử dụng “thuật toán” và “học máy” thay thế cho nhau

Trước đây, các lập trình viên và văn hóa đại chúng gọi hầu hết các hướng dẫn tính toán là “mã”. Trong hầu hết các trường hợp, điều này là đúng. Học máy là một lĩnh vực rộng lớn, âm u của khoa học máy tính, nơi chúng ta có xu hướng sử dụng từ “thuật toán” thay vì “mã”. Có thể hiểu được, điều này đã góp phần gây ra sự nhầm lẫn và lo lắng xung quanh từ “thuật toán”.

Học máy đã xuất hiện từ lâu, nhưng nó chỉ trở thành một phần quan trọng của thế giới kỹ thuật số trong 15 năm qua. Mặc dù học máy nghe có vẻ là một ý tưởng phức tạp, nhưng nó lại khá dễ hiểu. Các lập trình viên không thể viết và kiểm tra mã cụ thể trong mọi tình huống, vì vậy họ viết mã có thể tự viết.

Hãy nghĩ về nó như một dạng AI thực tế hơn. Nếu bạn phân loại đủ email của sếp là thư rác, ứng dụng thư khách của bạn sẽ tự động bắt đầu đưa tất cả email của sếp vào thư mục thư rác. Tương tự như vậy, Google sử dụng máy học để đảm bảo rằng kết quả tìm kiếm trong YouTube vẫn chính xác Amazon sử dụng công nghệ máy học để đề xuất nên mua sản phẩm nào.

Tất nhiên, học máy không tốt và thanh lịch. Cái tên “máy học” nghe có vẻ đáng sợ đến mức khiến một số người khó chịu và một số ứng dụng phổ biến của máy học đang bị nghi ngờ về mặt đạo đức. thuật toán mà Facebook sử dụng để khám phá dữ liệu hoặc người dùng trên web là một ví dụ điển hình về máy học.

Trên báo chí, bạn sẽ nghe về “thuật toán của Google” để xếp hạng kết quả tìm kiếm, “thuật toán YouTubeđể đề xuất video và các thuật toán của Facebook để quyết định bạn sẽ thấy bài đăng nào trên dòng thời gian của mình. Đây là tất cả các chủ đề tranh chấp và tranh luận.

Tại sao các thuật toán gây tranh cãi

Phép chia dài là một thuật toán đã biết (trong số những thuật toán khác) để chia các số. Chỉ là nó được thực hiện bởi học sinh thay vì máy tính. CPU Intel của bạn sử dụng một thuật toán hoàn toàn khác khi chia các số, nhưng kết quả là như nhau.

Chuyển lời nói thành văn bản thường sử dụng máy học, nhưng không ai nói về “thuật toán” chuyển lời nói thành văn bản vì có một câu trả lời đúng khách quan mà bất kỳ con người nào cũng có thể nhận ra ngay lập tức. Không ai quan tâm “làm thế nào” máy tính tìm ra những gì bạn nói hoặc liệu đó có phải là máy học hay không. Chúng tôi chỉ quan tâm nếu máy có câu trả lời đúng.

Nhưng các ứng dụng khác của học máy không có lợi khi có câu trả lời “đúng”. Do đó, các thuật toán đã trở thành chủ đề bàn tán thường xuyên trên các phương tiện truyền thông.

Thuật toán sắp xếp danh sách theo bảng chữ cái chỉ là một cách để hoàn thành một nhiệm vụ cụ thể. Nhưng một thuật toán như Google để bằng cách nào đó “xếp hạng các trang web tốt nhất để tìm kiếm” hoặc YouTube để “đề xuất bộ phim hay nhất”, rất mơ hồ và không thực hiện một nhiệm vụ cụ thể. Mọi người có thể tranh luận liệu thuật toán này có tạo ra kết quả như mong đợi hay không và mọi người sẽ có ý kiến ​​khác nhau về vấn đề này. Nhưng trong ví dụ sắp xếp theo thứ tự bảng chữ cái của chúng tôi, bất kỳ ai cũng có thể đồng ý rằng danh sách sẽ được sắp xếp theo thứ tự bảng chữ cái như bình thường. Không có tranh cãi.

Chúng ta nên sử dụng từ “thuật toán” như thế nào?

Cơ sở của phần mềm là các thuật toán. Nếu không có thuật toán, bạn sẽ không có điện thoại hay máy tính, và có lẽ bạn đang đọc bài viết này trên một tờ giấy (thực tế là bạn sẽ không đọc nó chút nào).

Tuy nhiên, công chúng không sử dụng từ “thuật toán” như một thuật ngữ chung cho mã máy tính. Trên thực tế, hầu hết mọi người cho rằng có sự khác biệt giữa mã máy tính và thuật toán – nhưng không phải vậy. Do sự liên kết của từ “thuật toán” với học máy, ý nghĩa của nó trở nên mơ hồ, nhưng cách sử dụng của nó đã trở nên cụ thể hơn.

Cha và con đang đọc gì đó từ máy tính xách tay

Bạn có nên bắt đầu sử dụng từ “thuật toán” để mô tả ngay cả những đoạn mã máy tính tầm thường nhất không? Có lẽ là không, bởi vì không phải ai cũng sẽ hiểu ý của bạn. Ngôn ngữ luôn thay đổi và luôn thay đổi vì một lý do. Mọi người cần một từ để mô tả thế giới máy học khó hiểu, mơ hồ và đôi khi đáng nghi ngờ, và “thuật toán” trở thành từ đó – cho đến bây giờ.

Điều đó đang được nói, thật tốt khi nhớ rằng thuật toán (và học máy) về cơ bản là một tập hợp mã được viết để giải quyết vấn đề. Không có trò ảo thuật nào; nó chỉ là một sự lặp lại phức tạp hơn của phần mềm mà chúng ta đã biết.

Nguồn: Slate, Wikipedia, GeekforGeek

Những bài viết liên quan

Back to top button