fbpx
วิกิพีเดีย

ดัชนีเอฟเอ็ม

ดัชนีเอฟเอ็ม (FM-index) คือการนำเอาข้อความที่เกิดจากการสลับที่อย่างมีรูปแบบด้วย Burrows-Wheeler Transform (BWT) มาหาตำแหน่งของตัวอักษรที่เราต้องการ

ขั้นตอนการทำงาน

1.รับข้อมูลจากการสลับที่ของตัวอักษรจาก BWT ตัวอักษรที่ใส่เข้าไป เช่น abaaba จะได้ผลเป็น

 $abaaba a$abaab aaba$ab aba$aba abaaba$ ba$abaa baaba$a

2.ดูคอลัมน์แรกและคอลัมน์สุดท้ายเป็นหลัก ใช้ตัว $ ในการบอกตำแหน่ง

 0 $abaaba 6 $ 1 a$abaab 5 a$ 2 aaba$ab 2 aaba$ 3 aba$aba 3 aba$ 4 abaaba$ 0 abaaba$ 5 ba$abaa 4 ba$ 6 baaba$a 1 baaba$

3.ใส่ตัวอักษรที่ต้องการหาตำแหน่ง เช่น ตำแหน่งของ aba หาแถวที่ขึ้นต้นด้วยตัว a และมี b ต่อท้าย

 $abaaba → a$abaab← → aaba$ab← → aba$aba → abaaba$ ba$abaa baaba$a

4.ต้องการหาตำแหน่ง เช่น ตำแหน่งของ aba หาแถวที่ขึ้นต้นด้วยตัว ba และมี a ต่อท้าย

 $abaaba a$abaab aaba$ab aba$aba abaaba$ → ba$abaa← → baaba$a←

5.ตัดตำแหน่งอื่นออกจะเหลือตำแหน่งที่มีเฉพาะ aba อยู่ที่ [0,3]

 aba$aba 3 aba$ abaaba$ 0 abaaba$

ตัวอย่างการเขียนโปรแกรม

def FM_index(query):  def string_search (query, firstCol, bwtString,saArray,countTable,occTable):  hitSApositions = []  queryLength = len(query)  query = list(query)  initLetter = query.pop()  startOld = min(letter_range_in_string(initLetter,firstCol))  endOld = max(letter_range_in_string(initLetter,firstCol))  if queryLength ==1:  hitSApositions = letter_range_in_string(initLetter,firstCol)  else:  i = 2  while i <= queryLength:  letter = query.pop()  startOld = letter_LF(letter,startOld,bwtString,saArray,countTable,occTable)  endOld = letter_LF(letter,endOld,bwtString,saArray,countTable,occTable)  i+=1   hitSApositions= [startOld,endOld]   for i in range(len(hitSApositions)):  hitSApositions[i]=saArray[hitSApositions[i]]   return list(set(hitSApositions))   result = string_search(query, firstCol, bwtString,saArray,countTable,occTable)   return result 


อ้างอิง

 
  1. http://nbviewer.jupyter.org/gist/BenLangmead/6860491 https://www.cs.jhu.edu/~langmea/resources/lecture_notes/bwt_and_fm_index.pdf https://www.youtube.com/watch?v=kvVGj5V65io https://gist.github.com/Puriney/6324227

ชน, เอฟเอ, index, อการนำเอาข, อความท, เก, ดจากการสล, บท, อย, างม, ปแบบด, วย, burrows, wheeler, transform, มาหาตำแหน, งของต, วอ, กษรท, เราต, องการข, นตอนการทำงาน, แก, ไข1, บข, อม, ลจากการสล, บท, ของต, วอ, กษรจาก, วอ, กษรท, ใส, เข, าไป, เช, abaaba, จะได, ผลเป, a. dchniexfexm FM index khuxkarnaexakhxkhwamthiekidcakkarslbthixyangmirupaebbdwy Burrows Wheeler Transform BWT mahataaehnngkhxngtwxksrthieratxngkarkhntxnkarthangan aekikh1 rbkhxmulcakkarslbthikhxngtwxksrcak BWT twxksrthiisekhaip echn abaaba caidphlepn abaaba a abaab aaba ab aba aba abaaba ba abaa baaba a 2 dukhxlmnaerkaelakhxlmnsudthayepnhlk ichtw inkarbxktaaehnng 0 abaaba 6 1 a abaab 5 a 2 aaba ab 2 aaba 3 aba aba 3 aba 4 abaaba 0 abaaba 5 ba abaa 4 ba 6 baaba a 1 baaba 3 istwxksrthitxngkarhataaehnng echn taaehnngkhxng aba haaethwthikhuntndwytw a aelami b txthay abaaba a abaab aaba ab aba aba abaaba ba abaa baaba a 4 txngkarhataaehnng echn taaehnngkhxng aba haaethwthikhuntndwytw ba aelami a txthay abaaba a abaab aaba ab aba aba abaaba ba abaa baaba a 5 tdtaaehnngxunxxkcaehluxtaaehnngthimiechphaa aba xyuthi 0 3 aba aba 3 aba abaaba 0 abaaba twxyangkarekhiynopraekrm aekikhdef FM index query def string search query firstCol bwtString saArray countTable occTable hitSApositions queryLength len query query list query initLetter query pop startOld min letter range in string initLetter firstCol endOld max letter range in string initLetter firstCol if queryLength 1 hitSApositions letter range in string initLetter firstCol else i 2 while i lt queryLength letter query pop startOld letter LF letter startOld bwtString saArray countTable occTable endOld letter LF letter endOld bwtString saArray countTable occTable i 1 hitSApositions startOld endOld for i in range len hitSApositions hitSApositions i saArray hitSApositions i return list set hitSApositions result string search query firstCol bwtString saArray countTable occTable return resultxangxing aekikh 1 http nbviewer jupyter org gist BenLangmead 6860491 https www cs jhu edu langmea resources lecture notes bwt and fm index pdf https www youtube com watch v kvVGj5V65io https gist github com Puriney 6324227 ekhathungcak https th wikipedia org w index php title dchniexfexm amp oldid 7817835, wikipedia, วิกิ หนังสือ, หนังสือ, ห้องสมุด,

บทความ

, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม