PParityOchre
Środowisko programowania z AI

Korekcja jednego bitu Hamminga

Odkoduj siedmiobitowe słowo Hamminga przy jawnym założeniu najwyżej jednego odwróconego bitu.

● ● ●ParityOchre●
Sposoby pracy · Korekcja jednego bitu Hamminga ×
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
✳Odkoduj siedmiobitowe słowo Hamminga przy jawnym założeniu najwyżej jednego odwróconego bitu.
✓ ZmianySprawdź przed zastosowaniem ↗
Ilustracja środowiska
01

Sprawdź przed zastosowaniem

Porównaj rzeczywiste zachowanie z oczekiwanym wynikiem. Jeśli sprawdzenie się nie powiedzie, wyjaśnij przyczynę przed kolejnymi zmianami.

02

Modele

Dodaj endpoint zgodny z OpenAI lub Anthropic, podając bazowy URL i klucz API, jeśli jest wymagany. Sprawdź połączenie. Lokalny serwer modelu musi działać; zdalne narzędzia mogą przesyłać dane oddzielnie.

03

Projekt

Sprawdź słowa bez błędów i każdą pojedynczą pozycję, odrzuć błędny format lub wartości niebinarne i nie obiecuj wykrywania wielu błędów.

Sposoby pracy

Korekcja jednego bitu Hamminga

Sposoby pracy ↗
Sposoby pracy
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
Środowisko programowania z AI

Niech kod eksperymentalny rzetelnie ujawnia założenia działania

ParityOchre to środowisko programowania z AI dla Windows, które pomaga przekształcić mały eksperyment techniczny w komponent o jasno określonych granicach. Otwórz folder źródeł i opisz warunki używania wyniku. Poproś model o sprawdzenie obliczenia i kodu wywołującego, zwłaszcza tam, gdzie wynik może zostać uznany za dowód udanego odzyskania danych.

Przykładowo poproś o przegląd hamming.py przy założeniu błędu pojedynczego bitu. Podaj słowo nienaruszone i słowo z jednym zmienionym bitem, a następnie określ, jak aplikacja powinna prezentować zwrócone dane i syndrom. Osobno omów awarie wykraczające poza to założenie, zamiast pozwalać, by wiarygodny wynik sugerował naprawienie każdych uszkodzonych danych wejściowych.

Wykorzystaj proponowaną edycję do zbadania interfejsu wokół eksperymentu. Sprawdź długość wejścia i wartości bitów, uruchom niezależne dane testowe we własnym środowisku i sprawdź komunikat wyświetlany przez kod korzystający z wyniku. Jasne nazwy wyników mają tu znaczenie: aplikacja powinna informować o tym, co procedura faktycznie raportuje, bez zamieniania ograniczonego przykładu w szerszą deklarację niezawodności.

ParityOchre obsługuje połączenia z modelami przez punkty końcowe zgodne z OpenAI lub Anthropic, z danymi uwierzytelniającymi, jeśli są wymagane. Model AI bez cenzury jest opcją tam, gdzie jest oferowany, z zastrzeżeniem ograniczeń dostawcy. Dostępne narzędzia i kontekst zależą od wybranego modelu i serwera; dowody z danych testowych pozostają konieczne przy ocenie proponowanego zachowania programu.

Pytania o eksperymenty odzyskiwania o ograniczonym zakresie

Czy zwrócona wartość dowodzi naprawienia słowa?

Tylko w ramach założeń ustalonych dla procedury i danych wejściowych. Sama wiarygodna wartość danych nie dowodzi udanej korekcji dowolnych uszkodzeń. Sprawdź, jak aplikacja opisuje wynik, aby użytkownicy nie otrzymywali silniejszych zapewnień, niż uzasadnia eksperyment.

Co powinna obejmować walidacja danych wejściowych?

Użyj oczekiwanej długości słowa i dozwolonych wartości bitów z kontraktu projektu. Dodaj do danych testowych nieprawidłową długość i elementy niebędące bitami. Sprawdź również odrzucenie poprzez kod wywołujący, ponieważ wyjątek funkcji pomocniczej nie musi oznaczać użytecznej reakcji aplikacji.

Dlaczego uwzględniać w testach nienaruszone słowa?

Sprawdzają ścieżkę bez zmian i znaczenie raportowanego syndromu, gdy korekcja nie jest wskazana. Porównaj wyodrębnione dane z niezależną wartością oczekiwaną. Testowanie wyłącznie uszkodzonych przykładów może pominąć błąd zwykłej obsługi wejścia lub interpretacji wyniku.

Jak poprosić o szerszą obsługę błędów?

Określ dodatkowe przypadki błędów i dowody potrzebne aplikacji do ich rozróżnienia. Traktuj to jako nowe wymaganie projektowe, a nie drobną poprawkę istniejącego przykładu. Przejrzyj proponowany interfejs i testy, zanim założysz, że zapewnia silniejszą gwarancję odzyskania.

Pobierz dla Windows ↗

ParityOchre · Zaktualizowano 2026-10-25