Anda di halaman 1dari 2

NAMA : EKA SRI CAHYANTI

NPM : 51419984
KELAS : 1IA03
VCLASS M11 Algoritma & Pemrograman 2C
contoh penerapan dynamic programming
Dynamic Programming Longest Common Susequence
Jika ada dua sekuen X dan Y maka Z merupakan common subsequence dari X dan Y jika Z
adalah subsekuen dari X dan Y. misalnya X = (A,B,C,B,D,A,B) dan Y=(B,D,C,A,B,A), sekuen
(B,C,A) adalah common subsequence dari X dan Y, tetapi sekuen (B,C,A) bukan merupakan
longest common subsequence dari X dan Y karena hanya memiliki panjang 3. Dan sekuen
(B,C,B,A) adalah LCS karena common subsequence dari X dan Y dan memiliki panjang 4.
Diberikan dua sekuen X = (x1,x2,x3,…,xm) dan Y = (y1 y2, y3, …, yn), kemudian dicari
maximum-length common subsequence dari X dan Y. berikut ini akan diberikan langkah-
langkah dimana permasalahan LCS dapat diselesaikan secara efisien menggunakan dynamic
programming.

Langkah 1 : karakterisasi longest common subsequence


Teorema optimal substruktur dari LCS
Misal, X = (x1,x2,x3,…,xm) dan Y=(y1,y2,y3,…,yn) adalah sekuen dan Z = (z1,z2,z3,…,zk)
merupakan LCS dari X dan Y.
1. if xm = yn, then zk=xm=yn and Zk-1 is an LCS of Xm-1 and Yn-1.
2. if xm = yn, then zk=xm implies that Z is an LCS of Xm-1 and Y.
3. if xm = yn, then zk=xm implies that Z is an LCS of Xm and Yn-1.

Langkah 2 : recursive solution


c[I,j] merupakan length dari LCS pada sekuen Xi dan Yj, jika I = 0 atau j=0 maka LCS memiliki
length 0. b[I,j] penanda asal dari suatu nilai didapatkan. Optimal substruktur dari permasalahan
LCS dalam bentuk recursive formula.

Anda mungkin juga menyukai