Пред.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
Обычная программа для цифровых вычислительных машин часто производит операции, которые отбрасывают информацию об истории компьютера, оставляя машину в таком состоянии, когда сведения о непосредственно предшествующем ему состоянии неопределенны. Такие операции включают стирание данных или запись их поверх предыдущих и вход в части программы с обращением к нескольким различным инструкциям по переносу. Иначе говоря, типичный компьютер логически необратим — его функция перехода (частная функция, отображающая каждое глобальное состояние машины на последующее ему, если таковое состояние имеется) не обладает однозначной обратной функцией. Ландауэр (Landauer [1]) сформулировал вопрос: является ли логическая необратимость неизбежной чертой полезных компьютеров? Отвечая на это положительно, он доказал физическую и философскую важность этого вопроса, показав, что, всякий раз, когда физический компьютер отбрасывает информацию о своем предыдущем состоянии, он должен порождать соответствующее количество энтропии. Следовательно, компьютер должен рассеивать энергию, не меньшую, чем Необратимый компьютер всегда можно сделать обратимым, сохраняя всю информацию, которая бы в других случаях терялась. Например, машине можно добавить дополнительную ленту (изначально пустую), на которую можно записывать каждую операцию, как только она будет произведена, делая это достаточно подробно так, что предшествующее состояние можно было однозначно определить по настоящему состоянию и последней записи на ленте. Однако, как отмечал Ландауэр, это только отодвинет проблему отбрасывания ненужной информации, поскольку лента должна быть очищена перед новым использованием. Таким образом, необходимы такие обратимые компьютеры, которые при остановке стирают все промежуточные результаты, оставляя только необходимые выходные и начальные входные данные. (Машина должна иметь возможность сохранять входные данные — в противном случае она не будет обратимой и по-прежнему будет проводить вычисления, при которых входные данные не определяются выходными однозначно.) Мы покажем, что обратимые универсальные компьютеры (машины Тьюринга), удовлетворяющие этим требованиям, действительно существуют, и что нет необходимости в том, чтобы они были намного сложнее, чем необратимые компьютеры, с которыми они сравниваются. Для вычислений на обратимых компьютерах требуется примерно в два раза больше шагов, чем для вычислений на обычном, и может появиться необходимость в большем объеме рабочей памяти для временного хранения данных. Перед проведением формального доказательства проведем рассуждение на современном эвристическом уровне. Мы начнем с уже упоминавшегося обратимого, но «неаккуратного» компьютера, который функционировал в течение долгого промежутка времени, но не сумел стереть ненужные результаты, сохранив историю своей деятельности. Ленту, заполненную случайными данными, можно очистить только необратимым процессом; однако лента, записавшая историю, не беспорядочна — существует неявная избыточная информация, которой обменивались лента и породившая историю машина. Ее и можно использовать для обратимой очистки ленты. Например, если к концу некоторого шага вычислений новая стадия вычислений задается функцией перехода, которая обратна к начальной функции перехода, то машина начнет выполнять все вычисления в обратном порядке, приведя в конце концов ленту истории в начальное пустое состояние [2]. Поскольку прямое вычисление было детерминированным и обратимым, обратное должно быть таким же. К сожалению, стадия обратного перехода трансформирует выходные данные в первоначальные входные, делая общее вычисление полностью бесполезным. Потеря нужных выходных данных может быть предотвращена просто дополнительным копированием их на отдельной ленте перед началом обратного процесса. При операции копирования (которую можно сделать обратимым образом, если лента, используемая для копирования, изначально пуста) запись на ленту истории прекращается. Тогда обратный процесс уничтожит только оригинал, но не копию. В конце вычислений в компьютере будут содержаться (реконструированные) оригинальные входные данные и неискаженная копия выходных: все остальные данные в памяти будут к этому времени восстановлены до их первоначального пустого состояния. Даже если никаких сведений об истории не останется, вычисление будет обратимым и детерминированным, поскольку таковой была каждая его стадия. Может показаться, что одним из недостатков обратимых машин является потребность в большом объеме оперативной памяти, нужной для записи истории — для
|
1 |
Оглавление
|