動機と注意
もし,htmlが多項式になるなら,実際に作るとどうなるのか?
ということで,やってみた.
注意
今回実験的要素が多く含まれます.
さらに結果もたいしたことないので,見る価値も今一つありません.
プログラムはGitHubにあります.
一部,引用だったりコードブロックだったりしますが,引用部はhtmlがうまくコードブロックで書けなかった部分です.
——–
方針
- htmlを多項式にする
+ タグを変数に,文章を定数に置換
+ 1行ずつ処理
+ 同じ行の変数と定数は積として単項式に
+ 単項式の和(つまり多項式)としてhtmlを表現
""" # 単項式にするイメージ!(Python) # 変数 -> x1 -> x2 <i><i> -> x3 </i></i> -> x4 # 定数 こんなhtml -> a1 あんなhtml -> a2 """ 単項式1 = 変換する関数(" こんなhtml ") print(単項式1) # 表示結果:x1 * a1 * x2 単項式2 = 変換する関数("<i><i>あんなhtml</i></i>") print(単項式2) # 表示結果:x3 * a2 * x4 多項式 = 単項式1 + 単項式2 print(多項式) # 表示結果:x1*a1*x2 + x3*a2*x4
- 多項式を計算させてみる
+ 2つのhtml(多項式)でグレブナ基底を計算
- 計算結果をhtmlに戻してみる
——–
結果
htmlを多項式で表現
今回使用したhtmlは
<html><body><p>ここに文章</p><i>たとえばイタリックにしたり?</i><p><strong>文章を強調</strong>してみたり!</p></body></html>
と,
<html><body><p>ここに文章</p><p><strong>文章を強調</strong>してみたり!</p></body></html>
タグ(変数)と文章(定数)は次.
x1 = “<html>”x2 = “<body>”x3 = “<p>”x4 = “<strong>”x5 = “</html>”x6 = “</body>”x7 = “</p>”x8 = “</strong>”a1 = “ここに文章”a2 = “<i>”a3 = “たとえばイタリックにしたり?”a4 = “</i>”a5 = “文章を強調”a6 = “してみたり!”
このとき,htmlを変換(タグを記号に置き換えるだけ)すると
x1 + x2 + x3*a1*x7 + a2*a3*a4 + x3*x4*a5*x8*a6*x7 + x6 + x5 , x1 + x2 + x3*a1*x7 + x3*x4*a5*x8*a6*x7 + x6 + x5
となる.
この2つの多項式でグレブナ基底を計算すると
a4*a3*a2, x1+x2+(a6*a5*x8*x4+a1)*x7*x3+x6+x5
これをhtmlに戻すと
<!– a4*a3*a2 の結果 –></i>たとえばイタリックにしたり?<i>
<!– x1+x2+(a6*a5*x8*x4+a1)*x7*x3+x6+x5 の結果 –><html><body>してみたり!文章を強調</strong><strong></p><p>ここに文章</p><p></body></html>
となる.
——–
まとめと考察?
もうすこしタグが基底っぽく機能するようなモデルにしたかった.
おそらく,一行が一つの単項式になるのが問題で,
一行が一つの多項式になると,もうすこし基底っぽいのがでてくると思われる.
結果がちゃんとhtmlになってない.
これは,順序を正しく与えてあげればそれっぽいのはできる.
ただし,入れ子構造が崩壊しているのは避けられない.
上記と同じく,一行が一つの単項式なのが原因と考えられる.
まとめると,今回作った方針でhtmlを多項式化しても特に意味はなさそう.
だが,説明としては使えなくもない・・・のかなぁという感想.
——–
使用したプログラム
今回は乗せると冗長だと判断したため,GitHubに掲載.