ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
--------------- ---------------
BÀI THU HOẠCH MÔN HỌC
PHƢƠNG PHÁP LUẬN SÁNG TẠO KHOA HỌC
ĐỀ TÀI:
CÁI NHÌN VỀ THUẬT TOÁN TRÊN QUAN ĐIỂM CÁC NGUYÊN
TẮC SÁNG TẠO KHOA HỌC
GVHD
:GS.TSKH Hồng Văn Kiếm
SV
:Nguyễn Lâm Tú –06520525
Niên khóa : 2006 - 2010
Phương pháp luận sáng tạo khoa học
Trang 2
LỜI NÓI ĐẦU
Nhƣ Lê-Nin từng nói:”học, học nữa, học mãi” – có lẽ sự học là một quá trình lâu
dài và gắn liền với mỗi con ngƣời. Xung quanh chúng ta còn rất nhiều điều cần tìm hiểu,
cịn nhiều thứ đang đợi ta khám phá. Những phát minh, sáng chế của con ngƣời đã thay
đổi rất lớn cách sống, cách sinh hoạt của con ngƣời. Tất cả những thứ đó đều từ nghiên
cứu khoa học, sáng tạo của bộ óc con ngƣời mà ra. Nghiên cứu khoa học thật sự quan
trọng và cần thiết, nó thúc đẩy nền văn minh của con ngƣời.
Chắc khơng ít ngƣời trong chúng ta đã từng cầm trên tay quyên sách “thế giới
phẳng ”(The World is flat) của tác giả Thomas Friedman . Quyển sách khẳng định chúng
ta đang sống trong một kỷ nguyên mới , kỷ nguyên mà con ngƣời có thể xích lại gần nhau
hơn, kỷ nguyên thông tin. Công nghệ thông tin là một nghành đang trực tiếp ảnh hƣởng
đến đời sống của mỗi ngƣời chúng ta.
Nhƣ vậy việc nghiên cứu khoa học trong lĩnh vực Công nghệ thông tin là một việc
làm hết sức cần thiết và có ý nghĩa to lớn. Với những nghiên cứu đi đôi với ứng dụng tốt
sẽ làm nên những thay đổi cho cuộc sống của con ngƣời, đẩy mạnh và bắt kịp q trình
thơng tin hóa đang diễn ra hiện nay của thế giới.
Môn học “Phương pháp luận sáng tạo khoa học” thực sự có ý nghĩa và cần thiết.
Đây là môn học mang lại những định hƣớng cần thiết và quan trong cho sinh viên khi còn
đang ngồi trên ghế giảng đƣờng đại học cũng nhƣ khi ra trƣờng. Dựa vào các nguyên tắc
và mũ tƣ duy sẽ giúp cho mỗi sinh viên khi đứng trƣớc một vấn đề nghiên cứu sẽ nhanh
chóng tìm ra đƣợc giải pháp để giải quyết vấn đề.
Bài luận này cá nhân tôi viết nhằm tổng kết, đúc rút cũng nhƣ thực hành việc nghiên
cứu dựa trên những lý thuyết đƣợc giảng giải trên lớp. Qua đây xin gửi lời cảm ơn chân
thành đến GS.TSKH Hồng Văn Kiếm đã tận tình dạy bảo và hƣớng dẫn tôi làm bài luận
này.
Nội dung bài luận ngoài việc tham khảo tài liệu, nội dung hoàn toàn mang quan điểm
của cá nhân, viết theo văn phong cá nhân. Do đó sẽ khơng thể tránh khỏi những sai sót.
Rất mong thầy và các bản thơng cảm
Sinh viên thực hiện
Nguyễn
Lâm
Tú
Trường Đại Học Công Nghệ Thông Tin – Sinh Viên: Ng uyễn Lâm Tú 06520525
Phương pháp luận sáng tạo khoa học
Trang 3
NHẬN XÉT CỦA GIẢNG VIÊN HƢỚNG DẪN
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
Trường Đại Học Công Nghệ Thông Tin – Sinh Viên: Ng uyễn Lâm Tú 06520525
Phương pháp luận sáng tạo khoa học
Trang 4
TÀI LIỆU THAM KHẢO
[1]
Bài giảng môn học “Phƣơng pháp luận sáng tạo khoa học” .
Giảng viên : GS.TSKH Hoàng Văn Kiếm
[2]
Giải một bài tốn trên máy tính nhƣ thế nào(1,2,3)
- GS.TSKH. Hồng Kiếm
/>
[3]
[4]
[5]
Phƣơng pháp luận sáng tạo khoa học – kỹ thuật.
- GS.TS Phan Dũng.
Trung tâm sáng tạo khoa học – kỹ thuật.
Trường Đại Học Khoa Học Tự Nhiên TP.HCM
Thuật toán và Thuật giải
- GS.TSKH. Hoàng Kiếm
- Ths. Đinh Nguyễn Anh Dũng
Trường Đại Học Công Nghệ Thông Tin – Sinh Viên: Ng uyễn Lâm Tú 06520525
Phương pháp luận sáng tạo khoa học
Trang 5
MỤC LỤC
NGHIÊN CỨU KHOA HỌC – NHỮNG KHÁI NIỆM MỞ ĐẦU ..................................................6
I.
1.
Phân loại theo chức năng nghiên cứu : ......................................................................................6
2.
Phân loại theo tính chất của sản phẩm nghiên cứu : ....................................................................6
LÀM THẾ NÀO ĐỂ NGHIÊN CỨU KHOA HỌC ĐẠT HIỆU QUẢ ............................................8
II.
1.
Trình tự các bƣớc cần tiến hành trong nghiên cứu khoa học ........................................................8
2.
Các khó khăn thƣờng gặp phải và cách khắc phục....................................................................11
3.
Những điều nên và không nên làm trong nghiên cứu khoa học..................................................13
III.
VẤN ĐỀ NGHIÊN CỨU KHOA HỌC CỦA CÁ NHÂN.........................................................16
1.
Giới thiệu..............................................................................................................................16
2.
Các bƣớc giải quyết một vấn đề bài toán và áp dụng nguyên lý .................................................16
3.
Khái quát về các thuật toán, thuật giải, cấu trúc dữ liệu ............................................................17
3.1.
3.2.
Phƣơng pháp thử sai .......................................................................................................25
3. 3
Phƣơng pháp Heuristic ...................................................................................................30
3.4
IV.
Phƣơng pháp trực tiếp.....................................................................................................17
Phƣơng pháp trí tuệ nhân tạo ...........................................................................................36
KẾT LUẬN ..........................................................................................................................49
Trường Đại Học Công Nghệ Thông Tin – Sinh Viên: Ng uyễn Lâm Tú 06520525
Phương pháp luận sáng tạo khoa học
I.
Trang 6
NGHIÊN CỨU KHOA HỌC – NHỮNG KHÁI NIỆM MỞ ĐẦU
Nghiên cứu khoa học là một hoạt động xã hội, hƣớng vào việc tìm kiếm những điều
mà khoa học chƣa biết hoặc là phát hiện bản chất sƣ vật, phát triển nhận thức khoa học về
thế giới hoặc là sáng tạo phƣơng pháp mới và phƣơng tiện kỹ thuật mới để cải tạo thế
giới.
Có nhiều cách phân loại nghiên cứu khoa học. Ở đây ta đề cập đến phân loại theo
chức năng nghiên cứu và theo tính chất của sản phẩm tri thức khoa học thu đƣợc nhờ kết
quả nghiên cứu.
1. Phân loại theo chức năng nghiên cứu :
Nghiên cứu mô tả, là những nghiên cứu nhằm đƣa ra một hệ thống tri thức về
nhân dạng sƣ vật, giúp con ngƣời phân biệt đƣợc sự khác nhau, về bản chất giữa sự
vật này với sự vật khác. Nội dung mơ tả có thể bao gồm mơ tả hình thái, động thái,
tƣơng tác; mơ tả định tính tức là các đặc trƣng về chất của sự vật; mô tả định lƣợng
nhằm chỉ rõ các đặc trƣng về lƣợng của sự vật.
Nghiên cứu giải thích, là những nghiên cứu nhằm làm rõ nguyên nhân dẫn đến
sự hình thành và quy luật chi phối quá trình vận động của sự vật. Nội dung của giải
thích có thể bao gồm giải thích nguồn gốc; động thái; cấu tr1uc; tƣơng tác; hậu quả;
quy luật chung chi phối quá trình vận động của sự vật.
Nghiên cứu dự báo, là những nhiên cứu nhằm nhận dạng trạng thái của sự vật
trong tƣơng lai. Mọi dự báo đều phải chấp nhận những sai lệch, kể cả trong nghiên
cứu tự nhiên và xã hội. Sự sai lệch trong kết quả dự báo có thể do nhiều nguyên
nhân : sai lêch khách quan trong kết quả quan sát: sai lệch do những luận cứ bị biến
dạng trong sự tác động của các sự khác; mội trƣờng cũng ln có thể biến động, …
Nghiên cứu sáng tạo, là nghiên cứu nhằm làm ra một sự vật mới chƣa từng tồn
tại. Khoa học không bao giờ dừng lại ở mô tả và dự báo mà luôn hƣớng vào sự sáng
tạo các giải pháp cải tạo thế giới.
2. Phân loại theo tính chất của sản phẩm nghiên cứu :
Theo tính chất của sản phẩm, nghiên cúu đƣợc phân loại thành nghiên cứu cơ bản,
nghiên cứu ứng dụng và ghiên cứu triển khai.
Nghiên cứu cơ bản (Fundamental research) là những nghiên cứu nhằmphát hiện
thuộc tính, cấu trúc, động thái các sự vật, tƣơng tác trong nội bộ sự vật và mối liên hệ
Trường Đại Học Công Nghệ Thông Tin – Sinh Viên: Ng uyễn Lâm Tú 06520525
Phương pháp luận sáng tạo khoa học
Trang 7
giữa sƣ vật với các sƣ vật khác. Sản phẩm nghiên cứu cơ bản có thể là các khám phá,
phát hiện, phát minh, dẫn đến viêc hình thành một hệ thống lý thuyết có giá trị tổng
quát, ảnh hƣởng đến một hoặc nhiều lĩng vực khoa học, chẳng hạn Newton phát minh
định luật hấp dẫn vũ trụ; Marx phát hiện quy luật giá trị thặng dƣ. Nghiên cứu cơ bản
đƣợc phân thành hai loại : nghiên cứu cơ bản thuần túy và nghiên cứu cơ bản định
hƣớng.
Nghiên cứu cơ bản thuần túy, cò đƣợc gọi là nghiên cứu cơ bản tự do hoặc
nghiên cứu cơ bản không định hƣớng, là những nghiên cứu về bản chất sự vật để
nâng cao nhận thức, chƣa có hoặc chƣa bàn đến ý nghĩa ứng dụng.
Nghiên cứu cơ bản định hƣớng, là những nghiên cứu cơ bản đã dự kiến
trƣớc mục đích ứng dụng. các hoạt động điều tra cơ bản tài nguyên, kinh tế, xã
hội, … đều có thể xem là nghiên cứu cơ bản định hƣớng. Nghiên cứu cơ bản định
hƣớng đƣợc phân chia thành nghiên cứu nền tảng (background research) và nghiên
cứu chuyên đề (thematic research).
Nghiên cứu nền tảng, là những nghiên cứu về quy luật tổng thể của một hệ
thống sự vật. Hoạt động điều tra cơ bản tài nguyên và các điều kiện thiên nhiên
nhƣ địa chất, nghiên cứu đại dƣơng, khí quyển, khí tƣợng; điều tra cơ bản về kinh
tế, xã hội đều thuộc loại nghiên cứu nền tảng.
Nghiên cứu chuyên đề, là nghiên cứu về một hiên tƣợng đặc biệt của sự vật,
ví dụ trạng thái plasma c ủa sự vật, bức xạ vũ trụ, gien di truyền. Nghiên cứu
chuyên đề vừa dẫn đến hình thành những cơ sở lý thuyết, mà còn dẫn đến những
ứng dụng có ý nghĩa thực tiễn.
Nghiên cứu ứng dụng (Applied research) : là sự vận dụng quy luật đƣợc phát hiện
từ nghiên cứu cơ bản để giải thích một sự vật, tạo ra những nguyên lý mới về các giải
pháp và áp dụng chúng vào sản xúât và đời sống. Giải pháp đƣợc hiểu theo nghĩa rộng
có thể là một giải pháp về công nghệ, về vật liệu, về tổ chức và quản lý. Một số giải
pháp cơng nghệ có thể trở thành sáng chế. Kết quả nghiên cứu ứng dụng thì chƣa ứng
dụng đƣợc, để có thể đƣa kết quả nghiên cứu ứng dụng vào sử dụng thì cịn phải tiến
hành một loại hình nghiên cứu khác có tên gọi lả triển khai.
Nghiên cứu triển khai (Development research) : còn gọi là nghiên cứu triển khai
thực nghiệm hay triển khai thực nghiệm kỹ thuật, là sự vận dụng các quy luật (thu
đƣợc từ nghiên cứu cơ bản) và các nguyên lý (thu đƣợc từ nghiên cứu ứng dụng) để
đƣa ra các hình mẫu với những tham số khả thi về kỹ thuật. Kết quả nghiên cứu triển
khai thì chƣa triển khai đƣợc: sản phẩm của triển khai chỉ mới là những hình mẫu khả
thi về kỹ thuật, nghĩa là khơng cịn rủi ro về mặt kỹ thuật, để áp dụng đƣợc cịn
phảitiến hành nghiên cứu những tính khả thi khác nhƣ khả thi tài chính, khả thi kinh
tế, khả thi môi trƣờng, khả thi xã hội. Hoạt động triển khai bao triển khai trong phịng
thí nghiệm và triển khai bán đại trà.
Trường Đại Học Công Nghệ Thông Tin – Sinh Viên: Ng uyễn Lâm Tú 06520525
Phương pháp luận sáng tạo khoa học
Trang 8
Triển khai trong phịng thí nghiệm : là loại hình triển khai nhằm khẳng định
kết quả sao cho ra đƣợc sản phẩm, chƣa quan tâm đến quy mô áp dụng. trong
những nghiên cứu về cơng nghệ, loại hình này đƣợc thực hiện trong các phịng
thí nghiệm, labơ cơng nghệ, nhà kính. Trên một quy mô lớn hơn, hoạt động triển
khai cũng đƣợc tiến hành trong các xƣởng thực nghiệm thuộc viện hoặc xí
nghiệp sản xuất.
Triển khai bán đại trà : trong các nghiên cứu thuộc lĩnh vực khoa học kỹ
thuật và khoa học công nghệ là một dạng triển khai nhằm kiểm chứng giả thuyết
về hình mẫu trên một quy mơ nhất định, thƣờng là quy mô áp dụng bán đại trà,
hay quy mô bán công nghiệp.
Khái niệm triển khai đƣợc áp dụng cả trong nghiên cứu khoa học kỹ thuật và xã
hội; trong các nghiên cứu về khoa học kỹ thuật, hoạt động triển khai đƣợc áp dụng khi
chế tạo một mẫu công nghệ mới hoặc sản phẩm mới; trong các nghiên cứu khoa học xã
hội có thể lấy ví dụ về thử nghiệm một phƣơng pháp giảng dạy ở các lớp thí điểm; chỉ
đạo thí điểm một mơ hình quản lý mới tại một cơ sở đƣợc lựa chọn.
Toàn bộ các loại hình nghiên cứu và mối liên hệ giữa các loại hình nghiên cứu đƣợc
trình bày trong sơ đồ bên dƣới. Sự phân chia loại hình nghiên c ứu nhƣ trên đây đƣợc áp
dụng phổ biến trên thế giới. Phân chia là để nhận thức rõ bản chất của nghiên cứu khoa
học, để có cơ sở lập kế hoạch nghiên cứu, cụ thể hóa các cam kết trong hợp đồng nghiên
cứu giữa các đối tác. Tuy nhiên trên thực tế, trong một đề tài có thể tồn tại cả ba loại hình
nghiên cứu, hoặc tồn tại hai trong ba lo ại hình nghiên cứu.
II.
LÀM THẾ NÀO ĐỂ NGHIÊN CỨU KHOA HỌC ĐẠT HIỆU QUẢ
1. Trình tự các bƣớc cần tiến hành trong nghiên cứu khoa
học
Rất nhiều nghiên cứu viên gặp khó khăn trong giai đoạn đầu nghiên cứu vì khơng
biết làm gì trƣớc, làm gì sau. Do vậy họ thƣờng bố trí cơng việc nghiên cứu lơn xộn,
khơng có tổ chức. Điều này trái ngƣợc hồn tồn với yêu cầu của nghiên cứu khoa
học là phải đƣợc tổ chức một cách khoa học, bài bản. Dẫu rằng tùy từng nghiên cứu
cụ thể mà sẽ có các bƣớc tiến hành cụ thể, nhƣng tác giả cho rằng ngƣời nghiên cứu
nên tiến hành một số bƣớc bắt buộc theo trình tự thể hiện trên hình :
Trường Đại Học Cơng Nghệ Thông Tin – Sinh Viên: Ng uyễn Lâm Tú 06520525
Phương pháp luận sáng tạo khoa học
Trang 9
Bƣớc 1: Mô tả các khó khăn trên thực tế
Trong thực tế khi gặp khó khăn thì lúc đó mới cần tiến hành nghiên cứu khoa học
với mục đích là giải quyết các khó khăn đó. Vậy có thể nói việc mơ tả các khó
khăn đang gặp phải chính là sự mở đầu cho một nghiên cứu. Có rất nhiều nghiên
cứu khơng chỉ ra đƣợc các khó khăn hiệu hữu vì vậy tác giả không biết đƣợc tại
sao những nghiên cứu này lại đƣợc tiến hành và nhằm mục đích gì.
Bƣớc 2: Tổng quan về các nghiên cứu liên quan
Đây là thời gian tìm hiểu xem vấn đề dự định nghiên cứu đã và đang đƣợc nghiên
cứu bởi các học giả khác chƣa, ở mức độ nào qua đó có thể học những điều hay và
tránh đƣợc việc lặp lại trong nghiên cứu trƣớc. Tuy nhiên tác giả thấy có rất nhiều
nghiên cứu viên khơng tìm hiểu về các nghiên cứu đã thực hiện mà bắt tay vào
nghiên cứu ngay, dẫn đến việc khơng có một cái nhìn tổng quan về cần nghiên
cứu.
Bƣớc 3: Xác định mục tiêu nghiên cứu
Mục tiêu nghiên cứu là những dự định đặt ra để giải quyết đƣợc các khó khăn đã
chỉ ra ở bƣớc 1. Nghiên cứu viên phải luôn bám theo các mục tiêu đã đề ra trong
Trường Đại Học Công Nghệ Thông Tin – Sinh Viên: Ng uyễn Lâm Tú 06520525
Phương pháp luận sáng tạo khoa học
Trang 10
suốt quá trình và phải hoàn thành chúng trƣớc khi nghiên cứu đƣợc khép lại. Các
nghiên cứu hiện nay thƣờng thể hiện rất rõ ràng phần này
Bƣớc 4: Phƣơng pháp nghiên cứu
Đây là phần chỉ ra hƣớng nghiên cứu mà nghiên cứu viên muốn tiến hành để đạt
đƣợc mục tiêu đề ra trong bƣớc 3. Thông thƣờng, các phƣơng pháp thu thập dữ
liệu hay thí nghiệm và phân tích chúng phải đƣợc thể hiện rõ. Ngoài ra, các giả
thuyết và phạm vi nghiên cứu, kinh phí và thời gian cần thiết, các đề xuất dự định,
… cũng cần phải đƣợc chỉ ra một cách rõ ràng.
Bƣớc 5: Dữ liệu thực tế hoặc giả định cụ thể
Dữ liệu là phần rất quan trọng trong nghiên cứu khoa học. Chúng có thể đƣợc thu
thập qua quá trình điều tra tại hiện trƣờng hoặc là dữ liệu giả định thu đƣợc từ thí
nghiệm, mơ phỏng. Những dữ liệu này có thể chỉ ra những phát triển của thực tế
trong quá khứ và hiện tại, qua đó có thể dự đốn tƣơng lai, so sánh với lý
thuyết,… Thông thƣờng, giai đoạn thu thập dữ liệu tiêu tốn rất nhiều thời gian và
tiền bạc của ngƣời nghiên cứu và sự chính xác của dữ liệu sẽ ảnh hƣởng lớn đến
kết quả cuối cùng của nghiên cứu.
Bƣớc 6: Phân tích dữ liệu hoặc chạy chƣơng trình
Đến đây nghiên cứu khoa học sẽ có 2 hƣớng đi. Một là phân tích các dữ liệu thu
thập đƣợc để có các kết luận cho những điều đã và đang xẩy ra trong thực tế, từ đó
có các đề xuất cho tƣơng lai. Một cách khác là lập ra các chƣơng trình máy tính để
mơ phỏng, tính tốn lý thuyết dựa vào hoặc so sánh với các dữ liệu thực tế. Phần
này thƣờng liên quan tới các chun mơn sâu nên chỉ có những ngƣời có cùng lĩnh
vực nghiên cứu mới hiểu và quan tâm đến, cịn độc giả thơng thƣờng nói chung
khơng chú ý đến.
Bƣớc 7: Phát hiện hoặc đề xuất cái mới
Thƣờng mỗi nghiên cứu khoa học sẽ tiến đến kết thúc sau khi một vài phát hiện
hoặc đề xuất mới đƣợc đƣa ra. Những điều mới này chính là kết quả cuối cùng của
nghiên cứu có thể áp dụng làm cho thực tế hiện tại và tƣơng lai tốt hơn và phải
thỏa mãn đƣợc các mục tiêu nghiên cứu đề ra trong bƣớc 3. Nhiều nghiên cứu
không thể hiện rõ phần này sẽ gây khó hiểu cho ngƣời đọc. Tác giả đề nghị phần
này phải tách ra riêng biệt, không nên gộp vào phần phân tích dữ liệu hoặc phần
kết luận.
Bƣớc 8: Kết luận
Trường Đại Học Công Nghệ Thông Tin – Sinh Viên: Ng uyễn Lâm Tú 06520525
Phương pháp luận sáng tạo khoa học
Trang 11
Đây là phần cuối cùng và đƣợc độc giả chú ý đến trƣớc tiên để xem kết quả của
nghiên cứu rồi sau đó mới đến các phần khác nếu có quan tâm. Từ “kết luận” cũng
đã thể hiện rõ ý nghĩa của nó. Từ “kết” có nghĩa là kết thúc, tổng kết. Ngƣời
nghiên cứu phải đúc kết lại toàn bộ nghiên cứu theo một trình tự khoa học và ngắn
nhất để ngƣời đọc có thể hình dung tổng thể tồn bộ q trình. Từ “luận” là bình
luận các kết quả thu đƣợc về thực tế nghiên cứu xem tốt hay xấu, thỏa mãn hay
chƣa thỏa mãn, … . Tác giả thấy đa phần các nghiên cứu chỉ chú trọng đến phần
“kết” và chƣa có phần “luận”.
Ngồi phần kết luận, các nghiên cứu nên có thêm các phần bổ trợ nhƣ đề xuất áp dụng
kết quả nghiên cứu vào thực tế, các nghiên cứu cần đƣợc tiến hành trong tƣơng lai, những
hạn chế của nghiên cứu, … . Các phần bổ trợ này dùng để nhấn mạnh phần nghiên cứu
chính, thể hiện tính khả thi và khả năng áp dụng kết quả đạt đƣợc để củng cố / làm tốt
hơn thực tế hiện tại và tƣơng lai.
2. Các khó khăn thƣờng gặp phải và cách khắc phục
Thơng thƣờng, mọi nghiên cứu đều có khó khăn trong quá trình thực hiện do nhiều
nguyên nhân và ngƣời nghiên cứu phải nỗ lực giải quyết chúng để có đƣợc thành cơng
cuối cùng. Tác giả thống kê lại một số khó khăn điển hình trong nghiên cứu khoa học.
Mối quan hệ với thầy giáo hƣớng dẫn
Các giáo sƣ hƣớng dẫn thì mỗi ngƣời một tính, ngƣời thì khắt khe, ngƣời thì dễ dàng,
ngƣời thì chẳng để tâm đến sinh viên,… Nói chung họ là những ngƣời cá tính và nhiều
khi gây khó chịu cho sinh viên trong cuộc sống hàng ngày cũng nhƣ trong nghiên cứu.
Các giáo sƣ thì cũng là con ngƣời và có các tính cách khác nhau, nhƣng nói chung là họ
ln thƣơng sinh viên, chỉ có cách dạy bảo là khác nhau thơi. Khi vƣợt qua đƣợc rào cản
trong các yêu cầu và tính cách của giáo sƣ hƣớng dẫn cũng chính là lúc ta đã học đƣợc
trƣờng phái nghiên cứu của họ.
Khó khăn trong thu thập dữ liệu thực tế
Các dữ liệu thực tế trong quá khứ và hiện tại thƣờng rất khó xin đƣợc, đặc biệt là các số
liệu nhạy cảm, có liên quan tới các cơ quan khác.
Để vƣợt qua khó khăn này, việc đầu tiên là phải nghĩ đến điều này ngay trong giai đoạn
thiết kế cách thu thập dữ liệu để tránh các dữ liệu khơng thể có đƣợc. Nghĩa là nghiên
cứu chỉ tập trung đến các dữ liệu có sẵn hoặc có thể thu thập đƣợc. Ngồi ra, nguồn dữ
Trường Đại Học Công Nghệ Thông Tin – Sinh Viên: Ng uyễn Lâm Tú 06520525
Phương pháp luận sáng tạo khoa học
Trang 12
liệu có sẵn khơng chỉ một nơi mà thƣờng có ở nhiều nơi khác nhau. Vì vậy ngƣời nghiên
cứu cần đa dạng cách thu thập dữ liệu, tập trung vào nhiều nguồn khác nhau.
Không xác định đƣợc hƣớng nghiên cứu
Nhiều ngƣời nghiên cứu phải loay hoay tìm hƣớng nghiên cứu trong thời gian dài
hoặc phải đổi đề tài và hƣớng nghiên cứu sau một thời gian. Điều này làm ảnh hƣởng đến
toàn bộ quá trình nghiên cứu do thời gian và nguồn lực cho phép bị giảm đi.
Trƣớc khi bắt tay vào nghiên cứu cần phải đọc thật nhiều các nghiên cứu có sẵn về chủ
đề liên quan để có đƣợc hiểu biết tổng quan về lĩnh vực đấy. Phần phƣơng pháp nghiên
cứu phải đƣợc chú ý đúng mức để chỉ ra các bƣớc tuần tự thực hiện của đề tài với mục
đích đạt đƣợc mục tiêu đề ra ban đầu. Việc tham khảo, tranh luận với giáo sƣ hƣớng dẫn,
đồng nghiệp nghiên cứu, bạn bè, … cũng rất quan trọng để củng cố, chỉnh sửa hƣớng
nghiên cứu cho phù hợp.
Đăng báo không đƣợc chấp nhận hoặc phải đợi lâu
Nhiều nghiên cứu viên gặp rất nhiều khó khăn trong việc đăng báo để đủ tiêu chuẩn
tốt nghiệp. Thông thƣờng yêu cầu là bài báo quốc tế cũng tƣơng đối khó cho nhiều ngƣời
vì nhiều lý do. Bài báo c ủa hội thảo thì dễ hơn và nhiều ngƣời dễ dàng có đƣợc.
Thƣờng các yêu cầu đầu tiên là phải đúng chủ đề của tạp chí đấy. Trƣớc khi gửi bài đi
đăng thì cần phải kiểm tra xem bài báo có đúng chủ đề u cầu khơng, đã có ai đăng
nghiên cứu tƣơng tự chƣa, v.v… Một lời khuyên là nên gửi bài đến tạp chí càng sớm
càng tốt vì q trình xem xét thƣờng mất ít nhất là 6 tháng đến 1 năm. Ngoài ra nên viết
bài theo các hƣớng khác nhau và gửi cho nhiều tạp chí vì tiêu chí lựa chọn của các tạp chí
thƣờng khác nhau nên nếu may mắn thì sẽ đƣợc một tạp chí chấp nhận cho đăng.
Khả năng tiếng Anh kém
Ngƣời Việt nói chung khả năng tiếng Anh kém hơn các nƣớc khác nên cũng gây ra
nhiều khó khăn trong nghiên cứu và viết báo vì hầu hết tài liệu tham khảo hoặc các hội
thảo, tạp chí đều yêu cầu tiếng Anh cả.
Nên tìm kiếm những ngƣời nói tiếng Anh gốc để giúp chỉnh sửa bài viết. Một cách
nữa là lựa chọn những đoạn viết trong các sách báo đã đăng để đƣa vào bài viết của mình,
nhƣng sử dụng cho hợp lý với hồn cảnh và chủ đề nghiên cứu. Một lời khuyên nữa là
câu văn cần đơn giản vì trong nghiên cứu khoa học một đoạn viết chỉ có mục đích truyền
đi ý nghĩa nghiên cứu. Không nên để một câu văn là tập hợp của vài câu văn, nghĩa là chỉ
nên có 1 chủ ngữ - vị ngữ và không nên dài quá 3 dòng viết.
Bị áp lực, quá lo lắng, mất ngủ trong giai đoạn đầu nghiên cứu
Trường Đại Học Công Nghệ Thông Tin – Sinh Viên: Ng uyễn Lâm Tú 06520525
Phương pháp luận sáng tạo khoa học
Trang 13
Nhiều ngƣời nghiên cứu thƣờng bị áp lực trong nghiên cứu và ảnh hƣởng tới cuộc
sống hàng ngày nhƣ mất ngủ, lo lắng ra mặt, trầm cảm,… Những điều này nếu xảy ra
trong thời gian dài và lặp lại nhiều lần dễ gây ra các bệnh về thần kinh hoặc tâm lý.
Lời khuyên là dù có lo lắng thêm nữa thì việc nghiên cứu cũng khơng thể tiến triển
thêm đƣợc. Vì vậy khi có biểu hiện của áp lực nghĩa là nghiên cứu đang đi vào hƣớng bế
tắc. Lúc này nên dừng nghiên cứu trong một thời gian ngắn để nghỉ ngơi, chơi thể thao,
dành thời gian cho gia đình và bạn bè,… để có thể tạm thời quên đi các khó khăn hiện tại.
Khi đã vƣợt qua giai đoạn áp lực này thì dành thời gian kiểm tra tổng thể nghiên cứu để
xác định lại hƣớng đi cho đúng hơn và có thể xin ý kiến của giáo sƣ hƣớng dẫn.
3. Những điều nên và không nên làm trong nghiên cứu khoa
học
Khi tiến hành nghiên cứu khoa học, việc định hƣớng ban đầu và chỉnh sửa hƣớng đi là
rất quan trọng cho thành cơng cuối cùng. Có nhiều điều nên làm nhƣng cũng có nhiều
điều khơng nên làm. Tác giả đề xuất các điểm quan trọng về việc cần làm gì và khơng
cần làm gì.
Trung thực trong nghiên cứu
Nghiên cứu khoa học phải phản ánh trung thực và đầy đủ các kết quả, phát hiện, dẫu
rằng chúng có thể khơng giống với các dự định ban đầu. Việc che đậy những thiếu sót,
sai lầm hay sửa đổi dữ liệu, kết quả phải tuyệt đối khơng bao giờ đƣợc cho phép. Trích
dẫn, số liệu lấy từ các nghiên cứu khác cần phải chỉ rõ nguồn gốc để thể hiện chúng là tài
liệu tham khảo, không phải kết quả của nghiên cứu này và cũng là cách tơn trọng những
nghiên cứu trƣớc.
Ứng xử có đạo đức trong nghiên cứu
Có những điều nếu ngƣời nghiên cứu làm hồn tồn khơng phạm luật nhƣng khơng có
tính đạo đức nghề nghiệp, vì vậy nên tránh nếu có thể. Phạm phải điều cấm này có thể vơ
tội trƣớc pháp luật, nhƣng sẽ bị lên án, coi thƣờng bởi đồng nghiệp, bạn bè và bị day dứt
lƣơng tâm. Điều này sẽ làm ảnh hƣởng tới uy tín của ngƣời nghiên cứu, thái độ nghi ngờ
và thiếu hợp tác của mọi ngƣời, dẫn đến việc gặp phải nhiều khó khăn, ảnh hƣởng tới
chất lƣợng của các nghiên cứu sau này.
Chọn đề tài nghiên cứu hợp lý
Trường Đại Học Công Nghệ Thông Tin – Sinh Viên: Ng uyễn Lâm Tú 06520525
Phương pháp luận sáng tạo khoa học
Trang 14
Nên tiến hành các nghiên cứu có tính thực tiễn cao, có thể áp dụng vào thực tế để tạo
ra lợi ích cho bản thân và xã hội. Không nên tiến hành những nghiên cứu vơ bổ, tốn kém
nhƣng lợi ích thấp, mục đích để đánh bóng tên tuổi chứ khơng có ý nghĩa khoa học và
kinh tế,… Thông thƣờng sức nghiên cứu đến mức nào thì nên tiến hành nghiên cứu ở
mức đấy mà thôi, theo kiểu “tuổi nhỏ làm việc nhỏ”, đừng tiến hành những dự án quá
tham vọng vƣợt quá khả năng, thời gian và nguồn tài chính cho phép. Tác gi ả đã thấy
nhiều ngƣời chọn đề tài mà kết quả chỉ có thể áp dụng sau 20-50 năm nữa do hạn chế về
kinh tế, xã hội và kỹ thuật. Có nghiên cứu lại đề xuất các ý tƣởng mới với các yêu cầu
thực hiện tốn kém hơn nhiều lần so với giải pháp đã có hiện tại. Nhiều nghiên cứu sinh
lại thực hiện đề tài quá tham vọng, dẫn đến việc khơng hồn thành đúng hạn và phải gia
hạn, tốn kém thời gian và tiền bạc.
Thời gian nghiên cứu
Hiện vẫn còn chƣa rõ ràng về việc tiêu tốn thời gian thế nào là hợp lý trong nghiên
cứu khoa học. Nhiều ngƣời dành quá nhiều thời gian cho nghiên cứu do vậy phải giảm
thời gian nghỉ ngơi. Ngƣợc lại, có nhiều ngƣời dành rất ít thời gian cho nghiên cứu.
Trƣớc tiên, tác giả cho rằng một nghiên cứu cần phải đƣợc tiến hành liên tục và khơng có
nhiều gián đoạn dài để tránh tốn thời gian cho việc tái khởi động và xem xét lại các phần
đã làm. Dẫu rằng chƣa có nghiên cứu chính thức nào trong nghiên cứu, nhƣng có thể coi
nhƣ giống thời gian làm việc của ngƣời lao động và đã đƣợc kiểm chứng qua nhiều thời
đại. Thời gian nghiên cứu thì khoảng 8-10 tiếng 1 ngày và 5 ngày 1 tuần là hợp lý. Ngồi
ra, ngƣời nghiên cứu cịn cần thời gian cho ngủ 8 tiếng, các sinh hoạt cá nhân và giải trí 8
tiếng.
Tránh hao phí thời gian vơ ích
Qng đời nghiên cứu rất ngắn nên tránh hao phí thời gian nghiên cứu (8 tiếng 1
ngày) vào những việc vơ ích. Nhiều ngƣời tốn quá nhiều thời gian trên phòng nghiên cứu
cho các việc vô bổ nhƣ chat, xem phim, ngủ, nghe nhạc, tán chuyện, … dẫu rằng những
việc đó có thể làm vào 16 tiếng còn lại trong ngày. Một số ngƣời khác lại hay bị gián
đoạn nghiên cứu do phải ra ngoài để làm thêm, hoạt động xã hội, du lịch,… Những thời
gian vơ ích đấy cần phải tránh trong thời gian 8 tiếng nghiên cứu. Cần nhớ rằng bạn là
ngƣời nghiên cứu nên mục đích đầu tiên và quan trọng nhất là nghiên cứu, các hoạt động
khác chỉ là phụ mà thơi. Ngồi ra, ngƣời nghiên cứu đã có 16 tiếng 1 ngày và 2 ngày cuối
tuần để giải quyết các hoạt động yêu cầu của bản thân và xã hội.
Công bố kết quả nghiên cứu
Các kết quả nghiên cứu cần đƣợc cơng bố nhiều nhất và sớm nhất có thể. Đây chính
là cách thơng báo cho ra cơng chúng những gì đề tài nghiên cứu đã thực hiện để nhận
đƣợc các phê bình, nhận xét phục vụ cho việc hồn thiện nghiên cứu hơn nữa. Việc cơng
bố rộng rãi là cách chứng minh sự trung thực, khơng cóp nhặt từ nghiên cứu khác hoặc
Trường Đại Học Công Nghệ Thông Tin – Sinh Viên: Ng uyễn Lâm Tú 06520525
Phương pháp luận sáng tạo khoa học
Trang 15
cũng là cách đóng góp trở lại cho khoa học, giúp những ngƣời đi sau có tài liệu tham
khảo và trả ơn những ngƣời đi trƣớc mà đề tài đã tham khảo đến. Tác giả đã thấy nhiều
ngƣời nghiên cứu đã không công bố hoặc ln cố gắng giữ bí mật kết quả do nhiều lý do.
Tuy nhiên khi nghiên cứu qua đi thì kết quả của nghiên cứu đấy đã khơng đƣợc áp dụng
do khơng ai biết đến và gây lãng phí về mặt khoa học.
Giáo sƣ hƣớng dẫn
Nhƣ đã nói ở trên thì các giáo sƣ mỗi ngƣời một tính cách do vậy mối quan hệ với
giáo sƣ không phải lúc nào cũng tốt đẹp cả. Một điều nên tránh là gây ra xung đột với
giáo sƣ hƣớng dẫn vì dẫu có kết quả thế nào thì nghiên cứu sinh sẽ vẫn là ngƣời chịu thiệt
thòi nhất. Một khi bạn đã chấp nhận giáo sƣ là ngƣời hƣớng dẫn thì bạn bắt buộc chịu sự
hƣớng dẫn của họ, dù đúng hay sai. Tác gi ả cho rằng thời gian nghiên cứu thƣờng khơng
dài, trung bình kho ảng 3 năm, nên sự chịu đựng là chấp nhận đƣợc. Điều quan trọng là
bạn có thể nhận ra đƣợc những điều chƣa đúng để khi trở thành ngƣời nghiên cứu độc lập
bạn tránh đƣợc những sai lầm đó.
Bảo vệ kết quả nghiên cứu
Khi nghiên cứu chƣa hồn thành và chƣa đƣợc cơng bố, ngƣời nghiên cứu nên có
những biện pháp cần thiết để bảo vệ những thông tin nhạy cảm hoặc những kết quả có thể
bị sử dụng bởi ngƣời khác. Điều này là cần thiết để tránh những điều đáng tiếc sau này có
thể dẫn đến tranh chấp khơng cần thiết. Ngồi ra, việc lƣu giữ số liệu cần đƣợc làm theo
định kỳ và cất giữ ở ít nhất 2 nơi để tránh việc mất dữ liệu trong máy tính ho ặc các bản in
ra. Việc xuất bản, ấn hành hay đăng báo cũng là cách tốt để đỡ mất công trong việc bảo
vệ dữ liệu hoặc các kết quả nghiên cứu.
Dịch tài liệu nƣớc ngoài
Nhiều ngƣời nghiên cứu chỉ đơn thuần dịch tài liệu nƣớc ngồi, sửa đổi chút ít và coi
nhƣ đấy là nghiên cứu của chính họ. Vậy câu hỏi đặt ra là đấy có phải các nghiên cứu
khoa học khơng hay chỉ là những sự cóp nhặt, ăn cắp của ngƣời khác? Theo tác giả thì
đấy khơng phải là các nghiên cứu khoa học vì những ngƣời đó khơng hề có nghiên cứu,
khơng có mục tiêu rõ ràng và cũng khơng gi ải quyết đƣợc khó khăn của thực tế. Những
bài dịch đấy chỉ có tác dụng phổ biến kiến thức và hƣớng vào những độc giả kém
hiểu biết hơn. Tác giả thấy ngạc nhiên là nhiều ngƣời có học hàm học vị tƣơng đối cao
nhƣ giáo sƣ, phó giáo sƣ hay tiến sỹ lại hay làm những việc này. Những “việc nhỏ” đấy
nên để cho những ngƣời “tuổi nhỏ” làm.
Trường Đại Học Công Nghệ Thông Tin – Sinh Viên: Ng uyễn Lâm Tú 06520525
Phương pháp luận sáng tạo khoa học
III.
Trang 16
VẤN ĐỀ NGHIÊN CỨU KHOA HỌC CỦA CÁ NHÂN
1.Giới thiệu
Bài luận này không có tham vọng trình bày lại tất cả các luận điểm của các thuật
tốn, mà chỉ có mục đích khái quát lại các thuật toán, nguyên tắc, xen kẽ những lập luận,
nhƣng ý kiển chủ quan của cá nhân về các nguyên tắc xuất hiện trong các thuật toán
đồng thời đƣa ra các ví dụ cụ thể để làm sáng rõ các thuật toán này.
2. Các bƣớc giải quyết một vấn đề bài toán và áp dụng
nguyên lý
Trong bất cứ hoạt động gì của cuộc sống, kể cả học tập, làm việc đến những hoạt
động hàng ngày chúng ta luôn phải đối mặt với các vấn đề. Bạn đang lo lắng làm sao để
học kì này đạt đƣợc một suất học bổng, bạn đang lo lắng ngày mai là sinh nhật ngƣời
bạn thân, phải mua gì đây? Làm sao xin đƣợc tiền của ba mẹ để đi tham quan cùng
lớp… Nhƣ tôi khi viết bài báo cáo này cũng r ất đang lo lăng: làm sao viết đƣợc bài báo
cáo thật rõ ràng, đáp ứng yêu cầu đề ra, lƣợng kiến thức cũng nhƣ khả năng lập luận, khả
năng viết bài đƣợc nâng cao, làm sao truyền tải đƣợc hết ý của mình đến ngƣời đọc đặc
biệt là ngƣời thầy sẽ chấm điểm môn này :D
Kỹ năng giải quyết vấn đề là một điểm mấu chốt trong nghiên cứu khoa học, để đạt đƣợc
những kết quả tốt trong quá trình nghiên cứu và học tập của mình ngƣời làm khoa học
cần rèn luyện cho mình khả năng giải quyết cơng việc và vấn đề.
Khi đối mặt với các vấn đề, mỗi ngƣời trong chúng ta lại có cách giải quyết riêng của
mình, tùy vào đặc tính và khả năng cá nhân, nhƣng nhìn chung cách giải quyết đểu đƣợc
đƣa ra dƣới dạng mơ hình sau:
A
giả thiết
→
B
giải pháp
mục tiêu
Cần xác định A, B, các thao tác để đi từ A đến B.
A, B không rõ ràng?
Các điều kiện của cách
giải không minh bạch?
Chúng đa đƣa ra một tiến trình để giải quyết các vấn đề nói chung nhƣ sau:
Bƣớc 1: Xác định vấn đề - bài toán.
Bƣớc 2: Lựa chọn phƣơng pháp giải.
Bƣớc 3: Xây dựng thuật toán hoặc thuật giải.
Trường Đại Học Công Nghệ Thông Tin – Sinh Viên: Ng uyễn Lâm Tú 06520525
Phương pháp luận sáng tạo khoa học
Trang 17
Bƣớc 4: Cài đặt chƣơng trình.
Bƣớc 5: Hiệu chỉnh & Thực hiện chƣơng trình.
Bƣớc 6: Lƣu trữ, Bảo trì.
3. Khái quát về các thuật toán, thuật giải, cấu trúc dữ liệu
Trong tin học chúng ta có thể chia các phƣơng pháp gi ải quyết bài toán thành hai mảng
lớn: phƣơng pháp trực tiếp và phƣơng pháp gián tiếp
PHƢƠNG PHÁP TRỰC
TIẾP
Phƣơng
pháp trực
tiếp
PHƢƠNG PHÁP GIÁN TIẾP
Phƣơng
pháp thử
sai
Phƣơng pháp
Heuristic
Phƣơng pháp
trí tuệ nhân tạo
Chúng ta sẽ đi vào từng thuật toán và giải quyết các bài toán tin học cụ thể từ các thuật
toán này.
3.1. Phƣơng pháp trực tiếp
Trường Đại Học Công Nghệ Thông Tin – Sinh Viên: Ng uyễn Lâm Tú 06520525
Phương pháp luận sáng tạo khoa học
Trang 18
Phƣơng pháp này chủ yếu tận dụng khả năng tính tốn của máy tính, giải quyết bài tốn
bàng cách đƣa dữ liệu vào, cịn những thao tác thực thi hồn tồn do máy tính thực hiện.
a) Chính xác
Giải phƣơng trình bậc nhất một ẩn: y = ax+b
Phƣơng trình trên đƣợc giải quyết theo toán học nhƣ sau:
TH1: a = 0
Nếu y = b: phƣơng trình có vơ số nghiệm
Nếu y<>b: phƣơng trình vơ nghiệm
TH2: a<>0
Phƣơng trình có nghiệm duy nhất x = (y-b)/a
Việc giải quyết bài toán chỉ là việc thực hiện lại một cách trƣc tiếp các chỉ dẫn toán
học trên
Cài đặt cụ thể: code
b) Gần đúng
Các bài toán dạng này thƣờng là các bài toán đã biết khoảng kết quả sẵn, chúng ta
dùng một thủ thuật nào đó để đi gần đến kết quả nhất có thể.
Bài tốn tìm nghiệm của phƣơng trình f(x) trong khoảng (a;b)
Xác định vấn đề bài tốn:
Lấy f(x) = 2x^2 +3 x -2
Tìm một giá trị của x làm cho f(x) = 0;
Bài tốn khơng u cầu phải tìm đầy đủ 2 nghiệm của phƣơng trình.
Vấn đề đầu tiên là, phƣơng trình đã cho liệu có nghiệm không?
Rõ ràng ta thấy rằng tich a*c của phƣơng trình trên <0, do đó phƣơng trình trên
có nghiệm.
Phƣơng án giải
Phƣơng trình có nghiệm ở đâu?
Mặt khác ta lại thấy f(-1)*f(-3)<0
=>nghiệm của phƣơng trình nằm trong khoảng [-3;1]
Tìm bằng cách nào khi đã biết nghiệm ?
Ở đây chúng ta sẽ dùng một phƣơng pháp ƣớc lƣợng ngiệm gần đúng. Tức là
chúng ta sẽ thắt chặt nghiệm từ 2 đầu đã biết trƣớc này.
Thuật tốn:
Thuật tốn đƣợc đƣa ra đó là phân đôi và xét f(x) tại giá trị ở giữ này. Cụ thể:
B1: xác định đoạn [a;b] chứa nghiệm
B2: xét f(c) với c=(a+b)/2
F(c) = 0 => nghiệm là c; đến B3
F( c ) >0 => nghiệm nằm trong [c;b]; gán a = c; quay l ại B2
Trường Đại Học Công Nghệ Thông Tin – Sinh Viên: Ng uyễn Lâm Tú 06520525
Phương pháp luận sáng tạo khoa học
Trang 19
F(c) <0 => nghiệm nằm trong [a;c]; gán b =c; quay l ại B2
B3: nghiệm là c
cài đặt: code
c) Đệ quy
Đệ quy là một trong những thủ thuật nổi tiếng nhất trong tin học thuật tốn.
Chúng ta chắc đã đơi lần “chạm chán ” với bài tốn tháp Hà Nội hay tìm giai thừa,
dãy Fibonaci, chúng đều đƣợc giải dƣới dạng đệ quy.
Bài toán giai thừa:
long GT(int n) {
// finished condition
if(n==0||n==1)
return 1;
// recursion
return n*GT(n-1);
}
Trường Đại Học Công Nghệ Thông Tin – Sinh Viên: Ng uyễn Lâm Tú 06520525
Phương pháp luận sáng tạo khoa học
Trang 20
Chúng ta hãy bàn luận một chút về bản chất của đệ quy.
Mỗi thuật tốn đệ quy mơ hình chung đều có 2 phần: phần điều kiện dừng và phần
đệ quy. Nhƣ ví dụ về tính giai thừa phía trên phần điều kiện dừng chính là khi
tham số đầu vào là 1 hoặc 0. Còn phần để quy là n*GT(n-1).
Bản chất về cấu trúc của thuật tốn đệ quy là stack hóa. Sau mỗi lần thực hiện
hàm, kết quả lại đƣợc lƣu vào trong stack.Quá trình thực hiện stack với hàm
GT(3):
…. .…
…. .…
…. .…
GT(1)
GT(2)
GT(2)
Đệ quy đƣợc chia làm các loại sau:đệ quy đuôi, đệ quy rẽ nhánh, đệ quy hỗ tƣơng.
Đệ quy đuôi: là dạng đệ quy mà trong một cấp đệ quy, chỉ có một lời gọi đệ
quy duy nhất xuống cấp thấp. (ví dụ về hàm tính giai thừa phía trên)
Đệ quy nhánh: là dạng đệ quy mà trong suốt quá trình thực hiện hàm đệ quy,
lời gọi đệ quy đƣợc thực hiện nhiều hơn một lần.
Một ví dụ điển hình là bài tốn tháp Hà Nội:
Bài tốn: Bài toán tháp Hà Nội (tiếng Anh gọi là Tower of Hanoi hay Towers of
Hanoi) xuất phát từ trò chơi đố Tháp Hà Nội.
Mục đích của bài tốn là thực hiện đƣợc u cầu của trị chơi. Dạng bài tốn thơng
dụng nhất là: "Ngƣời chơi đƣợc cho ba cái cọc và một số đĩa có kích thƣớc khác
nhau có thể cho vào các cọc này. Ban đầu sắp xếp các đĩa theo trật tự kích thƣớc
vào một cọc sao cho đĩa nhỏ nhất nằm trên cùng, tức là tạo ra một dạng hình nón.
Ngƣời chơi phải di chuyển tồn bộ số đĩa sang một cọc khác, tuân theo các quy t ắc
sau:
+ một lần chỉ đƣợc di chuyển một đĩa
+ một đĩa chỉ có thể đƣợc đặt lên một đĩa lớn hơn (khơng nhất thiết hai đĩa này
phải có kích thƣớc liền kề, tức là đĩa nhỏ nhất có thể nằm trên đĩa lớn nhất)".
Trường Đại Học Công Nghệ Thông Tin – Sinh Viên: Ng uyễn Lâm Tú 06520525
Phương pháp luận sáng tạo khoa học
Trang 21
Phân tích phƣơng án gi ải:
Với trƣờng hợp 2 đĩa,giả sử 3 cột lần lƣợt là A,B,C;Với A là cột chứa các đĩa theo
thứ tự nhỏ đến lớn; ta chỉ cần chuyển: 1. đĩa trên cùng qua B, 2.dĩa còn lại qua C;
3. Đĩa từ B qua C là đã thỏa mãn yêu cầu bài toán.
Trƣờng hợp 3 đĩa:
1.
AB
2.
AC
3.
BC
4.
AB
5.
CA
6.
CB
7.
AB
Trƣờng hợp 4 đĩa:
1.
2.
3.
4.
5.
6.
7.
8.
AB
AC
BC
AB
CA
CB
AB
AC
Trường Đại Học Công Nghệ Thông Tin – Sinh Viên: Ng uyễn Lâm Tú 06520525
Phương pháp luận sáng tạo khoa học
9.
10.
11.
12.
13.
14.
15.
Trang 22
BC
BA
CA
BC
AB
AC
BC
Có một quy luật nào đó trong sự vận chuyển đĩa chăng? Có sự đệ quy nào ở đây
?
Hãy nhìn số bƣớc làm việc: với n = a và n = b; b-a = 1 thì số bƣớc cần thực hiện
ln có dạng: f(n)
Thì f(b) = f(a)*2+1;Có quy luật trên là do với n= b ta phải 2 lần công việc của n =
a cộng thêm một lần vận chuyển đĩa nữa.
Thuật toán:
Việc vận chuyển nhƣ trên phụ thuộc vào 2 yếu tố: vai trò của các cột di chuyển và
số lƣợng đĩa đƣợc di chuyển. Thuật toán đƣợc nêu ra để thực hiện việc vần chuyển
này đó là(với n đĩa ban đ ầu : A – nguồn, B-Trung gian, C - đích)
B1: vận chuyển n-1 đĩa từ nguồn A qua B
B2: vận chuyển đĩa còn lại qua C
B3: vận chuyển n-1 đĩa từ B qua C
Sự đệ quy sẽ suất hiện trong B1 và B3 khi này n đã giảm đi 1 đơn vị. Cùng với sự
đệ quy này là sự thay đổi vai trò của các cột: ở B1 cột A là nguồn, cột B là đích, C
là trung gian; ở B2 : B- là nguồn, C là đích, A là trung gian.
Trong bài toán này chúng ta dã sử dụng đệ quy trong 2 nhánh B1 và B3.
Cài đặt: code
Đệ quy hỗ tƣơng: là dạng đệ quy mà trong đó có sự gọi quay vịng nhƣ A gọi
B, B gọi C rồi C gọi lại A.
d) Quy hoạch động
Trong nghành Khoa học máy tính và tốn học ngƣời ta sử dụng phƣơng pháp
quy hoạch đông(dynamic programming) để giải quyết các vấn đề phức tạp bằng
cách chia nhỏ vấn đề phức tạp đó thành các vấn đề đơn giản hơn.
Chúng ta vừa tiếp cận một số phƣơng pháp giải toán : tính trực tiếp chính xác, gần
đúng và đệ quy. Các phƣơng pháp đó chỉ có thể giải quyết các bài tốn mang tính
chất đơn giản, gần gũi với khả năng tính tốn của con ngƣời. Để giải quyết các vấn
đề phức tạp hơn, có sự biến thiên các giá trị trong một vùng xác định ngƣời ta sử
dụng đến quy hoạch động.
Trường Đại Học Công Nghệ Thông Tin – Sinh Viên: Ng uyễn Lâm Tú 06520525
Phương pháp luận sáng tạo khoa học
Trang 23
Phƣơng pháp quy hoạch động có thể đƣợc khái qt bởi hình ảnh sau:
BOTTOM-TOP
OPTIMAL
SUBSTRUCTURE
OVERLAPPING SUBPROBLEMS
TOP-DOWN
Hƣớng tiếp cận của quy hoạch động có thể là bottm-top hoặc top-down,trong đó 2
tính chất của nó ln đƣợc đảm bảo: tối ƣu hóa các cấu trúc con thành
phần(optimal substructure) và gi ải quyết các vấn đề con theo hƣớng từng bƣớc,
bƣớc này dựa vào các bƣớc trƣớc đó(overlapping subproblems)
Chúng ta hãy xet bài tốn về dãy Fibonaci quen thuộc.Bài toán này đƣợc giải bằng
đệ quy nhƣ sau:
int Fib(int n) {
if(n==1||n==0) {
return 1;
}else {
return Fib(n-1)+Fib(n-2);
}
}
Giả sử n nhập vào là 5 sự đệ quy đƣợc miêu tả nhƣ sau:
1.Fib(5);
2.Fib(4)+Fib(3);
3.Fib(3)+Fib(2) +Fib(2)+Fib(1);
4.Fib(2)+Fib(1)+Fib(1)+Fib(0)+ Fib(1)+Fib(0)+Fib(1);
5.Fib(1)+Fib(0)+ Fib(1)+Fib(1)+Fib(0)+ Fib(1)+Fib(0)+Fib(1);
Trường Đại Học Công Nghệ Thông Tin – Sinh Viên: Ng uyễn Lâm Tú 06520525
Phương pháp luận sáng tạo khoa học
Trang 24
Ta dễ dàng nhận thấy là (ví dụ) Fib(3) đƣợc tính đến 2 lần! Có cách nào để chỉ
tính Fib(3) một lần thơi không ?
Chúng ta đều biết ƣu điểm của đệ quy là diễn đạt dễ dàng và cài đặt dễ dàng. Tuy
nhiên nó có nhƣợc điểm rất lớn đó là sử dụng stack để lƣu vết các bƣớc trƣớc đó.
Điều này đôi khi làm cho đệ quy trở thành một phƣơng pháp sử dụng tài nguyên
quá nhiêu, đặc biệt trong trƣờng hợp đệ quy với đầu vào có giá trị lớn.
Thay vì việc dùng đệ quy chúng ta có thể sử dụng quy hoạch động. Sau đây là 2
hƣớng tiếp cận bài toán trên sử dụng quy hoạch động:
Tiếp cận top-down:
Hàm này giải quyết bài tốn bằng việc tính số fibonaci thứ n.
Ta có một mảng các chỉ mục (mảng m) chỉ đến các giá trị tƣơng ứng của dãy
fibonaci với 2 giá trị mặc định m[0] = m[1]=1;ta muốn lấy giá trị của số thứ n .Nội
dung thuật toán ta làm nhƣ sau:
B1:gán m[1]=m[0]=1
B2:kiểm tra m[n] sẽ có 2 trƣờng hợp xảy ra:
Tồn tại số fibonaci tại m[n] đến bƣớc 4
Không tồn tại số fibonaci tại m[n] đến bƣớc 3
B3: tính số Fibonaci theo cơng thức quy nạp: Fib(n) = Fib(n-1)+Fib(n-2)
B4:trả về giá trị của số Fibonaci thứ n. Kết thúc.
Tiếp cận bottom –top:
Cách này sự dụng cách tính trực tiếp, thuật tốn nhƣ sau:
B1: nhận vào số fibonaci thứ n
B2: Gán f1=f2=1;
Lặp i 2n-1
newF =previousF+currenceF;
previousF=currenceF;
currenceF =newF;
B3.Trả về giá trị của số fibonaci thứ n currenceF
Cài đặt: code (xem file)
Cái nào là optiminal substructure cái nào là overlapping subproblems ?
Phân tích tính tối ƣu về cấu trúc con(optimal substructure):
Trong 3 thuật toán để giải bài toán nêu trên chúng ta đều thấy vấn đề đƣợc chia
nhỏ dần thành các vấn đề nhỏ hơn, và giải quyết. Vấn đề nhỏ nhất đƣợc chia là khi
n=1 và n=0.
Trường Đại Học Công Nghệ Thông Tin – Sinh Viên: Ng uyễn Lâm Tú 06520525
Phương pháp luận sáng tạo khoa học
Trang 25
Chúng ta hãy để ý đến cấu trúc chia nhỏ này, rõ ràng đối với quy hoạch động các
cấu trúc đƣợc tối ƣu tốt nhất, tài nguyên đƣợc đảm bảo sử dụng ít nhất có thể.
Phân tích về giải quyết các vấn đề từng bƣớc, bƣớc hiện tại dựa vào các bƣớc
trƣớc (overlapping subproblems):
Rõ ràng từ các vấn đề cơ bản (f1=f0=1), chúng ta sử dụng để giải quyết các vấn đề
lớn hơn. Từ các vấn đề vừa giải quyết chúng ta lại sử dụng để giải quyết các vấn
đề tiếp theo.
3.2. Phƣơng pháp thử sai
a) Vét cạn/duyệt toàn bộ
Vét cạn toàn bộ là một phƣơng pháp đƣợc sử dụng cho những bài tốn có khơng
gian tìm kiếm nhỏ. Chúng ta hãy xét một ví dụ sau:
Cho 100 con Trâu ăn 100 bó cỏ. Trâu đứng ăn 5, Trâu nằm ăn 3, Trâu già 3 con
một bó. Tìm số Trâu mỗi loại.
Đây là một bài toán đố vui, việc của chúng ta là đi tinh số lƣợng của mỗi loại
Trâu: Trâu đứng, Trâu nằm và Trâu già. Bài tốn đƣợc mơ phỏng dƣới cách nhìn
của tốn học, với khơng gian tìm kiếm định rõ:
i+j+k = 100
(1)
5i+3j+k/3 = 100 (2)
Với:
0<= i <= 20 (*)
0<= j <=33 (**)
0<= k <= 100 && k mod 3 = 0 (***)
Bài tốn đã đƣợc mơ hình dƣới dạng hệ phƣơng trình bậc nhất 3 ẩn số, với miền
tìm kiếm đƣợc giới hạn.
Để giải quyết bài toán này trên máy tính chúng ta sử dụng thuật
tốn vét cạn tồn bộ nhƣ sau:
B1: 0<= i <= 20 làm công việc sau:
Timduocnghiem = false;
B1.1: 0<= j<= 33 làm công vi ệc sau:
B1.1.1 0<=k <= 100 và k chia hết cho 3 làm công việc sau:
Kiểm tra biểu thức :
i+j+k = 100
5i+3j+k/3 = 100 (2)
(1)
Trường Đại Học Công Nghệ Thông Tin – Sinh Viên: Ng uyễn Lâm Tú 06520525