Minimal Searchを形式的に理解する
生成文法のミニマリストプログラムでは, ミニマルな理論体系を追求しており, その発想からMinimal Search (最小探索) という概念が提唱されている.
このMinimal Searchはラベリングを行う際に, その構造内のラベルを探索する操作が最小の範囲を探索するという仮定である.
Ke (2024) はこのMinimal Searchをプログラミングのアルゴリズムとして表現しており, これが形式的には非常に分かりやすいので引用する.
MS = <SA, SD, ST>, where MS = Minimal Search, SA = search algorithm, SD = search domain (the domain that SA operates on), ST = search target (the features that SA looks for).
Search Algorithm (SA):
a. Given SD and ST, matching against every head member of SD to find ST.
b. If ST is found, return the heads bearing ST and go to Step (c); Otherwise, get the set members of SD and store them as a vector V.
i. If V is empty, search fails and go to Step (c); otherwise
ii. assign each of the sets in V as a new SD and go to Step (a) for all these new SDs in parallel.
c. Terminate search.
(Ke, 2024, p. 9)
Minimal Search (MS) は <SA, SD, ST> と定義される. ここで, MS = Minimal Search, SA = 探索アルゴリズム, SD = 探索ドメイン (SAが動作するドメイン), ST = 探索ターゲット (SAが探す特徴) である.
探索アルゴリズム (SA):
a. SDとSTが与えられた場合, SDのすべてのヘッドメンバーに対してSTを照合する.
b. STが見つかった場合, STを持つヘッドを返し, ステップ (c) に進む. それ以外の場合, SDのセットメンバーを取得し, それらをベクトルVとして保存する.
i. Vが空の場合, 探索は失敗し, ステップ (c) に進む. それ以外の場合,
ii. V内の各セットを新しいSDとして割り当て, これらすべての新しいSDに対して並行してステップ (a) に進む.
c. 探索を終了する.
(Gemini 訳)
コンピューターのプログラミングコードを書く方ならこの文章を読むと察しがつくと思うが, この発想は文字通りアルゴリズムであり, それが言語に適用できると考えられる. 生成文法 (特にMinimalist Program) をやっているとたびたび感じるが, こういったコンピュータサイエンス的な発想を積極的に用いているのが, 言語学の中でも少し異質な特性かもしれない.
参考文献
- Ke, A. H. (2024). Can Agree and Labeling Be Reduced to Minimal Search?. Linguistic Inquiry, 55(4), 849-870.