1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng nguyên tắc sáng tạo trong sự phát triển hệ thống hỏi - đáp

26 323 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 1,18 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Ứng dụng nguyên tắc sáng tạo trong sự phát triển hệ thống hỏi - đáp

Trang 1

CAO HỌC HTTT K22

DƯƠNG HỮU THÀNH – 1212035

ỨNG DỤNG NGUYÊN TẮC SÁNG TẠO TRONG SỰ PHÁT TRIỂN HỆ

THỐNG HỎI - ĐÁP BÀI THU HOẠCH MÔN PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC

GIÁO VIÊN HƯỚNG DẪN GS.TSKH Hoàng Kiếm

KHÓA 2012 – 2014

Trang 2

Nội dung

1 40 nguyên tắc sáng tạo và các ví dụ trong tin học: 4

1.1 Nguyên tắc chia nhỏ: 4

1.2 Nguyên tắc “tách khỏi”: 4

1.3 Nguyên tắc phẩm chất cục bộ: 5

1.4 Nguyên tắc phản đối xứng: 5

1.5 Nguyên tắc kết hợp: 5

1.6 Nguyên tắc vạn năng: 6

1.7 Nguyên tắc “chứa trong”: 6

1.8 Nguyên tắc phản trọng lượng: 7

1.9 Nguyên tắc gây ứng suất sơ bộ: 7

1.10 Nguyên tắc thực hiện sơ bộ: 8

1.11 Nguyên tắc dự phòng: 8

1.12 Nguyên tắc đẳng thể: 8

1.13 Nguyên tắc đảo ngược: 9

1.14 Nguyên lý cầu hóa: 9

1.15 Nguyên lý năng động: 10

1.16 Nguyên lý tác động bộ phần và dư thừa: 10

1.17 Nguyên tắc bổ sung chiều khác nhau: 10

1.18 Sự dao động cơ học: 11

1.19 Nguyên tắc tác động theo chu kỳ: 11

1.20 Nguyên tắc tác động liên tục hữu hiệu: 12

1.21 Nguyên tắc vượt nhanh: 12

1.22 Nguyên tắc chuyển bại thành thắng: 12

1.23 Nguyên tắc quan hệ phản hồi: 13

1.24 Nguyên tắc sử dụng trung gian: 13

1.25 Nguyên tắc tự phục vụ: 14

1.26 Nguyên tắc sao chép: 14

1.27 Nguyên tắc rẻ thay cho đắt: 15

1.28 Nguyên tắc thay thế sơ đồ cơ học: 15

1.29 Nguyên tắc sử dụng các kết cấu thủy và khí: 16

Trang 3

1.30 Sử dụng vỏ mềm dẻo và màng mỏng: 16

1.31 Sử dụng vật liệu nhiều lỗ: 16

1.32 Nguyên tắc đổi màu: 16

1.33 Nguyên tắc đồng nhất: 17

1.34 Nguyên tắc loại bỏ và tái sinh từng phần: 17

1.35 Đổi các thông số hóa lý của đối tượng: 18

1.36 Sử dụng chuyển pha: 18

1.37 Sử dụng nở nhiệt: 18

1.38 Sử dụng các chất oxy hóa: 18

1.39 Sử dụng môi trường trơ: 19

1.40 Sử dụng vật liệu tổng hợp: 19

2 Ứng dụng nguyên tắc sáng tạo trong phát triển hệ thống hỏi đáp (QA: Question Answering): 19 2.1 Sơ lược quá trình phát triển hệ thống hỏi đáp (QA): 19

2.2 Ứng dụng nguyên tắc sáng tạo cho sự phát triển hệ thống QA trong tương lai: 24

2.2.1 Nguyên tắc chia nhỏ: 24

2.2.2 Nguyên tắc kết hợp: 24

2.2.3 Nguyên tắc vạn năng: 25

2.2.4 Nguyên tắc chứa trong: 25

2.2.5 Nguyên tắc trung gian: 25

