Lompat ke isi

Algoritma tamak: Perbedaan antara revisi

Ensiklopedia Pengetahuan Universitas Islam Sultan Agung
Maintenance script (bicara | kontrib)
Impor teks terkontrol dari Wikipedia bahasa Indonesia; revisi 28424418; atribusi sumber disertakan.
 
Maintenance script (bicara | kontrib)
Presentation V4: sitasi, referensi, Math, Wikimedia Commons, dan atribusi
 
Baris 1: Baris 1:
'''Algoritma tamak''' atau dalam bahasa Inggris '''''greedy algorithm''''' adalah [[algoritma]] apa pun yang mengikuti metode [[Heuristik (Ilmu komputer)|heuristik]] dalam pemecahan masalah untuk membuat pilihan optimal secara setempat di setiap tahap. Dalam banyak masalah, strategi tamak tidak menghasilkan solusi optimal, tetapi suatu heuristik tamak dapat menghasilkan solusi optimal lokal yang mendekati solusi optimal global dalam jangka waktu yang wajar.
'''Algoritma tamak''' atau dalam bahasa Inggris '''''greedy algorithm''''' adalah [[algoritma]] apa pun yang mengikuti metode [[Heuristik (Ilmu komputer)|heuristik]] dalam pemecahan masalah untuk membuat pilihan optimal secara setempat di setiap tahap.<ref>Paul E. Black. [http://xlinux.nist.gov/dads//HTML/greedyalgo.html greedy algorithm]. ''Dictionary of Algorithms and Data Structures''. U.S. National Institute of Standards and Technology (NIST). 2 February 2005.</ref> Dalam banyak masalah, strategi tamak tidak menghasilkan solusi optimal, tetapi suatu heuristik tamak dapat menghasilkan solusi optimal lokal yang mendekati solusi optimal global dalam jangka waktu yang wajar.


Misalnya, strategi tamak untuk [[Permasalahan Penjual Keliling|masalah penjual keliling]] (yang memiliki kerumitan komputasi tinggi) adalah heuristik berikut: "Pada setiap langkah perjalanan, kunjungi kota terdekat yang belum dikunjungi." [[Heuristika|Heuristik]] ini tidak bertujuan untuk menemukan solusi terbaik, tetapi ia berakhir dalam sejumlah langkah yang wajar. Yang mana menemukan solusi optimal untuk masalah yang kompleks biasanya memerlukan banyak langkah yang tak masuk akal. Dalam optimasi matematis, algoritma tamak secara optimal dapat menyelesaikan masalah kombinatorial yang memiliki sifat [[matroid]] dan memberikan hampiran faktor konstan untuk masalah optimasi dengan struktur submodular.
Misalnya, strategi tamak untuk [[Permasalahan Penjual Keliling|masalah penjual keliling]] (yang memiliki kerumitan komputasi tinggi) adalah heuristik berikut: "Pada setiap langkah perjalanan, kunjungi kota terdekat yang belum dikunjungi." [[Heuristika|Heuristik]] ini tidak bertujuan untuk menemukan solusi terbaik, tetapi ia berakhir dalam sejumlah langkah yang wajar. Yang mana menemukan solusi optimal untuk masalah yang kompleks biasanya memerlukan banyak langkah yang tak masuk akal. Dalam optimasi matematis, algoritma tamak secara optimal dapat menyelesaikan masalah kombinatorial yang memiliki sifat [[matroid]] dan memberikan hampiran faktor konstan untuk masalah optimasi dengan struktur submodular.
Baris 9: Baris 9:
: Kita dapat membuat pilihan apa pun yang tampaknya terbaik saat ini dan kemudian menyelesaikan sub-masalah yang muncul kemudian. Pilihan yang dibuat oleh algoritma tamak mungkin bergantung pada pilihan yang dibuat sejauh ini, tetapi tidak pada pilihan masa depan atau semua solusi terhadap submasalah. Ini secara berulang-ulang membuat pilihan tamak satu demi satu, mengurangi setiap masalah menjadi masalah yang lebih kecil. Dengan kata lain, algoritma tamak tidak pernah mempertimbangkan kembali pilihannya. Inilah perbedaan utamanya dengan [[pemrograman dinamis]] yang bersifat menyeluruh dan menjamin untuk menemukan solusinya. Setelah setiap tahap selesai, pemrograman dinamis membuat keputusan berdasarkan semua keputusan yang dibuat pada tahap sebelumnya dan dapat mempertimbangkan kembali jalur algoritmik tahap sebelumnya menuju solusi.
: Kita dapat membuat pilihan apa pun yang tampaknya terbaik saat ini dan kemudian menyelesaikan sub-masalah yang muncul kemudian. Pilihan yang dibuat oleh algoritma tamak mungkin bergantung pada pilihan yang dibuat sejauh ini, tetapi tidak pada pilihan masa depan atau semua solusi terhadap submasalah. Ini secara berulang-ulang membuat pilihan tamak satu demi satu, mengurangi setiap masalah menjadi masalah yang lebih kecil. Dengan kata lain, algoritma tamak tidak pernah mempertimbangkan kembali pilihannya. Inilah perbedaan utamanya dengan [[pemrograman dinamis]] yang bersifat menyeluruh dan menjamin untuk menemukan solusinya. Setelah setiap tahap selesai, pemrograman dinamis membuat keputusan berdasarkan semua keputusan yang dibuat pada tahap sebelumnya dan dapat mempertimbangkan kembali jalur algoritmik tahap sebelumnya menuju solusi.
; Substruktur optimal
; Substruktur optimal
: “Suatu masalah menunjukkan [[substruktur optimal]] jika solusi optimal terhadap masalah tersebut mengandung solusi optimal terhadap sub-masalah.”
: “Suatu masalah menunjukkan [[substruktur optimal]] jika solusi optimal terhadap masalah tersebut mengandung solusi optimal terhadap sub-masalah.” <ref>[https://id.wikipedia.org/w/index.php?title=Algoritma+tamak&oldid=28424418 sumber pada Wikipedia bahasa Indonesia]</ref>


=== Kasus kegagalan ===
=== Kasus kegagalan ===
 
Algoritma tamak gagal menghasilkan solusi optimal untuk banyak masalah lain dan bahkan mungkin menghasilkan solusi ''unik yang paling buruk'' . Salah satu contohnya adalah [[Permasalahan Penjual Keliling|masalah travelling salesman]] yang disebutkan di atas: untuk setiap jumlah kota, terdapat penetapan jarak antar kota di mana heuristik tetangga terdekat menghasilkan tur terburuk yang mungkin terjadi.<ref>Gregory Gutin. ''Traveling salesman should not be greedy: Domination analysis of greedy-type heuristics for the TSP''. ''Discrete Applied Mathematics''. 2002. Vol. 117 (1–3). hlm. 81–86. doi:10.1016/S0166-218X(01)00195-0.</ref> Untuk kemungkinan contoh lainnya, lihat [[efek cakrawala]].
Algoritma tamak gagal menghasilkan solusi optimal untuk banyak masalah lain dan bahkan mungkin menghasilkan solusi ''unik yang paling buruk'' . Salah satu contohnya adalah [[Permasalahan Penjual Keliling|masalah travelling salesman]] yang disebutkan di atas: untuk setiap jumlah kota, terdapat penetapan jarak antar kota di mana heuristik tetangga terdekat menghasilkan tur terburuk yang mungkin terjadi. Untuk kemungkinan contoh lainnya, lihat [[efek cakrawala]].


== Jenis ==
== Jenis ==
Algoritma tamak dapat dikategorikan sebagai algoritma yang 'berpandangan sempit', dan juga 'tidak dapat dipulihkan'. Algoritma ini hanya ideal untuk masalah yang memiliki 'substruktur optimal'. Meskipun demikian, untuk banyak masalah sederhana, algoritma yang paling cocok adalah algoritma tamak. Namun, penting untuk dicatat bahwa algoritma tamak dapat digunakan sebagai algoritma seleksi untuk mengutamakan pilihan dalam pencarian, atau algoritma cabang-daan-batas. Ada beberapa variasi pada algoritma tamak:
Algoritma tamak dapat dikategorikan sebagai algoritma yang 'berpandangan sempit', dan juga 'tidak dapat dipulihkan'. Algoritma ini hanya ideal untuk masalah yang memiliki 'substruktur optimal'. Meskipun demikian, untuk banyak masalah sederhana, algoritma yang paling cocok adalah algoritma tamak. Namun, penting untuk dicatat bahwa algoritma tamak dapat digunakan sebagai algoritma seleksi untuk mengutamakan pilihan dalam pencarian, atau algoritma cabang-daan-batas. Ada beberapa variasi pada algoritma tamak:


Baris 24: Baris 22:


== Teori ==
== Teori ==
Algoritma tamak memiliki sejarah panjang dalam studi [[optimasi kombinatorial]] dan [[ilmu komputer teoretis]]. Heuristik tamak diketahui memberikan hasil yang kurang optimal pada banyak masalah, sehingga pertanyaan yang wajar adalah:
Algoritma tamak memiliki sejarah panjang dalam studi [[optimasi kombinatorial]] dan [[ilmu komputer teoretis]]. Heuristik tamak diketahui memberikan hasil yang kurang optimal pada banyak masalah,<ref>[https://id.wikipedia.org/w/index.php?title=Algoritma+tamak&oldid=28424418 sumber pada Wikipedia bahasa Indonesia]</ref> sehingga pertanyaan yang wajar adalah:


* Untuk masalah apa algoritma tamak bekerja secara optimal?
* Untuk masalah apa algoritma tamak bekerja secara optimal?
Baris 33: Baris 31:


=== Matroid ===
=== Matroid ===
 
[[Matroid]] adalah struktur matematika yang menggeneralisasi konsep [[Kebebasan linear|independensi linier]] dari [[ruang vektor]] ke himpunan sembarang. Jika suatu masalah optimasi mempunyai struktur matroid, maka algoritma tamak yang sesuai akan dapat menyelesaikannya secara optimal.<ref>[https://id.wikipedia.org/w/index.php?title=Algoritma+tamak&oldid=28424418 sumber pada Wikipedia bahasa Indonesia]</ref>
[[Matroid]] adalah struktur matematika yang menggeneralisasi konsep [[Kebebasan linear|independensi linier]] dari [[ruang vektor]] ke himpunan sembarang. Jika suatu masalah optimasi mempunyai struktur matroid, maka algoritma tamak yang sesuai akan dapat menyelesaikannya secara optimal.


=== Fungsi submodular ===
=== Fungsi submodular ===
Sebuah fungsi <math>f</math> didefinisikan pada [[himpunan bagian]] dari suatu himpunan <math>\Omega</math> disebut [[submodular]], jika untuk setiap <math>S, T \subseteq \Omega</math> kita mempunyai<math>f(S)+f(T)\geq f(S\cup T)+f(S\cap T)</math>.
Sebuah fungsi <math>f</math> didefinisikan pada [[himpunan bagian]] dari suatu himpunan <math>\Omega</math> disebut [[submodular]], jika untuk setiap <math>S, T \subseteq \Omega</math> kita mempunyai<math>f(S)+f(T)\geq f(S\cup T)+f(S\cap T)</math>.


Misalkan seseorang ingin mencari sebuah himpunan <math>S</math> yang memaksimalkan <math>f</math>. Algoritma tamak, yang membangun satu himpunan <math>S</math> dengan menambahkan elemen secara bertahap yang meningkatkan <math>f</math> paling banyak pada setiap langkah, menghasilkan keluaran sebuah himpunan yang paling sedikit <math>(1 - 1/e) \max_{X \subseteq \Omega} f(X)</math>. Artinya, ''ketamakan'' bermain dalam faktor konstan <math>(1 - 1/e) \approx 0.63</math> sama baiknya dengan solusi optimal.
Misalkan seseorang ingin mencari sebuah himpunan <math>S</math> yang memaksimalkan <math>f</math>. Algoritma tamak, yang membangun satu himpunan <math>S</math> dengan menambahkan elemen secara bertahap yang meningkatkan <math>f</math> paling banyak pada setiap langkah, menghasilkan keluaran sebuah himpunan yang paling sedikit <math>(1 - 1/e) \max_{X \subseteq \Omega} f(X)</math>.<ref>[https://id.wikipedia.org/w/index.php?title=Algoritma+tamak&oldid=28424418 sumber pada Wikipedia bahasa Indonesia]</ref> Artinya, ''ketamakan'' bermain dalam faktor konstan <math>(1 - 1/e) \approx 0.63</math> sama baiknya dengan solusi optimal.


Jaminan serupa dapat dibuktikan ketika kendala tambahan, seperti batasan kardinalitas, diterapkan pada keluaran. Meskipun sering kali diperlukan sedikit variasi pada algoritma tamak. Lihat untuk ikhtisarnya.
Jaminan serupa dapat dibuktikan ketika kendala tambahan, seperti batasan kardinalitas, <ref>[https://id.wikipedia.org/w/index.php?title=Algoritma+tamak&oldid=28424418 sumber pada Wikipedia bahasa Indonesia]</ref> diterapkan pada keluaran. Meskipun sering kali diperlukan sedikit variasi pada algoritma tamak. Lihat<ref>[https://id.wikipedia.org/w/index.php?title=Algoritma+tamak&oldid=28424418 sumber pada Wikipedia bahasa Indonesia]</ref> untuk ikhtisarnya.


=== Masalah lain dengan penjaminan ===
=== Masalah lain dengan penjaminan ===
Baris 49: Baris 45:
* [[Masalah set penutup|Atur penutup]]
* [[Masalah set penutup|Atur penutup]]
* [[Masalah pohon Steiner]]
* [[Masalah pohon Steiner]]
* [[Penyeimbangan beban]]
* [[Penyeimbangan beban]] <ref>[http://www.win.tue.nl/~mdberg/Onderwijs/AdvAlg_Material/Course%20Notes/lecture5.pdf Lecture 5: Introduction to Approximation Algorithms]. ''Advanced Algorithms (2IL45) — Course Notes''. TU Eindhoven.</ref>
* [[Himpunan bebas (teori graf)|Himpunan bebas]]
* [[Himpunan bebas (teori graf)|Himpunan bebas]]


Baris 62: Baris 58:


== Contoh ==
== Contoh ==
* [[Masalah pemilihan kegiatan]] merupakan ciri khasnya kelas masalah ini, yang tujuannya adalah memilih kegiatan sebanyak-banyaknya yang tidak berbenturan.
* [[Masalah pemilihan kegiatan]] merupakan ciri khasnya kelas masalah ini, yang tujuannya adalah memilih kegiatan sebanyak-banyaknya yang tidak berbenturan.
* Dalam permainan [[Macintosh|komputer Macintosh]] ''[[Crystal Quest]]'' tujuannya adalah mengumpulkan kristal, dengan cara yang mirip dengan [[Permasalahan Penjual Keliling|masalah penjual keliling]] . Permainan ini memiliki mode demo yang menggunakan algoritma tamak untuk mencapai setiap kristal. [[Kecerdasan buatan]] tidak memperhitungkan hambatan, sehingga mode demo sering kali berakhir dengan cepat.
* Dalam permainan [[Macintosh|komputer Macintosh]] ''[[Crystal Quest]]'' tujuannya adalah mengumpulkan kristal, dengan cara yang mirip dengan [[Permasalahan Penjual Keliling|masalah penjual keliling]] . Permainan ini memiliki mode demo yang menggunakan algoritma tamak untuk mencapai setiap kristal. [[Kecerdasan buatan]] tidak memperhitungkan hambatan, sehingga mode demo sering kali berakhir dengan cepat.
Baris 76: Baris 71:


== Lihat pula ==
== Lihat pula ==
 
*[[Algoritma tamak untuk pecahan mesir]]
*[[Algoritma tamak untuk pecahan mesir]]
*[[Best-first search]]
*[[Best-first search]]
Baris 86: Baris 78:
*[[Pendakian bukit (algoritma)]]
*[[Pendakian bukit (algoritma)]]
*[[Sumber tamak]]
*[[Sumber tamak]]
== Referensi ==
=== Sumber ===
*
*
*
*
*
*
*
*
*


== Pranala luar ==
== Pranala luar ==
 
*  
*
*
*


 
== Referensi ==
<references />


== Sumber dan atribusi ==
== Sumber dan atribusi ==


Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Algoritma+tamak&oldid=28424418 Wikipedia bahasa Indonesia], revisi 28424418 (2025-11-12T08:35:00Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.
Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Algoritma+tamak&oldid=28424418 Wikipedia bahasa Indonesia], revisi 28424418 (2025-11-12T08:35:00Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.
<!-- WIKI_UNISSULA_PRESENTATION_V4 -->

Revisi terkini sejak 23 Agustus 2026 04.17

Algoritma tamak atau dalam bahasa Inggris greedy algorithm adalah algoritma apa pun yang mengikuti metode heuristik dalam pemecahan masalah untuk membuat pilihan optimal secara setempat di setiap tahap.[1] Dalam banyak masalah, strategi tamak tidak menghasilkan solusi optimal, tetapi suatu heuristik tamak dapat menghasilkan solusi optimal lokal yang mendekati solusi optimal global dalam jangka waktu yang wajar.

Misalnya, strategi tamak untuk masalah penjual keliling (yang memiliki kerumitan komputasi tinggi) adalah heuristik berikut: "Pada setiap langkah perjalanan, kunjungi kota terdekat yang belum dikunjungi." Heuristik ini tidak bertujuan untuk menemukan solusi terbaik, tetapi ia berakhir dalam sejumlah langkah yang wajar. Yang mana menemukan solusi optimal untuk masalah yang kompleks biasanya memerlukan banyak langkah yang tak masuk akal. Dalam optimasi matematis, algoritma tamak secara optimal dapat menyelesaikan masalah kombinatorial yang memiliki sifat matroid dan memberikan hampiran faktor konstan untuk masalah optimasi dengan struktur submodular.

Spesifik

Algoritma tamak menghasilkan solusi yang baik pada beberapa masalah matematis, tetapi tidak pada masalah lainnya. Sebagian besar masalah yang algoritma greedy kerjakan memiliki dua properti:

Properti pemilihan tamak
Kita dapat membuat pilihan apa pun yang tampaknya terbaik saat ini dan kemudian menyelesaikan sub-masalah yang muncul kemudian. Pilihan yang dibuat oleh algoritma tamak mungkin bergantung pada pilihan yang dibuat sejauh ini, tetapi tidak pada pilihan masa depan atau semua solusi terhadap submasalah. Ini secara berulang-ulang membuat pilihan tamak satu demi satu, mengurangi setiap masalah menjadi masalah yang lebih kecil. Dengan kata lain, algoritma tamak tidak pernah mempertimbangkan kembali pilihannya. Inilah perbedaan utamanya dengan pemrograman dinamis yang bersifat menyeluruh dan menjamin untuk menemukan solusinya. Setelah setiap tahap selesai, pemrograman dinamis membuat keputusan berdasarkan semua keputusan yang dibuat pada tahap sebelumnya dan dapat mempertimbangkan kembali jalur algoritmik tahap sebelumnya menuju solusi.
Substruktur optimal
“Suatu masalah menunjukkan substruktur optimal jika solusi optimal terhadap masalah tersebut mengandung solusi optimal terhadap sub-masalah.” [2]

Kasus kegagalan

Algoritma tamak gagal menghasilkan solusi optimal untuk banyak masalah lain dan bahkan mungkin menghasilkan solusi unik yang paling buruk . Salah satu contohnya adalah masalah travelling salesman yang disebutkan di atas: untuk setiap jumlah kota, terdapat penetapan jarak antar kota di mana heuristik tetangga terdekat menghasilkan tur terburuk yang mungkin terjadi.[3] Untuk kemungkinan contoh lainnya, lihat efek cakrawala.

Jenis

Algoritma tamak dapat dikategorikan sebagai algoritma yang 'berpandangan sempit', dan juga 'tidak dapat dipulihkan'. Algoritma ini hanya ideal untuk masalah yang memiliki 'substruktur optimal'. Meskipun demikian, untuk banyak masalah sederhana, algoritma yang paling cocok adalah algoritma tamak. Namun, penting untuk dicatat bahwa algoritma tamak dapat digunakan sebagai algoritma seleksi untuk mengutamakan pilihan dalam pencarian, atau algoritma cabang-daan-batas. Ada beberapa variasi pada algoritma tamak:

  • Algoritma tamak murni
  • Algoritma tamak ortogonal
  • Algoritma tamak santai

Teori

Algoritma tamak memiliki sejarah panjang dalam studi optimasi kombinatorial dan ilmu komputer teoretis. Heuristik tamak diketahui memberikan hasil yang kurang optimal pada banyak masalah,[4] sehingga pertanyaan yang wajar adalah:

  • Untuk masalah apa algoritma tamak bekerja secara optimal?
  • Untuk masalah manakah algoritma tamak menjamin solusi yang sekiranya optimal?
  • Untuk masalah manakah algoritma tamak dijamin tidak akan menghasilkan solusi optimal?

Sejumlah besar sastra menjawab pertanyaan-pertanyaan ini untuk kelas masalah umum, seperti matroid, serta untuk masalah khusus, seperti <i>set cover</i>.

Matroid

Matroid adalah struktur matematika yang menggeneralisasi konsep independensi linier dari ruang vektor ke himpunan sembarang. Jika suatu masalah optimasi mempunyai struktur matroid, maka algoritma tamak yang sesuai akan dapat menyelesaikannya secara optimal.[5]

Fungsi submodular

Sebuah fungsi f didefinisikan pada himpunan bagian dari suatu himpunan Ω disebut submodular, jika untuk setiap S,TΩ kita mempunyaif(S)+f(T)f(ST)+f(ST).

Misalkan seseorang ingin mencari sebuah himpunan S yang memaksimalkan f. Algoritma tamak, yang membangun satu himpunan S dengan menambahkan elemen secara bertahap yang meningkatkan f paling banyak pada setiap langkah, menghasilkan keluaran sebuah himpunan yang paling sedikit (11/e)maxXΩf(X).[6] Artinya, ketamakan bermain dalam faktor konstan (11/e)0.63 sama baiknya dengan solusi optimal.

Jaminan serupa dapat dibuktikan ketika kendala tambahan, seperti batasan kardinalitas, [7] diterapkan pada keluaran. Meskipun sering kali diperlukan sedikit variasi pada algoritma tamak. Lihat[8] untuk ikhtisarnya.

Masalah lain dengan penjaminan

Masalah lain yang mana algoritma tamak memberikan jaminan yang kuat, tetapi bukan solusi optimal, termasuk

Banyak dari masalah ini memiliki batas bawah yang sesuai, yaitu algoritma tamak tidak berkinerja lebih baik daripada jaminan dalam kasus terburuk.

Pemberlakuan

Algoritma tamak biasanya (tetapi tidak selalu) gagal menemukan solusi optimal secara global karena algoritma tersebut biasanya tidak beroperasi secara mendalam pada semua data. Algoritma jenis ini dapat membuat komitmen pada pilihan-pilihan tertentu terlalu dini, sehingga mencegah mereka untuk menemukan solusi terbaik secara keseluruhan nantinya. Misalnya, semua algoritma pewarnaan tamak yang diketahui untuk masalah pewarnaan graf dan semua masalah NP-lengkap lainnya tidak secara konsisten menemukan solusi optimal. Namun, algoritma jenis ini berguna karena mereka cepat berpikir dan sering memberikan hampiran yang baik secara optimal.

Jika algoritma tamak dapat dibuktikan menghasilkan optimal global untuk kelas masalah tertentu, biasanya algoritma ini menjadi metode pilihan karena lebih cepat dibandingkan metode optimasi lain seperti pemrograman dinamis. Contoh algoritma tamak tersebut adalah algoritma Kruskal dan algoritma Prim untuk mencari pohon rentang minimum serta algoritma untuk mencari pohon Huffman optimal.

Algoritmq tamak juga muncul di perutean jaringan. Dengan menggunakan perutean tamak, sebuah pesan diteruskan ke simpul tetangga “terdekat” dengan tujuan. Gagasan tentang lokasi sebuah simpul (dan karenanya "kedekatan") dapat ditentukan oleh lokasi fisiknya, seperti dalam perutean geografis yang digunakan oleh jaringan ad hoc . Lokasi mungkin juga merupakan konstruksi buatan seperti dalam perutean dunia kecil dan tabel hash beredar.

Contoh

Lihat pula

Pranala luar

Referensi

  1. Paul E. Black. greedy algorithm. Dictionary of Algorithms and Data Structures. U.S. National Institute of Standards and Technology (NIST). 2 February 2005.
  2. sumber pada Wikipedia bahasa Indonesia
  3. Gregory Gutin. Traveling salesman should not be greedy: Domination analysis of greedy-type heuristics for the TSP. Discrete Applied Mathematics. 2002. Vol. 117 (1–3). hlm. 81–86. doi:10.1016/S0166-218X(01)00195-0.
  4. sumber pada Wikipedia bahasa Indonesia
  5. sumber pada Wikipedia bahasa Indonesia
  6. sumber pada Wikipedia bahasa Indonesia
  7. sumber pada Wikipedia bahasa Indonesia
  8. sumber pada Wikipedia bahasa Indonesia
  9. Lecture 5: Introduction to Approximation Algorithms. Advanced Algorithms (2IL45) — Course Notes. TU Eindhoven.

Sumber dan atribusi

Konten artikel ini diadaptasi dari Wikipedia bahasa Indonesia, revisi 28424418 (2025-11-12T08:35:00Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.