Kamis, 12 Oktober 2017

BAB 4. AGEN LOGIKA

PENGANTAR TEKNOLOGI SISTEM CERDAS

Image result for gunadarma logo

  DISUSUN OLEH
CLAUDYA TUPAMAHU
11115533
3KA12





4.1. KNOWLADGE BASE AGENT (AGEN BERBASIS PENGETAHUAN)

Agen Berbasis Pengetahuan, Knowledge Base (KB) menyatakan apa yang “diketahui” oleh si agent Pendekatan deklaratif membangun agent: “beritahu” informasi yang relevan, simpan dalam KB. Agen dapat ditanya (atau bertanya diri sendiri) apa yang sebaiknya dilakukan berdasarkan KB. Maka sebuah agen berbasis pengetahuan harus bisa mereprentasikan world, state, action, dst. Menerima informasi baru (dan meng-update representasinya). Menyimpulkan pengetahuan lain yang tidak eksplisit (hidden property). q Menyimpulkan action apa yang perlu diambil. 

Agen Berbasis Pengetahuan atau Knowledge Base (KB) merupakan Himpunan representasi fakta yang diketahui tentang lingkungannya. Tiap fakta disebut sebagai sentence. Fakta tersebut dinyatakan dalam bahasa formal sehingga bisa diolah, menambahkan sentence baru ke KB. Inference Engine merupakan menentukan fakta baru yang dapat diturunkan dari pengetahuan yang sudah ada dalam KB. 

Agen Berbasis Pengetahuan dalam representasi, agent dapat dipandang dari knowledge level. Apa saja informasi yang diketahui? Misal sebuah robot “mengetahui” bahwa gedung B di antara gedung A dan gedung C. Agent dapat dipandang dari implementation level Bagaimana representasi informasi yang diketahuinya? Logical sentence di_antara(gdB, gdA, gdC). Natural language “Gedung B ada di antara gedung A dan gedung C”. 

Agen Berbasis Pengetahuan, pilihan representasi berpengaruh terhadap apa yang bisa dilakukan inference engine. Pada pendekatan deklaratif programmer memberitahu agent informasi tentang environment. Kalau informasi kurang, agen bisa melengkapinya sendiri. Jika dibandingkan dengan pendekatan prosedural programmer secara eksplisit memrogram agen untuk bertindak. Sehingga bagaimana jika program tidak benar, maka akan besar kemungkinan menyebabkan kesalahan. 

Agen Berbasis Pengetahuan, permasalahannya adalah bagaimana representasi yang tepat, sehingga ada dua hal yang harus diperhatikan expressive bisa menyatakan fakta tentang environment, Tractable bisa mengolah/ memproses inference engine (dengan cepat). Knowledge merupakan power atau kekuatan dari pemrograman secara deklaratif. Representasi dan penalaran membentuk suatu Intelligence.

4.2 LOGIKA

Secara etimologis, logika adalah istilah yang dibentuk dari kata logikos yang berasal dari kata benda logos. Kata logos, berarti sesuatu yang diutarakan, suatu pertimbangan akal (pikiran), kata, percakapan, atau ungkapan lewat bahasa. Kata logikos, berarti mengenal kata, mengenai percakapan atau yang berkenaan dengan ungkapan lewat bahasa. Dengan demikian, dapatlah dikatan bahwa logika adalah suatu pertimbangan akal atau pikiran yang diutrakan lewat kata dan dinyatakan dalam bahasa.

Logika Informatika

Logika disebut juga “the calculus of computer science” karena logika memegang peranan yang sangat penting di bidang ilmu komputer. Peran kalkulus (matematika) sama pentingnya untuk ilmu-ilmu bidang sains, misalnya ilmu fisika, ilmu elektronika, ilmu kimia, dan sebagainya. Oleh karena itu, biasanya pelajar, mahasiswa, guru, dan dosen setuju bahwa logika memainkan peranan penting dalam berbagai bidang keilmuan, bahkan dalam kehidupan manusia sehari-hari. Logika, komputasi numerik, dan matematika diskrit memiliki peran penting dalam ilmu komputer karena semuanya berperan dalam pemrograman. Logika merupakan dasar-dasar matemtis suatu perangkat lunak, digunakan untuk memformalkan semantik bahasa pemrograman dan spesifikasi program, serta menguji ketepatan suatu program. Hal ini menunjukkan betapa pentingnya logika matematika karena banyak ilmu, khususnya dalam bidang ilmu komputer, yang memerlukan logika untuk berkembang. Logika dalam ilmu komputer dalam ilmu komputer digunakan sebagai dasar dalam belajar bahasa pemrograman, struktur data, kecerdasan buatan, teknik/sistem digital, basis data, teori komputasi, rekayasa perangkat lunak, sistem pakar, jaringan syaraf tiruan, dan lainlainnya yang mempergunakan logika secara intensif. Salah satu contoh yang populer adalah sistem digital, yaitu bidang ilmu yang didasari oleh logika untuk membuat gerbang logika (logic gates) dan arsitektur komputer sebagai inti mikroprosesor, otak komputer atau central processing unit.



4.3 LOGIKA PROPOSISI

Sintaks Logika Proposisi

Sintak  sebuah bahasa berhubungan dengan struktur bahasa. Sebagai contoh, untuk membentuk sebuah kalimat yang valid dalam bahasa kita memakai struktur: [subyek] + [kata kerja] + [kata benda]. Dengan memakai struktur ini, kita bisa membentuk kalimat, sebagai contoh: Saya makan nasi. Dalam hubungannya dengan bahasa pemrograman, kita harus memenuhi sintak (baca: aturan struktur bahasa) agar program dapat berjalan. Sebagai contoh, dalam bahasa BASIC, untuk mengassign sebuah variabel dengan sebuah nilai, kita memakai operand ‘=’, tetapi kalau dalam Pascal, kita pakai ‘:=’. Contoh dalam BASIC: a=1, tapi dalam bahasa Pascal, a:=1..

Atau jika lebih spesifik lagi sintak dapat diartikan aturan-aturan peng-code-an struktur suatu bahasa pemograman, ibarat grammar dalam berbahasa Inggris. Setiap jenis bahasa pemograman mempunyai aturan sintak yang berbeda.

Formula Logika Proposisi
Formula (atau kalimat) logika proposisi dibentuk dari:
1. konstanta proposisi: > (benar) dan ? (salah)
2. variabel proposisi atom: p, q, r, p1, p2, p2, . . .
3. operator logika proposisi: :;^;_;_;!;$, (termasuk operator biner lain bila
diperlukan)
dengan aturan sebagai berikut:
1. setiap proposisi (atom) merupakan formula logika proposisi,


2.


Semantik

Semantik sebuah bahasa menggambarkan hubungan antara sintak dan model komputasi. Sederhananya, semantik menjelaskan arti dari program. Analoginya sebagai berikut. Apabila kita memakai sintak [subyek] + [kata kerja] + [kata benda], kita bisa menghasilkan kalimat-kalimat.
Apabila kita mengasilkan kalimat Saya makan nasi, maka kalimat ini memenuhi aturan sintak. Tapi, apabila saya membuat kalimat Saya makan batu, secara sintak kalimat ini sudah benar. Namun, secara semantik, kalimat ini tidak mengandung makna yang berarti.

JARINGAN SEMANTIK
Konsep jaringan semantik diperkenalkan pada tahun 1968 oleh Ross Quillin. Jaringan semantic merupakan teknik representasi kecerdasan buatan klasik yang digunakan untuk informasi proposional (Giarrantano dan Riley, 1994). Yang dimaksud denganinformasi proporsional adalah pernyataan yang mempunyai nilai benar atau salah.Informasi proporsional merupakan bahasa deklaratif karena menyatakan fakta.
Jaringan semantik merupakan penggambaran grafis dari pengetahuan yang melibatkan hubungan antara obyek-obyek.
      * Obyek direpesentasikan sebagai simpul (node) pada
            suatu grafik berbentuk lingkaran dan hubungan antara
            obyek-obyek dan faktor deskriptif dinyatakan oleh
            garis penghubung (link) atau garis lengkung (arch)
            berlabel.
     * Obyek dapat berupa jenis fisik, seperti:   buku,mobil, meja, atau bahkan orang; erupakan pikiran, seperti: hukum Ohm; suatu peristiwa/ kejadian, seperti: piknik atau suatu pemilihan; atau tindakan, seperti: membuat rumah atau menulis buku.
       Atribut obyek, seperti: ukuran, warna, kelas,         umur, asal-usul, atau karakteristik lainnya bisa digunakan sebagai node. Dalam hal ini,         informasi rinci tentang sesuatu obyek bisa ditampilka dengan baik.

