def encode_quadtree(grid):
grid = tuple(tuple(row) for row in grid)
n = len(grid)
if not 1 <= n <= 16 or n & (n - 1) or any(len(row) != n for row in grid):
raise ValueError("grid.shape")
if any(type(v) is not int or v not in (0, 1) for row in grid for v in row):
raise ValueError("cell.binary")
def visit(x, y, size):
value = grid[y][x]
if all(grid[r][c] == value for r in range(y, y + size) for c in range(x, x + size)):
return value
half = size // 2
return (visit(x, y, half), visit(x + half, y, half),
visit(x, y + half, half), visit(x + half, y + half, half))
return visit(0, 0, n)プロジェクト
左上、右上、左下、右下の順序を確認し、空、不揃い、二値でないグリッドを変更せず拒否します。
適用前に確認
実際の動作を期待する結果と比較します。検証に失敗した場合は、次の変更を加える前に原因を調べてください。
モデル
OpenAI互換またはAnthropicのエンドポイントを、ベースURLと必要なAPIキーで設定し、接続をテストします。ローカルのモデルサーバーは起動が必要です。リモートツールは別途データを送信する場合があります。
def encode_quadtree(grid):
grid = tuple(tuple(row) for row in grid)
n = len(grid)
if not 1 <= n <= 16 or n & (n - 1) or any(len(row) != n for row in grid):
raise ValueError("grid.shape")
if any(type(v) is not int or v not in (0, 1) for row in grid for v in row):
raise ValueError("cell.binary")
def visit(x, y, size):
value = grid[y][x]
if all(grid[r][c] == value for r in range(y, y + size) for c in range(x, x + size)):
return value
half = size // 2
return (visit(x, y, half), visit(x + half, y, half),
visit(x, y + half, half), visit(x + half, y + half, half))
return visit(0, 0, n)表現の変更を生成側と利用側の両方から理解する
QuadPollenはアプリケーションの構造化データ表現を変える開発者向けのWindows AIコーディング環境です。プロジェクトフォルダーを開き、データを生成するコードと利用側の間の仕様を説明してください。接続先との会話で境界を確認し、現在の表現を説明し、両側の変更を採用する前に範囲を絞った提案を評価できます。
quadtree.pyに基づく作業では、二値グリッドが入れ子の表現になる方法を調査できます。どの入力サイズを受け入れ、均一な領域をどう表し、利用側が特定の子の順序に依存するか尋ねてください。期待する構造を独立に確認できる小さなグリッドを使います。この例はソフトウェアレビューの土台であり、空間データベースや保存の最適化サービスが内蔵されていることを示しません。
サービスで利用可能なら、対応するOpenAI互換またはAnthropicのエンドポイント経由でフィルタリングのないAIモデルを選べます。必要な接続設定を行い、実際のツール対応を確認してください。生成側と利用側に照らして修正案をレビューし、均一なデータと混在するデータをテストします。特にコンパクトな符号化で通常の出力から順序の誤りを見つけにくい場合、意図した表現を保つことは有効入力の受け入れと同じくらい重要です。
表現の変更に関する質問
- レビューに適した小さなグリッドとは?
順序の誤りで期待構造が変わるよう、見た目に異なる領域を持つグリッドを使います。均一なグリッドも別のケースとして含めてください。新しいエンコーダー自身に期待結果を生成させず、意図した表現を明示します。
- 利用側を更新せずに表現を変えられますか?
その仕様が引き続き満たされる場合に限ります。符号化の変更を採用する前に、子の位置、葉の値、入れ子を読むコードを確認してください。生成側が自分のテストに合格しても、保存データやほかのコンポーネントとの互換性は確立されません。
- 大きな入力サイズを自動的に受け入れるべきですか?
いいえ。まず既存の範囲がある理由と呼び出し側の要求を確認します。大きな構造はリソース使用量と検証の必要性を変える場合があります。リファクタリングの副作用ではなく、対応するチェックを伴う意図的な要件として拡張を扱ってください。
- 読みにくい出力をどうレビューしますか?
小さな入力から始め、返された領域を元データとそれぞれ比較します。一般的な説明でなく位置に結び付けた説明を求めてください。その後で利用側の動作を確認し、境界を越えて表現の意味が一貫するようにします。
QuadPollen · 更新日 2026-10-25