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

Tài liệu Bài tiểu luận Mô hình tri thức COKB cho bài toán mạch điện một chiều

33 10 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

Tiêu đề Mô Hình Tri Thức COKB Cho Bài Toán Mạch Điện Một Chiều
Tác giả Đỗ Duy Phúc
Người hướng dẫn PGS.TS. Đỗ Văn Nhơn
Trường học Đại Học Quốc Gia Tp.Hồ Chí Minh
Chuyên ngành Công Nghệ Thông Tin
Thể loại tiểu luận
Năm xuất bản 2013
Thành phố Tp.Hồ Chí Minh
Định dạng
Số trang 33
Dung lượng 683,24 KB

Cấu trúc

  • Phần 1. Giới Thiệu Vấn Đề Tri Thức Bài Toán Điện Một Chiều (6)
    • 1. Giới Thiệu Bài Toán (6)
    • 2. Phân tích vấn đề (6)
  • Phần 2. Mô Hình Biểu Diễn Tri Thức Các Đối Tượng Tính Toán - COKB (10)
    • 1. Mô hình một đối tượng tính toán (10)
    • 2. Mô hình COKB (13)
      • 2.1. Một tập hơp C chứa các khái niệm về các C-Object (13)
      • 2.2. Một tập hơp H các quan hệ phân cấp giữa các loại đối tượng (14)
      • 2.3. Một tập hơp R các khái niệm về các loại quan hệ trên các C-Object (14)
      • 2.4. Một tập hơp Ops các toán tử (15)
      • 2.5. Một tập hơp Rules gồm các luật được phân lớp (15)
    • 3. Giải thuật tìm lời giải trên mô hình COKB (16)
  • Phần 3. Mô Hình COKB Cụ Thể Cho Tri Thức Điện Một Chiều (17)
    • 1. Tập C – Concepts (17)
      • 1.1. Đối tượng điện trở DIEN_TRO (18)
      • 1.2. Đối tượng mạch điện một chiều cơ bản MACH_CO_BAN (19)
      • 1.3. Đối tượng mạch nối tiếp MACH_NOI_TIEP (21)
    • 2. Tập H – Hierarchy (23)
    • 3. Tập R – Relations (24)
    • 4. Tập Ops – Operators (25)
    • 5. Tập Rules (25)
  • Phần 4. Mô Hình Bài Toán Và Ví Dụ Áp Dụng (28)
    • 1. Mô Hình Bài Toán (28)
    • 2. Ví Dụ Minh Họa Cụ Thể (29)
  • Kết Luận (32)
  • Tài Liệu Tham Khảo (33)

Nội dung

Giới Thiệu Vấn Đề Tri Thức Bài Toán Điện Một Chiều

Giới Thiệu Bài Toán

Trong chương trình học môn Vật Lý ở các lớp phổ thông, học sinh thường gặp dạng bài tập liên quan đến mạch điện một chiều với nhiều điện trở hoặc thiết bị tiêu thụ điện như bóng đèn và quạt Các thiết bị này được mắc theo hai hình thức chính là song song và nối tiếp, tạo ra sự đa dạng và phức tạp cho mạch điện Sự kết hợp của nhiều thiết bị cùng với hai kiểu mắc đơn giản khiến cho việc giải bài tập trở nên khó khăn hơn.

Bài viết này nhằm hỗ trợ giải bài tập bằng cách trình bày kiến thức linh hoạt dựa trên mô hình COKB, từ đó cung cấp các thuật giải hiệu quả cho bài toán.

Phân tích vấn đề

Như chúng ta đã biết, một mạch điện một chiều sẽ bao gồm các yếu tố đại lượng cơ bản như sau:

- I: cường độ dòng điện đi qua mạch

- U: hiệu điện thế ở hai đầu mạch

- P: công suất dòng điện đi qua mạch

- t: khoảng thời gian cho dòng điện chạy

- W: điện năng tiêu thụ của dòng điện sau thời gian t

Các công thức giữa các đại lượng:

Các công thức điện trở tương đương cho mạch ghép:

Cường độ dòng điện tương đương:

(7) Hiệu điện thế tương đương:

Ví dụ: cho một mạch điện phù hợp với vấn đề như hình vẽ bên

Tại vị trí 1, 2 và 3, có các hình ảnh đại diện cho các thiết bị tiêu thụ điện Tất cả các thiết bị này được xem như các điện trở, với ký hiệu tương ứng.

R1, R2, R3 Ứng với từng điện trở thành phần bên còn có các đại lượng tương ứng U,

- Đối với R1 ta có thêm I1, U1, P1

- Đối với R2 ta có thêm I2, U2, P2

- Đối với R3 ta có thêm I3, U3, P3

Từ hình vẽ trên, ta có thể biểu diễn mạch điện lại theo dạng chuỗi ký tự như sau:

- dấu ‘*’ là mắc song song

- dấu ‘+’ là mắc nối tiếp

Nếu lấy R12 thay thế (R1 * R2), ta có cấu trúc biễu diễn như sau:

Và R12 được gọi là điện trở tương đương cho (R1 * R2) Với R12 được tính theo công thức điện trở tương đương song song (4) của R1 và R2 như sau:

Các công thức U12 và I12 tương ứng từ công thức (6) và (8):

Tương tự ta có điện trở tương đương R123 của hai điện trở R12 và R3 nối tiếp, cũng là điện trở toàn mạch:

Trong mạch điện, ngoài các đoạn mạch cơ bản như R1, R2, R3, còn tồn tại các đoạn mạch tổng hợp cao hơn tương ứng với các điện trở tương đương như R12 và mạch chính R Mỗi đoạn mạch đều có các yếu tố như điện trở (R), điện áp (U), dòng điện (I), công suất (P), công (W) và thời gian (t), với các mối quan hệ mắc nối tiếp hoặc song song Từ những mối quan hệ này, ta có thể suy ra các công thức liên quan đến các yếu tố giữa các đoạn mạch.

Mục tiêu của bài toán là xác định các yếu tố chưa biết trong một cấu trúc mạch điện một chiều đã cho, dựa trên những yếu tố và quan hệ đã được xác định Để đạt được mục tiêu này, chúng ta sẽ áp dụng các quan hệ liên quan đến các yếu tố ban đầu nhằm tìm ra các yếu tố mới Phương pháp giải quyết bài toán sẽ được tổ chức dựa trên mô hình COKB, như sẽ được trình bày sau đây.

Mô Hình Biểu Diễn Tri Thức Các Đối Tượng Tính Toán - COKB

Mô hình một đối tượng tính toán

Mô hình Cơ Sở Tri Thức Các Đối Tượng Tính Toán (COKB) được xây dựng dựa trên khái niệm Đối Tượng Tính Toán (C-Object) Một C-Object được định nghĩa là một đối tượng O có cấu trúc đặc biệt, tạo nền tảng cho việc quản lý và xử lý tri thức trong các hệ thống tính toán.

A Một danh sách các thuộc tính Attr(O) = A1, A2, , An trong đó mỗi thuộc tính lấy giá trị trong một miền xác định nhất định, và giữa các thuộc tính ta có các quan hệ thể hiện qua các sự kiện, các luật suy diễn hay các công thức tính toán

B Các hành vi liên quan đến sự suy diễn và tính toán trên các thuộc tính của đối tượng hay trên các sự kiện như

Xác định bao đóng của một tập hợp thuộc tính A thuộc Attr(O) giúp xác định tập thuộc tính lớn nhất có thể suy ra từ A trong đối tượng O.

Để xác định tính giải được của bài toán suy diễn tính toán có dạng A → B, cần xem xét các thuộc tính A và B thuộc tập Attr(O) Điều này có nghĩa là cần đánh giá khả năng suy ra các thuộc tính trong B từ các thuộc tính trong A.

 Thực hiện các tính toán

 Thực hiện việc gợi ý bổ sung giả thiết cho bài toán

 Xem xét tính xác định của đối tượng, hay của một sự kiện

Ví dụ 1: Một cấu trúc tam giác với cấu trúc gồm các yếu tố như:

- 3 góc tương ứng với 3 cạnh: , , 

- 3 đường cao tương ứng: ha, hb, hc

- Diện tích S của tam giác

- Nửa chu vi p của tam giác

- Bán kính đường tròn ngoại tiếp R của tam giác,

- v.v … cùng với các công thức liên hệ giữa chúng như:

- Định lý góc trong tam giác

- Các công thức tính diện tích

V.v… sẽ chuyển đổi thành một đối tượng C-object khi chúng ta kết hợp cấu trúc này với các hành vi xử lý liên quan đến việc giải quyết bài toán tam giác, cũng như các hành vi xem xét sự kiện liên quan đến các thuộc tính hoặc bản thân đối tượng đó.

 Như vậy ta là có một đối tượng tam giác

Khi đối tượng tam giác nầy được yêu cầu cho một lời giải cho bài toán  a,B,C  S nó sẽ cung cấp một lời giải gồm 3 bước sau đây:

Bước 1: Xác định A bởi công thức A =  -B-C;

Bước 2: Xác định b bởi công thức b = a.sin(B)/sin(A);

Bước 3: Xác định S bởi công thức S = a.b.sin(C)/2;

Khi yêu cầu giải bài toán a,B  S, đối tượng sẽ phản hồi rằng “không giải được” và có thể đề xuất cung cấp thêm thông tin như A, C, b hoặc c để hỗ trợ.

Ví dụ 2: Một cấu trúc tứ giác với cấu trúc gồm các yếu tố như:

Khi tích hợp cấu trúc v.v với các công thức và sự kiện liên quan, chúng trở thành một đối tượng C-object Điều này có thể áp dụng cho việc giải bài toán tứ giác và xem xét các sự kiện liên quan đến thuộc tính của đối tượng.

 Như vậy ta có một đối tượng tứ giác

Một C-Object có thể được mô hình hóa bởi một bộ:

(Attrs, F, Facts, Rules) trong đó:

- Attrs là tập hợp các thuộc tính của đối tượng

- F là tập hợp các quan hệ suy diễn tính toán

- Facts là tập hợp các tính chất hay các sự kiện vốn có của đối tượng

- Rules là tập hợp các luật suy diễn trên các sự kiện liên quan đến các thuộc tính cũng như liên quan đến bản thân đối tượng

Ví dụ 3: Đối tượng tính toán thuộc loại “tam giác” được biểu diễn theo mô hình trên gồm có:

 Attrs =  GocA, GocB, GocC, a, b, c, ha, hb, hc, ma, mb, mc, pa, pb, pc, S, p,

 F =  GocA + GocB + GocC = Pi, a*sin(GocB) = b*sin(GocA), a^2 = b^2 + c^2 – 2 * b * c * cos(GocA), 

 Rules =  {GocA=GocB}  {a=b}, {a=b}  {GocA=GocB},

