数理最適化のソースを表示
←
数理最適化
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
{{interwiki | de = | en = Optimization | es = | ja = 数理最適化 }} [[RTT]]において、'''数理最適化'''の技法はレギュラーテンペラメントの「誤差の小さい」チューニングを求めるために使われている。 レギュラーテンペラメントは[[マッピング]]または[[コンマ基底]]によって定義される。これはチューニングを特定するような情報を含んでいない。このテンペラメントを調律するには、{{en仮リンク|tuning map}}を定義する、つまり各ジェネレーターのサイズを決定しなければならない。ではそれらはどうあるべきなのか? 一般的に、テンペラメントは[[純正律]]を近似するものである。どうチューニングしてもいくつかの音程には不可避的に誤差が導入される(そもそも別々の純正音程をひとつの音程にしなければならないという無茶をやろうとしているのだ)。[[テンパーアウト|テンパー]]の肝は妥協にあり――関心のある音程の総合誤差が最小になるようなスイートスポットを見つけること、これにより元の純正律の和声をできるだけ保つようにする。 == 分類 == 大まかに言うと、態度がだいぶ違う2種類のチューニング方法がある。 * ノルム最適化は、形式的素数([[純正律サブグループ]]の基底のこと)だけではなく全ての音程(無限個)を対象とする、というていで、実際には無限和を回避し、音程の誤差を音程の複雑度で割ったもの({{en仮リンク|damage}})を考えることにより結局簡単な音程しか考える必要がなくなる(複雑度が有理数に関して加法的な振る舞いをするなら、例えば 9/4 の複雑度は 3/2 の複雑度の2倍になって誤差と比例するので割ったものは同じになり全ての音程のことを考えていると言えなくもない)という、よく言えばエレガントなチューニング方法である。 * ターゲット最適化は、自由に作曲者が望んだいくつかの音程だけの総合誤差を小さくする。望まれる音程は大体簡単な音程であり、格子のより外側の音程は無関係なものとして無視される。 本項目ではノルム最適化の分類方法について述べる。ターゲット最適化については{{en仮リンク|target tuning}}を参照のこと。 == ノルム == [[File:Vector norms.svg|thumb|upright=0.5|平面 '''R'''<sup>2</sup> 上の異なるノルムに関する単位円の様子]] ノルム最適化を行うには、音程の複雑度に関する{{w|ノルム}}を導入する必要がある。技術的には、純正律サブグループを{{w|ノルム線型空間}}に{{w|埋め込み (数学)|埋め込む}}ことである。これをするにはいくつかの側面で検討することがある。重みは形式的素数のそれぞれがどの程度重要なのか、傾き(skew、仮訳)は分数と合成数で扱いを変えるかどうか、である。これらはノルムの定義として書いても座標として表現してもよく、見方の違いでしかない。最後に次数(ノルムと聞いて真っ先に思い浮かべるあれ)は、斜め方向の移動がどう数えられるかを決定する。 === 重み === 重み付けは対角行列で表され、形式的素数それぞれの重要度を決定する。[[ヴァルと調律空間|tuning space]]と[[モンゾと音程空間|interval space]]は互いに双対空間であって、tuning spaceでの重要度はinterval spaceでの複雑度の評価(簡単さ・原点への近さ)に相当する。テニー重みは最もありふれた重み付けであり、 $$ W = \operatorname {diag} (1/\log_2 (Q)) $$ となる。ここで ''Q'' = {{val| 2 3 5 … }} でありその中の各素数 ''q'' の重要度は 1/log<sub>2</sub>(''q'')、複雑度は log<sub>2</sub>(''q'') となる。 === 傾き === interval spaceにおいて各素数軸を直交させた場合は分数の形になっているものと合成数の形になっているものを同じ重要度として扱うが、分数の形のほうが重要であると考えることが多い。例えば、同じように 3 と 5 を1個づつ使っていても、5/3 のほうが 15/1 より重要だとみなされる。傾きはこれを理論に導入する。 {{en仮リンク|ワイルノルム|Weil norm}}はテニー重みをベースに、軸の間の角度を 60 度に傾け(さらに線形従属な軸を加え)たものである。 === 次数 === ノルムの次数はinterval spaceでの単位長さを決定する。 * ユークリッドノルム(''L''<sup>2</sup> ノルム)は現実の直線距離のようなものである。 * マンハッタンノルム(''L''<sup>1</sup> ノルム)はマンハッタンの中のタクシーのようなものである。水平方向の移動と垂直方向の移動しかできないので、斜めの移動コストは両方の和となる。 * チェビシェフノルム(''L''<sup>∞</sup> ノルム)はチェスのキングのようなものである。左右に1マス、上下に1マス、斜め移動(''L''<sup>2</sup> 的に言えば 1.41 マス先)が全て1手でできる。 ''L''<sup>1</sup> と ''L''<sup>∞</sup> が双対ノルム(双対空間それぞれに設定されたノルムである種の性質の良さがある組み合わせ)である。''L''<sup>2</sup> の双対は ''L''<sup>2</sup> である。 (中略) == 強制 == 特定の音程を特定の大きさに強制する手法について解説する。オクターブを純正にすることが最もよく行われている強制であるが、他の音程も対象になりうる。2つの主流な方法がある。 === デストレッチ === デストレッチは後処理により純正音程を強制する方法である。(17.1edoの[[一般化パテントヴァル|GPV]]を17.0edoで用いるような話である。)その結果はもはや元々のノルムとは関係ないものになるが、しばしばもっと高度な手法に対する簡便な近似になる。最もありふれた例が{{en仮リンク|POTE tuning}}である。これはたまたま{{en仮リンク|CWE tuning}}に近い結果を得られることで知られている。 === 制約 === 制約条件(等式)を追加してそれも満たす最小化問題をきちんと解くこと。制約条件を増やした結果最小化以前に解が定まってしまう場合もある(純正のままにした音程のことを{{en仮リンク|固有モンゾ|eigenmonzo}}という。ランク-''n'' テンペラメントに固有モンゾを ''n'' 個設定すると解が定まってしまう。{{en仮リンク|minimax tuning}}なども参照のこと)。制約条件は最適化の{{w|実行可能領域}}を定義し、実行可能な範囲で最小化された結果をfeasibly optimalという。 == 枠組みの定式化 == (デストレッチを除いて)テンペラメントの最適化問題は以下のように定義できる。マッピング行列 ''V''、{{en仮リンク|純正律マップ|just intonation point}} ''J'' が与えられ、重み・傾き変換行列 ''X''、ノルムの次数 ''q''、制約条件があるならその固有モンゾを並べた行列 ''M'' を決定する。ジェネレーター{{en仮リンク|tuning map}}を ''G'' と書くと、 ~ == 主要なチューニング == ~
このページで使用されているテンプレート:
テンプレート:Bra
(
ソースを閲覧
)
テンプレート:En仮リンク
(
ソースを閲覧
)
テンプレート:Interwiki
(
ソースを閲覧
)
テンプレート:Trim
(
ソースを閲覧
)
テンプレート:Val
(
ソースを閲覧
)
テンプレート:W
(
ソースを閲覧
)
テンプレート:Wlink
(
ソースを閲覧
)
数理最適化
に戻る。
ナビゲーション メニュー
個人用ツール
ログイン
アカウント申請
名前空間
ページ
議論
日本語
表示
閲覧
ソースを閲覧
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
ヘルプ
高度な検索
参加申請
理論
手法
一般理論
コミュニティ
XA Facebook
XA Discord
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報