1 / 61

HANU IT R&D Center Seminar Series

HANU IT R&D Center Seminar Series. On Optimal Training Time Algorithms for Positive and Negative Selection on strings with r-chunk matching rule. Presenter: Nguyen Van Truong Advisor : Assoc. Prof.  Nguyen Xuan Hoai HANU IT R&D Center. Contents. Overview of Artificial Immune Systems

Télécharger la présentation

HANU IT R&D Center Seminar Series

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. HANU IT R&D Center Seminar Series On Optimal Training Time Algorithms for Positive and Negative Selection on strings with r-chunk matching rule Presenter: Nguyen Van Truong Advisor : Assoc. Prof.  Nguyen Xuan Hoai HANU IT R&D Center

  2. Contents • Overview of Artificial Immune Systems • Positive/Negative Selection Algorithm • The best NSA with r-chunk matching rule • Proposed PSA and NSA with r-chunk matching rule

  3. Contents: • Overview of Artificial Immune Systems • Positive/Negative Selection Algorithm • The best NSA with r-chunk matching rule • Proposed PSA and NSA with r-chunk matching rule

  4. Role of the Immune System (IS) • Protect our bodies from infection • Primary immune response • Launch a response to invading pathogens • Secondary immune response • Remember past encounters • Faster response the second time around

  5. Where is it?

  6. Multiple layers of the IS

  7. Tree structure:

  8. Self/Non-Self Recognition • Immune system needs to be able to differentiate between self and non-self cells • Antigenic encounters may result in cell death, therefore • Some kind of positive selection • Some element of negative selection

  9. Immune System Network Environment Static Data Self Uncorrupted data Non-self Any change to self Active Processes on Single Host Cell Active process in a computer Multicellular organism Computer running multiple processes Population of organisms Set of networked computers Skin and innate immunity Security mechanisms, like passwords, groups, etc. Adaptive immunity Lymphocyte process able to query other processes to seek for abnormal behaviors Autoimmune response False alarm Self Normal behavior Non-self Abnormal behavior Network of Mutually Trusting Computers Organ in an animal Each computer in a network environment IS to Security Systems

  10. Immune System Computational System Pathogens (antigens) Computer viruses B-, T-cells and antibodies Detectors Proteins Strings Antibody/antigen binding Pattern matching Virus Detection

  11. Detection ability of our Virus Detecting System

  12. Contents: • Overview of Artificial Immune Systems • Positive/Negative Selection Algorithm • The best NSA with r-chunk matching rule • Proposed PSA and NSA with r-chunk matching rule

  13. Positive/Negative Selection Algorithm • Positive Selection Algorithm • Negative Selection Algorithm

  14. PSA: Stage 1- Detector generation No Yes No Yes

  15. PSA: Stage 2- Detection of new instances Yes No

  16. Positive/Negative Selection Algorithm • Positive Selection Algorithm • Negative Selection Algorithm

  17. NSA: Stage 1- Detector generation Yes No No Yes

  18. NSA: Stage 2- Detection of new instances No Yes

  19. 00000110 00000111 Contiguous five positions NSA example: Detector generation • Negative Selection Algorithm, • r-contiguous matching position, • Binary string representation method. Self set 00000110, 00000101, 00000100,…… (First five bits are 0) 00000111, 00000010, 11011001,…… 11011001,…… T-celldetectors produced randomly Matured T-cell detectors No Matching (r = 5) Yes 00000111, 00000010,…… Abandoned

  20. Two kinds of detector: r-chunk and r-contiguous • : an arbitrary alphabets • s ℓ: a binary string, ℓ = |s| • s[i,…,j]: a substring of s starts at position i.

  21. Two kinds of detector: r-chunk and r-contiguous Definition 1. An r-chunk detector (d, i) is a tuple of a string d  r and an integer i  {1,…, ℓ - r + 1}. It matches another string s  ℓ if s[i,…, i + r - 1] = d. Example: 3-chunk detector (000, 2) matches string s = 100010 {0,1}6 (s[2,…,4] = 000)

  22. Two kinds of detector: r-chunk and r-contiguous Definition 2. An r-contiguous detector is a string d  ℓ. It matches another string s  ℓ if there is an i  {1,…, ℓ - r + 1} with d[i,…, i + r - 1] = s[i,…, i + r - 1]. Example: 3-contiguous detector d = 111010 matches string s = 100010 {0,1}6 (d[4,…,6] = s[4,…,6])

  23. More NSA example: Self-set S  {a,b}5 with all 3-chunk detector All strings in {a,b}5 are classified as nonself (gray background) and self (white background: bolds string are member of S and the others are called holes)

  24. More NSA example: Self-set S  {a,b}5 with all 3-contiguous detector All strings in {a,b}5 are classified as nonself (gray background) and self (white background: bolds string are member of S and the others are called holes)

  25. Important Property The r-contiguous detectors are originally researched by many authors, and r-chunk detectors were later introduced to achieve better results (reduce number of holes) [3].

  26. Comparison r-chunk detector-based algorithms on binary strings [6] M. Elberfeld, J. Textor, Negative selection algorithms on strings with training and linear-time classification, Theoretical Computer Science, 412, 534-542, 2011.

  27. Contents: • Overview of Artificial Immune Systems • Positive/Negative Selection Algorithm • The best NSA with r-chunk matching rule • Proposed PSA and NSA with r-chunk matching rule

  28. The best NSA with r-chunk matching rule [6] M. Elberfeld, J. Textor, Negative selection algorithms on strings with training and linear-time classification, Theoretical Computer Science, 412, 534-542, 2011. • Have 3 steps: • Create tree Ti from S[i,..,i+r-1] • Construct prefix tree Ti’ by adjusting Ti • Connect Ti’ with Ti+1’:

  29. Step 1. Create tree Ti from S[i,..,i+r-1] Insert every s[1,..3] in to T1 Labels of edges are omitted Implicitly understand: left edge labeled with a and right edge with b. Given S  ∑5 = {a, b}5 S = { sb = abbbb; s2 = aabbb; s3 = baaaa; s4 = baaab; s5 = baaba; s6 = babba; s7 = bbbbb } ℓ = 5, r =3

  30. Step 1. Create tree Ti from S[i,..,i+r-1] Insert every s[1,..3] in to T1 (aab,1) (abb,1) (baa,1) (bab,1) (bbb,1) Given S  ∑5 = {a, b}5 S = { sb = abbbb; s2 = aabbb; s3 = baaaa; s4 = baaab; s5 = baaba; s6 = babba; s7 = bbbbb } ℓ = 5, r =3

  31. Step 1. Create tree Ti from S[i,..,i+r-1] Insert every s[2,..4] in to T2 Insert every s[3,..5] in to T3 Insert every s[1,..3] in to T1 (aab,1) (abb,1) (baa,1) (bab,1) (bbb,1) (aaa,2) (aab,2) (abb,2) (bbb,2) (aaa,3) (aab,3) (aba,3) (bba,3) (bbb,3) Given S  ∑5 = {a, b}5 S = { sb = abbbb; s2 = aabbb; s3 = baaaa; s4 = baaab; s5 = baaba; s6 = babba; s7 = bbbbb } ℓ = 5, r =3

  32. Create new leaf from non-leaf node • Delete node from which none of the newly created leaves is reachable Step 2. Construct prefix tree Ti’ by adjusting Ti Create new leaf Delete node Prefix tree T1’ Tree T1

  33. Step 2. Construct prefix tree Ti’ for i = 1, 2, 3 Tree T1 Prefix tree T1’ Prefix tree T2’ Tree T2 Prefix tree T3’ Tree T3

  34. Step 2. Construct prefix tree Ti’ for i = 1, 2, 3 Tree T1 Prefix tree T1’ Prefix tree T2’ Tree T2 Prefix tree T3’ Tree T3

  35. Step 3. Connect Ti’ with Ti+1’: insert failure links connect Ti’ with Ti+1’: Prefix tree T1’ Path aab A failure link Prefix tree T2’ Path aba

  36. Step 3. Connect Ti’ with Ti+1’ Prefix tree T1’ Prefix tree T2’ Connection of prefix tree T1’ and prefix tree T2’

  37. Connection of three prefix trees T1’, T2’ and T3’

  38. Connection of three prefix trees T1’, T2’ and T3’ • Turn the graph into a finite automaton • Time complexity: O(|S|ℓr)

  39. Contents: • Overview of Artificial Immune Systems • Positive/Negative Selection Algorithm • The best NSA • Proposed PSA and NSA with r-chunk matching rule

  40. Proposed PSA with r-chunk matching rule • S ℓ, n = |S|, si S, (i = 1,2,…,n), m = ||, m ≥2 • Array Q: Q[s][c] is a pointer used for creating new node in the tree, s r-1, c • Array P: P[i] is a struct with two fields, a pointer P[i].end and a string P[i].str  r-1, i = 1, 2,…,n.

  41. Procedure CONSTRUCT-POSITIVE-CHUNK-DETECTOR(S,r)

  42. Create tree T1 P[1].end bb P[1].str P[1] Given S  ∑5 = {a, b}5 S = { sb = abbbb; s2 = aabbb; s3 = baaaa; s4 = baaab; s5 = baaba; s6 = babba; s7 = bbbbb } ℓ = 5, r =3

  43. Create tree T1 ab bb aa aa aa ab bb P[2] P[1] P[3] P[4] P[5] P[6] P[7] Given S  ∑5 = {a, b}5 S = { sb = abbbb; s2 = aabbb; s3 = baaaa; s4 = baaab; s5 = baaba; s6 = babba; s7 = bbbbb } ℓ = 5, r =3

  44. Create tree T1 aa Q[aa][a] Q[aa][b] Given S  ∑5 = {a, b}5 S = { sb = abbbb; s2 = aabbb; s3 = baaaa; s4 = baaab; s5 = baaba; s6 = babba; s7 = bbbbb } ℓ = 5, r =3

  45. Create tree T1 Q[s][c] aa ab ba bb Given S  ∑5 = {a, b}5 S = { sb = abbbb; s2 = aabbb; s3 = baaaa; s4 = baaab; s5 = baaba; s6 = babba; s7 = bbbbb } ℓ = 5, r =3

  46. Create tree T1 ab bb aa aa aa ab bb P[2] P[1] P[3] P[4] P[5] P[6] P[7] aa ab ba bb S = { sb = abbbb; s2 = aabbb; s3 = baaaa; s4 = baaab; s5 = baaba; s6 = babba; s7 = bbbbb }

  47. Combination of T1 and T2 ab bb aa aa aa ab bb P[2] P[1] P[3] P[4] P[5] P[6] P[7] aa ab ba bb

  48. Combination of T1 and T2 ab bb ab bb P[2] P[1] P[6] P[7] aa ab ba bb

  49. Combination of T1 and T2 ab aa bb

More Related