Thực Hành Toán Rời Rạc: Tài Liệu Hữu Ích Cho Sinh Viên Ngành Khoa Học Dữ Liệu

Tài liệu nghiên cứu Thực hành toán rời rạc tài liệu phục vụ sinh viên ngành khoa học dữ liệu, tổng hợp lý thuyết và thực hành, cung cấp kiến thức chuyên sâu về toán học.

Trường đại học

tp.hcm

Chuyên ngành

khoa học dữ liệu

Người đăng

Ẩn danh

Thể loại

tài liệu

2019

128
2
0

Phí lưu trữ

35 Point

Mục lục chi tiết

1. BÀI 1: CƠ SỞ LOGIC VÀ TẬP HỢP

1.1. Các phép toán luận lý trong Python

1.2. Luận lý trong Python

1.3. Biểu thức điều kiện if

1.4. Thứ tự tính toán trong Python

1.5. Dữ liệu dạng tập hợp trong Python: Set

1.6. Dữ liệu dạng tập hợp trong Sympy: FiniteSet

1.7. Xây dựng và các thao tác cơ bản trên tập hợp

1.7.1. Xây dựng tập hợp

1.7.2. Kiểm tra một số trong một tập hợp

1.7.3. Tạo tập hợp rỗng

1.7.4. Tạo tập hợp từ List hoặc Tuple

1.7.5. Loại bỏ các phần tử trùng và sắp thứ tự tập hợp

1.7.6. Tập con (subset), tập cha (superset) và tập các tập con (power set)

1.8. Các phép toán trên tập hợp

1.8.1. Union và Intersection

1.8.2. Tích Descart – Cartesian Product

1.9. Áp dụng công thức cho tập nhiều biến

1.10. Ứng dụng: Tính toán xác suất sự kiện A và sự kiện B cùng xảy ra

2. BÀI TẬP CHƯƠNG 1

2.1. Bài 1: Tìm hiểu sự khác nhau và giống nhau giữa 2 loại kiểu dữ liệu tập hợp: set (của ngôn ngữ Python) và FiniteSet (của gói sympy)

2.2. Bài 2: Xét học bổng theo điểm trung bình và điểm rèn luyện

2.3. Bài 3: Viết các dòng lệnh rẽ nhánh if trong Python cho bảng dữ liệu huyết áp

2.4. Bài 4: Thực hiện bằng kiểu set các tập hợp

2.5. Bài 5: Sử dụng biểu đồ Venn để thể hiện 2 tập hợp

2.6. Bài 6, Bài 7 và Bài 8: Ứng dụng nền tảng công nghệ RAID khôi phục dữ liệu

Tóm tắt

I. Tổng Quan Về Tài Liệu Thực Hành Toán Rời Rạc Dành Cho Sinh Viên Khoa Học Dữ Liệu

Tài liệu thực hành toán rời rạc là một nguồn tài nguyên quý giá cho sinh viên ngành khoa học dữ liệu. Nó không chỉ cung cấp kiến thức lý thuyết mà còn giúp sinh viên áp dụng các khái niệm toán học vào thực tiễn. Tài liệu này bao gồm các bài tập, ví dụ minh họa và hướng dẫn chi tiết về các khái niệm cơ bản trong toán rời rạc.

1.1. Tại Sao Tài Liệu Toán Rời Rạc Quan Trọng Đối Với Sinh Viên

Toán rời rạc là nền tảng cho nhiều lĩnh vực trong khoa học dữ liệu. Nó giúp sinh viên hiểu rõ hơn về cấu trúc dữ liệu, thuật toán và các phương pháp phân tích dữ liệu.

1.2. Nội Dung Chính Của Tài Liệu Thực Hành

Tài liệu bao gồm các chủ đề như tập hợp, logic, biểu thức điều kiện, và các phép toán trên tập hợp. Những nội dung này giúp sinh viên nắm vững các khái niệm cơ bản và ứng dụng chúng trong lập trình.

II. Những Thách Thức Khi Học Toán Rời Rạc Cho Sinh Viên Khoa Học Dữ Liệu

Sinh viên thường gặp khó khăn trong việc áp dụng lý thuyết toán rời rạc vào thực tiễn. Các khái niệm trừu tượng có thể gây khó khăn cho việc hiểu và áp dụng. Hơn nữa, việc thiếu tài liệu thực hành có thể làm giảm khả năng tiếp thu kiến thức.

2.1. Khó Khăn Trong Việc Hiểu Các Khái Niệm Trừu Tượng

Nhiều sinh viên gặp khó khăn trong việc hình dung các khái niệm như tập hợp, giao, hợp và tích Descart. Điều này có thể dẫn đến việc áp dụng sai trong các bài tập thực hành.

2.2. Thiếu Tài Liệu Thực Hành Chất Lượng

Nhiều tài liệu hiện có không cung cấp đủ bài tập thực hành hoặc ví dụ minh họa. Điều này khiến sinh viên khó khăn trong việc luyện tập và củng cố kiến thức.

III. Phương Pháp Học Tốt Nhất Để Nắm Vững Toán Rời Rạc

Để nắm vững toán rời rạc, sinh viên cần áp dụng các phương pháp học tập hiệu quả. Việc kết hợp lý thuyết với thực hành là rất quan trọng. Học qua các bài tập thực hành và dự án thực tế sẽ giúp sinh viên củng cố kiến thức.

3.1. Kết Hợp Lý Thuyết Với Thực Hành

Sinh viên nên thực hành các bài tập từ tài liệu thực hành để áp dụng lý thuyết vào thực tế. Việc này giúp họ hiểu rõ hơn về cách thức hoạt động của các khái niệm toán học.

3.2. Tham Gia Các Dự Án Thực Tế

Tham gia vào các dự án thực tế sẽ giúp sinh viên áp dụng kiến thức toán rời rạc vào các bài toán thực tiễn. Điều này không chỉ giúp họ hiểu sâu hơn mà còn phát triển kỹ năng giải quyết vấn đề.

IV. Ứng Dụng Thực Tiễn Của Toán Rời Rạc Trong Khoa Học Dữ Liệu

Toán rời rạc có nhiều ứng dụng trong khoa học dữ liệu, từ phân tích dữ liệu đến xây dựng thuật toán. Các khái niệm như tập hợp, đồ thị và xác suất đều rất quan trọng trong việc xử lý và phân tích dữ liệu.

4.1. Phân Tích Dữ Liệu Với Tập Hợp

Tập hợp được sử dụng để phân loại và nhóm dữ liệu. Việc hiểu rõ các phép toán trên tập hợp giúp sinh viên phân tích dữ liệu một cách hiệu quả hơn.

4.2. Ứng Dụng Trong Xây Dựng Thuật Toán

Nhiều thuật toán trong khoa học dữ liệu dựa trên các khái niệm toán rời rạc. Việc nắm vững các khái niệm này sẽ giúp sinh viên phát triển các thuật toán tối ưu hơn.

V. Kết Luận Về Tài Liệu Thực Hành Toán Rời Rạc

Tài liệu thực hành toán rời rạc là một công cụ hữu ích cho sinh viên khoa học dữ liệu. Nó không chỉ giúp họ nắm vững lý thuyết mà còn phát triển kỹ năng thực hành. Việc áp dụng các kiến thức này vào thực tiễn sẽ giúp sinh viên thành công trong lĩnh vực khoa học dữ liệu.

5.1. Tầm Quan Trọng Của Việc Học Toán Rời Rạc

Việc học toán rời rạc không chỉ giúp sinh viên nắm vững kiến thức mà còn phát triển tư duy logic và khả năng giải quyết vấn đề.

5.2. Hướng Tới Tương Lai Trong Học Tập

Sinh viên cần tiếp tục tìm kiếm và sử dụng các tài liệu thực hành chất lượng để nâng cao kỹ năng và kiến thức của mình trong lĩnh vực khoa học dữ liệu.

17/07/2025
Thực hành toán rời rạc tài liệu phục vụ sinh viên ngành khoa học dữ liệu

Trích đoạn nội dung tài liệu

CHƯƠNG 1 Bài 1: Tìm hiểu sự khác nhau và giống nhau giữa 2 loại kiểu dữ liệu tập hợp: set (của ngôn ngữ Python) và FiniteSet (của gói sympy). Hướng dẫn: tìm kiếm trên Google. Bài 2: Ở một trường, hiệu trưởng quy định xét học bổng, tất cả các sinh viên có điểm trung bình dưới 7 hoặc điểm rèn luyện dưới 7 đều không được xét học bổng, trường hợp ngược lại sẽ Được xem xét học bổng. Hãy cho biết đoạn script dưới đây đã thể hiện đúng đắn theo quy định xét học bổng chưa, nếu muốn mô tả theo đúng ý của quy định thì cần điều chỉnh lại như thế nào? if not (diemtrungbinh > 7 and diemrenluyen > 7): print ("Khong duoc xet hoc bong") else: print ("Duoc xem xet hoc bong") Bài 3: Bác sĩ yêu cầu một kỹ sư viết một phần mềm với bảng dữ liệu về bệnh huyết áp thấp/cao được thu thập như sau: Phân loại (huyết áp) Tâm thu (Systolic) Biểu thức Tâm trương (díatolic) Thấp (hypotension) <90 And/or <60 Tốt nhất (optimal) <120 And <80 Bình thường (normal) 120 – 129 And/or 80 – 84 Bình thường cao 130 – 139 And/or 85 – 89 THA độ 1 (nhẹ) 140 – 159 And/or 90 – 99 THA độ 2 (trung bình) 160 – 179 And/or 100 – 109 THA độ 3 (nặng) ≥180 And/or ≥110 THA tâm thu đơn độc ≥140 And <90 Bảng định nghĩa và phân loại các cấp độ huyết áp (theo đơn vị mmHg) Từ bảng dữ liệu về bệnh huyết áp cao (HBP - high blood pressures) như trên, sinh viên hãy viết các dòng lệnh rẽ nhánh if trong Python.

Với: cột biểu thức mang giá trị And/or nghĩa là khi hai giá trị ở 2 mức khác nhau thì chọn mức “có bệnh” cao hơn. Mức có bệnh là mức thấp hoặc cao; mức không bệnh là mức Tốt nhất (optimal). Ví dụ: Tâm thu = 85, tâm trương = 55 thì sẽ là mức độ huyết áp thấp. Hoặc khi tâm thu = 125 nhưng tâm trương là 105 thì kết quả là THA độ 2.

Bài 4: Thực hiện bằng kiểu set các tập hợp sau: a. Cho tập hợp A với x là biến số nguyên như sau: ={ | + 4 + 4 = 0} !"ế$ đ'ạ )*"+$ ,ằ. Cho tập hợp A với n là biến số nguyên như sau: = {?ớ" Aọ" | + 4 < 100} !"ế$ đ'ạ )*"+$ ,ằ. Bài 5: Sử dụng biểu đồ Venn để thể hiện 2 tập hợp Biểu đồ Venn (Venn diagram) là phương pháp đơn giản để thấy được quan hệ giữa tập hợp.

Nó cho chúng ta thấy có bao nhiêu phần tử chung giữa hai tập hợp, bao nhiêu phần tử trong một tập hợp và bao nhiêu phần tử không có trong tập hợp. Ví dụ: Xét tập A gồm các số dương lẻ (posotive odd) nhỏ hơn 20, nghĩa là A = {1, 3, 5, 7 ,9 ,11, 13, 15, 17, 19} và xét tập B là những số nguyên tố (prime) nhỏ hơn 20, nghĩa là B = {2, 3, 5, 7, 11, 13, 17, 19}. Chúng ta có thể vẽ biểu đồ Venn bằng Python với các lệnh như sau: Sau khi chúng ta import các module và hàm cần thiết (như là venn2(), matplotlib.pyplot và FiniteSet), tất cả việc còn lại là tạo 2 tập và gọi hàm venn2 cho tập hợp ghép: >>> s3 = [s1, s2] >>> s3 [{1, 3, 5, 7, 9, 11, 13, 15, 17, 19}, {2, 3, 5, 7, 11, 13, 17, 19}] Với tập ghép, chúng ta sẽ vẽ được biểu đồ Venn và biểu đồ Venn cho ta kết quả: - Tập A có 3 phần tử riêng. - Tập B có 1 phần tử riêng.

- Tập A và B có 7 phần tử chung. Để rõ hơn, chúng ta có thể đặt tên các tập hợp bằng cách điều chỉnh hàm vẽ biểu đồ Venn như sau: >>> def draw_venn(sets): venn2(subsets=sets, set_labels=('Tap S1', 'Tap S2') ) plt.show() Và sau đó thực hiện lại lệnh vẽ: >>> draw_venn([s1, s2]) Biểu đồ Venn thể hiện quan hệ giữa 2 tập hợp A và B Điều kiện: Sinh viên cài đặt hoàn tất gói matplotlib_venn Sinh viên đọc thêm bài dưới đây để làm các bài tập: Bài tập 6, Bài tập 7 và Bài tập 8:  Ứng dụng: Nền tảng của công nghệ RAID khôi phục dữ liệu Sinh viên đọc và tìm hiểu về phương pháp sử dụng XOR trong khôi phục dữ liệu khi đĩa cứng chứa dữ liệu bị hư trên hệ thống máy chủ nhiều đĩa cứng. Bài toán thực tiễn Hư hỏng đĩa cứng dẫn đến mất mát dữ liệu là vấn đề xảy ra thường xuyên đối với người sử dụng máy tính. Để khắc phục tình trạng trên, các hệ thống server hỗ trợ công nghệ có tính năng đặc biệt là: mỗi khi có một đĩa cứng trên hệ thống bị hư thì hệ thống vẫn tiếp tục chạy và dữ liệu không bị mất để thay thế ổ cứng khác.

Giải pháp đơn giản nhất là công nghệ sao chép dữ liệu trùng nhau. Điều này nghĩa là sẽ có hai đĩa cứng có nội dung giống y chang nhau. Từ đó, mỗi khi có một đĩa cứng bị hư và khi thay thế bằng ổ đĩa mới, dữ liệu sẽ được tự động sao chép từ ổ đĩa còn lại sang ổ đĩa mới. Giải pháp này dễ cài đặt, dễ hiểu và đơn giản nhưng hoàn toàn tốn kém về đĩa do dung lượng lưu trữ bị tăng gấp đôi, cụ thể là hiệu suất lưu trữ chỉ đạt 50% lưu trữ.

Từ đó, người ta cần tìm một giải pháp để lưu trữ dữ liệu, có khả năng lưu trữ hiệu suất cao, sử dụng nhiều đĩa cứng cùng lúc và việc phục hồi dữ liệu cho bất kỳ đĩa cứng hỏng nào. Nghĩa là mô hình lưu trữ đạt được bao gồm 3 yếu tố: - Yếu tố 1: Hiệu suất lưu trữ cao. - Yếu tố 2: Khi một đĩa cứng bị hỏng, khả năng phục hồi dữ liệu là 100%. - Yếu tố 3: Dữ liệu có khả năng đọc/truy xuất được song song cùng lúc.

Phép XOR toán học và thể hiện trên Python Phép XOR toán học là phép “cộng nhị phân không nhớ” với bảng chân trị như sau: TT a b a XOR b Lưu ý 1 0 0 0 2 1 0 1 3 0 1 1 4 1 1 0 Không “nhớ” sang giá trị hàng “chục” như phép cộng Ở Python, chúng ta sử dụng dấu ^ để mô tả về phép XOR. Ngoài ra, lớp operator có module xor để thực hiện phép XOR. Ví dụ về phép XOR: >>> from operator import xor >>> a = 2 # số nhị phân của số 2 là 10 >>> b = 3 # số nhị phân của số 3 là 11 >>> axorb = xor(a, b) # dự kiến kết quả: 10 XOR 11 = 01 >>> axorb ……….…………………………………………  sinh viên ghi kết quả vào và giải thích. Ví dụ 2: Sinh viên thực hành các câu lệnh sau và hãy cho biết giá trị của phép toán XOR: >>> a = 15 # mã nhị phân tương ứng 01111 >>> b = 14 # mã nhị phân tương ứng 01110 >>> c = 16 # mã nhị phân tương ứng 10000 >>> d = a ^ b ^ c >>> d ……………….…………………………………  sinh viên ghi kết quả vào và giải thích.

Tư tưởng ứng dụng phép XOR dữ liệu Từ ví dụ 2, hãy thực hiện ví dụ sau: Ví dụ 3: Sinh viên hãy cho biết giá trị của phép toán XOR sau: >>> a = 15 # mã nhị phân tương ứng 01111 >>> e = 17 # mã nhị phân tương ứng 10001 >>> c = 16 # mã nhị phân tương ứng 10000 >>> f = a ^ e ^ c >>> f ………………………………………………  sinh viên ghi kết quả vào và giải thích. Từ kết quả trên, chúng ta thấy được điều kì diệu của phép toán XOR, đó là khả năng phục hồi dữ liệu. Trong ví dụ trên, giả định dữ liệu được lưu trữ là a, b, c và d chính là dữ liệu kiểm (parity). Khi lưu đủ 4 khối trên, giả định mất một khối dữ liệu b thì việc khôi phục hoàn toàn là có thể.

Tổng quát: Gọi A là kết quả của phép toán XOR của n số từ 2D đến 2E = 2D ^2 … ^2H ^ … ^2E Khi đó, 2H sẽ được khôi phục theo công thức: 2H = 2D ^2 … ^ ^ … ^2E (Sinh viên có thể tự chứng minh) Mở rộng ra, với bài toán được nêu ở mục 1 cùng với các tiêu chuẩn, chúng ta có 2 tiêu chuẩn được đáp ứng: - Đáp ứng yếu tố 1: vì chỉ cần 1 ổ đĩa để lưu trữ dữ liệu parity (dữ liệu XOR). - Đáp ứng yếu tố 2: vì khả năng khôi phục dữ liệu với phép xor dữ liệu Các giải pháp RAID và giảii pháp RAID5 Trên thực tế, công nghệ dãyy các đĩa độc lập (RAID – Redundant array of independent inde disks) được phát triển để lưu trữ dữ li liệu một cách an toàn và hiệu quả. Với các giảải pháp RAID 0, RAID 1, RAID 2, RAID 3,, RAID 4, RAID 5 và sau đó nhiều công nghệ RAID sau 5 hiện tại được triển khai ở các hệ thống ng to toàn cầu. Cụ thể, chúng ta có bảng so sánh h và tìm tì hiểu về cách lưu trữ dữ liệu như sau: TT RAID Mô h hình Đặc tính kỹ thuật cơ bản n Ghi chú 1 RAID Số lượng đĩa tối thiểu: 2.

Chỉ tăng tốc, 0 Lưu trữ vòng (stripes),ripes), đĩa cứng hư không có thông tin kiểm m vẫn mất dữ lỗi (parity), nghĩa là không liệu. Thích hợp: tính toán khoa học nhanh hoặc các ác hệ h thống game. RAID này chủ yếu tăng tốc đọcc dữ d liệu. 2 RAID Số lượng đĩa tối thiểu: 2.

1 Lưu mirror dữ liệu, mỗ ỗi dữ liệu lưu 2 nơi. Hiệệu suất lưu không cao, tốcc độđ lưu trữ chậm. Có khả năng phục hồi dữ liệu khi 1 đĩa ĩa cứng bị hư. 3 RAID Số lượng đĩa tối thiểu: 3.

Sinh viên từ 2 Sử dụng hamming code tìm hiểu hoặc error corection. hamming Hiện tại ít hệ thống ng sửs code hoặc dụng do hiệu qua không error cao correction là gì. 4 RAID Số lượng đĩa tối thiểu: 3. Đây là hình 3 Lấy đĩa cuối cùng ng là thức sơ khai parity.

Cho các ứng dụng ng XOR dữ đọc dữ liệu nhỏ, chỉnh sửửa liệu. video không nén. Nhanh chóng được thay thế bởi RAID 5 5 RAID Số lượng đĩa tối thiểu: 3. 4 Cải tiến RAID 3.

Giaa tăng khối lưu 6 RAID Số lượng đĩa tối thiểu: 3. Đáp ứng 3 5 Cải tiến RAID 4, các khố ối tiêu chí đề ra parity lưu xoay vòng trong bài toán ban đầu. 7 RAID Số lượng đĩa tối thiểu: 4. Sử dụng 2 6 Tăng cường parity parity nhằm khôi phục bất kì 2 đĩa nào bị hư.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu "Tài Liệu Thực Hành Toán Rời Rạc Dành Cho Sinh Viên Khoa Học Dữ Liệu" cung cấp một cái nhìn tổng quan và chi tiết về các khái niệm cơ bản trong toán rời rạc, rất cần thiết cho sinh viên ngành khoa học dữ liệu. Tài liệu này không chỉ giúp người đọc nắm vững lý thuyết mà còn cung cấp các bài tập thực hành để củng cố kiến thức. Những kiến thức này sẽ hỗ trợ sinh viên trong việc phân tích và xử lý dữ liệu, từ đó nâng cao khả năng giải quyết vấn đề trong các dự án thực tế.

Nếu bạn muốn mở rộng thêm kiến thức về các lĩnh vực liên quan, hãy tham khảo các tài liệu như Giáo trình hán ngữ t 1 quyển hạ, nơi bạn có thể tìm hiểu về ngôn ngữ và cấu trúc, hoặc Luận văn thạc sĩ về những bài toán tổ hợp và xác suất lvts vnu, giúp bạn hiểu sâu hơn về xác suất và tổ hợp, những khái niệm quan trọng trong toán rời rạc. Những tài liệu này sẽ là cơ hội tuyệt vời để bạn mở rộng kiến thức và áp dụng vào thực tiễn.