Senin, 16 Mei 2016

Analisa 5 Game secara Teknis dan Algoritmana

1. Tetris


Tetris adalah permainan teka-teki yang disusun dan diprogram oleh sepasang programmer berkebangsaan Rusia. Dalam permainan tetris, balok-balok tetris berjatuhan ke area permainan dalam waktu konstan[1]. Saat bermain tetris pemain dapat mengontrol jatuhnya tetris dengan 2 jenis tombol kendali. Tombol yang pertama yaitu tombol arah panah yang biasanya berada disebelah kiri layar, terdiri dari panah kanan-kiri untuk menggerakan balok ke kiri dan kanan, lalu tombol panah ke bawah untuk mempercepat turunnya balok. Selain tombol arah panah ada juga tombol yang dapat memutar 90° searah jarum jam balok tetris, biasanya ada disebelah kanan layar. Tujuan dari permainan ini adalah menyusun balok sedemikian rupa agar membentuk baris penuh pada balok tetris yang sudah tersusun sebelumnya. Setiap baris yang penuh akan terhapus dan digantikan oleh baris berikutnya/ baris atasnya. Jika baris tidak penuh sampai garis batas atas maka permainan berakhir.

Pendekatan Algortima

Permainan tetris ini menggunakan pendekatan algoritma greedy dan brute force. Algoritma Greedy memecahkan masalah langkah per langkah, pertama algoritma ini akan mengambil pilihan yang terbaik yang dapat diperoleh pada saat itu tanpa memperhatikan konsekuensi ke depan (prinsip “take what you can get now!”) lalu berharap bahwa dengan memilih optimum local pada setiap langkah akan berakhir dengan optimum global.
Sedangkan algoritma brute force adalah sebuah pendekatan yang sesuai (straightforward) untuk memecahkan suatu masalah, biasanya didasarkan pada pernyataan masalah (problem statement) dan definisi konsep yang dilibatkan. Algoritma brute force memecahkan masalah dengan sangat sederhana, langsung dan dengan cara yang jelas (obvious way).
Algoritma yang digunakan untuk mendapatkan susunan tumpukan balok yang paling baik dengan menempatkan balok ke tempat yang tepat. Algoritma ini menggunakan prinsip Greedy dalam mencari langkah sollusi yang paling menguntungkan. Prioritas keuntungan yang tersusun terdiri dari:
1. Membentuk satu atau lebih baris paling penuh
2. Membentuk satu atau lebih baris paling mendekati penuh
3. Tidak membentuk ruang kosong pada susunan tumpukan balok
4. Balok dapat masuk ke dalam susunan tumpukan balok paling dalam[1]
Algoritma yang kami jelaskan akan mencari penempatan balok yang turun pada posisi yang paling tepat dan sesuai dengan keuntungan diatas diantara susunan tumpukan balok. Pencarian solusi akan dilakukan dengan pendekatan algoritma Brute force.
Permainan tetris ini menggunakan 7 jenis balok dalam permainan nya, berikut jenis-jenis nya :


Pada game tetris, terdapat blok-blok yang akan kita susun secara horizontal ataupun vertikal blok-blok tersebut dinamakan dengan grid. Jumlah tiap baris grid tergantung pada si pembuat tetris, kalo contoh yang kami gunakan berjumlah 15 grid. Grid tersebut pada pemrograman kita buat dengan menggunakan matriks berdimensi 2.  Contoh :
___________________
o o o o
o o o o
o o o o
__________________                         

Penggunaan Matrks dan Pembuatan Tetris

Sebagai contoh gambar diatas adalah matriks ukuran 4x3 (4 kolom, 3 baris). Begitu pula pada tetris juga memiliki ukuran kolom x baris (m x n). Pada kolom 1 baris 1, memiliki index[0,0]. Pada kolom 1 baris 2, memiliki indexnya[0,1]. Pada kolom 1 baris 3, memiliki index[0,2]. Pada kolom 2 baris 1, itu indexnya[1,0]. Pada kolom 2 baris 2, itu indexnya[1,1] dan s seterusnya. Di sini kami anggap susunannya  terlihat seperti pada matriks dibawah ini :
[0,0] [0,1] [0,2] [0,3]
[1,0] [1,1] [1,2] [1,3]
[2,0] [2,1] [2,2] [2,3]
Baris paling atas pada tetris  (baris 1) memiliki index [0,n] sampai [0,n+1]. Sehingga dapat kita anggap ukuran layar tetris [m,n]. Setiap ada blok yang turun atau berjatuhan kita definisikan sebagai, m+1 dan setiap bergeser kekanan n+1 dan setiap kekiri n-1
Pada permainan tetris ini apabila blok yang berjatuhan telah melampaui batas dari layar tetris [m,n] maka permainan akan berakhir (game over) sehingga apabila ada baris yang penuh (sesuai dengan syarat) maka baris tersebut akan dihapus.

2. Catur
Catur adalah permainan yang dimainkan antara dua pemain . Permainan ini dimainkan pada papan catur , yang merupakan papan kotak-kotak persegi dengan 64 kuadrat diatur dalam sebuah-oleh-delapan grid delapan. Pada awalnya, tiap pemain kontrol enam belaspotongan : satu raja , satu ratu , dua rooks , dua kesatria , dua uskup , dan delapan pion . Tujuan permainan ini adalah untuk sekakmatlawan raja, dimana raja adalah serangan langsung (di ” cek “) dan tidak ada cara untuk menghapus atau mempertahankannya dari serangan pada langkah berikutnya.

Aturan Permainan

Catur dimainkan di kotak papan delapan baris (disebut barisan dan dilambangkan dengan angka 1 sampai 8) dan delapan kolom (disebut file dan dilambangkan dengan huruf a,untuk h) kuadrat. Warna kotak enam puluh empat alternatif dan disebut sebagai “kotak cahaya” dan “kotak gelap”. papan catur tersebut ditempatkan dengan kotak cahaya di ujung sebelah kanan terdekat peringkat ke setiap pemain, dan potongan-potongan ditetapkan seperti yang ditunjukkan di diagram, dengan masing-masing ratu pada warna sendiri.

Potongan dibagi, dengan konvensi, ke set putih dan hitam. Para pemain yang disebut sebagai ” White “dan” Black “, dan masing-masing permainan dimulai dengan enam belas potongan warna yang ditentukan. Ini terdiri dari satu raja , satu ratu , dua rooks , dua uskup , dua kesatria dan delapan pion .

Sebelum bertanding, pecatur memilih warna buah yang akan ia mainkan. Pemegang buah putih memulai langkah pertama, yang selanjutnya diikuti oleh pemegang buah hitam secara bergantian. Tujuan permainan adalah mencapai posisi skak mat. Hal ini bisa terjadi bila Raja terancam dan tidak bisa menyelamatkan diri ke petak lain. Tidak selalu permainan berakhir dengan kekalahan, karena bisa terjadi pula peristiwa seri atau remis di mana kedua belah pihak tidak mampu lagi meneruskan pertandingan karena tidak bisa mencapai skak mat. Peristiwa remis ini bisa terjadi berdasarkan kesepakatan maupun tidak. Salah satu contoh remis yang tidak berdasarkan kesepakatan – tetapi terjadi adalah pada keadaan remis abadi. Keadaan remis yang lain adalah keadaan pat, dimana yang giliran melangkah tidak bisa melangkahkan buah apapun termasuk Raja, tetapi tidak dalam keadaan terancam skak. Dalam pertandingan catur pihak yang menang biasanya mendapatkan nilai 1, yang kalah 0, sedang draw 0.5.

1. PENDAHULUAN

Tree search adalah salah satu algoritma inti dalam banyak program permainan game. Tree search melihat semua kemungkinan yang ada dalam permainan sebagai pohon, dengan langkah legal dalam permainan sebagai akar dari pohon-pohon tersebut. Daun dari pohon-pohon yang ada merupakan posisi terakhir dari permainan, di mana hasil dari permainan sudah dapat diketahui. Masalah yang dihadapi dalam menyusun sebuah algoritma permainan adalah ukuran dari pohon permainan ini sangatlah besar, dapat dirumuskan sebagai W^D, di mana W adalah rata-rata jumlah langkah yang legal dalam satu posisi, dan D adalah kedalaman dari sebuah pohon. Melakukan pencarian terhadap keseluruhan pohon adalah mustahil, terutama karena keterbatasan waktu yang ada, bahkan untuk komputer tercepat sekalipun. Maka dari itu penggunaan algoritma yang tepat untuk melakukan pencarian terhadap pohon didasarkan pada menghindari pencarian terhadap seluruh pohon. Berbagai algoritma pencarian berikut digambarkan menggunakan pengantar bahasa C. Variable serta fungsi yang ada memiliki arti sebagai berikut.

