Presentation is loading. Please wait.

Presentation is loading. Please wait.

Paradigma Pengaturcaraan

Similar presentations


Presentation on theme: "Paradigma Pengaturcaraan"— Presentation transcript:

1 Paradigma Pengaturcaraan
Bab 4 Paradigma Pengaturcaraan

2 4.3. Pengaturcaraan Deklaratif
Pengaturcaraan deklaratif boleh digambarkan sebagai suatu model pengkomputeran yang abstrak, yang berdasarkan deduksi (kesimpulan) pernyataan-pernyataan aturcara untuk mencapai matlamat atau mendapatkan keputusan Satu contoh bahasa pengaturcaraan deklaratif adalah bahasa berasaskan logic Aturcara yang ditulis dalam bahasa ini mengungkapkan matlamat atau objektif, dan fakta dan petua yang akan digunakan untuk menyimpulkan (deduce) objektif tersebut, tanpa menyatakan kaedah bagaimana deduksi ini dilakukan. Petua inferen boleh menyimpulkan (deduce) objektif menggunakan dua operasi asas : Resolusi (resolution) Unification

3 4.3.1. Model Bahasa Pengaturcaraan Logik
Implementasi pengaturcaraan imperatif dan fungsian adalah berasaskan konsep pemetaan. Misalnya: Diberi A, tentukan nilai M(A) Implementasi pengaturcaraan logik pula adalah berasaskan konsep hubungan. Pertimbangkan dua set nilai S dan T. R adalah hubungan di antara S dan T. Untuk setiap x ahli S, dan y ahli kepada T, hubungan R(x, y) boleh samada BENAR atau PALSU Contoh hubungan; “>”, Maka jika x > y, R(x, y) adalah benar.

4 4.3.1. Model Bahasa Pengaturcaraan Logik
Berdasarkan hubungan ini, kita boleh membuat permintaan seperti berikut: Diberi A dan B, tentukan samada R(A, B) adalah benar Diberi A, dapatkan semua nilai B yang mana R(A, B) adalah benar Diberi B, dapatkan semua nilai A yang mana R(A, B) adalah benar Dapatkan semua nilai A dan B yang mana R(A, B) adalah benar Permintaan seperti (2), (3), dan (4) adalah kriteria permintaan yang digunakan dalam pengaturcaraan berasaskan logik

5 4.3.1. Model Bahasa Pengaturcaraan Logik
Struktur aturcara logik terdiri dari : Pernyataan-pernyataan logik – terdiri dari satu set petua dan fakta yang menyatakan hubungan di antara objek-objek, dan bernilai samada benar atau palsu Strategi kawalan – resolusi (kesimpulan) atau jujukan langkah yang dipilih oleh sistem deduksi untuk menjawab soalan yang ditanya oleh sisem logik Bentuk logik yang digunakan dalam pengaturcaraan logik adalah kalkulus predikat darjah-pertama (first-order predicate calculus)

6 4.3.1. Model Bahasa Pengaturcaraan Logik
Komponen kalkulus predikat darjah-pertama boleh diklasifikasikan seperti berikut: Pemalar Pernyataan logik Pembolehubah Fungsi Penghubung Quantifier Punctuation Keutamaan

7 4.3.1. Model Bahasa Pengaturcaraan Logik
Pemalar– juga dikenali sebagai atom kerana ia tidak boleh dipecahkan lagi kepada subatom Pembolehubah – simbol yang mewakili suatu objek yang tidak dispesifikasikan  ia boleh mewakili objek yang berlaian pada waktu yang berbeza. Conohnya: integer(X) Fungsi – mewakili pengiraan yang telah ditakrifkan terlebih dahulu. Fungsi boleh digunakan dalam ungkapan untuk menjana parameter bagi suatu predikat yang lain. Contohnya: integer(X) => integer( successor(X) ) Bermaksud, sekiranya X adalah suatu integer, begitu juga nilai sebelum X, yang dikira menggunakan fungsi successor