Ví dụ 4: Đối tượng (C-Object) thuộc loại “TU_GIAC” được biểu diễn theo mô hình trên gồm có:

 Attrs =  a, b, c, d, c1, c2, GA, GB, GC, GD, 

 F =  GA + GB + GC + GD = 2*Pi, a+b+c+d = p,

 Rules =  {a // c}  {GD=Pi-GA, GB=Pi-GC, GOC[A,B,D]=GOC[C,D,B], GOC[C,A,B]=GOC[A,C,D]},

Mô hình COKB

Từ nền tảng các đối tượng tính toán C-Object, mô hình tri thức các đối tượng tính toán COKB là một hệ thống

2.1 Một tập hơp C chứa các khái niệm về các C-Object

Mỗi khái niệm trong C-Object được tổ chức theo cấu trúc phân cấp từ đơn giản đến phức tạp, bắt đầu với các biến thực, ký hiệu là , và tiếp theo là các đối tượng cơ bản có thể có cấu trúc rỗng hoặc bao gồm một số thuộc tính loại.

Các đối tượng loại đóng vai trò nền tảng cho các đối tượng cấp cao hơn Đối tượng tính toán cấp 1 có thuộc tính loại và được thiết lập từ danh sách các đối tượng cơ bản Trong khi đó, đối tượng tính toán cấp 2 không chỉ có thuộc tính loại mà còn bao gồm các thuộc tính thuộc loại đối tượng cấp 1, và cũng được thiết lập từ danh sách các đối tượng cơ bản.

Cấu trúc bên trong của mỗi lớp đối tượng gồm:

- Kiểu đối tượng: Kiểu nầy có thể là loại kiểu thiết lập trên một danh sách nền các đối tượng cơ bản

- Danh sách các thuộc tính: mỗi thuộc tính có kiểu thực, kiểu đối tượng cơ bản hay kiểu đối tượng cấp thấp hơn

Quan hệ trên cấu trúc thiết lập thể hiện sự liên hệ giữa đối tượng và các đối tượng nền, tức là các đối tượng thuộc danh sách đối tượng nền.

- Tập hợp các điều kiện ràng buộc trên các thuộc tính

- Tập hợp các tính chất nội tại liên quan đến các thuộc tính của đối tượng Mỗi tính chất nầy cho ta một sự kiện của đối tượng

Tập hợp các quan hệ suy diễn và tính toán cho phép chúng ta áp dụng các quy luật suy diễn để tính toán một hoặc nhiều thuộc tính của đối tượng dựa trên các thuộc tính khác.

Tập hợp các luật suy diễn áp dụng cho các sự kiện khác nhau liên quan đến thuộc tính của đối tượng hoặc chính bản thân đối tượng Mỗi luật suy diễn được trình bày dưới dạng cụ thể.

các sự kiện giả thiếtcác sự kiện kết luận

Đối tượng không chỉ có cấu trúc mà còn được trang bị các hành vi cơ bản để giải quyết bài toán suy diễn và tính toán trên các thuộc tính của chính nó hoặc các đối tượng liên quan Những hành vi này sẽ được phân tích chi tiết hơn trong các phần tiếp theo.

2.2 Một tập hơp H các quan hệ phân cấp giữa các loại đối tượng

Trên tập hợp C, tồn tại một quan hệ phân cấp, trong đó một số khái niệm là sự đặc biệt hóa của các khái niệm khác, ví dụ như tam giác cân là một loại tam giác, và hình bình hành là một dạng tứ giác Quan hệ phân cấp này có thể được mô tả bằng biểu đồ Hasse, xem như một quan hệ thứ tự trên tập hợp C.

2.3 Một tập hơp R các khái niệm về các loại quan hệ trên các C-Object

Mỗi quan hệ được xác định bởi tên và các loại đối tượng liên quan, có thể mang một số tính chất như phản xạ, đối xứng, phản xứng và bắc cầu Chẳng hạn, quan hệ cùng phương trên hai đoạn thẳng thể hiện các tính chất phản xạ, đối xứng và bắc cầu.

2.4 Một tập hơp Ops các toán tử

Toán tử cho phép thực hiện nhiều phép toán trên biến thực và đối tượng, bao gồm các phép toán số học cũng như tính toán trên các đối tượng như đoạn và góc, tương tự như cách áp dụng cho biến thực.

2.5 Một tập hơp Rules gồm các luật được phân lớp

Các luật thể hiện tri thức phổ quát qua các khái niệm và loại sự kiện khác nhau, cung cấp quy tắc suy luận để dẫn đến các sự kiện mới Cấu trúc của mỗi luật bao gồm hai thành phần chính: phần giả thiết và phần kết luận, cả hai đều là tập hợp sự kiện liên quan đến các đối tượng nhất định Một luật có thể được mô hình hóa dưới dạng: r : {gt1, gt2, , gtn} ⇒ {kl1, kl2, , klm} Để mô hình luật này có hiệu lực trong cơ sở tri thức và khảo sát các thuật giải cho các bài toán, cần xác định các dạng sự kiện khác nhau có thể có trong các luật, trong đó có 6 loại sự kiện khác nhau được xem xét.

(1) Sự kiện thông tin về loại của một đối tượng

(2) Sự kiện về tính xác định của một đối tượng hoặc thuộc tính của đối tượng

(3) Sự kiện về sự xác định của một thuộc tính hay một đối tượng thông qua một biểu thức hằng

(4) Sự kiện về sự bằng nhau giữa một đối tượng hay một thuộc tính với một đối tượng hay một thuộc tính khác

Sự kiện thể hiện sự phụ thuộc của một đối tượng hoặc thuộc tính vào các đối tượng hay thuộc tính khác thông qua một công thức tính toán.

(6) Sự kiện về một quan hệ trên các đối tượng hay trên các thuộc tính của các đối tượng.

Giải thuật tìm lời giải trên mô hình COKB

Bài toán GL => KL liên quan đến việc kiểm tra khả năng từ giả thuyết GL có thể dẫn đến kết luận KL hay không Để đạt được kết luận, cần xác định các bước cần thiết trong quá trình suy diễn Ý tưởng chính là áp dụng một quá trình suy diễn tiến kết hợp với các quy tắc heuristic, nhằm tăng tốc độ giải quyết và đạt được lời giải tối ưu một cách nhanh chóng.

Quy trình tìm lời giải sẽ lần lượt xem xét các tập luật theo các bước cụ thể cho đến khi đáp ứng đầy đủ các yêu cầu của bài toán.

1) Các luật và luật suy diễn tính toán trong bản thân các đối tượng Com-Object hiện có và có liên quan đến tập các sự kiện yêu cầu

2) Các luật và luật suy diễn tính toán trong các đối tượng Com-Object hiện có còn lại

3) Inside net của các đối tượng hiện có

4) Các luật trong Rules hiện có với các sự kiện không thuộc loại 2 (xác định đối tượng) trong phần kết luận

5) Các luật trong Rules hiện có với các sự kiện thuộc loại 2 (xác định đối tượng) trong phần kết luận và có các sự kiện giả thuyết liên quan đến đối tượng yêu cầu

Mô Hình COKB Cụ Thể Cho Tri Thức Điện Một Chiều

Tập C – Concepts

Tập C bao gồm các lớp đối tượng (C-Object) được sử dụng trong mô hình Mỗi lớp đối tượng có cấu trúc cụ thể riêng biệt.

Kiểu lớp đối tượng là một loại kiểu được thiết lập dựa trên danh sách nền các đối tượng cơ bản hoặc các đối tượng cấp thấp hơn.

(2) Variables: Danh sách các thuộc tính, mỗi thuộc tính có kiểu thực, kiểu đối tượng cơ bản hay kiểu đối tượng cấp thấp hơn

(3) Constraints: Tập hợp các điều kiện ràng buộc trên các thuộc tính

Các quy tắc xác định đối tượng bao gồm những tính chất nội tại liên quan đến thuộc tính của đối tượng Mỗi tính chất này cung cấp cho chúng ta một sự kiện cụ thể về đối tượng.

Các quan hệ tính toán trong lý thuyết suy diễn bao gồm một tập hợp các quy luật cho phép suy diễn và tính toán các thuộc tính của đối tượng Mỗi quan hệ thể hiện một quy luật suy diễn cụ thể, giúp chúng ta tính toán một hoặc nhiều thuộc tính từ các thuộc tính khác.

Các quy tắc suy diễn là tập hợp các nguyên tắc áp dụng cho các sự kiện khác nhau liên quan đến thuộc tính của đối tượng hoặc chính bản thân đối tượng Mỗi quy tắc suy diễn được biểu hiện dưới một dạng cụ thể.

các sự kiện giả thiết  các sự kiện kết luận

(7) Object determine rules: Tập hợp các luật suy diễn như (6) nhưng các luật ở đây chỉ dùng để xác định đối tượng của lớp đối tượng này

Lớp đối tượng không chỉ được trang bị cấu trúc mà còn có các hành vi cơ bản để giải quyết các bài toán suy diễn và tính toán trên thuộc tính của chính nó hoặc các đối tượng liên quan Thành phần này, được gọi là Inside net, hoạt động tương tự như một mạng suy diễn tính toán và bao gồm hai thành phần chính: objects.

(các đối tượng và facts (sự kiện)

Từ phân tích lý thuyết về bài toán mạch điện một chiều, chúng ta nhận thấy rằng các mạch cơ bản và mạch tổng hợp được phân biệt và xây dựng dựa trên các điện trở cơ bản.

Các mạch tổng hợp nối tiếp và song song là những loại mạch cơ bản đặc biệt, có các tính chất và công thức quan hệ riêng với các đoạn mạch con Mỗi đoạn mạch con này cũng được coi là một mạch cơ bản, góp phần hình thành nên mạch tổng hợp.

Vì vậy, ta đưa ra bốn loại khái niệm C-Object:

- DIEN_TRO để chỉ điện trở

- MACH_CO_BAN chỉ mạch cơ bản

- MACH_NOI_TIEP chỉ mạch nói tiếp

- MACH_SONG_SONG chỉ mạch song song

1.1 Đối tượng điện trở DIEN_TRO

Đối tượng DIEN_TRO được đề xuất là một loại đối tượng rỗng, không có giá trị riêng, mà chỉ đóng vai trò làm nền cho các đối tượng khác Giá trị thực của điện trở này sẽ được chuyển giao vào mạch cơ bản mà nó tham gia.

Khi các điện trở được mắc song song hoặc nối tiếp trong mạch, chúng tạo ra một điện trở tổng hợp Điều này cho thấy rằng các phép toán giữa các điện trở này có những tính chất đặc biệt.

- Phép `+`: đại diện cho cách mắc nối tiếp của hai điện trở trong mạch

- Phép `*`: đại diện cho cách mắc song song của hai điện trở trong mạch

Kết quả của hai phép toán này sẽ trả về một đối tượng DIEN_TRO, đại diện cho một điện trở tương đương, bao quát cả hai điện trở đã được tính toán.

=> (R1+R2), (R1*R2) cũng là DIEN_TRO nhưng (R1+R2) là điện trở tương đương nối tiếp của R1 và R2

Lớp này được lưu trữ thành mô hình tri thức trên máy trong tập tin DIEN_TRO.txt

1.2 Đối tượng mạch điện một chiều cơ bản MACH_CO_BAN Đây là lớp đối tượng cấp 1 Lớp này được xây dựng dựa trên một đối tượng của lớp DIEN_TRO Nó có:

- các thuộc tính là các biến thực : U, I, R,… đại diện cho các đại lượng trong một mạch điện đơn

- các luật suy diễn tính toán là các công thức trên các thuộc tính: U= I/R, P =U.I,…

- các luật xác định đối tượng

Ví dụ: ta có R1: DIEN_TRO

=> MACH_CO_BAN[R1] là đoạn mạch cơ bản chứa R1

Tương tự với (R1+R2): DIEN_TRO

=> MACH_CO_BAN[(R1+R2)] là đoạn mạch cơ bản chứa điện trở tổng hợp R1, R2 được mắc nối tiếp với nhau

 Lưu ý: khi muốn đề cập giá trị của một điện trở thì ta gọi giá trị của R của đoạn mạch chứa điện trở đó

Ví dụ: giá trị của DIEN_TRO R1 sẽ là MACH_CO_BAN[R1].R

Lớp này được lưu trữ thành mô hình tri thức trên máy trong tập tin

MACH_CO_BAN.txt , có cấu trúc cụ thể như sau: begin_object: MACH_CO_BAN[R1];

U,I,R,W,P,t: real; end_variables begin_constraints

U>0; I>0; R>0; W>0; P>0; t>0; end_constraints begin_properties end_properties begin_computation_relations begin_relation 1 flag = 1

Mf ={U,I,R} rf =1 vf ={} expf =` I = U/R ` cost=1 end_relation begin_relation 2 flag = 1

Mf ={P,U,I} rf =1 vf ={} expf =` P = U*I ` cost=1 end_relation

… end_computation_relations begin_rules end_rules begin_ObjectDetermine_rules begin_rule 1 kind_rule = "xac_dinh_doi_tuong"; hypothesis_part:

{U,I,t} end_hypothesis_part goal_part:

{"Object"} end_goal_part end_rule begin_rule 2 kind_rule = "xac_dinh_doi_tuong"; hypothesis_part:

{U,I,W} end_hypothesis_part goal_part:

{"Object"} end_goal_part end_rule

… end_ObjectDetermine_rules end_object begin_inside_net parameters: objects: facts: end_inside_net

1.3 Đối tượng mạch nối tiếp MACH_NOI_TIEP

MACH_NOI_TIEP là mạch tương đương của hai mạch điện cơ bản mắc nối tiếp, thuộc lớp đối tượng cấp 1 và kế thừa từ MACH_CO_BAN Với tư cách là lớp con, MACH_NOI_TIEP thừa hưởng các luật suy diễn tính toán từ lớp đối tượng cha.

Trong lớp này, chúng ta sẽ định nghĩa thành phần Inside net, thể hiện mối quan hệ tính toán giữa mạch tổng hợp nối tiếp và các mạch cơ bản Cụ thể, chúng ta sẽ xem xét các công thức liên quan đến các đại lượng R, I, U tương đương cho mạch nối tiếp.

I = I1 = I2 Ở đây, các công thức chỉ có hai đại lượng thành phần vì MACH_NOI_TIEP chỉ được định nghĩa có duy nhất hai DIEN_TRO thành phần

Ví dụ: ta có R1, R2: DIEN_TRO

=> MACH_NOI_TIEP[R1,R2] là đối tượng mạch tổng hợp chứa hai điện trở R1, R2 mắc nối tiếp

Lớp này được lưu trữ thành mô hình biễu diễn tri thức trên máy trong tập tin

MACH_NOI_TIEP.txt Có cấu trúc tương tự với một thành phần quan trọng sau: begin_object

… end_object begin_inside_net parameters: objects:

1.4 Đối tượng mạch song song MACH_SONG_SONG

MACH_SONG_SONG là mạch tương đương của hai mạch điện cơ bản mắc song song, có cấu trúc tương tự như MACH_NOI_TIEP Tuy nhiên, các công thức trong Inside net của MACH_SONG_SONG áp dụng cho mạch tổng hợp hai điện trở mắc song song.

Ví du: ta có R1, R2: DIEN_TRO

=> MACH_SONG_SONG[R1,R2] là đối tượng mạch tổng hợp chứa hai điện trở R1, R2 mắc song song

Lớp này được lưu trữ thành mô hình biễu diễn tri thức trên máy trong tập tin

MACH_SONG_SONG.txt với cấu trúc như sau: begin_object

… end_object begin_inside_net parameters: objects:

 Lưu ý: có mối quan hệ tương đương giữa hai loại đối tượng MACH_NOI_TIEP và MACH_SONG_SONG với MACH_CO_BAN

Ví dụ: ta có MACH_CO_BAN[(R1+R2)] và MACH_NOI_TIEP[R1,R2] là hai dạng ký hiệu biễu diễn cùng một dạng thực thể mạch điện một chiều

Tập H – Hierarchy

Tập H chứa các tính kế thừa (hay còn gọi là tính chuyên biệt hóa) giữa các lớp đối tượng C-Object

Tính chất kế thừa trong lập trình hướng đối tượng được định nghĩa rằng nếu lớp đối tượng A kế thừa từ lớp đối tượng B, thì lớp A sẽ tự động sở hữu các thành phần như Properties, Computation Relations và Rules đã được định nghĩa trong lớp B mà không cần phải khai báo lại.

Ta có hai quan hệ kế thừa:

- MACH_NOI_TIEP kế thừa MACH_CO_BAN

- MACH_SONG_SONG kế thừa MACH_CO_BAN

Tập H được lưu trên máy theo cấu trúc tập tin Hierarchy.txt begin_Hierarchy

MACH_NOI_TIEP, MACH_CO_BAN;

MACH_SONG_SONG, MACH_CO_BAN; end_Hierarchy

Tập R – Relations

Tập R định nghĩa các mối quan hệ giữa các lớp đối tượng C-Object, những mối quan hệ này được sử dụng làm mẫu cho các sự kiện trong tập Rules và các thành phần rules của lớp đối tượng.

Tập này dược lưu trên máy trong tập tin Relations.txt với cấu trúc như sau:

[, , ,…], {} begin_Relations

["SONGSONG", MACH_CO_BAN, MACH_CO_BAN], {"doi_xung"}

["NOITIEP", MACH_CO_BAN, MACH_CO_BAN], {"doi_xung"}

["TUONGDUONG", MACH_NOI_TIEP, MACH_CO_BAN], {"doi_xung"} ["TUONGDUONG", MACH_SONG_SONG, MACH_CO_BAN], {"doi_xung"} [`=`, MACH_CO_BAN, MACH_CO_BAN], {}

[`=`, MACH_NOI_TIEP, MACH_NOI_TIEP], {}

[`=`, MACH_SONG_SONG, MACH_SONG_SONG], {} end_Relations

Lưu ý rằng các quan hệ có thành tên quan hệ được đánh dấu bằng `` (ví dụ: `=`) có thể được sử dụng theo hai hình thức khác nhau.

hoặc: [, , ]

Với các kiểu tên quan hệ còn lại thì chỉ được sử dụng dưới dạng thứ hai.

Tập Ops – Operators

Tập Ops chứa các toán tử áp dụng trên các lớp đối tượng C-Object Mỗi toán tử được định nghĩa với cấu trúc:

[, , ];

Tập Ops được lưu trên máy với tập tin Operators.txt begin_Operators

[+, MACH_NOI_TIEP[R1,R2], { MACH_CO_BAN[R1],

[*, MACH_SONG_SONG[R1,R2], { MACH_CO_BAN[R1],

[+, DIEN_TRO, { DIEN_TRO, DIEN_TRO } ];

[*, DIEN_TRO, { DIEN_TRO, DIEN_TRO } ]; end_Operators

Các toán tử được sử dụng dưới dạng:

Tập Rules

Tập Rules chứa các luật suy diễn dạng: {tập các sự kiện} => {tập các sự kiện}

Trong đó có sáu loại sự kiện như trong phần giới thiệu mô hình COKB được định nghĩa biểu diễn trên máy như sau:

* Ghi chu: truong hop object duoc cau thanh tu cac object khac thi

tinh co the ghi theo phuong thuc cau thanh

O1.GocA co the viet la O1.GOC[C,A,B]

O1.a co the viet la O1.DOAN[B,C]

# truong hop doi thuong chi co mot thuoc tinh nhu DOAN

. =

4, | . = |

5, | . =

6, [, day 2 doi tuong cho quan he 2 ngoi]

[, {2 doi tuong co quan he (co the nhieu)}] # truong hop quan he co tinh "doi xung"

[, {3 doi tuong co quan he tro len}]

# truong hop quan he co tinh "doi_xung" va "truyen"

Các cấu trúc này được lưu trong tập tin Facts.txt

Ta có các luật suy diễn trên các đối tượng mạch điện một chiều như:

- {} =>{ MACH_NOI_TIEP[R1,R2] = MACH_NOI_TIEP[R2,R1]}

- { ["NOITIEP", MACH_CO_BAN[R1], MACH_CO_BAN[R2]] }

=> { [MACH_NOI_TIEP[R1,R2], "MACH_NOI_TIEP[R1,R2]"] }

- { MACH_CO_BAN[R1] + MACH_CO_BAN[R2] }

=> { ["NOITIEP", MACH_CO_BAN[R1], MACH_CO_BAN[R2]] }

- … Được lưu cụ thể trên máy dưới dạng: begin_rule kind_rule = "";

; hypothesis_part:

{} end_hypothesis_part goal_part:

{ } end_goal_part end_rule

Ví dụ: begin_rule kind_rule = "quan_he";

{ MACH_CO_BAN[R1] * MACH_CO_BAN[R2] } end_hypothesis_part goal_part:

{ ["SONGSONG", MACH_CO_BAN[R1], MACH_CO_BAN[R2]] } end_goal_part end_rule

Các luật trong tập Rules trên máy trong tập tin Rules.txt

Mô hình COKB cho phép biểu diễn rõ ràng các tri thức liên quan đến bài toán điện một chiều trong cơ sở tri thức, giúp cấu trúc mạch, dù đơn giản hay phức tạp, được thể hiện một cách tường minh Các quan hệ, công thức và cấu tạo mạch hoàn toàn độc lập với chương trình thực thi, cho phép người dùng dễ dàng thêm, bớt hoặc sửa đổi tri thức mà không cần can thiệp vào mã nguồn Điều này mang lại tính linh hoạt và sự "thông minh" cho chương trình.

Các tập tin chứa tri thức đề cập ở trên, được đính kèm với với bài viết này trong thư mục tri_thuc nằm cùng thư mục với bài viết.

Mô Hình Bài Toán Và Ví Dụ Áp Dụng

Mô Hình Bài Toán

Mạch điện được biểu diễn một cách tổng quát và linh hoạt là yếu tố quan trọng nhất để chương trình có thể hiểu và xử lý Việc cấu trúc mô hình mạch điện phù hợp giúp chương trình tìm kiếm các yếu tố cần thiết theo yêu cầu của đề bài.

Với mô hình COKB, chúng ta có thể chuyển đổi giả thuyết của bài toán thành một tập hợp các sự kiện, tuân theo cấu trúc đã được định nghĩa trong file facts.txt.

Ta đã quy ước ở phần phân tích lý thuyết dấu * đại diện cho cách mắc song song, dấu

Đại diện cho cách mắc nối tiếp, R1, R2, R3 được xác định là đối tượng DIEN_TRO Do đó, biểu thức ((R1*R2) + R3) cũng là một đối tượng DIEN_TRO, vì toán tử + và * đã được định nghĩa để trả về giá trị là một đối tượng DIEN_TRO.

=> (R1*R2) là đối tượng DIEN_TRO tương đương của hai DIEN_TRO R1, R2 mắc song song

=> ( (R1*R2) + R3 ) là đối tượng DIEN_TRO tương đương của hai DIEN_TRO (R1*R2) và R3 mắc nối tiếp

=> M là đoạn mạch cơ bản chứa DIEN_TRO tương đương ( (R1*R2) + R3 )

Giả sử bài toán yêu cầu tìm hiệu điện thế U của đoạn mạch chứa R1, R2 và cường độ dòng điện I của đoạn mạch chứa R3 Chúng ta có thể biểu diễn tập hợp sự kiện yêu cầu như sau:

{ MACH_CO_BAN[(R1*R2)].U, MACH_CO_BAN[R3].I}

{ MACH_SONG_SONG[R1,R2].U, MACH_CO_BAN[R3].I}

Ta có MACH_CO_BAN[(R1*R2)].U và MACH_SONG_SONG[R1,R2].U mang cùng ý nghĩa vì trong cơ sở tri thức ta đã định nghĩa MACH_CO_BAN[(R1*R2)] và

MACH_SONG_SONG[R1,R2] là tương đương với nhau (luật số 10 trong Rules )

Quy trình tìm lời giải sẽ ưu tiên xem xét theo các bước sau cho đến khi tìm được hết các yêu cầu của bài toán:

7) Các luật và luật suy diễn tính toán của các đối tượng hiện có và có liên quan đến tập các sự kiện yêu cầu

8) Các luật và luật suy diễn tính toán của các đối tượng hiện có còn lại

9) Inside net của các đối tượng hiện có

10) Các sự kiện hiện có với các luật không thuộc loại “tao_doi_tuong” trong Rules

11) Các luật “tao_doi_tuong” trong Rules, có các sự kiện giả thuyết liên quan đến đối tượng yêu cầu

Ví Dụ Minh Họa Cụ Thể

Trong mạch điện đã cho với các điện trở R1 = 2, R2 = 5, R3 = 1 và hiệu điện thế U3 = 4, chúng ta cần xác định cường độ dòng điện I3 và hiệu điện thế U12 cho đoạn mạch chứa điện trở R1 và R2 Cường độ dòng điện I3 có thể tính toán dựa trên các giá trị điện trở và hiệu điện thế đã cho Đồng thời, hiệu điện thế U12 giữa hai điện trở R1 và R2 cũng cần được xác định để hoàn thiện phân tích mạch điện này.

Ta có tập giả thuyết và yêu cầu như sau:

YC = { [MACH_CO_BAN[R3].I , MACH_CO_BAN[(R1*R2)].U }

 Lời giải cho bài toán như sau

(1) { MACH_CO_BAN[R3].R = 1, MACH_CO_BAN[R3].U = 4 }

(MACH_CO_BAN Computation Relations 1)

(3) { [Mnt123 , “MACH_NOI_TIEP[ (R1*R2), R3 ]” ], MACH_CO_BAN[R3].I 4}

(MACH_NOI_TIEP Inside net)

=> { [ Mcb12, “MACH_CO_BAN[(R1*R2)]”] , [Mcb3, “MACH_CO_BAN[R3]” ], [“NOITIEP”, Mcb12, Mcb 3] }

(6) { MACH_CO_BAN[R1].R = 2, MACH_CO_BAN[R2].R = 5,

(MACH_SONG_SONG Inside net)

(MACH_CO_BAN Computation Relations 1)

=> hoàn thành yêu cầu bài toán:

{ [MACH_CO_BAN[R3].I = 4 , MACH_CO_BAN[(R1*R2)].U = 5.72 }

Ngày đăng: 01/09/2021, 10:14

w