kolmogorov chaitin complexity of linear digital
play

Kolmogorov-Chaitin Complexity of Linear Digital Controllers - PowerPoint PPT Presentation

Kolmogorov-Chaitin Complexity of Linear Digital Controllers Implemented using Fixed-point Arithmetic James F. Whidborne , John Mckernan , Da-Wei Gu dag@leicester.ac.uk Department of Engineering, University of Leicester


  1. Kolmogorov-Chaitin Complexity of Linear Digital Controllers Implemented using Fixed-point Arithmetic James F. Whidborne ∗ , John Mckernan ∗ , Da-Wei Gu † dag@leicester.ac.uk † Department of Engineering, University of Leicester ∗ Department of Aerospace Sciences, Cranfield University Kolmogorov-Chaitin Complexity of Linear Digital Controllers Implemented using Fixed-point Arithmetic – p. 1/24

  2. Introduction • Modern control design methods may give high-order digital controllers — regarded as complex, thus costly & difficult to implement • Rounding errors occur in digital controller implementations — magnified with controller order — often solved using costlier longer word-length or floating point processors • Hence control system designers motivated to produce low-order controllers Kolmogorov-Chaitin Complexity of Linear Digital Controllers Implemented using Fixed-point Arithmetic – p. 2/24

  3. Introduction • Modern control design methods may give high-order digital controllers — regarded as complex, thus costly & difficult to implement • Rounding errors occur in digital controller implementations — magnified with controller order — often solved using costlier longer word-length or floating point processors • Hence control system designers motivated to produce low-order controllers But do low-order controllers have lower complexity? Kolmogorov-Chaitin Complexity of Linear Digital Controllers Implemented using Fixed-point Arithmetic – p. 2/24

  4. Introduction 1 1 For example consider : K 1 ( z ) = and K 2 ( z ) = ( z + 1) 3 z + 0 . 1 • controller K 1 has order 3 & controller K 2 has order 1 • normal assumption: K 2 has lower complexity than K 1 Kolmogorov-Chaitin Complexity of Linear Digital Controllers Implemented using Fixed-point Arithmetic – p. 3/24

  5. Introduction 1 1 For example consider : K 1 ( z ) = and K 2 ( z ) = ( z + 1) 3 z + 0 . 1 • controller K 1 has order 3 & controller K 2 has order 1 • normal assumption: K 2 has lower complexity than K 1 BUT • K 1 requires 0 multiplication operations & can be implemented exactly • K 2 requires 1 multiplication operation & cannot be implemented exactly! ( 0 . 1 in base-2 is 0 . 000110011 · · · recurring — hence cannot be represented exactly by binary computer with finite wordlength) • hence K 2 has a higher complexity than K 1 Kolmogorov-Chaitin Complexity of Linear Digital Controllers Implemented using Fixed-point Arithmetic – p. 3/24

  6. Introduction 1 1 For example consider : K 1 ( z ) = and K 2 ( z ) = ( z + 1) 3 z + 0 . 1 • controller K 1 has order 3 & controller K 2 has order 1 • normal assumption: K 2 has lower complexity than K 1 BUT • K 1 requires 0 multiplication operations & can be implemented exactly • K 2 requires 1 multiplication operation & cannot be implemented exactly! ( 0 . 1 in base-2 is 0 . 000110011 · · · recurring — hence cannot be represented exactly by binary computer with finite wordlength) • hence K 2 has a higher complexity than K 1 Controller order is only an indicator of controller complexity! Required word-length and the arithmetic operations are other factors that determine controller complexity Kolmogorov-Chaitin Complexity of Linear Digital Controllers Implemented using Fixed-point Arithmetic – p. 3/24

  7. Introduction • To measure complexity accurately, we use the idea of Kolmogorov-Chaitin complexity: the complexity of a computable object is measured by the length, in bits, of the shortest program that computes the object • We consider the complexity of linear, fixed-point arithmetic, digital controllers from a Kolmogorov-Chaitin perspective • The complexity of designs for the restricted complexity controller benchmark problem are investigated • It will be seen that, from a Kolmogorov-Chaitin viewpoint, higher-order controllers with a shorter word-length may have a lower complexity but a better performance than lower-order controllers with longer word-length Kolmogorov-Chaitin Complexity of Linear Digital Controllers Implemented using Fixed-point Arithmetic – p. 4/24

  8. Kolmogorov-Chaitin complexity • Measures the complexity of a computable object by the length, in bits, of the shortest program that computes the object. Definition 1. The Kolmogorov complexity Γ U ( x ) of a computable finite-length binary string, x , with respect to a universal Turing machine U is defined as Γ U ( x ) = p : U ( p )= x ℓ ( p ) min where p denotes a program interpreted by U and ℓ ( p ) denotes the description length of p . Kolmogorov-Chaitin Complexity of Linear Digital Controllers Implemented using Fixed-point Arithmetic – p. 5/24

  9. Kolmogorov-Chaitin complexity • Measures the complexity of a computable object by the length, in bits, of the shortest program that computes the object. Definition 1. The Kolmogorov complexity Γ U ( x ) of a computable finite-length binary string, x , with respect to a universal Turing machine U is defined as Γ U ( x ) = p : U ( p )= x ℓ ( p ) min where p denotes a program interpreted by U and ℓ ( p ) denotes the description length of p . • Digital controllers are not implemented on universal Turing machines — the following well-known theorem relates Kolmogorov complexity to the length complexity using some other computing machine Theorem 1. If U is a universal computer, then for any other computer A , Γ U ( x ) ≤ Γ A ( x ) + c A for all binary strings x where the constant c A does not depend on x . Kolmogorov-Chaitin Complexity of Linear Digital Controllers Implemented using Fixed-point Arithmetic – p. 5/24

  10. Kolmogorov-Chaitin complexity • For a digital controller, at each sample period, the digital computer calculates a binary string u ( v ) (the control) which is dependent on another binary string v (concatenation of measurement and some previous sample period controller states) • Actually need complexity of controller implementation for all possible measurements & controller states and hence of all controls • Controller maps V (the set of all possible v ) to U (the set of all possible u ) • A practical complexity measure is (minimum length of the stored program for all possible v ) + (maximum length of v ) — gives a measure of the total storage requirements for the program, the input data and the stored data Definition 2. The complexity Γ of a controller implementation with respect to a controller implementation machine K is defined as Γ = max { ℓ ( v ) : v ∈ V } + min { ℓ ( p ) : K ( p ) = u ( v ) , for all v ∈ V } where p denotes program interpreted by K and ℓ ( p ) is length, in bits, of p Kolmogorov-Chaitin Complexity of Linear Digital Controllers Implemented using Fixed-point Arithmetic – p. 6/24

  11. Complexity of state-space realizations State space representation K s = ( A, B, C, D ) , with n states, p inputs and q outputs, where at the i th time step x ( i + 1) = Ax ( i ) + By ( i ) , u ( i ) = Cx ( i ) + Dy ( i ) Let k be the concatenated binary string of the parameters of K s • If the chosen word-length is w , then the length of k is given by ℓ ( k ) = ( n + p )( n + q ) w and the length of v is given by ℓ ( v ) = ( n + p ) w and thus the required data storage of K s is ℓ ( k ) + ℓ ( v ) • This is not a satisfactory complexity measure, because it does not consider the possibility of sparse realizations, where some of the controller parameters are zero or unity • No multiplication or addition operation if a controller parameter is zero • No multiplication operation if a controller parameter is unity Hence need to measure complexity using Definition 2 (i.e. measure program length, not data storage) Kolmogorov-Chaitin Complexity of Linear Digital Controllers Implemented using Fixed-point Arithmetic – p. 7/24

  12. Evaluating complexity of LTI controllers Definition 2 complexity of a linear time-invariant controller easily evaluated: • v has constant length • program is independent of u , y and x • hence program length ℓ ( p ) is independent of v and u Length of the program ℓ ( p ) also depends on implementation machine K i.e. is there hardware support for floating point calculations, multiplication operations etc? If so, what length “overhead” is given for the use of more complex operations over simpler operations such as addition or barrel shift? • Simple computing devices preferred for reasons of cost and reliability • In this paper, assume device has fixed point arithmetic and multiplication is by sequence of additions and barrel shifts (i.e. one addition + one shift per unity bit of the constant multiplicand) Kolmogorov-Chaitin Complexity of Linear Digital Controllers Implemented using Fixed-point Arithmetic – p. 8/24

  13. Complexity of state-space realizations Thus the following complexity measure is proposed: Definition 3. The controller complexity Γ( K s ) of a state space controller realization K s = ( A, B, C, D ) is given by ℓ ( k ) � Γ( K s ) = ℓ ( v ) + k i i =1 where the concatenated binary string of the parameters of K s is given by k = [ k 1 , k 2 , . . . , k ℓ ( k ) ] , k i ∈ { 0 , 1 } . This gives a measure of the length of program in terms of number of operations and data storage requirements Kolmogorov-Chaitin Complexity of Linear Digital Controllers Implemented using Fixed-point Arithmetic – p. 9/24

Recommend


More recommend