1 / 29

Game berbasis Artificial Intelligence

Game berbasis Artificial Intelligence. Pemrograman Game. Eko Prasetyo Teknik Informatika Univ. Pembangunan Nasional Veteran Jawa Timur 2012. Sistem yang menggunakan AI. SOLUSI. MASALAH. Basis Pengetahuan. Inference Engine. Sistem dalam AI.

kamin
Download Presentation

Game berbasis Artificial Intelligence

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Game berbasis Artificial Intelligence Pemrograman Game Eko Prasetyo TeknikInformatika Univ. Pembangunan Nasional Veteran JawaTimur 2012

  2. Sistem yang menggunakan AI SOLUSI MASALAH Basis Pengetahuan Inference Engine Sistemdalam AI • Sistem yang menggunakankecerdasanbuatan, akanmencobauntukmemberikan output berupasolusidarisuatumasalahberdasarkankumpulanpengetahuan yang ada. • Untukmembangunsuatusistem yang mampumenyelesaikanmasalah, perludipertimbangkan 4 hal: • Mendefinisikanmasalahdengantepat. Pendefinisianinimencakupspesifikasi yang tepatmengenaikeadaanawaldansolusi yang diharapkan. • Menganalisismasalahtersebutsertamencaribeberapateknikpenyelesaianmasalah yang sesuai. • Merepresentasikanpengetahuan yang perluuntukmenyelesaikanmasalahtersebut. • Memilihteknikpenyelesaianmasalah yang terbaik.

  3. MendefinisikanMasalahSebagaiSuatuRuangKeadaan Misalkanpermasalahan yang dihadapiadalah “PermainanCatur”, makaharusditentukan: 1. Posisiawalpadapapancatur; • Posisiawalsetiappermainancaturselalusama, yaitusemuabidakdiletakkandiataspapancaturdalam 2 sisi, yaitukubuputihdankubuhitam

  4. MendefinisikanMasalahSebagaiSuatuRuangKeadaan (2) 2. Aturan-aturanuntukmelakukangerakansecara legal; • Aturan-aturaninisangatbergunauntukmenentukangerakansuatubidak, yaitumelangkahdarisatukeadaankekeadaan lain. Misalkanuntukmempermudahmenunjukkanposisibidak, setiapkotakditunjukkandalamhuruf (a, b, c, d, e, f, g) padaarahhorisontal, danangka (1, 2, 3, 4, 5, 6,7 8) padaarahvertikal. Suatuaturanuntukmenggerakkanbidakdariposisi (e,2) ke (e,4), dapatditunjukkandenganaturan: • IF BidakputihpadaKotak(e,2), • And Kotak(e,3) Kosong, • And Kotak(e,4) Kosong • Then Gerakkanbidakdari (e,2) ke (e,4)

  5. MendefinisikanMasalahSebagaiSuatuRuangKeadaan (3) 3. Tujuan (goal); • Tujuan yang ingindicapaiadalahposisipadapapancatur yang menunjukkankemenanganseseorangterhadaplawannya. Kemenanganiniditandaidenganposisi Raja yang sudahtidakdapatbergeraklagi. • ContohdiatasmenunjukkanrepresentasimasalahdalamRuangKeadaan (State Space),yaitusuaturuang yang berisisemuakeadaan yang mungkin. • Kita dapatmemulaibermaincaturdenganmenempatkandiripadakeadaanawal, kemudianbergerakdarisatukeadaankekeadaan yang lain sesuaidenganaturan yang ada, danmengakhiripermainanjikasalahsatutelahmencapaitujuan. • Sehinggasecaraumum, untukmendeskripsikanmasalahdenganbaik, harus: • Mendefinisikansuaturuangkeadaan; • Menetapkansatuataulebihkeadaanawal; • Menetapkansatuataulebihtujuan; • Menetapkankumpulanaturan.

  6. RuangKeadaan • AdabeberapacarauntukmerepresentasikanRuangKeadaan: • Graph Keadaan • PohonPelacakan Graph Keadaan • Graph terdiri-dari node-node yang menunjukkankeadaanyaitukeadaanawaldankeadaanbaru yang akandicapaidenganmenggunakan operator. • Node-node dalam graph keadaansalingdihubungkandenganmenggunakanarc (busur) yang diberipanahuntukmenunjukkanarahdarisuatukeadaankekeadaanberikutnya. • Dalampraktiknya, sangatlahsulituntukmenggambarkan graph keadaan.

  7. 1 3 4 4 6 7 M T 2 8 6 5 3 4 2 A H I D E J F C B G Graph Keadaan • Padagambar, adalintasan 4 dari M ke T, yaitu: • M-A-B-C-E-T • M-A-B-C-E-H-T • M-D-C-E-T • M-D-C-E-H-T • Pada graph ini, adajugalintasan yang tidaksampaiketujuanataumenemuijalanbuntu, yaitu: • M-A-B-C-E-F-G • M-A-B-C-E-I-J • M-D-C-E-F-G • M-D-C-E-I-J • M-D-I-J • Tanpamempertimbangkanarah, akandidapatsiklus: D-C-E-I-D, node-node iniakanselaluberulang (pada graph tanpaarah).

  8. M T T T T Level-0 Level-1 Level-2 Level-3 Buntu Level-4 Tujuan A D B C I E E F H F J H C I J G G J I Level-5 Buntu Buntu Tujuan Tujuan Level-6 Buntu Buntu Tujuan PohonPelacakan • Untukmenghindarikemungkinanadanya proses pelacakansuatu node secaraberulang, makadigunakanstrukturpohon.

  9. PohonPelacakan • Strukturpohondigunakanuntukmenggambarkankeadaansecarahirarkis. • Pohonterdiridaribeberapa node. • Node yang terletakpada level-0 disebutdengannama “akar”. • Node akarmenunjukkankeadaanawal yang biasanyamerupakantopikatauobyek. • Node akariniterletakpada level ke nol. • Node akarmemilikibeberapapercabangan yang terdiri-atasbeberapa node successor yang seringdisebutdengannama “anak” danmerupakan node-node perantara. • Namunjikadilakukanpencarianmundur, makadapatdikatakanbahwa node tersebutmemiliki predecessor. • Node-node yang tidakmemilikianakseringdisebutdengannama node “daun” yang menunjukkanakhirdarisuatupencarian, dapatberupatujuan yang diharapkan (goal) ataujalanbuntu (dead end). • Padagambartersebut, sudahtidakterlihatlagiadanyasiklus, karenasetiap node tidakdiperbolehkanmemilikicabangkembalike node dengan level yang lebihrendah.

  10. Air tak terbatas 4 liter (teko A) 3 liter (teko B) Contoh 1: Masalahteko air • Ada 2 buahtekomasing-masingberkapasitas 4 liter (teko A) dan 3 liter (teko B). • Tidakadatanda yang menunjukkanbatasukuranpadakeduatekotersebut. • Adasebuahpompa air yang akandigunakanuntukmengisikan air padakeduatekotersebut. • Permasalahannya: Bagaimanakahkitadapatmengisikantepat 2 liter air kedalamteko yang berkapasitas 4 liter ?

  11. Tujuan Keadaan Awal (2,0) (0,0) (0,1) (0,2) (0,3) (1,0) (1,1) (1,2) (1,3) (2,1) (2,2) (2,3) (3,0) (3,1) (3,2) (3,3) (4,0) (4,1) (4,2) (4,3) Penyelesaian A. Identifikasiruangkeadaan. • Permasalahaninidapatdirepresentasikandengan 2 bilangan integer, yaitu x dan y: • x = air yang diisikanpadateko 4 liter (teko A); • y = air yang diisikanpadateko 3 liter (teko B); • Ruangkeadaan: (x,y) sedemikianhingga x{0,1,2,3,4} dan y{0,1,2,3}. B. Keadaanawal & tujuan. • Keadaanawal, keduatekodalamkeadaankosong: (0,0); • Tujuan, keadaandimanapadateko 4 liter berisitepat 2 liter air: (2,n) untuksembarang n. C. Keadaanteko air. • Keadaankeduatekodapatdilihatpadagambar.

  12. Penyelesaian (2) D. Aturan-aturan

  13. Penyelesaian (3) E. Representasiruangkeadaandenganpohonpelacakan. • Pencariansuatusolusidapatdilukiskandenganmenggunakanpohon. • Tiap-tiap node menunjukkansatukeadaan. • Jalurdari parent ke child menunjukkansatuoperasi. • Tiap-tiap node padapohonpelacakaninimemiliki node-node child yang menunjukkankeadaan yang dapatdicapaioleh parent.

  14. Graph keadaansolusi Contohsolusipadamasalahteko air

  15. Latihan • Bagaimanajikaadateko A berkapasitas 4 liter danteko B berkapasitas 5 liter. Bagaimanacaramengisi 2 liter kesalahsatuteko ? • Bagaimanajikaadateko A berkapasitas 5 liter danteko B berkapasitas 7 liter. Bagaimanacaramengisi 6 liter keteko B? • Bagaimanajikaadateko A berkapasitas 5 liter danteko B berkapasitas 7 liter. Bagaimanacaramengisi 1 liter kesalahsatuteko ?

  16. Contoh 2: Petanidan 3 bawaannya • Seorangpetaniakanmenyeberangbersama 3 bawaannya, yaitu: seekorkambing, seekorserigala, dansayur-sayurandengansebuahperahumelaluisungai. • Perahuhanyabisamemuatpetanidansatupenumpang yang lain (kambing, serigalaatausayur-sayuran). • Jikaditinggalkanolehpetanitersebut, makasayur-sayuranakandimakanolehkambing, dankambingakandimakanolehserigala. • Permasalahan: Bagaimanacarapetanibersama 3 bawaannyasampaidiseberang ?

  17. Petanidan 3 bawaannya

  18. Penyelesaian A. Identifikasiruangkeadaan. • Permasalahaninidapatdilambangkandengan (Petani, Sayur, Kambing, Srigala.) • Nilai 0 berartididaerahasal, nilai 1 didaerahseberang. B. Keadaanawal & tujuan. • Keadaanawal: • Posisi: (0, 0, 0, 0) • Tujuan: • Posisi: (1,1,1,1)

  19. Penyelesaian (2) C. KeadaanPetanidan 3 bawaannya D. Aturan-aturan Keadaanawal Tujuan

  20. Penyelesaian (3) E. Representasiruangkeadaandenganpohonpelacakan

  21. Graph keadaansolusi optimal Contohsolusi

  22. Latihan: Keluargamenyeberangdenganperahu • Adasatukeluarga yang akanmenyeberangsungaimenggunakanperahu. • Keluargatersebutterdiridari: Ayah, Ibu, dan 2 anak. • Masalahnyakapasitasperahuhanyamampumemuat paling banyak 1 orangdewasaatau 2 anak, jikamelebihikapasitasmaksimalmakaperahuakantenggelam. • Permasalahan: Bagaimanacarasatukeluargatersebutmenyeberansungai ?

  23. Latihan: Missionarisdan Monster • Ada 6 penumpang, terdiridari 3 missionarisdan 3 monster yang bersama-samaakanmenyeberangsungaimenggunakansebuahperahu. • Perahuhanyamampumengangkutmaksimal 2 penumpang. • Jikadisalahsatutepijumlahmissionariskalahbanyakdengan monster makamissionarisakandimakanoleh monster tersebut. • Permasalahan: Bagaimanacaramenyeberangkan 6 penumpangtersebut ?

  24. Missionarisdan Monster

  25. Latihan: Keluargamenyeberangsungaidenganlampu • Adasebuahkeluargaterdiridarikeponakan, anak, ibu, ayah, kakek. • Merekaakanmenyeberangisungaidengansebuahjembatankayu. Jembatankayutersebuthanyadapatmemuat paling banyak 2 orang. • Suasanasaatitugelapgulitasehinggauntukmenyeberangdibantudenganlampupeneranganberupalamputeplok (oplek). Masalahnya, minyaktanahdalamlamputeploktersebuthanyadapatbertahanuntukmenerangiselama30 menit, terhitungawalsesipenyeberangan. Jikaminyaktersebutsudahhabismakalampuakanmatidanpenyeberangantidakdapatdilanjutkan. • Karenafaktorusiadankebiasaanmenyeberangsungai, setiapanggotakeluargamempunyaikeberanian yang berbedadalammenyeberangisungai. • Keponakandapatmenyeberangdalamwaktu 1 menit. • Anakdapatmenyeberangdalamwaktu 3 menit. • Ibudapatmenyeberangdalamwaktu 6 menit. • Ayah dapatmenyeberangdalamwaktu 8 menit. • Kakekdapatmenyeberangdalamwaktu 12 menit. • Aturannya, jikaduaorangbersama-samamenyeberangmakadurasipenyeberanganakanmengikutiorangdengandurasimenyeberanglebih lama. • Bagaimanacaratersebutmembagitugasuntukbisamenyeberangkansemuaanggotakeluargadenganpersediaanminyakdalamlamputeplok yang terbatastersebut ?

  26. Keluargamenyeberangsungaidenganlampu

  27. Latihan: Pangeranberkuda • Adaseorangpengeran yang menunggangikudaakanmelompatdarisatumenarakemenara yang lain. • Diantara 2 menaraituadasejumlah spot yang tertatasedemikianrupasehinggapangerandapatmenggunakannyasebagaibatuloncatankemenarakedua, tetapidengansyarat: • Diaharusmelompatisemua spot. • Mulaidarisebuah spot sembarangdanharuskembalike spot awal yang dipilih. • Setiap spot (selain spot awal yang dipilih) hanyabolehdilewatitepatsatu kali. • Karenamenunggangikuda, makapelompatannyaharusmenggunakanlompatankuda (sepertipermainancatur). • Permasalahan: Bagaimanaurutanpelompatanpangerandankudanyapada spot tersebut ?

  28. Pangeranberkuda

  29. Tugas 3 Saatnyaandamembuat game

More Related