Bài giảng Đặc tả hình thức: Chương 2 do Nguyễn Thị Minh Tuyền biên soạn gồm các nội dung chính được trình bày như: Tập hợp (Set), giá trị của một tập hợp, định nghĩa tập hợp, các phép toán trên tập hợp, tập lũy thừa, phân hoạch tập hợp,...
LOGO Đặc tả hình thức Tập hợp quan hệ Nguyễn Thị Minh Tuyền Nguyễn Thị Minh Tuyền Tập hợp (Set) v Tập đối tượng rời rạc (khơng có thứ tự) v Một tập hợp tạo từ miền (domain) đối tượng mà tất đối tượng có kiểu (type) § Tập hợp có tính đồng v Ví dụ: § § § § Miền đối tượng {2,4,5,6,…} tập hợp số nguyên {red, yellow, blue} tập hợp màu {true, false} tập hợp giá trị boolean {red, true, 2} tập hợp Nguyễn Thị Minh Tuyền Đặc tả hình thức Giá trị tập hợp v Là tập hợp phần tử tập hợp v Hai tập A B § § § § Mọi phần tử A phần tử B Mọi phần tử B phần tử A Ký hiệu: A = B Ví dụ: • {a, b, c} = {c, b, a} v x S nghĩa “x l mt phn t ca S Đ Vớ d: ã x {x, y, z} • 50 N Nguyễn Thị Minh Tuyền Đặc tả hình thức Giá trị tập hợp v x ∉ S nghĩa “x phần tử S” § Ví dụ: 10∉{1,7,20} v Tập rỗng, ký hiệu {} Nguyễn Thị Minh Tuyền Đặc tả hình thức Định nghĩa tập hợp[1] v Định nghĩa tập hợp cách liệt kê § PrimaryColors == {red, yellow, blue} § Boolean == {true, false} § Evens == {…, -4, -2, 0, 2, 4, …} Nguyễn Thị Minh Tuyền Đặc tả hình thức Định nghĩa tập hợp[2] v Định nghĩa tập hợp cách mơ tả thuộc tính mà phần tử phải có v Ký hiệu: § { x : S | P(x) } § Hình thành tập phần tử từ tập hợp/miền S phần tử phải thỏa mãn vị từ (predicate) P v Ví dụ: § {x : N | x < 10} Các số nguyên nhỏ 10 § {x : Z | ( y : Z | x = 2y)} Tập số nguyên chẵn § {x : N | false} Tập rỗng số tự nhiên Nguyễn Thị Minh Tuyền Đặc tả hình thức Cardinality v Cardinality (#) tập hữu hạn số phần tử tập v Ví dụ: § # {red, yellow, blue} = § # {1, 23} = § # Z = ? v Cardinality dùng để định nghĩa tập vô hạn xem xét cardinality cho tập hữu hạn Nguyễn Thị Minh Tuyền Đặc tả hình thức Các phép toán tập hợp v Hợp (Union): X ! Y ! {e | e " X or e " Y } {red} ! {blue} = {red, blue} v Giao (Intersection) X !Y " {e | e # X and e # Y } {red, blue}!{blue, yellow} = {blue} v Hiệu(Difference) X \ Y ! {e | e " X and e # Y } {red, yellow, blue} \ {blue, yellow} = {red} Nguyễn Thị Minh Tuyền Đặc tả hình thức Bài tập v Chứng minh § #(A∩B) + #(A Nguyễn Thị Minh Tuyền B) = #(A) + #(B) Đặc tả hình thức Tập (subset) v Tập tập hợp chứa phần tử tập hợp khác § X Y iff {e | e X e Y} v Ví dụ: {1, 7, 9,12, 25} ! Z {1, 3, 7} ! {1, 2, 3, 5, 7} v Một tập nghiêm ngặt S tập hợp A định nghĩa § S A v So sánh hai tập hợp § A = B iff {A Nguyễn Thị Minh Tuyền B⋀B A} 10 Đặc tả hình thức Những loại hàm đặc biệt v Xét hàm f từ S đến T § f tồn phần (total) định nghĩa cho tất giá trị S Total Function Nguyễn Thị Minh Tuyền 29 Đặc tả hình thức Những loại hàm đặc biệt v Xét hàm f từ S đến T § f phận (partial) định nghĩa cho số giá trị S Partial Function Giá trị đầu vào không định nghĩa Chú ý: Hàm rỗng hàm phận Nguyễn Thị Minh Tuyền 30 Đặc tả hình thức v Ví dụ: § Squares : Z -> N, Squares = {(-1,1), (2,4)} Abs = {(x, y) : Z ! N | ( x < and y = !x ) or ( x " and y = x ) Nguyễn Thị Minh Tuyền 31 Đặc tả hình thức Các loại hàm đặc biệt v Một hàm f: S -> T § one-to-one (injective) khơng có phần tử ảnh nối với nhiều phần tử miền § onto (surjective) ảnh T § Bijective vừa injective surjective Nguyễn Thị Minh Tuyền 32 Đặc tả hình thức Các cấu trúc hàm Injective Function Surjective Function Nguyễn Thị Minh Tuyền 33 Đặc tả hình thức onto Bijective Injective and non-surjective (injection, or one-to-one) Nguyễn Thị Minh Tuyền Non-injective and non-surjective 34 Đặc tả hình thức Bài tập v Xác định loại hàm/quan hệ sau: Abs = {(x, y) : Z ! N | (x < and y=-x) or (x " and y=x)} Squares : Z ! N, Square = {(-1,1),(2,4)} Nguyễn Thị Minh Tuyền 35 Đặc tả hình thức Các trường hợp đặc biệt Onto Total Functions One-to-One Partial Functions Relations Nguyễn Thị Minh Tuyền 36 Đặc tả hình thức Sử dụng hàm tập hợp v Hàm quan hệ tập hợp v Có thể áp dụng cho tất phép tính thường dùng § ClassGrades == {(Todd,A), (Jane,B)} § #(ClassGrades U {(Matt,C)}) = Nguyễn Thị Minh Tuyền 37 Đặc tả hình thức Bài tập v Các phép tốn sau khơng giữ tính chất hàm, onto, one-to-one? Cho ví dụ § ⋂ ? § ⋃ ? § \ ? Nguyễn Thị Minh Tuyền 38 Đặc tả hình thức Tổ hợp quan hệ (Relation composition) v Sử dụng hai quan hệ để tạo quan hệ § ánh xạ miền quan hệ thứ với ảnh quan hệ thứ hai § Cho trước s: A x B r: B x C, ta có s;r : A x C s;r ! {(a, c) | (a, b) " s and (b, c) " r} v Ví dụ: § s == {(red,1), (blue,2)} § r == {(1,2), (2,4), (3,6)} § s;r = {(red,2), (blue,4)} Nguyễn Thị Minh Tuyền 39 Đặc tả hình thức Tập đóng quan hệ(Relation Closure) v Tập đóng quan hệ r: S x S (được viết r+) v là có tiếp tục điều hướng (navigating) qua r ta xa + r ! r " (r;r)" (r;r;r)" v Ví dụ: § GrandParent == Parent;Parent § Ancestor == Parent+ Nguyễn Thị Minh Tuyền 40 Đặc tả hình thức Chuyển vị quan hệ (Relation Transpose) v Dễ thấy, chuyển vị quan hệ: § r: S x T (được viết ~r) § Là có đảo ngược thứ tự tất cặp r ~ r ! {(b, a) | (a, b) " r} v Ví dụ: § ChildOf == ~Parent § DescendantOf == (~Parent)+ Nguyễn Thị Minh Tuyền 41 Đặc tả hình thức Bài tập v Phép toán quan hệ sau khơng giữ tính chất hàm, onto, one-to-one? Cho ví dụ § quan hệ cộng gộp § quan hệ đóng § chuyển vị quan hệ Nguyễn Thị Minh Tuyền 42 Đặc tả hình thức LOGO ... {(1,blue), (2, blue), (1,red)}: miền? ảnh? Nguyễn Thị Minh Tuyền 24 Đặc tả hình thức Cấu trúc quan hệ thường gặp One-to-Many Many-to-One Many One Many One One-to-One Many-to-Many Many Many One Nguyễn Thị. .. Square = { (-1 ,1), (2, 4)} Nguyễn Thị Minh Tuyền 35 Đặc tả hình thức Các trường hợp đặc biệt Onto Total Functions One-to-One Partial Functions Relations Nguyễn Thị Minh Tuyền 36 Đặc tả hình thức... {(Matt,C)}) = Nguyễn Thị Minh Tuyền 37 Đặc tả hình thức Bài tập v Các phép tốn sau khơng giữ tính chất hàm, onto, one-to-one? Cho ví dụ § ⋂ ? § ⋃ ? § \ ? Nguyễn Thị Minh Tuyền 38 Đặc tả hình thức