<prompt> Tengeneza algoriti ili kutambua mfuatano mrefu zaidi wa kawaida katika mifuatano miwili.  <response>: Mojawapo ya algoriti bora zaidi ya kupata Mafuatano Marefu Zaidi ya Kawaida LCS kati ya mifuatano miwili ni mbinu ya programu inayobadilika. Hivi ndivyo algorithm inavyofanya kazi kutokana na mifuatano ya ingizo A na B. Algorithm 1. Kwanza, tengeneza tumbo la pande mbili L la ukubwa m1, n1, ambapo m na n ni urefu wa nyuzi mbili za pembejeo. Safu mlalo zinawakilisha herufi za mfuatano A huku safu wima zikiwakilisha herufi za mfuatano B. 2. Anzisha safu mlalo ya kwanza na safu wima ya kwanza ya matrix L kwa sufuri, kwani hakuwezi kuwa na mfuatano wowote wa kawaida wa mifuatano ya urefu sifuri. 3. Kwa seli zilizosalia, rudia kupitia safu mlalo ya matrix kwa safu, kuanzia safu mlalo ya pili na safu wima ya pili: a. Ikiwa herufi zinazowakilishwa na safu mlalo na safu wima ya sasa ni sawa, ongeza moja kwenye thamani ya kisanduku cha mlalo na uihifadhi katika kisanduku cha sasa. b. Vinginevyo, weka thamani ya juu zaidi ya visanduku vilivyo karibu vilivyo upande wa kushoto na juu wa kisanduku cha sasa. 4. Seli ya chini kulia ya tumbo itakuwa na urefu wa LCS. 5. Ili kupata tena LCS, anza kutoka kisanduku cha chini kulia na upitie matriki kuelekea nyuma. Ikiwa thamani ya kisanduku cha sasa si sawa na thamani yoyote ya seli iliyo karibu kushoto au ya juu, herufi inayowakilishwa na kisanduku ni sehemu ya LCS. Sogeza kwa kimshazari hadi kwenye seli inayofuata. a. Vinginevyo, nenda kwenye kisanduku kilicho karibu kilicho na thamani ya juu zaidi. b. Rudia mchakato huo hadi safusafu wima ya kushoto kabisa au ya juu kabisa ifikiwe. python def longest_common_sequenceA: str, B: str: m, n lenA, lenB L 0 kwa x katika safun 1 kwa x katika safum 1 kwa i katika safu1, m1: kwa j katika safu1, n1: ikiwa Ai-1 Bj-1: Lij Li-1j-1 1 mwingine: Lij maxLi-1j, Lij-1 index L mn lcs index1 lcsindex i mj n wakati mimi 