Logic là nội dung trung tâm của khoa học máy tính từ khi ngành này được hình thành:công trình của Alan Turing về Entscheidungsproblem theo sau từ công trình của KurtGödel về các định lý
Trang 1Toán rời rạc 1
Biên tập bởi:
Khoa CNTT ĐHSP KT Hưng Yên
Trang 3MỤC LỤC
1 Bài 1: Tổng quan môn học
2 Bài 2: Logic
2.1 Logic
2.2 Logic vị từ (predicate logic))
3 Bài 3: Một số phương pháp chứng minh
3.1 chứng minh các mệnh đề suy diễn
3.2 Chứng minh nhờ luật suy diễn
3.3 Chứng minh vacuous & Chứng minh trivial
3.4 Chứng minh bằng cách phân chia trường hợp
4 Bài 4: Lý thuyết về bài tập
Trang 4Logic là nội dung trung tâm của khoa học máy tính từ khi ngành này được hình thành:công trình của Alan Turing về Entscheidungsproblem theo sau từ công trình của KurtGödel về các định lý về sự không toàn vẹn, và khái niệm của các máy tính dành cho mụcđích tổng quát bắt nguồn từ công trình này đã có tầm quan trọng mang tính nền tảng đốivới các nhà thiết kế máy tính trong những năm 1940.
Trong những năm 1950 và 1960, các nhà nghiên cứu dự đoán rằng khi tri thức của conngười có thể được biểu diễn bằng logic và các ký hiệu toán học, sẽ có khả năng tạo ramột máy tính có khả năng lập luận, hay nói cách khác là trí tuệ nhân tạo Điều này hóa
ra là khó khăn hơn đã dự đoán do sự phức tạp trong lập luận của con người Trong lậptrình logic, một chương trình bao gồm một tập hợp các tiên đề và các luật Các hệ thốnglập trình logic như Prolog tính toán các hệ quả của các tiên đề và luật để trả lời một truyvấn
Ngày nay, logic được ứng dụng rộng rãi trong các lãnh vực của trí tuệ nhân tạo, và khoahọc máy tính, và những ngành này cung cấp một nguồn dồi dào các bài toán trong logichình thức và phi hình thức Lý thuyết lý luận là một ví dụ tốt cho thấy logic được ápdụng vào trí tuệ nhân tạo như thế nào
Thêm vào đó, máy tính có thể được sử dụng như công cụ cho các nhà logic học Ví dụ,trong logic biểu tượng và logic toán học, các chứng minh bởi con người có thể được hỗtrợ bởi máy tính Sử dụng chứng minh định lý tự động, máy tính có thể tìm ra và kiểmtra các chứng minh, cũng như là làm việc với những chứng minh quá dài cho việc viếtra
2/72
Trang 5Logic vị từ (predicate logic))
LOGIC VỊ TỪ (pre d icate logic)
V ị từ
Ta xét các ví dụ sau:
Ví dụ 1: "Số tự nhiên n chia hết cho 5"
Về phương diện ngôn ngữ thì đây là một câu Nhưng câu này chưa phản ánh tính đúnghoặc sai một thực tế khách quan nào, cho nên nó chưa phải là mệnh đề Song nếu ta thay
n bằng số tự nhiên cụ thể, chẳng hạn:
Thay n = 100 ta được mệnh đề đúng: "Số 100 chia hết cho 5"
Thay n = 101 ta được mệnh đề sai: "Số 101 chia hết cho 5"
Ví dụ 3: "Ông A là nhà toán học vĩ đại"
Câu trên chưa phải là mệnh đề Nhưng nếu ta chọn "ông A" là "Gausơ" sẽ được mệnh
đề đúng: "Gausơ là nhà toán học vĩ đại", nếu ta chọn "ông A" là "Đinh Bộ Lĩnh" thì sẽđược mệnh đề sai: "Đinh Bộ Lĩnh là nhà toán học vĩ đại"
Từ các ví dụ trên ta đi đến định nghĩa sau:
Những câu có chứa các biến mà bản thân nó chưa phải là mệnh đề nhưng khi ta thay cácbiến đó bởi các phần tử thuộc tập xác định X thì nó trở thành mệnh đề (đúng hoặc sai)
ta sẽ gọi là hàm mệnh đề (hoặc vị từ, hàm phán đoán, mệnh đề không xác định, mệnh đềchứa biến) Tập X gọi là miền xác định của hàm mệnh đề đó
Ta dùng kí hiệu: T(n), F(x), để chỉ các vị từ
Trang 7"Tồn tại số tự nhiên n sao cho n chia hết cho 5" là mệnh đề đúng.
Trang 9? "Tất cả người Việt Nam đều nói tiếng Anh".
? "Mọi người Việt Nam đều nói thạo tiếng Anh"
? "Người Việt Nam nào cũng nói thạo tiếng Anh"
? "Đã là người Việt Nam thì ai chẳng nói thạo tiếng Anh"
?
Phủ định của mệnh đề tồn tại và tổng quát
Phủ định các mệnh đề tồn tại và tổng quát được thiết lập theo hai quy tắc dưới đây:
Trang 10Như vậy, hai mệnh đề:
Trang 11Bài 3: Một số phương pháp chứng minh
chứng minh các mệnh đề suy diễn
C HỨ N G M I N H C Á C M Ệ N H Đ Ề SUY D I ỄN
Bây giờ chúng ta sẽ làm rõ hơn về các phương pháp xây dựng chứng minh,
chúng ta sẽ mô tả các chứng minh cho các loại mệnh đề khác nhau
Trong nhiều định lý, kỹ thuật chứng minh các mệnh đề kiểu kéo theo là quan trọng Tathấy p→q sẽ luôn đúng trừ khi p là đúng nhưng q sai Chú ý rằng khi p→q được chứngminh, nếu chúng ta chỉ cần chỉ ra q là đúng nếu p đúng;
C h ứ n g m i n h tr ự c tiếp
Ta thấy p→q sẽ được chứng minh bằng cách chỉ ra p là đúng, sau đó q phải là đúng.Điều này cho thấy rằng không thể có p đúng và q sai cùng xảy ra Một chứng minh nhưvậy được gọi là chứng minh trực tiếp Để áp dụng chứng minh kiểu này, giả định p làđúng và dùng luật suy diễn cùng các định lý đã được chứng minh để chỉ ra rằng q phải
là đúng
Chứng minh trực tiếp là phương pháp chứng minh suy diễn trực tiếp dẫn từ giả thiết đếnkết luận thông qua việc áp dụng các luật suy diễn (hay qui tắc suy diễn), các định lý,các nguyên lý và các kết quả đã biết Ðây là một kiểu tư duy giải bài toán rất tự nhiên
và người ta thường xuyên sử dụng Trong khi suy nghĩ để tìm ra cách chứng minh theophương pháp nầy người ta thường phải tự trả lời các câu hỏi sau
đây:
- Ta sẽ dùng luật suy diễn nào?
- Các định lý nào, các kết qua nào có thể sử dụng được đề ta suy ra được một điều gì đó
từ những sự kiện, những yếu tố hiện đang có?
- Việc áp dụng định lý có khả năng sẽ dẫn đến kết luận hay kết quả mong
muốn hay không?
Trang 12- Trong trường hợp ở một bước suy diễn nào đó có nhiều định lý hay nhiều luật nào đó
có thể áp dụng được và cũng có kkhả năng sẽ dẫn đến kết luận hay kết quả mong muốnthì ta sẽ chọn cái nào?
- Ðến một giai đoạn nào đó, khi gặp phải sự bế tắc thì ta sẽ phải tự hỏi rằng phải chăngbài toán không có lời giải, hay vì kiến thức của ta chưa đủ, hay ta phải sử dụng mộtphương pháp chứng minh nào khác?
Quả thật là không thể trả lời được các câu hỏi một cách đầy đủ và chính xác Nó phụthuộc chủ yếu vào kiến thức, kinh nghiệm của người giải bài toán và cả sự nhạy bén,tính năng động sáng tạo của họ Tuy nhiên Những câu hỏi trên cho ta một sự định hướngchung của quá trình suy nghĩ Ngoài ra, cũng cần nói thêm rằng chúng
là cơ sở cho việc phát triển các hệ chương trình trợ giúp giải toán một cách "thông minh"trên máy tính được thiết kế theo phương pháp chứng minh nầy
Dưới đây, chúng ta sẽ xem xét một vài ví dụ về phương pháp chứng minh trực tiếp
Vídụ2:Cho hàm mệnh đề P(n) = " Nếu n>1 thì n2 >n " Chứng minh rằng P(n) là đúng
với n là số nguyên dương
Trang 13(1) p →r (2) r → s (3) t ∨ ? s (4) ? t ∨ u (5) ? u.
Hãy chứng minh mệnh đề p là sai, tức là chứng minh mệnh đề ? p la` đúng
C h ứ n g m i nh :
Áp dụng luật suy diễn tam đoạn luận, từ (1) và (2) ta suy ra: (6) p → s
Áp dụng luật logic về phép toán kéo theo ta có thể viết lại (3) dưới dạng:
Áp dụng luật suy diễn tam đoạn luận, từ (8) và (9) ta suy ra: (10) p → u
Áp dụng luật suy diễn Modus Tollens, từ (10) và (5) ta suy ra: (11) ? p
Vậy mệnh đề ? p là đúng
Vídụ4:Cho p(x), q(x) và r(x) là các vị từ theo biến x (x ∈ A), và a là một phần tử
cố định nhưng tùy ý của tập hợp A Giả sử ta có các mệnh đề sau đây la` đúng:
Chứng minh rằng mệnh đề r(a) la` đúng
C h ứ n g m i nh :
Áp dụng kết quả từ bảng 3 trong 3.2 ta suy ra: (4) x∈ A : p(x) → r(x)
Áp dụng kết quả bảng 3 trong 3.2 ta suy ra: (5) r(a)
Trang 14của chứng minh trực tiếp và chứng minh gián tiếp.
Ví d ụ 6 :
Sử dụng chứng minh gián tiếp để chứng minh rằng " Nếu n>1 thì n2
>n " Giải : Giả sử ngược lại kết luận của phép kéo theo là sai, tức là n2 < n
Vì n là nguyên dương nên ta có thể chia 2 vế cho n mà bất đẳng thức không đổi chiều
Trang 15Ởđâychúngta phảichứngminhthêmđịnhlýlàtíchcủa2sốlẻlàmộtsốlẻthì bàigiảichặtchẽhơn.Dođó,trongbàitoánnàyviệcsửdụngchứngminhgiántiếp
làhayhơndùngtrựctiếp.
Trang 16Chứng minh nhờ luật suy diễn
Chứng minh nhờ luật suy diễn
Chúng ta sẽ giới thiệu luật suy diễn cho logic mệnh đề Những luật này cung cấp chochúng ta một chuỗi các bước biến đổi để đi tới kết luận một cách logic nhờ tập các giảthiết Phép lặp thừa (p^(p->q))->q được coi là cơ sở cho luật suy diễn modus ponensp
p->q
- q
Modus ponens khẳng định rằng nếu cả giả thiết và phép kéo theo là đúng là đúng thì kếtluận của phép kéo theo là đúng Giả sử “nếu sinh viên làm hết bài tập vê nhà, thì sinhviên sẽ đạt kết quả cao” và nếu giả sử có “sinh viên làm hết bài tập về nhà”, khi đó theoluật modus ponens, kết luận “sinh viên sẽ đạt kết quả cao” là đúng
Sau đây là một số luật suy diễn hay gặp:
1 Luật thay thế: Bất kỳ một biến nào xuất hiện trong một luận cứ đều có thể được thaythế bằng một biểu thức cùng kiểu mà không ảnh hưởng tới sự chính xác của luận điểmvới điều kiện là sự thay thế đó phải được làm tại mọi nơi mà biến đó xuất hiện
2 Bảng sau đây đưa ra các luật suy diễn cho các luận điểm
14/72
Trang 173 Bảng sau đây đưa ra các luật suy diễn cho các luận điểm cho các vị từ
4 Luật modus ponens tổng quát:
R(a)? S(a) với mọi a ∈ D
? ∀z∈ D[ R(z)? S(z)]
Trang 185 Luật generalizingfromthegenericparticular xác định rất nhiều trong toán học
6 Luật existentialspecificationđược dùng để lập luận chỉ ra một số đối tượng tồn
tại tuy nhiên không biết đích xác giá trị của nó
Một số ví dụ
16/72
Trang 19Chứng minh vacuous & Chứng minh trivial
Với mọi n, nếu n vừa lẻ vừa chẵn, thì n2 = n + n
Giải: Khẳng định “n vừa lẻ vừa chẵn” là sai, bởi vì không có số nào vừa lẻ vừa
chẵn Do vậy mọi kết luận là đúng
C h ứ n g m i n h tr i vial
Giả sử rằng kết luận q trong phép duy dẫn p→q là đúng Khi đó p→q là đúng, bởi vì câulệnh dạng T→T hay F→T đều là đúng Vì vậy, nếu để chứng minh q là đúng, thì khi đóchứng minh được gọi là chứng minh trivial Chứng minh trivial thường quan trọng trongkhi chứng minh một số trường hợp đặc biệt
Ví d ụ 12:
Coi P(n) là mệnh đề: “nếu a và b là hai số nguyên dương và a>=b thì an>=bn” Chứngminh rằng P(0) là đúng
Trang 20Giải: Mệnh đề P(0) là “nếu a>=b, thì a0>=b0 ” bởi vì a0=b0 =1, vậy P(0) là đúng Vìvậy, P(0) là đúng Đây là một ví dụ của chứng minh trivial Như vậy là khẳng định a>=bkhông cần thiết trong chứng minh.
18/72
Trang 21Chứng minh bằng cách phân chia trường hợp
" Nếu n không chia hết cho 3 thì n2 không chia hết cho 3"
Giải : Gọi P là mệnh đề "n không chia hết cho 3" và Q là mệnh đề "n2
không chia hết cho 3" Khi đó, P tương đương với P1 v P2 Trong đó:
P1 = " n mod 3 =1" P2 = " n mod 3 =2"
Vậy, để chứng minh P → Q là đúng, có thể chứng minh rằng:
(P1 v P2) → Q hay là (P1 → Q ) v ( P2→ Q) Giả sử P1 là đúng Ta có, n mod 3 = 1 Đặt
n = 3k + 1 ( k là số nguyên nào đó) Suy ra
n2 = ( 3k+1)2 = 9k2 + 6k + 1 = 3(3k2 + 2k) + 1 không chia chẳn cho 3 Do đó, P1
Trang 22v P2) → Q.
Chúng ta hãy trở lại một bài toán về số nguyên đã được trình bày trong phần trước
về các ví dụ áp dụng của logic trong việc lập luận và chứng minh
Để chứng minh một biểu thức tương đương dạng p ? q, trong đó p và q là các
p1: n mod 3= 1 hoăc n mod 3= 2
p2: n không chia hết cho 3
p3: n2 -1 chia hết cho 3
20/72
Trang 23Bài 4: Lý thuyết về bài tập
Lý thuyết tập hiện nay được Cantor và Dedekind đưa ra những năm 1870 Sau khingười ta tìm ra một số các nghịch lý trong lý thuyết tập, một số tiên đề đã đượcZermelo–Fraenkel đưa ra nhằm hoàn thiện lý thuyết tập
Lý thuyết tập, có thể phát biểu bằng logic vị từ cấp I, thường được coi là nền tảng cơbản của hệ thống toán học Ngôn ngữ lý thuyết tập được dùng để định nghĩa hầu hết cácđối tượng trong toán học, ví dụ như hàm hay quan hệ
Đối tượng nghiên cứu của lý thuyết tập là các tập Trong khi các tập là các đối tượng cơbản dùng để định nghĩa tất cả các khái niệm khác của toán học, chúng không thể đượcđịnh nghĩa thông qua các khái niệm nào khác cơ bản hơn Như vậy, tập hợp được giớithiệu một cách không phải là hình thức, mà nó được hiểu một cách nôm na, (như điểmtrong toán học cũng vậy) Hiện nay, trong toán học hiện đại, tập hợp được nghiên cứunhư một nhánh thực sự trong toán học, các tính chất, tiên đề của nó được công nhậnthông qua một hệ thống các tiên đề hình thức
Một tập là một loại cấu trúc mới, dùng để diễn tả các đối tượng khác nhau mà không cótrật tự
Lý thuyết tập cũng giải quyết các thao tác, các quan hệ, các định đề của các tập
Các tập thì có mặt khắp nơi trong hệ thống phần mềm máy tính
Tất cả những đối tượng của toán học đều có thể định nghĩa thông qua lý thuyết tập(dùng logic vị từ)
N h ữ n g k h ái n i ệ m , tí n h c h ất c ơ b ản
Trang 24Tập hợp có thể được xác định bằng lời:
A là tập hợp bốn số nguyên dương đầu tiên B là tập hợp các màu trên quốc kỳ Pháp
Có thể xác định một tập hợp bằng cách liệt kê các phần tử của chúng giữa cặp dấu {}, chẳng hạn:
C = {4, 2, 1, 3}
D = {đỏ, trắng, xanh}
Các tập hợp có nhiều phần tử có thể liệt kê một số phần tử Chẳng hạn tập hợp 1000
số tự nhiên đầu tiên có thể liệt kê như sau:
Trang 25Tập hợp có thể xác định bằng đệ quy Chẳng hạn tập các số tự nhiên lẻ L có thể cho nhưsau:
Nếu
thì
Các tập hợp có thể biểu diễn bằng biểu đồ Venn, tên của nhà toán học người anh JohnVenn, giới thiệu năm 1881 Trong đó biểu đồ Venn, tập vũ trụ U, chứa tất cả các đốitượng được quan tâm, biểu diễn bằng hình chữ nhật Trong hình chữ nhật
này, các hình tròn hay các hình khác thể hiện cho các tập Trong biểu đồ này, người
ta có thể biểu diễn mối quan hệ giữa các tập
Trang 26Một số khái niệm quan trọng
*) Các đối tượng là các phần tử của tập hợp có thể lại là một tập hợp
Trang 27Tập hợp con: Nếu mọi phần tử của tập hợp A đều là phần tử của tập hợp B thì tập hợp
A được gọi là tập hợp con (:Subset) của tập hợp B, ký hiệu là A B, và tập hợp B baohàm tập hợp A
Trang 2826/72
Trang 30Hiệu: Hiệu của tập hợp A với tập hợp B là tập hợp tất cả các phần tử thuộc A nhưng
không thuộc B, ký hiệu A B
Phần bù: là hiệu của tập hợp con Nếu
thì B \ A được gọi là phần bù của A
trong B, ký hiệu CAB
28/72
Trang 31Phần bù của A trong B
Trong nhiều trường hợp, khi tất cả các tập hợp đang xét đều là tập con của một tập hợp
U (được gọi là tập vũ trụ-đôi khi có nghĩa như trường hay không gian - trong vật lý),người ta thường xét phần bù của mỗi tập A, B, C, đang xét trong tập U, khi đó ký hiệuphần bù không cần chỉ rõ U mà ký hiệu đơn giản là CA,CB, hoặc
được sinh ra bởi một phần
tử thuộc với phần tử đứng kế tiếp Biểu diễn:
Tích Đ ề -các c ủ a m ột số h ữ u h ạn n h iều h ơ n h ai t ậ p
Trang 32C á c tính c h ất c ơ b ản
Các phép toán trên tập hợp có các tính chất sau:
30/72
Trang 34lực lượng của tập hợp - Hữu hạn và vô hạn
L Ự C LƯ Ợ N G CỦA T Ậ P HỢP - Hữ u hạn v à vô h ạ n
Lực lượng của một tập hợp chính là số phần tử trong tập hợp đó
Khái quát hoá khái niệm số lượng phần tử của các tập hợp hữu hạn là khái niệm lựclượng của tập hợp (Cardinality)
Hai tập hợp được gọi là có cùng lực lượng nếu có một song ánh giữa chúng Các tậphợp hữu hạn có cùng lực lượng khi và chỉ khi chúng có cùng số phần tử theo nghĩathông thường
Tập hợp A và tập hợp B có cùng lực lượng
Khác biệt cơ bản của các tập hữu hạn với các tập vô hạn là mọi tập hữu hạn không cócùng lực lượng với một tập con thực sự của nó Đối với các tập hợp vô hạn thì khôngphải như vậy Sau đây là một vài ví dụ đơn giản:
Tập con
là tập con thực sự của , tuy nhiên ta có thể kiểm tra ánh xạ sau là song ánh hay không:
Nghĩa là chúng có cùng lực lượng
Georg Cantor đã chứng minh rằng không thể có một song ánh giữa tập các số tự nhiên
và tập hợp các số thực, vì thế lực lượng của tập hợp số tự nhiên là "nhỏ hơn" lực lượngcủa tập số thực Các tập có cùng lực lượng với tập số tự nhiên được gọi là
các tập đếm được, các tập hợp có cùng lực lượng với tập số thực được gọi là tập có
32/72
Trang 35Điều này tương đương với:
Trang 36số Ví dụ có thể định nghĩa một hàm là qui tắc cho tương ứng mỗi hãng xe với tên quốcgia xuất xứ của nó, chẳng hạn có thể viết Xuất_xứ(Honda) = Nhật.
Định nghĩa
34/72
Trang 37Cho X, Y là hai tập hợp số, ví dụ tập số thực R, hàm số f xác định trên X, nhận giá trịtrong Y là một qui tắc cho tương ứng mỗi số x thuộc X với một số y duy nhất thuộc Y.
Ký hiệu
Với:
hoặc hoặc
Tập X gọi là miền xác định
Tập Y gọi là miền giá trị
x gọi là biến độc lập hay còn gọi là đối số
y gọi là biến phụ thuộc hay còn được gọi là hàm số
f(x) được gọi là giá trị của hàm f tại x
C ác d ạ n g c ủ a h à m s ố
Đơn ánh, song ánh, toàn ánh
Như trên đã đề cập, hàm số là một trường hợp ánh xạ, nên người ta cũng miêu tả