2.2.6 Nguyên tắc vượt nhanh: 26

2.2.7 Nguyên tắc tự phục vụ: 26

2.2.8 Nguyên tắc nhiều lỗ: 26

3 Tài liệu tham khảo: 26

Trang 4

1 40 nguyên tắc sáng tạo và các ví dụ trong tin học:

1.1 Nguyên tắc chia nhỏ:

Chia đối tượng thành các thành phần độc lập

Làm cho đối tượng thành các thành phần thao ráp

Tăng mức độ phân nhỏ đối tượng

Ví dụ:

Phương pháp đệ qui chia để trị trong tin học Chẳng hạn tìm kiếm phần

tử bằng Thuật toán tìm kiếm nhị phân trong một mảng có thứ tự Đầu tiên ta xác định phần tử trung bình và so sánh với phần tử trung bình đó, nếu nó không phải khóa cần tìm thì tìm nửa trái và nửa phải của phần tử đó Việc thực hiện tìm kiếm trên nửa trái và nửa phải của dãy giống như dãy ban đầu (nhưng giảm bớt không gian tìm kiếm) Công việc đó thực hiện cho đến khi tìm thấy phần tử đó hoặc không thể chia nhỏ ra nửa

Mô hình phát triển phần mềm MVC (Model-View-Controller), chia chương trình thành các ba phần chính là Model, View và Controller, mỗi phần đảm nhiệm một nhiệm vụ riêng giúp cho việc phát triển và kiểm tra ứng dụng có thể tiến hành hiệu quả Do sự kếp hợp “lỏng” giữa các thành phần trong mô hình MVC nên nó làm tăng khả năng phát triển song song của ứng dụng

Trong lập trình, khi viết chương trình cồng kềnh phức tạp, người ta thương chia nhỏ chương trình bằng cách viết các hàm và thủ tục

Để tránh tiếng ốn ảnh hướng đến người khác, người ta dùng có thể tách

âm thành bằng cách dùng headphone

Gần đây một nhà cung cấp phụ tùng ô tô Hàn Quốc Mando Corp đã sản xuất chiếc xe đạp mang tên Mondo Footloose đầu tiên trên thế giới không dùng xích Hãng này cho rằng xích là bộ phần phiền hà trên xe đạp nên thay vì dùng xích để quay bánh xe, bàn đạp của xe chuyển năng lượng của người đạp trực tiếp thành điện thông qua một máy phát điện,

Trang 5

được tích lũy trong pin gắn trong khung xe, rồi sẽ được mô tơ điện chuyển thành động năng giúp xe quay bánh

Một số trình duyệt web như IE9, FireFox13, hay Chrome 13 đã gỡ bỏ thanh menu chiếm không gian hiển thị trên trình duyệt và chỉ còn giữ lại thành địa chỉ và khi người dùng cần vẫn có thể cho hiển thị thanh menu

Cơ sở dữ liệu phân tán giúp giảm chi phí truyền thông vì chương trình ứng dụng truy cấp vào server đặt tại địa phương và khai thay cơ sở dữ liệu tại chổ thay vì phải kết nối đến một server chung (có thể ở một vị trì địa lý rất xa) như cơ sở dữ liệu tập trung

Trang 6

Ví dụ:

Trong thế hệ web 2.0, người ta thường phát triển các trang web mashup

để tổng hợp nhiều thông tin từ nhiều nguồn khác nhau Chẳng hạn trang web so sánh giá cả của các sản phẩm điện tử của các cửa hàng lớn hay các trang tin tực này này thường có tích hợp thêm các thông tin xổ số, chứng khoán, giá vàng, thời tiết,

Để phục vụ cho thuyết trình, báo cáo, thông qua máy chiếu Người ta thường kết nối máy tính với máy chiếu để trình chiếu các slides hoặc phim, hình ảnh minh họa

Trong tin học, thuật toán tìm kiếm nhị phân có độ phức tạp thấp hơn so với phương pháp tìm kiếm tuyến tính Nhưng một vấn đề của thuật toán tìm kiếm nhị phân này chỉ áp dụng cho dãy có thứ tự Do đó để thuật toán tìm kiếm nhị phân phát huy hiệu quả thì ta nên kết hợp với một thuật toán sắp xếp hiệu quả

Các ứng dụng thương mại điển tử, các trang web mua bán hàng trực tuyến thường kết hợp với các ngân hàng để thực hiện việc chứng thực

và thanh toán trực tuyến

Chức năng xem ảnh trên facebook, ngoài việc chính là hiển thị hình ảnh chia sẻ cho người bạn bè thì nó còn tự động xác định khuôn mặt ngượi trong ảnh, nhận dạng mặt người trong ảnh, tag bạn bè vào ảnh, các chức năng quay ảnh và cho phép bạn bè like và comment vào ảnh

Hệ điều hành có chức năng đa nhiệm có thể xử lý nhiều tiến trình cùng lúc

Trong các ngôn ngữ lập trình cấp cao như C#, Java, cho phép định nghĩa hàm chồng, tức là các hàm cùng tên nhưng việc thực thi bên trong

là khác nhau

1.7 Nguyên tắc “chứa trong”:

Trang 7

Tổ chức một đối tượng này bên trong đối tượng kia, hoặc có thể vận động bên trong đối tượng khác

Một đối tượng đặt bên trong một đối tượng khác, và bản thân nó lại chứa đối tượng thứ ba

Một đối tượng chuyển động xuyên suốt trong đối tượng khác

Ví dụ:

Môi trường lập trình Visual Studio.Net là công cụ ưa dùng của các lập trình viên NET Bên trong phần mêm này cũng chứa các tool như Connection Database để ta có thể kết nối đến database trực tiếp và được phép thao tác lên database ngay tại môi trường Visual Studio.Net hay công cụ để ta thanh tra mã nguồn,

Các USB 3G là thiết bị kết nối Internet không dây qua sóng di động sử dụng mạng 3G Ngoài ra, nó còn có thể chứa thẻ nhớ nên cũng có thể thực hiện một chức năng như usb thông thường

Hệ thống tập tin trên máy tính, thì một thư một có thể chứa các tập tin hoặc các thư mục khác

Hệ điều hành là nới chứa rất nhiều các ứng dụng khác trên máy tính

1.9 Nguyên tắc gây ứng suất sơ bộ:

Nếu điều kiện của bài toán cần thực hiện tác động nào đó, yêu cầu thực hiện phản tác động trước

Ví dụ:

Trang 8

Một máy tính mới mua về, muốn sử dụng các chức năng máy tính thì công việc đầu tiên là ta phải cài hệ điều hành cho máy tính đó

Trong lập trình C, ta muốn sử dụng các con trỏ thì ta phải cấp phát vùng nhớ cho con trỏ đó

1.10 Nguyên tắc thực hiện sơ bộ:

Thực hiện sự thay đổi cần có (hoàn toàn hoặc một phần) đối với một đố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 di chuyển

Ví dụ:

Trong qui trình phát triển phần mềm thì sau khi lấy yêu cầu của người dùng thì ta thường có một thao tác là xây dựng một prototype mô phỏng các chức năng và giao diện hệ thống để người dùng xem qua Nếu khách hàng chấp nhận thì ta tiến thành thiết kế và lập trình theo prototype đã làm sẵn, tránh trường hợp làm xong dự án mà không đúng yêu cầu khách hàng

UPS: dùng dự phòng khi cúp điện đột ngột Khi điện bị ngắt thì nó vẫn còn giữ điện trong thời gian cần thiết để người dùng có thể lưu trữ lại các thông tin cần thiết

Trong các hệ quản trị cơ sở dữ liệu, mỗi thao tác của người dùng truy cập vào cơ sở dữ liệu điều được ghi vào tập tin nhật ký (log) Tập tin nhật ký này có tác dụng trong việc phục hồi tính nhất quán của hệ thống nếu có sự cố bất ngờ xảy ra khi đang truy cập đến cơ sở dữ liệu

1.12 Nguyên tắc đẳng thể:

Trang 9

Thay đổi điều kiện làm việc để không phải nâng lên hạ xuống một đối tượng

Ví dụ:

Trong thiết kế web, người ta thường ưu tiên scroll trang web theo chiều dọc hơn là theo chiều ngang Chẳng hạn, một bài tin tức quá dài, mà người đọc thích scroll theo chiều dọc hơn là chiều ngang Thường scroll theo chiều ngang sẽ gây cảm giác khó chịu, thiếu tự nhiên cho người đọc

1.13 Nguyên tắc đảo ngược:

Thay vì hành động như bình thường thì ta hành động ngược lại

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

Ví dụ:

Trong mạng noron, ta có thuật toán lan truyền ngược với luật học tổng quát delta Ý tưởng thuật toán này là đầu tiên tính giá trị sai số cho các noron ở lớp xuất, kết quả này được dùng để tính sai số cho các noron ở lớp ẩn cao nhất và lớp ẩn kế tiếp thì tính theo kết quả của lớp ẩn cao hơn

nó Cứ lan truyền ngược cho như thế cho đến khi đến lớp xuất

Phương pháp chứng minh phản chứng được vận dụng rất nhiều trong toán học và tin học Thay vì chứng minh kết luận đúng thì ta giả thiết kết luận là sai và lý luận dựa trên giả thiết các tính chất và định lý liên quan ta đi đến một mâu thuẫn nào đó rồi kết luận giả thiết của ta là sai, tức là kết luận bài toán là đúng

1.14 Nguyên lý cầu hóa:

Chuyển các phần thẳng có đố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

Chuyển cách tiếp cận thông thường (thẳng) sang cách tiếp cận khác (vòng)

Ví dụ:

Khi thiết kế trang web với css2 thì việc tạo các điều khiển có phần cong

ở các góc là rất nhập nhằng Tuy nhiên với css3 thì việc đó hoàn toàn đơn giản, nó cho phép tạo các điều khiển công ở các góc của điều khiển Ứng dụng việc xây dựng các phần mềm và xử lý các tín hiệu được thu nhận từ vệ tinh, sử dụng các mặt cầu để xác định các điểm giao nhau thay vì sử dụng các đường tròn

Trang 10

1.16 Nguyên lý tác động bộ phần và dư thừa:

Nếu như khó nhận được 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

Ví dụ:

Trong lập trình có bài toán tính diện tích tam giác bất kỳ thì người ta đưa phương pháp, lập cái lưới phủ đa giác đó Ta tiến hạnh duyệt tình hình vuông trong lướng nếu hình vuông nào thuộc miền trong đa giá thị cộng vảo tổng, tổng cuối cùng là diện tích đa giác Việc xác định hịnh vuông nằm trong đa giác, sẽ có những hình vuông nửa nằm trong nửa nằm ngoài đa giác thì quyết định hình vuông đó nằm trong hay ngoài đa giác thì tùy vào qui ước kiểm tra của từng lập trịnh viên Nhưng chung qui thì diện tích tổng cuối cùng tích được chắc chắn sẽ có thể cao hơn hoặc thấp hơn diện tích thực đa giác “một chút”

Các thuật toán heutistic cho ta kết quả gần đúng, chấp nhận được nhưng không thể cho ta kết quả chính xác 100% Chẳng hạn các bài toán trong

xử lý ảnh, nhận dạng giọng nói, nhận dạng mặt người,

1.17 Nguyên tắc bổ sung chiều khác nhau:

Thay vì nhìn đối tượng theo cách thông thường thì ta nhìn đối tượng ở những góc độ khác nhau có trong đối tượng và môi trường

Ví dụ:

Khi phát triển phần mềm ta cần đứng ở vị trí của nhiều người dùng khác nhau như người quản lý, người dùng thông thường, người quản trị hệ thống hay lập trình viên để ta có những thiết kế hợp lý và chỉ hiển thị những chức năng mà người dùng đó được phép truy cập

Khi thiết kế giao diện của trang web, sử dụng các css hay javascript, ta cần chú ý trên các trình duyệt khác nhau có thể sẽ không chấp nhận một

số css và javascript nào đó Do đó, ta cần xém xét nhiều trình duyệt khi

Trang 11

thiết kế web, ít nhất là các trình duyệt thông dụng như FireFox, Chrome,

IE, Safari, Opera,

1.18 Sự dao động cơ học:

Làm đối tượng giao động

Nếu đã có giao động, tăng tấn số giao độ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

Sử dụng siêu âm kết hợp với trường điện từ

Dao động theo nghĩa đối tượng có thể dễ dàng thay đổi xung quanh các trạng thái cân bằng của mình Những đối tượng có khả năng đó thường có sức sống cao, dễ thích nghi với môi trường

Ví dụ:

Các thiết bị công nghệ cao như Iphone, Samsung Galaxy, khi ta quay

nó theo chiều ngang hay chiều dọc thì màn hình ứng dụng cũng quay theo

Trong lập trình C/C++, khi ta dùng mãng ta thường dùng con trỏ và cấp phát động vùng nhớ cho nó mỗi khi sử dụng hơn là khai báo mãng tĩnh

vì có khi khai báo mảng tính có thể thừa nếu ta không dùng hết chiều dài đã khai báo gây lãng phí bộ nhớ hoặc thiếu nếu ta dùng nhiều hơn khai báo ban đầu gây hiện tượng tràng bộ nhớ Do đó, cách dùng mãng cấp phát động là cách làm linh hoạt và hiệu quả hơn

1.19 Nguyên tắc tác động theo chu kỳ:

Chuyển tác động liên tục thành tác động theo chu kỳ

Nếu đã có tác động theo chu kỳ, hãy thay đổi chu kỳ

Sử dụng các khoảng thời gian giữa các chu kỳ để thực hiện tác động khác

Trang 12

1.20 Nguyên tắc tác động liên tục hữu hiệu:

Nguyên tắc này đòi hỏi các tác động có ích phải xãy ra liên tục và tính có ích của tác động phải càng ngày càng tăng

Ví dụ:

Khi ta xem phim online thì thường giựt hình vì chờ nạp dữ liệu xuống

từ server, tạo cảm giác xem phim không thoải mái Ta thường giải quyết bằng cách cho phim tạm dừng để chờ nó nạp dữ liệu Sau khi ta bấm nút dừng thì dữ liệu vẫn được nạp xuống liên tục, sau 1 hoăc 2 phút ta bấm cho phim hoạt động lại thì hiện tượng đó ít diễn ra, vì đã có dữ liệu dữ trữ được nạp trong lúc dừng và trong lúc ta đang xem những phần này thì những phần còn lại của phim vẫn tiếp tục được nạp mà không ảnh hướng đến việc xem phim hiện tại

1.21 Nguyên tắc vượt nhanh:

Vượt qua các giai đoạn có hại hoặc nguy hiểm với vận tốc nhanh

Vượt nhanh để có được hiệu ứng cần thiết

Ví dụ:

Trong lập trình có các cấu trúc rẻ nhánh (if else if else) giúp cho chương trình hoạt động hiệu quả, bỏ qua các trường hợp không thoả Hay các lệnh break dùng ngắn vòng lặp và lệnh switch nếu có điều kiện không thỏa,

Khi ta chơi một số game, khi tham giá bắt đầu trò chơi thường có phần demo cách chơi game đó Nêu ta thấy không cần thiết thì bấm nút bỏ qua để “vượt nhanh” qua phần xem demo

Trong lập trình hướng đối tượng có một khái niệm là trựu tượng hóa, tức là ta bỏ qua phần chi tiết thực hiện của một chức năng mà ta chỉ cần biết nó làm gì và gọi nó để thực hiện chức năng đó mà ta không cần quan tâm việc cài đặt nhập nhằng bên dưới của nó

1.22 Nguyên tắc chuyển bại thành thắng:

Sử dụng các tác nhân có hại để 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 mức không còn có hại nữa

Ví dụ:

Trong phát triển phần mềm theo qui trình XP, có một tính chất là lặp trình cặp đối Cách thức này tuy tốn nhân lực nhưng nó sẽ hiệu quả hơn

Trang 13

so với 2 người phát triển độc lập Việc quay vòng các cặp thường xuyên như vậy sẽ phổ biến được kinh nghiệm và kiến thức cho toàn nhóm Mã nguồn sẽ được xem lại liên tục

Trong lập trình khi gặp lỗi (bug) là một điều khó chịu đối với lập trình viên Nhưng nhớ có các lỗi đó mà lập trình viên sẽ tăng kinh nghiệm lập trình, hiểu rõ hơn hệ thống mình phát triển và hạn chế được những lỗi

đó xảy ra trong các lần sau

1.23 Nguyên tắc quan hệ phản hồi:

Phản hồi hiểu theo nghĩa là đối tượng A tác động lên đối tượng B và sau đó đối tượng B cũng tác động ngược lại đối tượng A

Nếu không có quan hệ phản hối thì thiết lập quan hệ phản hồi, còn nếu có thì thay đổi và hoàn thiện nó

Ví dụ:

Trong các ứng dụng web, khi nhận được request từ client server sẽ tiếp nhận và thực hiện các xử lý cần thiết rồi phản ứng lại kết quả hiển thị cho người dùng

Trong các ứng dụng tin học, khi người dùng thực hiện một chức năng nào liên quan đến xóa, hay cập nhật dữ liệu thì thường có hiển thị một dialog box để người dùng xác nhận là có chắc chắn thực hiện chức năng

1.24 Nguyên tắc sử dụng trung gian:

Sử dụng đối tượng trung gian chuyển tiếp

Ví dụ:

Trong các mẫu thiết kế hướng đối tượng (design pattern), có mẫu tên là adapter Chẳng hạn, hai lập trình viên dùng 2 nền tảng phát triển ngôn ngữ khác nhau, người dùng C# còn người kia thì dùng VB.Net Trong khi đó một số chức năng của người thứ hai có thể dùng cho người thứ nhất mà người thứ nhất không đủ điều kiện để hoàn thành nó, để người thứ nhất có thể sử dụng các phương thức mà người thứ hai viết trên nền tảng khác thì người ta đưa ra mẫu adapter Adapter có nhiệm vụ tích hợp những những phương thức của người thứ hai đề người thứ nhất có

Ngày đăng: 07/04/2014, 11:53

HÌNH ẢNH LIÊN QUAN

Hình 1. Hoạt động của hệ thống IR - Ứng dụng nguyên tắc sáng tạo trong sự phát triển hệ thống hỏi - đáp
Hình 1. Hoạt động của hệ thống IR (Trang 20)
Hình 2. Hệ thống IR của Google - Ứng dụng nguyên tắc sáng tạo trong sự phát triển hệ thống hỏi - đáp
Hình 2. Hệ thống IR của Google (Trang 20)
Hình 3. Kiến trúc một hệ thống QA tổng quát - Ứng dụng nguyên tắc sáng tạo trong sự phát triển hệ thống hỏi - đáp
Hình 3. Kiến trúc một hệ thống QA tổng quát (Trang 22)
Hình 4. Hệ thống Start - Ứng dụng nguyên tắc sáng tạo trong sự phát triển hệ thống hỏi - đáp
Hình 4. Hệ thống Start (Trang 22)
Hình 5. Hệ thống Answer Bus - Ứng dụng nguyên tắc sáng tạo trong sự phát triển hệ thống hỏi - đáp
Hình 5. Hệ thống Answer Bus (Trang 23)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w