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

Кроки клітинного автомата на кільці

Обчисліть один синхронний крок елементарного клітинного автомата на кільці із числом двійкових клітин від 1 до 256.

● ● ●RuleFennec●
Сценарії · Кроки клітинного автомата на кільці ×
def cellular_step(bits, rule):
    bits = tuple(bits)
    if not 1 <= len(bits) <= 256 or any(type(v) is not int or v not in (0, 1) for v in bits):
        raise ValueError("cells.binary")
    if type(rule) is not int or not 0 <= rule <= 255:
        raise ValueError("rule.byte")
    n = len(bits)
    return [(rule >> (4 * bits[(i - 1) % n] + 2 * bits[i] + bits[(i + 1) % n])) & 1 for i in range(n)]
✳Обчисліть один синхронний крок елементарного клітинного автомата на кільці із числом двійкових клітин від 1 до 256.
✓ ЗміниПеревірте перед застосуванням ↗
Ілюстрація робочого середовища
Перевірте перед застосуваннямПорівняйте фактичну поведінку з очікуваним результатом. Якщо перевірка не проходить, з’ясуйте причину перед наступними змінами.
МоделіНалаштуйте OpenAI-сумісний або Anthropic endpoint із базовою URL-адресою та API-ключем, якщо він потрібен. Перевірте з’єднання. Локальний сервер моделі має працювати; віддалені інструменти можуть окремо передавати дані.
ПроєктПеревірте сусідів через край та єдину клітину, відхиляючи порожній ввід, логічні клітини й правила поза діапазоном від нуля до 255.
Сценарії

Кроки клітинного автомата на кільці

Сценарії ↗
Сценарії
def cellular_step(bits, rule):
    bits = tuple(bits)
    if not 1 <= len(bits) <= 256 or any(type(v) is not int or v not in (0, 1) for v in bits):
        raise ValueError("cells.binary")
    if type(rule) is not int or not 0 <= rule <= 255:
        raise ValueError("rule.byte")
    n = len(bits)
    return [(rule >> (4 * bits[(i - 1) % n] + 2 * bits[i] + bits[(i + 1) % n])) & 1 for i in range(n)]
Робоче середовище з ШІ для коду

Зберігайте узгодженість кроку симуляції в усьому стані

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

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

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

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

Питання щодо зміни переходу стану

Що означає синхронність у запиті на код?

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

Навіщо додавати кільце з однієї клітинки?

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

Чи мають булеві значення вважатися клітинками?

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

Чи може RuleFennec оцінити всю симуляцію за одним кроком?

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

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

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