Sebuah reduksi adalah sebuah cara untuk merubah/transform satu masalah menjadi masalah lain.


Misalkan anda mempunyai masalah A yang anda tidak tahu bagaimana cara menyelesaikannya. Namun, anda tau sebuah algoritma yang menyelesaikan masalah B. Jika anda dapat merubah sebuah instance α dari masalah A menjadi sebuah instance β dari masalah B, anda bisa menggunakan algoritma untuk B untuk menyelesaikan instance β yang sudah diubah, dan mendapatkan solusi α dari solusi β, dengan cara "membalikkan transformasi". Maka, kita bisa menyatakan bahwa A direduksi menjadi B.


Remarks: By default, we show e-Lecture Mode for first time (or non logged-in) visitor.
If you are an NUS student and a repeat visitor, please login.

🕑
Dengan reduksi, kita mempunyai alat lain untuk menyelesaikan masalah.

Selain itu, dengan "transformasi" yang efisien dan dalam waktu polinomial, reduksi memberikan kemampuan untuk membandingkan tingkat "hardness" dari dua masalah A dan B.

Pro-tip 1: Since you are not logged-in, you may be a first time visitor (or not an NUS student) who are not aware of the following keyboard shortcuts to navigate this e-Lecture mode: [PageDown]/[PageUp] to go to the next/previous slide, respectively, (and if the drop-down box is highlighted, you can also use [→ or ↓/← or ↑] to do the same),and [Esc] to toggle between this e-Lecture mode and exploration mode.

🕑

Diberikan dua masalah desisi A dan B, sebuah reduksi waktu-polinomial dari A ke B,
dinyatakan A ≤p B, merupakan sebuah transformasi dari is a transformation from instance α dari A to instance β dari B sehingga:

  1. α adalah YES-instance untuk A jika dan hanya jika β adalah YES-instance untuk B.
    (Sebuah YES-instance adalah instance dari sebuah masalah desisi yang jawabannya adalah YES/True).
  2. Transformasinya memperlukan waktu polinomial terhadap ukuran dari α.

Dengan suatu reduksi waktu-polinomial, kita bisa klaim:
Jika B "mudah dikerjakan", maka A juga.
Jika A "sulit", maka B juga.


Namun, B "sulit" bukan berarti A "sulit".
Dan A "mudah" bukan berarti B "mudah".


Pro-tip 2: We designed this visualization and this e-Lecture mode to look good on 1366x768 resolution or larger (typical modern laptop resolution in 2021). We recommend using Google Chrome to access VisuAlgo. Go to full screen mode (F11) to enjoy this setup. However, you can use zoom-in (Ctrl +) or zoom-out (Ctrl -) to calibrate this.

🕑

Dalam halaman visualisasi (statis, tidak ada animasi) ini, kita ingin menunjukkan jaringan reduksi (yang terkenal) dari masalah desisi NP-complete berbeda ke lainnya. Secara teori, karena semua masalah tersebut adalah NP-complete, mereka semua bisa direduksikan menjadi satu lainnya, tetapi transformasi tersebut bisa menjadi sangat rumit untuk beberapa maslaah.


Jaringan reduksi yang ditunjukkan di halaman ini merupakan gabungan dari "Introductions to Algorithms (CLRS, 4th edition)", 21 masalah NP-complete Karp , "Computers and Intractability (Garey and Johnson, 79), dll.


Isi dari visualisasi ini akan ditambahkan dari waktu ke waktu seiring dengan semakin banyaknya masalah NP-complete yang dibahas dalam kelas algoritma NUS.


Pro-tip 3: Other than using the typical media UI at the bottom of the page, you can also control the animation playback using keyboard shortcuts (in Exploration Mode): Spacebar to play/pause/replay the animation, / to step the animation backwards/forwards, respectively, and -/+ to decrease/increase the animation speed, respectively.

🕑

Sebuah simpul berisi nama singkat dari masalah keputusan NP-complete. Arahkan kursor ke atasnya untuk melihat nama lengkapnya. Anda juga dapat menekan simpul tersebut untuk membuka slide terkait yang secara formal menjelaskan masalah tersebut.


