34
nilai
yang
tersedia
padanya, menjaga
agar
variabel
tersebut
konsisten dengan
pemanggilan recursive
yang
subsequent.
Backtracking mirip
dengan
Depth-first-
Serach
tapi
menggunakan
lebih sedikit space,
menyimpan 1
state solusi pada saat
itu dan meng-update-nya.
Untuk
mempercepat
pencarian,
saat
suatu
nilai
dipilih,
sebelum
membuat
pemanggilan
recursive,
algoritmanya
menghapus
nilai
dari
domain-domain yang
belum
diatur
yang
saling
berlawanan
(forward
checking)
atau
mengecek
semua
halangan (constraint)
untuk
melihat apakah
nilai-nilai
lain di
luar
nilai
yang baru
diatur
(constraint
propagation).
Ini
merupakan teknik
paling
efisien
untuk
beberapa masalah
seperti
0/1
knapsack
dan
n-queen
problem.
Teknik
ini
memberikan hasil
yang
lebih
baik
dari
dynamic
proggraming untuk
masalah-
masalah seperti ini.
2.11
Anagram
Kata
anagram
berasal
dari
bahasa
Yunani
ana
yang
berarti
kembali
atau
lagi
dan
graphien
yang
berarti
menulis.
Anagram
adalah
suatu
tipe
permainan
kata,
hasil dari perombakkan
huruf-huruf
dari kata atau
frase
untuk
menghasilkan
kata-kata
lain,
dengan
menggunakan semua
huruf-huruf
asalnya
sekaligus.
Seseorang yang menciptakan anagram disebut anagramist.
Anagram
seringkali
diekspresikan dalam
bentuk persamaan,
dengan
simbol
ekual (=)
memisahkan subjek awal
dan
hasil
anagramnya. Earth =
Heart adalah
salah satu contoh ekspresi anagram menggunakan simbol =.
|