PParityOchre
Робоче середовище з ШІ для коду

Виправлення одного біта кодом Геммінга

Декодуйте семибітове слово Геммінга за явного припущення не більш як одного перевернутого біта.

● ● ●ParityOchre●
Сценарії · Виправлення одного біта кодом Геммінга ×
def correct_hamming(word):
    word = list(word)
    if len(word) != 7 or any(type(b) is not int or b not in (0, 1) for b in word):
        raise ValueError("hamming.word")
    syndrome = 0
    for parity in (1, 2, 4):
        value = 0
        for position in range(1, 8):
            if position & parity:
                value ^= word[position-1]
        if value:
            syndrome |= parity
    if syndrome:
        word[syndrome-1] ^= 1
    data = (word[2] << 3) | (word[4] << 2) | (word[5] << 1) | word[6]
    return data, syndrome
✳Декодуйте семибітове слово Геммінга за явного припущення не більш як одного перевернутого біта.
✓ ЗміниПеревірте перед застосуванням ↗
Ілюстрація робочого середовища
01

Перевірте перед застосуванням

Порівняйте фактичну поведінку з очікуваним результатом. Якщо перевірка не проходить, з’ясуйте причину перед наступними змінами.

02

Моделі

Налаштуйте OpenAI-сумісний або Anthropic endpoint із базовою URL-адресою та API-ключем, якщо він потрібен. Перевірте з’єднання. Локальний сервер моделі має працювати; віддалені інструменти можуть окремо передавати дані.

03

Проєкт

Перевірте непошкоджені слова й кожну одиничну помилку, відхиляйте хибну довжину або недвійкові значення та не обіцяйте виявлення кількох помилок.

Сценарії

Виправлення одного біта кодом Геммінга

Сценарії ↗
Сценарії
def correct_hamming(word):
    word = list(word)
    if len(word) != 7 or any(type(b) is not int or b not in (0, 1) for b in word):
        raise ValueError("hamming.word")
    syndrome = 0
    for parity in (1, 2, 4):
        value = 0
        for position in range(1, 8):
            if position & parity:
                value ^= word[position-1]
        if value:
            syndrome |= parity
    if syndrome:
        word[syndrome-1] ^= 1
    data = (word[2] << 3) | (word[4] << 2) | (word[5] << 1) | word[6]
    return data, syndrome
Робоче середовище з ШІ для коду

Чітко визначайте робочі припущення експериментального коду

ParityOchre — робоче середовище з ШІ для програмування у Windows, що допомагає перетворити невеликий технічний експеримент на програмний компонент із чіткими межами. Відкрийте папку коду й опишіть умови використання результату. Попросіть модель перевірити обчислення та код виклику, особливо там, де результат можуть тлумачити як доказ успішного відновлення.

Наприклад, попросіть перевірити hamming.py за припущення про помилку в одному біті. Надайте неушкоджене слово й слово з одним зміненим бітом, а потім зазначте, як програма має показувати повернені дані та синдром. Окремо обговоріть збої поза цим припущенням, щоб правдоподібний результат не створював враження, ніби будь-яке пошкодження виправлено.

За допомогою запропонованої зміни дослідіть інтерфейс навколо експерименту. Перевірте довжину входу та значення бітів, запустіть незалежні тестові дані у своєму середовищі й перевірте повідомлення, яке показує споживач. Тут важливі зрозумілі назви виходів: програма має повідомляти те, що процедура справді визначає, не перетворюючи обмежений приклад на ширшу заяву про надійність.

ParityOchre підтримує підключення моделей через кінцеві точки, сумісні з OpenAI, або Anthropic, з обліковими даними за потреби. Модель ШІ без цензури можна вибрати там, де її пропонують, з урахуванням обмежень провайдера. Доступні інструменти та контекст залежать від вибраної моделі й сервера; під час оцінювання запропонованої поведінки програми докази з ваших тестів залишаються необхідними.

Запитання про експерименти відновлення з обмеженими умовами

Чи доводить повернене значення, що слово відновлено?

Лише в межах припущень, установлених для процедури та входу. Саме по собі правдоподібне значення даних не доводить успішного виправлення довільного пошкодження. Перевірте, як програма описує результат, щоб користувачам не обіцяли більше, ніж підтверджує експеримент.

Що має охоплювати перевірка входу?

Використовуйте очікувану довжину слова та дозволені значення бітів із контракту проєкту. Додайте до тестів неправильну довжину й елементи, що не є бітами. Перевірте також відхилення через код виклику, адже виняток допоміжної функції не обов’язково є корисною відповіддю програми.

Навіщо включати неушкоджені слова до тестів?

Вони перевіряють шлях без змін і значення повідомленого синдрому, коли виправлення не вказане. Порівняйте виділені дані з незалежним очікуваним значенням. Тестування лише пошкоджених прикладів може пропустити дефект звичайної обробки входу або тлумачення виходу.

Як попросити ширшу обробку помилок?

Зазначте додаткові випадки помилок і докази, потрібні програмі для їх розрізнення. Розглядайте це як нову вимогу до проєктування, а не мале виправлення наявного прикладу. Перевірте запропонований інтерфейс і тести, перш ніж припускати сильнішу гарантію відновлення.

Завантажити для Windows ↗

ParityOchre · Оновлено 2026-10-25