3 điểm bởi GN⁺ 2024-05-06 | 1 bình luận | Chia sẻ qua WhatsApp

Mặc dù sự đơn giản có lợi, nhưng đáng tiếc là thực tế cho thấy sự phức tạp vẫn được bán chạy hơn

Tại sao sự phức tạp lại được ưa thích hơn?

  • Độ phức tạp thể hiện nỗ lực
    • Một bài viết có ý tưởng khó và chi tiết kỹ thuật tinh vi gợi liên tưởng đến mồ hôi và nước mắt
    • Hệ thống có nhiều thành phần và tính năng hơn trông có vẻ cần nhiều nỗ lực hơn so với hệ thống có ít hơn
    • Kết quả phức tạp được xem là đòi hỏi nhiều nỗ lực hơn nên được cho là khó làm hơn và có giá trị hơn
    • Do nỗ lực đi kèm cùng với sự phức tạp, nó thường được đánh giá là chất lượng cao hơn
  • Độ phức tạp thể hiện năng lực chuyên môn
    • Hệ thống phức tạp với nhiều bộ phận chuyển động hàm ý nhà thiết kế có kỹ năng với từng bộ phận và có khả năng tích hợp chúng
    • Một bài nghiên cứu khó hiểu, đầy thuật ngữ chuyên môn và chứng minh cho thấy trình độ chuyên môn về chủ đề đó
    • Nếu người bình thường khó hiểu một ý tưởng hay hệ thống phức tạp, người tạo ra nó có thể là chuyên gia
  • Độ phức tạp thể hiện sự đổi mới
    • Bài nghiên cứu phát minh kiến trúc mô hình hoàn toàn mới được công nhận là mới hơn so với bài áp dụng mạng lưới đã có sẵn
    • Hệ thống có thành phần được tạo ra từ đầu được xem là sáng tạo hơn hệ thống tái sử dụng các thành phần có sẵn
    • Việc dựa trên hoặc tái sử dụng công trình sẵn có thường không được coi là đặc biệt đổi mới
  • Độ phức tạp mang hàm ý nhiều tính năng hơn
    • Một hệ thống có các thành phần có thể trộn lẫn và phối hợp cho thấy tính linh hoạt để xử lý mọi nền tảng
    • Hệ thống phức tạp có nhiều khối hơn hệ thống đơn giản nên được cho là thích nghi tốt hơn và đáp ứng thay đổi tốt hơn

Lý do sự đơn giản là lợi thế

  • Ý tưởng và tính năng đơn giản dễ hiểu và dễ sử dụng
    • Điều này tăng khả năng được chấp nhận và tạo ra tác động
    • Dễ giao tiếp và dễ nhận phản hồi
    • Ngược lại, hệ thống phức tạp khó giải thích và quản lý, khiến người dùng khó xác định mình cần làm gì và làm như thế nào
  • Hệ thống đơn giản dễ xây dựng và mở rộng
    • Khi có ít thành phần hơn, việc triển khai dễ hơn
    • Việc sử dụng công nghệ sẵn có chuẩn giúp dễ tìm người có đủ năng lực để triển khai và bảo trì
    • Hệ thống đơn giản có ít độ phức tạp hơn, ít mã hơn và ít tương tác bên trong nên dễ hiểu và dễ kiểm thử
    • Ngược lại, hệ thống phức tạp không cần thiết cần nhiều thời gian và nguồn lực hơn, dẫn đến kém hiệu quả và lãng phí
  • Hệ thống đơn giản có chi phí vận hành thấp hơn
    • Triển khai hệ thống không phải là vạch đích mà là vạch xuất phát
    • Phần lớn nỗ lực diễn ra khi hệ thống đã ở môi trường production, và giữ cho hệ thống đơn giản giúp giảm chi phí bảo trì và kéo dài tuổi thọ
  • Trong máy học, kỹ thuật đơn giản thường không kém hiệu năng so với kỹ thuật tinh vi hơn
    • Mô hình dựa trên cây vượt trội hơn mạng nơ-ron sâu trên dữ liệu bảng kích thước trung bình
    • Thuật toán tham lam vượt trội hơn mạng nơ-ron đồ thị trong bài toán đồ thị tổ hợp
    • Trung bình đơn giản cho thấy hiệu năng tương đương hoặc tốt hơn so với bộ tối ưu hóa phức tạp trong học đa nhiệm
    • Trong 32 bài báo, phương pháp đơn giản vượt trội hơn phương pháp phức tạp về độ chính xác dự đoán
    • Trong gợi ý và tìm kiếm, tích vô hướng tốt hơn lọc cộng tác dựa trên mạng nơ-ron

Vấn đề với việc thưởng cho sự phức tạp

  • Người ta được khuyến khích làm mọi thứ phức tạp một cách không cần thiết
    • Việc sử dụng phương pháp đơn giản hoặc xây dựng hệ thống đơn giản nhìn có vẻ dễ hơn nên bị đánh giá thấp về giá trị
    • Kết quả là mọi người điều chỉnh hệ thống để nhận nhiều phần thưởng hơn, và giải pháp đơn giản nhất không còn là lựa chọn hiển nhiên
  • Tư duy "không phát minh tại đây" khiến người ta, mặc dù có thể tiết kiệm thời gian và công sức bằng cách tái sử dụng các thành phần có sẵn, lại tránh tái sử dụng và ưu tiên xây từ đầu
    • Điều này làm lãng phí thời gian và nguồn lực và thường dẫn tới kết quả kém hơn

Ta nên nghĩ về sự phức tạp như thế nào?

  • Mục tiêu cần là giải quyết các vấn đề phức tạp bằng giải pháp đơn giản nhất có thể
    • Thay vì tập trung vào độ phức tạp của giải pháp, nên tập trung vào độ phức tạp của vấn đề
    • Giải pháp đơn giản cho thấy sự am hiểu sâu sắc về bài toán và khả năng tránh được giải pháp tốn kém hơn và phức tạp hơn
  • Thay vì một giải pháp phức tạp giải quyết mọi thứ, nên xem xét nhiều giải pháp chuyên sâu hơn
    • Giải pháp vạn năng thường không linh hoạt và không thể tái sử dụng như kỳ vọng
    • Vì tồn tại cho nhiều trường hợp sử dụng và bên liên quan nên chúng có xu hướng "gắn kết chặt chẽ" và đòi hỏi nhiều điều chỉnh hơn trong kế hoạch và di chuyển
    • Ngược lại, vận hành và loại bỏ một hệ thống có một mục đích riêng thì dễ hơn

Ý kiến của GN⁺

  • Bài viết thuyết phục về lý do tại sao sự phức tạp được ưa chuộng và lợi thế của sự đơn giản. Điểm thú vị là độ phức tạp được đánh giá cao vì nó ám chỉ năng lực chuyên môn, đổi mới và chức năng.
  • Tuy nhiên, tôi cho rằng không dễ để khẳng định giải pháp đơn giản luôn tốt trong mọi trường hợp. Tùy thuộc vào tính chất bài toán, một mức độ phức tạp nhất định có thể là cần thiết. Việc cân bằng giữa đơn giản và phức tạp sẽ rất quan trọng.
  • Việc gặp các ví dụ trong máy học nơi mô hình đơn giản có hiệu năng tốt hơn rất thú vị. Khi phát triển một mô hình mới, nên so sánh với các phương pháp đơn giản hiện có.
  • Cần lưu ý trong đánh giá hiệu suất của tổ chức để không nhấn mạnh quá mức về độ phức tạp. Thay vào đó, có lẽ tập trung vào độ khó của vấn đề và hiệu quả của giải pháp là phù hợp hơn.
  • Trong thiết kế kiến trúc, có lẽ cân nhắc nhiều hệ thống đơn mục đích đơn giản thay vì một hệ thống phức tạp vạn năng cũng là một cách làm hay.

1 bình luận

 
GN⁺ 2024-05-06
Ý kiến từ Hacker News

Tóm tắt:

  • Cách xây dựng lặp đi lặp lại theo kiểu MVP (sản phẩm khả dụng tối thiểu) đôi khi cũng là nguyên nhân gây ra độ phức tạp.
  • Hệ thống thưởng cao hơn cho việc giải quyết vấn đề phức tạp đôi khi lại tạo ra sự phức tạp không cần thiết.
  • Do sự khác biệt giữa khách hàng tinh hoa và khách hàng tham vọng, doanh nghiệp đôi khi coi việc đáp ứng nhu cầu của nhóm khách hàng tham vọng là lựa chọn hợp lý.
  • Phần mềm phức tạp và nhiều lỗi lại được ưa thích hơn vì có thể ẩn mình đằng sau nó.
  • Từ nhỏ, đã quen với tư duy “càng nhiều càng tốt”.
  • Với tư cách kỹ sư, mình có xu hướng thích những thứ thử thách hơn là giải pháp đơn giản.
  • Có tâm lý nghịch lý: thích sự đơn giản, nhưng lại tránh những thứ trông có vẻ đơn giản.
  • Việc chỉ trích lời giải phức tạp sau cùng dễ dàng, nhưng phê bình khi không biết các ràng buộc và yêu cầu tại thời điểm đó thì chỉ là rỗng tuếch.
  • Nguyên tắc “càng đơn giản càng tốt, nhưng không đơn giản quá mức” luôn đúng, dù việc thực thi không hề đơn giản.
  • Ngay cả khi ban đầu dự án có vẻ đơn giản, khi nhu cầu tăng lên thì thường không tránh khỏi phải phức tạp hóa.