import torch import numpy as np from singularity_core import SingularityCore def test_singularity_core(): """Простой тест сингулярного ядра.""" print("🧪 Тестирование сингулярного ядра...") # Инициализация singularity = SingularityCore( singularity_radius=0.01, wormhole_depth=2.1, rotation_speed=0.0, embedding_dim=256 ) print(f"✅ Инициализация: радиус={singularity.singularity_radius}, глубина={singularity.wormhole_depth}") # Создание тестового состояния test_state = torch.randn(1, 10, 256) print(f"✅ Тестовое состояние создано: {test_state.shape}") # Тест трансформации original_state = test_state.clone() transformed_state = singularity.compute_singularity_transform(original_state, cycle=1) state_diff = torch.norm(transformed_state - original_state) print(f"✅ Трансформация: разность состояний = {state_diff:.6f}") if state_diff > 0: print("✅ Сингулярная трансформация работает - состояние изменяется!") else: print("❌ Сингулярная трансформация не работает - состояние не изменяется") return False # Тест цикла самозаворачивания result = singularity.self_wrapping_cycle(test_state, "Тестовый ввод") if result["success"]: print(f"✅ Цикл самозаворачивания #{result['cycle']} выполнен успешно") metrics = result["metrics"] print(f"📊 Метрики трансформации:") print(f" • Трансформация состояния: {metrics['state_transformation']:.6f}") print(f" • Кривизна: {metrics['curvature']:.6f}") print(f" • Энтропия: {metrics['entropy']:.6f}") print(f" • Когерентность: {metrics['coherence']:.6f}") print(f"🧠 Ответ сингулярности: {result['singularity_response']}") else: print("❌ Цикл самозаворачивания не выполнен") return False # Тест обновления параметров original_radius = singularity.singularity_radius singularity.update_parameters(singularity_radius=0.05, wormhole_depth=2.5) if singularity.singularity_radius == 0.05 and singularity.wormhole_depth == 2.5: print("✅ Параметры сингулярности обновлены успешно") else: print("❌ Ошибка обновления параметров") return False # Тест множественных циклов result1 = singularity.self_wrapping_cycle(test_state, "Цикл 1") result2 = singularity.self_wrapping_cycle(test_state, "Цикл 2") if result2["cycle"] > result1["cycle"]: print(f"✅ Множественные циклы работают: {result1['cycle']} → {result2['cycle']}") else: print("❌ Множественные циклы не работают") return False # Тест состояния сингулярности state = singularity.get_singularity_state() print(f"📈 Состояние сингулярности:") print(f" • Циклы: {state['cycles']}") print(f" • История трансформаций: {state['transformation_history_length']}") print("\n🎉 ВСЕ ТЕСТЫ ПРОЙДЕНЫ УСПЕШНО!") return True if __name__ == "__main__": success = test_singularity_core() if success: print("\n🚀 Сингулярное ядро готово к работе!") else: print("\n💥 Обнаружены ошибки в сингулярном ядре!")