Powered By Blogger

Jumat, 24 November 2017

Algoritma AI (ARTIFICIAL INTELEGENCE)

Kecerdasan Buatan (Artificial Intelligence) merupakan cabang terpenting dalam dunia computer yang membuat agar mesin (computer) dapat melakukan pekerjaan seperti dan sebaik yang dilakukan manusia. Pada awalnya diciptakan computer hanya berfungsi sebagai alat hitung. Tapi sekarang peran computer makin mendominasi kehidupan manusia. Komputer di harapkan data diberdayakan untuk mengerjakan segala sesuatu yang biasa dikerjakan oleh manusia.

Jenis-jenis Kecerdasan Buatan

  • System pakar (expert system) : computer sebagai sarana pengetahuan para pakar dalam pengambilan keputusan dan seolah-olah bertindak sebagai pakar dengan keahlian dan pengetahuannya.
  • Pengolahan bahasa alami (natural language processing) yakni user dapat berkomunikasi dengan computer menggunakan bahasa sehari-hari selayaknya berkomunikasi dengan manusia. Misalnya : bahasa inggris, mandarin, Indonesia, dll.
  • Pengenalan ucapan (speech recognition) manusia dapat berkomunikasi dengan computer menggunakan suara.
  • Robotika dan sistem sensor
  • Computer vision, menginterpresikan gambar dan objek tampak melalui computer
  • Game playing
  • Intelligent computer – aided instruction : computer dapat digunakan sebagai  tutor yang dapat melatih dan mengajar.
  • Soft computing : system cerdas yang memiliki keahlian seperti manusia. Metodologi-metodologi yang digunakan pada soft computing: Logika fuzzy, Jaringan syaraf tiruan, Probabilistic reasoning, Algoritma genetika.

Algoritma Genetika

Algoritma genetika adalah algoritma yang berusaha menerapkan pemahaman mengenai evolusi alamiah pada tugas-tugas pemecahanmasalah (problem solving). Pendekatan yang diambil oleh algoritma ini adalah dengan menggabungkan secara acak berbagai pilihan solusi terbaik di dalam suatu kumpulan (populasi) untuk mendapatkan generasi solusi terbaik berikutnya yaitu pada suatu kondisi yang memaksimalkan kecocokannya atau lazim disebut fitness.

Ide dasar algoritma genetika adalah mengelola suatu populasi individu yang merepresentasikan kandidat solusi sebuah permasalahan. Secara umum algoritma genetika memiliki lima komponen dasar (Michalewicz, 1996) yaitu:
  1. Representasi genetik dari solusi-solusi masalah.
  2. Cara membentuk populasi awal dari solusi-solusi.
  3. Fungsi evaluasi yang me-rate (rating) solusi-solusi berdasarkan fitness mereka.
  4. Operator-operator genetik yang merubah komposisi genetik dari offspring selama reproduksi.
  5. Nilai-nilai untuk parameter algoritma genetika.
Algoritma me-maintain populasi individu-individu untuk setiap generasi. Masing-masing individu menyatakan solusi yang potensial untuk masalah yang dihadapi. Masing-masing individu di-evaluasi untuk memberi ukuran fitness-nya. Nilai fitness adalah nilai yang menunjukkan drajat ketangguhan kromosom dalam beradaptasi terhadap masalah.
Salah satu aplikasi algoritma genetika adalah pada permasalahan optimasi, yaitu mendapatkan suatu nilai solusi optimal terhadap suatu permasalahan yang mempunyai banyak kemungkinan solusi. Daya tarik algoritma genetika terletak pada kesederhanaan dan pada kemampuan untuk mencari solusi yang baik dan cepat untuk masalah yang komplek.

Algoritma Fuzzy

Logika fuzzy merupakan pengembangan dari logika boolean. Sistem fuzzy atau logika fuzzy adalah salah satu bahasa soft computing yang memiliki karakteristik dan keunggulan dalam menangani permasalahan yang bersifat ketidakpastian dan kebenaran parsial. Logika fuzzy merupakan pengembangan dari logika boolean yang hanya memiliki nilai true (1) atau false (0).


Konsep Fuzzy Logic
  • Fuzzy logic umumnya diterapkan pada masalah masalah yang mengandung unsur ketidakpastian  (uncertainty), ketidaktepatan (imprecise), noisy, dan sebagainya.
  • Fuzzy logic menjembatani bahasa mesin yang presisi dengan bahasa manusia yang menekankan pada makna atau arti (significance).
  • Fuzzy logic dikembangkan berdasarkan cara berfikir manusia.

Algoritma Alpha-Beta Pruning

Alpha Beta Pruning adalah cara untuk mengurangi jumlah simpul yang dieksplorasi dalam algoritma MinMax. Dengan alpha-beta, waktu yang diperlukan dalam pencarian akan berkurang dengan cara membatasi waktu yang terbuang percuma pada saat mengevaluasi pohon permainan. Implementasi alpha-beta akan memberikan jalur terbaik dalam setiap kemungkinan permainan dalam pohon permainan yang terbentuk.
Dalam algoritma alpha-beta, urutan jalannya algoritma akan dimulai sama seperti algoritma minmax. Untuk simpul MIN, nilai yang dihitung dimulai dengan +infinity dan akan menurun seiring jalannya permainan. Untuk simpul MAX, nilai akan dihitung mulai dengan –infinity dan akan menaik seiring berjalannya waktu.
Efisiensi prosedur alpha – beta akan sangat tergantung pada urutan simpul berikutnya dari sebuah simpul yang sedang dieksplorasi. Jika beruntung, maka sebuah simpul MIN akan dianggap sebagai simpul dengan urutan nilai dari rendah ke tinggi, dan simpul MAX dari tinggi ke rendah. Secara umum, dapat diperlihatkan bahwa dalam kondisi yang terbaik, alpha-beta akan membuka jumlah terminal nodes yang sama dengan MInMax dalam pohon permainan, dengan dua kali lipat tingkat kedalaman pohon.

Algoritma Minimax

Algoritma Minimax adalah basis dari semua permainan berbasis AI / Kecerdasan buatan seperti permainan catur misalnya. AI / Kecerdasan buatan permainan catur tentunya sudah sangat terkenal dimana AI / Kecerdasan buatan tersebut bahkan  bisa mengalahkan juara dunia sekalipun. Pada algoritma minimax, pengecekan akan seluruh kemungkinan yg ada sampai akhir permainan dilakukan. Pengecekan tersebut akan menghasilkan pohon permainan yg berisi semua kemungkinan tersebut. Tentunya dibutuhkan resource yg berskala besar unt menangani komputasi pencarian pohon solusi tersebut memiliki hubungan kombinasi kemungkinan unt sebuah permainan catur pada setiap geraknya sangat banyak sekali. Keuntungan yg di bisa dng menggunakan algoritma minimax yaitu algoritma minimax mampu menganalisis segala kemungkinan posisi permainan unt menghasilkan keputusan yg terbaik karena algoritma minimax ini bekerja secara rekursif dng mencari langkah yg akan membuat lawan mengalami kerugian minimum. Semua strategi lawan akan dihitung dng algoritma yg sama dan seterusnya. Ini berarti, pada langkah pertama komputer akan menganalisis seluruh pohon permainan.

Minimax merupakan algoritma komputer yang terlihat pada semua hasil yang mungkin dari sebuah situasi dan memutuskan yang merupakan keputusan terbaik untuk mengambil. Hal ini membuatnya sempurna untuk game komputer berbasis giliran. Ia bekerja pada prinsip ‘Memaksimalkan’ kemungkinan diri nya (AI) menang sementara pada ‘Meminimalkan’ waktu yang sama kemungkinan pemain lain menang. Konsep ini sebenarnya sangat mudah dipahami.