--------------- <> -----------------
--- KHOA HỌC - CÔNG NGHỆ - GIÁO DỤC - VIỆC LÀM ---
--- Học để đi cùng bà con trên thế giới ---

Tìm kiếm trong Blog

PPNCKH (2) - Nghiên cứu khoa học

Bài trước: PPNCKH (1) - Một số khái niệm
-----
2. Nghiên cứu khoa học


Ở bài học trước, bạn đã biết được Khoa học là một hệ thống tri thức có cấu trúc; mục tiêu của khoa học là khám phá, giải thích và dự báo các hiện tượng trong tự nhiên, xã hội, hệ thống trừu tượng, hệ thống nhân tạo.

Dựa trên đối tượng nghiên cứu, Khoa học được chia thành nhiều nhóm ngành. Trong mỗi nhóm ngành lại được chia thành các ngành khác nhau.

Chúng ta quan tâm tới 2 ngành là Khoa học máy tính và CNTT.

Trong mỗi ngành lại được chia thành các nhánh nghiên cứu cụ thể.

Ranh giới giữa Khoa học máy tính và CNTT hiện nay ngày càng mờ nhạt. Một kỹ sư CNTT giỏi vẫn cần tư duy thuật toán của một chuyên gia Khoa học máy tính, và một chuyên gia Khoa học máy tính cũng phải biết hiện thực hóa mô hình thành công nghệ thực tế.

Do vậy, dù theo Khoa học máy tính hay CNTT, có được kiến thức và kỹ năng nghiên cứu khoa học cũng là một lợi thế cho bạn.

Trong phần này, chúng ta sẽ cùng tìm hiểu tổng quan về nghiên cứu khoa học.

2.1 Nghiên cứu khoa học là gì?

Nghiên cứu khoa học (Scientific Research - NCKH) là một quá trình hoạt động tri thức có hệ thống, khách quan và sáng tạo, sử dụng các phương pháp luận chuẩn mực nhằm khám phá các quy luật của tự nhiên, xã hội, cũng như trong cấu trúc của các hệ thống trừu tượng và nhân tạo, nhằm tìm ra tri thức mới, hoặc ứng dụng tri thức đã có để giải quyết các bài toán thực tiễn đặt ra.

NCKH trong ngành KHMT và CNTT là quá trình sáng tạo, khám phá và giải quyết vấn đề dựa trên phương pháp luận chuẩn mực, tập trung vào thế giới nhân tạo và các hệ thống trừu tượng (như thuật toán, mô hình dữ liệu, kiến trúc phần mềm và hệ thống mạng).

NCKH thường gồm các hoạt động cốt lõi sau:

- Phát hiện và định nghĩa vấn đề

- Đề xuất giải pháp mới

- Thực nghiệm và kiểm chứng

Nếu học tập là quá trình tiếp thu tri thức có sẵn, thì NCKH là quá trình tạo ra hoặc mở rộng tri thức mới.

2.2 Phương pháp luận là gì?

Trong NCKH, quá trình sáng tạo, khám phá và giải quyết vấn đề phải dựa trên phương pháp luận chuẩn mực.

Phương pháp luận (Methodology) là hệ thống các lý thuyết, nguyên tắc và quan điểm định hướng việc lựa chọn, kết hợp các phương pháp cụ thể để nhận thức và giải quyết vấn đề trong NCKH.

Để dễ hiểu, cần phân biệt hai khái niệm dễ bị nhầm lẫn:

- Phương pháp (Method): Là cách thức, công cụ cụ thể để thực hiện công việc. Ví dụ: Thuật toán vét cạn, bảng hỏi khảo sát, mô hình CNN để xử lý ảnh. Phương pháp trả lời câu hỏi: Làm như thế nào?

- Phương pháp luận (Methodology): Là hệ thống lý luận định hướng việc lựa chọn và kết hợp các phương pháp. Phương pháp luận trả lời câu hỏi: Tại sao lại làm như vậy? Dựa trên cơ sở lý luận nào? Và dùng quy trình nào để chứng minh kết quả đáng tin cậy?

Về bản chất, mọi nghiên cứu khoa học đều thuộc một trong ba hướng tiếp cận phương pháp luận sau:

- Định lượng (Quantitative): Tập trung đo lường bằng số liệu, thống kê và bộ chuẩn đánh giá (benchmark). Ví dụ: Đo thời gian thực thi, độ chính xác, dung lượng bộ nhớ

- Định tính (Qualitative): Tập trung vào lập luận logic, mô hình hóa trừu tượng, chứng minh toán học hoặc phân tích bản chất vấn đề. Ví dụ: Chứng minh tính đúng đắn của thuật toán, phân tích cấu trúc hệ thống.

- Kết hợp (Mixed Methods): Kết hợp cả định tính và định lượng. Ví dụ: Dùng tư duy logic để thiết kế thuật toán/kiến trúc, sau đó dùng thực nghiệm số liệu để chứng minh hiệu quả.

Trong KHMT và CNTT, ba hướng trên thường được thể hiện qua ba hình thức kỹ thuật sau:

- Phương pháp luận thực nghiệm (thuộc hướng Định lượng)

- Phương pháp luận mô hình hóa / chứng minh hình thức (thuộc hướng Định tính)

- Phương pháp luận thiết kế hệ thống (Design Science Research Methodology – DSRM) (kết hợp giữa Định tính (khi thiết kế kiến trúc) và Định lượng (khi đo lường hiệu năng))

Chúng ta cùng xem xét một ví dụ cụ thể.

Bài toán: Tìm kiếm một từ khóa trong kho dữ liệu khổng lồ (giống như chức năng tìm kiếm của Google hoặc tra cứu từ điển).

1. Phương pháp: Làm bằng cách nào?

Phương pháp là công cụ và cách làm cụ thể mà bạn sử dụng để giải quyết bài toán.

Ví dụ: bạn có thể chọn một trong các phương pháp sau:

- Thuật toán tìm kiếm nhị phân (Binary Search)

- Cấu trúc dữ liệu Cây tiền tố (Trie)

- Bảng băm (Hash Table)

2. Phương pháp luận: Tại sao lại làm như vậy và chứng minh thế nào?

Phương pháp luận là toàn bộ quá trình tư duy và kiểm chứng khoa học để đảm bảo việc lựa chọn phương pháp là có cơ sở và kết quả đáng tin cậy.

Trước khi lập trình - Lý do chọn phương pháp

Ví dụ: Tại sao lại chọn Trie thay vì tìm kiếm tuần tự?

Bạn phân tích dựa trên Lý thuyết độ phức tạp tính toán:

- Tìm kiếm tuần tự có độ phức tạp O(N x k)

- Cây Trie có độ phức tạp O(k)

Từ đó đưa ra lý do khoa học: Khi dữ liệu lớn, Trie hiệu quả hơn rõ rệt.

Sau khi lập trình - Cách chứng minh kết quả đáng tin cậy

Bạn không thể chỉ chạy thử vài lần rồi kết luận “nó chạy nhanh”. Thay vào đó, bạn phải thực hiện quy trình thực nghiệm chuẩn:

- Tạo nhiều tập dữ liệu với quy mô khác nhau (ví dụ: 1.000 – 10.000 – 100.000 – 1.000.000 – 10.000.000 từ khóa)

- Chạy thử mỗi tập dữ liệu nhiều lần (ví dụ 30–50 lần) rồi lấy giá trị trung bình để giảm sai số ngẫu nhiên

- Đo các chỉ số: thời gian thực thi, bộ nhớ tiêu thụ

- So sánh với các phương pháp đã có sẵn như Linear Search, Binary Search, Hash Table (còn gọi là baseline)

- Vẽ biểu đồ so sánh để chứng minh rõ ràng sự vượt trội

Đây chính là cách phương pháp luận giúp đảm bảo kết quả nghiên cứu có cơ sở khoa học, không phải do may mắn.

2.3 Xem và đọc thêm

Sử dụng các từ khóa sau, tìm kiếm trên Google, Youtube, Chatbot để xem và đọc thêm: Trong NCKH phương pháp là gì? Phương pháp luận là gì? Định tính là gì? Định lượng là gì? 

2.4 Bài tập và Câu hỏi

Bài tập

Bài tập 1: Phân biệt Phương pháp và Phương pháp luận trong một bài toán thực tế.

Tình huống: Một nhóm sinh viên đang làm đề tài cải thiện tốc độ nhận diện biển số xe trong hệ thống camera giao thông đô thị. Khi được hỏi về phương pháp, nhóm trả lời: "Nhóm em dùng mô hình YOLO v8 để phát hiện biển số, sau đó dùng thuật toán OCR để đọc ký tự, và nhóm dùng phương pháp định lượng để đo độ chính xác."

a) Phân tích xem câu trả lời của nhóm sinh viên trên đã chính xác và đủ ý chưa? Hãy chỉ ra đâu là Phương pháp (Method) và đâu là sự nhầm lẫn về khái niệm Phương pháp luận (Methodology) trong câu trả lời đó.

b) Nếu bạn là giảng viên hướng dẫn, hãy viết lại phần giải thích định hướng phương pháp luận (gồm lý do chọn phương pháp trước khi lập trình và cách kiểm chứng sau khi lập trình) theo đúng chuẩn cho đề tài nhận diện biển số xe nói trên.

Bài tập 2: Thiết kế khung Phương pháp luận cho một bài toán CNTT cụ thể.

Tình huống: Giả sử bạn đang thực hiện một đề tài nghiên cứu tối ưu hóa hệ thống gọi đồ ăn trực tuyến (Food Delivery System) nhằm giảm độ trễ (latency) khi có hàng nghìn người đặt món cùng một lúc vào giờ cao điểm.

Yêu cầu: Dựa vào nội dung bài học, hãy thiết kế một khung trình bày hoàn chỉnh cho đề tài của bạn gồm 3 ý chính sau:

- Xác định Phương pháp: Hãy đề xuất ít nhất 2 giải pháp công nghệ hoặc thuật toán khác nhau có thể chọn để giải quyết bài toán giảm độ trễ (Ví dụ: thay đổi kiến trúc, thuật toán cân bằng tải, hay cơ chế caching...).

- Lập luận trước khi lập trình (Phần Định tính): Chọn một phương pháp trong số đó và sử dụng tư duy lý luận/mô hình hóa để trả lời câu hỏi Tại sao lại chọn phương pháp này?

- Quy trình kiểm chứng sau khi lập trình (Phần Định lượng & Benchmark): Thiết kế cụ thể các bước thực nghiệm để chứng minh giải pháp của bạn thực sự hiệu quả hơn so với hệ thống cũ (baseline), bao gồm: quy mô tập dữ liệu/lượng request giả lập, số lần lặp lại để lấy trung bình, các chỉ số cần đo, và cách thức so sánh.

Câu hỏi

Câu 2a: Trong nghiên cứu khoa học ngành CNTT, phát biểu nào sau đây phân biệt chính xác nhất giữa Phương pháp (Method) và Phương pháp luận (Methodology)?

A. Phương pháp là hệ thống lý luận triết học vĩ mô, còn phương pháp luận là các đoạn mã chi tiết

B. Phương pháp trả lời câu hỏi "Làm như thế nào?" (chọn công cụ, thuật toán, cấu trúc dữ liệu cụ thể), còn phương pháp luận trả lời câu hỏi "Tại sao lại làm như vậy và dùng quy trình nào để chứng minh kết quả đáng tin cậy?"

C. Phương pháp và phương pháp luận là hai tên gọi khác nhau của cùng một khái niệm dùng trong việc viết báo cáo thực tập

D. Phương pháp chỉ dùng cho giai đoạn lý thuyết trên giấy, còn phương pháp luận chỉ dùng cho giai đoạn chạy thử nghiệm phần mềm

Câu 2b: Trong quy trình kiểm chứng kết quả của một đề tài nghiên cứu khoa học máy tính, Baseline được định nghĩa là gì?

A. Là tập dữ liệu mẫu chuẩn được công nhận toàn cầu để thử nghiệm mô hình

B. Là các phương pháp, thuật toán hoặc hệ thống đã có sẵn từ trước dùng làm mốc đối chứng để so sánh tính hiệu quả với giải pháp mới đề xuất

C. Là số lần lặp lại thí nghiệm (ví dụ 30-50 lần) nhằm loại bỏ sai số ngẫu nhiên

D. Là chỉ số đo lường tốc độ xử lý khung hình trên giây (FPS) của hệ thống

Câu 2c: Trong hướng tiếp cận phương pháp luận Định lượng (Quantitative), vai trò của Benchmark là gì?

A. Chứng minh tính đúng đắn của thuật toán thông qua hệ thống lập luận logic và mô hình hóa trừu tượng

B. Phân tích bản chất cấu trúc phần mềm trước khi tiến hành viết mã nguồn

C. Cung cấp tập dữ liệu chuẩn hoặc bộ chuẩn đánh giá khách quan để đo lường, so sánh hiệu năng (như thời gian thực thi, độ chính xác, dung lượng bộ nhớ)

D. Xây dựng biểu đồ kiến trúc hệ thống tổng thể theo mô hình DSRM

Câu 2d: Điểm khác biệt cơ bản nhất giữa quá trình học tập thông thường và nghiên cứu khoa học (NCKH) trong lĩnh vực KHMT và CNTT là gì?

A. Học tập là quá trình tiếp thu tri thức có sẵn, còn NCKH là quá trình tạo ra hoặc mở rộng tri thức mới dựa trên phương pháp luận chuẩn mực

B. Học tập chỉ áp dụng cho sinh viên năm nhất, còn NCKH chỉ dành cho giảng viên đại học

C. Học tập không yêu cầu viết báo cáo, còn NCKH bắt buộc phải lập trình trên phần cứng chuyên dụng

D. Học tập giải quyết các bài toán giả định đơn giản, còn NCKH tuyệt đối không được sử dụng lại các lý thuyết cũ

-----
Bài sau: