Pages

Selasa, 16 Desember 2014

Kecerdasan Buatan

1)   Pengertian Kecerdasan Buatan
Kecerdasan Buatan adalah salah satu cabang Ilmu pengetahuan berhubungan dengan pemanfaatan mesin untuk memecahkan persoalan yang rumit dengan cara yang lebih manusiawi. Hal Ini biasanya dilakukan dengan mengikuti/mencontoh karakteristik dan analogi berpikir dari kecerdasan/Inteligensia manusia, dan menerapkannya sebagai algoritma yang dikenal oleh komputer. Dengan suatu pendekatan yang kurang lebih fleksibel dan efisien dapat diambil tergantung dari keperluan, yang mempengaruhi bagaimana wujud dari perilaku kecerdasan buatan. AI (Artificial Intelligence) biasanya dihubungkan dengan Ilmu Komputer, akan tetapi juga terkait erat dengan bidang lain seperti Matematika, Psikologi, Pengamatan, Biologi, Filosofi, dan yang lainnya. Kemampuan untuk mengkombinasikan pengetahuan dari semua  bidang ini pada akhirnya akan bermanfaat bagi kemajuan dalam upaya menciptakan suatu kecerdasan buatan.
Pengertian lain dari kecerdasan buatan adalah bagian ilmu komputer yang membuat agar mesin komputer dapat melakukan pekerjaan seperti dan sebaik yang dilakukan manusia. Pada awal diciptakannya, komputer hanya difungsikan sebagai alat hitung saja. Namun seiring dengan perkembangan jaman, maka peran komputer semakin mendominasi kehidupan manusia. Komputer tidak lagi hanya digunakan sebagai alat hitung, lebih dari itu, komputer diharapkan untuk dapat diberdayakan untuk mengerjakan segala sesuatu yang bisa dikerjakan oleh manusia.
Manusia bisa menjadi pandai dalam menyelesaikan segala permasalahan di dunia ini karena manusia mempunyai pengetahuan dan pengalaman Pengetahuan diperoleh dari belajar. Semakin banyak bekal pengetahuan yang dimiliki oleh seseorang tentu saja diharapkan akan lebih mampu dalam menyelesaikan permasalahan. Namu bekal pengetahuan saja tidak cukup, manusia juga diberi akal untuk melakukan penalaran, mengambil kesimpulan berdasarkan pengetahuan dan pengalaman yang mereka miliki. Tanpa memiliki kemampuan untuk menalar dengan baik, manusia dengan segudang pengalaman dan pengetahuan tidak akan dapat menyelesaikan masalah dengan baik. Demikian pula dengan kemampuan menalar yang sangat baik, namun tanpa bekal pengetahuan dan pengalaman yang memadai, manusia juga tidak akan bisa menyelesaikan masalah dengan baik.
Agar komputer bisa bertindak seperti dan sebaik manusia, maka komputer juga harus diberi bekal pengetahuan dan mempunyai kemampuan untuk menalar. Untuk itu AI akan mencoba untuk memberikan beberapa metoda untuk membekali komputer dengan kedua komponen tersebut agar komputer bisa menjadi mesin pintar.





