Tropical quasisymmetric functions J. Diehl (Universit¨ at Greifswald) joint with K. Ebrahimi-Fard (NTNU), N. Tapia (TU Berlin) October 13th, ESI Higher Structures Emerging from Renormalisation https://diehlj.github.io Tropical quasisymmetric functions 1
Overview Semirings Reason for iterated-sums Algebraic setting Outlook https://diehlj.github.io Tropical quasisymmetric functions 2
Start with the ring R , with operations x + y x · y . For h > 0 define x y h + e h ) x ⊕ h y := h log( e x y h · e h ) = x + y . x ⊙ h y := h log( e This defines a ring structure on R > 0 . For h → 0 this converges to ( Maslov dequantization ) x ⊕ y := max { x , y } x ⊙ y := x + y . This does not have additive inverses anymore! It is hence a semiring , the max-plus semiring. https://diehlj.github.io Tropical quasisymmetric functions 3
A semiring (i.e. a ring without demand for additive inverse) pops up in many places. Dynamic programming Consider a time-homogeneous Markov chain X 0 , X 1 , X 2 , . . . on states { a , b , c } . A costly way to obtain the terminal distribution is � O (3 n ) � � P [ X n = a ] = π w 0 p w 0 w 1 . . . p w n − 1 n w ∈{ a , b , c } n +1 , w n = a https://diehlj.github.io Tropical quasisymmetric functions 4
Dynamic programming There is, of course, a more economic way: P [ X n = a ] = P [ X n − 1 = a ] · p aa + P [ X n − 1 = b ] · p ca + P [ X n − 1 = c ] · p ba . Iterating, one gets an O ( n ) algorithm. What if we are interested in the most probable path instead? https://diehlj.github.io Tropical quasisymmetric functions 5
Dynamic programming There is, of course, a more economic way: P [ X n = a ] = P [ X n − 1 = a ] · p aa + P [ X n − 1 = b ] · p ca + P [ X n − 1 = c ] · p ba . Iterating, one gets an O ( n ) algorithm. What if we are interested in the most probable path instead? https://diehlj.github.io Tropical quasisymmetric functions 5
What if we are interested in the most probable path instead? We just put the log-probabilities and calculate in the max-plus semiring: � � log π w 0 + log p w 0 w 1 + log p w 1 w 2 + · · · · log p w n − 1 w n max . w ∈{ a , b , c } n +1 , w n = a Dynamic programming still works! https://diehlj.github.io Tropical quasisymmetric functions 6
Overview Semirings Reason for iterated-sums Algebraic setting Outlook https://diehlj.github.io Tropical quasisymmetric functions 7
Convolutional Neural Networks 0 1 1 1 0 0 0 0 0 1 1 1 0 0 1 4 3 4 1 0 0 0 1 1 1 0 1 0 1 1 2 4 3 3 ∗ = 0 0 0 1 1 0 0 0 1 0 1 2 3 4 1 0 0 1 1 0 0 0 1 0 1 1 3 3 1 1 0 1 1 0 0 0 0 3 3 1 1 0 1 1 0 0 0 0 0 Why they work so well (probably ...) 1 Weight sharing. 2 Structure compatible with image data (“receptive field”, approximate translation invariance). https://diehlj.github.io Tropical quasisymmetric functions 8
CNNs can, of course, be applied to sequential data. � � � � � � ∗ = 0 1 1 1 0 3 0 1 0 1 1 2 1 4 0 I K I ∗ K Does it make sense? 1 Weight sharing. � 2 Structure compatible with time-series data ? https://diehlj.github.io Tropical quasisymmetric functions 9
Using a CNN to answer: “Did a person visit Rome directly before visiting London?” Hamburg Berlin Rome London Amsterdam ∗ � � Rome London = � � 0 0 1 0 0 https://diehlj.github.io Tropical quasisymmetric functions 10
Using a CNN to answer: “Did a person visit Rome directly before visiting London?” Hamburg Berlin Rome London Amsterdam ∗ � � Rome London = � � 0 0 1 0 0 https://diehlj.github.io Tropical quasisymmetric functions 10
Using a CNN to answer: “Did a person visit Rome directly before visiting London?” Hamburg Berlin Rome London Amsterdam ∗ � � Rome London = � � 0 0 1 0 0 https://diehlj.github.io Tropical quasisymmetric functions 10
But what if the person visits Rome some time before visiting London? Hamburg Rome Berlin Amsterdam London A (one-layer) CNN has difficulties detecting this (unless the kernel is large enough). https://diehlj.github.io Tropical quasisymmetric functions 11
Chronological question: “Did a person visit Rome some time before visiting London?” Hamburg Rome Berlin Amsterdam London ∗ � � Rome London = � � 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 https://diehlj.github.io Tropical quasisymmetric functions 12
Chronological question: “Did a person visit Rome some time before visiting London?” Hamburg Rome Berlin Amsterdam London ∗ � � Rome London = � � 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 https://diehlj.github.io Tropical quasisymmetric functions 12
Chronological question: “Did a person visit Rome some time before visiting London?” Hamburg Rome Berlin Amsterdam London ∗ � � Rome London = � � 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 https://diehlj.github.io Tropical quasisymmetric functions 12
Chronological question: “Did a person visit Rome some time before visiting London?” Hamburg Rome Berlin Amsterdam London ∗ � � Rome London = � � 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 https://diehlj.github.io Tropical quasisymmetric functions 12
Chronological question: “Did a person visit Rome some time before visiting London?” Hamburg Rome Berlin Amsterdam London ∗ � � Rome London = � � 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 https://diehlj.github.io Tropical quasisymmetric functions 12
More formal Let K : Cities × Cities → { true , false } � � � � (cityA , cityB) �→ cityA = ∧ cityB = pool : { true , false } ( n in 2 ) → { true , false } z �→ z 1 ∨ z 2 ∨ . . . ∨ z ( n in 2 ) . Then � � �� [ n in ] � � � � � pool K ( x I ) : I ∈ = x i 1 = ∧ x i 2 = , 2 0 < i 1 < i 2 ≤ n in is true if and only if Rome was visited some time before London. https://diehlj.github.io Tropical quasisymmetric functions 13
More formal Let K : Cities × Cities → { true , false } � � � � (cityA , cityB) �→ cityA = ∧ cityB = pool : { true , false } ( n in 2 ) → { true , false } Chronological information z �→ z 1 ∨ z 2 ∨ . . . ∨ z ( n in 2 ) . Then � � �� [ n in ] � � � � � pool K ( x I ) : I ∈ = x i 1 = ∧ x i 2 = , 2 0 < i 1 < i 2 ≤ n in is true if and only if Rome was visited some time before London. https://diehlj.github.io Tropical quasisymmetric functions 13
(There is nothing “learnable” here yet, we’ll come to this later.) � gets large real quick ! � n in First, we want to deal with a problem: 2 https://diehlj.github.io Tropical quasisymmetric functions 14
(There is nothing “learnable” here yet, we’ll come to this later.) � gets large real quick ! � n in First, we want to deal with a problem: 2 To clarify, let us do 3 cities whose ordered visit we want to detect: K ( . . . ) := (cityA = ) ∧ (cityB = ) ∧ (cityC = ) � � �� [ n in ] � pool K ( x I ) : I ∈ := K ( x I ) . 3 I ∈ ( [ n in] 3 ) in ) evaluations of K . � This needs O ( n 3 https://diehlj.github.io Tropical quasisymmetric functions 14
But! There is a better way. � � K ( x I ) = ( x i 1 = ) ∧ ( x i 2 = ) ∧ ( x i 3 = ) I ∈ ( [ n in] i 1 < i 2 < i 3 3 ) ∧ ( x i 3 = � � ) ∧ ( x i 2 = = ( x i 1 = ) ) i 3 i 1 < i 2 < i 3 � pool ′ =: i 3 ∧ ( x i 3 = ) . i 3 Only n in evaluations! https://diehlj.github.io Tropical quasisymmetric functions 15
Further pool ′ � i 3 = ( x i 1 = ) ∧ ( x i 2 = ) i 1 < i 2 < i 3 ∧ ( x i 2 = � � = ( x i 1 = ) ) i 2 < i 3 i 1 < i 2 � pool ′′ =: i 2 ∧ ( x i 2 = ) . i 2 < i 3 Only n in evaluations (to calculate all of pool ′ • )! Finally, pool ′′ � i 2 = ( x i 1 = ) i 1 < i 2 Only n in evaluations (to calculate all of pool ′′ • )! total amount of evaluations: O (3 n in ) = O ( n in ) https://diehlj.github.io Tropical quasisymmetric functions 16
What have we achieved? We calulated � � �� [ n in ] pool K ( x I ) : I ∈ 3 � = K ( x I ) I ∈ ( [ n in] 3 ) � = ( x i 1 = ) ∧ ( x i 2 = ) ∧ ( x i 3 = ) , i 1 < i 2 < i 3 which, on paper, costs O ( n 3 in ), in only O ( n in ) time ! What did we use? ∧ distributes over ∨ ∧ and ∨ are associative And that’s it. https://diehlj.github.io Tropical quasisymmetric functions 17
What have we achieved? We calulated � � �� [ n in ] pool K ( x I ) : I ∈ 3 � = K ( x I ) I ∈ ( [ n in] 3 ) � = ( x i 1 = ) ∧ ( x i 2 = ) ∧ ( x i 3 = ) , i 1 < i 2 < i 3 which, on paper, costs O ( n 3 in ), in only O ( n in ) time ! What did we use? ∧ distributes over ∨ ∧ and ∨ are associative And that’s it. https://diehlj.github.io Tropical quasisymmetric functions 17
Recommend
More recommend