Tiểu luận phương pháp luận sáng tạo khoa học
Trang 1Đại Học Quốc Gia TP Hồ Chí Minh Đại Học Công Nghệ Thông Tin Khoa Khoa Học Máy Tính Lớp Kỹ Sư Tài Năng
TIỂU LUẬN PHƯƠNG PHÁP LUẬN
SÁNG TẠO KHOA HỌC
(Giải quyết bài toán vật lý điện một chiều bằng
mô hình mạng đối tượng tính toán)
Khoa : Khoa học máy tính Chuyên đề : Phương Pháp Luận STKH
GV phụ trách : GS TSKH Hoàng Kiếm
SV thực hiện : Châu Kim Hu ̀ng 06520186
HCM, 12/ 2009
Trang 2Lời cảm ơn
Đầu tiên, em xin bày tỏ lòng biết ơn chân thành đến thầy Hoàng Văn Kiếm, người
đã tận tình hướng dẫn, tạo mọi điều kiện thuận lợi để em hoàn thành tốt chuyên đề này Thầy đã định hướng cho em từ cách đặt vấn đề, phương pháp nghiên cứu khoa học, cho đến những công việc cụ thể nhất
Em xin chân thành cảm ơn thầy Trịnh Quốc Sơn, thầy Nguyễn Tuấn Kiệt những người đã giúp đỡ, tạo điều kiện tốt cho em trong quá trình học tập thực hiện chuyên
đề
Xin gửi lời cảm ơn đến gia đình, cảm ơn các anh chị, bạn bè, những người luôn sát cánh, động viên em trên bước đường học tập cũng như trong cuộc sống Xin chân thành biết ơn sự tận tình dạy dỗ và sự giúp đỡ của tất cả quý thầy cô tại trường Đại học Công Nghệ Thông Tin, đặc biệt là các thầy cô trong khoa Khoa học máy tính Tất
cả các kiến thức mà nhà trường và quý thầy cô đã truyền đạt là hành trang to lớn để
em mang theo trên con đường học tập, làm việc và nghiên cứu cũng như trong quá trình hoàn thiện nhân cách của mình
Trang 3Lời nói đầu
Để có được định hướng, mục tiêu và mong muốn trên con đường nghiên cứu khoa học, việc tìm hiểu và nắm rõ “Phương pháp luận nghiên cứu Khoa học” là một điều cần thiết cho những người nghiên cứu để có thể nắm rõ những nguyên tắc, và phương pháp làm khoa học
Phương pháp luận nghiên cứu Khoa học là lý thuyết về phương pháp nghiên cứu khoa học, lý thuyết về con đường nhận thức, khám phá và cải tạo hiện thực
Phương pháp luận nghiên cứu khoa học là kết quả của quá trình khái quát lý thuyết và thực tiễn nghiên cứu khoa học và trở thành công cụ sắc bén để chỉ dẫn các nhà khoa học, các nhà quản lý trong công tác tổ chức, quản lý và thực hành nghiên cứu khoa học một cách sang tạo
Nghiên cứu khoa học là một quá trình nhận thức chân lý khoa học, một quá trình lao động trí tuệ phức tạp, gian khổ nhưng đầy hào hứng, đầy hứa hẹn những triển vọng lớn lao trong việc nghiên cứu “những điểm trắng” của khoa học
Nắm vững phương pháp luận nghiên cứu khoa học là nắm vững lý thuyết về con đường sáng tạo, giúp người nghiên cứu có cách tiếp cận đúng trong việc thiết kế và thi công công trình nghiên cứu khoa học, tìm chọn phương pháp nghiên cứu hợp lý để thực hiện nhiệm vụ nghiên cứu và đạt được mục đích nghiên cứu
Qua những kiến thức và định hướng khoa học, báo cáo chuyên đề “Phương pháp
luận sáng tạo khoa học” sẽ vận dụng kiến thức về phương pháp luận, phương pháp
sáng tạo để giải quyết một vấn đề cụ thể trong tin học
Trang 4MỤC LỤC
Phần 1 KHÁI NIỆM VỀ NGHIÊN CỨU KHOA HỌC 5
1.1 Khoa học 5
1.2 Nghiên cứu khoa học 5
1.3 Đề tài nghiên cứu khoa học 6
1.3.1 Khái niệm đề tài 6
1.3.2 Đối tượng nghiên cứu và phạm vi nghiên cứu 6
1.3.3 Mục đích và mục tiêu nghiên cứu 6
Phần 2 PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ - BÀI TOÁN TRONG TIN HỌC 8
2.1 Phương pháp trực tiếp 8
2.2 Phương pháp gián tiếp 9
2.2.1 Phương pháp thử sai 9
2.2.2 Phương pháp Heuristic 10
2.2.3 Phương pháp trí tuệ nhân tạo 10
Phần 3 BÀI TOÁN VẬT LÝ ĐIỆN MỘT CHIỀU 12
3.1 Giới thiệu 12
3.2 Sơ lược về mạng tính toán và mạng đối tượng tính toán 13
3.2.1 Mạng tính toán 13
3.2.2 Mạng các đối tượng tính toán 13
3.3 Bài toán vật lý điện một chiều 13
3.3.1 Mô tả bài toán 13
3.3.2 Tổ chức lưu trữ tri thức 14
3.3.3 Mô tả tri thức cho bài toán 14
3.4 Mô hình tổng quát cho đoạn mạch tổng hợp tri thức điện một chiều 15
3.4.1 Quan hệ nối tiếp giữa hai đoạn mạch cơ bản 15
3.4.2 Quan hệ song song giữa hai đoạn mạch cơ bản 16
3.4.3 Tính toán trên quan hệ nối tiếp hoặc song song 16
3.5 Phân tích ví dụ 17
Phần 4 TỔNG KẾT 19
TÀI LIỆU THAM KHẢO 20
Trang 5Phần 1
KHÁI NIỆM VỀ NGHIÊN CỨU KHOA HỌC
1.1 Khoa học
Khoa học là quá trình nghiên cứu nhằm khám phá ra những kiến thức mới, học thuyết mới,…về tự nhiên và xã hội Những kiến thức hay học thuyết mới này, tốt hơn,
có thể thay thế dần những cái cũ, không còn phù hợp Thí dụ: Quan niệm thực vật là vật thể không có cảm giác được thay thế bằng quan niệm thực vật có cảm nhận
Như vậy, khoa học bao gồm một hệ thống tri thức về 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, và tư duy Hệ thống tri thức này hình thành trong lịch sử và không ngừng phát triển trên cơ sở thực tiễn xã hội Phân biệt ra 2 hệ thống tri thức: tri thức kinh nghiệm và tri thức khoa học
1.2 Nghiên cứu khoa học
Nghiên cứu khoa học là một họat động tìm kiếm, xem xét, điều tra, hoặc thử nghiệm Dựa trên những số liệu, tài liệu, kiến thức,… đạt được từ các thí nghiệm NCKH để phát hiện ra những cái mới về bản chất sự vật, về thế giới tự nhiên và xã hội, và để sáng tạo phương pháp và phương tiện kỹ thuật mới cao hơn, giá trị hơn Con người muốn làm NCKH phải có kiến thức nhất định về lĩnh vực nghiên cứu và cái chính là phải rèn luyện cách làm việc tự lực, có phương pháp từ lúc ngồi trên ghế nhà trường
Trang 61.3 Đề tài nghiên cứu khoa học
1.3.1 Khái niệm đề tài
Đề tài là một hình thức tổ chức NCKH do một người hoặc một nhóm người thực hiện Một số hình thức tổ chức nghiên cứu khác không hoàn toàn mang tính chất nghiên cứu khoa hoc, chẳng hạn như: Chương trình, dự án, đề án Sự khác biệt giữa các hình thức NCKH nầy như sau:
* Đề tài: được thực hiện để trả lời những câu hỏi mang tính học thuật, có thể chưa để ý đến việc ứng dụng trong hoạt động thực tế
* Dự án: được thực hiện nhằm vào mục đích ứng dụng, có xác định cụ thể hiệu quả về kinh tế và xã hội Dự án có tính ứng dụng cao, có ràng buộc thời gian và nguồn lực
* Đề án: là loại văn kiện, được xây dựng để trình cấp quản lý cao hơn, hoặc gởi cho một cơ quan tài trợ để xin thực hiện một công việc nào đó như: thành lập một
tổ chức; tài trợ cho một hoạt động xã hội, Sau khi đề án được phê chuẩn, sẽ thành những dự án, chương trình, đề tài theo yêu cầu của đề án
* Chương trình: là một nhóm đề tài hoặc dự án được tập hợp theo một mục đích xác định Giữa chúng có tính độc lập tương đối cao Tiến độ thực hiện đề tài, dự
án trong chương trình không nhất thiết phải giống nhau, nhưng nội dung của chương trình thì phải đồng bộ
1.3.2 Đối tƣợng nghiên cứu và phạm vi nghiên cứu
Đối tượng nghiên cứu: là bản chất của sự vật hay hiện tượng cần xem xét và
làm rõ trong nhiệm vụ nghiên cứu
Phạm vi nghiên cứu: đối tượng nghiên cứu được khảo sát trong trong phạm vi
nhất định về mặt thời gian, không gian và lĩnh vực nghiên cứu
1.3.3 Mục đích và mục tiêu nghiên cứu
Khi viết đề cương nghiên cứu, một điều rất quan trọng là làm sao thể hiện được mục tiêu và mục đích nghiên cứu mà không có sự trùng lấp lẫn nhau Vì vậy, cần thiết để phân biệt sự khác nhau giữa mục đích và mục tiêu
* Mục đích: là hướng đến một điều gì hay một công việc nào đó trong nghiên cứu mà người nghiên cứu mong muốn để hoàn thành, nhưng thường thì mục
Trang 7đích khó có thể đo lường hay định lượng Nói cách khác, mục đích là sự sắp đặt công việc hay điều gì đó được đưa ra trong nghiên cứu Mục đích trả lời câu hỏi “nhằm vào việc gì?”, hoặc “để phục vụ cho điều gì?” và mang ý nghĩa thực tiển của nghiên cứu, nhắm đến đối tượng phục vụ sản xuất, nghiên cứu
* Mục tiêu: là thực hiện điều gì hoặc hoạt động nào đó cụ thể, rõ ràng mà người nghiên cứu sẽ hoàn thành theo kế hoạch đã đặt ra trong nghiên cứu Mục tiêu có thể đo lường hay định lượng được Nói cách khác, mục tiêu là nền tảng hoạt động của
đề tài và làm cơ sở cho việc đánh giá kế hoạch nghiên cứu đã đưa ra, và là điều mà kết quả phải đạt được Mục tiêu trả lời câu hỏi “làm cái gì?”
Trang 8Phần 2
PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ - BÀI
TOÁN TRONG TIN HỌC
2.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 trực tiếp được lời giải qua một thủ tục tính toán (công thức, hệ thức, định luật,…) hoặc qua các 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 là sự chuyển đổi lời giải từ ngôn ngữ bên ngoài sang các ngôn ngữ được sử dụng trong máy tính Tìm hiểu về phương pháp này chính là tìm hiểu về kỹ thuật lập trình trên máy tính
Các nguyên lý áp dụng trong phương pháp trực tiếp :
Nguyên lý 1: Chuyển đổi dữ liệu 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 tóan sẽ được biểu diễn lại 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ể”
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”
Trang 9 Nguyên lý 3: Biểu diễn các tính toán chính xác, 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”
Nguyên lý 4: Biểu diễn các tính toán gần đúng bằng cấu trúc lặp, có nghĩa
là “Mọi quá trình tính toán gần đúng đều dựa trên các cấu trúc lặp với tham số xác
định”
Nguyên lý 5: Phân chi bài toán ban đầu thành những 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
vấn đề - bài toán nhỏ hơn”
Nguyên lý 6: Biểu diễn các tính toán không tường minh bằng đệ quy, có nghĩa là “Quá trình đệ quy trong máy tính không đơn giản như các biểu thức quy nạp
trong toán học”
2.2 Phương pháp gián tiếp
Phương pháp này được sử 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ểm khác ở đây là chúng ta đưa ra những giải pháp mang đặc trưng của máy tính, dựa vào sức mạnh tính toán của máy tính Tất nhiên, một lời giải trự tiếp bao giờ cũng tốt hơn,
nhưng không phải lúc nào cũng có
2.2.1 Phương pháp thử sai
Khi xây dựng lời giải bài toán theo phương pháp thử – sai, người ta thường dựa vào 3 nguyên lý sau :
Nguyên lý vét cạn: Đây là nguyên lý đơn giản nhất, liệt kê tất cả cá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 số khả năng được chọn một
cách ngẫu nhiên Khả năng tìm ra lời giải đúng phụ thuộc rất nhiều vào chiến lược chọn ngẫu nhiên
Nguyên lý mê cung: Nguyên lý này được áp dụng khi chúng ta không thể
biết được chính xác “hình dạng” lời giải mà phải xây dựng dần lời giải qua từng bước một giống như tìm đường đi trong mê cung
Trang 10Để thực hiện tốt phương pháp thử - sai, chúng ta nên áp dụng các nguyên lý 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 ra 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ỉ bắt được những con cá có kích thước
lớn hơn kích thước 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 hóa 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: Loại bỏ những trường hợp hoặc
nhóm trường hợp chắc chắn không dẫn đến 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ả
2.2.2 Phương pháp Heuristic
Phương pháp Heuristic có đặc điểm là đơn giản và gần gủi với cách 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 dựa 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ộ (Greedy), Hướng đích, sắp thứ tự …Để 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 đế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
2.2.3 Phương pháp trí tuệ nhân tạo
Phương pháp trí tuệ nhân tạo dựa trên trí thông minh của máy tính Phương pháp này, người ta sẽ đưa vào máy trí thông minh nhân tạo giúp máy tính bắt chước một phần khả năng suy luận như con người, máy tính dựa trên những điều đã được
“học“ để tự đưa ra phương án giải quyết vấn đề
Trang 11Sơ đồ mạng tính toán để giải bài toán tam giác
Trong lĩnh vực “máy học” , các hình thức học có thể phân chia 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…
Trang 12Phần 3
BÀI TOÁN ĐIỆN VẬT LÝ MỘT CHIỀU
3.1 Giới thiệu
Một trong những vấn đề hiện nay đang được quan tâm của “Trí Tuệ Nhân Tạo”
là nghiên cứu các phương pháp biểu diễn và xử lý tri thức Trên cơ sở đó có thể tạo ra được những chương trình “thông minh” ở mức độ nào đó để giải quyết những vấn đề của con người Trong nhiều lĩnh vực hàng ngày, chúng ta thường gặp những vấn đề
có dạng như sau: thực hiện tính toán hay suy diễn ra những yếu tố nào đó từ những yếu tố đã biết Có nhiều mô hình biểu diễn tri thức đã được đặt ra để giải quyết những
vấn đề đó Một trong những mô hình được sử dụng rộng rãi là mô hình “Mạng Tính
Toán” và “Mạng Các Đối Tượng Tính Toán” (còn gọi là Mạng Đối Tượng) Những
mô hình trên đã được ứng dụng thành công để giải quyết những bài toán trong giáo dục
Để hiểu rõ hơn về các mô hình biểu diễn tri thức, chúng ta sẽ cùng nhau tìm hiểu một ứng dụng cụ thể của nó Phần tiếp theo sẽ trình bày một ứng dụng của những
mô hình biểu diễn tri thức ở trên để giải bài toán Vật lý điện một chiều, áp dụng cho
đoạn mạch chỉ có điện trở và không chứa nguồn Bài toán này được giải quyết dựa
trên phương pháp luận “phương pháp trí tuệ nhân tạo” và các nguyên tắc sáng tạo
cơ bản trong nghiên cứu - sáng tọa khoa học
Trang 133.2 Sơ lƣợc về mạng tính toán và mạng đối tƣợng tính toán 3.2.1 Mạng tính toán
Mạng tính toán là một dạng biểu diễn tri thức có thể dùng để biểu diễn các tri thức về các vấn đề tính toán Mỗi mạng tính toán là một mạng ngữ nghĩa chứa các
biến và những quan hệ có thể cài đặt và sử dụng được cho việc tính toán Nếu gọi M là tập hợp các biến và F là tập những quan hệ trên M, ta có thể mô hình mạng tính toán
như sau :
M = x 1 ,x 2 , ,x n,
F = f 1 ,f 2 , ,f m
Đối với mỗi f F, ta ký hiệu M(f) là tập các biến có liên hệ trong quan hệ f Dĩ
nhiên M(f) là một tập con của M: M(f) M Nếu viết f dưới dạng:
f : u(f) v(f)
thì ta có M(f) = u(f) v(f)
3.2.2 Mạng các đối tƣợng tính toán
Một mạng tính toán có thể xem là một đối tượng tính toán Mạng các đối tượng tính toán bao gồm một tập hợp các đối tượng tính toán:
O = O 1 ,O 2 , , O n
và một tập các quan hệ giữa các đối tượng:
F = f 1 ,f 2 , , f m
Trong đó O i ký hiệu một đối tượng trong mạng và f i là một quan hệ giữa các biến của các đối tượng tính
3.3 Bài toán vật lý điện một chiều
3.3.1 Mô tả bài toán
Ví dụ 1: Cho mạch điện hỗn hợp gồm điện trở R1 song song với điện trở R2, tổ
hợp hai điện trở này nối tiếp với R3 Cho các giá trị R1 = 5, R2 = 2, I1 = 10 Tính hiệu điện thế U của toàn mạch
Chương trình giải toán điện một chiều (cho đoạn mạch không chứa nguồn chỉ
có điện trở) được mô tả như sau:
Input: bài toán điện một chiều A
Output: chương trinh đưa ra lời giải, kết quả của bài toán B