\def\pgfsysdriver{pgfsys-dvipdfmx.def} % ★PGFドライバを強制 \documentclass{amsart} \usepackage[left=2cm, right=2cm]{geometry} \usepackage[utf8]{inputenc} \usepackage{amsfonts, amsthm, amssymb, mathtools,etoolbox} \usepackage{blindtext} \usepackage[colorlinks=true, urlcolor=blue, linkcolor=blue, citecolor=blue]{hyperref} \usepackage{tikz,tikz-cd} \usepackage{cleveref} \usepackage{array} \usepackage{quiver} \usepackage[style=alphabetic,sorting=nyt]{biblatex} \renewbibmacro{in:}{} % \addbibresource{biblio.bib} \addbibresource{CommonBiblio20240922.bib} \tikzset{pullback/.style={minimum size=1.2ex,path picture={ \draw[opacity=1,black,-,#1] (-0.5ex,-0.5ex) -- (0.5ex,-0.5ex) -- (0.5ex,0.5ex);% }}} \usetikzlibrary{calc} \theoremstyle{plain} \newtheorem{theorem}{Theorem}[subsection] \newtheorem{proposition}[theorem]{Proposition} \newtheorem{lemma}[theorem]{Lemma} \newtheorem{corollary}[theorem]{Corollary} \newtheorem{todo}[theorem]{Todo} \newtheorem{conjecture}[theorem]{Conjecture} \newtheorem{fact}[theorem]{Fact} \newtheorem{claim}{Claim}[theorem] \crefname{claim}{Claim}{Claims} \renewcommand{\theclaim}{\thetheorem.\alph{claim}} \theoremstyle{definition} \newtheorem{example}[theorem]{Example} \newtheorem{definition}[theorem]{Definition} \newtheorem{notation}[theorem]{Notation} \newtheorem{puzzle}[theorem]{Puzzle} \newtheorem{idea}[theorem]{Idea} \newtheorem{problem}[theorem]{Problem} \newtheorem{answer}[theorem]{Answer} \theoremstyle{remark} \newtheorem{remark}[theorem]{Remark} \newcommand{\dq}[1]{``#1"} \newcommand{\memo}[1]{\textcolor{red}{memo: #1}} % \newcommand{\invmemo}[1]{\textcolor{blue}{memo: #1}} \newcommand{\invmemo}[1]{} \newcommand{\horamemo}[1]{\textcolor{green!70!black}{hora: #1}} \newcommand{\para}[1]{\paragraph{\textbf{#1}}} \newcommand{\F}{\mathbb{F}} \renewcommand{\L}{\mathcal{L}} \newcommand{\id}{\mathrm{id}} \newcommand{\op}{\mathrm{op}} \newcommand{\ob}{\mathrm{ob}} \newcommand{\Sh}{\mathbf{Sh}} \newcommand{\Cont}{\mathbf{Cont}} \newcommand{\Func}[2]{[#1,#2]} \newcommand{\abs}[1]{\left|#1\right|} \newcommand{\demph}[1]{\textit{#1}} \font\maljapanese=dmjhira at 2.5ex \newcommand{\yo}{\textrm{\!\maljapanese\char"48}} \newcommand{\Pow}{\mathcal{P}} \newcommand{\cod}{\mathrm{cod}} \newcommand{\Image}{\mathrm{Im}} % \newcommand{\SolExt}{\mathrm{SolExt}} \newcommand{\Solvable}{\mathrm{Solvable}} \newcommand{\Vect}{\mathbf{Vect}} % \DeclareMathOperator{\ker}{ker} \DeclareMathOperator{\coker}{coker} \DeclareMathOperator{\Ker}{Ker} \DeclareMathOperator{\Coker}{Coker} \DeclareMathOperator{\corank}{corank} \DeclareMathOperator{\rank}{rank} \title{Turning lights out with the snake lemma \memo{AI-translated!!}} \author{Kyosuke Higashida, Ryuya Hora} % \address{ZEN University, Tokyo, Japan} % \email{ryuya\_hora@zen.ac.jp} \date{\today} \subjclass[2020]{} \keywords{h} \begin{document} % \begin{abstract} % \end{abstract} \maketitle \tableofcontents \subsection*{Acknowledgement} The second-named author would like to thank his supervisor Ryu Hasegawa for helpful discussions and suggestions. He was supported by JSPS KAKENHI Grant Number JP24KJ0837 and FoPM, WINGS Program, the University of Tokyo. \subsection*{An incomplete survey} In 1989, \cite{sutner1989linear} showed that on any finite graph, it is always possible to turn all lights on starting from the all-off configuration. In that paper, this problem is referred to as the \dq{All-Ones Problem}. The approach is quite interesting: the author reduces the problem to the \dq{Garden of Eden problem} for cellular automata. (A \emph{Garden of Eden} for a self-map $f \colon X \to X$ simply means an element of $X \setminus \Image(f)$; it is called so because such elements cannot be reached by $f$.) After this reduction, the rest is handled by linear algebra. In 1998, \cite{anderson1998turning} solved the two-dimensional Lights Out puzzle using linear algebra (though only considering vertical and horizontal neighbors, excluding the diagonal ones). This paper only treats the case $n,m = 5$\footnote{More precisely, it lists numerical results for smaller $n$ without giving general rules.} but has been cited over a hundred times. A detailed history of the study of Lights Out is given in the 2013 survey paper \cite{fleischer2013survey}. In particular, it has attracted attention from the viewpoints of graph theory, algorithmic theory, and cellular automata theory. The citation list of this paper shows that research on this topic is still ongoing — indeed, a new preprint appeared just last month \cite{forrest2025lights}. (It is not clear whether our discussion would be of interest to that community, but I believe that the connection between the $\F_4$-invariant and homological algebra in our rule is worth investigating — though we have not yet surveyed it. Rather, this topic seems to be naturally related to the context of graph Laplacians. In the field of “differential geometry on graphs,” similar matrices are used in homological contexts. For example, \cite{jekel2018algebraic} studies analogous structures using homological algebra and was published in the \emph{SIAM Journal on Discrete Mathematics}.) \section{One-Dimensional Lights Out} \subsection{Problem and a Solution via Finite-Field Invariants} \begin{problem} $n$ lamps are arranged in a line. When you press one of the $n$ lamps, the on/off state of that lamp and of its neighbors are toggled. (Pressing an endpoint toggles $2$ lamps; pressing a non-endpoint toggles $3$ lamps.) \begin{enumerate} \item Determine all $n$ for which it is possible to turn all lights off starting from any initial configuration. \item Given an initial configuration, is there a method to decide whether one can turn all lights off? \end{enumerate} \end{problem} \begin{center} \href{https://editor.p5js.org/hora/full/RSb6d6oJT}{[Playable button \url{https://editor.p5js.org/hora/full/RSb6d6oJT}]} \end{center} \begin{answer} We split the discussion into the following two steps. \begin{enumerate} \item First, analyze the rule under which the two endpoints are \emph{not} allowed to be pressed. \item Next, revisit the problem under the rule that allows the endpoints to be pressed. \end{enumerate} \begin{enumerate} \item \textbf{First: the rule where the endpoints cannot be pressed.} Label the $n$ lamps by $0,\dots,n-1$, and assign to blinking patterns elements of $\F_4=\F_2[\omega]$ as follows. \begin{description} \item[{$\F_4$-invariant}] Assign $\omega^i\in \F_4$ to the $i$-th lamp, and sum these values over all lamps that are on (see Figure \ref{fig:F4Invariant}). \end{description} \begin{figure}[htbp] \centering \begin{tikzpicture}[x=1cm,y=1cm] % ---- 設定 ---- \def\n{12} % 箱の個数 \def\w{1.2} % 箱の幅 \def\h{0.8} % 箱の高さ % ---- ランプパターン ---- % 1=点灯, 0=消灯 \def\lamppattern{{1,1,0,1,1,1,0,0,1,0,0,1}} % 計算式の位置 \def\yFormula{-0.8} % ---- 本体 ---- \foreach \i in {1,...,\n}{ \pgfmathsetmacro{\x}{(\i-1)*\w} \draw (\x,0) rectangle ++(\w,\h); % 周期3でラベル (1, ω, ω^2) → 常に箱の中に表示 \pgfmathtruncatemacro{\r}{mod(\i-1,3)} \ifcase\r \node at (\x+0.5*\w,0.5*\h) {$1$}; \def\val{$1$} \or \node at (\x+0.5*\w,0.5*\h) {$\omega$}; \def\val{$\omega$} \or \node at (\x+0.5*\w,0.5*\h) {$\omega^2$}; \def\val{$\omega^2$} \fi % ランプ状態取得 \pgfmathparse{\lamppattern[\i-1]} \ifnum\pgfmathresult=1 % 点灯ランプ \fill[yellow] (\x+0.5*\w, \h+0.5) circle (0.2); \draw (\x+0.5*\w, \h+0.5) circle (0.2); % 下の式に値を出力 \node at (\x+0.5*\w,\yFormula) {\val}; % プラス記号(最後以外) \ifnum\i<\n \node at (\x+\w,\yFormula) {$+$}; \else \node at (\x+\w,\yFormula) {\hspace{30pt}$=\omega^2$}; \fi \else % 消灯ランプ \draw (\x+0.5*\w, \h+0.5) circle (0.2); % 下は空欄(プラスも書かない) \fi } \end{tikzpicture} \caption{An example of the $\F_4$-invariant} \label{fig:F4Invariant} \end{figure} Then pressing any lamp with $0