SlideShare a Scribd company logo
Inductive Logic Programming
Pemrograman Logika Induktif
Hendy Irawan
23214344
TMDG 9 – STEI ITB
Latar Belakang dan Pengertian
Umum
● a subfield of machine learning which uses logic
programming as a uniform representation for examples,
background knowledge and hypotheses (Wikipedia)
● Menggunakan pemrograman logika sebagai representasi
seragam untuk
– Contoh
– Pengetahuan latar belakang
– Dugaan
Pemrograman Logika
● Paradigma pemrograman berdasarkan logika formal, terdiri dari
kalimat-kalimat berbentuk logika yang mengekspresikan fakta dan
aturan (Wikipedia)
●
Contoh
program logika:
●
Dari program tersebut,
kita dapat menanyakan
tentang eyang:
ortu_dari(candra,gilang).
ortu_dari(gilang,wati).
ortu_dari(bobi,haris).
ortu_dari(haris,eli).
eyang_dari(X,Y) :- ortu_dari(X,Z),
ortu_dari(Z,Y).
Query: eyang_dari(X,Y)?
Answers:
eyang_dari(candra,wati).
eyang_dari(bobi,eli).
Contoh
candra
gilang
wati
bobi
haris
eli
eyang_dari
ortu_dari
eyang_dari(X,Y) :- ???
Bentuk-bentuk Penalaran
● Deduksi: Dari sebab ke efek (Prediksi)
– fakta a, aturan a => b
DUGA b ( Logika order-pertama )
● Abduksi: Dari efek ke kemungkinan penyebab (Penjelasan)
– aturan a => b, diketahui b
PENJELASAN a
● Induksi: Dari pengamatan terkorelasi ke aturan (Belajar)
– amati korelasi antara a1, b1, ..., an, bn
BELAJAR a -> b
Konsep Dasar ILP
● Mempelajari aturan logika secara otomatis dari contoh-contoh dan
pengetahuan latar belakang
● Misalnya: Pelajari aturan eyang_dari(A, B), bila diberikan
pengetahuan latar belakang ortu-ortunya beserta contoh-contoh eyang
● Contoh positif + contoh negatif + pengetahuan latar belakang => dugaan
● Dapat digunakan untuk:
– Klasifikasi
– Prediksi
● Kelebihan ILP: dapat menggunakan lebih dari satu relasi:
istri(X,Y) :- wanita(X), menikah(X,Y).
Contoh
● Pengetahuan
latar belakang B:
● Contoh-contoh
positif E+:
● Buat dugaan H:
eyang_dari(X,Y) :- ortu_dari(X,Z),
ortu_dari(Z,Y).
ortu_dari(candra,gilang).
ortu_dari(gilang,wati).
ortu_dari(bobi,haris).
ortu_dari(haris,eli).
eyang_dari(candra,wati).
eyang_dari(bobi,eli).
Algoritma
● Relative Least General Generalization (rlgg)
Plotkin, Gordon D. (1970). Meltzer, B.; Michie, D., eds. "A Note on Inductive Generalization". Machine Intelligence (Edinburgh
University Press) 5: 153–163.
● Progol
Muggleton, S. (1991). "Inductive logic programming". New Generation Computing 8 (4): 295–318. doi:10.1007/BF03037089.
Learning from positive data, S. Muggleton, "Proceedings of the Sixth International Workshop on Inductive Logic progrramming",
Springer-Verlag, LNAI 1314, 1997.
● FOIL
http://en.wikipedia.org/wiki/First_Order_Inductive_Learner
● Hail
Ray, O., Broda, K., & Russo, A. M. (2003). Hybrid abductive inductive learning. In LNCS: Vol. 2835. Proceedings of the 13th
international conference on inductive logic programming (pp. 311–328). Berlin: Springer.
● Imparo
Kimber, T., Broda, K., & Russo, A. (2009). Induction on failure: learning connected Horn theories. In LNCS: Vol. 5753. Proceedings
of the 10th international conference on logic programing and nonmonotonic reasoning (pp. 169–181). Berlin: Springer.
● Tilde
http://www-ai.ijs.si/~ilpnet/systems/tilde.html
Algoritma: Relative Least General Generalization (rlgg)
1)Merelatifkan tiap literal contoh positif dengan pengetahuan
latar belakang lengkap
2)Ubah dari bentuk Horn menjadi bentuk normal klausa
3)Anti-unifikasi tiap pasangan literal yang cocok
4)Hapus semua literal ternegasi yang mengandung variabel
yang tidak muncul di literal positif
5)Ubah kembali tiap klausa menjadi bentuk Horn
Algoritma FOIL
● Masukan Daftar contoh
● Keluaran Aturan dalam bentuk logika predikat order-pertama
● FOIL (Contoh-contoh)
– Anggap Pos adalah contoh-contoh positif
– Anggap Pred adalah predikat yang hendak dipelajari
– Ulang sampai Pos kosong:
● Anggap Neg adalah contoh-contoh negatif
● Set Body menjadi kosong
● Panggil LearnClauseBody
● Tambahkan Pred ← Body ke dalam aturan
● Hapus dari Pos semua contoh yang sesuai Body
● Prosedur LearnClauseBody
– Ulang sampai Neg kosong:
● Pilih literal L
● Gabungkan L ke Body
● Hapus dari Neg contoh-contoh yang tidak sesuai L
http://en.wikipedia.org/wiki/First_Order_Inductive_Learner
Demo
● Live JavaScript App
http://ceefour.github.io/foiljs/www/
● Video
https://www.youtube.com/watch?v=y6uKDnOVQSc
Contoh Penggunaan / Aplikasi
● Constructing Biological Knowledge Bases by Extracting Information from Text
Sources (M. Craven & J. Kumlien) [Craven99]
● The automatic discovery of structural principles describing protein fold space
(A. Cootes, S.H. Muggleton, and M.J.E. Sternberg) [Cootes03]
● Mining Library Specifications
Mempelajari spesifikasi antarmuka pemrograman aplikasi (API) sebagai relasi dan pola.
Sriram Sankaranarayanan. ICSE 2008.
http://www.cs.colorado.edu/~srirams/papers/icse2008.pdf
● Pola kehamilan yang memburuk berdasarkan mammogram
● Pola virus HIV
● Contoh-contoh lain dari kelompok UT-ML (Ray Mooney)
http://www.cs.utexas.edu/~ml/publication/ilp.html
Tren Mendatang dan Tantangan
●
Mengkombinasikan pemrograman logika dengan probabilistik /
ketidakpastian => Pembelajaran Relasional Statistik (Statistical Relational
Learning)
● Menggunakan pengukuran jarak relasional untuk klasifikasi dan klusterisasi,
sehingga dapat memperhatikan ukuran kemiripan sekaligus struktur logika
Bruynooghe [1998], Kirsten et al. [2001]
● Memadukan representasi logika atau relasional dalam reinforcement learning
=> relational reinforcement learning
[Dzeroski et al., 2001]
Inductive Logic Programming. Luc De Raedt.
Daftar Pustaka
● Inductive Logic Programming. T.K. Prasad.
http://www.knoesis.org/tkprasad/
● Wikipedia
● https://class.coursera.org/machlearning-001/lecture/195
● Inductive Logic Programming. Luc De Raedt.
https://lirias.kuleuven.be/bitstream/123456789/301407/1/il
p

More Related Content

PDF
02.logika
PPT
Algoritma brute force
PDF
Modul 8 kriptologi
PPTX
Sosiologi - Suku Karo
PPTX
Konsep dasar logic programming
PPTX
Matematika himpunan
PPTX
Tabel Kebenaran pernyataan, Tautologi, kontradiksi, dan kontingen
PDF
Algoritma dan Struktur Data - Sequential Search
02.logika
Algoritma brute force
Modul 8 kriptologi
Sosiologi - Suku Karo
Konsep dasar logic programming
Matematika himpunan
Tabel Kebenaran pernyataan, Tautologi, kontradiksi, dan kontingen
Algoritma dan Struktur Data - Sequential Search

What's hot (20)

DOCX
Relasi rekursif
PDF
Bahan ajar pertemuan 1 Class & Object
PPT
Logika Matematika
PPTX
Himpunan (pertemuan 2)
PDF
Materi Data Mining - C4.5
PDF
Kuantor dan Validitas Pembuktian
PPTX
Logika lanjutan
PDF
limas, unsur, rumus latihan soallimas.pdf
PDF
02 - Teknik Dasar AI - Searching.pdf
PDF
Koefisien binomial
DOC
Bab 2 kalimat berkuantor
PDF
Analisis Algoritma - Strategi Algoritma Brute Force
PDF
Kecerdasan Buatan (AI)
PDF
Ringkasan materi matematika
PPT
Class diagram
DOCX
Aplikasi teori bilangan
PPTX
Matematika Diskrit part 1
PDF
Algoritma dan Struktur Data - Merge Sort
DOC
PDF
Anova ( analisis of variance ) pertemuan 11
Relasi rekursif
Bahan ajar pertemuan 1 Class & Object
Logika Matematika
Himpunan (pertemuan 2)
Materi Data Mining - C4.5
Kuantor dan Validitas Pembuktian
Logika lanjutan
limas, unsur, rumus latihan soallimas.pdf
02 - Teknik Dasar AI - Searching.pdf
Koefisien binomial
Bab 2 kalimat berkuantor
Analisis Algoritma - Strategi Algoritma Brute Force
Kecerdasan Buatan (AI)
Ringkasan materi matematika
Class diagram
Aplikasi teori bilangan
Matematika Diskrit part 1
Algoritma dan Struktur Data - Merge Sort
Anova ( analisis of variance ) pertemuan 11
Ad

More from Hendy Irawan (20)

PDF
Apa yang dapat Anda raih dengan Besut Kode Universitas
PDF
Persiapan Google Summer of Code (GSoC)
PDF
Tutorial JSON-LD dan RabbitMQ di Java
PDF
EBA Internship Program 2015-2016
PDF
Big Data innovation in Japan’s energy industry - EBA Fieldwork 2015
PDF
EBA (Evidence-Based Approach) Culture
PDF
Peraturan Walikota (Perwal) PPDB Kota Bandung Tahun 2015
PDF
Sosialisasi Petunjuk Teknis Penerimaan Peserta Didik Baru (PPDB) Kota Bandung...
PPTX
Twitter Author Prediction from Tweets using Bayesian Network
PPTX
Biased Media - Game Theory (EL5000) Course Project
PPTX
3D Reality Tracking in Realtime - Team Hendy-Sigit
PDF
Inductive Logic Programming
PDF
AksiMata Studio Tablet
PDF
AksiMata Studio for Lenovo® AIO
PDF
AksiMata Studio
PDF
Dasar Koperasi Kredit (Credit Union)
PDF
How to Develop a Basic Magento Extension Tutorial
PDF
Search Engine Marketing (SEM)
PDF
How to Create A Magento Adminhtml Controller in Magento Extension
PDF
How to create a magento controller in magento extension
Apa yang dapat Anda raih dengan Besut Kode Universitas
Persiapan Google Summer of Code (GSoC)
Tutorial JSON-LD dan RabbitMQ di Java
EBA Internship Program 2015-2016
Big Data innovation in Japan’s energy industry - EBA Fieldwork 2015
EBA (Evidence-Based Approach) Culture
Peraturan Walikota (Perwal) PPDB Kota Bandung Tahun 2015
Sosialisasi Petunjuk Teknis Penerimaan Peserta Didik Baru (PPDB) Kota Bandung...
Twitter Author Prediction from Tweets using Bayesian Network
Biased Media - Game Theory (EL5000) Course Project
3D Reality Tracking in Realtime - Team Hendy-Sigit
Inductive Logic Programming
AksiMata Studio Tablet
AksiMata Studio for Lenovo® AIO
AksiMata Studio
Dasar Koperasi Kredit (Credit Union)
How to Develop a Basic Magento Extension Tutorial
Search Engine Marketing (SEM)
How to Create A Magento Adminhtml Controller in Magento Extension
How to create a magento controller in magento extension
Ad

Recently uploaded (8)

