Presentation is loading. Please wait.

Presentation is loading. Please wait.

Emil Bremer Orloff Dyalog’14 Eastbourne, UK. What will this be about ” Emil will describe his experiences of Dyalog and tell us how he managed to master.

Similar presentations


Presentation on theme: "Emil Bremer Orloff Dyalog’14 Eastbourne, UK. What will this be about ” Emil will describe his experiences of Dyalog and tell us how he managed to master."— Presentation transcript:

1 Emil Bremer Orloff Dyalog’14 Eastbourne, UK

2 What will this be about ” Emil will describe his experiences of Dyalog and tell us how he managed to master enough of it to win the competition.”

3 What will this be about About me Relation to APL The competition

4 About me Studying Computer Science at Aarhus University

5 About me Studying Computer Science at Aarhus University

6 About me Studying Computer Science at Aarhus University 4 years into my master’s degree

7 About me Studying Computer Science at Aarhus University 4 years into my master’s degree Specialized in Cryptography and programming languages Programming experience in: Java, Ocaml, SML, C, Coq, (Matlab)

8 My first encounter with APL

9 2011: my department shared a link to the Dyalog Competition

10 My first encounter with APL 2011: my department shared a link to the Dyalog Competition A horrible mess of funny characters!

11 My first encounter with APL 2011: my department shared a link to the Dyalog Competition A horrible mess of funny characters! Became interessted due to the nature of the language – had to use another approach Didn’t have time to learn

12 Fastforward  2014 Last chance to compete as a student

13 Fastforward  2014 Last chance to compete as a student Legrand’s book

14 The Competition Phase 1 10 problems solved using dfns Here follows a couple of my solutions

15 Problem 5 - Mirror Mirror Tell if a given strings is a palidrome

16 Problem 5 - Mirror Mirror Tell if a given strings is a palidrome Naïve: { ⍵ ≡ ⌽⍵ }

17 Problem 5 - Mirror Mirror Tell if a given strings is a palidrome Naïve: { ⍵ ≡ ⌽⍵ } Unfortunately only letters are relevant

18 Problem 5 - Mirror Mirror Tell if a given strings is a palidrome Naïve: { ⍵ ≡ ⌽⍵ } Unfortunately only letters are relevant {{ ⍵ ≡ ⌽⍵ }( ⍵∊ 'abcdefghijklmnopqrs tuvwxyzABCDEFGHIJKLMNOPQRSTUVWX YZ')/ ⍵ }

19 Problem 8- Go the distance Find the distance between two points in n- dimensional space

20 Problem 8- Go the distance Find the distance between two points in n- dimensional space {(+/( ⍵ - ⍺ )*2)*0.5}

21 Part II Consisted of 3 problem sets Each containing 3 parts (easy, medium, hard)

22 Part II Consisted of 3 problem sets Each containing 3 parts (easy, medium, hard) Bioinformatics Cryptography Recreation and games

23 Part II Consisted of 3 problem sets Each containing 3 parts (easy, medium, hard) Bioinformatics (easy, medium, hard) Cryptography (easy, hard) Recreation and Games (hard)

24 Bioinformatics K-mer counting Most frequent k-mers Clump finding Approximate pattern matching Shared k-mers Longest shared substring Shortest non-shared substring Edit distance

25 Bioinformatics K-mer counting Most frequent k-mers Clump finding Approximate pattern matching Shared k-mers Longest shared substring Shortest non-shared substring Edit distance

26 Bioinformatics K-mer counting Most frequent k-mers Clump finding Approximate pattern matching Shared k-mers Longest shared substring Shortest non-shared substring Edit distance Substringsand ⍷

27 Substring Created a helper function that could create all substrings of a given length

28 Substring Created a helper function that could create all substrings of a given length Create all relevant indexes

29 Substring Created a helper function that could create all substrings of a given length Creating all relevant indexes

30 Substring Created a helper function that could create all substrings of a given length Creating all relevant indexes Use N-Wise reduce! { ⍵ > ⍴⍺ :'' ⍵,/ ⍺ } Changed shortly before deadline

31 Bioinformatics K-mer counting Most frequent k-mers Clump finding Approximate pattern matching Shared k-mers Longest shared substring Shortest non-shared substring Edit distance SubstringsAnd ⍷

32 Edit distance Given two strings find the minimal edits that brings the first to the second An edit: Insert a character Delete a character

33 Edit distance Generate a matrix that gives the editdistance between the substrings

34 Edit distance Generate a matrix that gives the editdistance between the substrings manly 012345 m101234 a210123 n321012 y432111

35 Edit distance Generate a matrix that gives the editdistance between the substrings manly 012345 m101234 a210123 n321012 y432111 First row and first column are always the same

36 Edit distance Each element in table is given by 0+value to NW if the characters match 1+the minimum value to the W, NW or N if the characters does not match

37 Edit distance Each element in table is given by 0+value to NW if the characters match 1+the minimum value to the W, NW or N if the characters does not match Which is min(cost+NW, 1+W, 1+N)

38 Edit distance firstRow←( ⍳ 1+ ⍴ t)-1

39 Edit distance firstRow←( ⍳ 1+ ⍴ t)-1 nextRow←{ {( ⍺ +1) ⌊⍵ }\(1+ ⍵ ) ⌊ (1+ ⊃⍵ ),(¯1↓ ⍵ )+ ⍺ ≠t }

40 Edit distance firstRow←( ⍳ 1+ ⍴ t)-1 nextRow←{ {( ⍺ +1) ⌊⍵ }\(1+ ⍵ ) ⌊ (1+ ⊃⍵ ),(¯1↓ ⍵ )+ ⍺ ≠t } lastRow← ⊃ nextRow/( ⌽ s), ⊂ firstRow ed← ⊃⌽ lastRow

41 Edit distance firstRow←( ⍳ 1+ ⍴ t)-1 nextRow←{ {( ⍺ +1) ⌊⍵ }\(1+ ⍵ ) ⌊ (1+ ⊃⍵ ),(¯1↓ ⍵ )+ ⍺ ≠t } lastRow← ⊃ nextRow/( ⌽ s), ⊂ firstRow ed← ⊃⌽ lastRow

42 What was actually delivered

43 Cryptography Viginère cipher Book cipher variation Playfair cipher

44 Cryptography Viginère cipher Book cipher variation Playfair cipher

45 Recreation and Games Word search Scrabble Bridge

46 Recreation and Games Word search Scrabble Bridge

47


Download ppt "Emil Bremer Orloff Dyalog’14 Eastbourne, UK. What will this be about ” Emil will describe his experiences of Dyalog and tell us how he managed to master."

Similar presentations


Ads by Google