PParityOchre
Espacio de programación con IA

Corrección Hamming de un bit

Decodifica una palabra Hamming de siete bits suponiendo explícitamente como máximo un bit alterado.

● ● ●ParityOchre●
Flujos de trabajo · Corrección Hamming de un bit ×
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
✳Decodifica una palabra Hamming de siete bits suponiendo explícitamente como máximo un bit alterado.
✓ CambiosRevisa antes de aplicar ↗
Vista ilustrativa
01

Revisa antes de aplicar

Compara el comportamiento real con el resultado esperado. Si una prueba falla, investiga la causa antes de hacer más cambios.

02

Modelos

Configura un endpoint compatible con OpenAI o Anthropic usando la URL base y, si hace falta, una clave API. Prueba la conexión. Un servidor local debe estar en ejecución; las herramientas remotas pueden enviar datos por separado.

03

Proyecto

Prueba palabras intactas y cada posición alterada, rechaza entradas mal formadas o no binarias y no prometas detectar errores múltiples.

Flujos de trabajo

Corrección Hamming de un bit

Flujos de trabajo ↗
Flujos de trabajo
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
Espacio de programación con IA

Mantén explícitos los supuestos operativos del código experimental

ParityOchre es un entorno de programación con IA para Windows que ayuda a convertir un pequeño experimento técnico en un componente de software con límites claros. Abre la carpeta de código y describe las condiciones en las que se utilizará el resultado. Pide al modelo que examine tanto el cálculo como el código que lo llama, especialmente cuando una salida pueda interpretarse como prueba de una recuperación correcta.

Por ejemplo, solicita una revisión de hamming.py bajo el supuesto de un error de un solo bit. Proporciona una palabra intacta y otra con un bit cambiado, e indica cómo debe presentar la aplicación los datos y el síndrome devueltos. Analiza por separado los fallos fuera de ese supuesto, sin dejar que un resultado plausible implique que se corrigió cualquier entrada dañada.

Utiliza la modificación propuesta para examinar la interfaz que rodea al experimento. Comprueba la longitud de entrada y los valores de los bits, ejecuta casos independientes en tu entorno y examina el mensaje que muestra el consumidor. Nombrar claramente las salidas importa: la aplicación debe comunicar lo que realmente informa la rutina, sin transformar un ejemplo acotado en una afirmación de fiabilidad más amplia.

ParityOchre admite conexiones con modelos mediante endpoints compatibles con OpenAI o de Anthropic, con credenciales cuando se requieran. Un modelo de IA sin censura es una opción donde se ofrezca, sujeta a las restricciones del proveedor. Las herramientas y el contexto disponibles dependen del modelo y del servidor elegidos; las pruebas obtenidas de tus casos siguen siendo necesarias al revisar el comportamiento propuesto.

Preguntas sobre experimentos de recuperación acotados

¿Demuestra un valor devuelto que se reparó la palabra?

Solo dentro de los supuestos establecidos para la rutina y la entrada. Un valor de datos plausible por sí solo no demuestra que se haya corregido un daño arbitrario. Revisa cómo describe la aplicación el resultado para no mostrar garantías superiores a las que respalda el experimento.

¿Qué debe cubrir la validación de entrada?

Utiliza la longitud de palabra esperada y los valores de bits permitidos por el contrato del proyecto. Incluye longitudes incorrectas y elementos que no sean bits en los casos de prueba. Examina también el rechazo a través del código consumidor, porque una excepción de una función auxiliar no equivale necesariamente a una respuesta útil de la aplicación.

¿Por qué incluir palabras intactas en las pruebas?

Comprueban la ruta sin cambios y el significado del síndrome informado cuando no se indica ninguna corrección. Compara los datos extraídos con un valor esperado independiente. Probar solo ejemplos dañados puede pasar por alto un defecto en el tratamiento de entradas normales o la interpretación de salidas.

¿Cómo debo solicitar una gestión de errores más amplia?

Indica los casos de error adicionales y las pruebas que necesita la aplicación para distinguirlos. Trátalo como un nuevo requisito de diseño, no como un pequeño parche al ejemplo existente. Revisa la interfaz y las pruebas propuestas antes de asumir que respaldan una garantía de recuperación mayor.

Descargar para Windows ↗

ParityOchre · Actualizado 2026-10-25