PPTX
Peranan AI dalam Dunia Pendidikan dan Industri Aplikasinya
PPTX
Materi_Array_Karakter_String untuk kelas XI sma.pptx
PPTX
PEMAHAMAN MAPEL KODING DAN KECERDASAN ARTIFICIAL
DOCX
Keutuhan Aplikasi Konsep dan Praktik dalam Upaya menciptakan aplikasi Anti Vi...
PPTX
Implementasi Microservices pada Manufaktur
PPT
pengantar-sistem-informasi manajemen.ppt
PPTX
PERANCANGAN DAN PENGEMBANGAN VIDEO GAME SEBAGAI MEDIA TERAPI DEPRESI
DOCX
Antivirus Versi.FULL.JALiN.KB.PRO Keutuhan Aplikasi Konsep dan Praktik dalam ...
Peranan AI dalam Dunia Pendidikan dan Industri Aplikasinya
Materi_Array_Karakter_String untuk kelas XI sma.pptx
PEMAHAMAN MAPEL KODING DAN KECERDASAN ARTIFICIAL
Keutuhan Aplikasi Konsep dan Praktik dalam Upaya menciptakan aplikasi Anti Vi...
Implementasi Microservices pada Manufaktur
pengantar-sistem-informasi manajemen.ppt
PERANCANGAN DAN PENGEMBANGAN VIDEO GAME SEBAGAI MEDIA TERAPI DEPRESI
Antivirus Versi.FULL.JALiN.KB.PRO Keutuhan Aplikasi Konsep dan Praktik dalam ...

Pemrograman Logika Induktif (Inductive Logic Programming)

  • 1. Inductive Logic Programming Pemrograman Logika Induktif Hendy Irawan 23214344 TMDG 9 – STEI ITB
  • 2. Latar Belakang dan Pengertian Umum ● a subfield of machine learning which uses logic programming as a uniform representation for examples, background knowledge and hypotheses (Wikipedia) ● Menggunakan pemrograman logika sebagai representasi seragam untuk – Contoh – Pengetahuan latar belakang – Dugaan
  • 3. Pemrograman Logika ● Paradigma pemrograman berdasarkan logika formal, terdiri dari kalimat-kalimat berbentuk logika yang mengekspresikan fakta dan aturan (Wikipedia) ● Contoh program logika: ● Dari program tersebut, kita dapat menanyakan tentang eyang: ortu_dari(candra,gilang). ortu_dari(gilang,wati). ortu_dari(bobi,haris). ortu_dari(haris,eli). eyang_dari(X,Y) :- ortu_dari(X,Z), ortu_dari(Z,Y). Query: eyang_dari(X,Y)? Answers: eyang_dari(candra,wati). eyang_dari(bobi,eli).
  • 5. Bentuk-bentuk Penalaran ● Deduksi: Dari sebab ke efek (Prediksi) – fakta a, aturan a => b DUGA b ( Logika order-pertama ) ● Abduksi: Dari efek ke kemungkinan penyebab (Penjelasan) – aturan a => b, diketahui b PENJELASAN a ● Induksi: Dari pengamatan terkorelasi ke aturan (Belajar) – amati korelasi antara a1, b1, ..., an, bn BELAJAR a -> b
  • 6. Konsep Dasar ILP ● Mempelajari aturan logika secara otomatis dari contoh-contoh dan pengetahuan latar belakang ● Misalnya: Pelajari aturan eyang_dari(A, B), bila diberikan pengetahuan latar belakang ortu-ortunya beserta contoh-contoh eyang ● Contoh positif + contoh negatif + pengetahuan latar belakang => dugaan ● Dapat digunakan untuk: – Klasifikasi – Prediksi ● Kelebihan ILP: dapat menggunakan lebih dari satu relasi: istri(X,Y) :- wanita(X), menikah(X,Y).
  • 7. Contoh ● Pengetahuan latar belakang B: ● Contoh-contoh positif E+: ● Buat dugaan H: eyang_dari(X,Y) :- ortu_dari(X,Z), ortu_dari(Z,Y). ortu_dari(candra,gilang). ortu_dari(gilang,wati). ortu_dari(bobi,haris). ortu_dari(haris,eli). eyang_dari(candra,wati). eyang_dari(bobi,eli).
  • 8. Algoritma ● Relative Least General Generalization (rlgg) Plotkin, Gordon D. (1970). Meltzer, B.; Michie, D., eds. "A Note on Inductive Generalization". Machine Intelligence (Edinburgh University Press) 5: 153–163. ● Progol Muggleton, S. (1991). "Inductive logic programming". New Generation Computing 8 (4): 295–318. doi:10.1007/BF03037089. Learning from positive data, S. Muggleton, "Proceedings of the Sixth International Workshop on Inductive Logic progrramming", Springer-Verlag, LNAI 1314, 1997. ● FOIL http://en.wikipedia.org/wiki/First_Order_Inductive_Learner ● Hail Ray, O., Broda, K., & Russo, A. M. (2003). Hybrid abductive inductive learning. In LNCS: Vol. 2835. Proceedings of the 13th international conference on inductive logic programming (pp. 311–328). Berlin: Springer. ● Imparo Kimber, T., Broda, K., & Russo, A. (2009). Induction on failure: learning connected Horn theories. In LNCS: Vol. 5753. Proceedings of the 10th international conference on logic programing and nonmonotonic reasoning (pp. 169–181). Berlin: Springer. ● Tilde http://www-ai.ijs.si/~ilpnet/systems/tilde.html
  • 9. Algoritma: Relative Least General Generalization (rlgg) 1)Merelatifkan tiap literal contoh positif dengan pengetahuan latar belakang lengkap 2)Ubah dari bentuk Horn menjadi bentuk normal klausa 3)Anti-unifikasi tiap pasangan literal yang cocok 4)Hapus semua literal ternegasi yang mengandung variabel yang tidak muncul di literal positif 5)Ubah kembali tiap klausa menjadi bentuk Horn
  • 10. Algoritma FOIL ● Masukan Daftar contoh ● Keluaran Aturan dalam bentuk logika predikat order-pertama ● FOIL (Contoh-contoh) – Anggap Pos adalah contoh-contoh positif – Anggap Pred adalah predikat yang hendak dipelajari – Ulang sampai Pos kosong: ● Anggap Neg adalah contoh-contoh negatif ● Set Body menjadi kosong ● Panggil LearnClauseBody ● Tambahkan Pred ← Body ke dalam aturan ● Hapus dari Pos semua contoh yang sesuai Body ● Prosedur LearnClauseBody – Ulang sampai Neg kosong: ● Pilih literal L ● Gabungkan L ke Body ● Hapus dari Neg contoh-contoh yang tidak sesuai L http://en.wikipedia.org/wiki/First_Order_Inductive_Learner
  • 11. Demo ● Live JavaScript App http://ceefour.github.io/foiljs/www/ ● Video https://www.youtube.com/watch?v=y6uKDnOVQSc
  • 12. Contoh Penggunaan / Aplikasi ● Constructing Biological Knowledge Bases by Extracting Information from Text Sources (M. Craven & J. Kumlien) [Craven99] ● The automatic discovery of structural principles describing protein fold space (A. Cootes, S.H. Muggleton, and M.J.E. Sternberg) [Cootes03] ● Mining Library Specifications Mempelajari spesifikasi antarmuka pemrograman aplikasi (API) sebagai relasi dan pola. Sriram Sankaranarayanan. ICSE 2008. http://www.cs.colorado.edu/~srirams/papers/icse2008.pdf ● Pola kehamilan yang memburuk berdasarkan mammogram ● Pola virus HIV ● Contoh-contoh lain dari kelompok UT-ML (Ray Mooney) http://www.cs.utexas.edu/~ml/publication/ilp.html
  • 13. Tren Mendatang dan Tantangan ● Mengkombinasikan pemrograman logika dengan probabilistik / ketidakpastian => Pembelajaran Relasional Statistik (Statistical Relational Learning) ● Menggunakan pengukuran jarak relasional untuk klasifikasi dan klusterisasi, sehingga dapat memperhatikan ukuran kemiripan sekaligus struktur logika Bruynooghe [1998], Kirsten et al. [2001] ● Memadukan representasi logika atau relasional dalam reinforcement learning => relational reinforcement learning [Dzeroski et al., 2001] Inductive Logic Programming. Luc De Raedt.
  • 14. Daftar Pustaka ● Inductive Logic Programming. T.K. Prasad. http://www.knoesis.org/tkprasad/ ● Wikipedia ● https://class.coursera.org/machlearning-001/lecture/195 ● Inductive Logic Programming. Luc De Raedt. https://lirias.kuleuven.be/bitstream/123456789/301407/1/il p