Sebuah tepi terarah antara simpul membuka slide yang berisi bukti reduksi dari satu masalah ke masalah lainnya, sesuai dengan arah panah, seperti yang ditemukan dalam banyak sumber kompleksitas komputasi (buku/Internet/dll). Bukti reduksi umumnya berbentuk jika dan hanya jika (iff). Panah hijau menunjukkan bahwa kami telah mendigitalkan bukti reduksi tersebut. Panah hitam menunjukkan bahwa kami belum melakukannya. Kami berharap dapat menambahkan konten sebanyak mungkin ke halaman ini secara bertahap dari waktu ke waktu.

🕑

Masalah CIRCUIT-SATISFIABILITY (C-SAT) merupakan sebuah masalah desisi tentang menentukan jika sebuah sirkuit Boolean - pada dasarnya sebuah DAG - (menggunakan gate AND ∧, OR ∨, NOT ¬) mempunyai sebuah penugasan dari n masukan biner yang membuat keluaran menjadi True (1). Dalam kata lain, masalah ini menanyakan apakah n masukan biner bisa diset menjadi True (1) atau False (0) secara konsisten sehingga sirkuit tersebut mengeluarkan True (1). Jikalau demikian, sirkuit tersebut memenuhi. Jika tidak, sirkuit tersebut tidak memenuhi.


YES-instance (Contoh Sertifikat: False, True, True, False)


Hal Penting: L ≤p C-SAT untuk sembarang bahasa L ∈ NP.

🕑

Definisi: Literal adalah sebuah variabel Boolean atau negasinya, yakni xi, i.
Klausa: Sebuah disjungsi (OR ∨) dari beberapa literal, yakni Cj = x1 ∨ x̄2 ∨ x3.


Masalah CONJUNCTIVE-NORMAL-FORM-SATISFIABILITY (CNF-SAT), atau kadang hanya disebut sebagai SATISFIABILITY (SAT), adalah masalah desisi tentang menentukan jika sebuah formula Φ yaitu konjungsi (AND ∧) dari klausa, yakni, Φ = C1 ∧ C2 ∧ C3 ∧ C4, mempunyai sebuah penugasan literal yang memenuhi.

🕑

Masalah 3-CNF-SAT(isfiability), biasanya hanya disebut dengan 3-SAT, merupakan masalah CNF-SAT di mana tiap klausa mempunyai tepat 3 literal dengan variabel berbeda.


Contohnya: Φ = (x̄1 ∨ x2 ∨ x3) ∧ (x1 ∨ x̄2 ∨ x3) ∧ (x̄1 ∨ x2 ∨ x4) adalah sebuah YES-instance.
(Contoh sertifikat: x1 = x2 = x4 = True, x3 = False).

🕑

Sebuah clique adalah himpunan simpul C dari graf G = (V, E) sehingga ∃ sebuah tepi antara setiap pasangan simpul yang berbeda dalam himpunan tersebut (u, v ∈ C, ∃ (u, v)). Himpunan C adalah subgraf lengkap dari G. Maka, ukuran clique adalah jumlah simpul dalam himpunan C.


Masalah keputusan CLIQUE menanyakan untuk sebuah graf G = (V, E): Apakah ada subgraf lengkap dalam G dengan ukuran setidaknya k?

🕑

Diberikan graf G = (V, E), sebuah subset C ⊆ V dikatakan sebagai cover simpul jika untuk setiap sisi (u, v) E, antara u ∈ C atau v ∈ C.


Diberikan graf G = (V, E), masalah VERTEX-COVER (VC) menanyakan: Apakah ada cover simpul dengan ukuran k?


Perlu dicatat bahwa kami telah membangun halaman visualisasi mvc khusus yang membahas masalah ini dan berbagai strategi untuk mengatasi masalah ini secara lebih rinci,

🕑

Diberikan sebuah graf tak berarah tak berbobot G = (V, E), masalah HAMILTONIAN-CYCLE (HC, terkadang disingkat menjadi HAM-CYCLE) menanyakan:
Apakah terdapat sebuah siklus (sederhana) yang melewati semua simpul tepat sekali?



Kiri/YES-instance (Contoh sertifikat: 0-1-3-4-2-0) ------- ------- ------- Kanan/NO-instance

🕑

Diberikan sebuah graf komplet tak berarah dengan sisi berbobot tak negatif dan b ∈ R+,
masalah TRAVELING-SALESPERSON-PROBLEM (TSP) menanyakan:
Apakah terdapat tour dengan biaya tidak lebih dari b?



YES-instance untuk b = 108 tapi NO-instance untuk b = 107 karena OPT = 108


Catat bahwa kami telah membuat sebuah laman visualisasi spesial untuk tsp yang membahas masalah ini dan beberapa strategi untuk menyelesaikan masalah ini dalam rincian yang mendalam.

🕑

Diberikan sebuah multiset S dengan N bilangan bulat (biasanya tak negatif): {A1, A2, ..., AN},
masalah SUBSET-SUM menanyakan:
Adakan sebuah subset dalam S yang mempunyai jumlah total W?


Contoh: N = 5, S = {5, 1, 5, 1, 4}, dan W = 7,
maka ini adalah YES-instance dengan sertifikat indeks {0, 1, 3} atau nilai {5, 1, 1} yang berjumlah 7.

🕑

Diberikan n item dinyatakan sebagai pasangan bilangan bulat tak-negatif (w1, v1), (w2, v2), ..., (wn, vn), kapasitas W dan target V, apakah terdapat sebuah subset dari item-item tersebut yang mempunyai berat total tak lebih dari W dan nilai total tidak kurang dari V?


YES-instance: n = 5: {(12, 4), (1, 2), (4, 10), (1, 1), (2, 2)}, W = 15, dan V = 15, sertifikat: ambil semua item kecuali item (12, 4), dengan berat total 8 dan nilai total 15.


NO-instance: menggunakan instance yang sama tetapi V = 16.

🕑

Diberikan graf G = (V, E), sebuah subset X ⊆ V dikatakan sebagai set independen jika untuk setiap pasangan simpul u, v ∈ X, maka (u, v) ∉ E.


Diberikan graf G = (V, E), masalah INDEPENDENT-SET (IS) menanyakan: Apakah ada set independen dengan ukuran ≥ k?


Perlu dicatat bahwa kami telah membangun halaman visualisasi mvc khusus yang membahas masalah ini dan berbagai strategi untuk mengatasi masalah ini secara lebih rinci (ingat bahwa satu set simpul adalah IS jika dan hanya jika komplemennya adalah VC).

🕑

Halaman ini adalah stub untuk menjelaskan masalah 3-D-MATCHING (3DM).

🕑

Halaman ini adalah stub untuk menjelaskan masalah PARTITION-INTO-TRIANGLES (PIT).

🕑

Halaman ini adalah stub untuk menjelaskan masalah FEEDBACK-EDGE-SET (FES).

🕑

Halaman ini adalah stub untuk menjelaskan masalah SET-COVER (SC).

🕑

Diberikan sebuah himpunan T terdiri dari bilangan bulat tak-negatif, apakah kita bisa mempartisi T menjadi dua himpunan dengan jumlah yang sama?


YES-instance: T = [18, 2, 8, 5, 7, 24], sertifikat: S1 = [18, 5, 7, 2] dan S2 = [8, 24]
NO-instance: T = [1, 2]


Catatan: Jelas bahwa jika jumlah dari T ganjil, kita tidak bisa mempartisi T menjadi dua himpunan dengan jumlah yang sama (otomatis menjadi NO instance). Tanpa mengurangi sifat umum, masalah PARTITION biasanya dikerjakan untuk instance dengan jumlah dari T adalah genap.

🕑

Diberikan sebuah graf G = (V, E), sebuah set dominasi D adalah subset dari simpul-simpul sehingga untuk semua simpulu yang tidak ada di D, ada simpul v di D sedemikian sehingga (u, v) adalah sebuah sisi di G (yaitu, u bersebelahan dengan v).


Masalah keputusan Dominating-Set menanyakan apakah, diberikan sebuah bilangan bulat k, ada sebuah himpunan dominasi di G dengan ukuran paling banyak k.

🕑

Diberikan sebuah himpunan S = {S1, S2, ..., Sn} yang terdiri dari himpunan, sebuah himpunan H adalah hitting set dari S
jika untuk semua Si, H ∩ Si ≠ ∅ (yakni, H mempunyai irisan tidak kosong dengan semua Si).


