Vẽ sơ đồ mạch điện một chiều và giải bài toán điện một chiều
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH
()
Lớp CNTN04
BÁO CÁO
Đ Án L p Trình Symbolic ồ Án Lập Trình Symbolic ập Trình Symbolic
Đ Tài: ề Tài:
VẼ S Đ M CH ĐI N M T CHI U Ơ ĐỒ MẠCH ĐIỆN MỘT CHIỀU Ồ MẠCH ĐIỆN MỘT CHIỀU ẠCH ĐIỆN MỘT CHIỀU ỆN MỘT CHIỀU ỘT CHIỀU ỀU
VÀ GI I BÀI TOÁN ĐI N M T CHI U ẢI BÀI TOÁN ĐIỆN MỘT CHIỀU ỆN MỘT CHIỀU ỘT CHIỀU ỀU Giáo viên h ướng dẫn: ThS Nguyễn Đình Hiển ng d n: ThS Nguy n Đình Hi n ẫn: ThS Nguyễn Đình Hiển ễn Đình Hiển ển.
Trang 2M C L C ỤC LỤC ỤC LỤC
I THU THẬP TRI THỨC 3
1 Yêu cầu bài toán đặt ra 3
2 Thu thập tri thức 3
3 Biểu diễn tri thức 4
4 Tổ chức lưu trữ trên máy tính 5
II THIẾT KẾ ĐỘNG CƠ SUY DIỄN 7
1 Mô hình bài toán 7
a Mô hình: 7
b Đặc tả bài toán: 8
2 Thuật giải 8
a Các bước chuẩn bị: 9
b Quá trình đi tìm lời giải: 10
c Ví dụ minh họa cho thuật giải 11
III CÀI ĐẶT THỬ NGHIỆM 13
TÀI LIỆU THAM KHẢO: 16
Trang 3I THU TH P TRI TH C ẬP TRI THỨC ỨC.
1 Yêu c u bài toán đ t ra ầu bài toán đặt ra ặt ra.
Nhập vào:
Những yếu tố đã biết dưới dạng:
Biểu thức quan hệ giữa các đối tượng- hình thức mắc các đối tượng: Bao gồm các biến và các toán tử song song “//” và nối tiếp “Nt”
Ví dụ: R1 // R2 Nt ( R3 // R4 )
Các biến và giá trị cụ thể của nó
Ví dụ: R1=5, U3=6, I2=1.5
Mối liên hệ giữa các yếu tố đó dưới dạng phương trình
Ví dụ: I1=3*I2, R1=2*sin(U2)+2, R1^2=R3^2+1
Vấn đề cần tính: Một hay nhiều yếu tố cần tìm
Xuất ra: Hình vẽ của mạch và giá trị của các yếu tố cần tính, đi kèm lời giải chi tiết
2 Thu th p tri th c ập Trình Symbolic ức.
Cơ sở tri thức ở đây gồm:
Các khái niệm về các yếu tố trong mạch điện một chiều:
Xét 4 yếu tố chính trong mạch điện một chiều được liệt kê sau đây:
I: Cường độ dòng điện
R: Điện trở
U: Hiệu điện thế
P: Công suất tiêu thụ điện
Các loại đối tượng trong mạch điện một chiều:
Điện trở
Bóng đèn
Ampe kế
Vôn kế
Nguồn
Các hệ thức liên hệ nội bộ giữa các yếu tố của một đối tượng trong mạch:
1 Định Luật Ôm:
Trang 4I = U/R
2 Các công thức tính công suất:
P = U*I = R*I2 = U2/R
Các hệ thức liên hệ giữa các đối tượng trong 2 cách mắc mạch:
- Mạch mắc song song:
Ut = U1 = U2
It = I1 + I2 1
R t=
1
R1+
1
R2.
- Mạch mắc nối tiếp:
Ut = U1 + U2
It = I1 = I2
Rt = R1 + R2
3 Bi u di n tri th c ển ễn Đình Hiển ức.
Mô hình biểu diễn tri thức là mô hình cây kết hợp với Mạng tính toán[1] Gồm hai thành phần:
Tập hợp các yếu tố của các đối tượng trong mạch điện một chiều, mỗi yếu tố
sẽ được biểu diễn bằng một biến thực dương được thu thập ở phần II.1
Tập hợp các quan hệ giữa các biến
Các yếu tố của mạch điện một chiều được biểu diễn bằng các biến có chỉ số Ví dụ:
I1, I2, I3 : là tên biến đại diện cho các cường độ dòng điện lần lượt đi qua các đối tượng có chỉ số 1, 2, 3… kèm theo
R1, R2, R3 : là tên biến đại diện cho điện trở lần lượt của các đối tượng có chỉ
số 1, 2, 3…
U1,U2,U3 : là tên biến đại diện cho hiệu điện thế lần lượt của các đối tượng
có chỉ số 1, 2, 3…
Các quan hệ giữa các biến được biểu diễn như sau:
{ phương trình quan hệ}
- Ví dụ:
{ I = U / R }
{ P = U * I }
{ P = R * ( I^2 ) }
{ U3 = U2 }
Trang 5 { I3 = I1 + I2 }
{ 1/R3 = 1/R1 + 1/R2 }
4 T ch c l u tr trên máy tính ổ chức lưu trữ trên máy tính ức ư ữ trên máy tính.
Lưu trữ dưới dạng các tập tin TEXT có cấu trúc:
File lưu các biến số trong mạch điện một chiều và đơn vị tính tương ứng
Tên file: Facts.txt
Cấu trúc file:
Cac thanh phan cua mot doi tuong cua mach:
{ I(A), R(Om), U(V), P(W) } Chuthich:
I : Cuong do dong dien
R : Dien tro
U : Hieu dien the
P : Cong suat tieu thu
File lưu các giá trị mặc định đầu vào cho các yếu tố cần xác định trước của từng đối tượng của mạch điện một chiều bào gồm điện trở (R), bóng đèn (L), dây dẫn (W), vôn kế(V), Ampe kế(A):
Tên file: Items.txt
Cấu trúc file:
Begin R: {I, R, U, P} //Dien tro L: {I, R, U, P} //Bong den W: {I, R=0, U=0, P=0} //Day dan V: {I=0, R=10000, U, P=0} //Von ke A: {I, R=0, U=0, P=0} //Ampe ke End
File lưu các quan hệ nội bộ giữa các yếu tố của 1 đối tượng trong mạch
Tên file: InternalRels.txt
Cấu trúc file:
Cac cong thuc quan he giua cac doi tuong trong quan he noi tiep:
Trang 6{ I = U/R }
{ P = U*I }
{ P = R*(I^2) }
{ P = (U^2)/R }
File lưu các quan hệ giữa các yếu tố trong mạch mắc song song
Tên file: ParallelRels.txt
Cấu trúc file:
Cac cong thuc quan he giua cac doi tuong trong quan he noi tiep: { U1 = U2 }
{ U3 = U1 }
{ U3 = U2 }
{ I3 = I1 + I2 }
{ 1/R3 = 1/R1 + 1/R2 }
Chuthich:
I3, R3, U3: là đại diện các đối tượng phát sinh, là các giá trị tổng của mạch gồm 2 đối tượng thành phần với chỉ số đại diện 1 và 2
File lưu các quan hệ giữa các yếu tố trong mạch mắc nối tiếp
Tên file: SeriesRels.txt
Cấu trúc file:
Cac cong thuc quan he giua cac doi tuong trong quan he noi tiep: { U3 = U1 + U2 }
{ I1 = I2 }
{ I3 = I1 }
{ I3 = I2 }
{ R3 = R1 + R2 }
Chuthich:
I3, R3, U3: là đại diện các đối tượng phát sinh, là các giá trị tổng của mạch gồm 2 đối tượng thành phần với chỉ số đại diện 1 và 2
Trang 7II THI T K Đ NG C SUY DI N ẾT KẾ ĐỘNG CƠ SUY DIỄN ẾT KẾ ĐỘNG CƠ SUY DIỄN ỘT CHIỀU Ơ ĐỒ MẠCH ĐIỆN MỘT CHIỀU ỄN.
1 Mô hình bài toán.
a Mô hình:
Dựa trên việc nghiên cứu các bài toán cụ thể ta có thể đề xuất mô hình bài toán tổng quát trên mô hình tri thức Mạng tính toán[2,3] gồm những phần như sau:
A, B, C ( M, F )
Trong đó:
A là tập hợp các đối tượng tính toán có trong giả thuyết.
B là tập hợp các đối tượng tính toán mục tiêu.
C tập hợp các điều kiện, quan hệ giữa các đối tượng tính toán.
M là tập hợp đầy đủ các đối tượng tính toán trong không gian đã cho và bao
gồm cả các đối tượng phát sinh đã tiền xử lí trước khi đưa vào mô hình
F là tập hợp các quan hệ giữa các đối tượng tính toán trong tập M.
Ví dụ: Cho mạch điện có biểu thức quan hệ sau: ((R1//R2)ntR3)ntR4 Cho U4=4, R3=2, I1=1.5, I2=2/3 *I1 và U1234=12 Tính R2, I3 ?
(Chú thích U1234 là yếu tố của đối tượng mới phát sinh có chỉ số “1234”)
Bài toán có thể mô hình hóa theo mô hình trên như sau:
A: { U4=4, R3=2, I1=1.5, U1234=12}.
B: {R2, I3}.
C:= f: I2 =2/3 * I1.
M := {I1, R1, U1, P1, I2, R2, U2, P2, I3, R3, U3, P3, I4, R4, U4, P4, I12, R12, U12, P12,
I123, R123, U123, P123, I1234, R1234, U1234, P1234 }
Trong đó các biến trong tập M được khái niệm trong phần I.2 (thu thập tri thức)
Trang 8F : là tập bao gồm phương trình f: I2 =2/3 * I1 trong C và các phương trình là các
quan hệ nội bộ giữa các yếu tố của từng đối tượng, các phương trình quan hệ song song và nối tiếp ở tại bài toán này được dựa trên cơ sở ở mục I.2 (thu thập tri thức)
b Đ c t bài toán: ặt ra ả bài toán:
Đề bài có thể mô tả dưới dạng một tập tin văn bản có cấu trúc đơn giản sau:
Begin
Relation: {<chuỗi quan hệ mắc mạch giữa các đỗi tượng> }
Hypothesis: {< tên đối tượng 1> = <giá trị tương ứng>, <tên đối tượng 2> =
<giá trị tương ứng>, ,<tên đối tượng n> = <giá trị tương ứng>}
Conditions: {<phương trình quan hệ 1>,<phương trình quan hệ 2>, ,<phương
trình quan hệ k>}
Targets: {<tên đối tương 1>, <tên đối tượng 2>, , <tên đối tương m>}
End.
Ví dụ đặc tả bài toán nêu ở phần II.1.a( mô hình)
Begin
Relation: {((R1//R2)ntR3)ntR4}
Hypothesis: {U1234=12, U4=4, R3=2, I1=1.5}
Conditions: { I2 =2*I1 /3}
Targets: {R2, I3}
End.
2 Thu t gi i ập Trình Symbolic ả bài toán:
Sau đây là một số định nghĩa lại để dễ dàng đồng hóa với chương trình giải bài toán điện một chiều:
Trang 91) ListRelations ← (M, F).
2) ListNodes ← A
3) ListEquations ← C
4) ListTargets ← B
a Các b ướng dẫn: ThS Nguyễn Đình Hiển c chu n b : ẩn bị: ị:
Bước 1: Tạo các đối tượng từ chuỗi quan hệ mắc các đối tượng trong mạch, bao gồm
cả các đối tượng phát sinh Sử dụng kĩ năng xử lý chuỗi và tạo cây nhị phân để giải
quyết vấn đề này
Ví dụ: từ chuỗi (R1//R2)NtR3 ta biểu diễn trực quan cây như sau:
Chú thích:
1 Tên của 1 đối tượng mới có dạng “R + index _lesft + index_right” Như ta thấy trên hình vẽ đối tượng được tạo ra từ 2 đối tượng R1 và R2 sẽ có tên là R12.
2 Op(Operator) toán tử: * -> song song, + -> nối tiếp.
Trang 10Bước 2: tạo các quan hệ(Relations) nội bộ, quan hệ song song, nối tiếp giữa các đối
tượng trên cây :
Sau đây là biểu diễn trực quan 1 relation:
Bây giờ ta có 3 tập chính sau: ListNodes, ListRelations, ListTarget
Bước 3: Tạo mạng lưới đồ thị từ ListNodes và ListRelations:
Gom các node và các relation thì ta được đồ thị chưa liên thông Và ta tiến hành kết nối chúng với nhau Ta tiến hành liên kết các relation khác nhau có node cùng tên với nhau Đồng nhất các node trong ListNodes(các node được cho trong giả thiết đã có giá trị) với node trong đồ thị, đồng thời kích hoạt relation chứa nó
b Quá trình đi tìm l i gi i: ời giải: ả bài toán:
Bước 1: Loại bỏ các yếu tố cần tìm mà tồn tại giá trị(đã cho trong giả thiết) bằng cách
xóa các node trong ListTargets mà đã có trong ListNodes
Bước 2: Chạy lần lượt các node trong ListTargets để tìm đường đi đến từng Target.
Trang 11Bước 3: Sau khi nhận một node trả về từ bước 2 Nếu node này null thì kết luận
không tìm được lời giải Ngược lại sang bước 4.
Bước 4: Ta dò ngược lại từ node đó để tìm danh sách các relation chứa các phương
trình áp dụng tìm node đó
Bước 5: Xóa bỏ các relation trùng nhau do tìm từng đối tượng riêng lẻ.
c Ví d minh h a cho thu t gi i ụ minh họa cho thuật giải ọa cho thuật giải ập Trình Symbolic ả bài toán:
Cho mạch điện có biểu thức quan hệ sau: ((R1//R2)ntR3)ntR4 Cho U4=4, R3=2, I1=1.5, I2=2/3 *I1 và U1234=12 Tính R2, I3 ?
Trang 12- Mô tả bài toán:
Giả thiết: {((R1//R2)ntR3)ntR4, U4=4, R3=2, I1=1.5, I2=2/3 *I1,U1234=12 }
Kết luận: tính {R2, I3 }
- Ghi nhận thông tin của bài toán theo mô hình mạng tính toán kết hợp với đồ thị:
Begin
Relation: {((R1//R2)ntR3)ntR4}
Hypothesis: {U1234=12, U4=4, R3=2, I1=1.5}
Conditions: { I2 =2*I1 /3}
Targets: {R2, I3}
End.
- Trình tự suy diễn của bài toán được mô tả qua lời giải như sau:
Áp dụng công thức f: I12 =I1 +I2
Ta có: I12 = I1+I2 Thế các giá trị vào ta được:
I12 = 1.5+ 1 I12=2.5 (A)
Áp dụng công thức f: I12 =I3
Ta có: I3 = I12 Thế các giá trị vào ta được:
I3=2.5 (A)
Áp dụng công thức f: I3=U3/R3
Ta có: U3 = I3*R3 Thế các giá trị vào ta được:
U3 = 2.5* 2 U3=5 (V)
Áp dụng công thức f: U1234 =U123 +U4
Ta có: U123 = U1234-U4
Trang 13Thế các giá trị vào ta được:
U123 = 12- 4 U123=8 (V)
Áp dụng công thức f: U123 =U12 +U3
Ta có: U12 = U123-U3 Thế các giá trị vào ta được:
U12 = 8- 5 U12=3 (V)
Áp dụng công thức f: U12 =U2
Ta có: U2 = U12 Thế các giá trị vào ta được:
U2=3 (V)
Áp dụng công thức f: I2=U2/R2
Ta có: R2 = U2/I2 Thế các giá trị vào ta được:
R2 = 3/ 1 R2=3 (Om)
III CÀI Đ T TH NGHI M ẶT THỬ NGHIỆM Ử NGHIỆM ỆN MỘT CHIỀU
- Chương trình được viết trên ngôn ngữ C# không hỗ trợ của bên thứ 3
- Vẽ mạch điện được thực hiện duyệt cây theo hướng trái- phải-cha Vì việc vẽ
mạch đơn giản nên nhóm không trình bày chi tiết
- Theo khảo sát các bài toán từ bậc trung học cơ sở, thường thì trung bình một bài toán có khoảng dưới 8 đối tượng trong mạch Vì lí do đó chương trình này cũng
xử lý khoảng dưới 10 đối tượng thành phần
- Một vài hạn chế của chương trình là:
Khi người nhập sai thì chương trình chỉ báo lỗi chung chung
Một số dạng quan hệ dạng tam thức bậc 2 chưa giải được
- Giao diện chương:
Trang 14- Hướng dẫn sử dụng chương trình:
: Mở hộp thoại để chọn các đề mẫu:
Trang 15: Thực hiện lời giải cho bài tập:
Trang 16TÀI LI U THAM KH O: ỆN MỘT CHIỀU ẢI BÀI TOÁN ĐIỆN MỘT CHIỀU
[1] GSTS Hoàng Kiếm & PGS.TS Đỗ Văn Nhơn- Mạng tính toán và ứng dụng (1996)
[2] Nhon Van Do, Constructing of Intelligent Computation Systems, Ph.D Thesis, National
University of Ho Chi Minh City (2002)
[3] Nhon Do, Tam Pham - Problem Solving Techniques with Extensive Computational Network
and Applying in an Educational Software (2010)