Tiểu luận Tìm hiểu TRIZ và ARIZ MỤC LỤC I. Phương pháp luận sáng tạo khoa học. trang 2 I.1. Giới thiệu trang 2 I.2. TRIZ và ARIZ trang 2 II. Các thủ thuật, nguyên tắc sáng tạo cơ bản trang 3 III. Ứng dụng của các thủ thuật sáng tạo trong tin học trang 4 III.1. Nguyên tắc phân nhỏ: trang 4 III.2. Nguyên tắc “tách khỏi” trang 7 III.3. Nguyên tắc dự phòng trang 8 III.4. Nguyên tắc “rẻ” thay cho “đắt” trang 9 IV. Kết luận trang 9 V. Tài liệu tham khảo trang 10 I. PHƯƠNG PHÁP LUẬN SÁNG TẠO I.1. Giới thiệu Phương pháp luận sáng tạo và đổi mới (Creativity and Innovation Methodologies) là phần ứng dụng của Khoa học về sáng tạo (sáng tạo học, tên cổ điển – Heuristics, tên hiện đại – Creatology), gồm hệ thống các phương pháp và các kỹ năng cụ thể giúp nâng cao năng suất và hiệu quả, về lâu dài tiến tới điều khiển tư duy sáng tạo (quá trình suy nghĩ giải quyết vấn đề ra quyết định) của người sử dụng. Trong cuộc sống, chúng ta luôn phải đối mặt với các sự việc, vấn đề, những suy nghĩ, câu hỏi luôn được đặt ra liên tục trong công việc, học tập, đời sống… Chúng ta có thể giải quyết một cách nhanh lẹ hay ko tùy vào mức độ phức tạp hay khả năng. Tuy nhiên liệu cách giải quyết đó có thực sự là đúng đắn hay xa hơn là tốt nhất, tối ưu? Thực tế cho thấy, phần lớn chúng ta thường suy nghĩ một cách tự nhiên như ăn, ngủ, hít thở mà ít khi suy nghĩ đến cách mà chúng ta suy nghĩ, cách chúng ta giải quyết một vấn đề để tìm hiểu cách hoạt động, cách cải tiến, làm cho suy nghĩ của chúng ta tốt hơn. Với cách suy nghĩ đơn giản tự nhiên ấy sẽ mang đến năng suất, hiệu quả thấp và nhiều khi là dẫn đến việc phải trả giá đắt cho những sai lầm. Như vậy ngoài cách suy nghĩ thông thường, bản năng thì chúng ta phải tìm cách để suy nghĩ một cách hợp lý để tạo ra năng suất, hiệu quả cao nhất. Nếu như cần “học ăn, học nói, học mở” thì “học suy nghĩ” cũng là rất cần thiết cho mỗi chúng ta. I.2. TRIZ và ARIZ Lý thuyết giải các bài toán sáng chế (chuyển tự từ tiếng Nga là Teoriya Resheniya Izobreatatelskikh Zadatch, viết tắt TRIZ) là phương pháp luận tìm kiếm những giải pháp kỹ thuật mới, cho những kết quả khả quan, ổn định khi giải những bài toán khác nhau, thích hợp cho việc dạy và học với đông đảo quần chúng. Tác giả của TRIZ, G.S. Altshuller, bắt đầu nghiên cứu, xây dựng lý thuyết từ 1946. Tiền đề cơ bản của TRIZ là: các hệ kỹ thuật phát triển tuân theo các quy luật khách quan, nhận thức được. Chúng được phát hiện và sử dụng để giải một cách có ý thức những bài toán sáng chế. TRIZ được xây dựng như là một khoa học chính xác, có lĩnh vực nghiên cứu riêng, các phương pháp riêng, ngôn ngữ riêng, các công cụ riêng. Hạt nhân của TRIZ là thuật toán giải các bài toán sáng chế (viết tắt theo tiếng Nga là ARIZ). ARIZ là một chương trình các hành động tư duy có định hướng, được kế hoạch hóa. 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, bước đầu tạo cơ sở cho lý thuyết chung về tư duy định hướng. ARIZ có tính logic và linh động. Về mặt logic, ARIZ 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ĩ. Lợi ích của ARIZ nói chung là nâng cao hiệu suất tư duy sáng tạo giải quyết vấn đề và ra quyết định. Ý nghĩa của TRIZ và ARIZ là ở chỗ xây dựng tư duy định hướng nhằm đi đến lời giải bằng con đương ngắn nhất dựa trên các quy luật phát triển các hệ kỹ thuật và sử dụng chương trình tuần tự các bước, có kết hợp một cách hợp lý 4 yếu tố: tâm lý, logic, kiến thức và trí tưởng tượng. TRIZ được dùng kết hợp với những phương pháp kinh tế-tổ chức (như phương pháp phân tích giá thành-chức năng, gọi tắt là FSA) tạo nên công cụ tổng hợp và có hiệu lực mạnh mẽ tác động tốt đến sự phát triển công nghệ. II. CÁC THỦ THUẬT, NGUYÊN TẮC SÁNG TẠO CƠ BẢN Trong bất kỳ lĩnh vực nào, thông qua việc giải quyết thành công nhiều bài toán, người ta đều rút ra được các kinh nghiệm, “bí quyết”, “mẹo” giúp giải quyết các vấn đề trong lĩnh vực đó nhanh hơn, hiệu quả hơn các phương pháp thử và sai thông thường. Những kinh nghiệm, mẹo, bí quyết như vậy được gọi là các thủ thuật sáng tạo (Heuristic Technique). Ở đây chúng ta sẽ chỉ bàn về các thủ thuật sáng tạo cơ bản của G.S. Altshuller.Theo ông, ông đã nhận ra rằng sáng tạo sáng chế chính là giải quyết các mâu thuẫn kỷ thuật, tạo ra sự phát triển. Ở đó, đối tượng sau khi được cải tiến (mâu thuẫn kỷ thuật sau khi được giải quyết) có đồng thời tính mới và tính ích lợi so với đối tượng tiền thân. Do đó, tiêu chuẩn lựa chọn các thủ thuật phải 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á bài toán sáng tạo, sáng chế. Với cách tiếp cận này, ông nhận ra rằng các bài toán thuộc các lĩnh vực khác nhau, có những mâu thuẫn kỷ thuật phổ biến giống nhau. Để giải quyết chúng lại có những cách giống nhau tương ứng. Nói cách khác, với cách tiếp cận này không chỉ tìm ra các thủ thuật mạnh mà còn có phạm vi áp dụng rộng. G.S. Altshuller tìm ra các thủ thuật dựa trên phân tích số lượng rất lớn (khoảng hơn 40.000 bản mô tả sáng chế) các thông tin sáng tạo, sáng chế được chọn lọc thuộc những lĩnh vực kỹ thuật khác nhau, đang phát triển mạnh. Như vậy, những thủ thuật tìm ra là sự phản ánh khách quan của rất nhiều các nhà khoa học, sáng chế chứ không chỉ là sự miêu tả chủ quan của một cá nhân nhất định. Đến 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 cơ bản. Hệ thống 40 thủ thuật (nguyên tắc) cơ bản của G.S. Altshuller bao gồm: 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ộ. 4. Nguyên tắc phản đối xứng. 5. Nguyên tắc kết hợp. 6. Nguyên tắc vạn năng. 7. Nguyên tắc chứa trong. 8. Nguyên tắc phản trọng lượng. 9. Nguyên tắc gây ứng suất sơ bộ. 10. Nguyên tắc thực hiện sơ bộ. 11. Nguyên tắc dự phòng. 12. Nguyên tắc đẳng thế. 13. Nguyên tắc đảo ngược. 14. Nguyên tắc cầu, tròn hóa. 15. Nguyên tắc linh động. 16. Nguyên tắc giải thiếu hoặc thừa. 17. Nguyên tắc chuyển sang chiều khác. 18. Nguyên tắc các dao động cơ học. 19. Nguyên tắc tác động theo chu kỳ. 20. Nguyên tắc liên tục các tác động có ích. 21. Nguyên tắc “vượt nhanh”. 22. Nguyên tắc biến hại thành lợi. 23. Nguyên tắc quan hệ phản hồi. 24. Nguyên tắc sử dụng trung gian. 25. Nguyên tắc tự phục vụ. 26. Nguyên tắc sao chép. 27. Nguyên tắc “rẻ” thay cho “đắt”. 28. Thay thế sơ đồ cơ học. 29. Sử dụng các kết cấu khí và lỏng. 30. Sử dụng vỏ dẻo và màng mỏng. 31. Sử dụng các vật liệu nhiều lỗ. 32. Nguyên tắc thay đổi màu sắc. 33. Nguyên tắc đồng nhất. 34. Nguyên tắc phân hủy hoặc tái sinh các phần. 35. Thay đổi các thông số hóa lý của đối tượng. 36. Sử dụng chuyển pha. 37. Sử dụng sự nở nhiệt. 38. Sử dụng các chất oxy hóa mạnh. 39. Thay đổi độ trơ. 40. Sử dụng các vật liệu hợp thành. III. ỨNG DỤNG CỦA CÁC THỦ THUẬT SÁNG TẠO TRONG TIN HỌC Trong phạm vi bài viết thì chúng ta chỉ đề cập đến một vài phương pháp thường được dùng trong tin học và đã được chứng minh là hiệu quả. Cụ thể chúng ta sẽ đề cập đến 4 nguyên tắc bao gồm: nguyên tác phân nhỏ, nguyên tắc “tách khỏi”, nguyên tắc dự phòng và nguyên tắc “rẻ” thay cho “đắt”. III.1. Nguyên tắc phân nhỏ a. 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. b. Nhận xét, ứng dụng: Ở đây các “đối tượng” phải hiểu là tất cả những gì có thể phân nhỏ được, không chỉ giới hạn trong các đối tượng kỷ thuật. “Độc lập” không chỉ có nghĩa là độc lập hoàn toàn mà có nhiều mức độ độc lập khác nhau. Trong cuộc sống sẽ có những bài toán, vấn đề khó hoặc không thể giải quyết một cách toàn vẹn “một lần”, “nguyên khối” được. Khi đó việc “phân nhỏ” vấn đề sẽ tạo từ bài toán lớn thành những bài toán nhỏ hơn, vừa sức và dễ dàng thực hiện. Việc phân nhỏ đối tượng cũng có thể làm xuất hiện những đặc điểm mới, có lợi mà đối tượng nguyên thủy không có, sự biến đổi về lượng dẫn đến sự biến đổi về chất. Ta có thể bắt gặp nhiều ứng dụng của nguyên tắc phân nhỏ như tháo lắp thiết bị to lớn, cồng kềnh ra nhiều phần nhỏ để dễ vận chuyển; rừng được trồng thành nhiều ô nhỏ cách nhau để dễ cô lặp, chữa cháy khi xảy ra cháy rừng; trong chiến tranh, các kho lương thực vũ khí được chia ra ở nhiều nơi khác nhau để tráng tổn thất lớn khi bị định tấn công,… Trong tin học, việc ứng dụng nguyên tắc phân nhỏ được sử dụng khá nhiều. Từ vấn đề cơ bản nhất là thiết kế, xây dựng một phần mềm ứng dụng. Khi xem một phần mềm là một khối duy nhất, việc xây dựng sẽ gặp nhiều khó khăn như độ lớn của công việc, khó có thể làm việc nhiều người cùng lúc một cách hiệu quả, khó khăn trong việc bảo trì, nâng cấp Rõ ràng cách làm việc này gặp nhiều khó khăn và không hiệu quả. Để có thể thực hiện tốt hơn chúng ta cần áp dụng nguyên tắc phân nhỏ. Xem một phần mềm là một tập hợp các phần, module nhỏ hơn, việc phân chia các phần này có thể dựa trên đặc trưng của từng phần như đồ họa, xử lý, cơ sở dữ liệu,… hay dựa trên cách thức hoạt động của chúng, và từ các phần nhỏ ấy có thể tiếp tục phân nhỏ để tạo thành một tập hợp các công việc khác. Khi đã phân nhỏ sẽ tạo ra những công việc đơn giản, nhỏ hơn và dễ dàng thực hiện. Ví dụ như việc vẽ một căn nhà, ta có thể chia ra thành nhiều công việc nhỏ như vẻ cánh cửa, vẻ mái nhà, vẽ các cửa sổ, vẽ các hàng cây… Từng phần của phần mềm sẽ được xây dựng riêng lẽ và cuối cùng sẽ được kết hợp, ráp lại thành một phần mềm hoàn chỉnh. Trong quá trình phân nhỏ công việc, ta thấy thêm một lợi ích của việc ứng dụng nguyên tắc phân nhỏ trong việc xây dựng phần mềm. Đó là khi phân nhỏ tới mức độ nhất định sẽ làm xuất hiện các công việc giống nhau được lập lại nhiều lần. Khi đó ta chỉ cần xây dựng một lần duy nhất và thực hiện việc gọi các hàm từ nhiều nơi khác nhau. Việc đó sẽ làm tiết kiệm chi phí, công sức đi rất nhiều. Ngay cả trong cách thức chúng ta xây dựng các phần mềm, với cách cơ bản nhất là viết liên tục với những dòng lệnh chạy liên tiếp nhau, rõ ràng sẽ làm cho phần mềm trở nên khó quản lý, bảo trì. Khi đó giải pháp là phân chia các chức năng cụ thể thành các hàm và xây dựng riêng biệt để tăng tính hiệu quả, linh động của chương trình. Và dễ dàng trong việc thực hiện với nhiều người khác nhau. Hay cao hơn là phương pháp lập trình hối đối tượng, việc chia từ một chương trình lớn nhiều chi tiết thành nhiều lớp đối tượng khác nhau với các chức năng riêng biệt là một các tiếp cận tốt để xây dựng một phần mềm một cách hiệu quả. Và khi đó sự phân chia lớp lại dẫn đến hình thành nhiều đặc tính tốt mà cách lập trình thủ tục trước đó chưa có được như các vấn đề thừa kế, sao chép, tạo đối tượng… Nguyên tắc phân nhỏ còn dẫn đến sự hình thành của việc thuê ngoài, sự xuất hiện của các công ty chuyên gia công một phần của phần mềm. Nó giải quyết được vấn đề phức tạp của toàn bộ phần mềm được chia đều cho từng tập thể chuyên về một bộ phận nhất định của phần mềm, và giúp cho các công ty nhỏ lẻ, không có khả năng về công nghệ, tài chính để xây dựng một sản phẩm hoàn chỉnh vẫn có thể phát triển và tồn tại. Nguyên tắc phân nhỏ cũng được áp dụng trong việc sản xuất các thiết bị phần cứng. Để sản xuất ra một thiết bị hoàn chỉnh thì cần rất nhiều các bộ phận nhỏ với những đặc điểm về công nghệ, cơ sở vật chất khác nhau sẽ dẫn đến việc phải đầu tư rất lớn và lâu dài. Để giải quyết thì sẽ có những công ty chuyên sản xuất một bộ phận nhất định để cung cấp cho các công ty lắp ráp, sản xuất các thiết bị cần bộ phận đó. Khi đó thay vì phải tự xây dựng, nghiên cứu thì các công ty lắp ráp chỉ việc mua lại các thiết bị từ các công y chuyên biệt đó. Việc đó dẫn đến nhiều chi tiết, bộ phận được sản xuất, gia công bởi nhiều hãng, ở nhiều nơi khác nhau, sau đó được mua lại ra lắp thành một thiết bị hoàn chỉnh để đến tay người dùng. Tiếp theo, ta sẽ bàn về việc ứng dụng của nguyên tắc phân chia trong thuật toán Quick sort. Sắp xếp nhanh (Quicksort), còn được gọi là sắp xếp kiểu phân chia (part sort) là một thuật toán sắp xếp phát triển bởi C.A.R. Hoare, dựa trên phép phân chia danh sách được sắp thành hai danh sách con. Khác với sắp xếp trộn, chia danh sách cần sắp xếp a[1 n] thành hai danh sách con có kích thước tương đối bằng nhau nhờ chỉ số đứng giữa danh sách, sắp xếp nhanh chia nó thành hai danh sách bằng cách so sánh từng phần tử của danh sách với một phần tử được chọn được gọi là phần tử chốt. Những phần tử nhỏ hơn hoặc bằng phần tử chốt được đưa về phía trước và nằm trong danh sách con thứ nhất, các phần tử lớn hơn chốt được đưa về phía sau và thuộc danh sách đứng sau. Cứ tiếp tục chia như vậy tới khi các danh sách con đều có độ dài bằng 1. Đoạn mã giả của thuật toán có thể được trình bày như sau: + Thủ tục phân chia: Function Part(a[1 n],k1,k2) { i=k1; j=k2; k=int((k1+k2)/2)+1; v=a[k] While i<j do While a[i]<=v do i:=i+1; While a[j]>v and j>i do j=j-1; if i>=k2 then Swap(a[k],a[k2]) return k2-1 Swap(a[i],a[j]) return i-1 } + Thủ tục Quick Sort: Procedure QuickSort (a,k1,k2) { if k1<k2 then k=part(a,k1,k2) QuickSort(a,k1,k) QuickSort(a,k+1,k2) } . Tiểu luận Tìm hiểu TRIZ và ARIZ MỤC LỤC I. Phương pháp luận sáng tạo khoa học. trang 2 I.1. Giới thiệu trang 2 I.2. TRIZ và ARIZ trang 2 II tính và hạn chế mặt yếu như tính ỳ tâm lý, sự phân tán trong suy nghĩ. Lợi ích của ARIZ nói chung là nâng cao hiệu suất tư duy sáng tạo giải quyết vấn đề và ra quyết định. Ý nghĩa của TRIZ và. phải tìm cách để suy nghĩ một cách hợp lý để tạo ra năng suất, hiệu quả cao nhất. Nếu như cần “học ăn, học nói, học mở” thì “học suy nghĩ” cũng là rất cần thiết cho mỗi chúng ta. I.2. TRIZ và