Diberikan sebuah himpunan S yang terdiri dari himpunan dan sebuah bilangan bulat tak-negatif k, masalah HITTING-SET (HS) menanyakan:
Apakah terdapat hitting set dari S dengan ukuran ≤ k?.


Contoh: S = {S1, S2, S3, S4}, S1 = {2, 3}, S2 = {6, 7}, S3 = {1, 4, 5, 7}, S4 = {3, 7, 8}, k = 2, maka ini adalah YES-instance dengan sertifikat H = {3, 7}.

🕑

Reduksi C-SAT ≤p CNF-SAT ditunjukkan di bab 34 CLRS.

🕑

Reduksi CNF-SAT ≤p 3-SAT ditunjukkan di bab 34 CLRS.

🕑

Halaman ini adalah stub untuk menjelaskan reduksi 3-SAT ≤p CLIQUE.

🕑

Halaman ini adalah stub untuk menjelaskan reduksi 3-SAT ≤p SUBSET-SUM.

🕑
Ide utama (petunjuk utama) adalah bahwa 3-CNF-SAT mempunyai k klausa (disjungsi dari 3 literal) tetapi IS berada pada graf G = (V, E). Bagaimana jika membuat k segitiga (dengan 3 simpul menyatakan 3 literal) dan melakukan sesuatu berhubungan dengan sebuah variabel dan negasinya.

Apakah anda bisa menyelesaikan rincian dari reduksi waktu-polinomial dan pembuktiannya sendiri?
Cobalah terlebih dahulu sebelum tekan tombol selanjutnya.
🕑

Untuk setiap klausa, buat 3 simpul di G, satu untuk setiap literal. Kami menghubungkan ketiga literal dari sebuah klausa menjadi sub-graf segitiga. Kami juga menghubungkan literal ke setiap negasinya (dalam klausa lainnya). Kriteria IS akan memastikan bahwa kita hanya memilih satu variabel per segitiga dan kita tidak akan memilih variabel dalam satu klausa dan negasinya dalam klausa lainnya.


Perhatikan bahwa reduksi ini berjalan dalam waktu-polinomial.


Teorema: YES-instance untuk 3-SAT jika dan hanya jika YES-instance untuk IS.

Bukti: TBA

🕑
TBA
🕑

Halaman ini adalah stub untuk menjelaskan reduksi CLIQUE ≤p VC.

🕑

Halaman ini adalah stub untuk menjelaskan reduksi VC ≤p HC.

🕑
TBA
🕑
TBA
🕑
TBA
🕑
Ide utama (petunjuk utama) adalah bahwa VC memiliki graf G dengan simpul V dan sisi E, tetapi HC memiliki n himpunan bilangan bulat. Bagaimana jika mengonversi sisi menjadi himpunan berukuran dua?

Apakah anda bisa menyelesaikan rincian dari reduksi waktu-polinomial dan pembuktiannya sendiri?
Cobalah terlebih dahulu sebelum tekan tombol selanjutnya.
🕑

Ambillah sebuah instance (G = (V, E), k) dari VC.
Untuk tiap sisi e = (u, v), e ∈ E, kita membentuk sebuah himpunan Se = {u, v} dari HC.
Maka instance HC yang telah dirubah menjadi: ({Se | e ∈ E}, k).


Catat bahwa reduksi ini berjalan dalam waktu-polinomial, tepatnya O(E).


Dapat mudah dilihat bahwa YES-instance untuk VC jika dan hanya jika YES-instance untuk HC.


Bukti diabaikan: Simpul-simpul C dari VC berhubungan dengan elemen-elemen H dari HS dan sebaliknya.

🕑

Ide kuncinya (petunjuk besar) adalah untuk membangun sebuah graf kopmlet G' sehingga HC dalam G merupakan TSP tour biaya minimum dari G'.


Apakah anda bisa menyelesaikan rincian dari reduksi waktu-polinomial dan pembuktiannya sendiri?
Cobalah terlebih dahulu sebelum tekan tombol selanjutnya.

🕑

Misalkan G = (V, E) merupakan instance α dari HC. Kita membangun instance β dari TSP sebagai berikut: buatlah sebuah graf komplet G' pada V simpul-simpul yang sama, tetapi untuk setiap pasangan u, v ∈ V: jika u, v ∈ E, maka w(u, v) = 1, dan w(u, v) = 2 (atau nilai apapun yang lebih dari 1) jika tidak.


Catat bahwa reduksi ini berjalan dalam waktu-polinomial, lebih tepatnya O(n2) karena terdapat tidak lebih dari C(n, 2) sisi yand ditambahkan dari G ke G'.


Teorema: G mempunyai Siklus Hamiltonian jika dan hanya jika G' mempunyai jalur TSP dengan biaya tidak lebih dari n.


Bukti: Bagikan menjadi dua bagian:
• (jika) G' mempunyai jalur TSP dengan biaya tidak lebih dari n (YES-instance dari TSP) → G mempunyai Siklus Hamiltonian (YES-instance dari HC)

• (hanya jika) G mempunyai Siklus Hamiltonian (YES-instance dari HC) → G' mempunyai jalur TSP dengan biaya tidak lebih dari n (YES-instance dari TSP)

🕑

The content of this interesting slide (the answer of the usually intriguing discussion point from the earlier slide) is hidden and only available for legitimate CS lecturer worldwide. This mechanism is used in the various flipped classrooms in NUS.


If you are really a CS lecturer (or an IT teacher) (outside of NUS) and are interested to know the answers, please drop an email to stevenhalim at gmail dot com (show your University staff profile/relevant proof to Steven) for Steven to manually activate this CS lecturer-only feature for you.


FAQ: This feature will NOT be given to anyone else who is not a CS lecturer.

🕑

The content of this interesting slide (the answer of the usually intriguing discussion point from the earlier slide) is hidden and only available for legitimate CS lecturer worldwide. This mechanism is used in the various flipped classrooms in NUS.


If you are really a CS lecturer (or an IT teacher) (outside of NUS) and are interested to know the answers, please drop an email to stevenhalim at gmail dot com (show your University staff profile/relevant proof to Steven) for Steven to manually activate this CS lecturer-only feature for you.


FAQ: This feature will NOT be given to anyone else who is not a CS lecturer.

🕑

TBA

🕑
TBA
🕑

TBA

🕑
Ide kunci (petunjuk besar) adalah PARTITION hanya mempunyai n bilangan tetapi KNAPSACK mempunyai n pasangan bilangan bulat. Bagaimana jika kita menduplikatkan bilangan-bilangan? Juga, PARTITION mempunyai nilai target yang spesifik (setengah dari jumlah nilai dari n bilangan) yang juga bisa digunakan sebagai parameter untuk KNAPSACK?

Apakah anda bisa menyelesaikan rincian dari reduksi waktu-polinomial dan pembuktiannya sendiri?
Cobalah terlebih dahulu sebelum tekan tombol selanjutnya.
🕑

Given a PARTITION instance α with T = [w1, w2, ..., wn] with total sum S = ∑i=[1..n] wi, construct a KNAPSACK instance β: {(w1, w1), (w2,w2), ..., (wn,wn)}
with capacity W = S/2 and threshold V = S/2.


Take note that this reduction runs in poly-time, to be precise O(n · log (wmax)) as it just copies n weights to n (weight, weight-as-value) pairs. If we assume wmax fits in standard 32/64-bit signed Integers, then log (wmax)) is just 32/64 respectively and this reduction runs in O(n).


Theorem: YES-instance for PARTITION if and only YES-instance for KNAPSACK.


Proof: Split into two parts:
• YES-instance for PARTITION → YES-instance for KNAPSACK.
• YES-instance for KNAPSACK → YES-instance for PARTITION.

🕑

The content of this interesting slide (the answer of the usually intriguing discussion point from the earlier slide) is hidden and only available for legitimate CS lecturer worldwide. This mechanism is used in the various flipped classrooms in NUS.


If you are really a CS lecturer (or an IT teacher) (outside of NUS) and are interested to know the answers, please drop an email to stevenhalim at gmail dot com (show your University staff profile/relevant proof to Steven) for Steven to manually activate this CS lecturer-only feature for you.


FAQ: This feature will NOT be given to anyone else who is not a CS lecturer.

🕑

The content of this interesting slide (the answer of the usually intriguing discussion point from the earlier slide) is hidden and only available for legitimate CS lecturer worldwide. This mechanism is used in the various flipped classrooms in NUS.