TUJUAN
Tujuan pembuatan jaringan semantik adalah untuk merepresentasikan organisasi dari ide-ide dalam materi pembelajaran agar dapat dimanfaatkan sebagai alat bantu pembelajaran.  Dengan mengajak siswa menganalisis struktur ide-ide yang dipelajari, berarti membantu kita untuk menganalisis struktur pengetahuannya, yang akan membantunya untuk memadukan ide baru dengan ide yang sudah ada.  Sebagai hasilnya, pengetahuan yang diperoleh lebih utuh dan dapat digunakan dengan lebih akurat.


Contoh :
          Bentuk jaringan semantik yang terekam di dalam sistem ingatan seseorang, dapat dipetakan melalui serangkaian pertanyaan yang diajukan kepadanya. Berikut ini merupakan contoh model diskusi untuk melihat pola jaringan semantik.
Di tengah suasana belajar mengajar, di dalam kelas, seorang dosen mencoba membangkitkan kembali semangat belajar anak-anak didiknya. Saat itu, para mahasiswa agaknya lelah dan mengantuk, karena energinya “terkuras” untuk berkonsentrasi, ketika mereka mencoba untuk mengerti penjelasan dari dosennya.

Analisis model diskusi pada kasus di dibawa ini :

Dosen tersebut mengajukan pertanyaan sebagai berikut :
·         "Saya ingin melihat pola jaringan semantik kalian. Apa yang kalian ketahui tentang kata ‘mobil’ ? "
Jawaban yang cukup menarik, antara lain :
·         "Kendaraan bermotor. Rodanya empat. Membutuhkan BBM. Bisa dipakai untuk angkot. Kalau ukurannya besar namanya bis. Harganya mahal. Penumpangnya tidak kehujanan. Bisa dipakai ngebut. Tidak berdaya jika jalanan macet. Pemiliknya harus punya BPKB. Pengemudinya harus punya SIM dan membawa STNK".
·         "Kalau tidak dirawat dengan baik, gampang mogok"


INFERENSI

A.  LOGIKA PREDIKAT URUTAN PERTAMA (First Order Predicate Logic)
-      Representasi 4 kategori silogis        me menggunakan logika predikat

Bentuk
Skema
Representasi Predikat
A
Semua S adalah P
("x) (S(x)àP(x))
E
Tidak S adalah P
("x) (S(x)à~P(x))
I
Beberapa S adalah P
($x) (S(x)àP(x))
O
Beberapa S bukan P
($x) (S(x)à~P(x))

-      Kaidah Universal Instatiation merupakan state dasar, dimana suatu individual dapat digantikan (disubsitusi) ke dalam sifat universal.


-      Contoh :
Misal, f merupakan fungsi proposisi :
                    ("x) f(x)
 \ f(a)

merupakan bentuk yang valid, dimana a menunjukkan spesifik individual, sedangkan x adalah suatu variabel yang berada dalam jangkauan semua individu (universal)

Contoh lain : ("x) H(x)
      \ H(Socrates)
    dimana H(x) : fungsi proposissional dg x adalah human



-      Berikut ini adalah contoh pembuktian formal silogisme:
All men are mortal
Socrates is a man
Therefore, Socrates is mortal

Misal : H = man,  M = mortal,  s = Socrates


Solusi:
1.   ("x) (H (x) à M(x))
2.   H(s)                                     
3.   \ M(s)
4.   H(s) à M(s)                         
5.   M(s)                                     

B.  SISTEM LOGIKA

-      Sistem logika adalah kumpulan objek seperti kaidah (rule), aksioma, statement dan lainnya yang diatur dalam cara yang konsisten.

-      Sistem logika mempunyai beberapa tujuan :
1.   Menentukan bentuk argumen.
Awalnya argumen logika tidak memiliki arti dalam semantic sense, bentuk yang valid pada dasarnya dapat dicapai jika validitas dari argumen tersebut dapat ditentukan.
Fungsi terpenting dari logika sistem adalah menentukan well formed formulas (wffs) dari argumen yang digunakan.
Contoh :            All S is P                ….. merupakan wffs
             tapi….  All
                        All is S P                 ….. bukan wffs
                        Is S all

2.   Menunjukkan kaidah inferensi yang valid.

3.   Mengembangkan dirinya sendiri dengan menemukan kaidah baru inferensi dan memperluas jangkauan argumen yang dapat dibuktikan.

-      Sistem logika dibangun melalui Sentential atau kalkulus proposisi, kalkulus predikat dst.

-      Setiap sistem disandarkan pada aksioma atau postulat, yang merupakan definisi mendasar dari sistem.
Suatu aksioma merupakan fakta sederhana atau assertion yang tidak dapat dibuktikan dalam sistem. Terkadang, kita menerima aksioma dikarenakan ada sesuatu yang menarik atau melalui pengamatan.

-      Sistem formal membutuhkan :
1.           simbol alfabet.
2.           suatu set finite string dari simbol tertentu, wffs
3.           aksioma, definisi dari sistem
4.           kaidah inferensi, yang memungkinkan wffs, A untuk dikurangi sebagai kesimpulan dari set finite G wff lain dimana G = {A1,A2,…An}. Wffs harus berupa aksioma atau teori lain dari sistem logis. Sebagai contoh : sistem logika dapat didefinisikan menggunakan modus pones untuk diturunkan menjadi teorema baru.

- Jika terdapat argumen :
            A1, A2, ……., AN; \ A

yang valid, maka A disebut teorema dari sistem logika formal dan ditulis dengan simbol    (metasymbol) yang menunjukkan wff adalah suatu teorema .
A1, A2, ……., AN       A

Contoh : teorema silogisme tentang Socrates yang
             ditulis dalam bentuk logika predikat.
("x) (H (x)àM(x)),   H(s)       M(s)

M(s) dapat dibuktikan dari aksioma di sisi kiri, hal tersebut menunjukkan aksioma

-      Suatu teorema merupakan tautology, ditunjukkan melalui G sebagai set null dimana wff selalu bernilai null dan tidak tergantung dari aksioma atau teorema yang lain.
Teorema dengan tautology ditulis dengan simbol    , misalnya   A.
Contoh :
            Jika A º p Ú ~p maka     p Ú ~p

-      Suatu model adalah interpretasi wff bernilai benar.
Suatu wff disebut konsisten atau satifiable jika interpretasi yang dihasilkan benar, dan disebut inkonsisten atau unsatisfiable jika wff menghasilkan nilai yang salah pada semua interpretasi.



EKUIVALEN
Ekuivalen adalah dua atau lebih pernyataan majemuk  yang memiliki nilai kebenaran yang sama.
        Dua kalimat disebut ekuivalen (secara logika) bila dan hanya bila keduanya mempunyai nilai kebenaran yang sama untuk semua substitusi nilai kebenaran masing-masing kalimat penyusunnya.
  Jika p dan q adalah kalimat-kalimat yang ekuivalen, maka dituliskan p  q.  Jika p  q maka q  p juga.
Dua atau lebih pernyataan majemuk yang mempunyai nilai kebenaran sama disebut ekuivalensi logika dengan notasi “  dua buah pernyataan majemuk dikatakan ekuivalen, jika kedua pernyataan majemuk itu mempunyai nilai kebenaran yang sama untuk semua kemungkinan nilai kebenaran pernyataan-pernyataan komponen-komponennya.

  EKUIVALEN LOGIS ( ≡ )
Kapan dikatakan suatu ekspresi logika ekuivalen logis???
1.      Jika kedua ekspresi logika adalah Tautologi ( T dan T pada Tabel Kebenaran ).
2.      Jika kedua ekspresi logika adalah Kontradiksi ( F dan F pada Tabel Kebenaran ).
3.      Pada Contingen, jika urutan T dan F atau sebaliknya pada Tabel Kebenaran tetap pada urutan yang sama.
Contoh 1 :
(1). Indah sangat cantik dan peramah.
(2). Indah peramah dan sangat cantik.
Kedua pernyataan diatas, tanpa pikir panjang, akan dikatakan ekuivalen atau sama saja. Dalam bentuk ekspresi logika dapat ditampilkan berikut ini :
A = Indah sangat cantik
B = Indah itu ramah
Ekspresi logikanya adalah :                (1). A ^ B
                                                            (2). B ^ A
Jika dikatakan kedua ekspresi logika tersebut ekuivalen secara logis, maka dapat ditulis : ( A ^ B ) ≡ ( B ^ A )
Ekuivalen logis dari kedua ekspresi logika dapat dibuktikan dengan Tabel Kebenaran :
A
B
A ^ B
B ^ A
B
B
B
B
B
S
S
S
S
B
S
S
S
S
S
S

Contoh  2 :
(1). Badu tidak pandai, atau dia tidak jujur.
(2). Adalah tidak benar jika Badu pandai dan jujur.
Secara intuitif dapat ditebak kalau kedua pernyataan diatas sebenarnya sama saja, tetapi bagaimana jika dibuktikan dengan tabel kebenaran berdasarkan ekspresi logika.
A = Badu pandai
B = Badu jujur
Ekspresi logikanya adalah :  (1). ¬ A v ¬ B                            (2). ¬( A ^ B )
Dengan tabel kebenaran dapat dibuktikan bahwa kedua ekspresi logika di atas ekuivalen.
A
B
¬A
¬B
A ^ B
¬A v ¬B
¬ (A ^ B)
B
B
S
S
B
S
S
B
S
S
B
S
B
B
S
B
B
S
S
B
B
S
S
B
B
S
B
B

Ekspresi logika diatas belum dikatakan ekuivalen logis meskipun nilainya di tabel kebenaran sama.
Untuk menjadikannya ekuivalen logis maka digunakan perangkai ekuivalensi antara kedua ekspresi logika tersebut, dan akhirnya menghasilkan tautology.
(¬ A v ¬ B) ↔ ¬( A ^ B )
T
T
T
T

           

VALIDITAS
           
            Konklusi sebaiknya diturunkan dari premis-premis atau premis-premis selayaknya mengimplikasikan konklusi. Dalam argumentasi yang valid, konklusi akan bernilai benar jika setiap premis yang digunakan di dalam argumen juga bernilai benar. Jadi validitas argumen tergantung pada bentuk argumen itu dan dengan bantuan tabel kebenaran.Konklusi itu benar jika mengikuti hukum-hukum logika yang valid dari aksioma-aksioma sistem itu, dan negasinya adalah salah. Untuk menentukan validitas suatu argumen dengan selalu mengerjakan tabel kebenarannya tidaklah praktis. Cara yang lebih praktis banyak bertumpu pada tabel kebenaran dasar dan bentuk kondisional. Bentuk argumen yang paling sederhana dan klasik adalah Modus ponens dan Modus tolens.


SATISFIABILITAS

1.      Pengertian satisfiability / Propositional Satisfiability
Sebuah proposisi majemuk dikatakan satisfiable jika ada minimal satu nilai tabel kebenarannya yang bernilai TRUE (benar), Jika proposisi majemuk tersebut tidak memiliki nilai TRUE (benar) sama sekali dalam tabel kebenarannya, maka proposisi majemuk tersebut disebut tidak satisfiable. Bisa dilihat contoh dari satisfiability sebagai berikut :
p => q satisfiable? – q => – p satisfiable?
p
q
p=>q
q => –p
0
0
1
1
0
1
1
1
1
0
0
0
1
1
1
1

p – p v q satisfiable?
p
q
p – p v q
0
0
1
0
1
1
1
0
1
1
1
1
p ^ – p satisfiable?
p
p ^ (- p)
0
0
1
0





4.5 POLA PENALARAN  PADA LOGIKA PROPOSISI
- Forward chaining systems. Dimulai dengan fakta awal dan tetap menggunakan rules untuk menarik kesimpulan baru (atau mengambil tindakan tertentu).
Backward chaining systems. Dimulai dengan beberapa hipotesis (atau goal) untuk membuktikan, dan terus mencari rules yang memungkinkan penyimpulan terhadap hipotesis tersebut, dengan mengatur sub-goal baru untuk dibuktikan.
•Sistem forwardchaining utamanya bersifat data-driven, sedangkan backward chainingbersifat goal-driven.


4.6 INFERENSI PROPORSI YANG EFEKTIF

·         Algoritma Runut Balik (backtracking)
Algoritma runut balik pertama kali diperkenalkan oleh D.H Lehmer pada tahun 1950. Algoritma ini cukup mangkus untuk digunakan dalam beberapa penyelesaian masalah dan juga untuk memberikan kecerdasan buatan dalam game. Beberapa game populer semisal Sudoku, Labirin, Catur juga bisa diimplementasikan dengan menggunakan algoritma runut balik.
Algoritma runut balik (backtracking) merupakan algoritma yang digunakan untuk mencari solusi persoalan secara lebih mangkus daripada menggunakan algoritma brute force. Algoritma ini akan mencari solusi berdasarkan ruang solusi yang ada secara sistematis namun tidak semua ruang solusi akan diperiksa, hanya pencarian yang mengarah kepada solusi yang akan diproses. (Rinaldi Munir, Diktat Strategi Algoritmik, Teknik Informatika ITB. 2005).
Algoritma runut balik berbasis pada DFS (Depth First Search) sehingga aturan pencariannya akan mengikut kepada aturan pencarian DFS yaitu dengan mencari solusi dari akar ke daun (dalam pohon ruang solusi) dengan pencarian mendalam. Simpul-simpul yang sudah dilahirkan (diperiksa) dinamakan simpul hidup (live node). Simpul hidup yang sedang diperluas dinamakan simpul-E atau Expand Node.
Algoritma backtracking mempunyai prinsip dasar yang sama seperti brute-force yaitu mencoba segala kemungkinan solusi. Perbedaan utamanya adalah pada ide dasarnya, semua solusi dibuat dalam bentuk pohon solusi (pohon ini tentunya berbentuk abstrak) dan algoritma akan menelusuri pohon tersebut secara DFS (depth field search) sampai ditemukan solusi yang layak.

4.6 AGEN BERBASIS LOGIKA PROPOSISI
Agen logika merupakan agen yang memiliki kemampuan bernalar secara logika. Ketika beberapa solusi tidak secara eksplisit diketahui, maka diperlukan suatu agen berbasis logika. Logika sebagai Bahasa Representasi Pengetahuan memiliki kemampuan untuk merepresentasikan fakta sedemikian sehingga dapat menarik kesimpulan (fakta baru, jawaban). Sedangkan pengetahuan merupakan komponen yang penting, sehingga terdapat perbedaan jika diterapkan pada dua agent, yakni problem solving agent dan knowledge-based agent. 

Perbedaan dua agent, problem solving agent dan knowledge-based agent. Problem solving agent memilih solusi di antara kemungkinan yang ada. Apa yang ia “ketahui” tentang dunia, pengetahuannya tidak berkembang untuk mencapai problem solution (initial state, successor function, goal test) tetapi jika Knowledge-based agent lebih “pintar”. Ia “mengetahui” hal-hal tentang dunia dan dapat melakukan reasoning (berpikir, bernalar) mengenai Hal-hal yang tidak diketahui sebelumnya (imprefect/ partial information). Tindakan yang paling baik untuk diambil (best action). 


SUMBER         :          


Tidak ada komentar:

Posting Komentar