論文の概要: Beryllium: Neural Search for Algorithm Implementations
- arxiv url: http://arxiv.org/abs/2305.15690v2
- Date: Sat, 1 Jul 2023 22:33:04 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-24 05:47:22.446788
- Title: Beryllium: Neural Search for Algorithm Implementations
- Title(参考訳): beryllium:アルゴリズム実装のためのニューラルネットワーク
- Authors: Adithya Kulkarni, Mohna Chakraborty, Yonas Sium, Sai Charishma
Valluri, Wei Le, Qi Li
- Abstract要約: 我々は,p言語と命名された新しい言語を設計し,p言語のための静的解析器を設計し,アルゴリズム記述から情報を自動的に抽出する。
我々は,p言語(p-code)とソースコードの出力を自己教師付き機械学習手法を用いて共通ベクトル空間に埋め込んだ。
Berylliumは、CとJavaの両方で最先端のコード検索ツールを著しく上回った。
- 参考スコア(独自算出の注目度): 14.11934122454653
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: In this paper, we explore the feasibility of finding algorithm
implementations from code. Successfully matching code and algorithms can help
understand unknown code, provide reference implementations, and automatically
collect data for learning-based program synthesis. To achieve the goal, we
designed a new language named p-language to specify the algorithms and a static
analyzer for the p-language to automatically extract control flow, math, and
natural language information from the algorithm descriptions. We embedded the
output of p-language (p-code) and source code in a common vector space using
self-supervised machine learning methods to match algorithm with code without
any manual annotation. We developed a tool named Beryllium. It takes pseudo
code as a query and returns a list of ranked code snippets that likely match
the algorithm query. Our evaluation on Stony Brook Algorithm Repository and
popular GitHub projects show that Beryllium significantly outperformed the
state-of-the-art code search tools in both C and Java. Specifically, for 98.5%,
93.8%, and 66.2% queries, we found the algorithm implementations in the top 25,
10, and 1 ranked list, respectively. Given 87 algorithm queries, we found
implementations for 74 algorithms in the GitHub projects where we did not know
the algorithms before.
- Abstract(参考訳): 本稿では,コードからアルゴリズムの実装を探索する可能性について検討する。
うまくマッチするコードとアルゴリズムは未知のコードを理解し、参照実装を提供し、学習ベースのプログラム合成のためのデータを自動的に収集する。
この目的を達成するために,p言語と呼ばれる新しい言語を考案し,そのアルゴリズム記述から制御フロー,数学,自然言語情報を自動的に抽出するアルゴリズムと,p言語用の静的アナライザを設定した。
我々は,p言語(p-code)とソースコードの出力を自己教師付き機械学習手法を用いて共通ベクトル空間に埋め込んだ。
ベリリウムというツールを開発しました
擬似コードをクエリとして取り、アルゴリズムクエリにマッチする可能性のあるランク付けされたコードスニペットのリストを返す。
Stony Brook Algorithm Repositoryと人気のあるGitHubプロジェクトに対する我々の評価は、BelylliumがCとJavaの両方で最先端のコード検索ツールを著しく上回ったことを示している。
具体的には、98.5%、93.8%、66.2%のクエリで、アルゴリズムの実装が上位25位、10位、1位にランクインした。
87のアルゴリズムクエリが与えられたので、これまでアルゴリズムを知らなかったgithubプロジェクトで74のアルゴリズムの実装を見つけました。
関連論文リスト
- Active Learning of Mealy Machines with Timers [3.087487671441056]
ブラックボックスコンテキストにおけるタイマー付きMealyマシンのクラスを問合せ学習するための最初のアルゴリズムを提案する。
我々のアルゴリズムはVaandragerらのL#アルゴリズムを時間設定に拡張したものである。
論文 参考訳(メタデータ) (2024-03-04T13:20:52Z) - Efficient Algorithms for Recognizing Weighted Tree-Adjoining Languages [104.90415092306219]
4つの形式は、ツリー随伴文法(TAG)、線形指数文法(LIG)、プッシュダウン随伴オートマトン(PAA)、組込みプッシュダウンオートマトン(EPDA)に相当する。
我々は,文字列の導出量(文字列のすべてのオートマトン重み)と全導出量(全ての導出量重み)を計算するための新しいアルゴリズムを設計する。
EPDA の場合、我々のアルゴリズムは、$mathcalO(|Gamma|2)$ および $ の因子による Alonso et al. (2001) のアルゴリズムよりも空間効率と時間効率が良い。
論文 参考訳(メタデータ) (2023-10-23T18:26:00Z) - ALGO: Synthesizing Algorithmic Programs with LLM-Generated Oracle
Verifiers [60.6418431624873]
大きな言語モデル(LLM)は、機能記述からコードを実装するのに優れているが、アルゴリズムの問題に悩まされている。
我々は,アルゴリズムプログラムを LLM 生成 Oracle で合成するフレームワーク ALGO を提案し,その生成をガイドし,その正確性を検証する。
実験の結果,ALGOを装着すると,Codexモデルよりも8倍,CodeTよりも2.6倍の1サブミッションパス率が得られることがわかった。
論文 参考訳(メタデータ) (2023-05-24T00:10:15Z) - imitation: Clean Imitation Learning Implementations [7.7064239657103375]
模倣は、PyTorchにおける模倣と報酬学習アルゴリズムのオープンソース実装を提供する。
3つの逆強化学習(IRL)アルゴリズム、3つの模倣学習アルゴリズム、選好比較を含む。
論文 参考訳(メタデータ) (2022-11-22T03:11:29Z) - Algorithms for Weighted Pushdown Automata [118.67634716230025]
重み付きプッシュダウンオートマトン(WPDA)は多くの自然言語処理タスクの中核にある。
WPDA上で直接動作する新しいアルゴリズムを開発した。
論文 参考訳(メタデータ) (2022-10-13T10:21:31Z) - Interactive Code Generation via Test-Driven User-Intent Formalization [60.90035204567797]
大きな言語モデル(LLM)は、非公式な自然言語(NL)の意図からコードを生成する。
自然言語は曖昧であり、形式的な意味論が欠けているため、正確性の概念を定義するのは難しい。
言語に依存しない抽象アルゴリズムと具体的な実装TiCoderについて述べる。
論文 参考訳(メタデータ) (2022-08-11T17:41:08Z) - The CLRS Algorithmic Reasoning Benchmark [28.789225199559834]
アルゴリズムの学習表現は機械学習の新たな領域であり、ニューラルネットワークから古典的なアルゴリズムで概念をブリッジしようとしている。
本稿では,従来のアルゴリズムを包括するCLRS Algorithmic Reasoning Benchmarkを提案する。
我々のベンチマークは、ソート、探索、動的プログラミング、グラフアルゴリズム、文字列アルゴリズム、幾何アルゴリズムなど、様々なアルゴリズムの推論手順にまたがっている。
論文 参考訳(メタデータ) (2022-05-31T09:56:44Z) - An Approach for Automatic Construction of an Algorithmic Knowledge Graph
from Textual Resources [3.723553383515688]
本稿では,非構造化データからアルゴリズム問題の知識グラフを自動的に作成する手法を提案する。
アルゴリズムKGは、アルゴリズムメタデータに追加のコンテキストと説明可能性を与える。
論文 参考訳(メタデータ) (2022-05-13T18:59:23Z) - A Metaheuristic Algorithm for Large Maximum Weight Independent Set
Problems [58.348679046591265]
ノード重み付きグラフが与えられたとき、ノード重みが最大となる独立した(相互に非隣接な)ノードの集合を見つける。
このアプリケーションで放送されるグラフの中には、数十万のノードと数億のエッジを持つ大きなものもあります。
我々は,不規則なランダム化適応検索フレームワークにおいてメタヒューリスティックな新しい局所探索アルゴリズムを開発した。
論文 参考訳(メタデータ) (2022-03-28T21:34:16Z) - Towards Optimally Efficient Tree Search with Deep Learning [76.64632985696237]
本稿では,線形モデルから信号整数を推定する古典整数最小二乗問題について検討する。
問題はNPハードであり、信号処理、バイオインフォマティクス、通信、機械学習といった様々な応用でしばしば発生する。
本稿では, 深いニューラルネットワークを用いて, 単純化されたメモリバウンドA*アルゴリズムの最適推定を推定し, HATSアルゴリズムを提案する。
論文 参考訳(メタデータ) (2021-01-07T08:00:02Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。