Форум программистов, компьютерный форум, киберфорум
anaschu
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  

сукцессия 30. Массив проверяющих друг друга моделей

Запись от anaschu размещена 18.07.2026 в 21:56
Показов 789 Комментарии 0

Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2.0)

Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона

Уважаемые коллеги!

В продолжение наших публикаций по тензорному моделированию сукцессии микоризных ассоциаций (УДК 519.87:574.3) представляю архитектурный план следующего этапа: создание сети взаимопроверяющих моделей разной размерности и на разных платформах.

1. Текущее состояние (v1.1.2)

На сегодняшний день разработано и откалибровано 28-мерное тензорное ядро на Python (SciPy, метод Radau), включающее:
  • Три зоны мицелия (Core/Tips/Old) для AM и ECM
  • Лабильный и стабильный (породный) пулы фосфора
  • Листопад и реабсорбцию P (2% биомассы/год, 45% реабсорбция)
  • Замкнутый симбиоз: гриб → P → хозяин (рост лимитирован фосфорным статусом)
  • Хвойный подрост и устойчивые островки ECM
  • Гидрологическое сжатие хотспота (динамический радиус ферментов)
  • Вскрытие породы ECM при устойчивом закислении (медленное среднее pH)
  • Азотный контур (в процессе калибровки)

Масштаб модели: делянка ~10 м² (проекция кроны одного дерева), гектар = ~1000 таких клеток.
N_STATE = 28 (планируется расширение до 30–32).

2. Сеть взаимопроверяющих моделей

Цель: создать три независимые реализации одной и той же физико-математической модели, чтобы:
  1. Проверять результаты друг через друга (кросс-верификация)
  2. Выявлять численные артефакты, специфичные для конкретного решателя
  3. Иметь эталон для калибровки при переходе к пространственным клеточным автоматам

Структура сети:

Code
1
2
3
M1 (Wolfram 7d) ←→ M4 (Python 7d)
        ↕                    ↕
M3 (Wolfram 28d) ←→ M2 (Python 28d)
  • M1 — Wolfram Mathematica, 7 переменных (упрощённый эталон). Работает, отлажен.
  • M2 — Python (SciPy Radau), 28–32 переменных (основной движок). В разработке у Claude.
  • M3 — Wolfram Mathematica, 28–32 переменных (точная копия M2). Будет создан после завершения M2.
  • M4 — Python, 7 переменных (упрощённая версия M2 для кросс-проверки). Будет создан из M1.

Горизонтальные связи: сравниваем решатели на одинаковой размерности.
Вертикальные связи: оцениваем эффект перехода от 7d к 28d.

3. Этапы развития до v2.0

Этап 1: Доводка 28-мерного ядра (завершается)
  1. А9 — калибровка PS_base до равновесного роста дерева (1.16 → 1.38)
  2. А10 — замкнутый азотный контур (передача N → хозяину, пулы N в тканях)
  3. Б0.1 — биологические рынки (переток P между зонами одного дерева)
  4. Б0.2 — трейд-офф «Конкуренция-Функция» (адресная подкормка проигравшего гриба)
  5. Б0.3 — стратегия репродуктивного спасения (спороношение проигравшего)

Этап 2: Часть Б (новая территория)
  1. Б1 — эффект Алли для хвойного подроста (порог выживания)
  2. Б2 — перекалибровка K и W_coalesce_threshold (срастание островков)
  3. Б3 — шум/ансамбль (стохастическая бифуркация, «1 успех из N»)
  4. Б4 — отдельная pH-толерантность для хвойных (кислый оптимум)
  5. Б5 — pH-толерантность MHB (по аналогии с сапротрофом)

Этап 3: Сеть взаимопроверяющих моделей
  1. Перенос 28-мерного Python-ядра в Wolfram (M3)
  2. Создание 7-мерной Python-модели из Wolfram-эталона (M4)
  3. Автоматизация кросс-проверки (скрипт сравнения траекторий)
  4. Параметрический свип на всех четырёх моделях → сравнение чувствительности

4. Ключевые параметры модели v2.0

 
[tr][td]Компонент[/td][td]Реализовано[/td][td]N_STATE[/td][/tr]
[tr][td]AM мицелий (Core/Tips/Old)[/td][td]✅[/td][td]3[/td][/tr]
[tr][td]ECM мицелий (Core/Tips/Old)[/td][td]✅[/td][td]3[/td][/tr]
[tr][td]Азот почвы + некромасса ECM[/td][td]✅[/td][td]2[/td][/tr]
[tr][td]Фосфор (лабильный + породный)[/td][td]✅[/td][td]5[/td][/tr]
[tr][td]Субстрат, опад, фауна, MHB, сапротроф[/td][td]✅[/td][td]5[/td][/tr]
[tr][td]Дерево + подрост + островки[/td][td]✅[/td][td]3[/td][/tr]
[tr][td]Протоны (pH) + pH-среднее[/td][td]✅[/td][td]2[/td][/tr]
[tr][td]P в тканях хозяев[/td][td]✅[/td][td]2[/td][/tr]
[tr][td]N в тканях хозяев[/td][td]⏳[/td][td]2[/td][/tr]
[tr][td]Споры AM/ECM[/td][td]⏳[/td][td]2[/td][/tr]
[tr][td]Итого v2.0[/td][td][/td][td]30–32[/td][/tr]

5. Автоматизация кросс-проверки

После создания всех четырёх моделей будет написан скрипт, который:
  1. Запускает M1, M2, M3, M4 на одинаковом наборе параметров (100+ вариаций)
  2. Сравнивает ключевые метрики: pH_final, время активации ECM, биомассы на 50-м году
  3. Выводит расхождения > 1% между любой парой моделей
  4. Сохраняет все траектории для визуализации

Целевая точность кросс-проверки: < 0.5% расхождения между Python и Wolfram на одинаковой размерности.

6. Прикладное значение

Данная сеть моделей решает три ключевые задачи:
  1. Верификация численных методов: Wolfram NDSolve с символьным контролем шага выявляет артефакты, которые Python-решатель «проглатывает».
  2. Калибровка по литературе: Упрощённые модели (7d) позволяют быстро перебирать параметры; сложные (28d) — дают финальные траектории.
  3. Переход к пространственным моделям: Сеть служит эталоном для калибровки будущих клеточных автоматов (гектар = 1000 клеток по 10 м²).

7. Ближайшие планы
  1. Доводка азотного контура и добавление трёх механизмов микологии (биологические рынки, трейд-офф, спороношение) — завершение M2
  2. Перенос M2 в Wolfram Mathematica — создание M3
  3. Создание M4 (Python 7d) из существующего Wolfram-эталона
  4. Запуск параметрического свипа и публикация результатов

[hr]

Приглашаю коллег к обсуждению архитектуры, особенно по следующим вопросам:
  • Стоит ли добавлять в сеть модель на Julia (DifferentialEquations.jl) для тройной кросс-проверки?
  • Какой метод обработки событий (WhenEvent vs. дискретные переменные) даёт меньшие артефакты при бифуркациях?
  • Каков оптимальный размер делянки для калибровки по литературным данным (10 м² vs 20 м²)?

[hr]

Архитектор проекта: anaschu
Текущий статус: v1.1.2 — 28-мерное ядро откалибровано, переход к v2.0
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 0
Комментарии
 
Новые блоги и статьи
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru