a model of computer memory
play

A model of computer memory Ben Fairbairn Birkbeck, University of - PowerPoint PPT Presentation

A model of computer memory Ben Fairbairn Birkbeck, University of London Groups St Andrews, August 2013 Joint work with Peter Cameron and Max Gadouleau An application of group theory to genetics Ben Fairbairn Birkbeck, University of London


  1. A model of computer memory Ben Fairbairn Birkbeck, University of London Groups St Andrews, August 2013

  2. Joint work with Peter Cameron and Max Gadouleau

  3. An application of group theory to genetics Ben Fairbairn Birkbeck, University of London Groups St Andrews, August 2013

  4. The basic problem GAP, Version 4.6.4 of 04-May-2013 (free software, GPL) http://www.gap-system.org Architecture: i686-pc-cygwin-gcc-default32 Libs used: gmp, readline . . . Error, exceeded the permitted memory (‘-o’ command line option)

  5. Swapping two variables: undergraduate method x y t action 1 2 - -

  6. Swapping two variables: undergraduate method x y t action 1 2 - - 1 2 1 x ← t

  7. Swapping two variables: undergraduate method x y t action 1 2 - - 1 2 1 x ← t 2 2 1 y ← x

  8. Swapping two variables: undergraduate method x y t action 1 2 - - 1 2 1 x ← t 2 2 1 y ← x 2 1 1 t ← y

  9. Swapping two variables: the “XOR” trick x y action 1 2 -

  10. Swapping two variables: the “XOR” trick x y action 1 2 - 3 2 x + y ← x

  11. Swapping two variables: the “XOR” trick x y action 1 2 - 3 2 x + y ← x 3 1 x − y ← y

  12. Swapping two variables: the “XOR” trick x y action 1 2 - 3 2 x + y ← x 3 1 x − y ← y 2 1 x − y ← x

  13. Main definitions (Gadouleau & Riis)

  14. Main definitions (Gadouleau & Riis) ◮ Let A = { 0 , . . . , q − 1 } be a set and let n be a positive integer.

  15. Main definitions (Gadouleau & Riis) ◮ Let A = { 0 , . . . , q − 1 } be a set and let n be a positive integer. ◮ A bijection f : A n → A n is an instruction if

  16. Main definitions (Gadouleau & Riis) ◮ Let A = { 0 , . . . , q − 1 } be a set and let n be a positive integer. ◮ A bijection f : A n → A n is an instruction if for ( x 1 , . . . , x n ) ∈ A n such that f : ( x 1 , . . . , x n ) �→ ( y 1 , . . . , y n )

  17. Main definitions (Gadouleau & Riis) ◮ Let A = { 0 , . . . , q − 1 } be a set and let n be a positive integer. ◮ A bijection f : A n → A n is an instruction if for ( x 1 , . . . , x n ) ∈ A n such that f : ( x 1 , . . . , x n ) �→ ( y 1 , . . . , y n ) we have that x j = y j for all j � = i for some 1 ≤ i ≤ j .

  18. Main definitions (Gadouleau & Riis) ◮ Let A = { 0 , . . . , q − 1 } be a set and let n be a positive integer. ◮ A bijection f : A n → A n is an instruction if for ( x 1 , . . . , x n ) ∈ A n such that f : ( x 1 , . . . , x n ) �→ ( y 1 , . . . , y n ) we have that x j = y j for all j � = i for some 1 ≤ i ≤ j . ◮ We say that f updates the i th register .

  19. Main definitions (Gadouleau & Riis) ◮ Let A = { 0 , . . . , q − 1 } be a set and let n be a positive integer. ◮ A bijection f : A n → A n is an instruction if for ( x 1 , . . . , x n ) ∈ A n such that f : ( x 1 , . . . , x n ) �→ ( y 1 , . . . , y n ) we have that x j = y j for all j � = i for some 1 ≤ i ≤ j . ◮ We say that f updates the i th register . ◮ We call elements of A n states .

  20. An example If A = { 0 , 1 } (so q = 2) and n = 4 then A n consists of . . .

  21. An example If A = { 0 , 1 } (so q = 2) and n = 4 then A n consists of . . . 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0

  22. ◮ S. Burckel “Closed Iterative Calculus” Theoretical Computer Science, 158, 1996, 371–378 ◮ S. Burckel, E. Gioan and E. Thom´ e “Mapping Computation with no memory”, in Proc. International Conference on Unconventional Computation, Ponta Delgada, Portugal, 2009, 85–97 ◮ S. Burckel and M. Morillon “Three generators for minimal writing-space computations” Theoretical Informatics and Applications, 34, 2000, 131–138 ◮ M. Gadouleau and S. Riis “Graph-Theoretical Constructions for Graph Entropy and Network Coding Based Communications” IEEE Transactions on Information Theory, Vol. 57, No. 10, 2011, 6703–6717

  23. ◮ J. Aracena, J. Demongeot and E. Goles “Positive and Negative Circuits in Discrete Neural Networks” IEEE Transactions in Neural Networks, 15, 2004, 77–83 ◮ J.-P. Comet, A. Richard, M. Noual, J. Aracena, L. Calzone, J. Demongeot, M. Kaufman, A. Naldi, E.H. Snoussi and D. Thieffry “On circuit functionality in Boolean networks” Bulletin of Mathematical Biology, in press 2013 ◮ S. Kauffman “Metabolic Stability and Epigenesis in Randomly Connected Nets” Journal of Theoretical Biology, 22, 1969, 437–467 ◮ ´ E Remy, P. Ruet and D. Thieffry “Graphic requirements for multistability and attractive cycles in a Boolean Dynamical Framework” Advances in Applied Mathematics, 41, 2008, 335–350 ◮ R. Thomas “Boolean formalization of genetic control circuits” Journal of Theoretical Biology, 42(3), 563–585, 1973

  24. Questions Note that each of the Coxeter generators are instructions.

  25. Questions Note that each of the Coxeter generators are instructions. ◮ Is this the smallest set of instructions we need to generate Sym( A n )?

  26. Questions Note that each of the Coxeter generators are instructions. ◮ Is this the smallest set of instructions we need to generate Sym( A n )? We need at least one for each register, so we should really ask . . .

  27. Questions Note that each of the Coxeter generators are instructions. ◮ Is this the smallest set of instructions we need to generate Sym( A n )? We need at least one for each register, so we should really ask . . . ◮ Can we generate Sym( A n ) with n instructions?

  28. Questions Note that each of the Coxeter generators are instructions. ◮ Is this the smallest set of instructions we need to generate Sym( A n )? We need at least one for each register, so we should really ask . . . ◮ Can we generate Sym( A n ) with n instructions? ◮ What about Alt( A n )?

  29. Questions Note that each of the Coxeter generators are instructions. ◮ Is this the smallest set of instructions we need to generate Sym( A n )? We need at least one for each register, so we should really ask . . . ◮ Can we generate Sym( A n ) with n instructions? ◮ What about Alt( A n )? If q is a prime power then we can view A n as a finite vector space and restrict our attention to instructions that are linear maps.

  30. Questions Note that each of the Coxeter generators are instructions. ◮ Is this the smallest set of instructions we need to generate Sym( A n )? We need at least one for each register, so we should really ask . . . ◮ Can we generate Sym( A n ) with n instructions? ◮ What about Alt( A n )? If q is a prime power then we can view A n as a finite vector space and restrict our attention to instructions that are linear maps. ◮ Can we generate GL n ( q ) with n instructions?

  31. Questions Note that each of the Coxeter generators are instructions. ◮ Is this the smallest set of instructions we need to generate Sym( A n )? We need at least one for each register, so we should really ask . . . ◮ Can we generate Sym( A n ) with n instructions? ◮ What about Alt( A n )? If q is a prime power then we can view A n as a finite vector space and restrict our attention to instructions that are linear maps. ◮ Can we generate GL n ( q ) with n instructions? ◮ What about SL n ( q )?

  32. Some results Theorem (Cameron, F., Gadouleau, 201?) Unless n = q = 2 , the group Sym(A n ) can be generated by n instructions.

  33. Some results Theorem (Cameron, F., Gadouleau, 201?) Unless n = q = 2 , the group Sym(A n ) can be generated by n instructions. Theorem (Cameron, F., Gadouleau, 201?) Unless q = 2 and n = 2 or 3 , the group Alt(A n ) can be generated by n instructions.

  34. Some results Theorem (Cameron, F., Gadouleau, 201?) Unless n = q = 2 , the group Sym(A n ) can be generated by n instructions. Theorem (Cameron, F., Gadouleau, 201?) Unless q = 2 and n = 2 or 3 , the group Alt(A n ) can be generated by n instructions. Theorem (Cameron, F., Gadouleau, 201?) dito GL n ( q ) and SL n ( q ) .

  35. Sketch proof for Sym( A n ) Theorem (Cameron, F., Gadouleau, 201?) Unless n = q = 2 , the group Sym(A n ) can be generated by n instructions. “Proof”

  36. Sketch proof for Sym( A n ) Theorem (Cameron, F., Gadouleau, 201?) Unless n = q = 2 , the group Sym(A n ) can be generated by n instructions. “Proof” It’s convenient to consider different cases separately:

  37. Sketch proof for Sym( A n ) Theorem (Cameron, F., Gadouleau, 201?) Unless n = q = 2 , the group Sym(A n ) can be generated by n instructions. “Proof” It’s convenient to consider different cases separately: ◮ | A | = 2 ;

  38. Sketch proof for Sym( A n ) Theorem (Cameron, F., Gadouleau, 201?) Unless n = q = 2 , the group Sym(A n ) can be generated by n instructions. “Proof” It’s convenient to consider different cases separately: ◮ | A | = 2 ; ◮ | A | > 2 and n is odd;

  39. Sketch proof for Sym( A n ) Theorem (Cameron, F., Gadouleau, 201?) Unless n = q = 2 , the group Sym(A n ) can be generated by n instructions. “Proof” It’s convenient to consider different cases separately: ◮ | A | = 2 ; ◮ | A | > 2 and n is odd; ◮ | A | > 2 and n is even;

Recommend


More recommend