42
правки
Изменения
Правка 3
'''Код ГреяКод Грея''' - такое упорядочение k-ичных (обычно двоичных) векторов, что соседние вектора отличалются отличаются только в одном разряде.Код назван в честь Френка Фрэнка Грея, который в 1947 году получил патент на "отраженный двоичный код". Изначально он предназначался для избавления от паразитных состояний в электромеханических переключателях, однако сейчас область его применения гораздо шире.
-предположим, что получившийся код на первом шаге i есть Код Греякод отвечает условиям
-тогда предположим, что получившийся код на шаге i+1: первая половина кода будет корректна, так как она совпадает с кодом с шага i за исключением добавленного последнего бита 0. Вторая половина тоже соответствует условиям, так как она явлеятся зеракальным отражением первой половины, только добавлена везде 1. На стыке: i бит совпадают в силу зеркальности, отличается последний.Таким образом этот код - есть Код Грея. Индукционное предположение доказанно, алгоритм работает верно.
-тогда на шаге i+1: первая половина кода будет корректна, так как она совпадает с кодом с шага i за исключением добавленного последнего бита 0. Вторая половина тоже соответствует условиям, так как она является зеркальным отражением первой половины, только добавлен везде бит 1. На стыке: первые i бит совпадают в силу зеркальности, последние различны по построению. Таким образом этот код - Код Грея. Индукционное предположение доказано, алгоритм работает верно. Этот алгоритм можно обобщить и для k-ичных векторов.Также известен алгоритм преобразования двоичного кода в Код Грея. Сущестует Существует ещё несколько видов Кода Грея - сбалансированный Код Грея, код Беккета-Грея, одноколейный Код Грея. == Применение == Код Грея применяется в: -датчиках-энкодерах ( устройства, преобразующие угол поворота вала в электрический сигнал ); -как способ решения задачи о Ханойских башнях ( дано три стержня, на первом из них нанизано 8 колец разного размера в виде пирамиды; цель - перенести пирамиду на другой стержень, сохранив упорядоченность ); -в генетических алгоритмах; -в Картах Карно ( при передаче в карту переменные сортируются в Код Грея ); -в кодах, исправляющих ошибки; -для связи систем с различной частотой работы. == Источники == [http://en.wikipedia.org/wiki/Gray_code] Gray code, From Wikipedia, the free encyclopedia [http://ru.wikipedia.org/wiki/Код_Грея] Код Грея, Материал из Википедии — свободной энциклопедии