diff --git a/papers/even_level_graph_generators/experiments/bridge_partition_sweep.py b/papers/even_level_graph_generators/experiments/bridge_partition_sweep.py new file mode 100644 index 0000000..da9b072 --- /dev/null +++ b/papers/even_level_graph_generators/experiments/bridge_partition_sweep.py @@ -0,0 +1,89 @@ +"""Probe which valid parity partitions of the Fig. 2.10 dual T (24-vertex +5-connected triangulation) make it bridge-derived, and what distinguishes +them. + +For every valid parity partition L of T we record: + - e_cross, e_A, e_B and the total first Betti number of the two parity + subgraphs (which equals (c_A + c_B) - 2, since e_A + e_B = n - 2 for + every 4-coloring of a triangulation: each triangle has exactly one + within-colour-pair edge, 2n-4 triangles, each such edge in 2 faces); + - whether L is the BFS-level parity of T from some source; + - the outcome of a backward bridge-orbit search (found / capped). + +Finding: minimal total Betti (= 1 here, since T is not intertwining) is +necessary for the bridge-derived partitions we locate, but far from +sufficient -- the bridge-derivable partitions form a small, sharply +separated subset distinguished by tiny flip-orbit size, not by any simple +count. See the paper subsection "Toward a characterization of +bridge-derived graphs". +""" +import sys +import os +import time +from collections import defaultdict +sys.path.insert(0, '/Users/didericis/Code/math-research/papers/' + 'level_resolutions_of_maximal_planar_graphs/experiments') +sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) +import networkx as nx +from sage.all import Graph # type: ignore +from tutte_dual_treecolor import dual_triangulation +from test_tutte_bridge import valid_parity_partitions_via_coloring, search_partition +from test_fig210_dual_bridge import sage_to_nx +from fast_bridge import EdgeCode + +HERE = os.path.dirname(os.path.abspath(__file__)) + + +def parity_stats(T, labels): + A = [v for v in T if labels[v] == 0] + B = [v for v in T if labels[v] == 1] + GA, GB = T.subgraph(A), T.subgraph(B) + cA = nx.number_connected_components(GA) + cB = nx.number_connected_components(GB) + bA = GA.number_of_edges() - len(A) + cA + bB = GB.number_of_edges() - len(B) + cB + ecross = T.number_of_edges() - GA.number_of_edges() - GB.number_of_edges() + realiz = any( + all((nx.single_source_shortest_path_length(T, s)[v] % 2) == labels[v] for v in T) + or all((nx.single_source_shortest_path_length(T, s)[v] % 2) != labels[v] for v in T) + for s in T + ) + return dict(eA=GA.number_of_edges(), eB=GB.number_of_edges(), ecross=ecross, + betti=bA + bB, cA=cA, cB=cB, realiz=realiz) + + +def main(cap=12000, time_limit=6.0): + g6 = open(os.path.join(HERE, 'fig210_dual.g6')).read().strip() + T, _ = dual_triangulation(sage_to_nx(Graph(g6))) + n = T.number_of_nodes() + parts, _ = valid_parity_partitions_via_coloring(T) + code = EdgeCode(T.nodes()) + code.state0 = code.state_of(T) + print('T: n=%d, e_cross should be 2n-4=%d; %d valid partitions' + % (n, 2 * n - 4, len(parts)), flush=True) + + by_betti = defaultdict(lambda: [0, 0]) # betti -> [found, not_found] + ecross_vals = set() + t0 = time.time() + for k, labels in enumerate(parts): + st = parity_stats(T, labels) + ecross_vals.add(st['ecross']) + status, sz, depth = search_partition(code, labels, n, cap, time_limit) + slot = 0 if status == 'found' else 1 + by_betti[st['betti']][slot] += 1 + if status == 'found': + print(' found k=%d betti=%d depth=%s orbit=%d realiz=%s' + % (k, st['betti'], depth, sz, st['realiz']), flush=True) + if (k + 1) % 50 == 0: + print(' ...%d/%d (%.0fs)' % (k + 1, len(parts), time.time() - t0), flush=True) + + print('\ne_cross values over all partitions: %s (constant = identity check)' + % sorted(ecross_vals), flush=True) + print('betti -> [bridge-derived, not-found-at-cap=%d]:' % cap, flush=True) + for b in sorted(by_betti): + print(' betti=%d : %s' % (b, by_betti[b]), flush=True) + print('(%.0fs)' % (time.time() - t0), flush=True) + + +if __name__ == '__main__': + main() diff --git a/papers/even_level_graph_generators/paper.aux b/papers/even_level_graph_generators/paper.aux index 7392478..1e070ff 100644 --- a/papers/even_level_graph_generators/paper.aux +++ b/papers/even_level_graph_generators/paper.aux @@ -49,15 +49,16 @@ \@writefile{lot}{\contentsline {table}{\numberline {2}{\ignorespaces The six Holton--McKay duals at $n = 21$, the first triangulations that are not intertwining trees. Each is a bridge-derived level graph: duals $1$ and $2$ are Even Level Graphs outright (zero switches), and the remaining four reach an Even Level Graph in $1$--$4$ bridge switches. All witnesses are step-verified.}}{8}{table.2}\protected@file@percent } \newlabel{tab:n21}{{2}{8}{The six Holton--McKay duals at $n = 21$, the first triangulations that are not intertwining trees. Each is a bridge-derived level graph: duals $1$ and $2$ are Even Level Graphs outright (zero switches), and the remaining four reach an Even Level Graph in $1$--$4$ bridge switches. All witnesses are step-verified}{table.2}{}} \@writefile{toc}{\contentsline {subsection}{\tocsubsection {}{}{The cyclically-$5$-connected case: $n = 24$}}{8}{section*.3}\protected@file@percent } -\bibcite{holton-mckay}{1} \@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces The six Holton--McKay duals, drawn as crossing-free planar graphs and coloured by parity (blue even, orange odd, with respect to the fixed level-parity labelling). The solid green edges are the bridge edges introduced by the bridge switches from each dual's witness Even Level Graph. Each green edge is a bridge of its parity subgraph, so no new cycle -- and in particular no odd cycle -- is created; duals $1$ and $2$ coincide with their Even Level Graphs and have no added edge.}}{9}{figure.5}\protected@file@percent } \newlabel{fig:n21-duals}{{5}{9}{The six Holton--McKay duals, drawn as crossing-free planar graphs and coloured by parity (blue even, orange odd, with respect to the fixed level-parity labelling). The solid green edges are the bridge edges introduced by the bridge switches from each dual's witness Even Level Graph. Each green edge is a bridge of its parity subgraph, so no new cycle -- and in particular no odd cycle -- is created; duals $1$ and $2$ coincide with their Even Level Graphs and have no added edge}{figure.5}{}} +\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces The $24$-vertex dual $T$ of the unique $44$-vertex non-Hamiltonian cyclically $5$-connected cubic planar graph (Holton--McKay Fig.\nonbreakingspace 2.10), drawn crossing-free and coloured by the fixed parity labelling (blue even, orange odd). $T$ is $5$-connected and not an intertwining tree, yet is a bridge-derived level graph: the two solid green edges $\{6,19\}$ and $\{20,22\}$ are the bridge edges introduced by the two bridge switches carrying its witness Even Level Graph (source $19$) to $T$. Each green edge is a bridge of its parity subgraph -- $\{6, 19\}$ in the even subgraph, $\{20,22\}$ in the odd -- so no new cycle, and in particular no odd cycle, is created.}}{10}{figure.6}\protected@file@percent } +\newlabel{fig:n24-dual}{{6}{10}{The $24$-vertex dual $T$ of the unique $44$-vertex non-Hamiltonian cyclically $5$-connected cubic planar graph (Holton--McKay Fig.~2.10), drawn crossing-free and coloured by the fixed parity labelling (blue even, orange odd). $T$ is $5$-connected and not an intertwining tree, yet is a bridge-derived level graph: the two solid green edges $\{6,19\}$ and $\{20,22\}$ are the bridge edges introduced by the two bridge switches carrying its witness Even Level Graph (source $19$) to $T$. Each green edge is a bridge of its parity subgraph -- $\{6, 19\}$ in the even subgraph, $\{20,22\}$ in the odd -- so no new cycle, and in particular no odd cycle, is created}{figure.6}{}} +\@writefile{toc}{\contentsline {subsection}{\tocsubsection {}{}{Toward a characterization of bridge-derived graphs}}{10}{section*.4}\protected@file@percent } +\bibcite{holton-mckay}{1} \newlabel{tocindent-1}{0pt} \newlabel{tocindent0}{14.69437pt} \newlabel{tocindent1}{17.77782pt} \newlabel{tocindent2}{0pt} \newlabel{tocindent3}{0pt} -\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces The $24$-vertex dual $T$ of the unique $44$-vertex non-Hamiltonian cyclically $5$-connected cubic planar graph (Holton--McKay Fig.\nonbreakingspace 2.10), drawn crossing-free and coloured by the fixed parity labelling (blue even, orange odd). $T$ is $5$-connected and not an intertwining tree, yet is a bridge-derived level graph: the two solid green edges $\{6,19\}$ and $\{20,22\}$ are the bridge edges introduced by the two bridge switches carrying its witness Even Level Graph (source $19$) to $T$. Each green edge is a bridge of its parity subgraph -- $\{6, 19\}$ in the even subgraph, $\{20,22\}$ in the odd -- so no new cycle, and in particular no odd cycle, is created.}}{10}{figure.6}\protected@file@percent } -\newlabel{fig:n24-dual}{{6}{10}{The $24$-vertex dual $T$ of the unique $44$-vertex non-Hamiltonian cyclically $5$-connected cubic planar graph (Holton--McKay Fig.~2.10), drawn crossing-free and coloured by the fixed parity labelling (blue even, orange odd). $T$ is $5$-connected and not an intertwining tree, yet is a bridge-derived level graph: the two solid green edges $\{6,19\}$ and $\{20,22\}$ are the bridge edges introduced by the two bridge switches carrying its witness Even Level Graph (source $19$) to $T$. Each green edge is a bridge of its parity subgraph -- $\{6, 19\}$ in the even subgraph, $\{20,22\}$ in the odd -- so no new cycle, and in particular no odd cycle, is created}{figure.6}{}} -\@writefile{toc}{\contentsline {section}{\tocsection {}{}{References}}{10}{section*.4}\protected@file@percent } -\gdef \@abspage@last{10} +\@writefile{toc}{\contentsline {section}{\tocsection {}{}{References}}{11}{section*.5}\protected@file@percent } +\gdef \@abspage@last{11} diff --git a/papers/even_level_graph_generators/paper.log b/papers/even_level_graph_generators/paper.log index 17d73f1..251c826 100644 --- a/papers/even_level_graph_generators/paper.log +++ b/papers/even_level_graph_generators/paper.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.141592653-2.6-1.40.24 (TeX Live 2022) (preloaded format=pdflatex 2022.10.5) 22 MAY 2026 16:17 +This is pdfTeX, Version 3.141592653-2.6-1.40.24 (TeX Live 2022) (preloaded format=pdflatex 2022.10.5) 22 MAY 2026 17:40 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -355,23 +355,23 @@ e )) [1{/usr/local/texlive/2022/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] [2] - + File: fig_levels.png Graphic file (type png) Package pdftex.def Info: fig_levels.png used on input line 213. (pdftex.def) Requested size: 198.0011pt x 170.59666pt. - + File: fig_level_cycle.png Graphic file (type png) Package pdftex.def Info: fig_level_cycle.png used on input line 227. (pdftex.def) Requested size: 198.0011pt x 171.40878pt. [3 <./fig_levels.png> <./fig_level_cycle.png>] - + File: fig_edge_switch.png Graphic file (type png) Package pdftex.def Info: fig_edge_switch.png used on input line 246. (pdftex.def) Requested size: 341.9989pt x 150.51671pt. - + File: fig_parity_subgraph.png Graphic file (type png) Package pdftex.def Info: fig_parity_subgraph.png used on input line 264. @@ -408,7 +408,7 @@ Package hyperref Warning: Token not allowed in a PDF string (Unicode): (hyperref) removing `math shift' on input line 489. [7] - + File: figures/n21_duals.png Graphic file (type png) Package pdftex.def Info: figures/n21_duals.png used on input line 549. @@ -431,23 +431,24 @@ Package hyperref Warning: Token not allowed in a PDF string (Unicode): (hyperref) removing `math shift' on input line 562. [8] - + File: figures/fig210_dual.png Graphic file (type png) Package pdftex.def Info: figures/fig210_dual.png used on input line 611. (pdftex.def) Requested size: 251.9989pt x 251.99767pt. - [9 <./figures/n21_duals.png>] [10 <./figures/fig210_dual.png>] (./paper.aux) + [9 <./figures/n21_duals.png>] [10 <./figures/fig210_dual.png>] [11] +(./paper.aux) Package rerunfilecheck Info: File `paper.out' has not changed. -(rerunfilecheck) Checksum: A0B582009EF9672D6DFFA8A6FC189E33;1351. +(rerunfilecheck) Checksum: 07795806A5B77195784AD505FD598897;1669. ) Here is how much of TeX's memory you used: - 9774 strings out of 478268 - 151348 string characters out of 5846347 + 9778 strings out of 478268 + 151395 string characters out of 5846347 454738 words of memory out of 5000000 - 27666 multiletter control sequences out of 15000+600000 + 27668 multiletter control sequences out of 15000+600000 475834 words of font info for 54 fonts, out of 8000000 for 9000 1302 hyphenation exceptions out of 8191 - 69i,9n,76p,822b,508s stack positions out of 10000i,1000n,20000p,200000b,200000s + 69i,9n,76p,822b,450s stack positions out of 10000i,1000n,20000p,200000b,200000s @@ -463,10 +464,10 @@ ive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmti10.pfb> -Output written on paper.pdf (10 pages, 1236887 bytes). +Output written on paper.pdf (11 pages, 1245166 bytes). PDF statistics: - 226 PDF objects out of 1000 (max. 8388607) - 170 compressed objects within 2 object streams - 42 named destinations out of 1000 (max. 500000) - 95 words of extra memory for PDF output out of 10000 (max. 10000000) + 236 PDF objects out of 1000 (max. 8388607) + 179 compressed objects within 2 object streams + 44 named destinations out of 1000 (max. 500000) + 103 words of extra memory for PDF output out of 10000 (max. 10000000) diff --git a/papers/even_level_graph_generators/paper.out b/papers/even_level_graph_generators/paper.out index f88139b..2d13438 100644 --- a/papers/even_level_graph_generators/paper.out +++ b/papers/even_level_graph_generators/paper.out @@ -5,4 +5,5 @@ \BOOKMARK [2][-]{section*.1}{\376\377\000E\000n\000u\000m\000e\000r\000a\000t\000i\000o\000n\000\040\000f\000o\000r\000\040\000s\000m\000a\000l\000l\000\040\000n}{section.4}% 5 \BOOKMARK [2][-]{section*.2}{\376\377\000T\000h\000e\000\040\000b\000o\000u\000n\000d\000a\000r\000y\000\040\000c\000a\000s\000e\000\040\000n\000\040\000=\000\040\0002\0001}{section.4}% 6 \BOOKMARK [2][-]{section*.3}{\376\377\000T\000h\000e\000\040\000c\000y\000c\000l\000i\000c\000a\000l\000l\000y\000-\0005\000-\000c\000o\000n\000n\000e\000c\000t\000e\000d\000\040\000c\000a\000s\000e\000:\000\040\000n\000\040\000=\000\040\0002\0004}{section.4}% 7 -\BOOKMARK [1][-]{section*.4}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000e\000s}{}% 8 +\BOOKMARK [2][-]{section*.4}{\376\377\000T\000o\000w\000a\000r\000d\000\040\000a\000\040\000c\000h\000a\000r\000a\000c\000t\000e\000r\000i\000z\000a\000t\000i\000o\000n\000\040\000o\000f\000\040\000b\000r\000i\000d\000g\000e\000-\000d\000e\000r\000i\000v\000e\000d\000\040\000g\000r\000a\000p\000h\000s}{section.4}% 8 +\BOOKMARK [1][-]{section*.5}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000e\000s}{}% 9 diff --git a/papers/even_level_graph_generators/paper.pdf b/papers/even_level_graph_generators/paper.pdf index 71825b9..a8124f2 100644 Binary files a/papers/even_level_graph_generators/paper.pdf and b/papers/even_level_graph_generators/paper.pdf differ diff --git a/papers/even_level_graph_generators/paper.tex b/papers/even_level_graph_generators/paper.tex index d527bfa..c26e9e6 100644 --- a/papers/even_level_graph_generators/paper.tex +++ b/papers/even_level_graph_generators/paper.tex @@ -622,6 +622,58 @@ in particular no odd cycle, is created.} \label{fig:n24-dual} \end{figure} +\subsection*{Toward a characterization of bridge-derived graphs} + +A bridge switch is a diagonal flip of the quadrilateral around a level +edge, constrained so the flipped-in edge enters no parity subgraph as a +cycle edge. Fixing a valid parity partition $L$, the bridge switches +therefore act on the triangulations whose two $L$-parity subgraphs are +both bipartite, and $G$ is a bridge-derived level graph via $L$ exactly +when $G$ lies in the same connected component as an Even Level Graph in +this restricted flip graph. So the question ``which triangulations are +bridge-derived?'' is really ``which flip-components contain an Even Level +Graph?'', quantified over $L$. We probed this on the $24$-vertex dual $T$ +of Figure~\ref{fig:n24-dual}, sweeping all of its valid parity partitions; +the experiment is recorded in \texttt{experiments/bridge\_partition\_sweep.py}. + +One coordinate organises the picture. For any proper $4$-coloring of a +triangulation, group the colours as $\{1,2\}\mid\{3,4\}$; then each +triangular face has exactly one within-pair edge, and since there are +$2n-4$ faces and each edge lies on two of them, the parity subgraphs carry +exactly $n-2$ edges between them. Hence $e_{\mathrm{cross}} = 2n-4$ for +\emph{every} valid partition (confirmed across all partitions of $T$), and +the total first Betti number of the two parity subgraphs equals +$(c_A + c_B) - 2$, where $c_A, c_B$ count their connected components. The +intertwining-tree case is precisely total Betti $0$ -- both parts trees, +$c_A = c_B = 1$ -- so for a triangulation that is not an intertwining tree +the total Betti is at least $1$. + +The $333$ valid partitions of $T$ have total Betti $1$, $2$, $3$ for +$288$, $42$, $3$ of them respectively; the minimum is $1$, consistent with +$T$ not being an intertwining tree. A backward bridge-orbit search locates +Even Level Graph witnesses (at depth $2$--$3$) for $27$ partitions, and +\emph{every} one of them has the minimum total Betti $1$ -- one parity +class a tree, the other a tree plus a single even cycle. Minimal total +Betti is thus a necessary feature of the bridge-derived partitions we +find. + +It is not sufficient, and the way it fails is informative. Of the $288$ +Betti-$1$ partitions only those $27$ yield a witness; the rest exhibit +bridge-orbits exceeding $1.5\times 10^5$ states with no Even Level Graph, +and increasing the search budget twelvefold produced no further witnesses. +The bridge-derivable partitions are separated from the others not by any +of the simple invariants we measured -- total Betti, component counts, +class sizes, or BFS-level realizability (uniformly false here) -- but by a +sharp dichotomy in flip-orbit size: a tiny component containing an Even +Level Graph versus a vast one that appears not to. (We cannot yet certify +the latter, as no large orbit was exhausted; but a twelvefold budget +increase yielding nothing makes mere depth an unlikely explanation.) The +evidence therefore points away from a numerical characterization and +toward the component structure of the restricted flip graph: minimal total +Betti is a clean necessary condition, but characterizing \emph{which} +Betti-minimal partitions lie in an Even-Level-Graph component remains open +and is, on this evidence, the crux of deciding bridge-derivability. + \begin{thebibliography}{9} \bibitem{holton-mckay}