Khi gửi mail đi, cần thông tin ph ản hồi trở lại xe m việc gửi ma il 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 ma il 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.
40 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2861 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Đề 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, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trê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.
1
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.
2
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.
3
Ý đị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à Heuris tics. 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,
Heuris tics 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
4
đặ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 để g iả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
5
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à g iả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:
6
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.
7
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ể
8
phát hiện được b iê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 p ixel 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.
9
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).
10
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.
11
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 kh i 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
12
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.
13
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:
14
Để 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.
15
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 Smart 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:
16
Đĩ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 v iệ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…
17
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.
18
Sử dụng s iê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.
19
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à v iế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 .
20
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 ma il 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 ma il 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ư…
21
Ứ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:
22
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.
23
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 Smart 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.
24
Ứ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.
25
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:
26
Đ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ơ.
27
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ỏ”.
28
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 đó s inh 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
29
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.
30
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ị, b iế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ề
31
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 Regress ion - 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ề
32
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à la i 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ệ g iữ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.
33
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 .
34
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.
35
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 g ia 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
Các file đính kèm theo tài liệu này:
- ppnckh_badfds9_1434.pdf