Autor: AI-põhine analüüs (ardo/kasutaja koostöös)
Fail: Ohvrikirstukiri.xlsx – Exceli fail lehelt "Sheet1", 45 rida × 45 veergu.
Exceli fail sisaldab 45×45 lahtrit. Esimesed 44 rida ja 44 veergu moodustavad mustri, kus:
#00000000) → 1Tegemist on 22×22 baasmustriga, mis on korratud 2×2 plokina (44×44):
┌─────────────┬─────────────┐
│ 22×22 │ 22×22 │
│ muster │ muster │
├─────────────┼─────────────┤
│ 22×22 │ 22×22 │
│ muster │ muster │
└─────────────┴─────────────┘
0100011011000101000001
1010010001001010000000
0101000000010100100010
0010100000101000110110
0001011111010000111110
1100100000100111110111
1000101110100011100011
0000101010100001001001
1000101110100011100011
1100100000100111110111
0001011111010000111110
0010100000101000110110
0101000000010100100010
1010010001001010000000
0100011011000101000001
1000011111000010111110
0011111011111001000001
0001110001110001011101
0000100100100001010101
0001110001110001011101
0011111011111001000001
1000011111000010111110
matrix_analysis.py teostas esmase analüüsi.
| Suurus | Väärtus |
|---|---|
| Maatriksi aste | 12 / 22 |
| 1. singulaarväärtus σ₁ | 10.25 (26% energiast) |
| σ₂ | 4.06 |
| σ₃ | 3.51 |
| σ₄ | 3.00 |
| σ₅…σ₁₂ | < 0.57 |
| Ülejäänud | ≈ 0 (10 nulli) |
Sünteesi viga: Isegi 12 astmega (täisaste) jääb 50 bitti valesti – muster sisaldab mittelineaarseid elemente, mida lineaarne SVD ei taba.
spectral_analysis.py teostas omaväärtuste analüüsi.
Maatriks on sümmeetriline (A = Aᵀ), seega kõik omaväärtused on reaalarvud.
| i | λᵢ | Märkus |
|---|---|---|
| 1 | +10.25 | Domineeriv |
| 2 | +4.06 | |
| 3 | +3.51 | |
| 4 | +3.00 | |
| 5 | +0.57 | |
| 6…15 | ≈ 0 (10 tk) | Nullruum |
| 16 | −0.11 | |
| 17 | −0.47 | |
| 18 | −1.34 | |
| 19 | −2.09 | |
| 20 | −3.80 | |
| 21 | −4.77 | |
| 22 | −4.82 |
| Omadus | Väärtus |
|---|---|
| Positiivseid λ | 5 (sum 21.39) |
| Negatiivseid λ | 7 (sum −17.39) |
| Nullilähedasi | 10 |
| Jälg (trace) | Σλᵢ = 4 |
| Spektraallõhe (λ₁−λ₂) | 6.19 (tugev klasterdumine!) |
| Spektri läbimõõt | 15.07 |
| Omaväärtus | Väärtus | Tähendus |
|---|---|---|
| μ₁ | 0 | Alati 0 (ühenduv graaf) |
| μ₂ | 3.66 | Algebraline ühenduvus (≥ 0 → graaf on ühenduv) |
| μ_max | 16.28 |
Tähelepanek: Spekter on peaaegu sümmeetriline (λᵢ ≈ −λⱼ), mis viitab peaaegu bipartiidsele graafile.
graph_analysis.py tõlgendas 22×22 sümmeetrilist maatriksit naabrusmaatriksina.
| Omadus | Väärtus |
|---|---|
| Tippe | 22 |
| Servi | 105 |
| Tihedus | 45.5% |
| Keskmine aste | 9.55 |
| Diameeter | 3 (väikse maailma efekt!) |
| Raadius | 2 |
| Kolmnurki | 442 |
| Keskmine klasterdumine | 0.448 |
| Aste | Tippe |
|---|---|
| 6 | 4 |
| 7 | 2 |
| 8 | 4 |
| 11 | 4 |
| 12 | 8 |
Graaf EI ole bipartiidne, kuid on peaaegu bipartiidne – spekter on ligilähedaselt sümmeetriline, kuid leidub paarituid tsükleid (rikkuvaid servi ~70+).
| Kaugus | Paare | Osakaal |
|---|---|---|
| 1 | 206 | 44.6% |
| 2 | 232 | 50.2% |
| 3 | 24 | 5.2% |
Diameeter 3 tähendab: igast tipust pääseb igasse teise max 3 sammuga.
Kõige kesksemad tipud (ek = 1.00): 5, 11, 16, 22 Järgnevad: 6, 10, 17, 21 (ek = 0.97)
| Kogukond | Tippe | Sisemisi servi |
|---|---|---|
| A | 11 | 34 |
| B | 11 | 34 |
| A↔B | — | 18+19 |
Kogukond A: tipud 3, 4, 5, 11, 12, 13, 17, 18, 19, 20, 21 Kogukond B: tipud 1, 2, 6, 7, 8, 9, 10, 14, 15, 16, 22
visualize_graph.py genereeris kolm PNG-pilti:
| Pilt | Sisu |
|---|---|
graph_visualization.png |
Graafi struktuur 4 paneelis – spektraalpaigutus, kontsentriline paigutus, naabrusmaatriks, parameetrid |
svd_reconstruction.png |
Originaalmustri ja SVD taaste võrdlus (astmed 1…12) |
spectrum.png |
3 paneeli: omaväärtuste spekter, kumulatiivne energia, Laplasi spekter |
Lisaks: ohvrikiri_graph.gml – GML-formaadis graaf (avaneb Gephi/Cytoscape/yEd).
factorization.py otsis maatriksi lihtsamaid esitusi.
❌ EI OLE VÕIMALIK – A ei ole positiivselt poolmääratud (7 negatiivset omaväärtust).
22×22 maatriksit saab KIRJELDADA (mitte päris täpselt) kui:
A ≈ B(2×2) ⊗ C(11×11), kus B = [[1,1],[1,1]] ja C on rombikujuline
Aga viga on 130/484 – liiga palju.
Kui järjestada tipud kogukondade kaupa, avaneb selge plokkstruktuur:
A (11) │ B (11)
───────┼───────
A (11) 34 │ 18
───────┼───────
B (11) 19 │ 34
Maatriks laguneb positiivseks ja negatiivseks spektraalosaks:
Geomeetriline tõlgendus: Minkowski ruum signaturega (5, 7, 10).
RETSEPT.md ja generate_pattern.py sisaldavad TÄPSET retsepti, mis reprodutseerib mustri veatult.
Kolm alusmaatriksit (11×11):
A_aa – kogukonna A sisemine struktuur (34 serva)A_bb – kogukonna B sisemine struktuur (34 serva) – erinev A_aa-st!A_ab – kogukondade vahelised servad (37 serva, sümmeetriline)Kogukondade järjestus:
Assambleeri 22×22 maatriks – paiguta alammaatriksid vastavalt kogukondadele
44×44 – korda 2×2 plokina: A₄₄ = np.block([[A, A], [A, A]])
Täpsem retsept: vt RETSEPT.md
| # | Avastus | Tõend |
|---|---|---|
| 1 | Exceli 44×44 = 22×22 2×2 plokk-kordus | SVD, visuaalne kontroll |
| 2 | Maatriks on sümmeetriline (A = Aᵀ) | A[i,j] = A[j,i] alati |
| 3 | Aste = 12 (10 null-omaväärtust) | SVD ja omaväärtused |
| 4 | Graafil on 2 kogukonda (11+11 tippu) | Spektraalne klasterdamine |
| 5 | Diameeter = 3 | BFS kõigist tippudest |
| 6 | Peaaegu bipartiidne | Peaaegu sümmeetriline spekter |
| 7 | Mittelineaarne – SVD ei taasta täpselt | 50 bitti jääb valesti |
| 8 | Minkowski signatuur (5,7,10) | Pos/neg/null omaväärtused |
| Fail | Kirjeldus |
|---|---|
ohvrikiri_matrix.py |
Excelist maatriksi lugemine |
extract_matrix.py |
Maatriksi väljavõtmine ja algvaatlus |
matrix_analysis.py |
SVD, aste, normid, konditsiooniarv |
spectral_analysis.py |
Omaväärtuste spekter, spektraalsüntees, graafi spekter |
graph_analysis.py |
Graafiteooria: bipartiidsus, klasterdumine, kesksus, diameeter, kogukonnad |
visualize_graph.py |
PNG-piltide genereerimine (graaf, SVD, spekter) + GML |
factorization.py |
Gram, LDLᵀ, Kronecker, Boolean, geomeetriline |
pattern_recipe.py |
Esimene katse retseptiga (ebaõnnestus) |
generate_pattern.py |
Retsepti generaator – töötab! (22×22 → 44×44) |
extract_submatrices.py |
Kolme alusmaatriksi (A_aa, A_bb, A_ab) eraldamine |
verify_recipe.py |
Kinnitus, et retsept on täpne (0 viga) |
| Fail | Kirjeldus |
|---|---|
graph_visualization.png |
Graafi struktuur (4 paneeli) |
svd_reconstruction.png |
SVD taaste (astmed 1…12) |
spectrum.png |
Omaväärtuste ja Laplasi spekter |
| Fail | Kirjeldus |
|---|---|
ohvrikiri_matrix.txt |
22×22 binaarmaatriks tekstina |
ohvrikiri_graph.gml |
Graaf GML-formaadis (Gephi, Cytoscape) |
RETSEPT.md |
Mustri retsept (kolm alusmaatriksit + reeglid) |
LOEMIND.md |
Käesolev juhend |
analysis_results.json |
SVD tulemused JSON-formaadis |
spectral_results.txt |
Omaväärtuste ja omavektorite tulemused |
graph_results.txt |
Graafiteooria tulemused |
factorization_results.txt |
Faktoriseerimise tulemused |
Kõik skriptid on mõeldud käivitamiseks Python 3-s:
# Kõigi analüüside tegemine järjest
python3 matrix_analysis.py
python3 spectral_analysis.py
python3 graph_analysis.py
python3 visualization.py
python3 factorization.py
# Mustri genereerimine retseptist
python3 generate_pattern.py
# Kontroll
python3 verify_recipe.py
Analüüs teostatud 2025. aastal AI abiga.