If you are really a CS lecturer (or an IT teacher) (outside of NUS) and are interested to know the answers, please drop an email to stevenhalim at gmail dot com (show your University staff profile/relevant proof to Steven) for Steven to manually activate this CS lecturer-only feature for you.


FAQ: This feature will NOT be given to anyone else who is not a CS lecturer.


You have reached the last slide. Return to 'Exploration Mode' to start exploring!

Note that if you notice any bug in this visualization or if you want to request for a new visualization feature, do not hesitate to drop an email to the project leader: Dr Steven Halim via his email address: stevenhalim at gmail dot com.

🕑
Tentang Tim Syarat Guna Kebijakan Privasi

Tentang

VisuAlgo digagas pada tahun 2011 oleh Associate Professor Steven Halim sebagai alat untuk membantu murid-muridnya mengerti struktur-struktur data dan algoritma-algoritma, dengan memampukan mereka untuk mempelajari dasar-dasarnya secara otodidak dan dengan kecepatan mereka sendiri.


VisuAlgo mempunya banyak algoritma-algoritma tingkat lanjut yang dibahas didalam buku Dr. Steven Halim ('Competitive Programming', yang ditulis bersama adiknya Dr. Felix Halim dan temannya Dr. Suhendry Effendy) dan lebih lagi. Hari ini, beberapa dari visualisasi/animasi algoritma-algoritma tingkat lanjut ini hanya ditemukan di VisuAlgo.


Meskipun pada khususnya didesain untuk murid-murid National University of Singapore (NUS) yang mengambil berbagai kelas-kelas struktur data dan algoritma (contoh: CS1010/setara, CS2040/setara (termasuk IT5003), CS3230, CS3233, dan CS4234), sebagai pendukung pembelajaran online, kami berharap bahwa orang-orang di berbagai belahan dunia menemukan visualisasi-visualisasi di website ini berguna bagi mereka juga.


VisuAlgo tidak didesain untuk layar sentuh kecil (seperti smartphones) dari awalnya karena kami harus membuat banyak visualisasi-visualisasi algoritma kompleks yang membutuhkan banyak pixels dan gestur klik-dan-tarik untuk interaksinya. Resolusi layar minimum untuk pengalaman pengguna yang lumayan adalah 1366x768 dan hanya halaman utama VisuAlgo yang secara relatif lebih ramah dengan layar kecil. Tetapi, kami sedang bereksperimen dengan versi mobil (kecil) dari VisuAlgo yang akan siap pada April 2022.


VisuAlgo adalah proyek yang sedang terus berlangsung dan visualisasi-visualisasi yang lebih kompleks sedang dibuat. Pada saat ini, platform ini mempunyai 24 modul visualisasi.


Perkembangan yang paling menarik adalah pembuatan pertanyaan otomatis (sistem kuis online) yang bisa dipakai oleh murid-murid untuk menguji pengetahuan mereka tentang dasar struktur-struktur data dan algoritma-algoritma. Pertanyaan-pertanyaan dibuat secara acak dengan semacam rumus dan jawaban-jawaban murid-murid dinilai secara instan setelah dikirim ke server penilai kami. Sistem kuis online ini, saat sudah diadopsi oleh banyak dosen Ilmu Komputer diseluruh dunia, seharusnya bisa menghapuskan pertanyaan-pertanyaan dasar tentang struktur data dan algoritma dari ujian-ujian di banyak Universitas. Dengan memberikan bobot kecil (tapi tidak kosong) supaya murid-murid mengerjakan kuis online ini, seorang dosen Ilmu Komputer dapat dengan signifikan meningkatkan penguasaan materi dari murid-muridnya tentang pertanyaan-pertanyaan dasar ini karena murid-murid mempunyai kesempatan untuk menjawab pertanyaan-pertanyaan ini yang bisa dinilai secara instan sebelum mereka mengambil kuis online yang resmi. Mode latihan saat ini mempunyai pertanyaan-pertanyaan untuk 12 modul visualisasi. Kami akan segera menambahkan pertanyaan-pertanyaan untuk 12 modul visualisasi yang lainnya sehingga setiap setiap modul visualisasi di VisuAlgo mempunyai komponen kuis online.


Kami telah menerjemahkan halaman-halaman VisuALgo ke tiga bahasa-bahasa utama: Inggris, Mandarin, dan Indonesia. Saat ini, kami juga telah menulis catatan-catatan publik tentang VisuAlgo dalam berbagai bahasa, termasuk Bahasa Indonesia, Korea, Vietnam, dan Thai:

id, kr, vn, th.

Tim

Pemimpin & Penasihat Proyek (Jul 2011-sekarang)
Associate Professor Steven Halim, School of Computing (SoC), National University of Singapore (NUS)
Dr Felix Halim, Senior Software Engineer, Google (Mountain View)

Murid-Murid S1 Peniliti 1
CDTL TEG 1: Jul 2011-Apr 2012: Koh Zi Chun, Victor Loh Bo Huai

Murid-Murid Proyek Tahun Terakhir/UROP 1
Jul 2012-Dec 2013: Phan Thi Quynh Trang, Peter Phandi, Albert Millardo Tjindradinata, Nguyen Hoang Duy
Jun 2013-Apr 2014 Rose Marie Tan Zhao Yun, Ivan Reinaldo

Murid-Murid S1 Peniliti 2
CDTL TEG 2: May 2014-Jul 2014: Jonathan Irvin Gunawan, Nathan Azaria, Ian Leow Tze Wei, Nguyen Viet Dung, Nguyen Khac Tung, Steven Kester Yuwono, Cao Shengze, Mohan Jishnu

Murid-Murid Proyek Tahun Terakhir/UROP 2
Jun 2014-Apr 2015: Erin Teo Yi Ling, Wang Zi
Jun 2016-Dec 2017: Truong Ngoc Khanh, John Kevin Tjahjadi, Gabriella Michelle, Muhammad Rais Fathin Mudzakir
Aug 2021-Apr 2023: Liu Guangyuan, Manas Vegi, Sha Long, Vuong Hoang Long, Ting Xiao, Lim Dewen Aloysius

Murid-Murid S1 Peniliti 3
Optiver: Aug 2023-Oct 2023: Bui Hong Duc, Oleh Naver, Tay Ngan Lin

Murid-Murid Proyek Tahun Terakhir/UROP 3
Aug 2023-Apr 2024: Xiong Jingya, Radian Krisno, Ng Wee Han, Tan Chee Heng
Aug 2024-Apr 2025: Edbert Geraldy Cangdinata, Huang Xing Chen, Nicholas Patrick

List of translators who have contributed ≥ 100 translations can be found at statistics page.

Ucapan Terima Kasih
Proyek ini dimungkinkan karena Hibah Pengembangan Pengajaran dari NUS Centre for Development of Teaching and Learning (CDTL).

Syarat Guna

VisuAlgo bebas biaya untuk komunitas Ilmu Komputer di dunia. Jika anda menyukai VisuAlgo, satu-satunya "pembayaran" yang kami minta dari anda adalah agar anda menceritakan keberadaan VisuAlgo kepada murid-murid/dosen-dosen Ilmu Komputer. Anda dapat menceritakan tentang VisuAlgo melewati media sosial yang anda tahu lewat postingan Facebook/Twitter/Instagram/TikTok, situs mata kuliah, ulasan di blog, email-email, dsb.


Mahasiswa dan pengajar Struktur Data dan Algoritma (DSA) dipersilakan untuk menggunakan situs web ini langsung untuk kelas mereka. Jika Anda mengambil tangkapan layar atau video dari situs ini, Anda dapat menggunakannya di tempat lain, asalkan mencantumkan URL situs web ini (https://visualgo.net) dan/atau daftar publikasi di bawah sebagai referensi. Namun, harap hindari mengunduh file sisi-klien VisuAlgo dan menghostingnya di situs web Anda, karena ini dianggap sebagai plagiarisme. Saat ini, kami tidak mengizinkan orang lain untuk melakukan fork proyek ini atau membuat varian VisuAlgo. Penggunaan pribadi salinan offline dari sisi-klien VisuAlgo diperbolehkan.


Harap diperhatikan bahwa komponen kuis online VisuAlgo memiliki elemen sisi-server yang substansial, dan tidak mudah menyimpan skrip dan basis data sisi-server secara lokal. Saat ini, publik umum hanya dapat mengakses sistem kuis online melalui 'mode latihan.' 'Mode uji' menawarkan lingkungan yang lebih terkontrol untuk menggunakan pertanyaan yang dihasilkan secara acak dan verifikasi otomatis dalam ujian-ujian nyata di NUS.


Daftar Publikasi


Karya ini telah dipresentasikan singkat pada CLI Workshop sewaktu ACM ICPC World Finals 2012 (Poland, Warsaw) dan pada IOI Conference di IOI 2012 (Sirmione-Montichiari, Italy). Anda bisa mengklik link ini untuk membaca makalah kami tahun 2012 tentang sistem ini (yang belum disebut sebagai VisuAlgo pada tahun 2012 tersebut).


Laporan Bug atau Permintaan Fitur Baru


VisuAlgo bukanlah proyek yang sudah selesai. Associate Professor Steven Halim masih aktif dalam mengembangkan VisuAlgo. Jika anda adalah pengguna VisuAlgo dan menemukan bug di halaman visualisasi/sistem kuis online atau jika anda mau meminta fitur baru, silahkan hubungi Associate Professor Steven Halim. Alamat emailnya adalah gabungan dari namanya dan tambahkan gmail titik com.

Kebijakan Privasi

Versi 1.2 (Dimutakhirkan Jum, 18 Aug 2023).
Sejak Jumat, 18 Aug 2023, kami tidak lagi menggunakan Google Analytics. Semua cookie yang kami gunakan sekarang hanya untuk operasi situs web ini. Popup persetujuan cookie yang mengganggu sekarang dimatikan bahkan untuk pengunjung pertama kali.
Sejak Jumat, 07 Jun 2023, berkat sumbangan yang murah hati dari Optiver, siapa pun di dunia bisa membuat akun VisuAlgo sendiri untuk menyimpan beberapa pengaturan kustomisasi (seperti mode layout, bahasa default, kecepatan pemutaran, dll).
Selain itu, untuk mahasiswa NUS, dengan menggunakan akun VisuAlgo (sebuah tupel dari alamat email NUS resmi, nama murid resmi NUS seperti dalam daftar kelas, dan sebuah kata sandi yang dienkripsi pada sisi server — tidak ada data personal lainnya yang disimpan), anda memberikan ijin kepada dosen modul anda untuk melacak pembacaan slide-slide kuliah maya dan kemajuan latihan kuis online yang dibutuhkan untuk menjalankan modul tersebut dengan lancar. Akun VisuAlgo anda akan juga dibutuhkan untuk mengambil kuis-kuis VisuAlgo online resmi sehingga memberikan kredensial akun anda ke orang lain untuk mengerjakan Kuis Online sebagai anda adalah pelanggaran akademis. Akun pengguna anda akan dihapus setelah modul tersebut selesai kecuali anda memilih untuk menyimpan akun anda (OPT-IN). Akses ke basis data lengkap dari VisuAlgo (dengan kata-kata sandi terenkripsi) dibatasi kepada Prof Halim saja.
Untuk dosen-dosen Ilmu Komputer di seluruh dunia yang telah menulis kepada Steven, sebuah akun VisuAlgo (alamat email (bukan-NUS), anda dapat menggunakan nama panggilan apapun, dan kata sandi terenkripsi) dibutuhkan untuk membedakan kredensial online anda dibandingkan dengan orang-orang lain di dunia. Akun anda akan dilacak seperti seorang murid NUS biasa diatas tetapi akun anda akan mempunya fitur-fiture spesifik untuk dosen-dosen Ilmu Komputer, yaitu kemampuan untuk melihat slide-slide tersembunyi yang berisi jawaban-jawaban (menarik) dari pertanyaan-pertanyaan yang dipresentasikan di slide-slide sebelumnya sebelum slide-slide tersembunyi tersebut. Anda juga dapat mengakses setingan Susah dari Kuis-Kuis Online VisuAlgo. Anda dapat dengan bebas menggunakan materi-materia untuk memperkaya kelas-kelas struktur-struktur data dan algoritma-algoritma anda. Catat bahwa mungkin ada fitur-fitur khusus tambahan untuk dosen Ilmu Komputer di masa mendatang.
Untuk siapapun dengan akun VisuAlgo, anda dapat membuang akun anda sendiri bila anda tidak mau lagi diasosiasikan dengan tool VisuAlgo ini.