Graphmaster

Graphmaster adalah sutu metode untuk menyimpan kategori stimulus-respon dari AIML (Artificial Intelligence Markup Language). Untuk mencapai efisiensi datalam pencocokan pola dan penggunaan memeri, maka AIML menggunakan metode Graphmaster. Dimana semua tag kategori "category" dalam AIML akan disimpan dalam bentuk pohon bermula dari mode root sampai ke path tertentu dari suatu pattern.

Graphmaster berbentuk sebuah pohon. Saat klien dari bot (agen) memasukkan teks sebagai stimulus maka Graphmaster akan mencari kategori untuk mencocokkannya kedalam fungsi pola sesuai dengan konteks kalimat, kemudian menghasilkan keluaran tamplate sebagai responnya.

Algoritme Graphmaster Matching 

Graphmaster Matching (Pencocokan Graphmaster) adalah pencocokan yang bersifat backtrack yaitu menggunakan depth-first search. Algoritme pencocokan Graphmaster yaitu:

Match(n, h):-

if h > k return true;

else exists m = G(n, _) and exists j in [h+1..k+1] | Match(m, j), return true;

else if exists m = G(n, w_j) and Match(m, h+1) return true;

else if Exists m = G(n, *) and exists j in [h+1..k+1] | Match(m, j), return true;

else return false;

Pada kasus pertama didefinisikan kondisi: 0 jika tidak ada katakunci dalam sebuah masukan maka katakunci telah cocok.

Inti dari Algoritme ini terdiri dari 3 kasus yaitu:

 Apakah node mempunyai "-"? Jika iya maka cari disubgrap yang akarnya adalah anak node yang mempunya kaitan dengan "_". Coba semua kemungkinan sufik dari masukan untuk melihat apakah hal itu cocok. Jika tidak maka lanjutkan ke poin ke 2
 Apakah node mempunyai kata wh, the jth dalam kalimat masukannya? Jika iya maka cari disubgraph yang mempunyai kaitan dengan w<sub>h, menggunkan ekor dari masukan wh+1,…,wk. Jika tidak maka lanjutkan ke poin ke 3
 Apakah node mempunya "*"? Jika iya cari disubgraphyang mempunyai root yang anak nodenya terkait dengan "*". Coba semua kemungkinan suffix untuk menemukan 1 yang cocok. Jika tidak maka berikan kemablian false.

Pemrograman komputer