File size: 4,104 Bytes
7ccd32c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
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💥 Обнаружены ошибки в сингулярном ядре!")