Программы для диагностики компьютера и исправления ошибок — Tvoiprogrammy ru на vc.ru
В нынешнее время всё труднее и труднее содержать свой домашний компьютер в нормальном состоянии, особенно если давно не производились грейдеры комплектующих, так как все новые версии программ установленных на пк грузят его систему по полной и не дают нормально быстро работать.
7288 просмотров
В сегодняшнем обзоре мы решили собрать все самые удобные программы для диагностики пк на русском языке. Скажем как есть лучшие программы это платные, но есть версии пробные которые дадут вам уйму возможностей и пару раз использовать и решить свои задачи.
Данный софт поможет диагностироваться и найти все системные неисправности, а так же проблемы с видео картой, процессором, озу , винчестером и т.д. Все представленные утилиты в рейтинге выставлены на наш взгляд исходя из опыта опробования на наших компьютерах.
Рейтинг программ для диагностики компьютера
Обзор программ для диагностики ПК
Advanced System Care
Advanced System Care Free – утилита для высококачественной автоматизации, нормализации и увеличения быстроты работы операционной системы процессора.
Товар корпорации iObit наделяет в своем составе комплект бесплатных механизмов и дополнений для качественной подсистемой модернизации, глубочайшей диагностикой и битвы со щпионскими программами, благодаря чему софт запросто соперничает даже с коммерческими аналогами.
Ускоритель Компьютера
Ускоритель Компьютера – высококачественное дополнение на русском языке для самой быстрой диагностики и оптимизации — чистки пк.
Вкупе с соперничающим софтом этой градации, изучаемый нами продукт демонстрирует невообразимое убыстрение коэффициентов деятельности ПК, предельно высококачественную регулировку и впечатляющий инструментарий для выявления любых перебоев и неисправностей в системе.
Wise Care 365
Wise Care 365 – превосходная программа для эффективного и стремительного усовершенствования производительности личного компьютера.
Данный софт имеет нужный комплект средств и утилит для глубочайшей чистки и тончайшей перенастройки ОС, дефрагментации дисков, удобной настройкой в реестре , благодаря чему юзер обозревает ускоренную деятельность своего пк.
Wise Registry Cleaner
Wise Registry Cleaner – дополнение для чистки функционального списка от ошибок и осуществления спецопераций по совершенствованию системы.
Утилита нормализует производительность ПК, подкорректирует различные подтипы ошибок, «тюнингует» важнейшие элементы, модернизирует по календарю, сформировывает позиции воссоздания и запасные копии перед пуском обследования реестра.
Carambis Cleaner
Carambis Cleaner – продуктивный софт для качественной и действенной очистки компьютера.
Главный функционал утилиты ориентирован на увеличение быстродействия ПК, устранение всевозможных оплошностей и различных дефектов в операционной системе, сформировывая благотворную адаптацию для комфортабельной работы на компьютере.
Ashampoo WinOptimizer
Ashampoo WinOptimizer – мощнейший программный комплекс для прироста быстродействия ПК с поддержкой всевозможных механизмов.
Наделяет в своем инструментарии комплект механизмов для поиска и искоренения ненужных библиотек на дисках, минимизации системного перечня, надзора перечнем автозапуска и выбора приемлемых регулировок системы.
CCleaner
CCleaner – бесплатный высококачественный механизм для очистки реестра, устранения лишних и незадействованных файлов, очищения места на винчестере и наращивания производительности ПК.
Изучаемый нами «чистильщик» в 2016 обрёл присвоение первоклассной бесплатной программы для Виндовс и с этой аттестацией нельзя не согласиться, поскольку софт избавляет систему от «мусора» и ненужного материала молниеносно и добротно.
Glary Utilities
Glary Utilities – высококачественный плагин для увеличения производительности ПК, самозащиты подсистемы и модернизации деятельности.
ПО служит ассистентом в обслуживании дружной, ускоренной и тактичной работы ОС, модернизации и высвобождения пространства оперативной памяти, блокировки зловредного вторжения, деинсталляции ПО и всевозможных немаловажных опций.
EasyCleaner
EasyCleaner – компактная утилита для моментального тестирования и высокоэффективной чистки компьютера.
Простой, но довольно высокоэффективный уборщик вмиг диагностирует подсистему и выискивает ненужные дублирующиеся файлики, вычисляет независимое пространство в папках и на дисках, переписывает автозапуск, наводит порядок во кратковременных файлах и устраняет неработоспособные ярлыки.
Comodo System Utilities
Comodo System Utilities – бесплатный оптимизатор с комплектом инструментариев для детального считывания подсистемы и чистки реестра.
Дополнение ощутимо увеличивает рентабельность компьютера благодаря невозвратимой чистке всего захламляющего ОС хлама, стирания дубликатов стандартных и интерактивных файлов, тончайшим регулировкам совершенствования системы и иным значимым приложениям.
Vit Registry Fix
Vit Registry Fix – могучее дополнение для чистки реестра, устранения промашек и устаревшей информации с дальнейшей модернизацией стационарного пространства.
Интерфейс программы не удовлетворяется способностями «чистильщика», а дозволяет также осуществлять поиск ключей по определённому наименованию, избавлять дисковое место и делать стабилизационные копии функционального реестра.
Smart Defrag
Smart Defrag — символически бесплатный дефрагментатор, разработанный компанией IObit и дозволяющий совершенствуть производительность жёсткого диска до максимально возможной способности деятельности.
Одним из явлений Smart Defrag трактуется дефрагментация двух—трёх разнообразных жестких дисков ритмично, но это высоко-высоко не все, что может это приложение.
Auslogics Registry Cleaner
Auslogics Registry Cleaner – бесплатная утилита для чистки реестра от отживших пометок и коррекции неполадок.
Изучаемый нами продукт служит для модернизации подсистемы и имеет арсенал для чистки, искателя незадействованных файлов, «слабых» и незащищённых мест для зловредного софта. Нормализует и ускоряет работу ПК, а также предостерегает критичные крахи ос.
Reg Organizer
Reg Organizer – дополнение для перепроверки, модернизации и чистки функционального реестра от скопившегося «мусора» и ненужных файлов.
Ускоряет и структурирует работу операционки, подбадривает в «тонусе» реестр системы и узкоспециализированные виндовсовские регулировки для наращивания быстродействия и отзыва ПК. После пуска проходит стремительный экспресс-анализ компа, определяет трудности и рекомендует сценарии их урегулирования.
Telamon Cleaner
Telamon Cleaner – утилита для скрупулёзной чистки компьютера от вирусов и высококачественной модернизации работы.
Этот высокотехнологичный «чистильщик» совокупил в себе огромное колличество инструментариев для работы с ПК, способных найти вирусы и вычистить приспособление от них, стереть весь мусор, сканировать реестр и отладить эффективное взаимодействие компьютера.
Программы для исправления ошибок Windows 10, 8.1 и 7
Разного рода ошибки в Windows являются типичной проблемой пользователя и было бы не плохо иметь программу для автоматического их исправления. Если вы пробовали искать бесплатные программы для исправления ошибок Windows 10, 8. 1 и Windows 7, то с большой вероятностью, находить вам удавалось лишь CCleaner, другие утилиты для очистки компьютера, но не что-то, что могло бы исправить ошибку при запуске диспетчера задач, ошибки сети или «DLL отсутствует на компьютере», проблему с отображением ярлыков на рабочем столе, запуском программ и тому подобные.
В этой статье — способы исправить распространенные проблемы ОС в автоматическом режиме с помощью бесплатных программ для исправления ошибок Windows. Некоторые из них являются универсальными, другие подходят для более конкретных задач: например, для того, чтобы решить проблемы с доступом к сети и Интернету, исправить ассоциации файлов и подобных.
- FixWin 10
- Kaspersky Cleaner
- Windows Repair Toolbox
- Kerish Doctor
- Microsoft Easy Fix
- File Extension Fixer и UVK
- Устранение неполадок Windows
- Anvisoft PC PLUS
- Net Adapter Repair
- AVZ
FixWin 10
После выхода Windows 10 заслуженно набрала популярность программа FixWin 10. Несмотря на название, она подойдет не только для десятки, но и для предыдущих версий ОС — все исправления ошибок Windows 10 вынесены в утилите в соответствующий раздел, а остальные разделы в равной степени подходят для всех последних операционных систем от Microsoft.
Среди преимуществ программы — отсутствие необходимости установки, широкий (очень) набор автоматических исправлений для самых типичных и распространенных ошибок (не работает меню Пуск, не запускаются программы и ярлыки, заблокирован редактор реестра или диспетчер задач и т.д.), а также информация о способе ручного исправления этой ошибки по каждому пункту (см. пример на скриншоте ниже). Главный недостаток для нашего пользователя — нет русского языка интерфейса.
Подробно об использовании программы и о том где скачать FixWin 10 в инструкции Исправление ошибок Windows в FixWin 10.
Kaspersky Cleaner
С недавних пор на официальном сайте Касперского появилась новая бесплатная утилита Kaspersky Cleaner, которая не только умеет очищать компьютер от ненужных файлов, но и исправлять самые распространенные ошибки Windows 10, 8 и Windows 7, среди которых:
- Исправление ассоциаций файлов EXE, LNK, BAT и других.
- Исправление заблокированного диспетчера задач, редактора реестра и других системных элементов, исправление их подмены.
- Изменение некоторых системных настроек.
Преимущества программы — исключительная простота для начинающего пользователя, русский язык интерфейса и продуманность исправлений (навряд ли что-то получится сломать в системе, даже если вы — начинающий пользователь). Подробнее об использовании: Очистка компьютера и исправление ошибок в программе Kaspersky Cleaner.
Windows Repair Toolbox
Windows Repair Toolbox — набор бесплатных утилит для устранения самых разнообразных неполадок Windows и загрузки самых популярных сторонних утилит для этих целей. С помощью утилиты можно исправить проблемы с сетью, выполнить проверку на наличие вредоносных программ, проверку жесткого диска и оперативной памяти, просмотреть сведения об оборудовании компьютера или ноутбука.
Подробно об использовании утилиты и доступных в ней средствах устранения ошибок и неисправностей в обзоре Использование Windows Repair Toolbox для исправления ошибок Windows.
Kerish Doctor
Kerish Doctor — программа для обслуживания компьютера, очистки его от цифрового «мусора» и других задач, но в рамках этой статьи поговорим лишь о возможностях по устранению распространенных проблем Windows.
Если в главном окне программы зайти в раздел «Обслуживание» — «Решение проблем с ПК», откроется список доступных действий для автоматического исправления ошибок Windows 10, 8 (8.1) и Windows 7.
Среди них такие типичные ошибки как:
- Не работает обновление Windows, не запускаются системные утилиты.
- Не работает поиск Windows.
- Не работает Wi-Fi или не видны точки доступа.
- Не загружается рабочий стол.
- Проблемы с ассоциациями файлов (не открываются ярлыки и программы, а также другие важные типы файлов).
Это далеко не полный список доступных автоматических исправлений, с большой вероятностью в нем вы сможете обнаружить и свою проблему, если она не особо специфичная.
Программа платная, но в течение пробного периода работает без ограничения функций, что позволяет исправить возникшие проблемы с системой. Скачать пробную бесплатную версию Kerish Doctor можно с официального сайта https://www.kerish.org/ru/
Microsoft Fix It (Easy Fix)
Одна из хорошо известных программ (или сервисов) для автоматического исправления ошибок — это Центр решений Microsoft Fix It, позволяющая подобрать решение конкретно вашей проблемы и скачать небольшую утилиту, которая сможет исправить ее в вашей системе.
Обновление 2017: Microsoft Fix It судя по всему прекратил свою работу, однако теперь доступны исправления Easy Fix, загружаемые в виде отдельных файлов устранения неполадок на официальном сайте https://support.microsoft.com/ru-ru/help/2970908/how-to-use-microsoft-easy-fix-solutions
Использование Microsoft Fix It происходит в несколько простых шагов:
- Вы выбираете «тематику» вашей проблемы (к сожалению, исправления ошибок Windows присутствуют, в основном, для Windows 7 и XP, а для восьмой версии — нет).
- Указываете подраздел, например, «Подключение к Интернету и сетям», при необходимости используете поле «Фильтр для решений», чтобы быстрее найти исправление ошибки.
- Читаете текстовое описание решения проблемы (кликнуть по заголовку ошибки), а также, при необходимости скачиваете программу Microsoft Fix It для автоматического исправления ошибки (клик по кнопке «Запустить сейчас»).
Познакомиться с Microsoft Fix It вы можете на официальном сайте http://support2.microsoft.com/fixit/ru.
File Extension Fixer и Ultra Virus Killer
File Extension Fixer и Ultra Virus Scanner — две утилиты одного разработчика. Первая из них полностью бесплатная, вторая — платная, но многие функции, в том числе исправление распространенных ошибок Windows доступны без приобретения лицензии.
Первая программа, File Extension Fixer, предназначена в первую очередь для исправления ошибок ассоциаций файлов Windows: exe, msi, reg, bat, cmd, com и vbs. При этом, на случай, если у вас не запускаются файлы .exe программа на официальном сайте http://www.carifred.com/exefixer/ доступна как в варианте обычного исполняемого файла, так и как . com файл.
В разделе System Repair программы доступны некоторые дополнительные исправления:
- Включить и запустить редактор реестра, если он не запускается.
- Включить и запустить восстановление системы.
- Включить и запустить диспетчер задач или msconfig.
- Скачать и запустить Malwarebytes Antimalware для проверки компьютера на наличие вредоносных программ.
- Download and run UVK — этот пункт скачивает и устанавливает вторую из программ — Ultra Virus Killer, также содержащую дополнительные исправления Windows.
Исправление распространенных ошибок Windows в UVK можно найти в разделе System Repair — Fixes for common Windows Problems (исправление частых проблем Windows), впрочем и другие пункты в списке также могут оказаться полезными при устранении неполадок системы (сброс параметров, поиск нежелательных программ, исправление ярлыков браузеров, включение меню F8 в Windows 10 и 8, очистка кэша и удаление временных файлов, установка системных компонентов Windows и т. п.).
После того, как необходимые исправления были выбраны (отмечены галочкой), нажмите кнопку «Run selected fixes/apps» для начала применения изменений, для применения одного исправления просто дважды кликните по нему в списке. Интерфейс на английском языке, но многие из пунктов, думаю, вполне будут понятны почти любому пользователю.
Устранение неполадок Windows
Часто незамечаемый пункт панели управления Windows 10, 8.1 и 7 — Устранение неполадок также может выручить и исправить в автоматическом режиме многие ошибки и проблемы с оборудованием.
Если открыв «Устранение неполадок» в панели управления, вы нажмете по пункту «Просмотр всех категорий» вам будет доступен полный список всех автоматических исправлений, уже встроенных в вашу систему и не требующих использования каких-либо сторонних программ. Пусть не во всех случаях, но достаточно часто эти средства действительно позволяют исправить проблему.
Anvisoft PC PLUS
Anvisoft PC PLUS — недавно попавшаяся мне программа для решения различных проблем с Windows. Принцип ее работы схож с сервисом Microsoft Fix It, но, думаю, несколько более удобен. Одно из преимуществ — исправления работают и для последних версий Windows 10 и 8.1.
Работа с программой выглядит следующим образом: на главном экране вы выбираете тип проблемы — ошибки ярлыков рабочего стола, подключения к сети и Интернету, системы, запуска программ или игр.
Следующим шагом находите конкретную ошибку, которую требуется исправить и нажимаете кнопку «Fix now», после чего PC PLUS автоматически предпринимает действия по решению проблемы (для большинства задач требуется подключение к Интернет для загрузки необходимых файлов).
Из недостатков для пользователя — отсутствие русского языка интерфейса и сравнительно небольшое количество доступных решений (правда, их число растет), но уже сейчас в программе присутствуют исправления для:
- Большинства ошибок ярлыков.
- Ошибок «запуск программы невозможен, так как файл DLL отсутствует на компьютере».
- Ошибок при открытии редактора реестра, диспетчера задач.
- Решения для удаления временных файлов, избавления от синего экрана смерти и тому подобные.
Ну и главное преимущество — в отличие от сотен других программ, которые изобилуют в англоязычном интернете и называются наподобие «Free PC Fixer», «DLL Fixer» и аналогичным образом, PC PLUS не представляет собой что-то, пытающееся установить нежелательное ПО на ваш компьютер (во всяком случае, на момент написания этой статьи).
Перед использованием программы рекомендую создать точку восстановления системы, а скачать PC Plus можно с официального сайта http://www.anvisoft.com/anvi-pc-plus.html
NetAdapter Repair All In One
Бесплатная программа Net Adapter Repair предназначена для исправления самых разных ошибок, связанных с работой сети и Интернета в Windows. Она пригодится, если вам требуется:
- Очистить и исправить файл hosts
- Включить Ethernet и беспроводные адаптеры сети
- Сбросить Winsock и протокол TCP/IP
- Очистить кэш DNS, таблицы маршрутизации, очистить статические IP подключений
- Перезагрузить NetBIOS
- И многое другое.
Возможно, что-то из описанного кажется и не ясным, но в случаях, когда не открываются сайты или после удаления антивируса перестал работать Интернет, не получается зайти в контакт и одноклассники, а также во многих других ситуациях эта программа способна вам помочь и очень быстро (правда, стоит понимать, что именно вы делаете, иначе результаты могут быть обратными).
Более подробно о программе и о ее загрузке на компьютер: Исправление ошибок сети в NetAdapter PC Repair.
Антивирусная утилита AVZ
Несмотря на то, что основная функция антивирусной утилиты AVZ — поиск у удаления троянов, SpyWare и Adware с компьютера, она включает в себя также небольшой, но эффективный модуль «Восстановление системы» для автоматического исправления ошибок сети и Интернета, проводника, ассоциаций файлов и других.
Чтобы открыть эти функции в программе AVZ, нажмите «Файл» — «Восстановление системы» и отметьте те операции, которые необходимо выполнить. Более подробную информацию вы можете найти на официальном сайте разработчика z-oleg. com в разделе «Документация по AVZ» — «Функции анализа и восстановления» (там же вы можете и скачать программу).
Пожалуй, это все — если есть, что добавить, оставляйте комментарии. Но только не о таких утилитах, как Auslogics BoostSpeed, CCleaner (см. Использование CCleaner с пользой)— так как это не совсем то, о чем идет речь в данной статье. Если вам необходимо исправить ошибки Windows 10, рекомендую посетить раздел «Исправление ошибок» на этой странице: Инструкции по Windows 10.
remontka.pro в Телеграм | Способы подписки
Коды с исправлением ошибок: теория и практика
Коды с исправлением ошибокявляются основным средством защиты данных от шума. Они естественным образом появляются в компьютерных науках, электротехнике, математике и физике. По этой причине у них богатая интеллектуальная история во всех этих областях. Хотя коды с исправлением ошибок изучаются с 1950-х годов, за последние несколько лет наблюдается бурный теоретический прогресс во всех этих областях. Например, в теоретической информатике мы видели новые конструкции кодов, декодируемых списком, и локально декодируемых/проверяемых кодов; в электротехнике и теории информации мы наблюдаем появление полярных кодов и новые результаты по работе классических кодов со стохастическими каналами; в математике мы увидели новые комбинаторные результаты и связи с алгебраической геометрией; а в физике мы видели недавнюю разработку хороших квантовых кодов LDPC.
Этот шквал теоретического прогресса сопровождался (и мотивировался) шквалом новых приложений. Новые технологии порождают новые теоретические проблемы, а решения этих проблем отражаются на практике. Примеры включают приложения для хранения ДНК; квантовые вычисления; кодирование для распределенных систем и распределенных вычислений; и кодирование для новых технологий памяти. Коды с исправлением ошибок также находят новые теоретические применения, например, в теории сложности, псевдослучайности и криптографии.
Эта программа объединяет исследователей из различных сообществ, занимающихся теоретическими исследованиями кодов с исправлением ошибок, включая TCS, EE/IT, математику и физику, а также исследователей, работающих над потенциальными областями применения. Цель состоит в том, чтобы еще больше ускорить прогресс в этой области и наметить новые направления для этой области.
Нажмите здесь, чтобы подписаться на наши новости и события, чтобы узнать больше об этом и других событиях.
Организаторы:
Сивакант Гопи (Microsoft Research), Венкат Гурусвами (Калифорнийский университет в Беркли), Генри Пфистер (Университет Дьюка), Мэри Вуттерс (Стэнфордский университет), Жиль Земор (Институт математики Бордо)
Долгосрочные участники (предварительно, включая организаторов):
Александр Барг (Университет Мэриленда), Роб Колдербэнк (Университет Дьюка), Дин Дорон (Университет Бен-Гуриона), Парикшит Гопалан (Apple), Сивакант Гопи (Microsoft Research), Елена Григореску (Университет Пердью), Венкат Гурусвами (Калифорнийский университет в Беркли), Камлла Холланти (Университет Аалто), Юваль Ишай (Технион), Энтони Леверье (INRIA), Арья Мазумдар (UCSD), Ольгика Миленкович (UIUC), Марко Монделли (Институт науки и технологий Австрии), Кришна Нараянан (Техасский университет A&M), Генри Пфистер (Университет Дьюка), Юрий Полянский (Массачусетский технологический институт), Нога Рон-Зеви (Хайфский университет), Алекс Саморадницкий (Еврейский университет Иерусалим), Мадху Судан Судан (Гарвардский университет), Амнон Та-Шма (Тель-Авивский университет), Жан-Пьер Тиллих (INRIA), Антония Вахтер-Цех (Мюнхенский технический университет), Мэри Вуттерс (Стэнфордский университет), Эйтан Яакоби ( Технион-Израильский институт Т технологии), Жиль Земор (Институт математики Бордо)
Введение в коды исправления ошибок.
Часть 1 | Программа инженерного образования (EngEd)Космический корабль «Юнона» сделал бесчисленное количество фотографий хаотических штормов на Юпитере, и все они были сделаны в ошеломляющих деталях. Но каким образом эти изображения передаются на сотни миллионов миль через пространство почти без признаков вмешательства? Вы также можете задаться вопросом, как DVD-диски могут воспроизводить фильмы с царапинами на них.
Решением обеих этих проблем являются коды с исправлением ошибок. Коды, исправляющие ошибки, — одна из самых фундаментальных концепций, поддерживающих работу нашего общества, основанного на технологиях. Каждый канал связи сталкивается с ошибками передачи в той или иной форме, а это означает, что необходимо иметь возможность исправить эти ошибки; отсюда важность исправления ошибок. В этой статье я планирую исследовать интуицию, лежащую в основе кодов исправления ошибок, и представить код Хэмминга.
Одним из наиболее распространенных применений кода Хэмминга является память с исправлением ошибок. Компьютер использует динамическую память с произвольным доступом или ОЗУ, чтобы сократить время, необходимое для запуска всех ваших программ. Этот тип памяти хранит данные в крошечных конденсаторах. Электрические или магнитные помехи могут вызвать самопроизвольное переключение битов в этих конденсаторах, что приведет к ошибке. Это вмешательство встречается редко, но может привести к нежелательным последствиям. Компьютеры используют специализированные аппаратные контроллеры для исправления этих ошибок, которые традиционно используют код Хэмминга.
Что такое коды исправления ошибок?
Во-первых, давайте определим, что такое ошибка. Для строки битов ошибка — это просто перестановка битов. Например, у нас может быть строка битов 01101
. Ошибка в четвертом бите приведет к тому, что 0
станет 1
, что приведет к появлению нового сообщения 01111
. Наша цель с кодами исправления ошибок состоит в том, чтобы найти эти ошибки и исправить их.
По своей сути коды исправления ошибок позволяют обнаруживать и исправлять ошибки в любой форме данных. Это достигается путем получения на входе строки символов, чаще всего строки битов. Мы добавим дополнительные биты, называемые битами четности. Это может помочь определить, могла ли произойти ошибка.
Код повторения
Самый классический пример исправления ошибок — это код повторения, когда каждый бит во входном сообщении дублируется несколько раз. Например, если у вас есть сообщение 01101
, мы можем закодировать его, используя этот метод повторения, и оно станет 000 111 111 000 111
. В этом случае мы повторили каждый бит три раза. Если бы произошел случайный переворот бита или ошибка, мы могли бы исправить это, просто взяв самый общий бит каждого трехбитового сегмента.
Допустим, мы получили следующее сообщение 100 111 101 000 110
, содержащее несколько ошибок. Тогда мы сможем исправить ошибку и декодировать сообщение в исходное сообщение 01101
. Но этот метод не очень эффективен, так как нам пришлось сделать наше сообщение в три раза длиннее, добавив два бита четности на каждый бит исходного кода. Кроме того, важно отметить, что если более чем один бит в этом трехбитном сегменте был затронут ошибкой, мы больше не могли исправить ошибку.
Лучшее обнаружение ошибок
Как мы можем улучшить повторяющийся код? Вместо дублирования каждого бита для создания битов четности давайте сделаем наши биты четности зависимыми от нескольких входных битов. Например, рассмотрим двухбитное сообщение 11
. Мы могли бы добавить бит четности, используя оператор XOR для объединения исходных битов, $1 \oplus 1 = 0$.
Теперь, добавив этот бит четности, мы получили новое закодированное сообщение 110
. Чтобы проверить, произошла ли ошибка в любом из трех битов, мы можем пересчитать этот бит четности и определить, соответствует ли полученный бит тому, что мы вычислили. Если они этого не сделают, мы скажем, что бит четности неверен. Скажем исходное сообщение 110
была ошибка во втором бите, в результате чего полученное сообщение было 100
. Если мы попытаемся пересчитать четность, мы обнаружим, что она больше не соответствует полученному биту четности, поэтому она неверна. Итак, мы знаем, что должна быть ошибка. В этом случае мы не можем исправить ошибку, но обнаружение ошибки — хорошее начало.
Расстояние Хэмминга
Проблема с предыдущим примером заключается в том, что у нас нет способа исправить ошибку. Причину этого можно визуализировать на графике ниже, где все возможные комбинации трех битов будут представлены узлом. Действительные кодовые слова, те, чьи биты четности верны, выделены жирным шрифтом. Затем каждое ребро будет представлять битовый переворот, соответствующий подключенным узлам.
Если мы начнем с любого допустимого кодового слова, мы можем перейти к другому допустимому кодовому слову, пройдя по двум ребрам или сделав двухбитовые перевороты. Эти обходы можно рассматривать как расстояние между кодовыми словами, которое мы называем расстоянием Хэмминга. Более формально мы говорим, что расстояние Хэмминга между двумя кодовыми словами — это количество элементов с разными значениями.
Например, 110
и 000
имеют расстояние Хэмминга, равное двум. Начав с недопустимого кода с ошибкой, мы видим, что у нас нет способа определить, какой из действительных кодов был отправлен. Поскольку все три действительных кода находятся на расстоянии одного от недопустимого кода. Это означает, что будет три равновероятных возможности.
Рассмотрим еще раз полученное сообщение 100
, в котором есть ошибка во втором бите. Мы не можем точно исправить это, поскольку равновероятно, что ошибка произошла в любом из трех битов. Действительные кодовые слова 110
, 000
и 101
находятся на расстоянии Хэмминга, равном единице.
Расстояние Хэмминга всего кода равно минимальному расстоянию Хэмминга между любыми двумя допустимыми кодовыми словами. В этом случае, используя график, мы видим, что расстояние Хэмминга этого кода равно двум.
Оказывается, чтобы код был корректируемым, расстояние Хэмминга должно быть не менее трех. Давайте снова рассмотрим код повторения, для которого расстояние Хэмминга равно трем. На приведенном ниже графике видно, что недопустимое кодовое слово никогда не может находиться на одинаковом расстоянии от двух допустимых кодовых слов. Это подчеркивает, почему повторный код всегда может исправить одну ошибку, поскольку всегда существует ближайшее допустимое кодовое слово. Это верно для всех кодов с расстоянием Хэмминга, равным трем. В общем случае для кода с расстоянием Хэмминга $d$ можно исправить до $\left\lfloor{\frac{d-1}{2}}\right \rfloor$ ошибок.
Двоичный код Хэмминга
Используя идею создания битов четности с помощью оператора XOR, мы можем создать так называемый код Хэмминга$[7,4]$. Мы объединим несколько битов, чтобы создать каждый из битов четности для этого кода. Этот код примет четырехбитный ввод и закодирует его в семибитное кодовое слово. Этот процесс добавит три дополнительных бита четности. Для простоты назовем три бита четности $x_1$, $x_2$ и $x_3$, а исходные четыре бита сообщения $m_1$, $m_2$, $m_3$ и $m_4$.
Нашей целью будет использование этих битов четности для облегчения декодирования. Для этого мы можем позволить каждому из них содержать данные трех из четырех исходных битов. Это позволит нам использовать неверные биты четности, чтобы определить, где произошла ошибка.
Мы можем определить первый бит четности как $x_1=m_1 \oplus m_2 \oplus m_4$. При попытке декодирования, если мы определяем, что этот бит четности неверен, мы знаем, что ошибка должна произойти с одним из четырех битов в уравнении: $m_1$, $m_2$, $m_4$ или $x_1$.
Если мы создадим два других бита четности аналогичным образом, мы получим следующие определения. С этим определением этот код будет иметь расстояние Хэмминга, равное трем.
$$x_1=m_1 \oplus m_2 \oplus m_4$$
$$x_2=m_1 \oplus m_3 \oplus m_4$$
$$x_3=m_2 \oplus m_3 \oplus m_4$$
С этими паритетами битов, мы можем определить, где произошла ошибка в семибитном сообщении, зная, какие биты четности неверны. Важно отметить, что мы должны предположить, что произошла не более одной ошибки. Любую более чем одну ошибку исправить будет невозможно, и наш код в конечном итоге исправит другой бит. Мы могли бы представить себе создание графика, похожего на то, что мы делали раньше. Мы увидели бы, что две ошибки затем подтолкнут наше сообщение ближе к другому допустимому кодовому слову, что и происходит с повторяющимся кодом.
Исправление ошибок
Теперь, когда у нас есть бит четности, давайте рассмотрим, как мы можем использовать его для исправления ошибок. Предполагая не более одной ошибки, у нас есть восемь случаев, один для отсутствия ошибок и по одному для каждого из семи битов закодированного сообщения. Каждый из этих случаев будет коррелировать с комбинацией неправильных битов четности. Мы можем определить эти комбинации, которые создает каждая ошибка, посмотрев, какие уравнения включают какие части закодированного сообщения.
Я заполнил таблицу для каждого из этих случаев, пометив, какой ошибочный бит приводит к какой комбинации неправильных битов четности. Это дает нам возможность обнаружить единственную ошибку в любом из семи битов сообщения.
Чемодан | Ошибочный бит | Неправильные биты четности |
---|---|---|
Чемодан 0 | Нет ошибки | Нет |
Чемодан 1 | $m_1$ | $x_1$ и $x_2$ |
Чемодан 2 | $m_2$ | $x_1$ и $x_3$ |
Чемодан 3 | $m_3$ | $x_2$ и $x_3$ |
Чемодан 4 | $m_4$ | $x_1$, $x_2$ и $x_3$ |
Чемодан 5 | $x_1$ | $x_1$ |
Чемодан 6 | $x_2$ | $x_2$ |
Чемодан 7 | $x_3$ | $x_3$ |
Исходя из этого, мы можем создать процесс декодирования, проверив эти восемь случаев, чтобы определить, где в закодированном сообщении произошла ошибка. Давайте рассмотрим быстрый пример, чтобы показать, как выглядит этот процесс. Скажем, мы хотим передать сообщение «1011». Во-первых, нам нужно вычислить биты четности:
$$x_1=1 \oplus 0 \oplus 1=0$$ $$x_2=1 \oплюс 1 \oплюс 1=1$$ $$x_3=0 \oplus 1 \oplus 1=0$$
Итак, наше закодированное сообщение будет таким: 1011010
. При передаче закодированного сообщения третий бит, $m_3$, испытывает ошибку и переворачивается, что приводит к полученному сообщению 1001010
. Мы можем пересчитать биты четности и найти $x_1=0$, $x_2=0$ и $x_3=1$. Используя приведенную выше таблицу, мы можем определить, что в третьем бите есть ошибка, так как биты четности $x_2$ и $x_3$ неверны. 9= 1 # Случай 7
# Случай 0: Если все три бита правильные, то ничего не изменится
вернуть м[0:4]
Чтобы увидеть, как эта реализация используется в генераторе случайных ошибок, посмотрите здесь.
Заключение
Теперь, когда мы проанализировали, как работает код Хэмминга, я хочу поговорить о некоторых статистических данных и о том, в каких случаях мы будем рассматривать использование кода Хэмминга.
С помощью кода Хэмминга$[7,4]$ мы можем исправить одну ошибку для каждого 7-битного закодированного сегмента данных. Давайте рассмотрим реальный пример с интерференцией космических лучей здесь, на Земле. Согласно публикации IBM, мы ожидаем увидеть одну ошибку в месяц на 256 мегабайт памяти из-за космических лучей. Это может показаться низким, но для медицинских устройств это может означать жизнь или смерть. Средний компьютер с Windows 10 использует около 2 ГБ ОЗУ в любой момент времени.
С приведенным выше ожидаемым числом космических лучей мы можем рассчитать вероятность ошибки для 2 ГБ памяти в течение часа примерно до 0,0107. Если мы расширим этот временной интервал до целого дня, мы получим вероятность немногим меньше одной четвертой.
Ошибки — довольно частое явление, учитывая количество используемых нами данных, но они редко происходят одновременно. Это означает, что очень маловероятно, что у нас будет неисправимая ситуация. Это идеальное использование кода Хэмминга, поскольку мы можем исправить эти редкие ошибки.