8 4.3.1. Model Bahasa Pengaturcaraan Logik
Pernyataan logik – terma tanpa-syarat (unconditional) yang kadangkala dipanggil fakta, mewakili hubungan di antara objek-objek. Contohnya, kita mahu mengungkapkan pernyataan logik (fakta) yang Fred menyukai Elizabeth. Ini bolh ditulis sebagai Likes(Fred, Elizabeth) Penghubung – simbol yang menghubungkan dua tau lebih literal. Punctuation – simbol yang digunakan dalam struktur predikat dan pernyataan logik , seperti buka kurungan dan tutup kurungan, koma, dan titik

9 4.3.1. Model Bahasa Pengaturcaraan Logik
Quantifier – simbol yang memperkenalkan pembolehubah seperti " yang dipanggil ‘untuk semua’, juga dikenali sebagai universal quantifier, dan $ yang dipanggil ‘wujud suatu’, juga dikenali sebagai existential quantifier. Contohnya: " X ( lelaki( X ) => manusia( X ) ) bermakna, untuk semua X yang mana X adalah lelaki, maka X adalah manusia $ X ( manusia( X ) => lelaki( X ) ) bermakna, wujud suatu X yang mana jika X adalah manusia, maka X adalah lelaki

10 4.3.1. Model Bahasa Pengaturcaraan Logik
Keutamaan – Penilaian pengoperasi ditentukan mengikut petua keutamaan pengoperasi. Dalam kalkulus predikat darjah-pertama, argumen kepada predikat dan fungsi dipanggil term  suatu kombinasi pembolehubah, pemalar, dan fungsi. Term tidak boleh mengandungi predikat, quantifier, atau penghubung. Contoh: Fred menyuai Elizabeth Seorang manusia memunyai dua tangan Mamalia mempunyai empat kaki Pernyataan di atas boleh ditulis dalam bentuk kalkulus predikat darjah-pertama sperti beikut: Suka( Fred, Elizabeth) Tangan( manusia, 2) " X, mamalia(X) => kaki( X, 4)

11 Pernyataan logikal Secara umumnya pernyataan logik boleh ditulis seperti berikut: Hubungan(Objek1, Objek2) Hubungan dirujuk sebagai predikat, manakala objek yang berkaitan dirujuk sebagai argumen atau parameter Hubungan tidak semestinya menghubungkan antara dua objek. Hubungan juga boleh menggambarkan atribut atau sifat suat objek. Misalnya: Lelaki(Fred)

12 Pernyataan logikal Pernyataan logik bersyarat dirujuk sebagai petua. Misalnya: Besar(Syarikat) => Bekerja(Micheal, Syarikat) Bermaksud ‘Micheal sanggup bekerja untuk sebuah syarikat, jika syarikat itu besar’ Bentuk umum: Some_conditon_holds => something_is_true

13 Klausa Horn Bentuk am pernyataan logikal adalah seperti berikut:
( Q1 atau Q2 atau atau Qk ) => ( P1 dan P2 dan dan Pn ) yang mana P dan Q adalah predikat, yang juga dikenali sebagai literal atau term tanda => bermakna “implies atau drives” Bentuk pernyataan logikal Horn Clause: Klausa Horn berkepala : jika pernyataan logikal di sebelah kanan hanya mempunyai satu literal, contohnya: Mamalia( manusia ) => kaki( manusia, 2 ) Klausa Horn tanpa kepala : jika tiada pernyataan di sebelah kiri, contohnya: Tangan( manusia, 2) Pernyataan logikal yang boleh digunakan untuk operasi resolution adalah pernyataan dalam bentuk Klausa Horn

14 4.3.3. Resolution Dari pernyataan logikal x => y, dan y => z,
Petua inferen boleh dinyatakan sebagai: Dari pernyataan logikal x => y, dan y => z, Satu pernyataan logikal yang boleh dihasilkan adalah x => z Dengan kata lain, petua inferen membenarkan pembinaan suatu set pernyataan logikal yang baru yang boleh dibuktikan benar dengan syarat set pernyataan logikal yang asal adalah benar. Suatu aturcara logik adalah terdiri dari suatu koleksi pernyataan logikal yang dikenali sebagai fakta dan petua, dan suatu fakta yang ingin diketahui, yang dikenali sebagai kueri (query) atau matlamat (goal).

15 Resolution Kueri boleh dibuktikan kebenarannya menggunakan petua inferen Operasi resolusi boleh ditulis secara simbolik seperti berikut: P atau Q dan not P menghasilkan Q not Q => P dan not P menghasilkan Q ( P atau Q ) dan not P menghasilkan Q

