Ứng dụng các phương pháp, nguyên tắc sáng tạo để giải quyết các vấn đề - Bài toán trong tin học

o Phương pháp thử - sai và Heuristic, nói chung đều dựa trên điểm cơ bản là dùng trí thông minh của con người để giải bài toán, máy tính chỉ đóng vai trò thực thi mà thôi. Còn các phương pháp trí tuệ nhân tạo lại dựa trên trí thông minh của máy tính. Trong những phương pháp này, người ta phải đưa vào máy trí thông minh nhân tạo giúp máy bắt trước một phần khả năng suy luận như con người. Từ đó, khi gặp một vấn đề, máy tính sẽ dựa trên những điều mà nó đã “học“để tự đưa ra phương án giải quyết vấn đề.

doc31 trang | Chia sẻ: lylyngoc | Lượt xem: 2790 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Ứng dụng các phương pháp, nguyên tắc sáng tạo để giải quyết các vấn đề - Bài toán trong tin học, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ật khách quan đó. Còn những suy nghĩ theo kinh nghiệm mang tính chủ quan sẽ phải trả giá đắt, bởi kinh nghiệm “tốt” của trường hợp này có thể là “xấu” đối với trường hợp khác. Nói như vậy kghông có nghĩa là bỏ qua các quy luật về tâm lý, trái lại cần nhận thức chúng một cách đầy đủ để phát huy những mặt mạnh và hạn chế những mặt yếu của chúng. Lời khuyên của Oristic hiện đại sẽ là : “Hãy suy nghĩ theo những quy luật khách quan về sự phát triển, chắn chắc bạn sẽ có những sáng kiến, cải tiến, cao hơn nữa, những sáng chế, phát minh”. Edison tìm cái kim trong đống rơm : cho đến nay Edison vẫn là người có nhiều sáng chế nhất: hơn 1000 sáng chế. Ông không làm việc một mình mà cả một tập thể lớn làm việc cho ông. Phương pháp tư duy sáng tạo của ông là phương pháp thử-sai (trial–and–error method), nghĩa là lựa chọn lần lượt các phương án giải một cách mò mẫn và dùng số lượng lớn các phép thử để bù khả năng định hướng. Để sáng tác ra ắcquy kiềm, Edison đã làm hơn 50000 thí nghiệm. Nhà sáng chế Nikolai Tesla, có thời gian làm việc chung với Edison đã viết : “Nếu như Edison cần tìm cái kim rớt trong đống rơm, ông ta sẽ không mất thời gian để suy nghĩ xem khả năng lớn nhất cái kim sẽ nằm ở đâu. Không chậm trể, với sự siêng năng vội vã của con ong, ông ta sẽ xem xét từng cọng rơm một cho tới khi tìm thấy cây kim thì thôi. Cách làm việc của ông rất kém hiệu quả: ông có thể bỏ ra rất nhiều thời gian và sức lực mà không thu được kết quả gì”. Trong tư duy sáng tạo cũng có “mẹo vặt” F.Raleslais nhà văn cổ điển Pháp trong một lần quá túng thiếu, không có tiền để đến Paris. Ông nghĩ ra một mẹo: Đi mua đường và chia thành 3 gói nhỏ. Trên một gói ông viết : “Thuốc để đầu độc vua”, gói thứ 2 “ Thuốc để đầu độc hoàng hậu”, gói thứ 3 “Thuốc để đầu độc tể tướng”. Mấy gói đó ông để lộ liễu trên bàn và chẳng bao lậu cảnh sát tới bắt ông và giải ông lên xe đi Paris. Trước tòa án. Rabelais đã giải thích “mẹo” của mình cốt để đến được Paris và uống một lúc hết 3 gói đường. Trong cuộc sống, do kinh nghiệm bản thân người ta nghĩ ra được nhiều “mẹo vặt” để giải quyết vấn đề một cách đơn giản, không đòi hỏi những phương tiện chính quy, tốn kém. Trên đây người ta đã nghĩ ra “mẹo” nhưng lẹo có “mẹo” để nghĩ hay không? Nhà văn Bernard Shaw nội tiếng là người hài hước. Có người hỏi ông : “Làm thế nào mà ngài luôn nói được những câu dí dỏm, thông minh như thế ?” Ôi ! rất đơn giản, thoạt tiên tôi nghĩ về một điều gì đó rất đần độn và sau đó nói ngược lạI! – Bernard Shaw trả lời. Các bạn nghĩ nhà văn lại “tuế” nữa rồi . Không, Bernard Shaw “nghiêm chỉnh” đấy. Có những người đi làm hàng ngày và thấy một điều rất bình thường : người và xe cộ chuyển động còn đường,cây cối và nhà cửa thì đứng yên. Anh nghĩ ngược lại : nếu xe cộ đứng yên còn cây cối thì chuyển động thì sao nhỉ, và thế là ý tưởng mới nảy sinh, xe đạp thay vì đi trên đường thì đi trên những trục lăn, trục quay còn người đi xe vẫn đứng yên. Loại xe này hiện nay chính là xe tập thể thao trong nhà. “Mẹo” nghĩ ngược là một thủ thuật mạnh trong tư duy sáng tạo, rất nhiều sáng chế ra đời dựa trên việc nghĩ ngược lại. Các “mẹo” tư duy trong nhiều trường hợp giúp người giải bài toán giảm bớt số lần thử một cách đáng kể. Những điều kể trên là những nét sơ lược về phương pháp sáng tạo khoa học. 2. Khoa học là gì? Là hệ thống tri thức về mọi quy luật của tự nhiên, xã hội và tư duy (Pierre Auger UNESCO-PARIS) Các tiêu chí nhận biết một bộ môn khoa học Có đối tượng để nghiên cứu? Có hệ thống lý thuyết? Có hệ thống phương pháp luận hay không? Có mục đích sử dụng hay không? Phân loại khoa học Khoa học lý thuyết Khoa học sáng tạo Khoa học thực hành …. 3. Nghiên cứu khoa học là gì? Là nhu cầu nhận thức và cải tạo thế giớI * Các chức năng cơ bản Mô tả (định tính, định lượng) Giải thích ( thuộc tính, nguồn gốc, quan hệ …) Dự đoán Sáng tạo ( giải giải pháp cải tạo thế giới) * Các đặc điểm Tính mớI Tính tin cậy Tính thông tin Tính khách quan Tính rủi ro Tính thừa kế Tính cá nhân Tính phi kinh tế * Các loại hình nghiên cứu khoa học Nghiên cứu cơ bản ( phát hiện bản chất, qui luật…) + Thuần túy (tự do) + Định hướng ++ Nền tảng : dịch tể học, điều tra cơ bản… ++ Chuyên đề : plasma, Gen di truyền Phát minh Nghiên cứu ứng dụng Là sự vận động các quy luật từ nghiên cứu cơ bản đến các nguyên ký về giải pháp ( cộng nghệ, vật liệu, tổ chức, quản lý…) Sáng chế : Giải pháp kỹ thuật có tính mới và áp dụng được Nghiên cứu triển khai (R & D) Các hình mẩu mang tính khả thi về kỹ thuật 3 mức độ triển khai * Các bước nghiên cứu Xác lập vấn đề nghiên cứu: + Chọn và cụ thể hóa đề tài + Xác định cơ sở cho lý thuyết + Nghiên cứu lịch sử vấn đề Giai đoạn chuẩn bị nghiên cứu : + Chuẩn bị điều kiện nghiên cứu + Thiết lập danh mục tư liệu Lựa chọn và nghiên cứu thông tin: + Thu thập và xử lý thông tin + Nghiên cứu tư liệu + Thâm nhập thực tế + Tiếp xúc cá nhân + Xử lý thông tin Xây dựng giải thuyết, lựa chọn phương pháp và lập kế hoạch : + Xây dựng giải thuyết + Xác định phương pháp luận nghiên cứu + Lập kế hoạch Hoàn tất nghiên cứu: + Đề xuất và xử lý thông tin + xây dựng kết luận và khuyến nghị Viết báo cáo hoàn tất công trình: + Sắp xếp tư liệu + Viết báo cáo Giai đoạn kết thúc + Hoàn tất cộng tác + Áp dụng kết quả B2.VẤN ĐỀ KHOA HỌC & CÁC PHƯƠNG PHÁP GIẢI QUYẾT I. Vấn đề khoa học 1 . Khái niệm Vấn đề khoa học (Scientific Problem) cũng được gọi là vấn đề nghiên cứu (research problem) hoặc câu hỏi nghiên cứu là câu hỏi được đặt ra khi người nghiên cứu đứng trước mâu thuẫn giữa tính hạn chế của tri thức khoa học hiện có với yêu cầu phát triển tri thức ở cấp độ cao hơn. 2. Phân loại Nghiên cứu khoa học luôn tồn tại hai vấn đề : + Vấn đề về bản chất sự vật đang tìm kiếm + Vấn đề về phương pháp nghiên cứu để làm sáng tỏ về lý thuyết và thực tiễn như những vấn đề thuộc lớp thứ nhất. 3. Các tình huống vấn đề : Có ba tình huống : Có vấn đề, không có vấn đề, giả vấn đề được cho trong hình dưới đây : Có nghiên cứu Có vấn đề Không có nghiên cứu Không có vấn đề Không có vấn đề Không có nghiên cứu Giả vấn đề Nghiên cứu theo một hướng khác nảy sinh vấn đề khác 4. Các phương pháp phát hiện vấn đề khoa học Có sáu phuơng pháp: Tìm những kẻ hở, phát hiện những vấn đề mớI Tìm những bất đồng Nghĩ ngược lại những quan niệm thông thường Quan sát những vướt mắc thực tế lắng nghe lời kêu ca phàn nàn cảm hứng : những câu hỏi bất chợt xuất hiện khi quan sát sự kiện nào đó. II. Phương pháp giải quyết vấn đề- bài toán phát minh a) Vepol “Bất cứ hệ thống kỹ thuật nào cũng có ít nhất 2 thành phần vật chất tác động tương hổ và một loại trường hay năng lượng”. Từ đó có một thuật ngữ về tam giác kỹ thuật gọi là tam giác Vepol. Vepol là mô hình hệ thống kỹ thuật. vepol đưa ra cốt chỉ để phản ánh một tính chất vật chất của hệ thống nhưng là chủ yếu nhất với bài toán đã cho. Ví dụ xét bài toán nâng cao tốc độ tàu phá băng thì băng đóng vai trò vật phẩm, tàu phá băng đóng vai trò công cụ, và trường cơ lực đặc vào tàu để tác động tương hổ với băng. Việc phân loại các chuẩn để giải quyết các bài toán sáng chế dựa vào phân tích vepol. Mô hình Vepol gồm 3 yếu tố: T Một trường T và trong T có 2 vật chất V1,V2. V2 V1 Tuy nhiê Tuy nhiên, một hệ thống ban đầu chưa hẳn đã có một chuẩn Vepol đủ 3 yếu tố trên, hoặc đã đủ thì có thể phát triển gì thêm trên vepol đó. Có 5 phương pháp : + Dựng Vepol đầy đủ + Chuyển sang Fepol + Phá vở Vepol + Xích vepol + Liên trường b) Các thủ thuật, nguyên tắc về phát minh, sáng tạo 1. Nguyên tắc phân nhỏ Nội dung : Chia các đối tượng thành các phần độc lập Làm đối tượng thành các thành phần tháo ráp Tăng mức độ phân nhỏ của đối tượng Nhận xét: Nguyên tắc phân nhỏ thường dùng các nguyên tắc “2_tách khỏi”,”3_Phẩm chất cục bộ”,”5_kết hợp”,”6_vạn năng”… - Ứng dụng nguyên tắc trên ( trong tin học) vào việc sắp xếp dãy (Quick Sort), hay tìm kiếm nhị phân, mỗi lần tìm kiếm ta chia đôi dãy phần tử, khi đó ta chỉ tìm trên nữa dãy. Nguyên tắc này sẽ cải thiện tốc độ tìm kiếm và độ phức tạp thuận toán sẽ được cải thiện đáng kể. - Ứng dụng quen thuộc nhất chính là chia chương trình thành nhiều chức năng nhỏ, còn được gọi là “hàm” hay “thủ tục”. 2. Nguyên tắc “tách riêng” 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. Nhận xét: đối tượng thông thường, có nhiếu phần (tính chất, khía cạnh, chức năng…), trong khi đó, người ta chỉ thực sự cần một trong những số đó. Vậy không nên dùng cả đối tượng vì sẽ tốn thêm chi phí. Phải nghĩ cách tách phần cần thiết riêng ra để dùng. Tương tự như vậy đối với phần phiền phức, để khắc phục nhược điểm có trong đối tượng. Nguyên tắc tách khỏi thường hay dùng với các nguyên tắc : 1.Phân nhỏ, 3. Phẩm chất cục bộ, 5. Kết hợp, 6. Vạn năng, 15. Nguyên tắc linh động … Minh họa các ứng dụng (thuận toán) dựa vào nguyên tắc trên Hệ thống ERP cũng áp dụng nguyên tắc trên : Do hệ thống bao gồm nhiều Module (phân hệ), mỗi phân hệ có thể sử dụng riêng cho từng yêu cầu như : Phân hệ Kế toán có thể dùng riêng cho lãnh vực kế toán, phân hệ nguồn nhân lực , phân hệ sản xuất … Khi đó công ty có thể dùng toàn bộ hệ thống cho công việc của mình, nhưng cũng có thể dùng một hay một vài module nào đó cần thiết cho công việc của mình thôi để giảm bớt chi phí . Tưong tự ta cũng áp dụng nguyên tắc trên trong việc tìm khóa của một quan hệ (dựa trên tập phụ thuộc hàm). Khi đó ta sẽ tách một phần (đại diện) phụ thuộc hàm có vòng lặp (circle) ra khỏi tập phụ thuộc hàm, rồi tìm khoá trên phận phụ thuộc hàm còn lại, sau đó ta lần lượt thay thế các thuộc tính trong phần tách ra chỉ lấy “vế trái” ( mà có thuộc tính vế phải nằm trong danh sách các thuộc tính khóa) với danh sách khóa vừa tìm ra, ta sẽ có danh sách khóa thật sự của quan hệ. Vd : F={a,b,c,d} a->b b->a c->d Ta tách phụ thuộc hàm “a->b” hay “b->a” ra khỏi danh sách phụ thuộc hàm, giả sử ta tách “a->b”. Khi đó danh sách còn lại là : b->a; c->d. Sẽ có khóa là b,c. sau đó ta lấy a trong phụ thuộc hàm “a->b” thay thế với b ta sẽ có danh sách khóa là b,c và a,c. Áp dụng nguyên tắc trên ta sẽ tránh được việc đệ quy đi tìm khóa rất mất thời gian, nếu không khéo rất dễ bị lúp chương trình … Trên đây là một vài ví dụ minh họa cách áp dụng nguyên tắc “tách khỏi”. Và sau đây là mẩu chuyện vui. … Sau khi người ta công bố phát minh tia Rơnghen, một lần nhà bác học Rơnghen nhận được bức thơ kỳ lạ. Người gởi thư yêu cầu gởi cho anh ta vài tia Rơnghen kèm theo bản hướng dẫn cách sử dụng chúng. Thì ra “trong lồng ngực anh ta có mắc viên đạn súng lục nhưng anh ta không có thời giờ để đến chỗ Rơnghen. Nhà bác học có tính hài hước đã trả lời như sau : Tiếc rằng bấy giờ tôi không có tia X. Vả lại gởi đi cũng phiền toái lắm. Ta làm thế này cho tiện vậy : Anh hãy gởi lồng ngực đến cho tôi ” . 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ó những 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. Nhận xét : Các đối tượng đấu tiên thường có tính đồng nhất cao về vật liệu, cấu hình, chức năng, thời gian, không gian … đối với các thành phần trong đối tượng. Khuynh hướng phát triển tiếp theo là : các phần có các phẩm chất, chức năng … riêng của mình nhằm phục vụ tốt nhất chức năng chính hoặc mở rộng chức năng chính đó. Nói chung nguyên tắc phẩm chất cục bộ phản ảnh khuynh hướng phát triển : từ đơn giản sang phức tạp, từ đơn điệu sang đa dạng. Tinh thần “Phẩm chất cục bộ” có ý nghĩa lớn đối với nhận thức và xử lý thông tin : Không phải tin tức hay thông tin nào cũng có giá trị như nhau. Không thể có một cách tiếp cân dùng chung cho mọi loại đối tượng – “ chân lý là cụ thể”. Ứng dụng trong Tin học : Trong lập trình, trong một đoạn chương trình cần phân biệt phẩm chất cục bộ : ở đâu là phần lỏi của chương trình, phần khác là những thao tác phụ. Ví dụ : In tất cả các số chia hết cho 9 trong phạm vi [1..10000], với hình thức in ra : Mỗi hàng có 10 số, mỗi trang có 20 hàng, tạm dừng chờ nhấn phím liệt tiếp trang sau (nếu hơn trang). Như vậy nếu chương có lỗi thì lỗi thì lỗi của chương trình (phẩm chất cục bộ) là phần kiểm tra một số chia hết cho 9, chứ không phải là phần in ra. - Trong lập trình hướng đối tượng , chúng ta có các phương thức, mà mỗi phương thức có những tính năng khác nhau. 4. Nguyên tắc phản đố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 ( nói chung, làm giảm bậc đối xứng). Nhận xét : Giảm bậc đối xứng, ví dụ, chuyển từ hình tròn sang hình ôvan, hình vuông sang hình chữ nhật .. Thủ thuật này rất có tác dụng trong việc khắc phục tính ì tâm lý, cho rằng các đối tượng phải có tính đối xứng. Khi đối tượng chuyển sang dạng ít đối xứng hơn, có thể làm xuất hiện những tính chất mới lới hơn. Ví dụ tận dụng hơn về nguồn tài nguyên, không gian … Nguyên tắc đối xứng, có thể nói là trường hợp riêng của 3. nguyên tắc phẩm chất cục bộ. Ứng dụng trong tin học : + Ví dụ : Kiểu biến số nguyên (byte, word, unsigned int) chỉ bao gồm các số nguyên dương, không có tính đối xứng (có cả âm lẫn dương,như dùng kiểu integer hay longint), nhưng trong thực tế rất nhiều lúc ta chỉ làm việc trên những số dương, rõ rang khai báo kiểu này ta đã tiết kiệm được bộ nhớ và làm cho chương trình trong sáng và linh động hơn. 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ành cho các đối 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. Nhận xét : “Kế cận“ở đây không nên chỉ hiểu là gần nhau về mặt vị trí hay chức năng, mà nên hiểu là có quan hệ với nhau, bổ xung cho nhau… Do vậy có thể kết hợp các đối tượng “ngược nhau” (ví dụ : bút chì kết hợp với tẩy). Đối tượng mới được tạo nên do sự kết hợp, thường có những tính chất, khả năng mà đối tượng riêng rẽ chưa từng có. Điều này có nguyên nhân sâu xa là lượng đổi thì chất cũng đổi và do tạo được sự thống nhất của các mặt đối lập. Nguyên tắc kết hợp thường hay sử dụng với 1.Nguyên tắc phân nhỏ,3. Nguyên tắc phẩm chất cục bộ… Minh họa ứng dụng nguyên tắc trên trong tin học : Trong lập trình cổ điển ( lập trình theo dạng cấu trúc), khi đó dữ liệu và chức năng là những thành phần riêng biệt. Khi chuyển sang lập trình hướng đối tượng thì dữ liệu và chức năng (phương thức,sự kiện) gộp chung trong một đối tượng, đây chính là khái niệm Class. Các ngôn ngữ cấp cao thường cho phép kết hợp với mã nguồn Assembly Hệ điều hành : Kết hợp thời gian rãnh của CPU, tận dụng thời gian để cho ra hệ điều hành đa nhiệm. Máy vi tính cho phép chạy nhiều HĐH trên cùng một máy (Multi boot, Máy ảo “Pc Virtual,VMware”). 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 đó là không cần sự tham gia của đối tượng khác. Nhận xét : Nguyên tắc vạn năng là trường hợp riêng của 5.Nguyên tắc kết hợp : kết hợp về mặt chức năng trên cùng một đối tượng. Nguyên tắc vạn năng thường hay dùng với 20. Nguyên tắc liên tục có ích Nguyên tắc vạn năng đóng vai trò quan trọng trong thiết kế, chế tạo, dự báo …, vì nó phản ánh khuynh hướng phát triển, tăng số chức năng mà đối tượng có thể thực hiện được. Ứng dụng nguyên tắc trên trong tin học : Máy vi tính ngày càng có nhiều chức năng ngoài việc đáp ứng công việc hàng ngày, nó còn có thể là trung tâm giải trí như : Nghe nhạc, xem phim, xem tivi, chơi game, truy cập Internet … Điện thoại di động : Ngoài chức năng nghe và nhận cuộc gọi, nó còn có thể nghe nhạc MP3, chơi game, nghe FM, chụp hình, quay phim và truy cập Wap … Ổ USP ngòai việc lưu trử dữ liệu nó còn có thể nghe nhạc, ghi âm, học ngoại ngữ … 7. Nguyên tắc chứa trong Nội dung : Một đối tượng được đặt bên trong đối tượng khác và bản thân nó lại có thể chứa những đối tượng khác … Một đối tượng chuyển động xuyên suốt bên trong đối tượng khác Nhận xét : “Chứa trong ” cần phải hiểu theo nghĩa rộng, không chỉ đơn thuần theo nghĩa không gian. Ví dụ : Khái niệm này nằn trong khái niệm khác, lý thuyết này nằm trong lý thuyết khác … Nguyên tắc chứa trong là trường hợp riêng, cụ thể hóa của 3. Nguyên tắc phẩm chất cục bộ. Nguyên tắc này thường hay dùng với nguyên tắc 1. nguyên tắc phân nhỏ, 2.Nguyên tắc tách khỏI, 5.Nguyên tắc kết hợp, Nguyên tắc vạn năng, 15. Nguyên tắc vạn năng …. Nguyên tắc chứa trong làm cho các đối tượng có thêm những tính chất mới mà trước đây chưa từng có như : gọn hơn, tăng độ an toàn, bên vững, tiết kiệm năng lượng, linh động hơn … Ứng dụng nguyên tắc trên vào lãnh vực tin học như : Folder : Folder này có thể chứa những Folder con khác và tiếp tục như vậy những Folder khác lại chứa những Folder con khác nữa. Việc thiết kế theo nguyên tắc chứa trong này làm cho việc lưu trữ trong sáng,gọn gàng, dễ dùng và dễ quản lý. Trong lập trình hướng đối tượng thì tính chất kế thừa cũng áp dụng nguyên tắc chứa trong. Phương thức, dữ liệu của đối tượng được kế thừa sẽ có trong (“chứa trong”) đối tượng kế thừa và đối tượng kế thừa có thể có thêm những thuộc tính, phương thức mới của riêng mình, điều này sẽ làm cho đối tượng có thêm nhiều tính năng hơn, linh động hơn và tiết kiệm được chi phí vì không phải tạo lại những phương thức, thuộc tính đã có sẳn… 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ó trọng 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 : Nếu hiểu theo nghĩa đen thì nguyên tắc trên là cụ thể hóa của 5. Nguyên tắc kết hợp : kết hợp đối tượng cho trước với các đối tượng khác với các môi trường bên ngoài, có lực nâng, để bù cho cái có hại là trọng lượng của đối tượng cho trước. 9. Nguyên tắc gây ứng xuất 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 (hoặc gây ứng suất trước để khi làm việc sẽ dùng ứng suất ngược lại). 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à bất kỳ lọai ảnh hưởng , tác động nào. Nguyên tắc này thường dùng cùng với 10. Nguyên tắc thực hiện sơ bộ, 11.Nguyên tắc dự phòng , nó phản ánh sự thống nhất của quá khứ, hiện tại và tương lai. Ứng dụng vào lãnh vực tin học : Trước khi là lập trình viên : Cấn phải nghiên cứu ngôn ngữ và học giải thuật lập trình trước đã. Có nghĩa phải học và đào tạo trước khi làm việc. 10. Nguyên tắc thực hiện sơ bộ Nội dung : Thực hiện trước sự thay đổi cần có, hoàn toàn hoặc từng phần đối với đối tượng. Cấn sắp xếp đối tượng trước, sao cho chúng có thể hoạt động từ vị trí thuận lợi nhất, không mất thời gian dịch chuyển . Nhận xét : Từ “thay đổI” cần hiểu theo nghĩa rộng. Có những việc, dù thế nào cũng cần phải thực hiện trước đi một phần hoặc toàn bộ và sẽ được lợi hơn so với thực hiện ở hiện tại (theo nghĩa tương đối) Ting thần của nguyên tắc này là trước khi làm việc gì ta cần phải chuẩn bị trước một cách toàn diện, chu đáo và thực hiện trước những gì có thể thực hiện được – “chuẩn bị tốt là một nửa của sự thành công”. Ứng dụng trong lãnh vực tin học : Trong máy dịch : Trước khi dịch ta phải phân tích ngữ nghĩa của đoạn văn hay văn bản trước … Trong viện phân loại văn bản dạng Html : ta phải xóa các Tag Html của văn bản trước khi phân loại. Điều sẽ tránh khỏi nhầm lẫn trong việc phân loại do thông tin trong các Tag Html (“những thông tin không cần thiết”) và sẽ làm giảm thới gian khi phân loại do chỉ phân loại trên nội dung chính… Trong lãnh vực khai khoáng dữ liệu, ta cần áp dụng thuật toán Apriori-Tid, chúng ta biến dữ liệu sang dạng (O,I,R) để làm dữ liệu đầu vào cho thuật toán. ( ví dụ áp dụng trong phân tích dữ liệu của siêu thị). 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ị các phuơng tiện báo động, ứng cứu, an toàn. Nhận xét : Ít có cộng việc nào có thể thực hiện với độ tin cậy tuyệt đối. Đấy là chưa kể điều kiện, mội trường, hoàn cảnh với thời gian cũng thay đổi. Do vậy cần phải tiên liệu trước những mạo hiểm, rủi ro, tai nạn, ốm đau, bệnh tật, thiên tai có thể xảy ra mà có phương pháp phòng ngừa từ trước. Có thể nói, chi phí dự phòng là chi phí thêm, không mong muốn. khuynh hướng phát triển là tăng độ tin cậy của đối tượng, công việc. Để làm điều đó cần sử dụng các vật liệu mớI, các hiệu ứng mớI, cách tổ chức mới … Tinh thần chung của nguyên tắc này là cảnh giác và chuẩn bị biện pháp đối phó từ trước. Ứng dụng trong lãnh vực tin học : UPS : Dùng cho việc dự phòng khi cúp điện đột ngột, thì lúc đó máy vẫn làm việc bình thường trong một khoảng thời gian nhật định nào đó đủ để chúng ta có những thao tác : Như lưu dữ liệu, tắt máy đúng qui trình … tránh những lỗi gây ra do tắt máy đột ngột. Trong lập trình : Cần Backup các version đã chạy tốt trước khi nâng cấp thêm những yếu cấu mớI, để tránh khi sai sót gì còn có bản dự phòng để sửa chữa … Trong Quản trị CSDL : cần Backup dữ liệu (“Database”) thường xuyên theo định kỳ nào đó. để lỡ CSDL hư hay bị Virus phát hoại còn có bản backup mới nhất để phục hồi lạI, tránh mất mát ở mức thấp nhất nếu có thể. 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 : 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. Điều này có nguồn gốc sâu xa là nhu cấu của con người về sự tồn tại. 13. Nguyên tắc đảo ngược Nội dung : Thay vì hành động theo nhu cầu của 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 Nhận xét : Việc xét khả năng lật ngược vấn đề, trên thật tế là xem xét “nữa kia” của hiện thực khách nhằm mục đích tăng tính bao quát, toàn diện, đầy đủ và khắc phục tính ì tâm lý. Về mặt suy nghĩ, khi giải bài toán cho trước (bài toán thuận), người giải nên xem xét giải quyết bài toán ngược và khả năng đem lại lợi ích của việc giải ngược trong những điều kiện, hoàn cảnh cụ thể nào, để tận dụng nó. Ứng dụng nguyên tắc trên trong tin học : Trong lãnh vực đồ thị, khi yêu cầu chứng minh hai đồ thị liên thông nhau, ta thường giả sử ngược lại là chúng không liên thông và ta đi chứng minh điều này vô lý (hay không thể xảy ra). Đây cách chứng minh phản chứng rất thường dùng trong Toán và Tin. Trong bài toán mật mã, nội dung của văn ban thật thường bị ảm hóa thành những ký tự khác trước khi lưu trữ, Một trong những cách này là đảo ngược ký tự này thành ký tự khác bằng bảng tổng quát để định nghĩa sự thay thế được tạo ra. 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 thành kết cấu hình cầu. Sử dụng các con lăn, viên bi, hình xoắn. Chuyển sang chuyển động quay, sử dụng lực ly tâm. Nhận xét : Việc tạo ra các chuyển động quay trong kỹ thuật không khó, nên các công cụ làm việc muốn cơ khí hóa được tốt, cần chuyển sang dạng tròn, trụ, cầu. Ứng dụng trong Tin học : Đĩa CD,DVD,VCD …,đĩa cứng,mềm : Chính là ứng dụng 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. 15. Nguyên tắc năng độ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 trên từng giai đoạn công 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. Nhận xét : Thông thường công việc là quá trình xảy ra trong một khoảng thời gian nhất định, gốm các giai đoạn với các tình huống khác nhau. Nguyên tắc linh động đòi hỏi phải có cái nhìn bao quát của cả qiúa trình để làm đối tượng hoạt động tối ưu trong từng giai đoạn. Muốn thế đối tượng không thể ở dạng cố định, cứng nhắc mà phải trở nên điều khiển được. Xét về mặt cấu trúc các mối liên kết trong đối tượng phải “mềm dẻo”, “có nhiều trạng thái”, để từng phần đối tượng có khả năng “dịch chuyển” (hiểu theo nghĩa rộng) đối với nhau. Tinh thần chung của nguyên tắc linh động là, đốit ượng phải có những đa dạng phù hợp với sự thay đổi đa dạng ở bên ngoài để đem lại hiệu suất cao nhất. Nguyên tắc linh động phản ánh khuynh hướng phát triển cho nên nó có tính định hướng cao, dùng rất có ích trong trường hợp đặt bài toán, phê bình cái đã có và dự báo. Về mặt tư duy tránh được tính ì tâm lý, sao cho ý nghĩ, cách tiếp cận linh động không cứng nhắc. Ứng dụng trong tin học : Kiểu đối tượng trong lập trình hướng đối tượng : Nó có thể chứa được mọi kiểu dữ liệu, tức tại thời điểm này nó có thể là Integer, nhưng ở thời điểm khác nó có thể là string … Máy tính xách tay : Có thể sử dụng ở nhà hay di chuyển khỏi nhà , cơ quan … Mạng máy tính : Cho phép truy cập dữ liệu không cần phải nối dây (theo cách hiểu nối dây vật lý) Wireless khi cần như đi xa, công tác cũng như cho phép kết nối dùng dây (theo nghĩa vật lý) khi cần. Tính linh động rất cao. ERP : Có thể dùng từng Module (Phân hệ) hay toàn bộ tùy theo yêu cầu hay mục đích của từng doanh nghiệp. 16. Nguyên tắc tác động bộ phận và dư thừa Nội dung : - Nếu như khó nhận 100% hiệu quả cần thiết, nên nhận ít hơn hay nhiều hơn “một chút”. Lúc đó bài toán có thể trở nên đơn giản hơn. Nhận xét : Từ “một chút“ở đây phải hiểu linh động, không nhất định phải quá nhỏ, “không đáng kể”, miễn sao bài toán trở nên dễ giải hơn. Tinh thần chung của nguyên tắc này là không nên quá cầu toàn, chờ đợi các điều kiện lý tưởng. Về cách tiếp cận, nếu giải chính bài toán thì quá khó, khi đó ta có thể giảm bớt yêu cầu để bài toán dễ giải hơn, mặc dù kết quả không hoàn toàn như mong muốn. Ứng dụng vào tin học : Khi tính tích phân xác định của một hàm số f(x) liên tục trong đoạn [a,b], không mất tính tổng quát ta giả sử đã biết chặn trên k của f(x) trong đoạn[a,b] và f(x)>0 với mọi x thuộc [a,b]. Theo lý thuyết tích phân, chúng ta đều biết rằng, tích phân của f(x) trên đoạn [a,b] chính là phần diện tích hình bôi đen sau. Để tính tích phân ta đi tính diện tích của hình đó, tuy nhiên để tính chính xác diện tích đó rất khó nên ta chỉ tính gần đúng diện tích đó tức là chấp nhận “thiếu” hay “thừa” một chút. k Y=f(x) b a O 17. Nguyên tắc bộ xung 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 có 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 những chuyển động (hay sắp xếp) các đối tượng trên mặt phẳng sẽ đơ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 đa 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. Nhận xét : Từ “chiều” cần hiểu theo nghĩa rộng, không chỉ là chiều trong không gian “Chuyển chiều “ phản ánh khuynh hướng phát triển, thấy rõ nhất trong các lĩnh vực xây dựng, giao thông vận tảI, không gian toán học, vật lý tinh thể, cấu trúc các hợp chất … Ứng dụng trong tin học : Phần mềm Autocad 3D : Áp dụng “chuyển chiều” từ 2D (bản vẽ tay trên giấy, trên máy tính 2D) đã cải thiện đáng kể cho công việc thiết kế của các kiến trúc sư, kỹ sư xây dựng do họ có thể quan sát ở mọi góc độ như thực tế và rất dễ chỉnh sửa… Phần mềm dựng phim : Như Maya, 3DMax … cũng được chuyển sang 3D từ 2D. 18. Nguyên tắc sự dao động cơ học Nội dung : Làm cho đối tượng giao động Nếu đã có giao động tăng tần suất giao động Sử dụng tần số cộng hưởng Thay vì sử dụng các bộ phận rung cơ học, dùng các bộ rung áp điện Sử dụng siêu âm kết hợp với trường điện từ. 19. Nguyên tắc tác động theo chu kỳ Nội dung : Chuyển tác động liên tục thành tác động chu kỳ (xung) Nếu đã có tác động chu kỳ, hãy thay đổi chu kỳ Sử dụ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 : Lấy thời gian khi CPU rãnh, để cho phép chạy multitask (hay đa tiến trình “multi proceses”) 20. Nguyên tắc tác động hữu hiệu 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 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 sang chuyển động quay. Nhận xét : Máy móc sinh ra là để làm việc và đem lại lợi ích, vậy phải cải thiện sao cho đến từng bộ phận của máy đều hoạt động đem lại lợi ích ở mức cao nhất nếu có thể. Điều này thể hiện ở việc tăng năng suất, hiệu quả, tiết kiệm thời gian, tăng tính tương hợp, độ bền, tuổi thọ … Nguyên tắc này hay được dùng với các nguyên tắc như : 1.Nguyên tắc phân nhỏ, 2.Nguyên tắc tách khỏI, 3.Nguyên tắc phẩm chất cục bộ, 5.Nguyên tắc kết hợp …. Ứng dụng tronh 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 đó. Thiết kế máy tính Server cho phép chạy liên tục 24/24 ngày này sang ngày khác. 21. Nguyên tắc vượt nhanh Nội dung : Vượt qua những 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. Nhận xét : Nếu tác động là có hại thì có thể làm cho nó không còn có hại nữa bằng cách giảm thời gian tác động đến tối thiểu, hay nói cách khác phải vượt qua nó càng nhanh càng tốt để có được độ an toàn cao. Nguyên tắc vượt nhanh thường sử dụng với các nguyên tắc: 19. Nguyên tắc chuyển động theo chu kỳ, 28. Thay thế sơ đồ cơ học, 34. Nguyên tắc phân hủy hay tái sinh, 36. Nguyên tắc chuyển pha … Ứng dụng trong tin học : Trong máy tính khi chúng ta khởi động máy, máy sẽ kiểm tra bộ nhớ Ram, chúng ta muốn vượt nhanh qua việc kiểm tra này thì nhấn phím “ECS”. Trong ngôn ngữ lập trình cấu trúc rẽ nhánh (if .. then ..else ..,case ..of,..) giúp cho chương trìng hoạt động hiệu quả và 2 nhanh hơn, do vượt qua các điều kiện không thỏa. Trong vòng lập ta có dùng các lệnh như break,last, continue để vượt nhanh… 22. Nguyên tắc chuyển hại thành lợi Nội dung : Sử dụng các 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 với tác nhân có hại khác. Tăng cường tác nhân có hại đến khi nó không còn có hại nữa. Nhận xét : “Lợi” và “hại” mang tính chủ quan và tương đối. Trên thực tế đậy chỉ là hai mặt đối lập của hiện thực khách quan, vấn đề là làm sao trong cái hại tìm ra được cái lợi phục vụ cho con người và hài hòa với thiên nhiên. Nguyên tắc này hay dùng với các nguyên tắc : 2. Nguyên tắc tách khỏI, 5. Nguyên tắc kết hợp, 13. Nguyên tắc đảo ngược… Ứng dụng trong tin học : Biến việc tràn số, tràn bộ đệm (có hại) để phát hiện ra các lỗ hổng trong các phần mềm, để khắc phục các lỗi này (thành cái có lợi). Virus là có hại nhưng ta cũng dựa vào những Viris này để phát hiện ra các lổ hổng của phần mềm, rồi khắc phục chúng vậy tức là ta đã biến Virus có hại thành tác nhân kiểm lỗi cho phần mềm của chúng ta (thành cái có lợi). 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 nó Nhận xét : quan hệ phản hồi là khái niệm rất cơ bản của điều khiển học, có phạm vi ứng dụng rất rộng. Có thể nói ở đậu có sự điều khiển (quản lý, ra quyết định) , ở đó cần chú ý tới quan hệ phản hồi và hoàn thiện nó. Ứng dụng trong tin học: - Ứng dụng trong việc gới Mail : Khi gởi mail đi , cần thông tin phản hồi trở ngược lại nơi gởi xem mail có đi tới đích không, hay dọc đường đã bị rớt …, Cao cấp hơn cho phép người gới Mail biết được Mail của mình có được đọc hay chưa, đọc khi nào … 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. Nhận xét : Mới thoạt nhìn, ta cảm thấy không thuận lắm, vì trung gian chuyển tiếp thường gây phiền phức, tốn thêm chi phí … Mặt khác, có những trường hợp trung gian là sự đòi hỏi khách quan mà nếu thiếu đối tượng trung gian thì hoạt động của hệ thông sẽ kém hiệu quả. Ví dụ : Tiền là hàng hoá trung gian, nếu không có tiền thì sẽ chẳng có sự lưu thông kinh tế nào cả. Ứng dụng trong tin học : Trong lập trình : Biến Tmp (dùng trong hoán vị, lưu trữ dữ liệu tạm thời). Trong CSDL : Table Temp (bảng được xây dựng tạm thời để chứa dữ liệu và sẽ tự mất đi khi hệ thống kết thúc). Cũng như View cũng là một hình thức bảng ảo (tạm) rất có ích trong việc dùng nó để báo cáo do không phải truy cập trện Table thực sự (thường là rất nhiều dữ liệu) sẽ làm chậm chương trình … Hay trong HĐH Windows : luôn có folder Tmp dùng để chứa các file tạm thời (cũng có khi là file rác sinh ra trong quá trình chạy các ứng dụng..), nếu không có các file này đôi lúc hệ thống không thể làm việc được. 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 phụ trợ, sửa chữa. Sử dụng phế liệu, chất thảI, năng lượng dư. Nhận xét : Nguyên tắc tự phục vụ phản ánh khuynh hướng phát triển : đối tượng dần tiến tới thực hiện cộng việc hoàn toàn, nói cách khác, vai trò tham gia vai trò của con người sẽ dần tiến tới 0. Cao hơn nữa, khi các đối tượng nhân tạo được thay thế bằng các quá trình có sẳn trong tự nhiên thì “tự phục vụ” sẽ đạt đến mức độ lý tưởng. Nguyên tắc này thường dùng với các nguyên tắc : 2. Nguyên tắc tách khỏI, 6. Nguyên tắc vạn năng, 20. Nguyên tắc liên tục tác động có ích, 23. Nguyên tắc quan hệ phản hối… Ứng dụng trong tin học : - Phần mềm diệt Virus thông minh có khả năng tự tìm và diệt Virus mới mà không cần phải có mẫu Virus đó trước (Theo cách thông thường hiện nay là phải có mẫu Virus trước rối chỉnh sửa chương trình để nhận dạnh Virus này. Tóm lại chương trình luôn đi sau Virus). Nhưng hiện nay có một số hãng phần mềm đang viết ra phần mềm thông minh có khả tự điều chỉnh hoàn thiện để nhận dạng Virus mới mà không cần có mẫu Virus đó trước. 26. Nguyên tắc sao chép Nội dung : Thay vì sử dụng cái không được phép, phức tạp đắt tiền, không tiện lợi dễ vỡ, sử dụng bản sao. Thay thế đối tượng hay hệ các đối tượng bằng các bản sao quang học (ảnh, hình vẽ) với các tỉ lệ cần thiết. Nếu không thể sử dụng bản sao quang học ở vùng biểu kiến (vùng ánh sáng nhìn thấy được bằng mắt thường), chuyển sang sử dụng bản sao hồng ngoại hoặc tử ngoạI. Nhận xét : Từ “sao chép” cần hiểu theo nghĩa rộng : phản ánh những cái chính của đối tượng, cần thiết cho việc giải bài toán, nếu như làm trực tiếp đối tượng gặp khó khăn. Việc phản ánh đối tượng theo từng mặt, khía cạnh, phương diện… rất có ích lợi trong việc đi tìm những cái tương tự giữa các đối tượng khác nhau, thậm chí rất xa nhau. Mặt khác, đối tượng phản ánh chính là mô hình của đối tượng cho trước thường dễ “giải”, dễ nghiên cứu hơn. Mô hình hóa là cách tiếp cận khi giải các bài toán khó. Ứng dụng trong tin học : Phần mềm tìm đường đi ngắn nhất được thực hiện trên trên bản đồ (sao chép theo tỉ lệ xích phù hợp) sẽ dễ dàng hơn nhiều nếu nghiên cứu thực tế trên thực tế. Các phần mềm giả lập các mô hình thực tế như mô hình lái máy bay, các dây chuyền sản xuất Các phần mềm giả lập chỉ cách cài đặt phần mềm như : Windows 2000 … 27. Nguyên tắc rẽ thay cho đắt Nội dung : Thay thế đối tượng đắt tiền bằng bộ các đối tượng rẻ có chất lượng kém hơn. Nhận xét : Có nhiều nguyên nhân để ta phải thay thế đối tượng đắt tiền bởi đối tượng rẻ tiền, ví dụ : dùng một lần để khỏi mất thời gian bảo hành, sửa chữa …. Đáp ứng được nhu cầu nhiều người sử dụng (vừa túi tiền)… Ứng dụng trong tin học : Các phần mềm dùng thử, Shareware hay phần mềm không mất tiền (freeware), mặc dù những phần mềm này có thể hạn chế về mặt chức năng nhưng đáp ứng được nhu cầu : không mất tiền và cũng đáp ứng được tương đối công việc. Các phần mềm có nhiều phiên bản : Tùy theo chức năng của từng phiên bản sẽ có giá tiền khác nhau , ví dụ : bản basic sẽ có ít chức năng hơn các bản khác, nhưng bù lại sẽ có giá rẻ hợp lý với đa số người tiêu dùng. 28. Nguyên tắc thay thế sơ đồ cơ học Nội dung : Thay thế sơ đồ 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 đối 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ừ. Nhận xét : Nguyên tắc này phản ánh khuynh hướng phát triển : những gì trước đây và bây giờ còn là “cơ học” sẽ chuyển thành không cơ học (dùng điện,từ, điện từ, ánh sáng…). Ứng dụng trong tin học : Thay thế các máy đánh chữ theo cơ học thành máy vi tính kết hợp máy in ngày nay. Thay thế việc lưu giữ liệu bằng cách ghi chép thông thường trên giấy bằng lưu trữ trên băng đĩa (Cdrom, đĩa mềm, Ổ cứng …) Thay thế việc tính toán bốn phép tính bởi bàn tính bằng máy vi tính . 29. Nguyên tắc sử dụng các kết cấu thủy và khí 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 : nạp khí, nạp chất lỏng, đệm không khí, thủy tĩnh, thủy phản lực. 30. Nguyên tắc sử dụng bao mềm dẻo và mềm 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 ngoài bên ngoài bằng các vỏ dẻo và màng mỏng. Nhận xét : Thủ thuật này liên quan đến bề mặt, lớp ngăn cách đối tượng, tại đó có những yếu cầu mà kết cấu khối không đáp ứng được hay đáp ứng nhưng với mức độ không cao. Vỏ dẻo và màng mỏng có nhiều ưu điểm như nhẹ, linh động, chiểm ít không gian, có chức năng bảo vệ tốt, dễ trang trí … Nguyên tắc này thường dùng với các nguyên tắc sau : 2. Nguyên tắc tách khỏI, 3. Nguyên tắc phẩm chất cục bộ, 11. Nguyên tắc dự phòng, 27 . Nguyên tắc rẻ thay cho đắt … Ứng dụng trong tin học : Thay thế việc Case (thùng chứa CPU) bằng sắt bởi bằng nhựa, như thế có nhiều mặt lợi như : rẻ tiền, nhẹ, không sét, dể tháo lắp … 31. Nguyên tắc sử dụng vật liệu nhiều lỗ Nội dung : Làm cho đố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. Nhận xét : Vật liệu nhiều lỗ có nhiều ưu điểm như nhẹ, cách nhiệt, cách âm tốt, tiết kiệm nguyên liệu, có thể dùng làm các thiết bị lọc, có thể tích nhỏ nhưng tống diện tích các lỗ rất lớn … Nguyên tắc này thường dùng với các nguyên tắc như : 2. Nguyên tắc tách khỏI, 3. Nguyên tắc phẩm chất cục bộ, 5. Nguyên tắc kết hợp … Ứng dụng trong tin học : Case của CPU : Thường có nhiều lỗ để thoát khí, làm cho nhiệt độ trong thùng hạ xuống . 32. Nguyên tắc đổi màu 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 hay những quá trình, sử dụng các chất phụ gia màu, huỳnh quang. Nếu các chất phụ gia đó đã được sử dụng, dùng các nguyên tử đánh dấu. Sử dụng các hình vẽ, ký hiệu thích hợp. Nhận xét : Trong năm giác quan của con người thì thị giác đóng vai trò quan trọng nhất. Hơn 90% thông tin nhận được từ thế giới bên ngoài thông qua giác quan này. Màu sắc có nhiều tránh việc chỉ dùng một màu nào đó. Cần quy ước mội loại màu ứng với cái gì, trên cơ sở đó dễ bao quát, xử lý thông tin nhanh. Các hình vẽ, ký hiệu thích hợp rất có tác dụng, giúp cho suy nghĩ thoáng, thấy trước cái mối liên hệ giữa các bộ phận. Nếu có thể nên vẽ sơ đồ khốI, chúng giúp ta không chỉ thấy cây mà còn thấy rừng. Nguyên tắc này thường kết hợp với các nguyên tắc : 2. Nguyên tắc tách khỏI, 3. Nguyên tắc phẩm chất cục bộ, 10. Nguyên tắc thực hiện sơ bộ, 26. Nguyên tắc sao chép… Ứng dụng trong tin học : Trong các chương trình máy tính thường có các thông báo như : Thông báo màu đỏ ý cảnh báo một điều gì đó cần thận trọng, thông báo về hỏi điều gì đó thường có dấu biểu tượng “?” trong thông báo đó… Trong các 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, điều này tạo cho người sử dụng dễ thao tác hơn … 33. Nguyên tắc đồng nhất Nội dung : Những đối tượng, tương tác với các đối tượng cho trước, phải được làm từ cùng vật liệu (hoặc từ vật liệu gần về các tính chất) với các vật liệu để tạo đối tượng cho trước. Nhận xét : Từ “đồng nhất” phải hiểu theo nghĩa rộng, không đơn thuần đồng nhất về mặt vật liệu, như nghĩa đen của nguyên tắc này có thể hiếu là, phải làm sao đảm bảo và tính tương hợp giữa những đối tượng tương tác với đối tượng cho trước. Ứng dụng trong tin học : Trong phần mềm các form nhập liệu phải có giao diện chuẩn như : màu sắc, cách bố cục các nút, textbox, label … phải giống nhau. Các form thông báo phải đống nhất như : Thông báo cần chú ý phải có màu đỏ, các form hỏi đáp phải có các biểu tượng như dấu “?” phải giống nhau … Trong Phần cứng : Tốc độ xung nhịp nên đồng bộ với nhau như : CPU bus 800 thì nên dùng Ram BUS 400 2 thanh chạy chế độ Dual để có băng thông tương ứng, Main dùng cùng Bus 800 và cùng hãng … nói chung ta nên dùng các thành phần cùng đồng bộ với nhau thì khi đó sẽ đạt được kết quả cao nhất. 34. Nguyên tắc loại bỏ và tái sinh từng 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 (hoà tan,bay hơi…). 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. Nhận xét : Nguyên tắc này là trường hợp đặc biệt của hai nguyên tắc 15. Nguyên tắc linh động , 20. Nguyên tắc liên tục tác động có ích : Khi không còn có ích nữa thì phải linh động biến mất, ngược lại khi cần có tác động có ích thì phải linh động xuất hiện. Như vậy mới thật tối ưu. Ứng dụng trong tin học : Trong lập trình CSDL : Table temp được tạo ra khi cần thiết để chứa dữ liệu và khi không cần thiết nữa nó sẽ tự mất đi khi hệ thống kết thúc. Biến cục bộ trong module (hàm hay thủ tục) sẽ tạo ra khi cần thiết để lưu giữ dữ liệu và mất khi kết thúc module. 35. Nguyên tắc đổi các thông số hóa lý của đối tượng Nội dung : Thay đổi trạng thái của đối tượng Thay đổi nồng độ hay độ đậm đặc Thay đổi độ dẻo Thay đổi nhiệt độ, thể tích. 36. Nguyên tắc 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 … 37. Nguyên tắc sử dụng 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 đã sử dụng nở nhiệt, sử dụng vài vật liệu có các hệ số nở nhiệt khác nhau. 38. Nguyên tắc sử dụng các chất Oxy hóa 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. Thay oxy giàu Ôzôn (hoặc ôxy bị ion hoá) bằng chính ôzôn. 39. Nguyên tắc sử dụng môi trường trơ Nội dung : Thay môi trường thông thường bằng môi trường trung hòa. Dưa thêm vào đối tượng các phần, các chất phụ gia trung hòa… Thực hiện quá trình trong chân không. 40. Nguyên tắc sử dụng vật liệu tổng hợp Nội dung : Chuyển từ các vật liệu đồng nhất sang sử dụng các vật liệu hợp thành (composite). Hay nói chung, sử dụng các loại vật liệu mới. Bài toán III. CÁC PHƯƠNG PHÁP NGHIÊN CỨU, GIẢI QUYẾT VẤN ĐỀ - BÀI TOÁN TRONG TIN HỌC. Phương pháp giảI quyết vấn đề của thế giới thực Các thực thể và phép toán trong thế giới thực Các thực thể của thế giớI hiện tại Giải đáp kết quả Người lập trình biểu diễn lạI bài toán Chương trình trên máy tính Các đối tượng và phép toán trong ngôn ngữ lập trình Kết xuất ở máy tính 1. Phương pháp trực tiếp : Đặc điểm của cách giải quyết vấn đề này là đều xác định được trực tiếp lời giải thông qua một thủ thục tính toán (cộng thức, hệ thức, định luật…) hoặc qua cách bước căn bản để có được lời giải. Đối với phương pháp này, việc giải quyết vấn đề trên máy tính chỉ là thao tác lập trình hay chỉ là sự chuyển đổi từ ngôn ngữ bên ngoài sang ngôn ngữ sử dụng trong máy tính. Tìm hiểu phương này chính là tìm hiểu phương pháp lập trình trên máy tính. Để thực hiện tốt phương pháp trực tiếp ta nên áp dụng các nguyên lý sau Nguyên lý 1 : Chuyển đổi dữ liệu của bài toán thành dữ liệu của chương trình, có nghĩa là “Dữ liệu của bài toán sẽ đựoc biểu diển dưới dạng các biến của chương trình thông qua các quy tắc xác định của ngôn ngữ lập trình cụ thể”. Một số quy tắc cần tuân thủ như sau : Ý nghĩa của biến chỉ được hiểu bởi con người. Mọi biến trong chương trình cần được khai báo trước khi sử dụng. Tên biến cần gợi nhớ và thống nhất như : Tên biến phải liên quan đến ý nghĩa, tên biến phải có tiền tố cho biết kiểu biến, viết hoa mỗi chữ cái đầu, viết tắt tên biến, đừng đặt tên biến quá dài … Nguyên lý 2 : Chuyển đổi quá trình tính toán của bài toán thành các cấu trúc của chương trình, có nghĩa là “mọi quá trình tính toán đều có thể mô tả và thực hiện dựa trên ba cấu trúc cơ bản : Cấu trúc tuần tự, cấu trúc rẽ nhánh và cấu trúc lặp”. Dùng biến trung gian cho hợp lý, đừng quá lạm dụng biến trung gian. Nguyên lý 3 : Biểu diễn các tính toán chính xác, nghĩa là “Chương trình tính toán theo các biểu thức chính xác không đồng nhất với quá trình tính toán chính xác về mặt hình thức”. Một số quy tắc cần tuân thủ : So sánh bằng nên dùng |a-b|<e Quá trình tối ưu tính toán biểu thức của ngôn ngữ có thể làm ảnh hưởng đến kết quả tính toán. Nguyên lý 4 : Biểu diễn các tính toán gần đúng bằng phương pháp lặp, có nghĩa là : ”Mọi quá trình tính toán gần đúng đều dựa trên cấu trúc lặp với tham số xác định”. Một số quy tắc cần lưu ý: Biểu thức lặp chưa chắc là công thức lặp tối ưu trong máy tính. Thay thế các cấu trúc lặp xác định không tường minh bằng cấu trúc lập không xác định. Đừng thay đổi biến đếm trong vòng lặp xác định. Tránh dùng các điều kiện rẽ nhánh không điều kiện (Goto) một cách không cần thiết. Đừng tính lại các hằng số trong một vòng lặp. Nguyên lý 5 : Phân chia bài toán thành các bài toán nhỏ hơn, có nghĩa là : ”Mọi vấn đề bài toán đều có thể giải quyết bằng cách phân chia thành những bài toán nhỏ hơn”. Một số quy tắc : Dùng chương trình con : Hàm, thủ tục để chia nhỏ chương trình. Nguyên lý 6 : Biểu diễn các bài toán không tường minh bằng phương pháp đệ quy, có nghĩa là : “Quá trình đệ trong máy tính không đơn giản như các biểu thức quy nạp của toán học”. Một số quy tắc: Khử đệ quy : Chuyển tham số đệ quy thành biến đếm của vòng lặp. Khử đệ quy : Chỉ đưa vào stack những tham số có ý nghĩa trong quá trình đệ quy. 2. Phương pháp gián tiếp : Phương pháp này được áp dụng khi chứa tìm ra lời giải chính xác của vấn đề. Đây cũng chính là cách tiếp cận chủ yếu của loài người từ xưa đến nay. Điều khác hôm nay là chúng ta đưa ra những giải pháp đặc trưng của máy tính. Tất nhiên một lời giải trực tiếp bao giờ cũng tốt hơn. - Phương pháp thử - sai Khi xây dựng bài toán theo phương pháp thử - sai, người ta thường dựa vào 3 nguyên lý chính sau : Nguyên lý vét cạn : Đây là nguyên lý đơn giản nhất, liệt kê tất cả trường hợp có thể xảy ra. Nguyên lý ngẫu nhiên : Dựa vào việc thử một trường hợp được lấy ra ngẫu nhiên. Khả năng tìm ra lời giải đúng phụ thuộc rất nhiều vào sự lựa chọn này. Nguyên lý mê cung : Nguyên lý này được áp dụng khi ta không thể biết chính xác được “hình dạnh của lời giải” mà phải xây dựng lời giải từng bước một giống như tìm đường trong mê cung. Ngoài ra để thực hiện tốt phương thử - sai ta nên áp dụng các nguyên tắc sau : Nguyên lý vét cạn toàn bộ: Muốn tìm được cây kim trong đống rơm, hãy lần lượt rút từng cọng rơm cho đến khi rút được cây kim. Nguyên lý mắt lưới : Lưới bắt cá chỉ có thể bắt được những con cá to hơn mắt lưới. Nguyên lý giảm độ phức tạp của thử và sai : Thu hẹp trường hợp trước và trong khi duyệt, đồng thới đơn giản hoá tối đa điều kiện chấp nhận một trường hợp. Nguyên lý thu gọn không gian tìm kiếm : Lọai bỏ trường hợp hay nhóm các trường hợp chắc chắn không dẫn tới lời giải. Nguyên lý đánh giá nhánh cận : Nhánh có chứa quả phải nặng hơn trọng lượng của quả. - Phương pháp Heuristic Phương thức thử - sai khi giải quyết vấn đề thường dùng số lượng phép thử rất lớn, thời gian có được kết quả thường khá lâu, đội khi không thể chấp nhận được. Phương pháp Heuristic đơn giản và gần gủi với suy nghĩ của con người. Cho ra được những lời giải đúng trong đa số các trường hợp áp dụng. Các thuật giải heuristic được xây dựng trên một số nguyên lý rất đơn giản như “vét cạn thông minh”, “tối ưu cục bộ”, “hướng đích”,”sắp thứ tự”… Đây là một số thuật giải khá thú vị và có nhiều ứng dụng trong thực tiễn. Để thực hiện tốt phương pháp Heuristic, chúng ta nên áp dụng các nguyên lý sau : Nguyên lý leo núi : Muốn leo lên đỉnh thì bước sau phải “cao hơn” bước trước. Nguyên lý chung : Chọn hướng đi triển vọng nhất trong số những hướng đi đã biết. - Phương pháp trí tuệ nhân tạo Phương pháp thử - sai và Heuristic, nói chung đều dựa trên điểm cơ bản là dùng trí thông minh của con người để giải bài toán, máy tính chỉ đóng vai trò thực thi mà thôi. Còn các phương pháp trí tuệ nhân tạo lại dựa trên trí thông minh của máy tính. Trong những phương pháp này, người ta phải đưa vào máy trí thông minh nhân tạo giúp máy bắt trước một phần khả năng suy luận như con người. Từ đó, khi gặp một vấn đề, máy tính sẽ dựa trên những điều mà nó đã “học“để tự đưa ra phương án giải quyết vấn đề. Trong lĩnh vực “máy học “, các hình thức học có thể chia ra như sau : Học vẹt Học bằng cách chỉ dẫn Học bằng qui nạp Học bằng tương tự Học dựa trên giải thích Học dựa trên tình huống Khám phá hay học không giám sát Các kỷ thuật thường được áp dụng trong “máy học” là : Khai khoáng dữ liệu Mạng nơron Thuật giải di truyền … KẾT LUẬN Một lần nữa Em xin cảm ơn Thầy Hoàng Kiếm và Thầy Phan Dũng. Vì qua việc báo cáo tiểu luận này, Em đã thay đổi rất nhiều về cách suy nghĩ cũng như tư duy về mọi vấn đề, không chỉ là những vấn đề trong tin học, tránh được tính ì tâm lý và cách suy nghĩ theo lối mòn thiếu sáng tạo. Do thời gian và khả năng có hạn nên Em chỉ ứng dụng một số nguyên tắc vào việc giải quyết các vấn đề trong tin học. TÀi LIỆU THAM KHẢO Chuyên đề phương pháp nghiên cứu khoa học trong tin học của GSTS. Hoàng Kiếm năm 2005. Giải một bài toán trên máy tính như thế nào của GSTS. Hoàng Kiếm. Tập 1,2,3 năm 2005. Sổ tay sáng tạo : Các thủ thuật (Nguyên tắc) cơ bản của GSTS. Phan Dũng năm 1994 Làm thế nào để sáng tạo ? Của GSTS. Phan Dũng năm 1992.

Các file đính kèm theo tài liệu này:

  • docudpp_ntsangtao_buitranquangvu_ch0301088_9985.doc