Thư mời cựu sinh viên PFIEV dự lễ kỷ niệm 10 năm PFIEV - ĐH BKTPHCM
Thời gian: 8h00, Thứ Ba, ngày 27 tháng 10 năm 2009
Địa điểm: Hội trường A5
ĐH Bách Khoa Tp. Hồ Chí Minh
268 Lý Thường Kiệt, Q. 10, Tp. HCM
Thư mời cựu sinh viên PFIEV dự lễ kỷ niệm 10 năm PFIEV - ĐH BKTPHCM
Thời gian: 8h00, Thứ Ba, ngày 27 tháng 10 năm 2009
Địa điểm: Hội trường A5
ĐH Bách Khoa Tp. Hồ Chí Minh
268 Lý Thường Kiệt, Q. 10, Tp. HCM
2. Регистровые машины
Регистровая машина имеет конечное количество регистров
R1, . . . ,Rn каждый из которых может содержать произвольно
большое натуральное число.
3. Регистровые машины
Регистровая машина имеет конечное количество регистров
R1, . . . ,Rn каждый из которых может содержать произвольно
большое натуральное число. Машина выполняет программу
состоящую из конечного числа инструкций снабженных
метками S1, . . . ,Sm. Когда машина выполняет инструкцию с
меткой Sk, мы говорим, что машина находится в состоянии Sk.
4. Регистровые машины
Регистровая машина имеет конечное количество регистров
R1, . . . ,Rn каждый из которых может содержать произвольно
большое натуральное число. Машина выполняет программу
состоящую из конечного числа инструкций снабженных
метками S1, . . . ,Sm. Когда машина выполняет инструкцию с
меткой Sk, мы говорим, что машина находится в состоянии Sk.
Инструкции бывают трёх типов:
5. Регистровые машины
Регистровая машина имеет конечное количество регистров
R1, . . . ,Rn каждый из которых может содержать произвольно
большое натуральное число. Машина выполняет программу
состоящую из конечного числа инструкций снабженных
метками S1, . . . ,Sm. Когда машина выполняет инструкцию с
меткой Sk, мы говорим, что машина находится в состоянии Sk.
Инструкции бывают трёх типов:
I. Sk: R + +;Si
6. Регистровые машины
Регистровая машина имеет конечное количество регистров
R1, . . . ,Rn каждый из которых может содержать произвольно
большое натуральное число. Машина выполняет программу
состоящую из конечного числа инструкций снабженных
метками S1, . . . ,Sm. Когда машина выполняет инструкцию с
меткой Sk, мы говорим, что машина находится в состоянии Sk.
Инструкции бывают трёх типов:
I. Sk: R + +;Si
II. Sk: R − −; Si;Sj
7. Регистровые машины
Регистровая машина имеет конечное количество регистров
R1, . . . ,Rn каждый из которых может содержать произвольно
большое натуральное число. Машина выполняет программу
состоящую из конечного числа инструкций снабженных
метками S1, . . . ,Sm. Когда машина выполняет инструкцию с
меткой Sk, мы говорим, что машина находится в состоянии Sk.
Инструкции бывают трёх типов:
I. Sk: R + +;Si
II. Sk: R − −; Si;Sj
III. Sk: STOP
8. Регистровые машины
Регистровая машина имеет конечное количество регистров
R1, . . . ,Rn каждый из которых может содержать произвольно
большое натуральное число. Машина выполняет программу
состоящую из конечного числа инструкций снабженных
метками S1, . . . ,Sm. Когда машина выполняет инструкцию с
меткой Sk, мы говорим, что машина находится в состоянии Sk.
Инструкции бывают трёх типов:
I. Sk: R + +;Si
II. Sk: R − −; Si;Sj
III. Sk: STOP
Lambek [1961], Melzak [1961], Minsky [1961], Minsky [1967],
Shepherdson и Sturgis [1963]
9. Протокол
q ... t +1 t ... 0
S1 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
1, если на шаге t машина была в состоянии k
sk,t =
0 в противном случае
12. Новые значения регистров
+ −
r ,t+1 =r ,t + sk,t − z ,t sk,t
+
где -суммирование ведется по всем инструкциям вида
Sk : R + +; Si,
−
а -суммирование – по всем инструкциям вида
Sk : R − −; Si; Sj.
13. Новые состояния
+ − 0
sd,t+1 = sk,t + z ,t sk,t + (1 − z ,t )sk,t
+
где -суммирование ведется по всем инструкциям вида
Sk : R + +; Sd ,
−
-суммирование ведется по всем инструкциям вида
Sk : R − −; Sd ; Sj,
0
а -суммирование – по всем инструкциям вида
Sk : R − −; Si; Sd .
15. Начальные значения
Всегда начинаем в состоянии S1:
s1,0 = 1,
s2,0 = · · · = sm,0 = 0.
16. Начальные значения
Всегда начинаем в состоянии S1:
s1,0 = 1,
s2,0 = · · · = sm,0 = 0.
(Единственная) входная величина a помещается в регистр R1:
r1,0 = a,
17. Начальные значения
Всегда начинаем в состоянии S1:
s1,0 = 1,
s2,0 = · · · = sm,0 = 0.
(Единственная) входная величина a помещается в регистр R1:
r1,0 = a,
все остальные регистры пусты:
r2,0 = · · · = rn,0 = 0.
18. Остановка
Sm является единственной командой STOP:
sm,q = 1,
s1,q = · · · = sm−1,q = 0.
При остановке все регистры пусты:
r1,q = · · · = rn,q = 0.
22. Протокол
q ... t +1 t ... 0
.
. .
. .
. .
. .
. .
. .
.
. . . . . . .
q t
Sk sk,q ... sk,t+1 sk,t ... sk,0 = sk = t=0 sk,t b
.
. .
. .
. .
. .
. .
. .
.
. . . . . . .
.
. .
. .
. .
. .
. .
. .
.
. . . . . . .
q t
R r ,q ... r ,t+1 r ,t ... r ,0 =r = t=0 r ,t b
.
. .
. .
. .
. .
. .
. .
.
. . . . . . .
.
. .
. .
. .
. .
. .
. .
.
. . . . . . .
Z z ,q ... z ,t+1 z ,t ... z ,0
.
. .
. .
. .
. .
. .
. .
.
. . . . . . .
23. Протокол
q ... t +1 t ... 0
.
. .
. .
. .
. .
. .
. .
.
. . . . . . .
q t
Sk sk,q ... sk,t+1 sk,t ... sk,0 = sk = t=0 sk,t b
.
. .
. .
. .
. .
. .
. .
.
. . . . . . .
.
. .
. .
. .
. .
. .
. .
.
. . . . . . .
q t
R r ,q ... r ,t+1 r ,t ... r ,0 =r = t=0 r ,t b
.
. .
. .
. .
. .
. .
. .
.
. . . . . . .
.
. .
. .
. .
. .
. .
. .
.
. . . . . . .
q t
Z z ,q ... z ,t+1 z ,t ... z ,0 =z = t=0 z ,t b
.
. .
. .
. .
. .
. .
. .
.
. . . . . . .
24. Новые значения регистров
q q q
t t
sk = sk,t b r = r ,t b z = z ,t bt
t=0 t=0 t=0
+ −
r ,t+1 = r ,t + sk,t − z ,t sk,t
25. Новые значения регистров
q q q
t t
sk = sk,t b r = r ,t b z = z ,t bt
t=0 t=0 t=0
+ −
r ,t+1 = r ,t + sk,t − z ,t sk,t
26. Новые значения регистров
q q q
t t
sk = sk,t b r = r ,t b z = z ,t bt
t=0 t=0 t=0
+ −
r ,t+1 = r ,t + sk,t − z ,t sk,t
27. Новые значения регистров
q q q
t t
sk = sk,t b r = r ,t b z = z ,t bt
t=0 t=0 t=0
+ −
r ,t+1 = r ,t + sk,t − z ,t sk,t
28. Новые значения регистров
q q q
t t
sk = sk,t b r = r ,t b z = z ,t bt
t=0 t=0 t=0
t+1 + −
r ,t+1 b = r ,t bt+1 + sk,t bt+1 − z ,t sk,t bt+1
29. Новые значения регистров
q q q
t t
sk = sk,t b r = r ,t b z = z ,t bt
t=0 t=0 t=0
q−1 q−1
t+1 + −
r ,t+1 b = r ,t bt+1 + sk,t bt+1 − z ,t sk,t bt+1
t=0 t=0
30. Новые значения регистров
q q q
t t
sk = sk,t b r = r ,t b z = z ,t bt
t=0 t=0 t=0
q−1 q−1
t+1 + −
r ,t+1 b = r ,t bt+1 + sk,t bt+1 − z ,t sk,t bt+1
t=0 t=0
31. Новые значения регистров
q q q
t t
sk = sk,t b r = r ,t b z = z ,t bt
t=0 t=0 t=0
q−1 q−1
t+1 + −
r ,t+1 b = r ,t bt+1 + sk,t bt+1 − z ,t sk,t bt+1
t=0 t=0
+ −
r −r ,0 = br + b sk − b (z ∧ sk )
32. Новые значения регистров
q q q
t t
sk = sk,t b r = r ,t b z = z ,t bt
t=0 t=0 t=0
q−1 q−1
t+1 + −
r ,t+1 b = r ,t bt+1 + sk,t bt+1 − z ,t sk,t bt+1
t=0 t=0
+ −
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
33. Новые состояния
q q
t
sk = sk,t b z = z ,t bt
t=0 t=0
sd,t+1 =
+ − 0
= sk,t + z ,t sk,t + (1 − z ,t )sk,t
34. Новые состояния
q q
t
sk = sk,t b z = z ,t bt
t=0 t=0
sd,t+1 =
+ − 0
= sk,t + z ,t sk,t + (1 − z ,t )sk,t
35. Новые состояния
q q
t
sk = sk,t b z = z ,t bt
t=0 t=0
sd,t+1 =
+ − 0
= sk,t + z ,t sk,t + (1 − z ,t )sk,t
36. Новые состояния
q q
t
sk = sk,t b z = z ,t bt
t=0 t=0
sd,t+1 =
+ − 0
= sk,t + z ,t sk,t + (1 − z ,t )sk,t
37. Новые состояния
q q
t
sk = sk,t b z = z ,t bt
t=0 t=0
sd,t+1 bt+1 =
+ − 0
= sk,t bt+1 + z ,t sk,t bt+1 + (1 − z ,t )sk,t bt+1
38. Новые состояния
q q
t
sk = sk,t b z = z ,t bt
t=0 t=0
q−1
sd,t+1 bt+1 =
t=0
q−1
+ − 0
= sk,t bt+1 + z ,t sk,t bt+1 + (1 − z ,t )sk,t bt+1
t=0
39. Новые состояния
q q
t
sk = sk,t b z = z ,t bt
t=0 t=0
q−1
sd,t+1 bt+1 =
t=0
q−1
+ − 0
= sk,t bt+1 + z ,t sk,t bt+1 + (1 − z ,t )sk,t bt+1
t=0
40. Новые состояния
q q
t
sk = sk,t b z = z ,t bt
t=0 t=0
q−1
sd,t+1 bt+1 =
t=0
q−1
+ − 0
= sk,t bt+1 + z ,t sk,t bt+1 + (1 − z ,t )sk,t bt+1
t=0
0 + −
sd − sd,0 = b sk + b (z ∧ sk ) + b ((e − z ) ∧ sk )
41. Новые состояния
q q
t
sk = sk,t b z = z ,t bt
t=0 t=0
q−1
sd,t+1 bt+1 =
t=0
q−1
+ − 0
= sk,t bt+1 + z ,t sk,t bt+1 + (1 − z ,t )sk,t bt+1
t=0
0 + −
sd − sd,0 = b sk + b (z ∧ sk ) + b ((e − z ) ∧ sk )
q−1
bq − 1
e= 1 · bt+1 =
b−1
t=0
42. Индикаторы нуля
0, если r ,t = 0
z ,t =
1 в противном случае
b = 2c+1 r ,t ≤ 2c − 1 = 01 . . . 1
01 . . . 1, если r ,t > 0
2c − 1 + r ,t =
1 ∗ · · · ∗ в противном случае
2c ∧ (2c − 1 + r ,t ) = 2c z ,t
(2c ∧ (2c − 1 + r ,t )) = 2c z ,t
2c f ∧ ((2c − 1)f + r ) = 2c z
43. Индикаторы нуля
0, если r ,t = 0
z ,t =
1 в противном случае
b = 2c+1 r ,t ≤ 2c − 1 = 01 . . . 1
01 . . . 1, если r ,t > 0
2c − 1 + r ,t =
1 ∗ · · · ∗ в противном случае
2c ∧ (2c − 1 + r ,t ) = 2c z ,t
(2c ∧ (2c − 1 + r ,t )) = 2c z ,t
2c f ∧ ((2c − 1)f + r ) = 2c z
44. Индикаторы нуля
0, если r ,t = 0
z ,t =
1 в противном случае
b = 2c+1 r ,t ≤ 2c − 1 = 01 . . . 1
01 . . . 1, если r ,t > 0
2c − 1 + r ,t =
1 ∗ · · · ∗ в противном случае
2c ∧ (2c − 1 + r ,t ) = 2c z ,t
(2c ∧ (2c − 1 + r ,t )) = 2c z ,t
2c f ∧ ((2c − 1)f + r ) = 2c z
45. Индикаторы нуля
0, если r ,t = 0
z ,t =
1 в противном случае
b = 2c+1 r ,t ≤ 2c − 1 = 01 . . . 1
01 . . . 1, если r ,t > 0
2c − 1 + r ,t =
1 ∗ · · · ∗ в противном случае
2c ∧ (2c − 1 + r ,t ) = 2c z ,t
(2c ∧ (2c − 1 + r ,t )) = 2c z ,t
2c f ∧ ((2c − 1)f + r ) = 2c z
46. Индикаторы нуля
0, если r ,t = 0
z ,t =
1 в противном случае
b = 2c+1 r ,t ≤ 2c − 1 = 01 . . . 1
01 . . . 1, если r ,t > 0
2c − 1 + r ,t =
1 ∗ · · · ∗ в противном случае
2c ∧ (2c − 1 + r ,t ) = 2c z ,t
(2c ∧ (2c − 1 + r ,t ))bt = 2c z ,t bt
2c f ∧ ((2c − 1)f + r ) = 2c z
47. Индикаторы нуля
0, если r ,t = 0
z ,t =
1 в противном случае
b = 2c+1 r ,t ≤ 2c − 1 = 01 . . . 1
01 . . . 1, если r ,t > 0
2c − 1 + r ,t =
1 ∗ · · · ∗ в противном случае
2c ∧ (2c − 1 + r ,t ) = 2c z ,t
q q
(2c ∧ (2c − 1 + r ,t ))bt = 2c z ,t bt
t=0 t=0
q
c c c bq+1 − 1
2 f ∧ ((2 − 1)f + r ) = 2 z f = 1 · bt+1 =
b−1
t=0
48. Выбор c
2c > a
b = 2c+1 r ,t ≤ 2c − 1 = 01 . . . 1
01 . . . 1, если r ,t > 0
2c − 1 + r ,t =
1 ∗ · · · ∗ в противном случае
49. Выбор c
2c > a
b = 2c+1 r ,t ≤ 2c − 1 = 01 . . . 1
01 . . . 1, если r ,t > 0
2c − 1 + r ,t =
1 ∗ · · · ∗ в противном случае
2c ∧ r ,t =0
50. Выбор c
2c > a
b = 2c+1 r ,t ≤ 2c − 1 = 01 . . . 1
01 . . . 1, если r ,t > 0
2c − 1 + r ,t =
1 ∗ · · · ∗ в противном случае
2c ∧ r ,t =0
(2c ∧ r ,t ) =0
51. Выбор c
2c > a
b = 2c+1 r ,t ≤ 2c − 1 = 01 . . . 1
01 . . . 1, если r ,t > 0
2c − 1 + r ,t =
1 ∗ · · · ∗ в противном случае
2c ∧ r ,t =0
(2c ∧ r ,t ) =0
52. Выбор c
2c > a
b = 2c+1 r ,t ≤ 2c − 1 = 01 . . . 1
01 . . . 1, если r ,t > 0
2c − 1 + r ,t =
1 ∗ · · · ∗ в противном случае
2c ∧ r ,t =0
(2c ∧ r ,t )bt = 0
53. Выбор c
2c > a
b = 2c+1 r ,t ≤ 2c − 1 = 01 . . . 1
01 . . . 1, если r ,t > 0
2c − 1 + r ,t =
1 ∗ · · · ∗ в противном случае
2c ∧ r ,t =0
q
(2c ∧ r ,t )bt = 0
t=0
q
c bq+1 − 1
2 f ∧r =0 f = 1 · bt+1 =
b−1
t=0
54. Остановка
Sm является единственной командой STOP
Машина останавливается на q-ом шаге если и только если
s m = 2q
55. Протокол
q ... t +1 t ... 0
.
. .
. .
. .
. .
. .
. .
.
. . . . . . .
q t
Sk sk,q ... sk,t+1 sk,t ... sk,0 = sk = t=0 sk,t b
.
. .
. .
. .
. .
. .
. .
.
. . . . . . .
.
. .
. .
. .
. .
. .
. .
.
. . . . . . .
q t
R r ,q ... r ,t+1 r ,t ... r ,0 =r = t=0 r ,t b
.
. .
. .
. .
. .
. .
. .
.
. . . . . . .
.
. .
. .
. .
. .
. .
. .
.
. . . . . . .
q t
Z z ,q ... z ,t+1 z ,t ... z ,0 =z = t=0 z ,t b
.
. .
. .
. .
. .
. .
. .
.
. . . . . . .
56. Выбор c
2c > a
b = 2c+1 r ,t ≤ 2c − 1 = 01 . . . 1
57. Выбор c
2c > a
b = 2c+1 r ,t ≤ 2c − 1 = 01 . . . 1
58. Выбор c
2c > a
b = 2c+1 r ,t ≤ 2c − 1 = 01 . . . 1
2c f ∧ r = 0
59. Выбор c
2c > a
b = 2c+1 r ,t ≤ 2c − 1 = 01 . . . 1
2c f ∧ r = 0
60. Выбор c
2c > a
b = 2c+1 r ,t ≤ 2c − 1 = 01 . . . 1
2c f ∧ r = 0
61. Выбор c
2c > a
b = 2c+1 r ,t ≤ 2c − 1 = 01 . . . 1
q
bq+1 − 1
2c f ∧ r = 0 f = 1 · bt+1 =
b−1
t=0
62. Индикаторы нуля
0, если r ,t = 0
z ,t =
1 в противном случае
b = 2c+1 r ,t ≤ 2c − 1 = 01 . . . 1
01 . . . 1, если r ,t > 0
2c − 1 + r ,t =
1 ∗ · · · ∗ в противном случае
q
c c c bq+1 − 1
2 f ∧ ((2 − 1)f + r ) = 2 z f = 1 · bt+1 =
b−1
t=0
63. Новые состояния
q q
t
sk = sk,t b z = z ,t bt
t=0 t=0
0 + −
sd − sd,0 = b sk + b (z ∧ sk ) + b ((e − z ) ∧ sk )
q−1
bq − 1
e= 1 · bt+1 =
b−1
t=0
64. Новые значения регистров
q q q
t t
sk = sk,t b r = r ,t b z = z ,t bt
t=0 t=0 t=0
+ −
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
65. Остановка
Sm является единственной командой STOP
Машина останавливается на q-ом шаге если и только если
s m = 2q