2) Perbedaan Kecerdasan Alami Dengan Kecerdasan Buatan
BEDA KECERDASAN BUATAN & KECERDASAN ALAMI
Kelebihan kecerdasan buatan :
1.       Lebih bersifat permanen. Kecerdasan alami bisa berubah karena sifat manusia pelupa. Kecerdasan buatan tidak berubah selama sistem komputer & program tidak mengubahnya.
2.       Lebih mudah diduplikasi & disebarkan. Mentransfer pengetahuan manusia dari 1 orang ke orang lain membutuhkan proses yang sangat lama & keahlian tidak akan pernah dapat diduplikasi dengan lengkap.Jadi jika pengetahuan terletak pada suatu sistem komputer, pengetahuan tersebut dapat disalin dari komputer tersebut & dapat dipindahkan dengan mudah ke komputer yang lain.
3.       Lebih murah. Menyediakan layanan komputer akan lebih mudah & murah dibandingkan mendatangkan seseorang untuk mengerjakan sejumlah pekerjaan dalam jangka waktu yang sangat lama.
4.       Bersifat konsisten dan teliti karena kecerdasan buatan adalah bagian dari teknologi komputer sedangkan kecerdasan alami senantiasa berubah-ubah
5.       Dapat didokumentasi.Keputusan yang dibuat komputer dapat didokumentasi dengan mudah dengan cara melacak setiap aktivitas dari sistem tersebut. Kecerdasan alami sangat sulit untuk direproduksi.
6.       Dapat mengerjakan beberapa task lebih cepat dan lebih baik dibanding manusia
Kelebihan kecerdasan alami :
1.       Kreatif : manusia memiliki kemampuan untuk menambah pengetahuan, sedangkan pada kecerdasan buatan untuk menambah pengetahuan harus dilakukan melalui sistem yang dibangun.
2.       Memungkinkan orang untuk menggunakan pengalaman atau pembelajaran secara langsung. Sedangkan pada kecerdasan buatan harus mendapat masukan berupa input-input simbolik.
3.       Pemikiran manusia dapat digunakan secara luas, sedangkan kecerdasan buatan sangat terbatas.






3) Perbedaan komputasi konvensional dan komputasi kecerdasan alamiah
Proses Komputasi Kecerdasan Buatan :
       Perangkat lunak Kecerdasan Buatan didasarkan kepada representasi dan manipulasi simbol (symbol).
       Sebuah simbol bisa merupakan huruf, kata atau bilangan yang digunakan untuk menggambarkan obyek, proses dan saling hubungannya.
       Obyek bisa berupa orang, benda, ide, pikiran, peristiwa atau pernyataan suatu fakta.
       Dengan menggunakan simbol memungkinkan komputer bisa menciptakan suatu basis data yang menyatakan fakta, pikiran dan hubungannya satu sama lain.
       Berbagai proses digunakan untuk memanipulasi simbol agar mampu memecahkan masalah. Pengolahannya bersifat kuantitatif, dan bukan kualitatif seperti halnya komputasi yang didasarkan kepada algoritma.
       Apabila basis pengetahuan, fakta dan hubungannya sudah dibuat, maka penggunaannya untuk memecahkan masalah harus sudah dimulai.
       Teknik dasar untuk melakukan penalaran dan menarik kesimpulan dari pengalaman melalui basis pengetahuan adalah pelacakan (searching) dan pencocokan pola (pattern matching).
       Secara harfiah komputer terus memburu dan dan mencari pengetahuan yang ada sampai ia menemukan jawaban yang terbaik atau jawaban yang paling cocok.
Kecerdasan buatan
Program konvensional
Fokus pemrosesan
Konsep simbolik / numerik (pengetahuan)
Data & informasi
Pencarian
Heuristik
Algoritma
Sifat input
Bisa tidak lengkap
Harus lengkap
Keterangan
Disediakan
Biasanya tidak disediakan
Struktur
Kontrol dipisahkan dari pengetahuan
Kontrol terintegrasi dengan informasi (data)
Sifat output
Kuantitatif
Kualitatif
Kemampuan menalar
Ya
Tidak

KOMPUTASI KONVENSIONAL
KECERDASAN BUATAN
Menggunakan fungsi otak manusia.
Meniru beberapa fungsi otak manusia.
Komputer diperintahkan untuk  menyelesaikan suatu masalah.
Komputer diberitahu tentang suatu masalah.
Hanya dapat ditulis dalam bahasa pemrograman biasa seperti C/C++, Basic.
Programnya dapat ditulis dalam semua bahasa pemrograman.

4) Area Kecerdasan Buatan
1.       Sudut pandang Kecerdasan: mesin menjadi ‘cerdas’(mampu berbuat apa yang dilakukan oleh manusia)
2.       Sudut  pandang Penelitian: studi bagaimana membuat agar komputer dapat melakukan sesuatu sebaik yang dilakukan oleh manusia.
Domain penelitian:
Mundane task
·         Persepsi(vision& speech)
·         Bahasa alami (understanding, generation & translation)
·         Pemikiranyang bersifatcommonsense
·         Robot control
Formal task
·         Permainan/games
·         Matematika (geometri, logika, kalkulus, integral, pembuktian)
Expert task
·         Analisisfinansial
·         Analisismedikal
·         Analisisilmupengetahuan
·         Rekayasa(desain, pencarian, kegagalan, perencanaan, manufaktur)

3.       Sudut pandang Bisnis: kumpulan peralatan yang  sangat powerful dan metodologis dalam menyelesaika nmasalah-masalah bisnis
4.       Sudut pandang Pemrograman: studi tentang pemrograman simbolik, penyelesaian masalah (problem solving) dan pencarian (searching).
Supaya komputer dapat bertindak seperti atau serupa dengan manusia, maka komputer harus diberi bekal pengetahuan, dan mempunyai kemampuan untuk menalar.  Penerapan bidang AI beraneka ragam. Tujuan dari sistem kecerdasan buatan dapat dibagi dalam 4 kategori
·         Sistem yang dapat berfikir seperti manusia (Bellman, 1978)
·         Sistem yang dapat berfikir secara rasional ( Winston, 1992)
·         Sistem yang dapat beraksi seperti manusia (Rich and Knight, 1991)
·         Sistem yang dapat beraksi secara rasional (Nilsson, 1998)


5) Bidang Ilmu Kecerdasan Buatan Dan Aplikasinya
v Natural Language Processing (NLP)
NLP mempelajari bagaimana bahasa alami itu diolah sedemikian hingga user dapat berkomunikasi dengan komputer. Konsentrasi ilmu ini adalah interaksi antara komputer dengan bahasa natural yang digunakan manusia, yakni bagaimana komputer melakukan ekstraksi informasi dari input yang berupa natural language dan atau menghasilkan output yang juga berupa natural language,
Pada system Automated online assistant .
·         Dimana user dapat berkomunikasi dengan komputer menggunakan bahasa sehari-hari, misal bahasa Inggris, bahasa Indonesia, bahasa Jawa, dan lain-lain,
·         Pengguna sistem dapat memberikan perintah dengan bahasa sehari-hari, misalnya, untuk menghapus semua file, pengguna cukup memberikan perintah ”komputer, tolong hapus semua file !” maka sistem akan mentranslasikan perintah bahasa alami tersebut menjadi perintah bahasa formal yang dipahami oleh komputer, yaitu ”delete *.* <ENTER>”.
·         Translator bahasa Inggris ke bahasa Indonesia begitu juga sebaliknya dan lain-lain, tetapi sistem ini tidak hanya sekedar kamus yang menerjemahkan kata per kata, tetapi juga mentranslasikan sintaks dari bahasa asal ke bahasa tujuan
·         Text summarization : Suatu sistem yang dapat membuat ringkasan hal-hal penting dari suatu wacana yang diberikan.





v Computer Vision
Menginterpretasikan gambar atau objek-objek tampak melalui komputer. Cabang ilmu ini erat kaitannya dengan pembangunan arti/makna dari image ke obyek secara fisik. Yang dibutuhkan didalamnya adalah metode-metode untuk memperoleh, melakukan proses, menganalisa dan memahami image. Apabila cabang ilmu ini dikombinasikan dengan Artificial Intelligence secara umum akan mampu menghasilkan sebuah visual intelligence system.
Contoh penerapan computer vision untuk identifikasi wajah

v Robotika dan Sistem Navigasi
Bidang ilmu inilah yang mempelajari bagaimana merancang robot yang berguna bagi industry dan mampu membantu manusia, bahkan yang nantinya bisa menggantikan fungsi manusia. Robot mampu melakukan beberapa task dengan berinteraksi dengan lingkungan sekitar. Untuk melakukan hal tersebut, robot diperlengkapi dengan actuator  seperti lengan, roda, kaki, dll. Kemudian, robot juga diperlengkapi dengan sensor, yang memampukan mereka untuk menerima dan bereaksi terhadap environment mereka
Ada beberapa istilah penting di dalam robot vision yang saling berhubungan, diantaranya computer vision, machine vision dan robot vision.  Computer vision merupakan teknologi paling penting di masa yang akan datang dalam pengembangan robot yang interaktif.  Computer Vision merupakan bidang pengetahuan yang berfokus pada bidang sistem kecerdasan buatan  dan berhubungan dengan akuisisi  dan pemrosesan image. Machine vision merupakan proses menerpakan teknologi untuk inspeksi automatis berbasis image, kontrol proses dan pemanduan robot pada berbagai aplikasi industri dan rumah tangga.  Robot vision merupakan pengetahuan mengenai penerapan computer  vision pada robot.  Robot   membutuhkan informasi vision untuk memutuskan aksi apa yang akan dilakukan.  Penerapan saat ini vision pada robot antara lain sebagai alat bantu navigasi robot, mencari obyek yang diinginkan, inspeksi lingkungan dan lainnya.  Vision pada robot menjadi sangat penting karena informasi yang diterima lebih detail dibanding hanya sensor jarak atau sensor lainnya.  Misalnya dengan vision, robot dapat mengenal apakah obyek yang terdeteksi merupakan wajah orang atau bukan.  Lebih jauh lagi, sistem vision yang canggih pada robot membuat robot dapat membedakan wajah A dengan wajah B secara akurat (Face recognition system menggunakan metode PCA, LDA dan lainnya) [6].  Proses pengolahan dari input image dari kamera hingga memiliki arti bagi robot  dikenal sebagai visual perception, dimulai dari akuisisi image, image preprocessing untuk memperoleh image yang diinginkan dan bebas noise misalnya, ekstrasi fitur hingga interpretasi seperti ditunjukkan pada gambar 1.8. Misalnya saja untuk identifikasi pelanggan dan penghindaran multiple moving obstacles berbasis vision, atau untuk menggerakan servo sebagai aktuator untuk mengarahkan kamera agar tetap mengarah ke wajah seseorang (face tracking).

v Game Playing
Game biasanya memiliki karakter yang dikontrol oleh user, dan karakter lawan yang dikontrol oleh game itu sendiri. Dimana kita harus merancang aturan-aturan yang nantinya akan dikerjakan oleh karakter lawan. Game akan menjadi menarik apabila karakter lawan (non-player) bereaksi dengan baik terhadap apa yang dilakukan oleh player. Hal ini akan memancing penasaran user dan membuat game menarik untuk dimainkan. Tujuan intinya adalah membuat non-player memiliki strategi yang cerdas untuk mengalahkan player. Pada bidang ini,  AI dibutuhkan, yaitu untuk merancang dan menghasilkan game yang fun serta antarmuka antara man-machine yang cerdas dan menarik untuk dimainkan
Games tingkat lanjut yang menerapkan AI

v Sistem Pakar
Bidang ilmu ini mempelajari bagaimana membangun sistem atau komputer yang memiliki keahlian untuk memecahkan masalah dan menggunakan penalaran dengan meniru atau mengadopsi keahlian yang dimiliki oleh pakar. Dengan sistem ini, permasalahan yang seharusnya hanya bisa diselesaikan oleh para pakar/ahli, dapat diselesaikan oleh orang biasa/awam. Sedangkan, untuk para ahli, sistem pakar juga akan membantu aktivitas mereka sebagai asisten yang seolah-olah sudah mempunyai banyak pengalaman.
Expert System atau sistem pakar merupakan system komputer yang meniru kemapuan pengambilan keputusan dari manusia yang ahli akan bidangnya. Expert System dirancang untuk menyelesaikan permasalahan yang komplek, seperti halnya sebuah ahli. Sistem pakar diartikan sebagai suatu program komputer yang memperlihatkan derajat keahlian dalam pemecahan masalah di bidang tertentu sebanding dengan seorang pakar (Ignizio, 1991). Keahlian sistem pakar dalam memecahkan suatu masalah diperoleh dengan cara merepresentasikan pengetahuan seorang atau beberapa orang pakar dalam format tertentu dan menyimpannya dalam basis pengetahuan. Sistem pakar berbasis kaidah (rule-based expert system) adalah sistem pakar yang menggunakan kaidah (rules) untuk merepresentasikan pengetahuan di dalam basis pengetahuannya.

Model Sistem Pakar
v Intelligent computer-aided instruction
 Komputer dapat digunakan sebagai tutor yang dapat melatih dan mengajar. Dengan menambahkan aspek kecerdasan di dalamnya, dapat tercipta komputer “guru” yang dapat mengatur teknik pengajarannya untuk menyesuaikan dengan kebutuhan “murid” secara individiual. Sistem ini juga mendukung pembelajaran bagi orang yang mempunyai kekurangan fisik atau kelemahan belajar.
Contoh : Learn to speak English.
v Pemahaman Ucapan/Suara (Speech/Voice Understanding)
Speech/Voice Understanding adalah teknik agar komputer dapat mengenali dan memahami bahasa ucapan. Proses ini mengijinkan seseorang berkomunikasi dengan komputer dengan cara berbicara kepadanya. Istilah “pengenalan suara” mengandung arti bahwa tujuan utamanya adalah mengenai kata yang diucapkan tanpa harus tahu artinya, di mana bagian itu merupakan tugas “pemahaman suara”. Secara umum prosesnya adalah usaha untuk menerjemahkan apa yang diucapkan seorang manusia menjadi kata-kata atau kalimat yang dapat dimengerti oleh komputer.

6) Pencarian tersusun atau Pencarian heuristik
                Pencarian tersusun atau pencarian heuristik merupakan suatu teknik yang digunakan untuk meningkatkan efisiensi dalam proses pencarian. Metode heuristik menggunakan suatu fungsi yang menghitung biaya perkiraan dari suatu simpul tertentu menuju ke simpul tujuan. Dalam pencarian state space, heuristik adalah aturan untuk memilih cabang-cabang yang paling mungkin menyebabkan penyelesaian permasalahan dapat diterima. Aplikasi yang menggunakan fungsi heuristic : Google, Deep Blue Chess Machine.

Metode pencarian Heuristik
v  Generate and test
Ini adalah gabungan dari pencarian depth first dengan pelacakan mundur. Nilai dari pengujian ini berupa "ya" atau "tidak". Pencarian ini memiliki beberapa algoritma, yaitu :
  1. Bangkitkan suatu kemungkinan solusi (membangkitkan suatu titik tertentu atau lintasan tertendu dari keadaan awal).
  2. Uji untuk melihat apakah node tersebut benar-benar merupakan solusinya dengancara membandingkan node tersebut atau node akhir dari suatu lintasan yang dipilih merupakan tujuan yang diharapkan.
Algoritma:
– Bangkitkan suatu kemungkinan solusi (membangkitkan suatu titik tertentu atau lintasan tertentu dari keadaan awal).
– Uji untuk melihat apakah node tersebut benar-benar merupakan solusinya dengan cara membandingkan node tersebut atau node akhir dari suatu lintasan yang dipilih dengan kumpulan tujuan yang diharapkan.
– Jika solusi ditemukan, keluar. Jika tidak, ulangi kembali langkah yang pertama.
Contoh : Traveling Salesman Problem (TSP)
Seorang salesman ingin mengunjungi n kota. Jarak antara tiap-tiap kota sudah diketahui. Ingin diketahui rute terpendek dimana setiap kota hanya boleh dikunjungi tepat 1 kali.
Contoh : Traveling Salesman Problem (TSP)
• Generate & test akan membangkitkan semua solusi yang mungkin:
– A – B – C – D
– A – B – D – C
– A – C – B – D
– A – C – D – B
Kelemahan dari generate and test adalah perlunya membangkitkan semua kemungkinan sebelum dilakukan pengujian, serta membutuhkan waktu yang cukup lama dalam pencarian.
Kelemahan dari Pembangkit & Pengujian (Generate and Test) yaitu ;
v Pendakian Bukit (Hill Climbing)
• Metode ini hampir sama dengan metode pembangkitan & pengujian, hanya saja proses pengujian dilakukan dengan menggunakan fungsi heuristik.
• Pembangkitan keadaan berikutnya sangat tergantung pada feedback dari prosedur pengetesan.
• Tes yang berupa fungsi heuristic ini akan menunjukkan seberapa baiknya nilai terkaan yang diambil terhadap keadaan-keadaan lainnya yang mungkin.
v  Simple Hill climbing
 Metode ini hampir sama dengan generate and test, perbedaannya ada pada feedback dari prosedur test untuk pembangkitan keadaan berikutnya. Tes yang dilakukan berupa fungsi heuristik akan menunjukkan seberapa baik nilai terkaan yang diambil terhadap keadaan lain yang memungkinkan. Algoritma dari pencarian ini adalah :
  1. Mulai dari keadaan awal, jika merupakan tujuan, maka berhenti; tapi jika tidak, lanjutkan dengan keadaan sekarang sebagai keadaan awal.
  2. Kerjakan langkah-langkah berikut hingga solusinya ditemukan, atau hingga tidak ada lagi operator baru yang diaplikasikan pada keadaan sekarang :
    • Cari operator yang belum pernah digunakan sebagai operator untuk keadaan baru
    • evaluasi keadaan baru tersebut
·         jika keadaan baru adalah tujuan, keluar.
·         jika bukan tujuan namun nilai lebih baik, keadaan baru akan digunakan sebagai keadaan sekarang.
·         jika  keadaan baru tidak lebih baik, maka lanjutkan interasi.
 Kelemahan pada sistem ini adalah algoritma akan berhenti ketika mencapai optimum local, urutan penggunaan operator akan sangat berpengaruh, dan tidak diijinkan untuk melihat langkah sebelumnya.

Contoh TSP
• Operator : Tukar kota ke-i dengan kota ke-j (Tk i,j)
• Untuk 4 kota:
– Tk 1,2 : tukar kota ke-1 dengan kota ke-2.
– Tk 1,3 : tukar kota ke-1 dengan kota ke-3.
– Tk 1,4 : tukar kota ke-1 dengan kota ke-4.
– Tk 2,3 : tukar kota ke-2 dengan kota ke-3.
– Tk 2,4 : tukar kota ke-2 dengan kota ke-4.
– Tk 3,4 : tukar kota ke-3 dengan kota ke-4.
Untuk N kota, akan ada operator sebanyak:

v Steepest Ascent Hill Climbing
• Steepest-ascent hill climbing sebenarnya hampir sama dengan simple hill climbing, hanya saja gerakan pencarian tidak dimulai dari posisi paling kiri.
• Gerakan selanjutnya dicari berdasarkan nilai heuristik terbaik.
• Dalam hal ini urutan penggunaan operator tidak menentukan penemuan solusi.
• Steepest-ascent hill climbing sebenarnya hampir sama dengan simple hill climbing, hanya saja gerakan pencarian tidak dimulai dari posisi paling kiri.
• Gerakan selanjutnya dicari berdasarkan nilai heuristik terbaik.
• Dalam hal ini urutan penggunaan operator tidak menentukan penemuan solusi.
Algoritma
• Mulai dari keadaan awal, lakukan pengujian: jika merupakan tujuan, maka berhenti; dan jika tidak, lanjutkan dengan keadaan sekarang sebagai keadaan awal.
• Kerjakan hingga tujuan tercapai atau hingga iterasi tidak memberikan perubahan pada keadaan sekarang.
• Tentukan SUCC sebagai nilai heuristic terbaik dari successorsuccessor.
• Kerjakan untuk tiap operator yang digunakan oleh keadaan sekarang:
• Gunakan operator tersebut dan bentuk keadaan baru.
• Evaluasi keadaan baru tersebut. Jika merupakan tujuan, keluar. Jika bukan, bandingkan nilai heuristiknya dengan SUCC. Jika lebih baik, jadikan nilai heuristic keadaan baru tersebut sebagai SUCC. Namun jika tidak lebih baik, nilai SUCC tidak berubah.
• Jika SUCC lebih baik daripada nilai heuristic keadaan sekarang, ubah node SUCC menjadi keadaan sekarang.
v Best first search
 Algoritma best first search ini merupakan kombinasi dari algoritma depth first search  dengan algoritma breadth first search  dengan mengambil kelebihan dari kedua  algoritma tersebut. Apabila pada pencarian dengan algoritma  hill climbing tidak  diperbolehkan untuk kembali ke node pada level yang lebih rendah meskipun node di  level yang lebih rendah tersebut memiliki nilai heuristik yang lebih baik, lain halnya pada algoritma best first search, pencarian diperbolehkan mengunjungi node yang ada di level yang lebih rendah, jika ternyata node di level yang lebih tinggi memiliki nilai heuristik yang lebih buruk
Algoritma best first search merupakan salah satu bagian dari tipe informed search. Algoritma ini menggunakan nilai-nilai heuristik tiap simpul yang dibuka. Simpul dengan nilai heuristik terbaik akan dibuka lebih dahulu. Bila goal state belum ditemukan, akan dilakukan pemeriksaan pada simpul berikutnya dengan nilai heuristik terbaik pada kedalaman yang sama. Simpul tersebut kemudian dibuka dan diperiksa apakah terdapat goal state pada cabang-cabangnya. Bila goal state belum ditemukan,  akan dilakukan proses yang sama pada simpul berikutnya.
v  Simulated annealing
Simulated Annealing adalah optimasi dari algoritma Stochastic dan Metaheuristic. Dan simulated annealing adalah adaptasi dari algoritma Metropolis-Hasting Montecarlo dan digunakan dalam fungsi pengoptimalan. Sebagaimana algoritma Genetik, Simulated Annealing juga menjadi basis untuk pengembangan dari algoritma yang lebih khusus seperti Parallel Simulated Annealing, Fast Simulated Annealing dan Adaptive Simulated Annealing.
Simulated Annealing terinspirasi oleh proses peleburan logam dalam metalurgi. Dalam proses alami ini material logam dipanaskan pada suhu tinggi hingga mencair dan kemudian didinginkan secara perlahan dalam kondisi terkontrol untuk memperbesar ukuran kristal logam dan mengurangi cacat pada kristal logam tersebut. Hasil dari proses ini adalah meningkatnya kekuatan dan ketahanan dari material logam tersebut. Suhu panas meningkatkan energi atom menjadikannya bergerak bebas dan pendinginan perlahan yang terkontrol memungkinkan konfigurasi energi yang kecil yang didapat.

Tujuan teknik pemrosesan informasi ini adalah untuk menghasilkan konfigurasi harga minimum dalam pencarian. Rancangan aksi algoritma ini adalah untuk secara probabilistik membuat sampling dari permasalahan, dimana penerimaan sampel baru ke sampel yang sedang dikerjakan diatur oleh fungsi probabilistik harga sampel yang lebih cerdas, fungsi ini menerima eksekusi berulangkali dalam algoritma ini. Keputusan probabilistik ini berdasar pada metropolis-hasting untuk menyimulasikan sampel-sampel dalam sistem thermodinamika.

Tidak ada komentar:

Posting Komentar