65
Регистровые машины

Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Embed Size (px)

Citation preview

Page 1: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Регистровые машины

Регистровая машина имеет конечное количество регистровR1, . . . ,Rn каждый из которых может содержать произвольнобольшое натуральное число. Машина выполняет программусостоящую из конечного числа инструкций снабженныхметками S1, . . . ,Sm. Когда машина выполняет инструкцию сметкой Sk , мы говорим, что машина находится в состоянии Sk .

Инструкции бывают трёх типов:I. Sk : R`++;SiII. Sk : R`−−; Si ;SjIII. Sk : STOP

Lambek [1961], Melzak [1961], Minsky [1961], Minsky [1967],Shepherdson и Sturgis [1963]

Page 2: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Регистровые машиныРегистровая машина имеет конечное количество регистровR1, . . . ,Rn каждый из которых может содержать произвольнобольшое натуральное число.

Машина выполняет программусостоящую из конечного числа инструкций снабженныхметками S1, . . . ,Sm. Когда машина выполняет инструкцию сметкой Sk , мы говорим, что машина находится в состоянии Sk .

Инструкции бывают трёх типов:I. Sk : R`++;SiII. Sk : R`−−; Si ;SjIII. Sk : STOP

Lambek [1961], Melzak [1961], Minsky [1961], Minsky [1967],Shepherdson и Sturgis [1963]

Page 3: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Регистровые машиныРегистровая машина имеет конечное количество регистровR1, . . . ,Rn каждый из которых может содержать произвольнобольшое натуральное число. Машина выполняет программусостоящую из конечного числа инструкций снабженныхметками S1, . . . ,Sm. Когда машина выполняет инструкцию сметкой Sk , мы говорим, что машина находится в состоянии Sk .

Инструкции бывают трёх типов:I. Sk : R`++;SiII. Sk : R`−−; Si ;SjIII. Sk : STOP

Lambek [1961], Melzak [1961], Minsky [1961], Minsky [1967],Shepherdson и Sturgis [1963]

Page 4: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Регистровые машиныРегистровая машина имеет конечное количество регистровR1, . . . ,Rn каждый из которых может содержать произвольнобольшое натуральное число. Машина выполняет программусостоящую из конечного числа инструкций снабженныхметками S1, . . . ,Sm. Когда машина выполняет инструкцию сметкой Sk , мы говорим, что машина находится в состоянии Sk .

Инструкции бывают трёх типов:

I. Sk : R`++;SiII. Sk : R`−−; Si ;SjIII. Sk : STOP

Lambek [1961], Melzak [1961], Minsky [1961], Minsky [1967],Shepherdson и Sturgis [1963]

Page 5: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Регистровые машиныРегистровая машина имеет конечное количество регистровR1, . . . ,Rn каждый из которых может содержать произвольнобольшое натуральное число. Машина выполняет программусостоящую из конечного числа инструкций снабженныхметками S1, . . . ,Sm. Когда машина выполняет инструкцию сметкой Sk , мы говорим, что машина находится в состоянии Sk .

Инструкции бывают трёх типов:I. Sk : R`++;Si

II. Sk : R`−−; Si ;SjIII. Sk : STOP

Lambek [1961], Melzak [1961], Minsky [1961], Minsky [1967],Shepherdson и Sturgis [1963]

Page 6: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Регистровые машиныРегистровая машина имеет конечное количество регистровR1, . . . ,Rn каждый из которых может содержать произвольнобольшое натуральное число. Машина выполняет программусостоящую из конечного числа инструкций снабженныхметками S1, . . . ,Sm. Когда машина выполняет инструкцию сметкой Sk , мы говорим, что машина находится в состоянии Sk .

Инструкции бывают трёх типов:I. Sk : R`++;SiII. Sk : R`−−; Si ;Sj

III. Sk : STOP

Lambek [1961], Melzak [1961], Minsky [1961], Minsky [1967],Shepherdson и Sturgis [1963]

Page 7: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Регистровые машиныРегистровая машина имеет конечное количество регистровR1, . . . ,Rn каждый из которых может содержать произвольнобольшое натуральное число. Машина выполняет программусостоящую из конечного числа инструкций снабженныхметками S1, . . . ,Sm. Когда машина выполняет инструкцию сметкой Sk , мы говорим, что машина находится в состоянии Sk .

Инструкции бывают трёх типов:I. Sk : R`++;SiII. Sk : R`−−; Si ;SjIII. Sk : STOP

Lambek [1961], Melzak [1961], Minsky [1961], Minsky [1967],Shepherdson и Sturgis [1963]

Page 8: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Регистровые машиныРегистровая машина имеет конечное количество регистровR1, . . . ,Rn каждый из которых может содержать произвольнобольшое натуральное число. Машина выполняет программусостоящую из конечного числа инструкций снабженныхметками S1, . . . ,Sm. Когда машина выполняет инструкцию сметкой Sk , мы говорим, что машина находится в состоянии Sk .

Инструкции бывают трёх типов:I. Sk : R`++;SiII. Sk : R`−−; Si ;SjIII. Sk : STOP

Lambek [1961], Melzak [1961], Minsky [1961], Minsky [1967],Shepherdson и Sturgis [1963]

Page 9: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Протокол

q . . . t + 1 t . . . 0S1 s1,q . . . s1,t+1 s1,t . . . s1,0...

......

......

......

Sk sk,q . . . sk,t+1 sk,t . . . sk,0...

......

......

......

Sm sm,q . . . sm,t+1 sm,t . . . sm,0

sk,t ={

1, если на шаге t машина была в состоянии k0 в противном случае

Page 10: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Протокол

q . . . t + 1 t . . . 0...

......

......

......

Sk sk,q . . . sk,t+1 sk,t . . . sk,0...

......

......

......

R1 r1,q . . . r1,t+1 r1,t . . . r1,0...

......

......

......

R` r`,q . . . r`,t+1 r`,t . . . r`,0...

......

......

......

Rn rn,q . . . rn,t+1 rn,t . . . rn,0

r`,t – это содержимое l -го регистра на шаге t

Page 11: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Протоколq . . . t + 1 t . . . 0

......

......

......

...Sk sk,q . . . sk,t+1 sk,t . . . sk,0...

......

......

......

......

......

......

...R` r`,q . . . r`,t+1 r`,t . . . r`,0...

......

......

......

Z1 z1,q . . . z1,t+1 z1,t . . . z1,0...

......

......

......

Z` z`,q . . . z`,t+1 z`,t . . . z`,0...

......

......

......

Zn zn,q . . . zn,t+1 zn,t . . . zn,0

z`,t ={

1, если r`,t > 00 в противном случае

Page 12: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Новые значения регистров

r`,t+1 = r`,t +∑+sk,t −

∑−z`,tsk,t

где∑+-суммирование ведется по всем инструкциям вида

Sk : R`++; Si ,

а∑−-суммирование – по всем инструкциям вида

Sk : R`−−; Si ; Sj .

Page 13: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Новые состояния

sd ,t+1 =∑+sk,t +

∑−z`,tsk,t +∑0(1− z`,t)sk,t

где∑+-суммирование ведется по всем инструкциям вида

Sk : R`++; Sd ,∑−-суммирование ведется по всем инструкциям вида

Sk : R`−−; Sd ; Sj ,

а∑0-суммирование – по всем инструкциям вида

Sk : R`−−; Si ; Sd .

Page 14: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Начальные значения

Всегда начинаем в состоянии S1:

s1,0 = 1,

s2,0 = · · · = sm,0 = 0.

(Единственная) входная величина a помещается в регистр R1:

r1,0 = a,

все остальные регистры пусты:

r2,0 = · · · = rn,0 = 0.

Page 15: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Начальные значенияВсегда начинаем в состоянии S1:

s1,0 = 1,

s2,0 = · · · = sm,0 = 0.

(Единственная) входная величина a помещается в регистр R1:

r1,0 = a,

все остальные регистры пусты:

r2,0 = · · · = rn,0 = 0.

Page 16: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Начальные значенияВсегда начинаем в состоянии S1:

s1,0 = 1,

s2,0 = · · · = sm,0 = 0.

(Единственная) входная величина a помещается в регистр R1:

r1,0 = a,

все остальные регистры пусты:

r2,0 = · · · = rn,0 = 0.

Page 17: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Начальные значенияВсегда начинаем в состоянии S1:

s1,0 = 1,

s2,0 = · · · = sm,0 = 0.

(Единственная) входная величина a помещается в регистр R1:

r1,0 = a,

все остальные регистры пусты:

r2,0 = · · · = rn,0 = 0.

Page 18: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

ОстановкаSm является единственной командой STOP:

sm,q = 1,

s1,q = · · · = sm−1,q = 0.

При остановке все регистры пусты:

r1,q = · · · = rn,q = 0.

Page 19: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Протокол

q . . . t + 1 t . . . 0...

......

......

......

Sk sk,q . . . sk,t+1 sk,t . . . sk,0

= sk =∑q

t=0 sk,tbt

......

......

......

......

......

......

......

R` r`,q . . . r`,t+1 r`,t . . . r`,0

= r` =∑q

t=0 r`,tbt

......

......

......

......

......

......

......

Z` z`,q . . . z`,t+1 z`,t . . . z`,0

= z` =∑q

t=0 z`,tbt

......

......

......

...

Page 20: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Протокол

q . . . t + 1 t . . . 0...

......

......

......

Sk sk,q . . . sk,t+1 sk,t . . . sk,0

=

sk =∑q

t=0 sk,tbt

......

......

......

......

......

......

......

R` r`,q . . . r`,t+1 r`,t . . . r`,0

= r` =∑q

t=0 r`,tbt

......

......

......

......

......

......

......

Z` z`,q . . . z`,t+1 z`,t . . . z`,0

= z` =∑q

t=0 z`,tbt

......

......

......

...

Page 21: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Протокол

q . . . t + 1 t . . . 0...

......

......

......

Sk sk,q . . . sk,t+1 sk,t . . . sk,0 = sk =∑q

t=0 sk,tbt

......

......

......

......

......

......

......

R` r`,q . . . r`,t+1 r`,t . . . r`,0

= r` =∑q

t=0 r`,tbt

......

......

......

......

......

......

......

Z` z`,q . . . z`,t+1 z`,t . . . z`,0

= z` =∑q

t=0 z`,tbt

......

......

......

...

Page 22: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Протокол

q . . . t + 1 t . . . 0...

......

......

......

Sk sk,q . . . sk,t+1 sk,t . . . sk,0 = sk =∑q

t=0 sk,tbt

......

......

......

......

......

......

......

R` r`,q . . . r`,t+1 r`,t . . . r`,0 = r` =∑q

t=0 r`,tbt

......

......

......

......

......

......

......

Z` z`,q . . . z`,t+1 z`,t . . . z`,0

= z` =∑q

t=0 z`,tbt

......

......

......

...

Page 23: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Протокол

q . . . t + 1 t . . . 0...

......

......

......

Sk sk,q . . . sk,t+1 sk,t . . . sk,0 = sk =∑q

t=0 sk,tbt

......

......

......

......

......

......

......

R` r`,q . . . r`,t+1 r`,t . . . r`,0 = r` =∑q

t=0 r`,tbt

......

......

......

......

......

......

......

Z` z`,q . . . z`,t+1 z`,t . . . z`,0 = z` =∑q

t=0 z`,tbt

......

......

......

...

Page 24: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Новые значения регистров

sk =

q∑t=0

sk,tbt r` =q∑

t=0

r`,tbt z` =q∑

t=0

z`,tbt

q−1∑t=0

r`,t+1

bt+1

=

q−1∑t=0

(

r`,t

bt+1

+∑+sk,t

bt+1

−∑−z`,tsk,t

bt+1)

r` − r`,0 = br` + b∑+sk − b

∑−(z` ∧ sk)

r1 − a = br1 + b∑+sk − b

∑−(z` ∧ sk)r` = br` + b

∑+sk − b∑−(z` ∧ sk), l = 2, . . . , n

Page 25: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Новые значения регистров

sk =

q∑t=0

sk,tbt r` =q∑

t=0

r`,tbt z` =q∑

t=0

z`,tbt

q−1∑t=0

r`,t+1

bt+1

=

q−1∑t=0

(

r`,t

bt+1

+∑+sk,t

bt+1

−∑−z`,tsk,t

bt+1)

r` − r`,0 = br` + b∑+sk − b

∑−(z` ∧ sk)

r1 − a = br1 + b∑+sk − b

∑−(z` ∧ sk)r` = br` + b

∑+sk − b∑−(z` ∧ sk), l = 2, . . . , n

Page 26: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Новые значения регистров

sk =

q∑t=0

sk,tbt r` =q∑

t=0

r`,tbt z` =q∑

t=0

z`,tbt

q−1∑t=0

r`,t+1

bt+1

=

q−1∑t=0

(

r`,t

bt+1

+∑+sk,t

bt+1

−∑−z`,tsk,t

bt+1)

r` − r`,0 = br` + b∑+sk − b

∑−(z` ∧ sk)

r1 − a = br1 + b∑+sk − b

∑−(z` ∧ sk)r` = br` + b

∑+sk − b∑−(z` ∧ sk), l = 2, . . . , n

Page 27: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Новые значения регистров

sk =

q∑t=0

sk,tbt r` =q∑

t=0

r`,tbt z` =q∑

t=0

z`,tbt

q−1∑t=0

r`,t+1

bt+1

=

q−1∑t=0

(

r`,t

bt+1

+∑+sk,t

bt+1

−∑−z`,tsk,t

bt+1)

r` − r`,0 = br` + b∑+sk − b

∑−(z` ∧ sk)

r1 − a = br1 + b∑+sk − b

∑−(z` ∧ sk)r` = br` + b

∑+sk − b∑−(z` ∧ sk), l = 2, . . . , n

Page 28: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Новые значения регистров

sk =

q∑t=0

sk,tbt r` =q∑

t=0

r`,tbt z` =q∑

t=0

z`,tbt

q−1∑t=0

r`,t+1bt+1 =

q−1∑t=0

(

r`,tbt+1 +∑+sk,tbt+1 −

∑−z`,tsk,tbt+1

)

r` − r`,0 = br` + b∑+sk − b

∑−(z` ∧ sk)

r1 − a = br1 + b∑+sk − b

∑−(z` ∧ sk)r` = br` + b

∑+sk − b∑−(z` ∧ sk), l = 2, . . . , n

Page 29: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Новые значения регистров

sk =

q∑t=0

sk,tbt r` =q∑

t=0

r`,tbt z` =q∑

t=0

z`,tbt

q−1∑t=0

r`,t+1bt+1 =

q−1∑t=0

(r`,tbt+1 +

∑+sk,tbt+1 −∑−z`,tsk,tbt+1)

r` − r`,0 = br` + b∑+sk − b

∑−(z` ∧ sk)

r1 − a = br1 + b∑+sk − b

∑−(z` ∧ sk)r` = br` + b

∑+sk − b∑−(z` ∧ sk), l = 2, . . . , n

Page 30: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Новые значения регистров

sk =

q∑t=0

sk,tbt r` =q∑

t=0

r`,tbt z` =q∑

t=0

z`,tbt

q−1∑t=0

r`,t+1bt+1 =

q−1∑t=0

(r`,tbt+1 +

∑+sk,tbt+1 −∑−z`,tsk,tbt+1)

r` − r`,0 = br` + b∑+sk − b

∑−(z` ∧ sk)

r1 − a = br1 + b∑+sk − b

∑−(z` ∧ sk)r` = br` + b

∑+sk − b∑−(z` ∧ sk), l = 2, . . . , n

Page 31: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Новые значения регистров

sk =

q∑t=0

sk,tbt r` =q∑

t=0

r`,tbt z` =q∑

t=0

z`,tbt

q−1∑t=0

r`,t+1bt+1 =

q−1∑t=0

(r`,tbt+1 +

∑+sk,tbt+1 −∑−z`,tsk,tbt+1)

r` − r`,0 = br` + b∑+sk − b

∑−(z` ∧ sk)

r1 − a = br1 + b∑+sk − b

∑−(z` ∧ sk)r` = br` + b

∑+sk − b∑−(z` ∧ sk), l = 2, . . . , n

Page 32: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Новые значения регистров

sk =

q∑t=0

sk,tbt r` =q∑

t=0

r`,tbt z` =q∑

t=0

z`,tbt

q−1∑t=0

r`,t+1bt+1 =

q−1∑t=0

(r`,tbt+1 +

∑+sk,tbt+1 −∑−z`,tsk,tbt+1)

r` − r`,0 = br` + b∑+sk − b

∑−(z` ∧ sk)

r1 − a = br1 + b∑+sk − b

∑−(z` ∧ sk)r` = br` + b

∑+sk − b∑−(z` ∧ sk), l = 2, . . . , n

Page 33: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Новые состояния

sk =

q∑t=0

sk,tbt z` =q∑

t=0

z`,tbt

q−1∑t=0

sd ,t+1

bt+1

=

=

q−1∑t=0

(

∑+sk,t

bt+1

+∑−z`,tsk,t

bt+1

+∑0(1− z`,t)sk,t

bt+1)

sd − sd ,0 = b∑0sk + b

∑+(z` ∧ sk) + b∑−((e − z`) ∧ sk)

e =

q−1∑t=0

1 · bt+1 =bq − 1b − 1

Page 34: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Новые состояния

sk =

q∑t=0

sk,tbt z` =q∑

t=0

z`,tbt

q−1∑t=0

sd ,t+1

bt+1

=

=

q−1∑t=0

(

∑+sk,t

bt+1

+∑−z`,tsk,t

bt+1

+∑0(1− z`,t)sk,t

bt+1)

sd − sd ,0 = b∑0sk + b

∑+(z` ∧ sk) + b∑−((e − z`) ∧ sk)

e =

q−1∑t=0

1 · bt+1 =bq − 1b − 1

Page 35: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Новые состояния

sk =

q∑t=0

sk,tbt z` =q∑

t=0

z`,tbt

q−1∑t=0

sd ,t+1

bt+1

=

=

q−1∑t=0

(

∑+sk,t

bt+1

+∑−z`,tsk,t

bt+1

+∑0(1− z`,t)sk,t

bt+1)

sd − sd ,0 = b∑0sk + b

∑+(z` ∧ sk) + b∑−((e − z`) ∧ sk)

e =

q−1∑t=0

1 · bt+1 =bq − 1b − 1

Page 36: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Новые состояния

sk =

q∑t=0

sk,tbt z` =q∑

t=0

z`,tbt

q−1∑t=0

sd ,t+1

bt+1

=

=

q−1∑t=0

(

∑+sk,t

bt+1

+∑−z`,tsk,t

bt+1

+∑0(1− z`,t)sk,t

bt+1)

sd − sd ,0 = b∑0sk + b

∑+(z` ∧ sk) + b∑−((e − z`) ∧ sk)

e =

q−1∑t=0

1 · bt+1 =bq − 1b − 1

Page 37: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Новые состояния

sk =

q∑t=0

sk,tbt z` =q∑

t=0

z`,tbt

q−1∑t=0

sd ,t+1bt+1 =

=

q−1∑t=0

(

∑+sk,tbt+1 +∑−z`,tsk,tbt+1 +

∑0(1− z`,t)sk,tbt+1

)

sd − sd ,0 = b∑0sk + b

∑+(z` ∧ sk) + b∑−((e − z`) ∧ sk)

e =

q−1∑t=0

1 · bt+1 =bq − 1b − 1

Page 38: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Новые состояния

sk =

q∑t=0

sk,tbt z` =q∑

t=0

z`,tbt

q−1∑t=0

sd ,t+1bt+1 =

=

q−1∑t=0

(∑+sk,tbt+1 +∑−z`,tsk,tbt+1 +

∑0(1− z`,t)sk,tbt+1)

sd − sd ,0 = b∑0sk + b

∑+(z` ∧ sk) + b∑−((e − z`) ∧ sk)

e =

q−1∑t=0

1 · bt+1 =bq − 1b − 1

Page 39: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Новые состояния

sk =

q∑t=0

sk,tbt z` =q∑

t=0

z`,tbt

q−1∑t=0

sd ,t+1bt+1 =

=

q−1∑t=0

(∑+sk,tbt+1 +∑−z`,tsk,tbt+1 +

∑0(1− z`,t)sk,tbt+1)

sd − sd ,0 = b∑0sk + b

∑+(z` ∧ sk) + b∑−((e − z`) ∧ sk)

e =

q−1∑t=0

1 · bt+1 =bq − 1b − 1

Page 40: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Новые состояния

sk =

q∑t=0

sk,tbt z` =q∑

t=0

z`,tbt

q−1∑t=0

sd ,t+1bt+1 =

=

q−1∑t=0

(∑+sk,tbt+1 +∑−z`,tsk,tbt+1 +

∑0(1− z`,t)sk,tbt+1)

sd − sd ,0 = b∑0sk + b

∑+(z` ∧ sk) + b∑−((e − z`) ∧ sk)

e =

q−1∑t=0

1 · bt+1 =bq − 1b − 1

Page 41: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Новые состояния

sk =

q∑t=0

sk,tbt z` =q∑

t=0

z`,tbt

q−1∑t=0

sd ,t+1bt+1 =

=

q−1∑t=0

(∑+sk,tbt+1 +∑−z`,tsk,tbt+1 +

∑0(1− z`,t)sk,tbt+1)

sd − sd ,0 = b∑0sk + b

∑+(z` ∧ sk) + b∑−((e − z`) ∧ sk)

e =

q−1∑t=0

1 · bt+1 =bq − 1b − 1

Page 42: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Индикаторы нуля

z`,t ={

0, если r`,t = 01 в противном случае

b = 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c − 1+ r`,t ={

01 . . . 1, если r`,t > 01 ∗ · · · ∗ в противном случае

2c ∧ (2c − 1+ r`,t) = 2cz`,t

q∑t=0

(2c ∧ (2c − 1+ r`,t))

bt

=

q∑t=0

2cz`,t

bt

2c f ∧ ((2c − 1)f + r`) = 2cz`

f =

q∑t=0

1 · bt+1 =bq+1 − 1

b − 1

Page 43: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Индикаторы нуля

z`,t ={

0, если r`,t = 01 в противном случае

b = 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c − 1+ r`,t ={

01 . . . 1, если r`,t > 01 ∗ · · · ∗ в противном случае

2c ∧ (2c − 1+ r`,t) = 2cz`,t

q∑t=0

(2c ∧ (2c − 1+ r`,t))

bt

=

q∑t=0

2cz`,t

bt

2c f ∧ ((2c − 1)f + r`) = 2cz`

f =

q∑t=0

1 · bt+1 =bq+1 − 1

b − 1

Page 44: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Индикаторы нуля

z`,t ={

0, если r`,t = 01 в противном случае

b = 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c − 1+ r`,t ={

01 . . . 1, если r`,t > 01 ∗ · · · ∗ в противном случае

2c ∧ (2c − 1+ r`,t) = 2cz`,t

q∑t=0

(2c ∧ (2c − 1+ r`,t))

bt

=

q∑t=0

2cz`,t

bt

2c f ∧ ((2c − 1)f + r`) = 2cz`

f =

q∑t=0

1 · bt+1 =bq+1 − 1

b − 1

Page 45: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Индикаторы нуля

z`,t ={

0, если r`,t = 01 в противном случае

b = 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c − 1+ r`,t ={

01 . . . 1, если r`,t > 01 ∗ · · · ∗ в противном случае

2c ∧ (2c − 1+ r`,t) = 2cz`,t

q∑t=0

(2c ∧ (2c − 1+ r`,t))

bt

=

q∑t=0

2cz`,t

bt

2c f ∧ ((2c − 1)f + r`) = 2cz`

f =

q∑t=0

1 · bt+1 =bq+1 − 1

b − 1

Page 46: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Индикаторы нуля

z`,t ={

0, если r`,t = 01 в противном случае

b = 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c − 1+ r`,t ={

01 . . . 1, если r`,t > 01 ∗ · · · ∗ в противном случае

2c ∧ (2c − 1+ r`,t) = 2cz`,t

q∑t=0

(2c ∧ (2c − 1+ r`,t))bt =

q∑t=0

2cz`,tbt

2c f ∧ ((2c − 1)f + r`) = 2cz`

f =

q∑t=0

1 · bt+1 =bq+1 − 1

b − 1

Page 47: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Индикаторы нуля

z`,t ={

0, если r`,t = 01 в противном случае

b = 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c − 1+ r`,t ={

01 . . . 1, если r`,t > 01 ∗ · · · ∗ в противном случае

2c ∧ (2c − 1+ r`,t) = 2cz`,t

q∑t=0

(2c ∧ (2c − 1+ r`,t))bt =

q∑t=0

2cz`,tbt

2c f ∧ ((2c − 1)f + r`) = 2cz` f =

q∑t=0

1 · bt+1 =bq+1 − 1

b − 1

Page 48: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Выбор c

2c > a

b = 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c − 1+ r`,t ={

01 . . . 1, если r`,t > 01 ∗ · · · ∗ в противном случае

2c ∧ r`,t = 0

q∑t=0

(2c ∧ r`,t)

bt

= 0

2c f ∧ r` = 0

f =

q∑t=0

1 · bt+1 =bq+1 − 1

b − 1

Page 49: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Выбор c

2c > a

b = 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c − 1+ r`,t ={

01 . . . 1, если r`,t > 01 ∗ · · · ∗ в противном случае

2c ∧ r`,t = 0

q∑t=0

(2c ∧ r`,t)

bt

= 0

2c f ∧ r` = 0

f =

q∑t=0

1 · bt+1 =bq+1 − 1

b − 1

Page 50: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Выбор c

2c > a

b = 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c − 1+ r`,t ={

01 . . . 1, если r`,t > 01 ∗ · · · ∗ в противном случае

2c ∧ r`,t = 0

q∑t=0

(2c ∧ r`,t)

bt

= 0

2c f ∧ r` = 0

f =

q∑t=0

1 · bt+1 =bq+1 − 1

b − 1

Page 51: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Выбор c

2c > a

b = 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c − 1+ r`,t ={

01 . . . 1, если r`,t > 01 ∗ · · · ∗ в противном случае

2c ∧ r`,t = 0

q∑t=0

(2c ∧ r`,t)

bt

= 0

2c f ∧ r` = 0

f =

q∑t=0

1 · bt+1 =bq+1 − 1

b − 1

Page 52: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Выбор c

2c > a

b = 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c − 1+ r`,t ={

01 . . . 1, если r`,t > 01 ∗ · · · ∗ в противном случае

2c ∧ r`,t = 0

q∑t=0

(2c ∧ r`,t)bt = 0

2c f ∧ r` = 0

f =

q∑t=0

1 · bt+1 =bq+1 − 1

b − 1

Page 53: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Выбор c

2c > a

b = 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c − 1+ r`,t ={

01 . . . 1, если r`,t > 01 ∗ · · · ∗ в противном случае

2c ∧ r`,t = 0

q∑t=0

(2c ∧ r`,t)bt = 0

2c f ∧ r` = 0 f =

q∑t=0

1 · bt+1 =bq+1 − 1

b − 1

Page 54: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

ОстановкаSm является единственной командой STOP

Машина останавливается на q-ом шаге если и только если

sm = 2q

Page 55: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Протокол

q . . . t + 1 t . . . 0...

......

......

......

Sk sk,q . . . sk,t+1 sk,t . . . sk,0 = sk =∑q

t=0 sk,tbt

......

......

......

......

......

......

......

R` r`,q . . . r`,t+1 r`,t . . . r`,0 = r` =∑q

t=0 r`,tbt

......

......

......

......

......

......

......

Z` z`,q . . . z`,t+1 z`,t . . . z`,0 = z` =∑q

t=0 z`,tbt

......

......

......

...

Page 56: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Выбор c

2c > a

b = 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c f ∧ r` = 0

f =

q∑t=0

1 · bt+1 =bq+1 − 1

b − 1

Page 57: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Выбор c

2c > a

b = 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c f ∧ r` = 0

f =

q∑t=0

1 · bt+1 =bq+1 − 1

b − 1

Page 58: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Выбор c

2c > a

b = 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c f ∧ r` = 0

f =

q∑t=0

1 · bt+1 =bq+1 − 1

b − 1

Page 59: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Выбор c

2c > a

b = 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c f ∧ r` = 0

f =

q∑t=0

1 · bt+1 =bq+1 − 1

b − 1

Page 60: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Выбор c

2c > a

b = 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c f ∧ r` = 0

f =

q∑t=0

1 · bt+1 =bq+1 − 1

b − 1

Page 61: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Выбор c

2c > a

b = 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c f ∧ r` = 0 f =

q∑t=0

1 · bt+1 =bq+1 − 1

b − 1

Page 62: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Индикаторы нуля

z`,t ={

0, если r`,t = 01 в противном случае

b = 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c − 1+ r`,t ={

01 . . . 1, если r`,t > 01 ∗ · · · ∗ в противном случае

2c f ∧ ((2c − 1)f + r`) = 2cz` f =

q∑t=0

1 · bt+1 =bq+1 − 1

b − 1

Page 63: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Новые состояния

sk =

q∑t=0

sk,tbt z` =q∑

t=0

z`,tbt

sd − sd ,0 = b∑0sk + b

∑+(z` ∧ sk) + b∑−((e − z`) ∧ sk)

e =

q−1∑t=0

1 · bt+1 =bq − 1b − 1

Page 64: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

Новые значения регистров

sk =

q∑t=0

sk,tbt r` =q∑

t=0

r`,tbt z` =q∑

t=0

z`,tbt

r` − r`,0 = br` + b∑+sk − b

∑−(z` ∧ sk)

r1 − a = br1 + b∑+sk − b

∑−(z` ∧ sk)r` = br` + b

∑+sk − b∑−(z` ∧ sk), l = 2, . . . , n

Page 65: Десятая проблема Гильберта. Решение и применения в информатике, весна 2010: Лекция 2

ОстановкаSm является единственной командой STOP

Машина останавливается на q-ом шаге если и только если

sm = 2q