Bài thu hoạch môn Phương pháp nghiên cứu khoa học trong tin học - Đề tài: "Ứng dụng phương pháp luận sáng tạo và đổi mới trong công nghệ thông tin" -Trường Đại học Khoa học Tự nhiên - Năm 2012 - Bành Trí Thành
Bạn đang xem 20 trang mẫu của tài liệu "Bài thu hoạch môn Phương pháp nghiên cứu khoa học trong tin học - Đề tài: "Ứng dụng phương pháp luận sáng tạo và đổi mới trong công nghệ thông tin" -Trường Đại học Khoa học Tự nhiên - Năm 2012 - Bành Trí Thành", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_thu_hoach_mon_phuong_phap_nghien_cuu_khoa_hoc_trong_tin.pdf
Nội dung text: Bài thu hoạch môn Phương pháp nghiên cứu khoa học trong tin học - Đề tài: "Ứng dụng phương pháp luận sáng tạo và đổi mới trong công nghệ thông tin" -Trường Đại học Khoa học Tự nhiên - Năm 2012 - Bành Trí Thành
- TRƯỜ NG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGH Ệ THÔNG TIN BỘ MÔN KHOA HỌC MÁ Y TÍNH - - - - - - - - PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC ĐỀ TÀI: ỨNG DỤNG PHƯƠNG PHÁP LUẬN SÁNG TẠO VÀ ĐỔI MỚI TRONG CÔNG NGHỆ THÔNG TIN GIẢNG VIÊN: GS. TSKH.HOÀNG KIẾM HỌC VIÊN: BÀNH TRÍ THÀNH– 1211069 TP. HCM, THÁNG 12/2012
- LỜI CẢM ƠN Trước tiên, em xin chân thành cảm ơn thầy GS.TSKH. Hoàng Kiếm, người đã truyền cảm hứng cho em trong các buổi giảng trên lớp, cũng như cung cấp các thông tin, tư liệu quý giá để hoàn thành đề tài này. Em xin cảm ơn quí Thầy Cô Khoa Công Nghệ Thông Tin, trường Đại Học Khoa Học Tự Nhiên, những người đã tận tình giảng dạy, trang bị cho em những kiến thức và kinh nghiệm quí báu trong suốt thời gian học tập tại trường. Cuối cùng, em xin gửi lời cảm ơn chân thành đến những người bạn đã chia sẻ và giúp đỡ em trong thời gian học tập và nghiên cứu. TP. HCM, tháng 12 năm 2012 Học viên thực hiện Bành Trí Thành i
- Mục lục LỜI MỞ ĐẦU Chương 1 TỔNG Q UAN 1 1.1 Khoa học 1 1.2 Nghiên cứu kho a học 2 1.3 Phương pháp luận sáng tạo khoa học 2 1.4 Ích lợi của Phương pháp luận sáng tạo và đổi mới 3 Chương 2 CÁC NGUYÊN T ẮC SÁNG TẠO CƠ B ẢN 7 2.1 Nguyên tắc phân nhỏ 7 2.2 Nguyên tắc “tách khỏi” 7 2.3 Nguyên tắc phẩm ch ất cục bộ 8 2.4 Nguyên tắc phản (bất) đối xứng 9 2.5 Nguyên tắc kết hợp 9 2.6 Nguyên tắc vạn năng 10 2.7 Nguyên tắc “chứa trong” 10 2.8 Nguyên tắc phản trọng lượng 11 2.9 Nguyên tắc gây ứng suất (phản tác động) sơ bộ 12 2.10 Nguyên tắc thực hiện sơ bộ 13 2.11 Nguyên tắc dự phòng 13 2.12 Nguyên tắc đẳng thế 14 2.13 Nguyên tắc đảo ngược 15 2.14 Nguyên tắc cầu (tròn) hóa 15 2.15 Nguyên tắc linh động 16 2.16 Nguyên tắc giải (tác động) “ thiếu” hoặc “ thừa” 16 2.17 Nguyên tắc chuyển sang chiều khác 17 2.18 Sử dụng các dao động cơ họ c 17 2.19 Nguyên tắc tác động theo chu kỳ 18 2.20 Nguyên tắc liên tục các tác động có ích 18 2.21 Nguyên tắc “vượt nhanh” 19 2.22 Nguyên tắc biến hại thành l ợi 19 2.23 Nguyên tắc quan hệ phản hồi 20 2.24 Nguyên tắc sử dụng trung gian 20 ii
- 2.25 Nguyên tắc tự phục vụ 20 2.26 Nguyên tắc sao chép (copy ) 21 2.27 Nguyên tắc “rẻ” thay cho “ đắt” 21 2.28 Thay thế sơ đồ (kết cấu) cơ học 22 2.29 Sử dụng các kết cấu khí và lỏng 22 2.30 Sử dụng vỏ dẻo và màng mỏng 23 2.31 Sử dụng các vật liệu nhiều lỗ 23 2.32 Nguyên tắc thay đổi màu sắc 23 2.33 Nguyên tắc đồng nhất 24 2.34 Nguyên tắc phân hủy hoặc tái sinh các phần 24 2.35 Thay đổi các thông số hóa lý của đối tượng 25 2.36 Sử dụng chuy ển pha 25 2.37 Sử dụng sự nở nhiệt 25 2.38 Sử dụng các ch ất oxy hóa mạnh 26 2.39 Thay đổi độ trơ 26 2.40 Sử dụng các vật liệu hợp thành (Composite) 27 Chương 3 ỨNG DỤNG CÁC NGUYÊN TẮC SÁNG T ẠO ĐỂ GIẢI Q UYẾT VẤN ĐỀ 28 3.1 Bài toán dự đoán giá cổ phiếu 28 3.2 Các phương pháp dự đoán giá cổ phiếu 30 3.2.1 Phương pháp dự đoán giá cổ phiếu truyền thống 30 3.2.2 Phương pháp dự đoán giá cổ phiếu bằng các kỹ thuật máy học 31 KẾT LUẬN 34 TÀI LIỆU THAM KHẢO 35 iii
- LỜI MỞ ĐẦU Hiện nay, Nghiên Cứu Khoa Học ngày càng được quan tâm trong mọi lĩnh vực vì tầm quan trọng của nó trong sự phát triển, tiến bộ của con người và xã hội. Tùy theo lĩnh vực mà có những đặc thù nghiên cứu khác nhau, và dù ở lĩnh vực nào thì sự tìm tòi, học hỏi, tư duy sáng tạo vẫn không ngừng đưa ra những điều mới, điều hay phục vụ cho đời sống con người ngày một hoàn mỹ hơn.Tuy nhiên các nghiên cứu cho thấy, phần lớn mọi người còn suy nghĩ một cách tự nhiên, ít khi suy nghĩ về chính suy nghĩ của mình xem nó hoạt động ra sao để cải tiến, làm suy nghĩ của mình trở nên tốt hơn. Cách suy nghĩ tự nhiên nói trên có năng suất, hiệu quả rất thấp và nhiều khi phải trả giá đắt cho các quyết định sai. Xuất phát từ mong muốn hoàn thiện chính mình, phải điều khiển được tư duy sáng tạo của chính mình, con người bắt đầu nghiên cứu và đưa ra những phương pháp luận trong sáng tạo.Ấn tượng sâu sắc do những lợi ích từ Phương pháp luận sáng tạo và đổi mới đem lại cho cá nhân mình, cùng với sự khuyến khích của GS. Altshuller, GS. Phan Dũng đã cho ra đời bộ sách “Sáng tạo và đổi mới” nói về việc ứng dụng của Khoa học về sáng tạo, về hệ thống các phương pháp và các kỹ năng cụ thể giúp nâng cao năng suất và hiệu quả, về lâu dài tiến tới điều khiển tư duy sáng tạo của người sử dụng. Nhận thấy tầm quan trọng của các nguyên tắc sáng tạo và đổi mới là rất hữu ích trên mọi lĩnh vực. Trong phạm vi đề tài này, em sẽ trình bày cái nhìn tổng quan về Phương pháp Nghiên Cứu KhoaHọc, phần tiếp theo là tóm tắt nội dung các nguyên tắc sáng tạo và các ví dụ ứng dụng của từng nguyên tắc. Cuối cùng là phân tích các nguyên tắc sáng tạo đã được áp dụng như thế nào cho một bài toán cụ thể của Công Nghệ Thông Tin trên Thị trường Chứng khoán. Mặc dù đã cố gắng rất nhiều trong quá trình thực hiện đề tài nhưng chắc chắn không thể tránh khỏi những thiếu sót. Em rất mong nhận được những ý kiến đóng góp và tận tình chỉ bảo của Thầy. iv
- CHƯƠNG 1 TỔNG QUAN 1.1 Khoa học Lịch sử phát triển khoa học từ xưa đến nay đã có nhiều quan niệm khác nhau về khoa học: Aristote cho rằng: “Chỉ có cái tổng quát mới đáng gọi là khoa học”. Cuvrie: “Khoa học là hệ thống những nhận thức và nghiên cứu có phương pháp nhằm mục đích khám phá ra những qui luật tổng quát về các hiện tượng”. “Khoa học là hệ thống tri thức về mọi loại qui luật của vật chất và sự vận động của vật chất, những qui luật của tự nhiên, xã hội, tư duy” (Pierre Auger: Tendences actuelles de la recherche scientifique, UNESCO, Paris, 1961, tr 17- 19). Nguyễn Sinh Huy – Trần Trọng Thủy: “Khoa học là toàn bộ hệ thống kiến thức mà nhân loại đã tích lũy được về những qui luật trong sự phát triển của thiên nhiên, của xã hội và tư duy, về những biện pháp tác động có kế hoạch đến thế giới xung quanh đến sự nhận thức và làm biến đổi thế giới đó nhằm phục vụ lợi ích cho con người”[2]. Trên cơ sở các khái niệm khoa học được liệt kê, chúng ta cùng thống nhất khái niệm về nội dung của khoa học mà tác giả Phạm Viết Vượng đã trình bày như sau: Những tài liệu về thế giới do quan sát, điều tra, thí nghiệm mà có. Những nguyên lí được rút ra dựa trên những sự kiện đã được thực nghiệm chứng minh. Những qui luật, những học thuyết được khái quát bằng tư duy lí luận. Những phương pháp nhận thức sáng tạo khoa học. Những qui trình vận dụng lí thuyết khoa học vào sản xuất và đời sống xã hội. 1
- 1.2 Nghiên cứu khoa học Theo Phạm Viết Vượng: “Bản chất của nghiên cứu khoa học là hoạt động sáng tạo của các nhà khoa học nhằm nhận thức thế giới, tạo ra hệ thống tri thức có giá trị để sử dụng vào cải tạo thế giới”[3]. Theo Vũ Cao Đàm: “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”[6]. Từ quan niệm về Nghiên Cứu Khoa Học (NCKH) của Vũ Cao Đàm và quan niệm về nội dung khoa học của Phạm Viết Vượng đã nêu ở trên, cho thấy NCKH có phạm vi vô cùng rộng lớn trong nhận thức và cải tạo thế giới. Nhưng điều đó không phải chỉ dành cho những nhà NCKH chuyên môn. 1.3 Phương pháp luận sáng tạo khoa học Bill Gates là người giàu nhất và quyền lực nhất trong làng công nghệ. Trong 3 thập kỷ qua, ông đã có rất nhiều diễn văn, bình luận về kinh doanh, y tế toàn cầu và sự tiến hóa của ngành công nghiệp máy tính Trong đó ông đã từng nói: “Tôi nghĩ sẽ không ngoa khi nói rằng máy tính cá nhân là công cụ mạnh nhất mà con người từng tạo ra. Chúng là công cụ thông tin liên lạc, là công cụ sáng tạo và có thể cho người dùng mặc sức tùy biến”. (Phát biểu tại Đại học Illinois, 2/2004). Hoạt động sáng tạo gắn liền với lịch sử tồn tại và phát triển của xã hội loài người. Từ việc tìm ra lửa, chế tạo công cụ bằng đá thô sơ đến việc sử dụng năng lượng nguyên tử, chinh phục vũ trụ , hoạt động s áng tạo của loài người không ngừng được thúc đẩy. Sáng tạo không thể tách rời khỏi tư duy – hoạt động bộ não của con người. Chính quá trình tư duy sáng tạo với chủ thể là con người đã tạo ra các giá trị vật chất, tinh thần, các thành tựu vĩ đại về mọi mặt trong cuộc sống và tạo ra nên văn minh nhân loại. 2
- Ý định “khoa học hóa tư duy sáng tạo” có từ lâu. Nhà toán học Hy Lạp Pappos, sống vào thế kỷ III, gọi khoa học này là Heuristics. Theo quan niệm lúc bấy giờ, Heuristics là khoa học về các phương pháp và quy tắc làm sáng chế, phát minh trong mọi lĩnh vực khoa học, kỹ thuật, văn học, nghệ thuật, chính trị, triết học, toán, quân sự Do cách tiếp cận quá chung và không có nhu cầu xã hội cấp bách, Heuristics bị quên lãng cho đến thời gian gần đây. Cùng với cuộc cách mạng Khoa học Kỹ thuật, số lượng bài toán phức tạp mà loài người cần giải quyết tăng nhanh, đồng thời yêu cầu thời gian giải quyết phải được rút ngắn lại. Trong khi đó phương tiện và số lượng người tham gia giải quyết bài toán không đáp ứng kịp tốc độ đó. Thêm nữa, cho đến nay và trong tương lai khá xa sẽ không có công cụ nào thay thế được bộ óc tư duy sáng tạo của con người. Người ta đã nhớ lại Heuristics và phát triển tiếp để tìm ra cách tổ chức hợp lý, nhằm nâng cao năng suất, hiệu quả quá trình tư duy sáng tạo, quá trình suy nghĩ giải quyết vấn đề và ra quyết định trong mọi lĩnh vực không riêng gì Khoa học Kỹ thuật. Nói một cách ngắn gọn, “Phương pháp luận sáng tạo và đổi mới” là bộ môn khoa học có mục đích xây dựng và trang bị cho mọi người hệ thống các phương pháp, các kỹ năng thực hành tiên tiến về suy nghĩ để giải quyết vấn đề và ra quyết định một cách sáng tạo, về lâu dài tiến tới điều khiển được tư duy. 1.4 Ích lợi của Phương pháp luận sáng tạo và đổi mới Từ nửa sau thế kỷ 19 bắt đầu xuất hiện những nghiên cứu về tâm lý học sáng tạo khoa học và kỹ thuật, tâm lý học giải quyết vấn đề và ra quyết định. Cũng từ đó, tâm lý học tư duy sáng tạo được coi là cơ sở, hạt nhân của Sáng tạo học. Các nghiên cứu về tâm lý học sáng tạo được thực hiện theo nhiều hướng. Ở thời kỳ đầu, các nghiên cứu phần lớn tập trung vào những cá nhân có nhiều thành tích sáng tạo để xem họ có những điểm gì đặc biệt hơn những người khác về bẩm sinh, di truyền, các thói quen, các kinh nghiệm Ví dụ, có nghiên cứu cho thấy mối liên quan giữa một số bệnh tâm lý và các loại hình tài năng, thành phần máu 3
- đặc biệt của một số người, các thói quen chủ quan tạo cảm hứng sáng tạo như: Puskin và Balzac rất thích uống cà phê đen. Descartes thích tư duy sáng tạo trong chăn. Trái lại, Buffon chỉ suy nghĩ được một cách rõ ràng sau khi mặc quần áo nghiêm chỉnh và cài nút cẩn thận Chỉ trong thế kỷ 20, qua các kết quả khoa học, các nhà nghiên cứu mới tin rằng những năng khiếu sáng tạo có ở hầu hết, nếu như không nói là tất cả những người bình thường. Hướng nghiên cứu khác của tâm lý học s áng tạo là nghiên cứu thực nghiệm: nghiên cứu quá trình suy nghĩ sáng tạo giải quyết vấn đề trong các điều kiện phòng thí nghiệm. Các nhà tâm lý làm thí nghiệm với những bài toán và người giải. Họ phát hiện ra rằng những người tham gia thí nghiệm đã giải chúng bằng cách lựa chọn các phương án (phương pháp thử và sai). Quá trình giải phụ thuộc nhiều vào kinh nghiệm trước đó của người giải. Mỗi phương án sai giúp người giải thay đổi cách xem xét bài toán, hiểu bài toán đúng hơn để cuối cùng đưa ra phương án là lời giải thực sự của bài toán. Các bài toán dùng trong các thí nghiệm tâm lý là những bài toán đơn giản, số các phương án thử không nhiều, thời gian dùng để giải bài toán ngắn. Cách tiếp cận như vậy đối với tư duy sáng tạo gặp phải những khó khăn thực tế không vượt qua được. Quá trình sáng tạo thường kéo dài về mặt thời gian. Chính Edison công nhận, trung bình một sáng chế lớn của ông phải làm mất bảy năm. Vậy nhà tâm lý có đủ kiên trì trong suốt 10 năm theo dõi người giải bài toán và tin chắc rằng năm thứ 11 (chứ không phải 12, 13 ) anh ta sẽ giải được. Chưa kể, để càng biết chính xác quá trình suy nghĩ của người giải, nhà tâm lý càng phải đặt nhiều câu hỏi. Càng đặt nhiều câu hỏi cho người giải, càng can thiệp sâu vào quá trình suy nghĩ tự nhiên thì kết quả nghiên cứu càng bị sai lệch. Thêm nữa, mặc dù toàn bộ quá trình sáng tạo kéo dài về mặt thời gian nhưng giai đoạn “Eureka” thường diễn ra nhanh đến mức nhà tâm lý không kịp hỏi và có hỏi thì chính người giải cũng không biết sự việc diễn biến cụ thể như thế nào để trả lời. Trong bất kỳ lĩnh vực nào, thông qua việc giải thành công nhiều bài toán, người ta đều có thể rút ra được các kinh nghiệm, bí quyết giúp giải quyết các vấn đề trong lĩnh vực đó nhanh hơn, hiệu quả hơn so với phương pháp thử và sai. Những 4
- kinh nghiệm, bí quyết như vậy được gọi là các thủ thuật sáng tạo. Nói cách khác, các thủ thuật có thể được coi là các phương pháp nhỏ, đơn giản nhất. Trong quyển “Các thủ thuật (nguyên tắc) sáng tạo cơ bản (phần 1)”, GS. Phan Dũng tập trung trình bày hệ thống các thủ thuật sáng tạo cơ bản của GS. Altshuller. Đây là bộ sưu tập các thủ thuật được đánh giá rất cao trong lĩnh vực sáng tạo và đổi mới hiện nay, do đã khắc phục một cách đáng kể các hạn chế và có nhiều ưu việt hơn các bộ sưu tập khác. Từ năm 1946, GS. Altshuller bắt đầu sưu tập các thủ thuật nhằm mục đích giúp cá nhân mình làm các sáng chế với năng suất và hiệu quả cao hơn. Đến năm 1948, ông đặt mục đích rộng hơn là xây dựng lý thuyết và hệ thống các phương pháp giải các bài toán sáng tạo sáng chế (TRIZ) cho đông đảo mọi người. Ngay từ thời kỳ đó, ông đã nhận ra rằng, sáng tạo sáng chế chính là giải quyết các mâu thuẫn kỹ thuật, tạo ra sự phát triển. Do vậy, tiêu chuẩn lựa chọn các thủ thuật được GS. Altshuller xác định là “Chúng phải có khả năng giải quyết các mâu thuẫn kỹ thuật có trong các bài toán sáng tạo sáng chế”. Kể từ năm 1946, số lượng các thủ thuật được GS. Altshuller tìm ra tăng dần theo thời gian. Đến đầu những năm 1970, sau nhiều lần bổ sung chỉnh sửa, hoàn thiện nội dung và lời phát biểu các thủ thuật, phương án được chọn dùng từ đó đến nay là hệ thống 40 thủ thuật sáng tạo cơ bản. Mỗi thủ thuật cung cấp cho người sử dụng một vài cách xem xét đối tượng cho trước. Các xem xét này giúp bạn khắc phục tính ì tâm lý, tạo những đường suy nghĩ giúp tăng tính nhạy bén tư duy, giúp phát hiện và sử dụng các nguồn dự trữ có sẵn trong đối tượng. Các thủ thuật giúp người sử dụng phát hiện các ý tưởng sáng tạo, đưa ra cái mới mà đối tượng hiện tại chưa có. Ngoài ra, GS. Phan Dũng muốn nhấn mạnh loại ích lợi do các thủ thuật đem lại cho người sử dụng có ý thức coi chính mình cũng là đối tượng cần cải tiến, hoàn thiện, phát triển. Phương pháp luận sáng tạo và đổi mới nói chung không chỉ dùng để cải tiến những gì bên ngoài con người mà còn có thể dùng để cải tiến, hoàn thiện, phát triển chính bản thân mình. Sau đây là tóm tắt các lợi ích mà phương pháp luận sáng tạo và đổi mới đem lại: 5
- Cung cấp hệ thống các cách xem xét sự vật. Tăng óc quan sát, tò mò sáng tạo. Phân tích, lý giải một cách logic những giải pháp sáng tạo đã có. Tăng tính nhanh nhạy của việc tiếp thu và đánh giá giá trị của thông tin. Thấy được s ự tương tự, thống nhất giữa các hệ thống tưởng chừng rất khác xa nhau. Khắc phục tính ì tâm lý. Giúp phát hiện các nguồn dự trữ có sẵn trong hệ thống, đặc biệt các nguồn dự trữ tự nhiên không mất tiền sử dụng. Đưa ra và lựa chọn các cách tiếp cận thích hợp để giải bài toán. Giải quyết các mâu thuẫn có trong bài toán. Phát hiện các ý tưởng cải tiến hệ thống cho trước. Dự báo khuynh hướng phát triển của hệ thống cho trước trong tương lai, xây dựng cơ chế định hướng trong tư duy sáng tạo. Giúp phát hiện, đặt và lựa chọn bài toán cần giải. Dùng để luyện tập phát triển tư duy sáng tạo. Dùng để cải tiến, hoàn thiện, phát triển chính bản thân, xây dựng tác phong, suy nghĩ và làm việc một cách khoa học, sáng tạo. 6
- CHƯƠNG 2 CÁC NGUYÊN TẮC SÁNG TẠO CƠ BẢN 2.1 Nguyên tắc phân nhỏ Nội dung: 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ỏ của đối tượng. Ứng dụng trong tin học: Khi viết một chương trình lớn, lập trình viên thường phân chương trình ra thành các module nhỏ với các chức năng khác nhau, điều này giúp cho dễ kiểm soát lỗi, tận dụng lại các module đã viết trước đó, hạn chế xung đột khi có nhiều người cùng tham gia xây dựng chương trình. Để gửi một tập tin có kích thước lớn qua mạng Internet ta có thể chia nhỏ tập tin thành các phần có kích thước nhỏ hơn, điều này giúp dễ kiểm soát được lỗi trong quá trình truyền và tiết kiệm chi phí (khi xảy ra lỗi, chỉ truyền lại phần bị lỗi thay vì nguyên tập tin lớn). 2.2 Nguyên tắc “tách khỏi” Nội dung: Tách phần gây “phiền phức” (tính chất “phiền phức”) hay ngược lại, tách phần duy nhất “cần thiết” (tính chất “cần thiết”) ra khỏi đối tượng. Ứng dụng trong tin học: Các phương pháp phát hiện biên cạnh (Canny, Sobel ) thường được dùng trong xử lý ảnh. Từ ảnh màu ban đầu có 3 kênh màu RGB khá phức tạp ta không thể 7
- phát hiện được biên cạnh, ta chuyển ảnh sang ảnh mức xám (1 kênh màu). Các đường biên cạnh chính là những vùng có sự biến thiên lớn về độ xám, do đó ta phải nhân tích chập ảnh ban đầu với các ma trận mặt nạ để tính Gradient. Cuối cùng ta cần chọn ngưỡng thích hợp để lọc lấy ảnh trắng đen, với các pixel trắng là những điểm biên cạnh. Từ đây ta có thể dùng Hough Transform để phát hiện các đoạn thẳng trong ảnh. Trong lập trình ứng dụng Web, để thuận tiện cho việc phát triển web ta cần tách giao diện và nội dung cho dễ quản lý, dễ phát triển về sau. 2.3 Nguyên tắc phẩm chất cục bộ Nội dung: 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. Ứng dụng trong tin học: Trong quá trình quản lý một dự án phần mềm, ta cần phân tách phần mềm ra thành các module nhỏ hơn với các chức năng khác nhau, và lên kế hoạch phát triển các module đó trong từng giai đoạn thích hợp nhất, như ban đầu ta cần thiết kế nhanh giao diện cho khách hàng xem mẫu, các giai đoạn sau mới code các chức năng chính trong chương trình. Trong lĩnh vực điện toán đám mây, hệ thống phần mềm thường được phân tách ra làm nhiều module, mỗi module được phát triển trên một nền tảng Hệ điều hành riêng biệt để tối ưu hóa khả năng thực thi của chương trình. 8
- 2.4 Nguyên tắc phản (bất) đối xứng Nội dung: Chuyển đối tượng có hình dạng đối xứng thành không đối xứng – phản đối xứng (nói chung, làm giảm bậc đối xứng của đối tượng). Nếu đối tượng phản đối xứng, tăng mức độ phản đối xứng (giảm bậc đối xứng). Ứng dụng trong tin học: Thuật toán RSA mã hóa công khai, trước đây việc mã hóa thường dùng một khóa để mã hóa và cũng dùng chính khóa đó để giải mã. Nhưng thuật toán RSA lại có đến hai khóa là khóa công khai và khóa bí mật. Khóa công khai được công bố rộng rãi cho mọi người và được dùng để mã hóa. Những thông tin được mã hóa bằng khóa công khai chỉ có thể được giải mã bằng khóa bí mật tương ứng. Nó đánh dấu một sự tiến bộ vược bậc của lĩnh vực mật mã học trong việc sử dụng khóa công cộng. 2.5 Nguyên tắc kết hợp Nội dung: 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. Ứng dụng trong tin học: Xây dựng các thuật toán xử lý song song để cải tiến thời gian chạy chương trình. Ví dụ như ta cần nhận dạng mặt người trong một bức ảnh, ta dùng thuật toán Adaboost kết hợp đặc trưng Haarlike phát hiện ra nhiều khuôn mặt trong một bức ảnh đó. Thay vì xử lý tuần tự nhận dạng từng khuôn mặt, ta có thể xử lý song song nhận dạng đồng thời nhiều khuôn mặt cùng lúc để tiết kiệm thời gian chạy chương trình (CPU ngày nay có nhiều nhân, hỗ trợ việc xử lý song song). 9
- Xây dựng website hỗ trợ nhiều loại trình duyệt (browser) bằng cách kết hợp nhiều source code javascript tương ứng. 2.6 Nguyên tắc vạn năng Nội dung: Đố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 đối tượng khác. Ứng dụng trong tin học: Ngày trước điện thoại di động thường chỉ có chức năng gọi, nghe và trả lời tin nhắn. Nhưng Smart Phone ngày nay được tích hợp rất nhiều chức năng như chụp hình, quay phim, nghe nhạc, chơi game, truy cập Internet, xem tin tức Như vậy chỉ với một thiết bị nhỏ gọn mà đã thực hiện được tính năng của rất nhiều thiết bị khác ngày trước. Ứng dụng web ngày nay không còn đơn thuần chỉ là xem nội dung dạng text, mà còn có thể xem phim, nghe nhạc, thậm chí là phát triển thành hệ điều hành WebOS 2.7 Nguyên tắc “chứa trong” Nội dung: Một đối tượng chứa bên trong nó đối tượng khác và đối tượng khác đó 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. Ứng dụng trong tin học: Trong lĩnh vực an toàn thông tin và chia sẻ dữ liệu có một hướng tiếp cận khá thú vị là Steganography. Kỹ thuật này được dùng để ẩn dữ liệu quan trọng vào trong một dữ liệu chứa (âm thanh, hình ảnh, video ) để trao đổi dữ liệu cho nhau, giúp tránh các nghi ngờ của người thứ ba. 10
- Trong lập trình, phần xử lý thường được viết chạy trong thread của chương trình lớn. Điều này giúp cho phần giao diện chạy mượt hơn, người dùng sẽ không cảm thấy giao diện bị treo khi phần xử lý chạy lâu, đồng thời cũng có thể chạy thêm chức năng khác. 2.8 Nguyên tắc phản trọng lượng Nội dung: Bù trừ trọng lượng của đối tượng bằng cách gắn nó với đối tượng khác, có lực nâng. Bù trừ trọng lượng của đối tượng bằng tương tác với môi trường như sử dụng các lực thủy động, khí động Nhận xét: Về mặt ngôn từ phát biểu, nguyên tắc phản trọng lượng đặc thù riêng cho kỹ thuật. Tuy nhiên, ta có thể nắm tinh thần thủ thuật này bằng cách khái quát hóa như sau: đối tượng cho trước có nhược điểm, cần kết hợp đối tượng cho trước với đối tượng khác, có ưu điểm, mà ưu điểm đó có thể bù trừ cho nhược điểm. Thủ thuật này đòi hỏi sự mềm dẻo trong cách tiếp cận giải quyết vấn đề: nếu khắc phục trực tiếp nhược điểm là điều khó làm thì nên nghĩ cách bù trừ nó bằng sự kết hợp với ưu điểm nào đó. Nhiều khi, sự bù trừ lại cho những tính chất, khả năng mới. Cần chú ý tận dụng chúng. Ứng dụng trong tin học: Đôi khi trong chương trình nếu khách hàng không yêu cầu cao, ta thường cài đặt những thuật toán dễ cài đặt nhưng bù lại thời gian chạy chậm hơn chút ít. Trong các bài toán tối ưu, việc vét cạn không gian tìm kiếm thường sẽ mất thời gian rất lâu, thay vào đó ta sẽ dùng các thuật toán Heuristics để giảm độ phức 11
- tạp xuống, kết quả tìm được thường là xấp xỉ kết quả tối ưu nhưng thời gian thực hiện nhanh hơn rất nhiều lần. 2.9 Nguyên tắc gây ứng s uất (phản tác động) s ơ bộ Nội dung: 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. Nếu theo điều kiện bài toán cần thực hiện tác động nào đó, cần thực hiện phản tác động trước. Nhận xét: Từ “ứng suất” cần phải hiểu theo nghĩa rộng, không chỉ đơn thuần là sự nén, sự kéo căng cơ học mà là bất kỳ loại ảnh hưởng, tác động nào. Tinh thần chung của nguyên tắc này là chú ý quan hệ nhân quả, muốn gặt thì phải gieo trồng, chăm bón, đầu tư từ trước đó. Nguyên tắc gây ứng suất sơ bộ cùng với Nguyên tắc thực hiện sơ bộ, Nguyên tắc dự phòng (sẽ trình bày trong phần tiếp theo), phản ánh sự thống nhất giữa quá khứ, hiện tại và tương lai. Ba nguyên tắc nói trên đòi hỏi phải có sự nhìn trước, chuẩn bị giải pháp trước. Ứng dụng trong tin học: Trong quản trị dự án phần mềm ta cần phải lên kế hoạch trước cho dự án, điều này sẽ giúp kiểm soát được tiến độ thực hiện dự án, hạn chế các rủi ro nếu xảy ra. Tổ chức lớp training cho lập trình viên nếu dự án đòi hỏi dùng ngôn ngữ lập trình mới. 12
- 2.10 Nguyên tắc thực hiện sơ bộ Nội dung: Thực hiện trước sự thay đổi, tác động 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 các đối tượng trước, sao cho chúng có thể hoạt động từ vị trí thuận lợi nhất và không mất thời gian dịch chuyển. Nhận xét: Từ “thay đổi”, “tác động” cần phải hiểu theo nghĩa rộng. Nguyên tắc thực hiện sơ bộ giống “Nguyên tắc gây ứng suất sơ bộ” ở chỗ cả hai nguyên tắc đều đòi hỏi phải tạo ra các sự thay đổi, tác động cần thiết trước so với tiền thân. Tuy nhiên, hai nguyên tắc nói trên có điểm khác nhau cơ bản. Nếu như “Nguyên tắc gây ứng suất sơ bộ” tập trung vào quan hệ nhân quả: đi tìm nguyên nhân, tác động lên nguyên nhân để có được kết quả mong muốn, thì “Nguyên tắc thực hiện sơ bộ” nhấn mạnh sự chuẩn bị, thực hiện trước những gì đã biết cách làm. Ứng dụng trong tin học: Các chương trình biên dịch cần phải biên dịch ngôn ngữ lập trình cấp cao sang mã máy trước khi chạy. Các hệ quản trị CSDL hiện nay luôn tối ưu câu truy vấn SQL trước khi thực hiện lệnh truy vấn. 2.11 Nguyên tắc dự phòng Nội dung: 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. Ứng dụng trong tin học: 13
- Để hạn chế các mối nguy hiểm trong việc mất dữ liệu quan trọng như bị virus tấn công, ổ cứng hư ngày càng nhiều các dịch vụ điện toán đám mây hỗ trợ đồng bộ hóa dữ liệu ngay lên máy chủ (như Dropbox), điều này thực sự tiện lợi vì có thể phục hồi dữ liệu khi cần, hay truy xuất dữ liệu từ các máy khác nhau. Trong lập trình, sau khi chỉnh sửa các lỗi phần mềm hay bổ sung yêu cầu mới, ta cần backup phiên bản cũ lại. Nếu phiên bản mới không hoạt động tốt ta có thể khôi phục lại phiên bản cũ dễ dàng. 2.12 Nguyên tắc đẳng thế Nội dung: 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. Nhận xét: Nghĩa đen của nguyên tắc này là: trong điều kiện làm việc có lực trọng trường của Trái Đất, cần làm sao mọi cái xảy ra trên cùng một độ cao, tránh nâng lên hạ xuống, thay đổi độ cao trong quá trình làm việc. Vì như vậy sẽ mất nhiều năng lượng. Tinh thần chung của nguyên tắc này là phải đạt được kết quả cần thiết với năng lượng, chi phí ít nhất. Ứng dụng trong tin học: Trong lập trình, độ phức tạp khi xóa một phần tử trong mảng một chiều là O(n), nhưng nếu ta dùng danh sách liên kết thì độ phức tạp chỉ còn là hằng số. Do đó tùy mục đích sử dụng mà ta quyết định có chọn dùng danh sách liên kết hay không. Xây dựng các cấu trúc dữ liệu như Cây đỏ đen, B-Tree, Bảng băm để lưu trữ và truy xuất dữ liệu với chi phí tối ưu nhất. 14
- 2.13 Nguyên tắc đảo ngược Nội dung: 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. Lật ngược đối tượng (chân thành đầu, đầu thành chân), lộn trái đối tượng (trong thành ngoài, ngoài thành trong). Ứng dụng trong tin học: Trong xử lý video, để quay các thước phim ngược, ví dụ như quay hiệu ứng cái ly bị vỡ được phục hồi lại, thì ta sẽ quay cái ly từ bình thường đến trạng thái vỡ tan, sau đó đảo ngược các frame hình lại thì ta sẽ thu được hiệu ứng chiếc ly từ bị vỡ được phục hồi lại. Hay trong các phim hành động có cảnh bắn nhau, các nhà làm phim thường xử lý hiệu ứng làm cho tốc độ viên đạn chậm lại để tăng thêm phần hấp dẫn. Các S mart Phone ngày nay thay vì cố định màn hình theo một chiều dọc, ta có thể đặt nằm ngang để tăng độ rộng và phần mềm sẽ nhận dạng để xoay màn hình theo. 2.14 Nguyên tắc cầu (tròn) hóa Nội dung: 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 các loại 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 từ chuyển động thẳng sang chuyển động quay, sử dụng lực ly tâm. Ứng dụng trong tin học: 15
- Đĩa CD, DVD, ổ cứng, đĩa mềm: là các ứng dụng của nguyên tắc này để ghi dữ liệu, vì cách lưu của nó trên từng track (vòng tròn) trên đĩa. 2.15 Nguyên tắc linh động Nội dung: 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 đối với nhau. Nếu đối tượng nhìn chung bất động, làm nó di động được. Ứng dụng trong tin học: Tính đa hình trong lập trình hướng đối tượng, cùng một thông điệp được gửi nhưng tùy theo đối tượng nhận mà sẽ có những phản ứng khác nhau. Thư viện liên kết động DLL có tính khả chuyển cao, có thể được dùng cho một hoặc nhiều phần mềm khác nhau. 2.16 Nguyên tắc giải (tác động) “thiếu” hoặc “thừa” Nội dung: Nếu như khó nhận được 100% hiệu ứng, kết 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 và dễ giải hơn một cách đáng kể. Ứng dụng trong tin học: Khi giải quyết bài toán tối ưu, thay vì tìm kết quả chính xác sẽ tốn thời gian rất lâu, ta có thể dùng các thuật toán Heuristics để tìm các kết quả gần đúng, chấp nhận được nhưng thời gian nhanh hơn gấp nhiều lần. Ví dụ như thuật toán tham lam, thuật giải di truyền 16
- 2.17 Nguyên tắc chuyển sang chiều khác Nội dung: 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). 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. Ứng dụng trong tin học: Để giảm chiều của một vector X nhưng vẫn đảm bảo yêu cầu tối thiểu hóa mất mát thông tin, thuật toán PCA đã chuyển đổi từ không gian ban đầu sang một không gian khác, mà ở không gian này ta có tiêu chí để biết được độ quan trọng của từng chiều để có thể loại bỏ những chiều ít quan trọng hơn. Cụ thể đó là không gian các vector riêng của ma trận hiệp phương sai, các vector riêng là các thành phần chính và ứng với các thành phần chính sẽ có các giá trị riêng cho biết mức độ quan trọng của thành phần chính đó. 2.18 Sử dụng các dao động cơ học Nội dung: Làm đối tượng dao động. Nếu đã có dao động, tăng tần số dao động (đến tần số siêu âm). 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. 17
- Sử dụng siêu âm kết hợp với trường điện từ. 2.19 Nguyên tắc tác động theo chu kỳ Nội dung: 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 khoảng thời gian giữa các xung để thực hiện tác động khác. Ứng dụng trong tin học: Xây dựng chức năng tự động nhắc nhở theo chu kỳ cho các phần mềm, như phần mềm diệt virus tự động quét virus theo định kỳ quy định, chương trình tự động kiểm tra và cập nhật phiên bản. 2.20 Nguyên tắc liên tục các tác động có ích Nội dung: 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ượng 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. Ứng dụng trong tin học: Dùng cơ chế Grid Computing: tận dụng tài nguyên của các máy trong hệ thống rãnh rỗi để thực hiện một công việc nào đó. Áp dụng trong điện toán đám mây, các hệ thống Server phải chạy liên tục 24/24 để phục vụ người dùng từ khắp mọi nơi đều có thể truy cập và xử lý thông tin. 18
- 2.21 Nguyên tắc “vượt nhanh” Nội dung: 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. Ứng dụng trong tin học: Trong các ngôn ngữ lập trình thường có các từ khoá như break, continue giúp bỏ qua không xử lý các đoạn code tùy trường hợp cụ thể, điều này giúp thời gian thực thi nhanh hơn. Các phần mềm cần phải hỗ trợ các phím tắt Hot Key giúp người dùng thao tác nhanh hơn. 2.22 Nguyên tắc biến hại thành lợi Nội dung: 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. Thay đổi tác nhân có hại đến mức nó không còn có hại nữa. Ứng dụng trong tin học: Đa phần virus là có hại, nhưng nếu dùng đúng cách thì sẽ có lợi. Cụ thể là viết các chương trình virus để bảo vệ hệ thống từ các xâm nhập bất hợp pháp. Ví dụ như file sẽ tự động bị hủy khi có xâm nhập bất hợp pháp.Hoặc viết các chương trình virus để kiểm tra độ an toàn bảo mật của hệ thống, kiểm tra khả năng nhận dạng của các phần mềm diệt virus. 19
- 2.23 Nguyên tắc quan hệ phản hồi Nội dung: Thiết lập quan hệ phản hồi. Nếu đã có quan hệ phản hồi, hãy thay đổi (hoàn thiện) nó. Ứng dụng trong tin học: Khi gửi mail đi, cần thông tin phản hồi trở lại xem việc gửi mail có thành công hay không (Các dịch vụ mail ngày nay nếu gửi mail vào địa chỉ không tồn tại sẽ có phản hổi việc gửi mail không thành công). Trong các chương trình phần mềm khi thực hiện các thao tác thay đổi dữ liệu hay đóng chương trình, đều có thông báo phản hồi để xác định lại người dùng thực sự muốn thực hiện hay lỡ tay bấm nhầm. 2.24 Nguyên tắc sử dụng trung gian Nội dung: Sử dụng đối tượng trung gian, chuyển tiếp để mang, truyền tác động. Tạm thời gắn đối tượng cho trước với đối tượng khác, dễ tách rời sau đó. Ứng dụng trong tin học: Java với tiêu chí “Viết (code) một lần, thực thi khắp nơi” thay vì biên dịch ra từng mã máy cụ thể, Java dùng mã trung gian là Bytecode để chương trình có thể chạy trên mọi nền tảng khác nhau. 2.25 Nguyên tắc tự phục vụ Nội dung: Đối tượng phải tự phục vụ bằng cách thực hiện các thao tác (hoạt động) phụ trợ, sửa chữa Sử dụng phế liệu, chất thải, năng lượng dư 20
- Ứng dụng trong tin học: Ứng dụng trong lĩnh vực máy học, trí tuệ nhân tạo, cụ thể như các máy bay không người lái, các nhân vật trong game. Chương trình phần mềm tự động cập nhật khi có phiên bản mới như Firefox, Java, Windows 2.26 Nguyên tắc sao chép (copy) Nội dung: 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 hoặc hệ các đối tượng bằng bản sao quang học (ảnh, hình vẽ) với các tỷ lệ phóng to, thu nhỏ cần thiết. Nếu không thể sử dụng bản sao quang học ở vùng khả biến (vùng ánh sáng nhìn thấy được bằng mắt thường), chuyển sang sử dụng bản sao hồng ngoại hoặc tử ngoại Ứng dụng trong tin học: Nguyên tắc sao chép được dùng rất phổ biến trong tin học, ta gần như gặp nó trong mọi phần mềm máy tính, từ hệ điều hành, chương trình soạn thảo, trình duyệt Xây dựng chương trình giả lập các mô hình trong thực tế, ví dụ như huấn luyện lái máy bay thông qua chương trình giả lập, bản đồ trực tuyến của Google 2.27 Nguyên tắc “rẻ” thay cho “đắt” Nội dung: Thay đối tượng đắt tiền bằng bộ các đối tượng rẻ có phẩm chất kém hơn (ví dụ như về tuổi thọ). Ứng dụng trong tin học: 21
- Thay vì sử dụng các phần mềm có bản quyền, chúng ta có thể sử dụng các phần mềm mã nguồn mở miễn phí. Phát triển phần mềm có nhiều phiên bản với các giá thành và chức năng khác nhau để phục vụ cho nhiều đối tượng người dùng. 2.28 Thay thế sơ đồ (kết cấu) cơ học Nội dung: Thay thế sơ đồ (kết cấu) cơ học bằng điện, quang, nhiệt, âm hoặc mùi, vị Sử dụng điệ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ừ. Ứng dụng trong tin học: Thay thế bàn phím rời bằng cách tính hợp bàn phím ảo trong các Smart Phone và Tablet. Ổ cứng SSD thay thế cho ổ cứng HDD. 2.29 Sử dụng các kết cấu khí và lỏng Nội dung: Thay cho các phần đối tượng ở thể rắn, sử dụng các chất khí và lỏng: Các kết cấu nạp khí, nạp chất lỏng, đệm không khí, thủy tĩnh, thủy phản lực Ứng dụng trong tin học: Phát minh ra các thiết bị không dây như chuột không dây, bàn phím không dây Làm mát máy tính có công suất lớn bằng nước, nito lỏng thay vì chỉ dùng các thanh tản nhiệt kim loại. 22
- 2.30 Sử dụng vỏ dẻo và màng mỏng Nội dung: Sử dụng các vỏ dẻo và màng 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. Ứng dụng trong tin học: Các S mart Phone, Tablet ngày nay được thiết kế từ các chất liệu mỏng, nhẹ rất tiện dụng. Vỏ các thiết bị như USB, ổ cứng di động thường làm bằng nhựa dẻo để chống sốc và nước. 2.31 Sử dụng các vật liệu nhiều lỗ Nội dung: 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 đó. Ứng dụng trong tin học: Thùng Case của máy tính thường thiết kế có nhiều lỗ để thoát khí và tản nhiệt. 2.32 Nguyên tắc thay đổi màu sắc Nội dung: 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, hãy 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, hãy 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. 23
- Ứng dụng trong tin học: Trong các ứng dụng phần mềm, các câu thông báo quan trọng, có tính chất nhắc nhở, thông báo lỗi nên dùng những màu gây chú ý, như màu đỏ. Trong Form nhập liệu những phần cho phép nhập thì sẽ có màu khác với những phần không được phép nhập, giúp người dùng thao tác thuận tiện hơn. 2.33 Nguyên tắc đồng nhất Nội dung: 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. Ứng dụng trong tin học: Trong phần mềm việc thiết kế giao diện phải đồng nhất với nhau về màu sắc, cách bố cục. Ví dụ các dialog thông báo nên có màu đỏ để tạo chú ý, các dialog hỏi đáp phải có biểu tượng dấu “?” 2.34 Nguyên tắc phân hủy hoặc tái sinh các phần Nội dung: 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. Ứng dụng trong tin học: Trong các hệ quản trị CSDL, các table temp sẽ tạo ra khi cần thiết để chứa dữ liệu và tự mất đi khi truy vấn kết thúc. Tiến trình dọn rác trong các ngôn ngữ lập trình như Java, C# định kỳ dọn dẹp bộ nhớ để loại bỏ các đối tượng đã hết chu kỳ sống. 24
- 2.35 Thay đổi các thông số hóa lý của đối tượng Nội dung: Thay đổi trạng thái đối tượng. Thay đổi nồng độ hay độ đậm đặc. Thay đổi độ dẻo. Thay đổi nhiệt độ, thể tích. Ứng dụng trong tin học: Để tăng tốc độ xử lý của máy tính, các CPU ngày nay được thiết kế thêm nhiều nhân để có thể xử lý song song. 2.36 Sử dụng chuyển pha Nội dung: 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 Ứng dụng trong tin học: Nếu người dùng đăng nhập vào tài khoản của mình trên một trang web thành công thì sẽ chuyển người dùng đến trang cá nhân của người dùng, nếu đăng nhập không thành công thì chuyển người dùng đến trang đăng nhập không hợp lệ. 2.37 Sử dụng sự nở nhiệt Nội dung: 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, hãy sử dụng vài vật liệu có các hệ số nở nhiệt khác nhau. Ứng dụng trong tin học: 25
- Đo nhiệt độ phòng máy Server: Các hệ thống này phải duy trì liên tục 24/24 để phục vụ khách hàng. Vì vậy để đảm bảo cho các máy chủ chạy ổn định, người ta thường dùng các nhiệt kế để đo và kiểm soát nhiệt độ trong phòng. 2.38 Sử dụng các chất oxy hóa mạnh Nội dung: Thay không khí thường bằng không khí giàu oxy. Thay không khí giàu oxy bằng chính oxy. Dùng các bức xạ ion hóa tác động lên không khí hoặc oxy. Sử dụng oxy bị ozon hóa. Thay oxy giàu ozon (hoặc oxy bị ion hóa) bằng chính ozon. Ứng dụng trong tin học: Sử dụng các chất oxy hóa mạnh để chế tạo ra các bộ vi xử lý, các loại RAM, ROM 2.39 Thay đổi độ trơ Nội dung: Thay môi trường thông thường bằng môi trường trung hòa (trơ). Đưa thêm vào đối tượng các phần, các chất phụ gia trung hòa (trơ). Thực hiện quá trình trong chân không. Ứng dụng trong tin học: Để tăng tuổi thọ cho các máy tính, các bản mạch điện tử thường được làm trong các môi trường trơ. 26
- 2.40 Sử dụng các vật liệu hợp thành (Composite) Nội dung: 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 có tính hệ thống mới. Ứng dụng trong tin học: Các nhà khoa học IBM đã áp dụng công nghệ nano composite để chế tạo ra các máy tính “siêu nhỏ”. 27
- CHƯƠNG 3 ỨNG DỤNG CÁC NGUYÊN TẮC SÁNG TẠO ĐỂ GIẢI QUYẾT VẤN ĐỀ 3.1 Bài toán dự đoán giá cổ phiếu Thị trường chứng khoán nói chung và thị trường cổ phiếu nói riêng luôn là một thị trường hấp dẫn, thu hút được sự quan tâm của nhiều nhà đầu tư bởi khoản lợi nhuận khổng lồ mà nó có thể mang lại. Đặc biệt ở Việt Nam trong thời gian gần đây phong trào tham gia đầu tư cổ phiếu đang phát triển một cách mạnh mẽ, thu hút ngày càng nhiều đối tượng xã hội tham gia từ những nhà kinh doanh cho đến những người dân bình thường, thậm chí cả học sinh, sinh viên. Tuy nhiên, đầu tư cổ phiếu thành công là một điều không hề dễ dàng. Sự thay đổi thất thường của giá cổ phiếu tạo nên một đặc điểm cố hữu cho việc đầu tư vào thị trường này: mức độ rủi ro cao. Do đó, nếu ta chỉ mua, bán một cách cảm tính thì rất dễ bị thua lỗ. Cần phải có một cách thức khoa học nào đó đưa ra các dự đoán về sự thay đổi của giá cổ phiếu trong tương lai. Nếu sự dự đoán này chính xác, nhà đầu tư sẽ xác định được thời điểm mua, bán thích hợp và thu được khoản lời lớn. Ví dụ như Nicolas Darvas đã trở thành triệu phú từ tay trắng nhờ dự đoán thành công bằng phương pháp phân tích kỹ thuật. Một ví dụ điển hình khác là Warren Buffett, với phương pháp phân tích cơ bản từ 10.000$ đầu tư vào cổ phiếucủa công ty Berkshire Hathaway năm 1965, đến năm 2005 Warren Buffett đã khiến số tiền đó sinh sôi lên tới 30 triệu$. Sự hấp dẫn này làm cho bài toán dự đoán giá cổ phiếu được rất nhiều nhà nghiên cứu theo đuổi trong suốt nhiều năm qua. Ngay từ khi thị trường chứng khoán đầu tiên của thế giới là thị trường chứng khoán Hà Lan ra đời vào 1602, đã xuất hiện hai phương pháp dự đoán là phân tích cơ bản và phân tích kỹ thuật. Kế đến là phương pháp dự đoán bằng các kỹ thuật máy học. Tuy nhiên, không phải ai cũng có thể làm được như Nicolas Darvas hay Warren Buffett. Để dự đoán chính 28
- xác là một điều rất khó và do đó cho đến nay, bài toán dự đoán giá cổ phiếu vẫn còn giữ nguyên tính thời sự của nó. Sở dĩ khó dự đoán chính xác là vì giá cả cổ phiếu biến đổi một cách phức tạp và nhiễu loạn. Nó chịu sự chi phối của nhiều yếu tố khác nhau như tâm lý của người chơi, các sự kiện kinh tế, chính trị, Dự đoán giá cổ phiếu là dự đoán giá (đóng cửa) của một ngày giao dịch trong tương lai dựa vào dữ liệu cổ phiếu quá khứ. Khi nói đến dữ liệu cổ phiếu là ta nói đến giá mở cửa, giá cao nhất, giá thấp nhất, giá đóng cửa, khối lượng giao dịch, các chỉ số phân tích cơ bản và các chỉ số phân tích kỹ thuật. Ta có thể phát biểu bài toán dự đoán giá cổ phiếu như sau: Cần tìm hàm f thỏa: : → : → = ( ) Trong đó: x là véc tơ n chiều: = ( , , , , , , , , , , , , ) với là giá trị của chỉ số tại ngày giao dịch b, chỉ số có thể là giá mở cửa, giá cao nhất, giá thấp nhất, giá đóng cửa, khối lượng giao dịch, các chỉ số phân tích cơ bản, các chỉ số phân tích kỹ thuật, t là ngày giao dịch hiện tại, T là ký hiệu véc tơ chuyển vị. y là giá đóng cửa của ngày giao dịch t+k (k>0) Phần dưới đây sẽ trình bày các phương pháp phổ biến để giải quyết bài toán này. 29
- 3.2 Các phương pháp dự đoán giá cổ phiếu 3.2.1 Phương pháp dự đoán giá cổ phiếu truyền thống Hai phương pháp dự đoán truyền thống là phân tích cơ bản và phân tích kỹ thuật. Phân tích cơ bản (Fundamental Analysis): là việc phân tích một doanh nghiệp dựa trên báo cáo lỗ lãi, báo cáo tài chính, năng lực quản lý, ưu thế cạnh tranh, đối thủ và thị phần của công ty đó, để xem xét chất lượng của công ty cũng như việc phát triển của công ty theo thời gian, nhờ đó tiên đoán các chuyển biến giá chứng khoán. Phân tích cơ bản sẽ đánh giá một chứng khoán đang ở mức dưới giá trị hay trên giá trị hiện hành. Quá trình phân tích này dựa trên dữ liệu trong quá khứ và hiện tại. Phân tích kỹ thuật (Technical Analysis): sử dụng các mô hình toán học (đồ thị, biến đổi miền, xác suất thống kê, ) và dựa trên dữ liệu thu thập về thị trường trong quá khứ và hiện tại để chỉ ra trạng thái của thị trường tại thời điểm xác đ ịnh, thông thường là nhận định xu hướng thị trường đang lên, xuống hay “dập dềnh” hoặc nhận định tương quan lực lượng giữa sự tăng và sự giảm giá. Phân tích kỹ thuật không để ý đến các chỉ số tài chính, tình hình phát triển hay các thông tin về thị trường về doanh nghiệp mà chỉ chú trọng vào tập các dữ liệu về giá cả, khối lượng, của cổ phiếu thu thập được tại các phiên giao dịch trong quá khứ. Phân tích cơ bản nghiên cứu các nguyên nhân dẫn tới biến động giá cổ phiếu trên thị trường để trả lời câu hỏi “tại sao xảy ra và xảy ra điều gì trong giá cổ phiếu”, còn phân tích kỹ thuật nghiên cứu các hiệu ứng của nó để trả lời câu hỏi “khi nào sự thay đổi giá cổ phiếu sẽ bắt đầu và khi nào kết thúc.” Nói cách khác, nhà phân tích kỹ thuật chỉ cần biết hiệu ứng là gì mà không cần quan tâm tới nguyên nhân tại sao lại dẫn tới tình hình đó, còn nhà phân tích cơ bản luôn cần phải biết nguyên nhân tại sao. Nicolas Darvas và Warren Buffett là hai ví dụ điển hình về 30
- việc s ử dụng thành công hai phương pháp này. Tuy nhiên, để có thể làm được như hai nhân vật này là một điều không hề đơn giản. Nó đòi hỏi người chơi phải có kinh nghiệm dày dạn, sự am hiểu sâu sắc và trình độ phân tích đáng kể về thị trường cổ phiếu. 3.2.2 Phương pháp dự đoán giá cổ phiếu bằng các kỹ thuật máy học Với sự phát triển ngày càng mạnh mẽ của sức mạnh tính toán và các thuật toán máy học, phương pháp dự đoán giá cổ phiếu bằng các kỹ thuật máy học đang là một hướng tiếp cận thu hút được nhiều sự quan tâm của cộng đồng nghiên cứu trong thời gian gần đây.Ưu điểm của hướng tiếp cận này là không cần phải có nhiều kinh nghiệm cũng như là kiến thức nghiệp vụ về thị trường cổ phiếu. Ta chỉ cần có bộ dữ liệu cổ phiếu quá khứ, sau đó sẽ sử dụng các mô hình máy học để tự động tìm ra mối quan hệ giữa giá cổ phiếu trong tương lai với dữ liệu quá khứ. Như đã nói, sự biến động của giá cả cổ phiếu rất phức tạp, nhiễu loạn và không ổn định. Do đó, nếu ta chỉ đơn giản sử dụng các mô hình máy học tuyến tính thì khó có thể dự đoán thành công được. Cần phải sử dụng các mô hình có thể biễu diễn được mối quan hệ phi tuyến giữa đầu ra với đầu vào. Bên cạnh đó, sự biến động của giá cổ phiếu diễn ra khác nhau ở các thị trường cổ phiếu khác nhau và ở các mã cổ phiếu khác nhau. Vì vậy, các mô hình này cũng cần hướng dữ liệu (data- driven), để cho dữ liệu tự nói lên tính chất của nó, không có giả thiết ban đầu về sự phân bố của dữ liệu. Mạng nơ ron nhân tạo (Artificial Neural Network - ANN) là một mô hình máy học thỏa các tính chất trên nên được tập trung nghiên cứu nhiều. Tuy nhiên, nhược điểm của ANN là dễ bị quá khớp, dễ bị bẫy vào tối ưu cục bộ và số lượng tham số tự do nhiều (số tầng ẩn, số node tầng ẩn, hệ số học, momentum). Gần đây, cộng đồng nghiên cứu đang có xu hướng tập trung vào một kỹ thuật mới: hồi qui véc tơ hỗ trợ (Support Vector Regression - SVR). Nguồn gốc của SVR là máy véc tơ hỗ trợ (Support Vector Machine – SVM). SVM do Vapnik và các đồng nghiệp phát triển vào năm 1995, ban đầu được dùng cho bài toán phân lớp, về 31
- sau mở rộng cho bài toán hồi qui và được gọi là SVR. Nhiều nghiên cứu gần đây cho thấy SVR cho kết quả tốt hơn ANN trong bài toán dự đoán giá cổ phiếu. Đó là do SVR sử dụng nguyên lý tối thiểu hóa rủi ro cấu trúc nên tránh được vấn đề quá khớp và có khả năng tổng quát hóa cao hơn ANN. Giải pháp của SVR là giải pháp tối ưu toàn cục, trong khi đó giải pháp của ANN là giải pháp tối ưu cục bộ. Bên cạnh đó, số lượng tham số tự do của SVR cũng ít hơn so với ANN. Nhằm nâng cao độ chính xác dự đoán, xu hướng phổ biến hiện nay là lai ANN hay SVR với các kỹ thuật trí tuệ nhân tạo khác. Đã có rất nhiều các mô hình lai được đề xuất, trong đó ta có thể phân ra làm 4 nhóm chính: Nhóm 1: Chia để trị (áp dụng nguyên tắc phân nhỏ). Các mô hình đề xuất trong nhóm này kết hợp ANN hay SVR với thuật toán gom cụm. Ý tưởng này xuất phát từ nhận xét về tính không ổn định của chuỗi giá cổ phiếu làm cho mối quan hệ giữa đầu ra với đầu vào (chẳng hạn mối quan hệ giữa giá ngày mai với giá của các ngày trước đó) không cố định. Vì vậy, để thể hiện được mối quan hệ giữa đầu ra với đầu vào, ta không thể chỉ đơn giản dùng một mô hình ANN hay SVR mà cần dùng nhiều mô hình ANN hay SVR. Khi đó, quá trình huấn luyện được chia làm hai giai đoạn như sau: o Đầu tiên, dùng thuật toán gom cụm để phân chia dữ liệu thành các cụm. Bằng cách này, các điểm dữ liệu trong mỗi cụm sẽ có tính chất tương tự nhau. o Kế đến, xây dựng cho mỗi cụm một mô hình dự đoán. Khi có một điểm dữ liệu mới, trước hết cần xác định xem nó thuộc cụm nào, sau đó sẽ sử dụng mô hình dự đoán của cụm đó để tiến hành dự đoán. Phương pháp này không chỉ giảm độ lỗi dự đoán mà còn giảm thời gian huấn luyện. Nhóm 2: Chọn lựa các đặc trưng đầu vào (áp dụng nguyên tắc “tách khỏi” để loại bỏ đặc trưng gây nhiễu). Các đề xuất thuộc nhóm này lai ghép ANN hoặc SVR với thuật toán chọn lựa đặc trưng đầu vào. Việc chọn lựa các đặc trưng đầu vào đóng vai trò rất quan trọng trong bài toán dự đoán giá cổ phiếu. 32
- Các đặc trưng đầu vào thường là chỉ số phân tích kỹ thuật. Hiện nay có khá nhiều chỉ số phân tích kỹ thuật (khoảng hơn 100), việc lựa chọn chỉ số phù hợp cho từng mã cổ phiếu là không đơn giản do chỉ số này có thể tốt cho cổ phiếu A nhưng chưa chắc đã tốt cho cổ phiếu B. Rõ ràng, ta cần xây dựng một chiến lược lựa chọn các chỉ số quan trọng tương ứng với một mã cổ phiếu cụ thể. Để chọn đặc trưng đầu vào trong bài toán dự đoán giá cổ phiếu, ta sử dụng kỹ thuật phân tích thành phần chính (PCA), GA,ICA Nhóm 3: Xác định bộ tham số tối ưu cho mô hình (áp dụng nguyên tắc giải thiếu hoặc thừa trong bài toán tối ưu). Các nghiên cứu thuộc nhóm này kết hợp ANN hay SVR với các thuật toán xác định bộ tham số tối ưu cho ANN hay SVR. Việc xác định bộ tham số tối ưu cho mô hình rất quan trọng bởi bộ tham số này sẽ ảnh hưởng đến độ chính xác dự đoán của mô hình. Với SVR, người ta thường dùng thuật toán Grid Search để tìm bộ tham số tối ưu. Nhằm nâng cao hiệu quả trong việc xác định bộ tham số tối ưu của SVR, ta cũng có thể sử dụng thuật giải di truyền (GA). Để tìm bộ tham số tối ưu cho ANN, ta sử dụng GA hoặc lan truyền ngược. Nhóm 4: Đặt trọng số cho dữ liệu (áp dụng nguyên tắc phản đối xứng các điểm dữ liệu không còn được xem quan trọng như nhau). Với nhận định tính chất của chuỗi dữ liệu thời gian (time-series) là những điểm dữ liệu ở gần (xét về mặt thời gian) sẽ quan trọng và có nhiều ảnh hưởng hơn những điểm dữ liệu ở xa, các mô hình đề xuất trong nhóm này tìm cách đặt trọng số cho các điểm dữ liệu. Ngoài việc lai ghép với các kỹ thuật khác, cũng để đặt trọng số cho chuỗi dữ liệu thời gian, Tay và Cao đưa ra ba phiên bản cải tiến của SVR là tăng dần tham số C của SVR theo thời gian (C-ascending SVR)Error! Reference source not found., g iảm dần tham số của SVR theo thời gian ( -descending SVR) và vừa tăng C vừa giảm . 33
- KẾT LUẬN Phương pháp luận sáng tạo và đổi mới là bộ môn khoa học giúp con người hành động tư duy có định hướng, có kế hoạch hóa một cách đúng đắn. Nó có mục đích tổ chức hợp lý và làm tích cực hóa tư duy sáng tạo, có tính logic và linh động. Về mặt logic, có tác dụng phân nhỏ bài toán sáng chế thành từng phần, vừa sức với người giải bình thường. Về mặt linh động, nó khai thác tới mức lớn nhất mặt mạnh của từng người giải như kiến thức, kinh nghiệm, trí tưởng tượng, linh tính và hạn chế mặt yếu như tính ì tâm lý, sự phân tán trong suy nghĩ. Ứng dụng tốt các thủ thuật sáng tạo sẽ giúp nâng cao năng suất và hiệu quả, về lâu dài tiến tới điều khiển quá trình tư duy sáng tạo, quá trình suy nghĩ và ra quyết định của con người, từ đó giúp con người tránh được tính ì tâm lý và cách suy nghĩ theo lối mòn thiếu sáng tạo. 34
- TÀI LIỆU THAM KHẢO [1] GS. TSKH. Hoàng Kiếm, Bài giảng "Phương pháp nghiên cứu khoa học”, 2012 [2] Nguyễn Sinh Huy, Trần Trọng Thủy, Phương pháp nghiên cứu khoa học giáo dục, Hà Nội, 1999 [3] Phạm Viết Vượng, Phương pháp luận nghiên cứu khoa học (Giáo trình dành cho học viên cao học và nghiên cứu sinh), NXB. Đại học Quốc gia Hà Nội, 1997 [4] Phan Dũng, Bộ sách “Sáng tạo và đổi mới”, NXB. Đại học Quốc gia TP Hồ Chí Minh, 2012 [5] Trần Trung Kiên, Bành Trí Thành, Xây dựng ứng dụng hỗ trợ dự đoán giá cổ phiếu Việt Nam dựa trên mô hình lai GA-SVR, Luận văn tốt nghiệp cử nhân CNTT, Trường ĐH KHTN TP. HCM, 2011 [6] Vũ Cao Đàm, Phương pháp luận nghiên cứu khoa học, NXB. Khoa học – Kỹ thuật Hà Nội, 2000 35