ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƢƠNG TRÌNH ĐÀO TẠO THẠC SĨ CNTT QUA MẠNG
BÀI THU HOẠCH MÔN HỌC
PHƢƠNG PHÁP NGHIÊN CỨU KHOA HỌC
TRONG TIN HỌC
TIỂU LUẬN
ỨNG DỤNG NGUYÊN TẮC PHÂN NHỎ, NGUYÊN TẮC KẾT HỢP GIẢI
QUYẾT CÁC VẤN ĐỀ TRONG TIN HỌC
Giảng viên hƣớng dẫn:
GS.TSKH Hoàng Văn Kiếm
Học viên thực hiện:
Phạm Thị Bích Phƣợng – Mã số: CH1001122
Thành phố Hồ Chí Minh, năm 2011
MỤC LỤC
PHẦN I : KHÁI NIỆM CƠ BẢN VỀ KHOA HỌC VÀ NGHIÊN CỨU KHOA HỌC
I.
KHOA HỌC :
II.
NGHIÊN CỨU KHOA HỌC :
2.1.
Các loại hình nghiên cứu khoa học :
2.2.
Các bƣớc nghiên cứu khoa học :
PHẦN II : VẤN ĐỀ KHOA HỌC VÀ CÁC PHƢƠNG PHÁP GIẢI QUYẾT
I.
VẤN ĐỀ KHOA HỌC :
1.1.
Khái niệm vấn đề khoa học:
1.2.
Phân loại vấn đề khoa học :
1.3.
Các tình huống của vấn đề khoa học :
1.4.
Các phƣơng pháp phát hiện vấn đề khoa học :
II.
PHƢƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ THEO KHOA HỌC VỀ PHÁT MINH,
SÁNG CHẾ
2.1.
Vepol :
2.2.
40 thủ thuật (nguyên tắc) sáng tạo cơ bản :
PHẦN I : KHÁI NIỆM CƠ BẢN VỀ KHOA HỌC VÀ NGHIÊN CỨU KHOA HỌC
I.
KHOA HỌC :
Khoa học là hệ thống tri thức về mọi loại quy luật của tự nhiên, xã hội và tƣ
duy (Pierre Auger UNESCO – PARIS)
Các tiêu chí nhận biết một bộ mơn khoa học:
-
Có đối tƣợng nghiên cứu ?
-
Có hệ thống lý thuyết ?
-
Có hệ thống phƣơng pháp luận ?
-
Có mục đích sử dụng ?
II.
NGHIÊN CỨU KHOA HỌC :
Nghiên cứu khoa học nhằm đáp ứng nhu cầu nhận thức và cải tạo thế giới.
Các chức năng chính của nghiên cứu khoa học :
-
Mơ tả (định hƣớng, định lƣợng)
-
Giải thích (nguồn gốc, thuộc tính, quan hệ)
-
Dự đoán
-
Sáng tạo (các giải pháp cải tạo thế giới)
Các đặc điểm của nghiên cứu khoa học :
-
Tính mới
-
Tính tin cậy
-
Tính thơng tin
-
Tính khách quan
-
Tính rủi ro
-
Tính thừa kế
-
Tính cá nhân
-
Tính phi kinh tế
2.1.
Các loại hình nghiên cứu khoa học :
- Nghiên cứu cơ bản :
- Nghiên cứu ứng dụng :
- Nghiên cứu triển khai :
2.2.
Các bƣớc nghiên cứu khoa học :
-
Xác lập vấn đề nghiên cứu :
-
Giai đoạn chuẩn bị nghiên cứu :
-
Lựa chọn và nghiên cứu thông tin :
-
Xây dựng giả thuyết, lựa chọn phƣơng pháp và lập kế hoạch :
-
Hoàn tất nghiên cứu :
-
Viết báo cáo hoàn tất cơng trình :
-
Giai đoạn kết thúc :
PHẦN II : VẤN ĐỀ KHOA HỌC VÀ CÁC PHƢƠNG PHÁP GIẢI QUYẾT
I.
VẤN ĐỀ KHOA HỌC :
1.1.
Khái niệm vấn đề khoa học :
Vấn đề khoa học (scientific problem) cũng đƣợc gọi là vấn đề nghiên cứu
(research problem) hoặc câu hỏi nghiên cứu là câu hỏi đƣợc đặt ra khi ngƣời nghiên cứu
đứng trƣớc mâu thuẫn giữa tính hạn chế của tri thức khoa học hiên có với yêu cầu phát
triển tri thức ở trình độ cao hơn.
1.2.
Phân loại vấn đề khoa học :
Nghiên cứu khoa học luôn tồn tại hai vấn đề :
- Vấn đề về bản chất sự vật đang tìm kiếm.
-
Vấn đề về phƣơng pháp nghiên cứu để làm sáng tỏ về lý thuyết và thực
tiễn nhƣ những vấn đề thuộc lớp thứ nhất.
1.3.
Các tình huống của vấn đề khoa học :
Có ba tình huống :
- Có vấn đề
- Khơng có vấn đề
- Giả vấn đề : khơng có vấn đề khơng có nghiên cứu, nảy sinh vấn đề khác nghiên
cứu theo một hƣớng khác.
1.4.
Các phƣơng pháp phát hiện vấn đề khoa học :
Có sáu phƣơng pháp :
-
Tìm những kẻ hở, phát hiện những vấn đề mới.
-
Tìm những bất đồng.
-
Nghĩ ngƣợc lại quan niệm thông thƣờng.
-
Quan sát những vƣớng mắc trong thực tiễn.
-
Lắng nghe lời kêu ca phàn nàn.
-
Cảm hứng : những câu hỏi bất chợt xuất hiện khi quan sát sự kiện nào đó.
II.
PHƢƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ THEO KHOA HỌC VỀ PHÁT MINH,
SÁNG CHẾ
2.1.
Vepol :
Bất cứ hệ thống kỹ thuật nào ít nhất cũng phải có hai thành phần vật chất tác động tƣơng
hỗ và một loại trƣờng hay năng lƣợng.
Từ đó có một thuật ngữ về tam giác kỹ thuật gọi là tam giác Vepol. Vepol là mơ hình hệ
thống kỹ thuật. Vepol đƣợc quy ƣớc đƣa ra cốt chỉ để phản ánh một tính chất vật chất của
hệ thống nhƣng chủ yếu nhất với bài tốn đã cho.
Có 5 phƣơng pháp :
- Dựng Vepol đầy đủ
- Chuyển sang Fepol
- Phá vở Vepol
- Xích Vepol
- Liên trƣờng
2.2.
40 thủ thuật (nguyên tắc) sáng tạo cơ bản :
Ðể khắc phục những nhƣợc điểm của phƣơng pháp thử và sai, ở thời kỳ phát triển
ban đầu của khoa học sáng tạo, ngƣời ta cố gắng sƣu tầm, thu thập kinh nghiệm riêng,
các mẹo vặt gọi chung là các thủ thuật suy nghĩ, nhằm mục đích giảm bớt số lƣợng và rút
ngắn thời gian lựa chọn các phƣơng án thử.
Thủ thuật là các thao tác tƣ duy đơn lẻ nhƣ hãy đặc biệt hóa bài tốn, hãy phân nhỏ
đối tƣợng, hãy làm ngƣợc lại,… dựa trên việc phân tích hàng trăm ngàn sáng chế ở nhiều
ngành khác nhau, Atshuler đã tìm đƣợc 40 thủ thuật cơ bản, còn đƣợc gọi là các thủ thuật
khắc phục mậu thuẫn. Cùng với sự phát triển của khoa học kỹ thuật, số lƣợng các thủ
thuật có thể tăng thêm và bản thân từng thủ thuật sẽ đƣợc cụ thể hóa hơn nữa cho phù
hợp với nhiều chuyên ngành hơn. Sau đây là 40 thủ thuật sáng tạo cơ bản :
2.2.1. Nguyên lý phân nhỏ :
Mọi đối tƣợng bất kỳ đều có thể chia ra làm các phần nhỏ hơn. Thí dụ giờ (chia ra
phút, giây), phân tử ( nguyên tử, nơ tron ),...Thủ thuật này lợi dụng tính chất có thể chia
nhỏ của các đối tƣợng, để giải quyết vấn đề, hoặc sử dụng lợi ích của việc phân nhỏ mà ở
trạng thái bình thƣờng đối tƣợng khơng có.
Thí dụ: một cơng việc khó làm, hãy phân nhỏ cho nhiều ngƣời làm, hoặc làm mỗi
lần một phần nhỏ. Không ai có thể nhấc nổi vật nặng 10 tấn. Thế nhƣng 10 tấn là khối
lƣợng bình thƣờng của một cơng nhân bốc vác phải nhấc trong 1 ngày.
Nguyên tắc phân nhỏ thƣờng áp dụng trong trƣờng hợp gặp các vấn đề lớn, phức
tạp hoặc không đủ nguồn lực đề giải quyết, xử lý một lần. Một câu hỏi đặt ra làm thế nào
để ăn hết một con voi vào bụng, câu trả lời là hãy chia nhỏ con voi đó ra thành nhiều
phần và ăn từng phần một. Khi gặp những vấn đề rắc rối, nan giải hãy chia nhỏ vấn đề
thành nhiều phần và giải quyết từng phần một.
Nguyên tắc này có một số thủ thuật con nhƣ sau :
a. Chia đối tƣợng thành các phần độc lập.
-
Thí dụ : Chia tàu hoả thành các toa ngắn để có thể di chuyển đƣợc trên
đƣờng cong. Việc chia thành toa ngắn giải quyết đƣợc một vấn đề ( là di
chuyển trên đƣờng cong) mà tàu hoả nếu chỉ có một toa dài không làm
đƣợc.
-
Thuỷ tinh là chất dẫn ánh sáng tốt, nhƣng rất cứng và giòn. Để giải quyết,
ngƣời ta đã chia thuỷ tinh thành những sợi rất nhỏ (1/100mm). Kết quả là
thuỷ tinh uống cong đƣợc, mà vẫn truyền ánh sáng tốt.
-
Phân nhỏ không chỉ giúp giải quyết vấn đề, mà đơi khi làm xuất hiện thêm
những tính chất mới của đối tƣợng.
-
Thí dụ : Nƣớc là chất dập lửa. Nhƣng phun hơi nƣớc ở dạng hạt cực nhỏ
vào buồng động cơ đốt trong, lại làm lửa cháy tốt hơn, nhờ thế hiệu suất
động cơ tăng lên.
b. Làm đối tƣợng trở nên tháo lắp đƣợc.
Đây là một trƣờng hợp phân nhỏ, mà các phần đã phân nhỏ có thể kết hợp lại
đƣợc, hoặc tách ra dễ dàng tuỳ theo yêu cầu.
Thí dụ : simcard của điện thoại có thể tháo lắp đƣợc. Nhờ thế, ta có thể chỉ cần
mang simcard khi khơng thể mang máy theo.
Các nhà máy thƣờng có lực lƣợng nhân cơng làm theo thời vụ. Khi có nhu cầu, lực
lƣợng này sẽ "lắp" vào, khi khơng cần, thì "tách" ra mà không gây tổn hại cho nhà
máy.
c. Tăng mức độ phân nhỏ của đối tƣợng.
Đây là một trƣờng hợp đặc biệt. Nếu đối tƣợng đã đƣợc phân nhỏ rồi, mà vẫn chƣa
đạt đƣợc kết quả mong muốn, hãy thử phân nhỏ hơn nữa. Trong thí dụ về sợi thuỷ
tinh ở trên. Nếu ở kích thƣớc 1/100 mm, thuỷ tinh vẫn khơng uống cong đƣợc, thì hãy
thử phân nhỏ hơn nữa.
Trong kinh doanh, các nhà cung cấp gạo trƣớc kia chỉ đóng bao 50 Kg. Nhƣng khi
mà số ngƣời sống trong các nhà cao tầng tăng lên, ngƣời ta đã đóng bao 10 kg, 5 kg,
2 kg để tiện mang vác.
Các thí dụ ứng dụng nguyên tắc phân nhỏ trong tin học :
-
Để hoàn thành việc viết một phần mềm nhanh hơn, chia nhỏ phần mềm thành nhiều
modun nhỏ để dễ dàng xử lý, và phân công cho nhiều ngƣời cùng làm, công việc cũng dễ
dàng hơn, phần mềm hoàn thành nhanh hơn.
-
Thuật tốn tìm kiếm nhị phân, chia dãy làm đơi và chỉ tìm kiếm trên nửa dãy, tiếp tục
chia nửa dãy làm đơi và cứ thế tìm cho đến khi ra kết quả.
-
Thuật toán quick sort:
Chọn một phần tử x nào đó trong dãy cần sắp xếp, dãy đƣợc chia thành hai dãy con, một
dãy bao gồm các phần tử nhỏ hơn x, dãy còn lại gồm các phần tử lớn hơn x. Tiếp tục thực
hiện tƣơng tự cho từng dãy con (sử dụng đệ quy) cho đến khi tất cả các dãy con đều có
thứ tự. Việc lựa chọn phần tử nào là phần tử x của dãy đang xét tùy thuộc vào ngƣời lập
trình, ở đây ta lấy phần tử x đƣợc chọn là phần tử nằm ở vị trí chính giữa của dãy.
Ý tƣởng của thuật tốn này là chia dãy cần sắp xếp thành ba dãy con :
+ Dãy con bên trái gồm các phần tử nhỏ hơn x (x là phần tử bất kỳ trong dãy)
+ Dãy con ở giữa gồm các phần tử bằng x.
+ Dãy con bên phải gồm các phần tử lơn hơn x.
Sau đó ta lại tiếp tục chia các dãy con bên trái và bên phải thành ba dãy con và cứ thế cho
đến khi dãy con cần chia chỉ có một phần tử.
Giả sử ta cần sắp xếp dãy sau:
0123456
[1395872]
Ta chọn phần tử để so sánh là phần tử ở chính giữa (0+6)/2= phần tử thứ 3
x=5
Sau khi phân hoạch, ta có dãy nhƣ sau : [1 3 2] [5] [8 7 9]
Ta lại tiếp tục phân hoạch dãy bên trái :
012
[132]
Chọn phần tử để so sánh là phần tử (0+2)=phần tử thứ 1
y=3
Sau khi phân hoạch ta có dãy :
[123]
Tƣơng tự cho dãy [ 8 7 9 ], ta có dãy [ 7 8 9 ]
Sau khi quá trình phân hoạch kết thúc, ta có dãy [ 1 2 3 5 7 8 9 ] đã đƣợc sắp xếp.
Cài đặt thuật toán Quick Sort bằng C/C++ :
void QuickSort (int a[], int left, int right)
{
int i, j, x;
i=left;
j=right;
x=a[(left+right)/2];
do{
while (a[i]
while(a[i]>x) j--;
if(i<=j)
{
int temp=a[i];
a[i]=a[j];
a[j]=temp;
i++; j--;
}
}while (i
if(i
if(j>left) quickSort(a,left,j);
}
-
Chia chƣơng trình thành nhiều hàm, thủ tục
Trong khoa học máy tính, một chƣơng trình con - bao gồm cả hàm (function), phƣơng thức
(method) và thủ tục (procedure) - là một phần mã trong một chƣơng trình lớn hơn, phần mã này
thực hiện một tác vụ cụ thể và tƣơng đối độc lập với phần mã còn lại.
Một chƣơng trình con thƣờng đƣợc viết mã sao cho nó có thể đƣợc chạy (hay đƣợc gọi) nhiều
lần và/hoặc từ nhiều nơi trong thời gian chạy của một chƣơng trình, thậm chí có thể đƣợc gọi bởi
chính nó. Do tính năng này, chƣơng trình con là một cơng cụ lập trình mạnh. Việc sử dụng hợp
lý chƣơng trình con (chẳng hạn qua phong cách lập trình cấu trúc) thƣờng dẫn đến việc giảm
đáng kể kích thƣớc và chi phí của một chƣơng trình, trong khi nâng cao tính dễ đọc và độ tin cậy
của chƣơng trình. Các chƣơng trình con, thƣờng đƣợc tập trung thành các thƣ viện, là một cơ chế
quan trong cho việc chia sẻ và tái sử dụng mã.
Một số ngơn ngữ lập trình, chẳng hạn Pascal và FORTRAN, phân biệt giữa hàm (một chƣơng
trình con có trả về giá trị) và thủ tục (khơng trả về giá trị). Các ngơn ngữ khác, ví dụ C và LISP,
coi hai thuật ngữ này nhƣ nhau. Cái tên phƣơng thức thƣờng đƣợc dùng trong lập trình hƣớng
đối tƣợng để gọi các chƣơng trình con là một phần của các đối tƣợng.
-
Bộ máy tính để bàn chia riêng từng phần: màn hìnhhiển thị, cpuxử lý,…
-
ổ đĩa của máy tính chia ra làm nhiểu ổ đĩa dễ dàng lƣu trữ, tìm kiếm va sắp xếp
-
trong ổ đĩa đƣợc chia nhỏ ra nhiều thƣ mục để lƣu trữ dữ liệu, lƣu nhiều tập tin.
-
Một cửa sổ excel chia ra thanh nhiều sheet cho ngƣời dùng sử dụng tiện lợi hơn nhƣ khi
cần làm nhiều dạng bài tập khác nhau nhƣng muốn lƣu cùng trên một file.
-
Các phần mềm word, excel,…trong bộ Microsoft office chia thành nhiều menu, mỗi
menu đƣợc chia theo từng nhóm chức năng khác nhau để ngƣời dùng dễ dàng sử dụng.
-
Trong lập trình hƣớng đối tƣợng, mỗi đối tƣợng đƣợc lƣu trữ thành nhiều thành phần dễ
dàng truy xuất, nhận biết. ví du đối tƣợng ngƣời đƣợc lƣu trữ dƣới dạng là: tên, tuổi, giới
tính,…
-
Trong cơ sở dữ liệu, một đối tƣợng dữ liệu đƣợc lƣu trữ thành nhiều thành phần nhỏ để
dễ truy vấn và sử dụng.
-
Thiết kế một cơ sở dữ liệu lớn, chia cở dữ liệu đó thành nhiều bảng dữ liệu nhỏ để dàng
quản lý
-
Máy tính xách tay có thể xếp gọn lai: màn hinh, bộ xử lý, bàn phím so với máy tính để
bàn.
-
Main máy tính để bàn, ram có thể tháo rời, lắp vào, dễ dàng nâng cấp máy,….
-
Hệ thống mạng, chia thành nhiều client, có một sever quản lý,….
-
Trang web chia thành nhiều chức năng riêng biệt
-
Nguyên lý “tách riêng”
-
Nguyên lý phẩm chất cục bộ
-
Nguyên lý phản đối xứng
-
Nguyên lý kết hợp
-
Nguyên lý vạn năng
-
Nguyên lý chứa trong
-
Nguyên lý phản trọng lƣợng
-
Nguyên lý gây ứng suất sơ bộ
-
Nguyên lý thực hiện sơ bộ
-
Nguyên lý dự phòng
-
Nguyên lý đẳng thế
-
Nguyên lý đảo ngƣợc
-
Ngun lý cầu (trịn) hóa
-
Ngun lý năng động
-
Nguyên lý tác động bộ phận và dƣ thừa
-
Nguyên lý bộ xung chiều khác
-
Sự dao động cơ học
-
Nguyên lý tác động theo chu kỳ
-
Nguyên lý tác động liên tục hữu hiệu
-
Nguyên lý vƣợt nhanh
-
Nguyên lý chuyển bại thành thắng
-
Nguyên lý quan hệ phản hồi
-
Nguyên lý sử dụng trung gian
-
Nguyên lý tự phục vụ
-
Nguyên lý sao chép (copy)
-
Nguyên lý rẻ thay cho đắt
-
Nguyên lý thay thế sơ đồ cơ học
-
Nguyên lý sử dụng các kết cấu thủy và khí
-
Sử dụng bao mềm dẻo và mềm mỏng
-
Sử dụng vật liệu nhiều lỗ
-
Nguyên lý đổi màu
-
Nguyên lý đồng nhất
-
Nguyên lý loại bỏ và tái sinh từng phần
-
Đổi các thơng số hóa lý của đối tƣợng
-
Sử dụng chuyển pha
-
Sử dụng nở nhiệt
-
Sử dụng các chất oxy hóa
-
Sử dụng mơi trƣờng trơ
-
Sử dụng vật liệu tổng hợp (composit)