16 4.3.3. Resolution (Contoh) ?- happy(tom) Pernyatan logikal: Kueri :
happy(tom) or not watching(tom, football) or not has(tom, supplies) has(tom, supplies) or not has(tom, beer) or not has(tom, pretzels) watching(tom, foorball) or not is_on(tv) or not playing(cowboys) is_on(tv) playing(cowboys) has(tom, beer) has(tom, pretzels) Kueri : ?- happy(tom)

17 Resolution (Contoh) Untuk mengetahui samada ‘Tom is happy’, strategi resolusi digunakan --> menambah satu pernyataan negasi kepada kueri iaitu: (8) not happy(tom) Proses resolusi: (8) not happy(tom) (1) happy(tom) or not watching(tom, football) or not has(tom, supplies) __________________________________________ (9) not watching(tom, football) or not has(tom, supplies) (klausa baru) (2) watching(tom, foorball) or not is_on(tv) or not playing(cowboys) ___________________________________________________ (10)not has(tom, supplies) or not is_on(tv) or not playing(cowboys) (klausa baru) (3) has(tom, supplies) or not has(tom, beer) or not has(tom, pretzels) ___________________________________________________________________ (11)not is_on(tv) or not playing(cowboys) or not has(tom, beer) or not has(tom, pretzels)

18 Resolution (Contoh) (11)not is_on(tv) or not playing(cowboys) or not has(tom, beer) or not has(tom, pretzels) (4) is_on(tv) ______________________________________________________ (12)not playing(cowboys) or not has(tom, beer) or not has(tom, pretzels) (5) playing(cowboys) ___________________________________ (13)not has(tom, beer) or not has(tom, pretzels) (6)has(tom, beer) __________________ (14)not has(tom, pretzels) (7)has(tom, pretzels) ______ PALSU Oleh kerana hasil resolusi adalah PALSU, maka boleh disimpulkan yang pernyataan kueri adalah benar iaitu ‘Tom is happy’

19 Unification Proses memadankan corak (patern matching) untuk menjadikan term berbentuk sama (identical) supaya boleh dibuang dari kedua-dua belah pernyataan logikal --> proses menghasilkan suatu term baru daripada petua yang ada menggunakan pmbolehubah Contoh: Pertimbangkan fakta berikut: Likes(Mary, food) Likes(Mary, milk) Likes(Mahsa, milk) Likes(Mahsa, Mary)

20 Unification Jika ingin mengetahui ‘adakah apa-apa yang disukai oleh kedua-dua Mahsa dan Mary?’, bentuk kueri adalah seperti berikut: ?- likes(Mary, X), likes(Mahsa, X) Kueri dipecahkan kepada 2 matlamat: Pertama, dapatkan X (suatu pembolehubah) yang disukai oleh Mary Kedua, tentukan jika Mahsa menyukai X juga Hasil : X adalah milk.

21 4.3.5. Aplikasi Pengaturcaraan Logik
Pengaturcaraan logik boleh menyumbang dalam bidang kecerdasan buatan (AI) dari aspek: Production System – suatu model pemprosesan maklumat manusia yang mengandungi koleksi pernyataan if-then dan komponen-komponen yang boleh dikategorikan kepada; system state (pangkalan data pengetahuan), production rules , dan control system ( yang menguruskan perlaksanaan petua) Contoh Official Production System (OPS) dan PROSPECTOR yang memberikan nasihat tentang eksplorasi garam galian Reasoning System – mengekstrak maklmumat baru berdasarkan pangkalan pengetahuannya. Contoh : MYCIN ( mendiagnos dan mencadangkan terap untuk penyakit) dan ELIZA

22 4.3.5. Aplikasi Pengaturcaraan Logik
Contoh perbualan dalam ELIZA : User : Hello ELIZA : Hi, my name is ELIZA User : How do you work? ELIZA : Why do you want to know how I work? User : Probably because I’m curious ELIZA : Because you are curious? That is not a very good reason User : I am very confused ELIZA : So you are very confused :


Download ppt "Paradigma Pengaturcaraan"

Similar presentations


Ads by Google