核心概念
本文提出兩種演算法,遞迴和迭代,用於生成郵票摺疊和半迴文的旋轉格雷碼,並證明其具有高效性和正確性。
書目資訊
Liu, B., & Wong, D. (2024). Recursive and iterative approaches to generate rotation Gray codes for stamp foldings and semi-meanders. arXiv preprint arXiv:2411.05458.
研究目標
本研究旨在設計高效的演算法,生成郵票摺疊和半迴文的旋轉格雷碼,其中連續字串僅相差一個郵票旋轉操作。
研究方法
本文提出了兩種演算法:
遞迴演算法: 根據半迴文的遞迴結構,通過遞迴地生成子問題的格雷碼並將其組合,最終得到完整格雷碼。
迭代演算法: 利用二元陣列追蹤旋轉方向,並根據當前字串狀態迭代地生成下一個格雷碼。
主要發現
兩種演算法都能夠成功生成郵票摺疊和半迴文的循環旋轉格雷碼。
遞迴演算法生成郵票摺疊的平均時間複雜度為每個字串常數時間,生成半迴文的平均時間複雜度為每個字串 O(n) 時間。
迭代演算法生成郵票摺疊的平均時間複雜度為每個字串常數時間,生成半迴文的每個字串時間複雜度為 O(n) 時間。
主要結論
本研究成功解決了 Sawada 和 Li (2012) 提出的關於郵票摺疊和半迴文格雷碼生成的開放性問題,並提供了兩種高效的演算法。
研究意義
本研究的結果對於組合生成領域具有重要意義,特別是在需要列舉具有特定限制條件的排列組合對象時,例如機器人路徑規劃和蛋白質摺疊等應用。
研究限制和未來方向
本研究主要關注郵票摺疊和半迴文的旋轉格雷碼生成,未來可以進一步探討其他相關組合對象的格雷碼生成問題,例如開放迴文。
統計資料
郵票摺疊和半迴文的計數序列分別為線上整數序列百科全書中的 A000136 和 A000682。
當 n = 4 時,存在 16 種郵票摺疊和 10 種半迴文。
當 n > 1 時,半迴文和郵票摺疊的數量均為偶數。