ĐẠI HỌC QUỐC GIA TP. 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 NGHIÊN CỨU KHOA HỌC
TRONG TIN HỌC
Đề tài
CÁC NGUYÊN LÝ SÁNG TẠO &
VẬN DỤNG VÀO WEB PORTA CMS
NUKEVIET
GIÁO VIÊN HƯỚNG DẪN: GS. HOÀNG VĂN KIẾM
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA
LỚP: CAO HỌC CNTTQM KHÓA 6.
MÃ SỐ HỌC VIÊN: CH1101016.
TPHCM tháng 04/2012
BÀI THU HOẠCH MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC
LỜI NÓI ĐẦU
Sáng tạo là một trong những điều kiện tiên quyết để xã hội phát triển. Những
câu chuyện về sáng tạo luôn được ghi lại, nguồn gốc của những sản phẩm được
làm ra từ sự sáng tạo luôn được ghi nhận, được viết thành sách, báo, được lan
truyền để cho tất cả mọi người tìm hiểu và học hỏi theo. Trong khoa học, sáng
tạo là một trong những mục đích hướng đến của người nghiên cứu hoặc làm việc
trong lĩnh vực này. Sự sáng tạo sẽ tạo ra nhiều sản phẩm mới, phát minh mới và
sẽ được áp dụng trong đời sống xã hội, mang lại những lợi ích thiết thực trong
cuộc sống. Trong tin học, sáng tạo càng là yêu cầu cấp thiết và cực kỳ quan trọng
cho sự tồn tại và phát triển của bất kỳ một sản phẩm tin học nào. Sự phát triển
của Google, IBM, Youtube hay Facebook là những minh chứng hùng hồn nhất.
Trong khuôn khổ bài thu hoạch nhỏ này, tôi sẽ trình bày một số nguyên tắc
sáng tạo trong khoa học nói chung, các nguyên tắc sáng tạo trong lĩnh vực công
nghệ thông tin nói riêng và áp dụng các nguyên lý sáng tạo này trong một sản
phẩm tin học điển hình: Web Portal CMS NukeViet, một mô hình web portal
đang dần phổ biến trong giới làm web.
Qua đây, tôi xin được gửi lời cảm ơn đến GS - TSKH Hoàng Văn Kiếm,
người đã tận tâm truyền đạt những kiến thức nền tảng cơ bản về môn học
“Phương pháp nhiên cứu khoa học trong tin học”, để tôi có cơ sở kiến thức d8e63
có thể viết được bài thu hoạch này.
Do kiến thức còn hạn hẹp, bài thu hoạch có thể có những sai sót nhất định,
mong thầy và các bạn góp ý để bài thu hoạch ngày càng hoàn thiện hơn.
Tôi xin tỏ lòng biết ơn sâu xa!
Học viên thực hiện đề tài
Nguyễn Văn Khoa
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016
Page 2
BÀI THU HOẠCH MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC
MỤC LỤC
LỜI NÓI ĐẦU ............................................................................................... 2
MỤC LỤC ..................................................................................................... 3
1.
CÁC NGUYÊN LÝ SÁNG TẠO TRONG KHOA HỌC .............................. 4
2.
CÁC NGUYÊN LÝ SÁNG TẠO TRONG TIN HỌC ................................. 11
2.1.
Theo phương pháp trực tiếp ............................................................ 11
2.2. Theo phương pháp gián tiếp ............................................................... 12
3.
VẬN DỤNG NGUYÊN LÝ SÁNG TẠO VÀO WEB PORTA CMS
NUKEVIET ............................................................................................................... 18
3.1.
Cơ bản về NukeViet .......................................................................... 18
3.2.
Các nguyên lý sáng tạo được áp dụng trong NukeViet ................... 24
3.3.
Dự đoán tính năng tương lai của NukeViet ..................................... 34
4.
KẾT LUẬN ................................................................................................... 37
5.
TÀI LIỆU THAM KHẢO ............................................................................ 38
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016
Page 3
BÀI THU HOẠCH MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC
1. CÁC NGUYÊN LÝ SÁNG TẠO TRONG KHOA
HỌC
Sau khi phân tích hàng trăm ngàn sáng chế ở những nghành kỹ thuật mũi
nhọn, người ta tìm được 40 thủ thuật cơ bản cho việc sáng tạo. Dù dù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ể hoá hơn nữa cho phù hợp với các chuyên
nghành hẹp, tuy nhiên 40 thủ thuật này là bao quát và đã rất đầy đủ. Nó cung cấp
hệ thống các cách xem xét sự vật; tăng tính nhanh nhạy của việc tiếp thu và đánh
giá giá trị của thông tin; đưa ra và lựa chọn các cách tiếp cận thích hợp để giải
quyết vấn đề. Hệ thống các nguyên tắc sáng tạo này còn giúp cho chúng ta xây
dựng được tác phong, suy nghĩ và làm việc một cách khoa học, sáng tạo; góp
phần xây dựng tư duy biện chứng. Dưới đây xin được lần lượt điểm qua 40
nguyên tắc đó:
1. Nguyên tắc phân nhỏ
Chia đối tượng thành các phần độc lập.
Làm đối tượng trở nên tháo lắp được.
Tăng mức độ phân nhỏ đối tượng.
2. Nguyên tắc “tách khỏi”
Tách phần gây “phiền phức hay ngược lại tách phần duy nhất “cần thiết”
ra khỏi đối tượng.
3. Nguyên tắc phẩm chất cục bộ
Chuyển đối tượng (hay môi trường bên ngoài, tác động bên ngoài) có cấu
trúc đồng nhất thành không đồng nhất.
Các phần khác nhau của đối tượng phải có các chức năng khác nhau.
Mỗi phần của đối tượng phải ở trong những điều kiện thích hợp nhất đối
với công việc.
4. Nguyên tắc phản đối xứng
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016
Page 4
BÀI THU HOẠCH MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC
Chuyển đối tượng có hình dạng đối xứng thàng không đối xứng (nói
chung giảm bậc đối xứng).
5. Nguyên tắc kết hợp
Kết hợp các đối tượng đồng nhất hoặc các đối tượng dùng cho các hoạt
động kế cận.
Kết hợp về mặt thời gian các hoạt động đồng nhất hoặc kế cận.
6. Nguyên tắc vạn năng
Đối tượng thực hiện một số chức năng khác nhau, do đó không cần sự
tham gia của các đối tượng khác.
7. Nguyên tắc “chứa trong”
Môt đối tượng được đặt bên trong đối tượng khác và bản thân no1 lại chứa
đối tượng thứ ba…
Một đối tượng chuyển động xuyên suốt bên trong đối tượng khác.
8. Nguyên tắc phản trọng lượng
Bù trừ trọng lượng của đối tượng bằng cách gắn nó với các đối tượng
khác, có lực nâng.
Bù trừ trọng lượng của đối tượng bằng cách tương tác với môi trường như
sử dụng các lực thủy động, khí động …
9. Nguyên tắc gây ứng suất sơ bộ
Gây ứng suất trước đối với đối tượng để chống lại ứng suất không cho
phép hoặc không mong muốn khi đối tượng làm việc (hoặc gây ứng súât
trước để khi làm việc sẽ dùng ứng súât ngược lại).
10. Nguyên tắc thực hiện sơ bộ
Thực hiên trước sự thay đổi cần có, hoàn toàn hoặc từng phần, đối với đối
tượng.
Cần sắp xếp đối tượng trước, sao cho chúng có thể hoạt động từ vị trí
thuận lợi nhất, không mất thời gian dịch chuyển.
11. Nguyên tắc dự phòng
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016
Page 5
BÀI THU HOẠCH MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC
Bù đắp độ tin cậy không lớn của đối tượng bằng cách chuẩn bị trước các
phương tiện báo động, ứng cứu, an toàn.
12. Nguyên tắc đẳng thế
Thay đổi điều kiện làm việc để không phải nâng lên hay hạ xuống các đối
tượng.
13. Nguyên tắc đảo ngược
Thay vì hành động như yêu cầu bài toán, hành động ngược lại (ví dụ :
không làm nóng mà làm lạnh đối tượng).
Làm phần chuyển động của đối tượng (hay môi trường bên ngoài) thành
đứng yên và ngược lại phần đứng yên thành chuyển động.
14. Nguyên tắc cầu (tròn) hoá
Chuyển những phần thẳng của đối tượng thành cong, mặt phẳng thành mặt
cầu, kết cấu hình hộp thành kết cấu hình cầu.
Sử dụng các con lăn, viên bi, vòng xoắn.
Chuyển sang chuyển động quay, sử dụng lực ly tâm.
15. Nguyên tắc linh động
Cần thay đổi các đặc trưng của đối tượng hay môi trường bên ngoài sao
cho chúng tối ưu trong từng giai đoạn làm việc.
Phân chia đối tượng thành từng phần, có khả năng dịch chuyển với nhau.
16. Nguyên tắc giải “thiếu” hoặc “thừa”
Nếu như khó nhận được 100% hiệu quả cần thiết, nên nhận ít hơn hoặc
nhiều hơn “một chút”. Lúc đó bài toán có thể trở nên đơn giản hơn và dễ
giải hơn.
17. Nguyên tắc chuyển sang chiều khác
Những khó khăn do chuyển động (hay sắp xếp) đối tượng theo đường
(một chiều) sẽ được khắc phục nếu cho đối tượng khả năng di chuyển trên
mặt phẳng (hai chiều), tương tự những bài toán liên quan đến chuyển động
(hay sắp xếp) các đối tượng trên mặt phẳng sẽ được đơn giản hóa khi
chuyển sang không gian (ba chiều).
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016
Page 6
BÀI THU HOẠCH MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC
Chuyển các đối tượng có kết cấu một tầng thành nhiều tầng.
Đặt đối tượng nằm nghiêng.
Sử dụng mặt sau của diện tích cho trước.
Sử dụng các luồng ánh sáng tới diện tích bên cạnh hoặc tới mặt sau của
diện tích cho trước.
18. Nguyên tắc sử dụng các dao động cơ học
Làm đối tượng dao động.
Nếu đã có dao động, tăng tần số dao động.
Sử dụng tần số cộng hưởng.
Thay vì dùng các bộ rung cơ học. dùng các bộ rung áp điện.
Sử dụng siêu âm kết hợp với trường điện từ.
19. Nguyên tắc tác động theo chu kỳ
Chuyển tác động liên tục thành tác động theo chu kỳ (xung).
Nếu đã có tác động theo chu ký, hãy thay đổi chu kỳ.
Sử dụng các khoảng thời gian giữa các xung để thực hiên tác động khác.
20. Nguyên tắc liên tục tác động có ích
Thực hiên công viêc một cách liên tục (tất cả các phần của đối tượnng cần
luôn luôn làm việc ở chế độ đủ tải).
Khắc phục vận hành không tải và trung gian.
Chuyển chuyển động tịnh tiến qua lại thành chuyển động quay.
21. Nguyên tắc “vượt nhanh”
Vượt qua các giai đoạn có hại hoặc nguy hiểm với vận tốc lớn.
Vượt nhanh để có được hiệu ứng cần thiết.
22. Nguyên tắc biến hại thành lợi
Sử dụng những tác nhân có hại (ví dụ tác động có hại của môi trường) để
thu được hiệu ứng có lợi.
Khắc phục tác nhân có hại bằng cách kết hợp nó với tác nhân có hại khác.
Tăng cường tác nhân có hại đến mức nó không còn có hại nữa.
23. Nguyên tắc quan hệ phản hồi
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016
Page 7
BÀI THU HOẠCH MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC
Thiết lập quan hệ phản hồi.
Nếu đã có quan hệ phản hồi, hãy thay đổi nó.
24. Nguyên tắc sử dụng trung gian
Sử dụng đối tượng trung gian, chuyển tiếp.
25. Nguyên tắc tự phục vụ
Đối tượng phải tự phục vụ bằng cách thực hiện các thao tác phụ trợ, sửa
chữa.
Sử dụng phế liệu, chất thải, năng lương dư.
26. Nguyên tắc sao chép (copy)
Thay vì sử dụng những cái không được phép, phức tạp, đắt tiền, không
tiện lợi hoặc dễ vỡ, sử dụng bản sao.
Thay thế đối tượng hay hệ các đối tượng bằng bản sao quang học(ảnh,
hình vẽ với các tỷ lệ cần thiết.
Nếu không thể sử dụng bản sao quang học ở vùng biểu kiến (vùng ánh
sáng nhìn thấy được bằng mắt thường), chuyển sang sử dụng các bản sao
hồng ngoại hoặc tử ngoại.
27. Nguyên tắc “rẻ” thay cho “đắt”
Thay đối tượng đắt tiền bằng bộ các đối tượng rẻ có chất lượng kém hơn
(ví dụ như tuổi thọ).
28. Thay thế sơ đồ cơ học
Thay thế sơ đồ cơ học bằng điện, quang, nhiệt, âm hoặc mùi vị.
Sử dụng diện trường, từ trừơng và điện từ trường trong tương tác với đối
tượng.
Chuyển các trường đứng yên sang chuyển động, các trường cố định sang
thay đổi theo thời gian, các trường đồng nhất sang có cấu trúc nhất định.
Sử dụng các trường kết hợp với các hạt sắt từ.
29. Sử dụng các kết cấu khí và lỏng
Thay cho các phần của đối tượng ở thể rắn, sử dụng các chất khí và lỏng;
nạp khí, nạp chất lỏng, đệm không khí, thủy tĩnh, thủy phản lực.
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016
Page 8
BÀI THU HOẠCH MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC
30. Sử dụng vỏ dẽo và màng mỏng
Sử dụng các vỏ dẽo và mành mỏng thay cho các kết cấu khối.
Cách ly đối tượng với môi trường bên ngoài bằng các vỏ dẽo và màng
mỏng.
31. Sử dụng các vật liệu nhiều lỗ
Làm đối tượng có nhiều lỗ hoặc sử dụng thêm những chi tiết nhiều lỗ
(miếng đệm, tấm phủ,…).
Nếu đối tượng đã có nhiều lỗ, sơ bộ tẩm nó bằng chất nào đó.
32. Nguyên tắc thay đổi màu sắc
Thay đổi màu sắc của đối tượng hay môi trường bên ngoài.
Thay đổi độ trong suốt của đối tượng hay mội trường bên ngoài.
Để có thể quan sát được những đối tượng hoặc những quá trình, sử dụng
các chất phụ gia màu, huỳnh quang.
Nếu các chất phụ gia đó đã được sử dụng, dùng các nguyên tử đánh dấu.
Sử dụng các hình vẽ, ký hiệu thích hợp.
33. Nguyên tắc đồng nhất
Những đối tượng tương tác với đối tượng cho trước, phải được làm từ
cùng một vật liệu (hoặc từ vật liệu gần về các tính chất) với vật liệu chế
tậo đối tượng cho trước.
34. Nguyên tắc phân hủy hoặc tái sinh các phần
Phần đối tượng đã hoàn thành nhiêm vụ hoặc trở nên không cần thiết phải
tự phân hủy (hòa tan, bay hơi,…) hoặc phải biến dạng.
Các phần mất mát của đối tượng phải được phục hối trực tiếp trong quá
trình làm việc.
35. Thay đổi các thông số hoá lý của đối tượng
Thay đổi trạng thái đối tượng.
Thay đổi nồng độ hay độ đậm đặc.
Thay đổi dộ dẻo.
Thay đổi nhiệt độ, thể tích.
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016
Page 9
BÀI THU HOẠCH MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC
36. Sử dụng chuyển pha
Sử dụng các hiện tượng nảy sinh, trong các quá trình chuyển pha như thay
đổi thể tích, tỏa hay hấp thu nhiệt lượng …
37. Sử dụng sự nở nhiệt
Sử dụng sự nở (hay co) nhiệt của các vật liệu.
Nếu đã dùng sự nở nhiệt, sử dụng với vật liệu có các hệ số nở nhiệt khác
nhau.
38. Sử dụng các chất ôxy hóa mạnh
Thay không khí thường bằng không khí giàu ôxy.
Thay không khí giàu ôxy bằng chính ôxy.
Dùng các bức xạ iôn hóa tác động lên không khí hoặc ôxy.
Thay ôxy giàu iôn (hoặc ôxy bị iôn hóa) bằng chính ôxy.
39. Thay đổi độ trơ
Thay môi trường thông thường bằng môi trường trung hòa.
Đưa thêm vào đối tượng các phần, các chất, phụ gia trung hòa.
Thực hiện quá trình trong chân không.
40. Sử dụng các vật liệu hợp thành (composite)
Chuyển từ các vật liệu đồng nhất sang sử dụng những vật liệu hợp thành
(composite), Hay nói chung sử dụng các loại vật liệu mới.
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016
Page 10
BÀI THU HOẠCH MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC
2. CÁC NGUYÊN LÝ SÁNG TẠO TRONG TIN
HỌC
2.1. Theo phương pháp trực tiếp
Phương pháp trực tiếp xác định trực tiếp được lời giải qua một thủ tục tính
toán như công thức, hệ thức, định luật …vv… hoặc qua các bước căn bản để có
được lời giải. Đối với phương pháp này, việc giải quyết vấn đề trên máy tính chỉ
là thao tác lập trình hay là sự chuyển đổi lời giải từ ngôn ngữ bên ngoài sang
các ngôn ngữ được sử dụng trong máy tính. Tìm hiểu về phương pháp này chính
là tìm hiểu về kỹ thuật lập trình trên máy tính.
Để thực hiện tốt phương pháp trực tiếp, chúng ta cần áp dụng các nguyên lý
sau:
Nguyên lý 1
Chuyển đổi dữ liệu bài toán thành dữ liệu của chương trình, điều này có nghĩa
là “Dữ liệu của bài toán sẽ được biểu diễn lại dưới dạng các biến của chương
trình thông qua các quy tắc xác định của ngôn ngữ lập trình cụ thể”.
Nguyên lý 2
Chuyển đổi quá trình tính toán của bài toán thành các cấu trúc của chương
trình, điều này có nghĩa là “Mọi quá trình tính toán đều có thể mô tả và thực hiện
dựa trên ba cấu trúc cơ bản: Cấu trúc tuần tự, cấu trúc rẽ nhánh và cấu trúc lặp”.
Nguyên lý 3
Biểu diễn các tính toán chính xác, điều này có nghĩa là “Chương trình tính
toán theo các biểu thức chính xác không đồng nhất với quá trình tính toán chính
xác về mặt hình thức”.
Nguyên lý 4
Biểu diễn các tính toán gần đúng bằng cấu trúc lặp, có nghĩa là “Mọi quá trình
tính toán gần đúng đều dựa trên các cấu trúc lặp với tham số xác định ”.
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016
Page 11
BÀI THU HOẠCH MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC
Nguyên lý 5
Phân chia bài toán ban đầu thành những bài toán nhỏ hơn, có nghĩa là “Mọi
vấn đề - bài toán đều có thể giải quyết bằng cách phân chia thành những vấn đề bài toán nhỏ hơn ”. Đây là nguyên tắc khá quan trọng.
Nguyên lý 6
Biểu diễn các tính toán không tường minh bằng đệ quy, điều này có nghĩa là
“Quá trình đệ quy trong máy tính không đơn giản như các biểu thức quy nạp
trong toán học”. Kỹ thuật đệ quy được sử dụng khá nhiều trong lập trình phần
mềm.
2.2. Theo phương pháp gián tiếp
Phương pháp gián tiếp được sử dụng khi chưa tìm ra lời giải chính xác của vấn
đề. Đây cũng chính là cách tiếp cận chủ yếu của loài người từ xưa đến nay. Điểm
khác ở đây là chúng ta đưa ra những giải pháp mang đặc trưng của máy tính, dựa
vào sức mạnh tính toán của máy tính. Tất nhiên, một lời giải trực tiếp bao giờ
cũng tốt hơn, nhưng không phải lúc nào cũng có.
Chúng ta có thể áp dụng các phương pháp gián tiếp như sau:
Phương pháp thử – sai
Khi xây dựng lời giải bài toán theo phương pháp thử – sai, người ta thường
dựa vào 3 nguyên lý sau :
Nguyên lý vét cạn: Đây là nguyên lý đơn giản nhất, liệt kê tất cả các
trường hợp có thể xảy ra.
Nguyên lý ngẫu nhiên: Dựa vào việc thử một số khả năng được chọn một
cách ngẫu nhiên. Khả năng tìm ra lời giải đúng phụ thuộc rất nhiều vào
chiến lược chọn ngẫu nhiên.
Nguyên lý mê cung: Nguyên lý này được áp dụng khi chúng ta không thể
biết được chính xác “hình dạng” lời giải mà phải xây dựng dần lời giải
qua từng bước một giống như tìm đường đi trong mê cung.
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016
Page 12
BÀI THU HOẠCH MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC
Để thực hiện tốt phương pháp thử - sai, chúng ta nên áp dụng các nguyên lý
sau:
Nguyên lý vét cạn toàn bộ : Muốn tìm được cây kim trong đống rơm, hãy
lần lượt rút ra từng cọng rơm cho đến khi rút được cây kim
Nguyên lý mắt lưới : Lưới bắt cá chỉ bắt được những con cá có kích
thước lớn hơn kích thước mắt lưới.
Nguyên lý giảm độ phức tạp của thử và sai : Thu hẹp trường hợp trước và
trong khi duyệt, đồng thời đơn giản hóa tối đa điều kiện chấp nhận một
trường hợp.
Nguyên lý thu gọn không gian tìm kiếm : Loại bỏ những trường hợp hoặc
nhóm trường hợp chắc chắn không dẫn đến lời giải.
Nguyên lý đánh giá nhánh cận : Nhánh có chứa quả phải nặng hơn trọng
lượng của quả.
Ưu điểm duy nhất của phương pháp thử sai là không cần phải học mà tự nhiên
ai cũng có. Ngoài ưu điểm đó ra phương pháp này có rất nhiều nhược điểm ảnh
hưởng đến hiệu quả tư duy - giải quyết vấn đề con người. Các nhược điểm chủ
yếu của phương pháp này là:
Số phép thử- sai nhiều nên mất nhiều trí lực, thời gian, vật chất và có thể
là sinh mạng của con người.
Công suất phát ý tưởng (số ý tưởng đưa ra trên một đơn vị thời gian) để
giải quyết vấn đề thấp.
Tuy số phép thử nhiều nhưng không bao quát được hết các phương án có
thể có đối với bài toán cho trước một cách khách quan.
Không có cơ chế định hướng tư duy. Rất cần có phương pháp cho phép
định hướng chính xác con đường đi từ bài toán đến lời giải.
Phương pháp Heuristic
Phương pháp thử – sai có một số nhược điểm, khi giải quyết vấn đề bằng cách
dùng một số lượng phép thử quá lớn, thời gian để có được kết quả có khi khá lâu
không chấp nhận được. Phương pháp Heuristic có đặc điểm là đơn giản và gần
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016
Page 13
BÀI THU HOẠCH MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC
gủi với cách suy nghĩ của con người, cho ra được những lời giải đúng trong đa số
các trường hợp áp dụng. Các thuật giải Heuristic được xây dựng dựa trên một số
nguyên lý rất đơn giản như “vét cạn thông minh”, “tối ưu cục bộ” (Greedy),
“hướng đích”, “sắp thứ tự”,... Đây là một số thuật giải khá thú vị và có rất nhiều
ứng dụng trong thực tiễn.
Để thực hiện tốt phương pháp Heuristic, chúng ta nên áp dụng các nguyên lý
sau:
Nguyên lý leo núi: Muốn leo lên đến đỉnh thì bước sau phải cao hơn bước
trước.
Nguyên lý chung: Chọn hướng đi triển vọng nhất trong số những hướng đi
đã biết.
Phương pháp trí tuệ nhân tạo
Phương pháp thử – sai và Heuristic nói chung đều dựa trên một điểm cơ bản
là trí thông minh của chính con người để giải bài toán, máy tính chỉ đóng vai trò
thực thi mà thôi. Còn các phương pháp trí tuệ nhân tạo lại dựa trên trí thông minh
của máy tính. Trong những phương pháp này, người ta sẽ đưa vào máy tính trí
thông minh nhân tạo giúp máy tính bắt chước một phần khả năng suy luận như
con người. Từ đó, khi gặp một vấn đề, máy tính sẽ dựa trên những điều nó đã
được “học“ để tự đưa ra phương án giải quyết vấn đề.
Trong lĩnh vực máy học, các hình thức học có thể phân chia như sau :
Học vẹt.
Học bằng cách chỉ dẫn.
Học bằng qui nạp.
Học bằng tương tự.
Học dựa trên giải thích.
Học dựa trên tình huống.
Khám phá hay học không giám sát.
Các kỹ thuật thường được áp dụng trong “máy học” là :
Khai khoáng dữ liệu.
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016
Page 14
BÀI THU HOẠCH MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC
Mạng nơ ron.
Thuật giải di truyền.
Một số ví dụ áp dụng điển hình trong tin học:
Áp dụng nguyên tắc “tách khỏi”:
Chúng ta thấy rằng, các máy tính đầu tiên của thế hệ 8086, 8088 hay thậm chí
80286 và một phần thế hệ 80386 thì các bộ phận CPU, RAM được gắn “chết”
vào bo mạch chính, muốn thay thế rất khó khăn thường là phải thay cả bo mạch
chính, đây chính là thành phần gây “rắc rối” cho sản phẩm. Khi xuất hiện các
máy tính thế hệ sau 80386, 80486 và máy tính ngày nay, các bộ phận CPU, RAM
được tách riêng khỏi bo mạch chính làm cho người dùng rất dễ thay thế hay nâng
cấp khi cần.
Trong các ngôn ngữ lập trình ngày nay, một ngôn ngữ lập trình thường tách ra
các chức năng hay đối tượng riêng biệt như là các đối tượng COM, DCOM giúp
cho người lập trình khi nào cần dùng đối tượng nào thì chỉ cần “chèn” đối tượng
đó vào để sử dụng và thậm chí người lập trình có thể “nâng cấp” đối tượng đó để
có thêm những tính năng mới tốt hơn hay tạo thêm các đối tượng mới.
Áp dụng nguyên tắc kết hợp:
Trong lĩnh vực phần mềm, ngày nay một dự án khó có thể dùng một ngôn ngữ
lập trình thực hiện từ đầu đến cuối mà phải có sự kết hợp nhiều phần với nhau.
Chẳng hạn như một dự án về cơ sở dữ liệu, phần dữ liệu thường được tạo và
quản lý bằng MySQL, SQL Server hay Oracle còn phần giao diện thường được
lập trình bằng một trong các ngôn ngữ Visual Basic, .Net, Delphi hay Visual
C,… thậm chí có thể kết hợp các ngôn ngữ đó trong phần thiết kế giao diện và
các báo cáo thường được thiết kế bởi Crysral Report hay JReport.
Áp dụng nguyên tắc chứa trong:
Trong mã nguồn phần mềm tin học, một chương trình chính chứa nhiều
chương trình con. Trong chương trình con lại chứa những chương trình con khác.
Áp dụng nguyên tắc dự phòng:
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016
Page 15
BÀI THU HOẠCH MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC
Trong lĩnh vực phần cứng, ngày nay trong CMOS luôn luôn có chức năng
giúp người sử dụng đặt nhiệt độ tối đa cho Cpu, khi nhiệt độ Cpu tới mức đó thì
sẽ báo động. Đây là biện pháp dự phòng tốt.
Ngoài ra, trong hệ điều hành Windows, luôn có chương trình Backup và
Restore dữ liệu, cho phép người dùng “ghost” lại hệ điều hành nếu gặp trường
hợp hư hỏng hệ điều hành. Hiện tại các hệ điều hành như Mac OSX, Android hay
hệ điều hành xài trên iPhone đều cho phép sao lưu và phục hồi dữ liệu.
Áp dụng nguyên tắc sao chép:
Trong lĩnh vực phần cứng và mạng có một số phần mềm giúp người học mạng
chỉ cần một máy tính vẫn có thể thực tập được việc cài đặt và quản trị mạng, đó
là các phần mềm giả lập (simulator) các thiết bị router hay các phần mềm VM
(Virtual Machine) giả lập một máy tính thành nhiều máy tính.
Áp dụng nguyên tắc đảo ngược:
Trong lĩnh vực đồ thị, khi yêu cầu chứng minh hai đồ thị liên thông nhau, ta
thường giả sử ngược lại là hai đồ thị không liên thông và chứng minh điều giả sử
đó không đúng, hoặc ngược lại khi yêu cầu chứng minh hai đồ thị không liên
thông nhau, ta thường giả sử ngược lại là hai đồ thị liên thông nhau và chứng
minh điều giả sử đó không đúng. Đây là cách chứng minh phản chứng, được
dùng rất nhiều trong lĩnh vực toán và tin học.
Áp dụng nguyên tắc vượt nhanh:
Trong máy tính, khi chúng ta khởi động máy, máy sẽ kiểm tra bộ nhớ RAM,
chúng ta muốn vượt qua phần kiểm tra này thì bấm phím “ESC”. Trong các ngôn
ngữ lập trình, cấu trúc rẽ nhánh giúp chương trình vượt nhanh qua các phần
không thỏa điều kiện. Hiện tại trong rất nhiều chương trình luôn có thiết lập các
bộ phím tắt nhằm cho user thao tác nhanh hơn. Nút ESC cũng giúp người dùng
hủy nhiều thao tác nếu đợi quá lâu.
Áp dụng nguyên tắc thay đổi màu sắc:
Nguyên tắc thay đổi màu sắc được áp dụng rất nhiều trong các phần mềm, trên
các giao diện web. Ví dụ như textbox yêu cầu phải nhập thì thường có màu đỏ,
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016
Page 16
BÀI THU HOẠCH MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC
khi người dùng nhập đúng định dạng của username thì có thông báo màu xanh,
khi người dùng nhập lại mật khẩu nếu trùng với mật khẩu thứ nhất thì sẽ hiển thị
thông báo màu xanh…vv…
Trong các chương trình máy tính khi xuất hiện hộp thông báo thường kèm
theo các biểu tượng giúp người dùng hiểu họ được thông báo với tình trạng gì
(xem hình 2.1).
Hình 2.1. Một mẫu thông báo có biểu tượng màu đỏ giúp người dùng dễ hiểu thông điệp hơn
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016
Page 17
BÀI THU HOẠCH MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC
3. VẬN DỤNG NGUYÊN LÝ SÁNG TẠO VÀO
WEB PORTA CMS NUKEVIET
3.1. Cơ bản về NukeViet
Giới thiệu
NukeViet là một hệ quản trị nội dung mã nguồn mở, người sử dụng thường
gọi NukeViet là portal vì nó có khả năng tích hợp nhiều ứng dụng trên nền Web.
NukeViet cho phép xây dựng một website động, đa chức năng, hiện đại một cách
nhanh chóng mà không cần phải biết về lập trình. Nói đơn giản, NukeViet giống
như một phần mềm giúp bạn xây dựng và vận hành các trang web của mình một
cách dễ dàng nhất. NukeViet là một phần mềm mã nguồn mở, do đó việc sử dụng
hoàn toàn miễn phí, bạn có thể tải NukeViet về bất cứ lúc nào tại website chính
thức của NukeViet là nukeviet.vn. Bạn có thể cài NukeViet lên hosting để sử
dụng hoặc cũng có thể thử nghiệm bằng cách cài ngay lên máy tính cá nhân (xem
hình 3.1).
Hình 3.1. Hệ thống mã nguồn CMS Nukeviet
NukeViet cho phép xây dựng một website động, đa chức năng, hiện đại một
cách nhanh chóng mà người vận hành nó thậm chí không cần phải biết một tí gì
về lập trình bởi tất cả các tác vụ quản lý phức tạp đều được tự động hóa ở mức
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016
Page 18
BÀI THU HOẠCH MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC
cao. NukeViet đặc biệt dễ dàng sử dụng vì hoàn toàn bằng tiếng Việt và được
thiết kế phù hợp nhất với thói quen sử dụng mạng của người Việt Nam.
Bằng việc sử dụng các công nghệ web mới nhất hiện nay, thiết kế hệ thống
uyển chuyển và sở hữu những tính năng độc đáo, NukeViet sẽ giúp bạn triển khai
các ứng dụng web từ nhỏ đến lớn một cách nhanh chóng và tiết kiệm: từ các
website cá nhân cho tới các cổng thông tin điện tử; từ các gian hàng trực tuyến
cho tới các mạng xã hội...
Sự phát triển của các phiên bản nuke
Việc “review” lại sự phát triển của các phiên bản Nukeviet sẽ giúp chúng ta
hình dung được người làm ra nó đã áp dụng những nguyên lý sáng tạo nào để
hoàn thiện sản phẩm này.
NukeViet 1.0: Phiên bản thế hệ 1
Phiên bản đầu tiên của NukeViet là phiên bản NukeViet 1.0 (hay NukeViet
1.0.0) có nguồn gốc từ PHP-Nuke 6.5. Các phiên bản tiếp theo có dạng 1.0.x, về
cơ bản chúng chỉ là những bản được vá lỗi do đó thường gọi là NukeViet 1.0
Điểm mạnh của NukeViet 1.0: Có một số lượng rất lớn các thành phần mở
rộng (Module, block); giao diện (theme) được chuyển đổi từ bản dùng cho PHPNuke cũng như được viết mới bởi người sử dụng.
Dòng phiên bản đã đã ngưng hỗ trợ từ năm 2007 nhưng hiện vẫn còn một số ít
các website vẫn sử dụng.
Phiên bản 2.0 beta
Phần nhân của NukeViet 2.0 beta được viết lại rất nhiều. Nếu như NukeViet
1.0 chỉ là bản Việt hóa và cải tiến từ PHP-Nuke thì NukeViet 2.0 beta được viết
mới rất nhiều.
Điểm mạnh của NukeViet 2.0: NukeViet 2.0 có nhiều lớp bảo mật tốt hơn, tối
ưu kết nối vào CSDL, một số tính năng được cải tiến hơn so với NukeViet 1.0
Phiên bản test "hậu" 2.0 beta
Phiên bản được giới thiệu vào tháng 4 năm 2007 nhưng không phát hành: xử
lý hình ảnh trực tuyến, đa ngôn ngữ toàn diện, đa giao diện theo ứng dụng, sử
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016
Page 19
BÀI THU HOẠCH MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC
dụng Ajax, hướng tới thương mại điện tử, khả năng nhận diện bản nâng cấp hệ
thống, tự động bóc tách dữ liệu từ các nguồn khác nhau, tự động sao lưu CSDL.
Phiên bản chính thức: NukeViet RC
Dòng phiên bản chính thức của NukeViet 2.0 được đánh dấu từ phiên bản
NukeViet 2.0 RC1 phát hành ngày 24/05/2009. Đây là phiên bản nâng cấp đầu
tiên kể từ sau khi bản beta cuối cùng ra mắt. Đây cũng là bản đầu tiên có
hackmod (sửa đổi hệ thống PHPBB) để kết nối với mã nguồn PHPBB3 (trước đó
NukeViet 2.0 beta chỉ tích hợp sẵn PHPBB2).
Đây là phiên bản mà NukeViet mang nhiều tính năng nhất từ trước đến nay.
Với khả năng tùy biến cực cao, khả năng đa giao diện, độ bảo mật và hoàn thiện
cũng hơn hẳn các phiên bản trước. Ngoài việc nâng cấp, sửa lỗi, phiên bản này
còn bổ sung nhiều tính năng và thêm một loạt module như:
Addnews (Gửi bài viết);
AutoTranslate (Dịch tự động);
Contact (Liên hệ, thay cho module Feedback của bản 1.x và 2.beta);
Rss (Kênh tin chia sẻ; RSS được tạo tự động bằng cách thả file rss.php
phù hợp vào thư mục chứa module tương ứng cần xuất RSS);
Sitemap (Sơ đồ site);
Support (Hỗ trợ);
Weblinks (Liên kết website).
Vì những khác biệt về lập trình nên các thành phần mở rộng của NukeViet 1.0
không sử dụng chung với NukeViet 2.0 được. Các thành phần mở rộng của bản
2beta có thể sử dụng chung với bản RC2 nhưng bị hạn chế tính năng.
NukeViet 1.0 và NukeViet 2.0 có cùng cấu trúc 3 lớp, bao gồm:
a. Lớp lõi (nhân hệ thống) là cấu trúc chính để vận hành NukeViet
b. Lớp thành phần mở rộng bao gồm 2 loại:
Module: Một dạng cấu trúc mở rộng của NukeViet cho phép người sử
dụng có thể thêm các tính năng khác nhau cho Website của mình như:
Quản lý trò chơi trực tuyến (module Games), Nghe nhạc trực tuyến
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016
Page 20
- Xem thêm -