Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 13 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
13
Dung lượng
252,57 KB
Nội dung
BÁO CÁO THỰC TẬP CƠ SỞ MÃ ĐỀ 033 Phần II Thuật Tốn Kiểm Tra Các Tính Chất Của Quan Hệ 2.1 Bài toán Nêu cách dùng ma trận logic để biễu diễn quan hệ tập hợp Nêu ví dụ minh họa Cài đặt thuật tốn kiểm tra tính chất quan hệ(phản xạ, đối xứng, bắc cầu) 2.2 Cách xây dựng 2.2.1 Dùng ma trận lô-gic để biểu diễn quan hệ hai tập hợp 2.2.1.1 Các khái niệm - Quan hệ hai R tập A quan hệ từ A đến A, nghĩa R tập tích đề A x A - Ma trận logic cỡ m x n ma trận có m dịng n cột, phần tử nhận hai giá trị 2.2.1.2 Cách biễu diễn Ta chọn tập A gồm n phần tử đánh số thứ tự A={} Khi quan hệ R A xác định ma trận vuông cấp n, ký hiệu với A thỏa mãn: Theo cách biểu diễn này, rõ ràng với quan hệ R A xác định ma trận logic , ngược lại, biết ma trận logic quan hệ R, xác định xác quan hệ R 2.2.1.3 Các tính chất quan hệ - Một quan hệ có tính chất phản xạ ∀a A aRa - Một quan hệ có tính chất đối xứng ∀a, b A aRb bRa - Một quan hệ có tính chất bắc cầu ∀a,b,c A aRb bRc aRc * Nếu sử dụng ma trận logic để biểu diễn qua hệ ngơi tập hợp ta có nhận xét sau đây: Nguyễn Đức Phương – Lớp 53K1- Khoa CNTT Page 11 BÁO CÁO THỰC TẬP CƠ SỞ MÃ ĐỀ 033 - Một quan hệ có tính phản xạ ma trận biểu diễn có tất phần tử đường chéo - Một quan hệ có tính chất đối xứng ma trận biểu diễn ma trận đối xứng qua đường chéo - Một quan hệ có tính chất bắc cầu ma trận biễu diễn có =1 =1 =1 2.2.2 Ví dụ minh họa Cho tập hợp A = {1, 2, 3, 4, 5}, ta định nghĩa quan hệ R A sau: ∀a, b∈ A ta nói aRb a + b số lẻ, quan hệ R biểu begin diễn phương pháp sau: - Quan hệ R xác định tập hợp sau: n a (4, 1), (2, 3), (3, 2), (3, 4), (4, 3), (2, 5), (5, 2), (4, R(A) = {(1,Nhập 2), (2, 1),mảng (1, 4), 5), (5, 4)} - Ma trận logic quan hệkqR= xác định sau: i = tra tính chất quan hệ (phản xạ, đối xứng, 2.2.3 Cài đặt thuật toán kiểm bắc cầu) i < m? 2.2.3.1 Thuật tốn kiểm tra tính phản xạ - Input: Ma trận logic n x n thể quan hệ R j =0 - Output: Cho kết quan hệ có tính phản xạ, ngược lại trả Nguyễn Đức Phương – Lớp 53K1- Khoa CNTT Page 12 BÁO CÁO THỰC TẬP CƠ SỞ MÃ ĐỀ 033 S Đ S j < n? j ++ i ++ Đ S i = j? Đ a[i][j]=1? S return Đ return kq end Nguyễn Đức Phương – Lớp 53K1- Khoa CNTT Page 13 BÁO CÁO THỰC TẬP CƠ SỞ MÃ ĐỀ 033 2.2.3.2 Thuật tốn kiểm tra tính đối xứng - Input: Ma trận logic n x n thể quan hệ R - Output: Cho kết quan hệ có tính đối xứng, ngược lại trả begin Nhập n mảng a kq=1 i=0 S i < m? Đ j=0 S i ++ j < n? return kq Đ Đ [i][j]=a[j][i]? j ++ S return Nguyễn Đức Phương – Lớp 53K1- Khoa CNTT end Page 14 BÁO CÁO THỰC TẬP CƠ SỞ MÃ ĐỀ 033 2.2.3.3 Thuật tốn kiểm tra tính bắc cầu - Input: Nhập vào ma trận logic n x n - Output: Cho kết quan hệ có tính bắc cầu, ngược lại trả begin Nhập n mảng a kq=1 i=0 S i < m? Đ i ++ j=0 S j < n? Đ S a[i][j]=1? j ++ Đ k=0 S k < n? Đ S a[j][i]=1? Đ a[i][k]=1? return return kq S return end Đ k ++ Nguyễn Đức Phương – Lớp 53K1- Khoa CNTT Page 15 BÁO CÁO THỰC TẬP CƠ SỞ MÃ ĐỀ 033 2.2.3.4 Chương trình #include "conio.h" #include void nhapmang(int a[50][50], int n) { int i,j,tg; printf("\n moi nhap cac phan tu mang\n"); for(i=0;i