1.1 Chess Tree Search

Dalam sebuah permainan catur menentukan langkah terbaik dapat dilihat sebagai suatu proses searching dalam sebuah pohon. Pada akar pohon kita mencari posisi successor terbaik untuk dijalankan oleh pemain pada tingkat selanjutnya kita mencari posisi successorterbaik berdasarkan dari posisi musuh, dst.




Pencarian dari keseluruhan pohon akan menghasilkanW^D kali perhitungan seperti sudah dijelaskan sebelumnya. Hal ini tentunya mustahil mengingat banyaknya langkah yang mungkin dalam suatu permainan catur (semakin banyak langkah yang mungkin dalam permainan mengakibatkan menignkatnya nilai dari W dan D).



1.2. Solusi

Solusi untuk permasalahan chess search tree beragam.Salah satunya adalah algoritma minmax negamax dimana semua kemungkinan langkah dihitung kemungkinannya. Selain itu juga ada alpha-beta search di mana nilai dari suatu posisi hanya dihitungapabila nilai dari posisi tersebut lebih baik atau lebih buruk dari posisi yang didapat sebelumnya. Juga principal variation search yang merupakan pengembangan dari alpha-beta search.



2.PEMBAHASAN ALGORITMA

2.1. MiniMax dan NegaMax

NegaMax adalah struktur fundamental di mana menjadi dasar bagi setiap algoritma pencarian terhadap chess tree. NegaMax mengimplementasikan pemikiran bahwa semakin buruk langkah yang dilakukan oleh lawan artinya langkah yang kita lakukan semakin baik.

Mengimplementasikan pemikiran ini sebenarnya mudah. Pemikiran ini menggunakan dasar bahwa catur adalah sebuah permainan symmetrical, oleh sebab itu maka fungsi analisis haruslah mengeluarkan nilai yang simetris. Jadi pada setiap posisi nilai dari langkah yang dilakukan oleh putih adalah negasi dari langkah yang dilakukan oleh hitam, atau bisa dibilang bahwa jumlah dari nilai keduanya adalah 0.

Apabila putih unggul satu pion maka sudah jelas bahwa hitam tertinggal sebanyak jumlah yang sama.Prinsip yang sama dapat diperluas ke dalam keunggulan posisi, misalnya putih memiliki dua benteng dalam satu garis yang sama maka putih mendapatkan poin tambahan, pada saat yang sama posisi hitam menjadi lebih lemah dengan jumlah yang sama karena hal ini.

Dasar dari algoritma ini adalah bahwa chess treesearch merupakan pergantian antara maksimalisasi dan minimalisasi nilai dari posisi pada pohon; biasa disebut dengan proses minimax. Untuk membedakan posisi antara pemain dengan lawannya, nilai dari suatu posisi selalu dievaluasi dari sudut pandang pemainyang akan berjalan, hal ini dilakukan dengan melakukan negasi terhadap nilai yang dilihat oleh lawan; ini disebut dengan proses negamax. Proses ini bila digambarkan dengan pseudo code bahasa yang mirip dengan C menjadi seperti berikut.

Jumlah posisi yang harus dihitung menggunakan algoritma ini adalah W^D, di mana W adalah lebar dari pohonnya (jumlah rata-rata langkah yang mungkin pada setiap posisi) dan D adalah kedalaman pohonnya (^ menunjukkan pengeksponensialan). Ini sangatlah tidak efisien dan akan menghambat bahkan super computer sekaligus untuk mencapai tingkat kedalaman yang tinggi.

2.2. Alpha-Beta Search

Alpha-Beta search adalah suatu teknik untuk mengurangi secara besar-besaran ukuran dari pohon pencarian. Dengan menggunakan algoritma NegaMax kita melakukan pencarian semua jawaban terhadap semua langkah dalama permainan. Rata-rata permainan catur memiliki 30 langkah legal, asumsikan program menganalisis 50.000 langkah tiap detiknya.Mari kita lihat seberapa dalam pencarian dapat dilakukan.

3. Tic Tac Toe 3x3

Permainan tic-tac-toe merupakan permainan berjenis board-game berukuran 3x3. Pemain harus mengisi sel-sel, sehingga karakter yang dimasukkan pemain tersebut dapat membentuk suatu garis lurus horizontal, vertikal, ataupun juga diagonal. Permainan ini biasanya dimainkan oleh 2 orang pemain, tapi pada versi permainan komputer, pemain lawan dapat digantikan oleh komputer. Hasil permainan berupa menang, kalah, ataupun seri.

Algortima yang Digunakan

Algoritma minimax merupakan basis dari semua permainan berbasis AI. Pada algoritma minimax, pengecekan akan seluruh kemungkinan yang ada sampai akhir permainan dilakukan. Pengecekan tersebut akan menghasilkan pohon permainan yang berisi semua kemungkinan tersebut. Tentunya dibutuhkan resource yang berskala besar untuk menangani komputasi pencarian pohon solusi tersebut berhubung kombinasi kemungkinan untuk sebuah permainan catur pada setiap geraknya sangat banyak sekali.
Algoritma minimax ini bekerja secara rekursif dengan mencari langkah yang akan membuat lawan mengalami kerugian minimum. Pada langkah pertama komputer akan menganalisis seluruh pohon permainan. Dan untuk setiap langkahnya, komputer akan memilih langkah yang paling membuat lawan mendapatkan keuntungan minimum, dan yang paling membuat komputer itu sendiri mendapatkan keuntungan maksimum.
Dalam penentuan keputusan pada algorima minimax digunakan sebuah fungsi heurisitic untuk mengevaluasi nilai sebagainilai yang merepresentasikan hasil permainan yang akan terjadi jika langkah tersebut dipilih. Pada permainan tic-tac-toe  ini digunakan nilai 1,0,-1 untuk mewakilkan hasil akhir permainan berupa menang, seri, dan kalah. Dari nilai-nilai heuristic inilah komputer akan menentukan simpul mana dari pohon permainan yang akan dipilih, tentunya simpul yang akan dipilih tersebut adalah simpul dengan nilai heuristicyang akan menuntun permainan ke hasil akhir yang menguntungkan bagi komputer.
Garis besar algoritma minimax secara umum
"If ada langkah kemenangan Then pilih langkah tersebut.
Else Ifl awan mempunyai 2 spot terisi dalam satu garis dengan spot ketiga masih kosong Then tutup langkah tersebut (isi spot kosong ketiga tersebut).
Else melangkah ke state yang mempunyai kemungkinan menang tertinggi (berdasarkan nilai heuristic yang dibangkitkan)"

Algoritma umum diatas untuk permainan tic-tac-toe
"Mencari langkah dengan nilai maksimum
If langkah tersebut merupakan langkah kemenangan Then pilih lagkah tersebut.
Else
Foreach kemungkinan langkah yang ada
Cari langkah lawan yang bernilai minimum.
Return nilai dari langkah tersebut.
Pilih langkah yang bernilai maksimum darilangkah-langkah tersebut. "

Analisis
Analisis dalam kasus ini, pada permainan tic-tac-toe menggunakan algoritma minimax, dimana AI akan menelusuri semua kemugkinan langkah yang akan dilakukan oleh pemain. SehinggaAI akan selalu mengetahui kemungkinan pemain untuk menang dan memblok semua langkah kemenangan pemain.
Dengan demikian permainan akan selalu seri apabila pemain cukup teliti dalam menentukan langkah. Namun jika pemain melakukan langkah yang salah, maka AI akan langsung menggunakan kesempatan tersebut untuk mengambil langkah yang akan mengarahkannya ke hasil akhir berupa kemenangan atau seri.

Berikut adalah langkah atau cara memainkan permainan tic–tac-toedengan metode minimax.


Kesimpulan
a) Penerapan algoritma minimax cukup bagus dan cocok untuk pengambilan
keputusan oleh AI, terutama dalam permainan nplayer.
b) Algoritma minimax menggunakan konsep Dept First Search dalam pembentukan pohon solusi.
c) Pohon solusi dibentuk dari awal permainan sampai akhir permainan.
d) Semakin akurat fungsi dari heuristic yang digunakan, semakin baik pula pengambilan keputusan yang dilakukan oleh AI.
e) Dengan menggunakan algoritma minimax untuk AI dalam permainan tic-tac-toe, pemain kemungkinan sangat kecil untuk menang melawan AI tersebut.

4. Matches


Permainan dimulai dengan menekan tombol pilihan, disitu akan terlihat pilihan, computer dahuli atau kita yang terlebih dahulu. Disini saya memilih untuk maju terlebih dahulu, player pertama akan memilih salah satu ikon yang akan dihilangkan. Berikutnya untuk CPU yang memilih untuk ikon mana yang akan dipilih untuk maju. Jika player yang mengambil batang terakhir, maka pemain akan kalah, tapi jika AI yang mengambil batang terakhir maka AI akan kalah. Namun disini AI sangat sulit dikalahkan. Kita bisa mengambil berapapun batang yamg kita inginkan tapi harus berada dalam satu kolom, begitu juga computer.

Rules

Identifikasi ruang keadaan, permasalahan ini dapat di lambangkan dengan sebuah field dengan background sebuah gambar, di field itu terdapat 5 tingkatan yang terdiri dari ikon-ikon yang tersusun berbentuk piramida. Pemain hanya terdiri dari player dan AI (CPU).
Keadaan awal dan tujuan.
Keadaan awal = papan  permainan.
Keadaan tujuan = bagi yang terakhir meng-klik ikon, dialah yang kalah.

Aturan-aturan:

1.      Pilihan bagian option, disitu kita akan memilih siapa yang akan maju terlebih dahulu, player atau AI.

2.      Dimainkan dengan 2 pemain, player pertama dan yang kedua adalah AI, player memulai langkah awal permainan dengan memilih salah satu ikon yang telah disediakan. Baik dari atas atau dari bawah.
3.      Kita hanya bisa mengambil ikon secara kolom, yang terakhir memilih adalah yang kalah.

4.      Tidak ada perbedaan ikon antara player dengan CPU.

Konsep AI

Konsep permainan yang di pakai dalam permainan ini adalah (baik user ataupun AI) harus berjalan secara bergantian. AI akan selalu berjalan dan memberikan perlawanan kepada kita sehingga tidak akan begitu mudah dapat memenangkan game tersebut, pada saat memainkan permainan ini akan mendapatkan hasil akhir berupa kita menang atau kita kalah melawan komputer, karena prinsipnya game ini ingin anda yang kalah. Kesimpulan dari permainan ini ialah bagaimana cara untuk memenangkan perlawanan dari komputer dengan tidak mengambil korek api yang paling akhir (don’t take the last), jika pengguna (user) dapat tidak mengambil korek api yang terakhir maka pengguna tersebut ememnangkan permainan game Matches dan jika pengguna (user) mengambil korek api yang paling akhir maka pengguna (user) tersebut dinyatakan kalah dalam permainan game Matches ini.

Algoritma yang dipakai

Berikut ini adalah algoritma yang dipakai dalam permainan ini :

1.      Memilih salah satu beberapa dari 25 ikon yang susunannya berbentuk segitiga. ikon yang telah di sediakan, pengguna (user) atau lawan (komputer) dapat memilih sesuai dengan yang di inginkan.
2.      Jika 25 ikon telah di pilih secara bergantian.
3.      Dengan cara mengklik kiri pada mouse dan arahkan kursor kearah pensil yang ingin di ambil.
4.      Jika pengguna (user) bermain sebagai pemain (player) pertama dan sudah memilih pensil yang di inginkan untuk di ambil, maka berikutnya lawan (komputer) yang memilih pensil yang di inginkan untuk diambil.
5.      Jika ikon yang di sediakan telah habis maka akan dilihat siapa yang mengambil ikon yang paling akhir untuk menentukan menang atau tidaknya pengguna (user) ataupun lawan (komputer) karena syarat ketentuan permainan ini ialah akan menang jika tidak mengambil ikon yang paling akhir dan akan kalah jika mengambil ikon yang paling akhir.
6.      Jika pengguna (user) bermain cepat dalam pengambilan ikon maka lawan (komputer) akan menyamakan kecepatan seperti pengguna (user) dalam proses pengambilan ikon.
7.      Jika lawan (komputer) memenangkan permainan ini maka keluar message "Anda kalah!!" Jika pengguna (user)yang memenangkan permainan ini maka akan keluar message “Akhirnya anda menang juga!!".
8.      Permainan selesai bila 25 ikon telah habis baik diambil pengguna (user) ataupun lawan (komputer). Dan akan menampilkan message menang atau tidaknya dalam permainan ini.

Dalam Game matches ini menggunakan Algoritma Backtracking menggunakan konsep DFS dalam pembentukan pohon solusi.
1.      Pohon solusi dibentuk dari awal permainan sampai akhir permainan.
2.      Untuk permainan yang di nyatakan cukup kompleks seperti permainan Matches, pembentukan pohon solusi di mulai dari awal permainan sampai akhir permainan dapat direalisasikan karena pada game ini mempunyai batasannya, yaitu kotak yang telah di batasin berapa banyak yang dapat di beri tanda, sehingga bila anda ingin mengurutnya bisa di lakukan dan di ketahui cara untuk memenangkan game ini. Sehingga bila anda cari dalam pohon solusi bisa di selesaikan sampai tidak ada kemungkinan lagi untuk di cari solusinya.
3.      Semakin akurat fungsi heuristic yang digunakan, semakin baik pula pengambilan keputusan yang dilakukan oleh AI.

5. Pacman


Pacman adalah sebuah permainan video arkade yang cukup terkenal. Cara bermainnya mudah yaitu pemain (pacman) diharuskan memakan makanan (berbentuk titik-titik kecil) dan sebuah bulatan besar (energizer) sampai habis di dalam sebuah labirin yang berliku-liku. Tidak hanya menghabiskan makanan tersebut, pemain juga harus menghindari 4 ‘hantu’ yang berkeliaran secara random untuk menangkap pemain. Jika pemain bertemu dengan hantu-hantu tersebut maka pemain dinyatakan gagal dan harus mengulangi dari awal lagi. Tetapi pemain bisa mengalahkan hantu tersebut dengan memakan energizer yang terdapat di pojokkan labirin. Jika pemain memakan titik besar tersebut, maka para hantu akan ketakutan dan berusaha menjauh dari pemain. Dalam hal ini pemain bisa memakan hantu tersebut dan mendapatkan bonus yang besar, tetapi para hantu yang termakan tidak mati begitu saja, mereka kembali ke posisi semula dan kembali mengejar pemain. Pemain dinyatakan menang jika semua makanan habis tak tersisa dan pemain akan memasuki level berikutnyaPergerakan para hantu ini dipengaruhi oleh kecerdasan buatan atau Artificial intelligence (AI), dimana para hantu diberi kecerdasan untuk menentukan langkah dan mengambil keputusan akan bergerak kemana dengan menentukan rute yang paling pendek (minimum),

Tujuan Permainan

tujuannya adalah menangkap pemain. Setiap hantu harus memiliki pemikiran berbeda dan memiliki kemampuan bekerja sama untuk mengejar pemain, sehingga permainan akan tampak lebih menarik. Persoalan mendekati karakter Pacman ini dapat diselesaikan dengan berbagai macam cara, salah satunya dengan menggunakan algoritma greedy

Algoritma yang digunakan

Algoritma Greedy membentuk solusi langkah per langkah (step by step). Terdapat banyak pilihan yang perlu di eksplorasi pada setiap langkah solusi, karenanya pada setiap langkah harus dibuat keputusann yang terbaik dalam menentukan pilihan.Keputusan yang telah
diambil pada suatu langkah tidak dapat diubah lagi pada langkah selanjutnya. Sebagai contoh, jika kita manggunakan algoritma Greedy untuk menempatkan komponen diatas papan sirkuit, sekali komponen telah diletakkan dan dipasang maka tidak dapat dipindahkan lagi.
Pada setiap langkah diperoleh optimum lokal. Bila algoritma berakhir, kita berharap optimum lokal menjadi optimum global.
Algoritma Greedy adalah salah satu algoritma yang dapat digunakan untuk mendapatkan solusi terbaik dan merupakan algoritma yang paling populer dalam hal ini.
Secara Harfiah Greedy artinya rakus atau tamak, sifat yang berkonotasi negatif. Orang yang memiliki sifat ini akan mengambil sebanayak mungkin atau mengambil yang paling bagus atau yang paling mahal. Sesuai dengan arti tersebut, Prinsip Greedy adalah take what you can get now. Dalam kehidupan sehari hari Greedy dapat digunakan dalam masalah seperti :
Memilih beberapa jenis investasi
Mencari jalur tersingkat ini merupakan implementasi untuk game pacman

Daftar Pustaka
http://agustarivan.blogspot.co.id/2013/11/membuat-game-matches-pada-dengan.html
https://oinkseterez.wordpress.com/2010/06/01/permainan-catur/
http://catatankecilanaknegeri.blogspot.co.id/2014/12/algoritma-minimax-pada-permainan-tic.html
http://mutianajmi.blogspot.co.id/2012/04/analisa-game-tetris_08.html