Программы с кодами исправляющие ошибки

Обнаружение ошибок в технике связи — действие, направленное на контроль целостности данных при записи/воспроизведении информации или при её передаче по линиям связи. Исправление ошибок (коррекция ошибок) — процедура восстановления информации после чтения её из устройства хранения или канала связи.

Для обнаружения ошибок используют коды обнаружения ошибок, для исправления — корректирующие коды (коды, исправляющие ошибки, коды с коррекцией ошибок, помехоустойчивые коды) Способы борьбы с ошибками

В процессе хранения данных и передачи информации по сетям связи неизбежно возникают ошибки. Контроль целостности данных и исправление ошибок — важные задачи на многих уровнях работы с информацией (в частности, физическом, канальном, транспортном уровнях сетевой модели OSI).

В системах связи возможны несколько стратегий борьбы с ошибками:

обнаружение ошибок в блоках данных и автоматический запрос повторной передачи повреждённых блоков — этот подход применяется, в основном, на канальном и транспортном уровнях; обнаружение ошибок в блоках данных и отбрасывание повреждённых блоков — такой подход иногда применяется в системах потокового мультимедиа, где важна задержка передачи и нет времени на повторную передачу; исправление ошибок (англ. forward error correction) применяется на физическом уровне.

Лекция 1 | Ликбез: коды, исправляющие ошибки | Александр Шень | Лекториум

Если кодовые комбинации составлены так, что они отличаются друг от друга на кодовое расстояние d ≥3, то они образуют корректирующий код, который позволяет по имеющейся в кодовой комбинации избыточности обнаруживать и исправлять ошибки.

Корректирующие коды делятся на систематические и несистематические.

Систематическим или линейным, кодом называется код, имеющий постоянную длину и четкое деление всех кодовых элементов на информационные k и контрольные m элементы, занимающие определенные места в комбинациях.

Читайте также:
Как программа чтобы настроить гитару

Составление корректирующих кодов производится примерно по следующему правилу. Сначала определяется количество контрольных символов m, которое следует добавить к данной кодовой комбинации, состоящей из k информационных символов. Далее устанавливается место, где эти контрольные символы должны быть расставлены в комбинации, и их состав, то есть является ли данный контрольный символ 1 или 0. На приеме обычно применяется проверка на четность определенной части разрядов.

Источник: studfile.net

Коды, исправляющие ошибки. Варианты программной реализации

Существует множество кодов, исправляющих ошибки в двоичном коде. Это очень полезно, потому что множество информации портиться при хранении или передачи информации. Одним из примеров данных кодов можно привести «код Хемминга»(Подробно о нём уже написал другой автор http://habrahabr.ru/post/140611/). Они добавляют к бинарному тексту дополнительные, кодовые биты, при помощи которых мы сможем исправить полученные ошибки.

Каждый такой код имеет две характеристики – k и n. Такой код называется (n,k)-кодом. Здесь “n” обозначает общее количество символов в блоке закодированного текста, а “k” – число значимых символов.

Коды, исправляющие ошибки


Например, простейшим кодом является код с повторениями. В этом коде к каждому символу двоичного кода добавляется по n-1 кодовых битов, которые дублируют, значимый символ и в последствие мы сможем исправить ошибку. Например (3,1)-код дописывает к каждому символу в двоичной системе два таких же и при зашумлении, если меняется один символ из блока, то остаётся 2 одинаковых и по ним мы возвращаем исходный символ.

Описание проекта

В моей программе мы использовали 2 вида таких кодов, это (3,1)-код с повторением и (7,4)-код, который является одним из так называемых «кодов Хэмминга». Однако моя программа написана так, что в неё без особых усилий и затрат времени можно добавить любой другой код типа (n,k).

Читайте также:
В основу какой программы положена методика unido

Для того чтобы осуществить свою цель, мне потребовалось переводить обычный текст в бинарный вид, затем добавлять кодовые биты, помогающие мне восстановить текст. И для того, чтобы с эмитировать ошибки в бинарном коде, я написал процедуру, зашумляющую текст (совершающую ошибки в бинарном коде).

Затем я переводил в обычный текст зашумлённый код, чтобы продемонстрировать пользователю действенность зашумления. Следующим действием я исправлял оставшийся у мой зашумленный код и переводили его в обычный текст.

Для создания своей программы я использовал справку программы Pascal, мои собственные знания и «великий» Google.com.

Выводы и перспективы.

Я создал программу, реализующую два кода исправляющих ошибки в тексте, полученные при переносе или длительном хранении файла с информацией. А так же улучшил свои навыки в языке программирования Pascal.

Исходные коды

Прошу прощения за «еврейский код» и за турбо паскаль тоже(нормальный компьютер сломался, писал на пеньтиуме втором). Код может помочь школьникам на уроках информатике и олимпиадникам.

  • n/k коды
  • коды хемминга
  • шифрование данных
  • хранение информации

Источник: habr.com

Новая ИИ-программа Россомаха исправляет ошибки в коде «на лету»

image

Россомаха обладает функцией саморегенерации и автоматизированной отладки.

Разработчик под ником BioBootloader создал программу Wolverine , которая проводит отладку сценариев Python «на лету» и автоматизирует исправление ошибок. «Запускайте с помощью Wolverine сценарии, и когда они «падают», GPT-4 редактирует их и объясняет, что пошло не так. Даже, если у вас много ошибок, код будет многократно перезапускаться, пока все не будет исправлено», — объясняет разработчик.

В демонстрационном видео BioBootloader показывает параллельное окно с кодом Python (слева) и результатами Wolverine (справа). Разработчик загружает собственный скрипт калькулятора, в который специально добавляет несколько ошибок, а затем выполняет его. Wolverine запускает код, видит сбой, а затем обращается к GPT-4, чтобы попытаться выяснить, как исправить ошибку.

Читайте также:
Программа настройки папок компьютера

GPT-4 выводит объяснение ошибок, показывает внесённые изменения, а затем перезапускает программу. При появлении новых ошибок GPT-4 снова исправляет код, пока сценарий не станет верным, объясняет BioBootloader. По словам разработчика, технологию можно применять и к другим языкам программирования. Для использования Wolverine требуется API-ключ OpenAI для GPT-3.5 или GPT-4.

Хотя в настоящее время Wolverine – примитивный прототип, подобные методы иллюстрируют потенциальное будущее, в котором приложения смогут исправлять свои собственные ошибки, которые могут возникнуть после развертывания. Конечно, последствия, безопасность и целесообразность этого метода еще полностью не изучены.

Вы подозреваете, что за вами кто-то СЛЕДИТ? Присоединяйтесь к нашему ТГ каналу и научитесь контролировать свои цифровые следы.

Источник: www.securitylab.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru