Редактирование: Счётчик Кнута

Перейти к: навигация, поиск

Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 28: Строка 28:
 
==== Инвариант с нулем ====
 
==== Инвариант с нулем ====
  
Проблемой может оказаться появление двух последовательных двоек, при этом первое правило может породить
+
Проблемой может оказаться появление двух последовательных двоек, при этом перое правило может породить
 
тройку. То есть недопустима следующая ситуация:  
 
тройку. То есть недопустима следующая ситуация:  
  
Строка 38: Строка 38:
  
 
Причем количество единиц между двойками может быть любое, в итоге это приведет к появлению тройки.
 
Причем количество единиц между двойками может быть любое, в итоге это приведет к появлению тройки.
Однако если между любой парой двоек всегда будет находиться хотя бы один
+
Однако если между любой парой двоек всегда будет находится хотя бы один
<tex>0</tex>, то такой ситуации не возникнет. Покажем, что этот инвариант
+
<tex>0</tex>, то такой ситуации не возникнет. Покажем, что что этот инвариант
 
поддерживается после инкремента, рассмотрев возможные ситуации:
 
поддерживается после инкремента, рассмотрев возможные ситуации:
 
: Число двоек не изменяется
 
: Число двоек не изменяется
Строка 58: Строка 58:
 
==== Пример ====
 
==== Пример ====
  
В таблице можно увидеть как будет изменяться представление при применении данных правил десять раз к нулю (представления чисел от <tex>0</tex> до <tex>9</tex>):
+
В таблице можно увидеть как будет изменятья представление при применении данных правил десять раз к нулю (представления чисел от <tex>0</tex> до <tex>9</tex>):
  
 
{| class="wikitable"
 
{| class="wikitable"
Строка 100: Строка 100:
 
{{Определение
 
{{Определение
 
|id=b_ary_rr
 
|id=b_ary_rr
|definition=В общем случае подобное представление называется '''<tex>b</tex>-ричным избыточным представлением''' ('''ИП''', англ. ''b-ary redundant representation''), которое похоже на представление в счетчике Кнута, но основание системы может быть произвольным, то есть <tex>d_i \in \{0,1,\dotsc ,b\}</tex> и <tex>\sum\limits_{i=1}^n d_i \cdot b^i = N</tex>, где <tex>b</tex>  {{---}} основание. Оно позволяет прибавить единицу к любому разряду, то есть увеличить число на <tex>b^i</tex> за <tex>O(1)</tex>
+
|definition=В общем случае подобное представление называется '''<tex>b</tex>-ричными избыточными представлением''' ('''ИП''', англ. ''b-ary redundant representation''), которое похоже на представление в счетчике Кнута, но основание системы может быть произвольным, то есть <tex>d_i \in \{0,1,\dotsc ,b\}</tex> и <tex>\sum\limits_{i=1}^n d_i \cdot b^i = N</tex>, где <tex>b</tex>  {{---}} основание. Оно позволяет прибавить единицу к любому разряду, то есть увеличить число на <tex>b^i</tex> за <tex>O(1)</tex>
 
}}
 
}}
  
 
{{Определение
 
{{Определение
 
|id=regular_rr
 
|id=regular_rr
|definition= Назовем представление '''регулярным''' (англ. ''regular''), если между двумя разрядами равными <tex>b</tex> есть хотя бы один разряд отличный от <tex>b-1</tex>.
+
|definition= Назовем представление '''регулярным''' (англ. ''regular''), если между дувумя разрядами равными <tex>b</tex> есть хотя бы один разряд отличный от <tex>b-1</tex>.
 
}}
 
}}
  
 
{{Определение
 
{{Определение
 
|id=fixup
 
|id=fixup
|definition= Операция '''исправления''' (англ. ''fix'') разряда <tex>d_i=b</tex> в регулярном ИП увеличивает <tex>d_{i+1}</tex> на <tex>1</tex> и устанавливает <tex>d_i</tex> в <tex>0</tex>, образуя новое регулярное ИП, представляющее то же число, что и <tex>d</tex>.
+
|definition= Операция '''исправления''' (англ. ''fix'') разряда <tex>d_i=b</tex> в регулярном ИП увеличивает <tex>d_{i+1}</tex> на <tex>1</tex> и устанавливает <tex>d_i</tex> в <tex>0</tex>, образуая новое регуляроне ИП, представляющее то же число, что и <tex>d</tex>.
 
}}
 
}}
  

Пожалуйста, учтите, что любой ваш вклад в проект «Викиконспекты» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Викиконспекты:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

Чтобы изменить эту страницу, пожалуйста, ответьте на приведённый ниже вопрос (подробнее):

Отменить | Справка по редактированию (в новом окне)

Шаблоны, используемые на этой странице: