HN 日本語サマリー

← 一覧へ戻る
プログラミング

miniKanrenにおけるプルーニングとメモ化によるボトムアップ列挙へのアプローチ

Towards Bottom-Up Enumeration in miniKanren via Pruning and Memoization (arxiv.org)

9 pointsby Jimmc4141 コメント

要約

本論文では、リレーショナルプログラミング言語miniKanrenにおいて、プログラム合成で一般的に用いられるボトムアップ列挙と重複排除の技術を導入するための2つのライブラリコンビネータ「prune」と「defrel/bank」を提案しています。これにより、効率的なプログラム生成が可能になり、特に算術演算や文字列合成のベンチマークで優れた性能を示しました。

全文翻訳

コンピュータサイエンス > プログラミング言語 arXiv:2607.25373 (cs) [2026年7月28日提出] タイトル: miniKanrenにおけるプルーニングとメモ化によるボトムアップ列挙へのアプローチ 著者: Nikolai Kudasov Nikolai Kudasovによる「miniKanrenにおけるプルーニングとメモ化によるボトムアップ列挙へのアプローチ」というタイトルの論文のPDFを表示 PDFを表示 HTML(実験的) 概要: プレーンなminiKanrenの上に構築された2つの小さなライブラリコンビネータを提案します。これらは、非リレーショナルなプログラム例(PBE)合成ツールで標準的なツールである、観察による重複排除を伴うボトムアップ列挙をリレーショナル設定にもたらすことを目的としています。 最初のコンビネータであるpruneは、ユーザーが供給したキー(通常は候補の入出力動作)によって回答ストリームを重複排除します。 2番目のdefrel/bankは、正規のフレッシュ変数に対してリレーションをメモ化し、単一のプルーニングされた回答ストリームがボトムアップで構築され、すべての呼び出しサイトで再生されるようにします。 また、重み付きバリアントであるdefrel/bank-wについても議論します。これは、正規の深さ優先順序がコンパクトな代表を逃す場合に、最良優先列挙を回復するために、未成熟なストリームに許容可能な上限を添付します。 算術および文字列合成ターゲットの予備的なPBEベンチマークでは、defrel/bankはほとんどのディープターゲットで深さ制限付きベースラインを大幅に上回りますが、正規の深さ優先列挙順序がコンパクトな代表を逃す小さなファミリーでは劣ります。 より広範な経験的評価は、この論文の拡張版に委ねます。 コメント: 18ページ、および完全なソースコード(合計60ページ)の付録。 miniKanren and Relational Programming Workshop 2026 (miniKanren'26) 用のカメラレディ版。 件名: プログラミング言語 (cs.PL); 論理学とコンピュータサイエンス (cs.LO) 引用形式: arXiv:2607.25373 [cs.PL] (またはこのバージョンの場合は arXiv:2607.25373v1 [cs.PL]) https://doi.org/10.48550/arXiv.2607.25373 DataCite(登録保留中)によるarXiv発行DOI 提出履歴 送信者: Nikolai Kudasov [メールを表示] [v1] 火曜日、2026年7月28日 07:28:51 UTC (94 KB) 全文リンク: 論文にアクセス: Nikolai Kudasovによる「miniKanrenにおけるプルーニングとメモ化によるボトムアップ列挙へのアプローチ」というタイトルの論文のPDFを表示 PDFを表示 HTML(実験的) TeXソース ライセンスを表示 現在の閲覧コンテキスト: cs.PL < 前 | 次 > 新着 | 最近 | 2026-07 次の検索条件で変更: cs cs.LO 参考文献と引用: NASA ADS Google Scholar Semantic Scholar BibTeX引用 読み込み中... BibTeX形式の引用 × 読み込み中... Data provided by: ブックマーク 書誌ツール 書誌および引用ツール 書誌エクスプローラー 書誌エクスプローラーを切り替える(エクスプローラーとは何ですか?) Connected Papers Connected Papersを切り替える(Connected Papersとは何ですか?) Litmaps Litmapsを切り替える(Litmapsとは何ですか?) scite.ai sciteスマート引用を切り替える(スマート引用とは何ですか?) コード、データ、メディア コード、データ、メディア この論文に関連する alphaXiv alphaXivを切り替える(alphaXivとは何ですか?) コードへのリンク CatalyzeX 論文用コードファインダー(CatalyzeXとは何ですか?) DagsHub DagsHubを切り替える(DagsHubとは何ですか?) GotitPub Gotit.pubを切り替える(GotitPubとは何ですか?) Huggingface Hugging Faceを切り替える(Huggingfaceとは何ですか?) ScienceCast ScienceCastを切り替える(ScienceCastとは何ですか?) デモ デモ Replicate Replicateを切り替える(Replicateとは何ですか?) Spaces Hugging Face Spacesを切り替える(Spacesとは何ですか?) Spaces TXYZ.AIを切り替える(TXYZ.AIとは何ですか?) 関連記事 レコメンダーおよび検索ツール 影響力フラワーへのリンク 影響力フラワー(影響力フラワーとは何ですか?) Coreレコメンダー Coreレコメンダーを切り替える(COREレコメンダーとは何ですか?) 著者 会場 機関 トピック arXivラボについて arXivラボ: コミュニティ協力者との実験的プロジェクト arXivラボは、協力者が新しいarXiv機能を直接ウェブサイト上で開発および共有できるフレームワークです。 arXivラボと協力する個人および組織は、オープンネス、コミュニティ、卓越性、ユーザーデータプライバシーの価値を受け入れ、受け入れています。 arXivはこれらの価値にコミットしており、それらを遵守するパートナーのみと協力します。 arXivコミュニティに価値をもたらすプロジェクトのアイデアがありますか?arXivラボの詳細をご覧ください。 この論文の著者のうち、推薦者は誰ですか? MathJaxを無効にする(MathJaxとは何ですか?)