BAB 11
RESOLUSI
1.
Pendahuluan
Pembuktian ekspresi-ekspresi logika berupa validitas argumen-argumen pada bab-bab sebelumnya sangat penting untuk menemukan metode yang lebih mekanis dan mudah digunakan di dalam logika. Metode tersebut disebut resolusi (resolution).
2.
Resolving argumen
Logika berhubungan dengan deduksi atau penarikan kesimpulan, masalah pembuktian dan validitas argumen. Perhatikan contoh argumen berikut:
Contoh 1:
Jika durian ini manis, maka durian ini enak dimakan.
Jika durian ini enak dimakan, maka saya akan memakannya.
Dengan demikian, jika durian ini enak dimakan, maka saya akan memakannya.
Argumen tersebut pasti valid. Pola argumen di atas adalah Silogisme Hipotetis. Jika masih ragu-ragu maka validitasnya dapat dibuktikan dengan langkah-langkah berikut: Pembuktian:
Langkah 1: Tentukan variabel proposisionalnya. A = durian ini manis
B = durian ini enak dimakan C = saya akan memakannya
Langkah 2: Buat bentuk logika masing-masing pernyataan. 1. A→B
2. B→C 3. A→C
Langkah 3: Susun dalam bentuk ekspresi logika. ((A→B) (B→C))→(A→C)
Sekarang dapat dilihat dengan jelas bahwa ekspresi logika dari argumen tersebut adalah Silogisme Hipotetis, dan sudah dibuktikan tautologi pada bab sebelumnya. Selanjutnya
{(A→B),(B→C)} ╞(A→C)
Jadi, jika premis-premis, yakni (A→B) ) dan (B→C) bernilai benar, maka kesimpulan
(A→C) juga pasti bernilai benar, atau (A→C) adalah konsekuensi logis dari (A→B) dan
(B→C).
Dengan menggunakan strategi pembalikan, dapat diperlihatkan bahwa menegasi kesimpulan yakni ¬(A→C) adalah tidak konsisten dengan premis-premis (A→B) dan
(B→C). untuk membuktikannya digunakan tabel kebenaran dengan penulisan berikut: (A→B) (B→C) ¬(A→C)
Dan sudah dapat dipastikan bahwa tabel kebenaran untuk menunjukkan nilai kebenaran seluruhnya salah atau kontradiksi yang berarti argumen valid.
Disini masih dapat digunakan sudut pandang semantik dan memperlihatkan ketidakkompatibelannya dengan penulisan berikut:
(A→B) (B→C) ¬(A→C) ╞┴
┴ adalah falsum, yakni konstanta proposisional yang selalu bernilai salah. Artinya jika nilai kebenaran dari premis-premis dan negasi kesimpulan-kesimpulan bernilai salah (falsum), maka argumen pasti valid.
Sekarang akan dibahas teknik resolving argument dengan memakai cara penulisan terakhir ,yakni dengan falsum. Jadi bentuk CNF yang diperoleh adalah:
(¬A v B) (¬B v C) A ¬C
Sekarang perhatikan dengan baik pasangan klausa (¬A v B) dan (¬B v C), dan perhatikan bahwa klausa pertama mempunyai B dan klausa kedua memiliki pasangannya yakni ¬B. sekarang perhatikan penjelasan berikut satu demi satu:
1. Jika v(B) ≡ T, maka v(¬B) ≡ F, maka nilai kebenaran klausa kedua tergantung dari v(C).
3. Padahal hanya mungkin satu di antara v(B) dan v(¬B) yang bernilai benar. Misalnya,
v(B) ≡ T dan v(¬B) ≡ F, atau v(B) ≡ F dan v(¬B) ≡ T.
4. Jadi jika v((¬A v B) Λ (¬B v C)) ≡ T,maka dengan memilih salah satu kemungkinan dari nomor (3), dipastikan v(¬A) ≡ T dan v(C) ≡ T.
5. Sekarang dapat beralasan jika v((¬A v B) Λ (¬B v C)) ≡ T, dengan v(¬A) ≡ T dan
v(C) ≡ T, maka v(¬A v C) ≡ T. karena jika v(¬A v C) ≡ F, maka v((¬A v B) Λ (¬B v
C)) tidak bisa bernilai benar.
6. Dengan kata lain, maka ((¬A v B) dan (¬B v C) dapat di reduksi atau di-resolved
menjadi satu klausa (¬A v C) dengan menghilangkan ¬B dan B.
Prinsip resolusi didasarkan pada penjelasan di atas, yakni dua klausa yang masing-masing literal yang berpasangan, misal A dengan ¬A, maka literal yang berpasangan tersebut dapat di resolved. Klausa hasil proses resolve disebut resolvent clause. Sebelum memulai penjelasan resolusi lebih lanjut, perhatikan kelanjutan uraian di atas.
1. Klausa (¬A v B) dan (¬B v C) dapat di-resolved menjadi satu “resolvent”, yakni menjadi kalusa (¬A v C).
2. Klausa (¬A v C) dengan A di resolved menjadi C 3. Klausa C dengan ¬C akan menjadi apa?
Membatalkan C dengan ¬C akan menghasilkan klausa kosong, dan bagaimana
menyatakan klausa kosong?. Sebaiknya memakai ┴ saja, sebab jika dua buah klausa di resolved, hasilnya harus benar. Jadi, jika C di-resolved dengan ¬C, masing-maing harus bernilai benar, maka hasil resolvent-nya harus benar, padahal C dan ¬C tidak mungkin benar bersama-sama. Jadi gunakan saja ekspresi yang nilainya mungkin
benar, yakni ┴.
Cara lain adalah melihat bahwa klausa berbentuk disjung, dan salah satu disjung harus bernilai benar agar klausa bernilai banar. Tetapi jika tidak ada disjung untuk
menunjukkan klausa benar, maka klausa pasti salah. Oleh karena itu, klausa kosong tidak akan memenuhi persyaratan tersebut, ia pasti selalu salah atau falsum.
4. Klausa C di-resolved dengan ¬C menjadi ┴.
Oleh karena itu, penggunaan ┴ memenuhi persyaratan (A→B) Λ (B→C) Λ ¬ (A→C) ╞ ┴ di atas.
(¬A v B) (¬B v C) A ¬C
(¬A v C)
C
┴
Bentuk normal konjungtif (CNF) dengan empat klausa, yakni (¬A v B),(¬B v C),A dan
¬C, langkah pertama yang dilakukan adalah me-resolved (¬A v B) dengan (¬B v C), menjadi (¬A v C). selanjutnya, (¬A v C) di-resolved dengan A menjadi C, dan terakhir C di-resolved dengan ¬C menghasilkan ┴.
Pada saat mendapatkan klausa kosong dapat dinyatakan bahwa klausa-klausa yang ada di anggap tidak kompatibel satu dengan lainnya. Dengan kata lain, negasi dari kesimpulan tidak konsisten dengan premis-premis. Argumen justru dunyatakan valid karena pemakaian negasi kesimpulan berarti menggunakan strategi pembalikan.
Keindahan metodeini tampak pada bentuk CNF dengan klausa-klausanya yang saling me-resolvent jika saling memiliki literal yang komplementer untuk menemukan klausa kosong. Hasilnya memang sangat mekanis dan langsung tampak hasilnya.
3.
Himpunan klausa
Untuk menentukan CNF sebagai himpunan klausa, sebagai contoh ekspresi di atas, yakni:
(¬A B) (¬B C) A ¬C
Dapat dinyatakan dalam bentuk himpunan klausa sehingga dapat ditulis:
{(¬A B), (¬B C), A, ¬C}
Dengan menghilangkan perangkai . Tetapi jika mengingat sifat komutatif, yakni
(A B)≡(B A), maka himpunan klausa tersebut juga dapat dipindah-pindahkan untuk mempermudah pembuatan pohon terbalik karena resolvent harus ada pasangan literalnya, yang masing-masing berada di satu kalusa. Sebagai contoh, ekspresi logika diatas bisa ditulis :
{(¬A B), A, (¬B C), ¬C}
4.
Resolvent
Sebelumya sudah dijelaskan mengenai metode resolusi walaupun belum lengkap. Selanjutnya, perhatikan teknik resolusi berikut :
Ada dua literal, misalnya p1 dan ¬p1, yang disebut pasangan literal yang saling melengkapi (complementary pair). Jika ada dua klausa yang masing-masing memiliki satu dari pasangan tersebut, maka klausa tersebut dapat di-resolved bersama agar menjadi satu klausa baru (resolvent clause), dan cara ini dinamakan resolvent. Sebagai contoh, klausa {p1, ¬p2, p3} dengan {p2, p3} dapat di-resolved menjadi {p1, p3}.
Pada definisi resolvent tersebut, operator “–“ adalah operator pembeda himpunan, yang hasilnya adalah himpunan yang berasal dari argumen pertama dengan (sub) himpunan dari argumen kedua yang dihilangkan. Sebagai contoh, resolvent dari {1, 2, 3, 4} – {2} adalah {1, 3, 4}.
Contoh 2:
res({p1, ¬p2}, {p2, ¬p3}) = {p1, ¬p3}
Contoh 3:
res({p1, ¬p2, p3, p4}, {p2, ¬p3}) = {p1, p3, ¬p3, p4} atau
res({p1, ¬p2, p3, p4}, {p2, ¬p3}) = {p1, p2, ¬p2, p4}
Satu klausa yang berisi pasangan literal yang komplementer, misalnya pi dan ¬pi secara otomatis hasilnya pasti benar. Hal ini karena klausa menyatakan disjungsi (pi ¬pi) pasti
benar karena semuanya pasti benar. Tentu saja klausa hasil resolvent pada contoh 3 adalah benar.
Perhatikan tabel kebenarannya :
A ¬A A˅¬A
F T T
T F T
Pada contoh 3 ada dua hasil yang bisa diperoleh karena ada dua pasangan lieral yang komplementer dari dua klausa sebelum di-resolved, yakni p2 dengan ¬p2, dan p3 dengan ¬p3. Jika ada yang lebih dari satu cara me-resolved, maka setiap resolvent pasti memiliki pasangan literal yang komplementer dan pasti juga benar. Hasilnya akan menjadi salah jika di-resolved, misalnya{p1, ¬p2} dengan {¬p1, p2} menjadi ⊥, dengan me-resolved
pada keduanya yakni p1 dan p2. Dua klausa tersebut bersama-sama kompatibel jika
memenuhi nilai bahwa p1 dan p2 keduanya benar.
Pembuktian teorema :
1. Misalkan : C1 = {p11, p12, ...p1m, λ} C2 = {p21, p22, ...p2n, ¬λ}
Maka res (C1, C2) = {p11, p12, ...p1m, p21, p22, ...p2n} 2. Perhatikan nilai kebenaran dengan v(C1) ≡ T dan v(C2) ≡ T
3. Jika v( ) ≡ F, maka v(p1i) ≡ T untuk beberapa p1i dengan v(C1) ≡ T Maka v({ p11, p12,….p1m, p21,p22,. . .p2n}) ≡ T.
Jadi v(res(C1,C2)) ≡ T
4. Jika v( ) ≡ T, maka v(¬ ) ≡ F, dan v(p1i) ≡ T untuk beberapa pli dengan v(C2) ≡ T Maka v({ p11, p12,….p1m, p21, p22,. . .p2n}) ≡ T
Jadi v(res(C1,C2)) ≡ T
5. Jadi pada saat v( ) ≡ T, ataupun v( ) ≡ F, dapat disimpulkan jika v(C1) ≡ V(C2) ≡ T, maka v(res(C1,C2)) ≡ T
6. Kesimpulan C1 C2╞ res (C1,C2) TEOREMA 1 (PRINSIP RESOLUSI)
Ide yang mendasari resolusi, dapat dicontohkan dengan membuktikan rumus Modus Ponens yang sudah sangat dikenal, yakni:
((A→B) A)→ B atau {(A→B), A)} ╞ B ≡ {(¬A v B), A} ╞ B
Dan jika (A→B) dan A ditulis dalam bentuk klausa akan menjadi {¬A, B}, {A}.
Selanjutnya , pohon terbaliknya dapat dibuat seperti berikut:
Sederhana sekali dan terbukti bahwa C1 C2 ╞ res (C1,C2).
5.
Resolusi
Berikut ini akan didemonstrasikan prinsip resolusi untuk mendeduksi, yang dengan istilah deduksi resolusi (resolution deduction):
Seperti telah dijelaskan di depan, jika S adalah benar pada setiap penilaian kebenaran dari , maka v(Ci) ≡ T untuk semua Ci , dan tentu saja v(C) ≡ T.
Contoh 4: Buktikan:
(p1 p2 p3) Λ (¬p2 p4) (¬p1 p4) (¬p3 p4) ╞ p4 Pembuktian :
Langkah 1:
Ubahlah CNF menjadi klausa dan urutkan seperti berikut: (1). { p1, p2, p3}
(2). {¬p2, p4} (3). {¬p1, p4} (4). {¬p3, p4}
Definisi : Deduksi resolusi klausa Cdari himpunan klausa S adalah sederetan
Langkah 2:
Lakukan resolusi dengan urutan berikut
(5). Dari (1) dan (2), diperoleh klausa {p1,p3,p4} (6). Dari (3) dan (5), diperoleh klausa {p3,p4} (7). Dari (4) dan (6), diperoleh klausa {p4}
Jadi terbukti:
(p1 p2 p3) Λ (¬p2 p4) Λ (¬p1 p4) Λ (¬p3 p4) ╞ p4
Derivasi tersebut dapat lebih tampak dalam bentuk pohon resolusi (resolution tree), yang tanpak seperti berikut:
Latihan soal: Buktikan:
{(p1→p2),(¬(p2→p3)→¬p1)} ╞ (p1→p3)
6.
Contoh validitas argumen
Berikut ini beberapa argument yang hendak dibuktikan validitasnya dengan deduksi resolusi. Perhatikan argument berikut ini:
Contoh 5:
Jika Ratu mengadakan konser,maka penggemarnya akan dating, jika harga tiket tidak mahal. Jika Ratu mengadakan konser, harga tiket tidak mahal. Dengan demikian , jika Ratu mengadakan konser, penggemarnya akan dating.
Menentukan variabel-variabel proposisional dan membuat ekspresi logikanya. A = Ratu mengadakan konser.
B = Penggemarnya akan datang C = Harga tiket mahal
Maka akan menjadi (1) A→(¬C→B) (2) A→¬C ∴ (3) A→B
Ekspresi logikanya adalah:
(A→(¬C→B)) Λ (A→¬C)╞ A→B
Langkah 2:
Ubahlah ekspresi logika tersebut dengan strategi pembalikan yang menegasi kesimpulan untuk menghasilkan ┴.
(A→(¬C→B)) (A→¬C) ¬( A→B)╞┴ Langkah 3:
Ubahlah menjadi klausa-klausa CNF seperti berikut:
(1). (A→(¬C→B))
≡ (¬A v (¬¬C v B)) A→B
≡ (¬A v (C v B)) Law of Double Negation
≡ ((¬A v C v B) Hapus tanda kurung (2). (A→¬C)
≡ ¬(A v ¬C) A→B (3) ¬( A→B)
≡ ¬(¬A v B) A→B
≡(¬¬A Λ ¬B) De Morgan’s Law
≡(A Λ ¬B) Law of Double Negation Jadi sekarang bentuknya menjadi:
(¬A v C v B) ( ¬A v ¬C) A ¬B ╞ ┴ Langkah 4:
Kesimpulan, hasil yang diperoleh ternyata tidak konsisten, dan berarti argument valid.
Latihan soal:
1. Manakah dari himpunan klausa-klausa berikut ini yang tidak konsisten atau tidak kompatibel?
(1). {{p1,p2,p3},{p1,¬p3}, {¬p1,¬p2}} (2) {{p1,¬p2,p3},{p1,¬p3},{¬p1,p2,¬p3}}
(3) {{p1,¬p2,¬p3,¬p4},{p1,¬p3},{¬p1,p2,¬p4},{¬p1,p4}}
2. Buktikan bahwa argument-argumen berikut ini valid:
(yang dicetak tebal adalah kesimpulannya).
(1). ¬A→B (2). A→B (3). ¬A (¬B v C) ¬A v C v D ¬B v C (B C) ¬C v (E F) ¬C v (C→A) C→D (F ¬D)→¬E ¬C D v ¬A ∴ ¬D→B ∴¬A ∴¬(¬D Λ A)
3. Buktikan ekspresi logika berikut ini valid:
(1). P Λ (Q→R) Λ (P→Q) Λ (S→¬R) ╞ ¬S