Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 47 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
47
Dung lượng
849,77 KB
Nội dung
Học viện Công nghệ Bưu Viễn thông Khoa Công nghệ thông tin Toánrờirạc Một số kiến thức Ngô Xuân Bách Nội dung Lý thuyết tập hợp Logic mệnh đề Logic vị từ Thuật toán độ phức tạp Bài tập http://www.ptit.edu.vn Một số ký hiệu tập hợp Tập hợp: 𝐴, 𝐵, … , 𝑋, 𝑌, … Phần tử tập hợp: 𝑎, 𝑏, … , 𝑥, 𝑦, … Phần tử 𝑥 thuộc (không thuộc) 𝐴: 𝑥 ∈ 𝐴, 𝑥 ∉ 𝐴 Số phần tử tập hợp 𝐴: |𝐴| o Một tập hợp có 𝑛 phần tử gọi 𝑛-tập Tập hợp con: 𝐴 ⊆ 𝐵 o 𝑥∈𝐴⇒𝑥∈𝐵 Tập hợp nhau: 𝐴 ⊆ 𝐵 𝐵 ⊆ 𝐴 𝐴 = 𝐵 Tập rỗng: ∅ o o Không có phần tử Là tập hợp http://www.ptit.edu.vn Các phép toán tập hợp Phần bù 𝐴 𝑋: 𝐴 = 𝑥 ∈ 𝑋|𝑥 ∉ 𝐴 Hợp hai tập hợp: 𝐴 ∪ 𝐵 = 𝑥|𝑥 ∈ 𝐴 ℎ𝑜ặ𝑐 𝑥 ∈ 𝐵 Giao hai tập hợp: 𝐴 ∩ 𝐵 = {𝑥|𝑥 ∈ 𝐴 𝑣à 𝑥 ∈ 𝐵} Hiệu hai tập hợp:𝐴 ∖ B = {𝑥|𝑥 ∈ 𝐴 𝑣à 𝑥 ∉ 𝐵} Luật kết hợp: 𝐴∪𝐵 ∪𝐶 =𝐴∪ 𝐵∪𝐶 𝐴∩𝐵 ∩𝐶 =𝐴∩ 𝐵∩𝐶 Luật giao hoán: 𝐴 ∪ 𝐵 = 𝐵 ∪ 𝐴, 𝐴 ∩ 𝐵 = 𝐵 ∩ 𝐴 Luật phân bố: 𝐴 ∪ 𝐵 ∩ 𝐶 = (𝐴 ∪ 𝐵) ∩ 𝐴 ∪ 𝐶 𝐴 ∩ (𝐵 ∪ 𝐶) = (𝐴 ∩ 𝐵) ∪ (𝐴 ∩ 𝐶) Luật đối ngẫu: 𝐴 ∪ 𝐵 = 𝐴 ∩ 𝐵, 𝐴 ∩ 𝐵 = 𝐴 ∪ 𝐵 Tích Đề các: 𝐴 × 𝐵 = {(𝑎, 𝑏)|𝑎 ∈ 𝐴, 𝑏 ∈ 𝐵} http://www.ptit.edu.vn Quan hệ Quan hệ: quan hệ hai 𝑅 tập 𝑋, 𝑅(𝑋), tập tích Đề 𝑋 × 𝑋 Tính chất quan hệ: o o o Phản xạ: phần tử có quan hệ với Đối xứng: 𝑎 có quan hệ với 𝑏 kéo theo 𝑏 có quan hệ với 𝑎 Kéo theo: 𝑎 có quan hệ với 𝑏 𝑏 có quan hệ với 𝑐 kéo theo 𝑎 có quan hệ với 𝑐 Ví dụ o o o 𝑋 = 1,2,3,4 𝑎, 𝑏 ∈ 𝑋, 𝑎 có quan hệ 𝑅 𝑏 𝑎 chia hết cho 𝑏 𝑅 𝑋 = { 1,1 , 2,1 , 2,2 , 3,1 , 3,3 , 4,1 , 4,2 , (4,4)} Phản xạ, kéo theo, không đối xứng http://www.ptit.edu.vn Quan hệ tương đương phân hoạch Quan hệ tương đương: quan hệ có đủ ba tính chất, phản xạ, đối xứng, kéo theo Lớp tương đương: quan hệ tương đương tập hợp chia tập hợp thành lớp tương đương o o o Hai phần tử thuộc lớp có quan hệ với Hai phần tử khác lớp quan hệ với Các lớp tương đương phủ kín tập hợp ban đầu Phân hoạch: họ lớp tương đương (các tập khác rỗng) tập hợp Một quan hệ tương đương tập hợp xác định phân hoạch tập hợp, ngược lại phân hoạch bất Kỳ tập hợp tương ứng với quan hệ tương đương http://www.ptit.edu.vn Ví dụ quan hệ tương đương Xét 𝑋 = 1,2, … , 𝑚 , 𝑚 số nguyên dương 𝑚 > 𝑘 số nguyên dương, < 𝑘 < 𝑚 Định nghĩa quan hệ 𝑅 𝑋 sau Với 𝑎, 𝑏 ∈ 𝑋, aRb ⇔ 𝑎 ≡ 𝑏(𝑚𝑜𝑑 𝑘) o 𝑎 có quan hệ 𝑅 với 𝑏 𝑎 𝑏 có số dư chia cho 𝑘 𝑅 quan hệ tương đương o Phản xạ, đối xứng, kéo theo Đặt 𝐴𝑖 = 𝑎 ∈ 𝑋 𝑎 ≡ 𝑖 𝑚𝑜𝑑 𝑘 , 𝑖 = 0,1, … , 𝑘 − 𝐴0 , 𝐴1 , … , 𝐴𝑘−1 tạo thành phân hoạch 𝑋 http://www.ptit.edu.vn Nguyên lý cộng Nếu 𝐴 𝐵 hai tập rời 𝐴∪𝐵 = 𝐴 + 𝐵 Nếu {𝐴1 , 𝐴2 , … , 𝐴𝑘 } phân hoạch tập hợp 𝑋 𝑋 = 𝐴1 + 𝐴2 + ⋯ + 𝐴𝑘 Nếu A tập X 𝐴 = 𝑋 − |𝐴| Ví dụ o Một đoàn VĐV gồm môn bắn súng bơi Nam có 10 người Số VĐV thi bắn súng 14 Số nữ VĐV thi bơi số nam VĐV thi bắn súng Hỏi toàn đoàn có VĐV? http://www.ptit.edu.vn Nguyên lý nhân Nếu thành phần 𝑎𝑖 có thứ tự 𝑘 thành phần (𝑎1 , 𝑎2 , … , 𝑎𝑘 ) có 𝑛𝑖 khả chọn, số tạo tích khả 𝑛1 𝑛2 … 𝑛𝑘 Hệ quả: o 𝐴1 × 𝐴2 × ⋯ × 𝐴𝑘 = 𝐴1 𝐴2 … 𝐴𝑘 o 𝐴𝑘 = |𝐴|𝑘 Ví dụ o Có số nguyên dương có chữ số thành lập chữ số 0,1,2? http://www.ptit.edu.vn Chỉnh hợp lặp Định nghĩa: Một chỉnh hợp lặp chập 𝑘 𝑛 phần tử có thứ tự gồm 𝑘 thành phần, lấy từ 𝑛 thành phần cho Các thành phần lặp lại Theo nguyên lý nhân, số chỉnh hợp lặp chập 𝑘 𝑛 phần tử 𝑛𝑘 Ví dụ o 10 Tính số tập 𝑛-tập http://www.ptit.edu.vn Cú pháp logic vị từ (3/4) Công thức o Được xây dựng từ công thức nguyên tử, sử dụng kết nối logic lượng tử, theo đệ quy sau Các công thức nguyên tử công thức Nếu 𝐺 𝐻 công thức, biểu thức sau công thức Nếu 𝐺 công thức 𝑥 biến biểu thức sau công thức (𝐺 ∧ 𝐻), (𝐺 ∨ 𝐻), (¬𝐺), (𝐺 ⇒ 𝐻), (𝐺 ⇔ 𝐻) ∀𝑥𝐺 , (∃𝑥𝐺) Một số quy ước o o o 33 Các công thức công thức nguyên tử gọi công thức phức hợp (câu phức hợp) Công thức không chứa biến gọi công thức cụ thể Khi viết công thức ta bỏ dấu ngoặc không cần thiết http://www.ptit.edu.vn Cú pháp logic vị từ (4/4) Lượng tử phổ dụng (∀) o o Lượng tử tồn (∃) o o Cho phép tạo câu nói đến đối tượng lớp đối tượng, có tính chất thỏa mãn quan hệ ∃𝑥(𝑆𝑡𝑢𝑑𝑒𝑛𝑡(𝑥) ∧ 𝐼𝑛𝑠𝑖𝑑𝑒(𝑥, 𝑃301)) Literal o o Mô tả tính chất lớp đối tượng, mà không cần liệt kê đối tượng ∀𝑥(𝐸𝑙𝑒𝑝ℎ𝑎𝑛𝑡 𝑥 ⇒ 𝐶𝑜𝑙𝑜𝑟(𝑥, 𝐺𝑟𝑎𝑦)) Là công thức nguyên tử phủ định công thức nguyên tử 𝑃𝑙𝑎𝑦(𝑥, 𝐹𝑜𝑜𝑡𝑏𝑎𝑙𝑙), ¬𝐿𝑖𝑘𝑒(𝐿𝑎𝑛, 𝑅𝑜𝑠𝑒) Câu tuyển o o 34 Là tuyển literal 𝑀𝑎𝑙𝑒(𝑥) ∨ ¬𝐿𝑖𝑘𝑒(𝑥, 𝐹𝑜𝑜𝑡𝑏𝑎𝑙𝑙) http://www.ptit.edu.vn Ngữ nghĩa logic vị từ (1/3) Minh họa o o Là cách gán cho biến đối tượng đối tượng cụ thể, gán cho ký hiệu hàm hàm cụ thể, ký hiệu vị từ vị từ cụ thể Ý nghĩa công thức giới thực Ngữ nghĩa câu đơn o Trong minh họa, câu đơn định kiện cụ thể, (True) sai (False) 𝑆𝑡𝑢𝑑𝑒𝑛𝑡(𝐿𝑎𝑛) Ngữ nghĩa câu phức o Được xác định dựa ngữ nghĩa câu đơn kết nối logic 35 𝑆𝑡𝑢𝑑𝑒𝑛𝑡 𝐿𝑎𝑛 ∧ 𝐿𝑖𝑘𝑒 𝐴𝑛, 𝑅𝑜𝑠𝑒 𝐿𝑖𝑘𝑒 𝐴𝑛, 𝑅𝑜𝑠𝑒 ∨ ¬𝐿𝑖𝑘𝑒(𝐴𝑛, 𝑇𝑢𝑙𝑖𝑝) http://www.ptit.edu.vn Ngữ nghĩa logic vị từ (2/3) Ngữ nghĩa câu chứa lượng tử o Công thức ∀𝑥𝐺 công thức nhận từ 𝐺 cách thay 𝑥 đối tượng miền đối tượng o Công thức ∃𝑥𝐺 công thức nhận từ 𝐺 cách thay 𝑥 đối tượng miền đối tượng Ví dụ: Miền đối tượng {An, Ba, Lan}, ngữ nghĩa câu ∀𝑥𝑆𝑡𝑢𝑑𝑒𝑛𝑡(𝑥) xác định ngữ nghĩa câu 𝑆𝑡𝑢𝑑𝑒𝑛𝑡(𝐴𝑛) ∧ 𝑆𝑡𝑢𝑑𝑒𝑛𝑡(𝐵𝑎) ∧ 𝑆𝑡𝑢𝑑𝑒𝑛𝑡(𝐿𝑎𝑛) Ví dụ: ngữ nghĩa câu ∃𝑥𝑆𝑡𝑢𝑑𝑒𝑛𝑡(𝑥) xác định ngữ nghĩa câu 𝑆𝑡𝑢𝑑𝑒𝑛𝑡(𝐴𝑛) ∨ 𝑆𝑡𝑢𝑑𝑒𝑛𝑡(𝐵𝑎) ∨ 𝑆𝑡𝑢𝑑𝑒𝑛𝑡(𝐿𝑎𝑛) Các khái niệm công thức thỏa được, không thỏa được, vững chắc, mô hình, tương tự logic mệnh đề 36 http://www.ptit.edu.vn Ngữ nghĩa logic vị từ (3/3) Các lượng tử lồng o Có thể sử dụng đồng thời nhiều lượng tử câu phức hợp ∀𝑥∀𝑦𝑆𝑖𝑏𝑙𝑖𝑛𝑔(𝑥, 𝑦) ⇒ 𝑅𝑒𝑙𝑎𝑡𝑖𝑜𝑛𝑠ℎ𝑖𝑝(𝑥, 𝑦) ∀𝑥∃𝑦𝐿𝑜𝑣𝑒(𝑥, 𝑦) o Nhiều lượng tử loại viết gọn ký hiệu lượng tử ∀𝑥, 𝑦𝑆𝑖𝑏𝑙𝑖𝑛𝑔(𝑥, 𝑦) ⇒ 𝑅𝑒𝑙𝑎𝑡𝑖𝑜𝑛𝑠ℎ𝑖𝑝(𝑥, 𝑦) o 37 Không phép thay đổi lượng tử khác loại câu ∀𝑥∃𝑦𝐿𝑜𝑣𝑒 𝑥, 𝑦 Mọi người có yêu ∃𝑦∀𝑥𝐿𝑜𝑣𝑒(𝑥, 𝑦) Có mà tất người yêu http://www.ptit.edu.vn Bài tập Chuyển câu sau sang logic vị từ cấp 1 38 An không cao An không cao bố An cao An Ba anh em Tất nhà nông thích mặt trời Mọi nấm đỏ độc Có học sinh thích hoa hồng http://www.ptit.edu.vn Nội dung Lý thuyết tập hợp Logic mệnh đề Logic vị từ Thuật toán độ phức tạp Bài tập 39 http://www.ptit.edu.vn Khái niệm thuật toán Thuật toán giải thuật (algorithm) o o o Là thủ tục giải vấn đề số hữu hạn bước Là tập hữu hạn thị định nghĩa rõ ràng để giải vấn đề Là tập quy tắc định nghĩa xác dãy hành động Mô tả thuật toán o o o 40 Sử dụng ngôn ngữ tự nhiên Sử dụng dạng giả mã (Pseudo-code) Sử dụng ngôn ngữ lập trình http://www.ptit.edu.vn Ví dụ thuật toán (1/2) Thuật toán: Tìm số nguyên lớn danh sách 𝑛 số nguyên (chưa xếp) Mô tả thuật toán sử dụng ngôn ngữ tự nhiên o o o o Nếu số danh sách số lớn Giải sử số số lớn danh sách Với số lại danh sách, số lớn số lớn coi số số lớn danh sách Khi tất số danh sách xem xét, số lớn số lớn danh sách Dài dòng, sử dụng 41 http://www.ptit.edu.vn Ví dụ thuật toán (2/2) Thuật toán: Tìm số nguyên lớn danh sách 𝑛 số nguyên (chưa xếp) Mô tả thuật toán sử dụng dạng giả mã Algorithm LargestNumber Input: A list of numbers 𝐿 Output: The largest number in the list 𝐿 largest ← null for each item in 𝐿 if item > largest then largest ← item return largest Dễ hiểu, hay sử dụng, không phụ thuộc vào ngôn ngữ lập trình 42 http://www.ptit.edu.vn Độ phức tạp thuật toán Hầu hết thuật toán thiết kế làm việc với kích thước liệu đầu vào tùy ý o Ví dụ thuật toán trang trước, kích thước liệu đầu vào số phần tử danh sách (𝑛) Độ phức tạp thời gian (time complexity) o Xác định lượng thời gian cần thiết để thực giải thuật Được tính số phép toán thực giải thuật Độ phức tạp không gian (space complexity) o Xác định lượng nhớ cần thiết để thực giải thuật Lượng nhớ lớn cần thiết để lưu đối tượng thuật toán thời điểm thực thuật toán Thường biểu diễn hàm kích thước liệu đầu vào 43 http://www.ptit.edu.vn Khái niệm O-lớn 𝑓(𝑛) = 𝑂(𝑔(𝑛)), với 𝑛 đủ lớn, 𝑓(𝑛) không số cố định nhân với 𝑔(𝑛) o 𝑛 số nguyên dương kí hiệu kích thước liệu đầu vào 𝑓 𝑛 =𝑂 𝑔 𝑛 ⇔ ∃𝑐, 𝑛0 ∀𝑛 ≥ 𝑛0 , 𝑓 𝑛 ≤ 𝑐 ∗ 𝑔(𝑛) Định lý o 44 Nếu 𝑙𝑖𝑚𝑛→∞ 𝑓(𝑛) tồn 𝑔(𝑛) hữu hạn, 𝑓 𝑛 = 𝑂 𝑔 𝑛 http://www.ptit.edu.vn Ví dụ độ phức tạp thuật toán Thuật toán: Tìm số nguyên lớn danh sách 𝑛 số nguyên Algorithm LargestNumber Input: A list of numbers 𝐿 Output: The largest number in the list 𝐿 largest ← null for each item in 𝐿 if item > largest then largest ← item return largest Độ phức tạp thời gian không gian 𝑂(𝑛) 45 http://www.ptit.edu.vn Bài tập Tìm độ phức tạp tính toán thuật toán xếp bọt (bubble sort) function bubble_sort(List 𝐿, number 𝑛) // 𝑛 chiều dài 𝐿 for i from n downto for j from to (i - 1) if L[j] > L[j + 1] then //nếu chúng không thứ tự swap(L[j], L[j + 1]) //đổi chỗ chúng cho end if end for end for end function 46 http://www.ptit.edu.vn Bài tập Tìm độ phức tạp tính toán thuật toán tìm kiếm nhị phân danh sách xếp function binary_search(𝐴, 𝑥, 𝐿, 𝑅) if 𝐿 > 𝑅 then return Fail else 𝑖 ← (𝐿 + 𝑅)/2 if 𝐴[𝑖] == 𝑥 then return 𝑖 else if 𝐴[𝑖] > 𝑥 then return binary_search(𝐴, 𝑥, 𝐿, 𝑖 − 1) else return binary_search(𝐴, 𝑥, 𝑖 + 1, 𝑅) end if end if end function 47 http://www.ptit.edu.vn ... toán cấp bít ứng dụng ngôn ngữ LT Giá trị A Giá trị B A and B A or B A xor B A = 13 =11 01 B = 8 =10 00 10 00 11 01 010 1 19 http://www.ptit.edu.vn Một số khái niệm Thỏa o Không thỏa o Một mệnh... =