[0]入力データ作成の流れを記す。
---
[1]テキストエディタ(UTF-8、改行=LF)を使用。現在、Mac/Windowsともに、mi を使用。
---
[2]日経新聞一面、直近のタイトルを使用。
https://ja-jp.facebook.com/nikkeiichimen/
10月26日 日本経済新聞一面トップニュース
====================
「習1強」長期政権へ布石
中国、2期目始動 後継起用せず求心力
====================
---
[3]タイトルのバイト数をチェック。「文字数カウント」で検索、以下を使用する。
===
【みんなの知識 ちょっと便利帳】入力した文字数を調べる・文字数カウント[1]
入力した文字数を調べる [1] 文字数・バイト数・全角換算
https://www.benricho.org/calculate/text-counter.html
===
元ネタ[2]の2行を1行にする。改行を全角空白1文字にして。
「習1強」長期政権へ布石 中国、2期目始動 後継起用せず求心力
31文字、62 bytes
---
[4]sha256の内部処理で、64 bytesの倍数に元ネタを重複させるために、LCM(64,62)を求める。手持ちの関数電卓でも出来るが、今回はツールをオンラインで得る流れで行きます。オンラインLCMは?「lcm calculator」で検索。以下を使用。
===
LCM Calculator - Least Common Multiple - Calculator Soup
https://www.calculatorsoup.com/calculators/math/lcm.php
===
LCM(64, 62)
LCM = 1984
1984/62=32 回の重複要!※但し、文字列連結時には、空白を挿入しない。
---
[5]重複した1984 bytesは以下。
===
「習1強」長期政権へ布石 中国、2期目始動 後継起用せず求心力「習1強」長期政権へ布石 中国、2期目始動 後継起用せず求心力「習1強」長期政権へ布石 中国、2期目始動 後継起用せず求心力「習1強」長期政権へ布石 中国、2期目始動 後継起用せず求心力「習1強」長期政権へ布石 中国、2期目始動 後継起用せず求心力「習1強」長期政権へ布石 中国、2期目始動 後継起用せず求心力「習1強」長期政権へ布石 中国、2期目始動 後継起用せず求心力「習1強」長期政権へ布石 中国、2期目始動 後継起用せず求心力「習1強」長期政権へ布石 中国、2期目始動 後継起用せず求心力「習1強」長期政権へ布石 中国、2期目始動 後継起用せず求心力「習1強」長期政権へ布石 中国、2期目始動 後継起用せず求心力「習1強」長期政権へ布石 中国、2期目始動 後継起用せず求心力「習1強」長期政権へ布石 中国、2期目始動 後継起用せず求心力「習1強」長期政権へ布石 中国、2期目始動 後継起用せず求心力「習1強」長期政権へ布石 中国、2期目始動 後継起用せず求心力「習1強」長期政権へ布石 中国、2期目始動 後継起用せず求心力「習1強」長期政権へ布石 中国、2期目始動 後継起用せず求心力「習1強」長期政権へ布石 中国、2期目始動 後継起用せず求心力「習1強」長期政権へ布石 中国、2期目始動 後継起用せず求心力「習1強」長期政権へ布石 中国、2期目始動 後継起用せず求心力「習1強」長期政権へ布石 中国、2期目始動 後継起用せず求心力「習1強」長期政権へ布石 中国、2期目始動 後継起用せず求心力「習1強」長期政権へ布石 中国、2期目始動 後継起用せず求心力「習1強」長期政権へ布石 中国、2期目始動 後継起用せず求心力「習1強」長期政権へ布石 中国、2期目始動 後継起用せず求心力「習1強」長期政権へ布石 中国、2期目始動 後継起用せず求心力「習1強」長期政権へ布石 中国、2期目始動 後継起用せず求心力「習1強」長期政権へ布石 中国、2期目始動 後継起用せず求心力「習1強」長期政権へ布石 中国、2期目始動 後継起用せず求心力「習1強」長期政権へ布石 中国、2期目始動 後継起用せず求心力「習1強」長期政権へ布石 中国、2期目始動 後継起用せず求心力「習1強」長期政権へ布石 中国、2期目始動 後継起用せず求心力
===
[6]sha256 でハッシュ値を求める。以下を使用。
===
SHA-256 hash calculator. Online SHA-256 hash generator. Mining ...
http://www.xorbin.com/tools/sha256-hash-calculator
===
7cdc7c086ef78e2f9bc8c530c469a57733819d9f350cb95f99d2337408dcec07
※Mac/Windowsで値一致を確認。
---
[7]ハッシュ値の16進数を2進数に変換する。
[7-1]一度の変換できない?ので、4 bytes毎に処理する。
sha256 = 32 bytes。4 bytes * 8 で、4 bytesごとに処理する。
===
7cdc7c086ef78e2f9bc8c530c469a57733819d9f350cb95f99d2337408dcec07
===4bytes 改行。
7cdc7c08
6ef78e2f
9bc8c530
c469a577
33819d9f
350cb95f
99d23374
08dcec07
---
[7-2]2進数変換。以下を使用。
2進数、10進数、16進数および2~62進数全ての相互変換ツール
https://www.muryou-tools.com/sinsuu-change.php
---2進数:[1行目]変換直後、[2行目]前ゼロ補正
7cdc7c08
1111100110111000111110000001000
01111100110111000111110000001000
---
6ef78e2f
1101110111101111000111000101111
01101110111101111000111000101111
---
9bc8c530
10011011110010001100010100110000
---
c469a577
11000100011010011010010101110111
---
33819d9f
110011100000011001110110011111
00110011100000011001110110011111
---
350cb95f
110011100000011001110110011111
00110011100000011001110110011111
---
99d23374
10011001110100100011001101110100
---
08dcec07
1000110111001110110000000111
00001000110111001110110000000111
---前ゼロ補正の2進数を8行連結。
01111100110111000111110000001000
01101110111101111000111000101111
10011011110010001100010100110000
11000100011010011010010101110111
00110011100000011001110110011111
00110011100000011001110110011111
10011001110100100011001101110100
00001000110111001110110000000111
--
[8]2進数を37 bitsごとに区切る。43進数に変換する。
===
0111110011011100011111000000100001101
1101111011110001110001011111001101111
0010001100010100110000110001000110100
1101001010111011100110011100000011001
1101100111110011001110000001100111011
0011111100110011101001000110011011101
0000001000110111001110110000000111
===
[8-番外]編集中、誤りがないか試行中、テキスト比較ツールを使用した。「online diff」で検索。以下を使用。
Mergely - Diff online, merge documents
http://www.mergely.com/editor
---
[9]37bits 2進数を43進数に変換する。変換に前と同様に以下を使用。
===
2進数、10進数、16進数および2~62進数全ての相互変換ツール
https://www.muryou-tools.com/sinsuu-change.php
===
[1]
0111110011011100011111000000100001101
apGongf
a,p,G,o,n,g,f
10,25,42,24,23,16,15
---sorted
10,15,16,23,24,25,42
---重複なし
r6.txt
472961,2017/10/26,10,15,16,23,24,25,42
===
[2]
1101111011110001110001011111001101111
iE81Esu
i,E,8,1,E,s,u
18,40,8,1,40,28,30
---sorted
1,8,18,28,30,40,40
---重複の扱い : 40
===
[3]
0010001100010100110000110001000110100
2G4F3E2
2,G,4,F,3,E,2
2,42,4,41,3,40,2
---sorted
2,2,3,4,40,41,42
---重複の扱い : 2
===
[4]
1101001010111011100110011100000011001
hCph2b7
h,C,p,h,2,b,7
17,38,25,17,2,11,7
---sorted
2,7,11,17,17,25,38
---重複の扱い : 17
===
[5]
1101100111110011001110000001100111011
ilEwphe
i,l,E,w,p,h,e
18,21,40,32,25,17,14
---sorted
14,17,18,21,25,32,40
---重複なし
===
[6]
0011111100110011101001000110011011101
5fyBoEa
5,f,y,B,o,E,a
5,15,34,37,24,40,10
---sorted
5,10,15,24,34,37,40
---重複なし
===
[7]
0000001000110111001110110000000111
10l9v7
1,0,l,9,v,7
1,0,21,9,31,7
---sorted
0,1,7,9,21,31
---重複なし、[0]の扱い。
===
@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@
TODO) BTC のnonce予測の際に検討した桁補充処理を再整理して、利用する方向。
[a]重複値=削除。不足分の補充する。
[b]ゼロの削除で、補充必要!
@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@
---
[10]後で利用する(第三種郵便物番号)を、掲載。
47287,2017/10/17,buy a paper.
47288,2017/10/18
47289,2017/10/19
47290,2017/10/20
47291,2017/10/21
47292,2017/10/22
47293,2017/10/23
47294,2017/10/24
47295,2017/10/25
47296,2017/10/26,checked this.
47297,2017/10/27
47298,2017/10/28
47299,2017/10/29,today
---
end.
2017年10月30日月曜日
2017年10月24日火曜日
Social Data Digest : (2) preparing
[0]2017/10/23の選挙結果のタイトル予想に間に合わせたかったが、作業方針も走りながら考えている状態。
----------------------------------------
[1]日経新聞の一面記事をいずこからゲットするか?以下のサイトを利用させていただく方向であるが、一応手元の新聞で、内容を確認する。
===
日経新聞一面記事一週間まとめ読み
https://ja-jp.facebook.com/nikkeiichimen/
---------------------------------------
[1-1]2017/02/24 : 13版、第47058号(第三種郵便物)
=== 紙面では、(3行目は副題の扱いでは?)
森永製菓・乳業統合へ
海外に活路 売上高8000億円
来年4月メド、持ち株会社
=== ネットでは、
森永製菓・乳業統合へ
売上高8000億円 海外に活路
===
本文での相違点は以下。※版数が異なるためか?内容は未確認!
---[diff.1]
[net___]目指す。(関連記事企業面に)
[paper]目指す。(関連記事12面に)
---[diff.2]
[net___]森永製菓と森永乳業は
[paper]森永製と森永乳は
===
※ほぼ、一致。
---------------------------------------
[1-2]2017/10/17 :13版、 第47287号(第三種郵便物)
=== 紙面では、(3行目は副題の扱いでは?)
大飯原発2基廃炉へ
関電、採算合わず
大型炉も選別
=== ネットでは、編集?:who+3行目連結。
関電、大飯原発2基廃炉へ
採算合わず、大型炉も選別
===
本文での相違点は以下。※版数が異なるためか?内容は未確認!
---[diff.1]
[net___]老朽原発(総合2面きょうのことば)
[paper]老朽原発(3面きょうのことば)
---[diff.2]
[net___]時代に入る。(関連記事経済面に)
[paper]時代に入る。(関連記事5面に)
---[diff.3]
[net___]10年度に比べて約2割減少している。震災後に節電意識が広く浸透したことや、小売りの全面自由化により顧客が新電力に流出したためだ。
[paper]10年度に比べて約2割減少していた。
---[diff.4]
[net___]需要も減っているため供給に支障は出ない見込み。
[paper]需要も減っており供給は間に合う。
---[diff.5]
[net___]政府は現行のエネルギー基本計画で、30年の原子力比率を20~22%としているが、現状は大きく下回っている。実現には関電や九州電力、四国電力の計5基にとどまっている原発の再稼働を30基程度まで増やす必要がある。ただ、運転開始から30年を超えている原発も多く、いずれも近い将来に廃炉か運転延長を申請するかの選択を迫られる。
[paper]再稼働にこぎ着けた原発が関電や九州電力、四国電力の計5基にとどまっているためだ。政府は現行のエネルギー基本計画で、30年の発電量に占める 原子力比率を20~22%としている。実現には30基程度の稼働が必要だが、大きく下回っているのが現状だ。国内にある42基の原発のうち約半数は運転開始から30年を超えている。いずれも近い将来に廃炉か延長申請かの選択を迫られる。
===
※単独日ではなく、連続日でデータを利用するため、同じ流儀で処理しているものとして、ネットデータを流用する。
(2017/10/24, 16:26 at first touched)
---------------------------------------
[2]ハッシュ値をどの範囲を対象にするかの考察
[2-1]当初は、タイトルのみでいいかと、安直に考えていたが、ハッシュ関数で圧縮というよりも伸張することは、流れからしてどうなのということで、圧縮 と、伸張の境目に興味があるが、基本は圧縮できるように多めのデータを与えるしかないとの考え。それでは、実験的に、多め/少なめのデータでどうなるかを 見てみるか、、、
---
[2-2]現在、ハッシュ関数として、sha256の採用に傾いている。同関数は256 bits = 32 bytes (全角16文字)で、日経一面のタイトルだけでは、ザックリ32 bytesを前後するサイズになる。input < 32, > 32で、hash予測に影響があるか?実験で確認するか???圧縮されるために、input > 32が正論であるが、miningで、予測可能の判断が難しくなる。タイトルのみの予測に限定したいが、input < 32の模様なので、どうなるか?
---
[2-3]直近の参考本)メタマス!/グレゴリー・チャイティン/白揚社(2007), p.93)実験データの圧縮が可能ならば、自然法則がある。圧縮できない場合は、ランダムである(意訳)。(input > 32 を与えるアイデアを得る、、、)
---
[2-4]ならば、対象を以下の3つに分けて、実験する。か?
input ~ 32 : [T]タイトルのみ(20文字前後)
input > 32 : [T+1B]タイトル+先頭のブロック
input > 32 : [T+mB] タイトル+本文全体
※どうも、しっくりこない。直感では同意しかねる流れ。
TODO)各対象での文字数を最近の一週間で平均をとり、確認しておく。
---
[2-5]当面、[2-4]の方向で作業する場合、1次情報の加工方法を記す。
[a]Mac/Windowsでの混在した作業環境なので、(utf8+改行=LF)で処理する。editor={mi in Mac, hidemaru in Windows, mi(v3.0.0 α24) in Windows10=valid for me.}です。
[b]対象を改行を削除して、行末に全角スペース*1を挿入して連結する。文末が[。](マル)の場合は、挿入なしで連結する。対象={タイトル、小見出し、本文}。
[c]関連記事リンクは、削除する。例)2017/10/17:(総合2面きょうのことば)
[d]写真説明文は、削除する。例)2017/10/17: 関西電力大飯原発の(右から)1、2号機(福井県おおい町)
---
[2-6]sha256の内部処理はどうなの?
(TODO)ハッシュ値は、入力データを圧縮するもの、入力値が少ない場合の内部処理の概略を確認要!
64 bytesが最小単位であることをネットで知る。入力値が64 bytesの倍数でないと、内部のパディング処理が走るため、それを嫌って、ちょうど64 bytesで分割できるようなデータを用意する。
---
[2-7]ここで、タイトル単独案が浮上。タイトルを重複して、[a]ちょうど64 bytesで足切りするか、[b]LCM(64, タイトル長)まで、タイトルを重複させたものを、入力データして用意するか、[c]LCM(64, タイトル長)より短い長さで、64 bytesの倍数で足切りするもので、足切りした末端のタイトル長がオリジナルのタイトル長に対して50%以上ある場合とする。 の案が考えられ、直感から[b]を採用する。[b]は、タイトル長も情報として生きるので。但し、複数行のタイトルは、[2-5][b]を適用して、1行で処理する。
(2017/10/28, 15:58 updated)
---------------------------------------
[3] sha256を採用したい理由
[3-1]前提。output=hash(256 bits = 32 bytes * 8 bits)、P322 method(R6.txt)={7桁、43進数}
---
[3-2]43進数7桁を2進数で表現したら、何bits?
43^7=2^?
log2(43^7)=37.983...~37/or/38
---
[3-3]256 bitsから43進数7桁は何個取れる?
256/37=6.91~7
256/38= 6.75~7
※37bitsを採用すると、256 bits = 37 bits * 6 + 34 bits * 1
---
[3-4]37bitsはsha*等の出力で何bits={128, 160, 256, 384, 512}が近いか?
LCM(37,3)=111 ~128-17
LCM(37,4)=148 ~128+20
LCM(37,5)=185 ~160+25
LCM(37,6)=222 ~256-34
LCM(37,7)=259 ~256+3 ****近い、、、ので、sha256=採用。
LCM(37,10)=370 ~384-14
LCM(37,11)=407 ~384+23
LCM(37,14)=518 ~512+6
---
[3-5]その他、気になる点
P322 method(R6.txt)は、1行、7桁で単日データであるが、sha7ではなく、sha256なので、明らかに、複数行で、1データセットの意味合いになり、30+1行の予測に適合するか否かの懸念がある、、、
---
[3-6]番外
7桁、7行となると、7*7=49で、四十九日を思い出すが、(最終的に極楽浄土に行けるかどうかの判定が下されるのが四十九日目で)。シュメールの伝説もに7が多用されているが、、、
---------------------------------------
[4]ハッシュ値を取得する方法として、オンラインサイトを利用する。以下の3サイトを発見!これで探索中断したので、他にもあるかも。
[4-1]Hash : online hash value calculator
http://www.fileformat.info/tool/hash.htm
:使用しない。入力エリアがテキストボックスでないので、操作しずらかったので。
[4-2]オンラインSH256ハッシュジェネレータ
http://www.convertstring.com/ja/Hash/SHA256
:使用する。出力ハッシュ値は、英文字=大文字。
[4-3]SHA-256 hash calculator
http://www.xorbin.com/tools/sha256-hash-calculator
:使用する。出力ハッシュ値は、英文字=小文字。
===
※後述のハッシュ値(16進数)を別の進数に変換する際、16進数表記の英文字が小文字の必要があり、上記の[4-3]を最終的に使用するが、値の検証に[4-2]を使う。
---------------------------------------
[5]16進数から43進数への変換
[5-1]変換ツール(オンライン)は、以下を使用している。
2進数、10進数、16進数および2~62進数全ての相互変換ツール
https://www.muryou-tools.com/sinsuu-change.php
---
[5-2]変換の流れは、16進数->2進数->43進数とする。
[a] 16進数(32 bytes)を2進数に変換する。使用するツールの制約?から、ハッシュ値の全体は処理できないので、分割して変換する。例)4bytes毎に分割。
[b] 2進数を37 bitsに分割し(最後は、34 bits)、43進数に変換し、7桁7行を得る。----------------------------------------
[6]P322 method(R6.txt)の入力ファイル(R6.txt)の構成
[6-1]R6.txtのファイル構成は、項目={回数,日付,枠1,枠2,枠3,枠4,枠5,枠6,枠7}。
例)
kai,date,w1,w2,w3,w4,w5,w6,b1
911,2014/10/27,8,16,18,22,27,35,3
---
[6-2]日経新聞用の入力ファイル(R6-nikkei.txt)は、[5]で変換した(7桁7行)を使用する。同一日で、7行あるので、kai=第三種郵便物番号*10+1から行分の連番とする。
例)2017/10/17 : 第47287号の場合
kai,date,w1,w2,w3,w4,w5,w6,b1
472871, 2017/10/17,{7桁を昇順にソート} @sha256先頭から1番目37bits=37bits(1)
472872, 2017/10/17,{7桁を昇順にソート} @sha256先頭から2番目37bits=37bits(2)
472873, 2017/10/17,{7桁を昇順にソート} @sha256先頭から3番目37bits=37bits(3)
472874, 2017/10/17,{7桁を昇順にソート} @sha256先頭から4番目37bits=37bits(4)
472875, 2017/10/17,{7桁を昇順にソート} @sha256先頭から5番目37bits=37bits(5)
472876, 2017/10/17,{7桁を昇順にソート} @sha256先頭から6番目37bits=37bits(6)
472877, 2017/10/17,{7桁を昇順にソート} @sha256先頭から残りの34bits=34bits(7)
---
[6-3]kaiに第三種郵便物番号を使用した訳
新聞の日付とは別に何らかの管理番号が必要なので、ここはあまりこだわる箇所ではないが、こだわりました。1からの連番でも構わないが。第三種郵便物許可の番号を使う。
---
[6-4]新聞の第三種郵便物番号は、いずこ?
[a]検索に引っかからない。みんなは興味がない?紙面でも見ていない。
手元にあった古新聞:2017/02/24 : 第47058号で、番号を検索しても、何もなし。
---
[b]紙面で番号を確認するために、あえて夕方、コンビニで購入。
2017/10/17 : 第47287号
---
[c]連番?
2017/02/24 : 第47058号
2017/10/17 : 第47287号
日付計算では、235日で、47058+235=47293で、10/17日付の番号に一致しない。
新聞休刊日があった。
---
[d]日付計算は、以下を使用した。
日数計算(日付-日付) - 高精度計算サイト
http://keisan.casio.jp/exec/system/1177658154
---
[e]休刊日情報は?
web:[日本経済新聞 休刊日 2017]
平成29年 休刊日表 【朝刊休みの日】 - 朝日オリコミ西部 (pdf)
---
[f]番号は、休刊日を除いた番号に一致するか?
2017/02/24 : 第47058号
2017/10/17 : 第47287号
この間の休刊日={3/x, 4/10, 5/8, 6/12, 7/18, 8/x, 9/11, 10/10}=計6日間。
日付差ー休刊日で、10/17日付の番号に一致。
----------------------------------------
(2017/10/28, 19:44 updated)
TODO)次回は、実際の入力データ変換作業例を示す予定。
end.
----------------------------------------
[1]日経新聞の一面記事をいずこからゲットするか?以下のサイトを利用させていただく方向であるが、一応手元の新聞で、内容を確認する。
===
日経新聞一面記事一週間まとめ読み
https://ja-jp.facebook.com/nikkeiichimen/
---------------------------------------
[1-1]2017/02/24 : 13版、第47058号(第三種郵便物)
=== 紙面では、(3行目は副題の扱いでは?)
森永製菓・乳業統合へ
海外に活路 売上高8000億円
来年4月メド、持ち株会社
=== ネットでは、
森永製菓・乳業統合へ
売上高8000億円 海外に活路
===
本文での相違点は以下。※版数が異なるためか?内容は未確認!
---[diff.1]
[net___]目指す。(関連記事企業面に)
[paper]目指す。(関連記事12面に)
---[diff.2]
[net___]森永製菓と森永乳業は
[paper]森永製と森永乳は
===
※ほぼ、一致。
---------------------------------------
[1-2]2017/10/17 :13版、 第47287号(第三種郵便物)
=== 紙面では、(3行目は副題の扱いでは?)
大飯原発2基廃炉へ
関電、採算合わず
大型炉も選別
=== ネットでは、編集?:who+3行目連結。
関電、大飯原発2基廃炉へ
採算合わず、大型炉も選別
===
本文での相違点は以下。※版数が異なるためか?内容は未確認!
---[diff.1]
[net___]老朽原発(総合2面きょうのことば)
[paper]老朽原発(3面きょうのことば)
---[diff.2]
[net___]時代に入る。(関連記事経済面に)
[paper]時代に入る。(関連記事5面に)
---[diff.3]
[net___]10年度に比べて約2割減少している。震災後に節電意識が広く浸透したことや、小売りの全面自由化により顧客が新電力に流出したためだ。
[paper]10年度に比べて約2割減少していた。
---[diff.4]
[net___]需要も減っているため供給に支障は出ない見込み。
[paper]需要も減っており供給は間に合う。
---[diff.5]
[net___]政府は現行のエネルギー基本計画で、30年の原子力比率を20~22%としているが、現状は大きく下回っている。実現には関電や九州電力、四国電力の計5基にとどまっている原発の再稼働を30基程度まで増やす必要がある。ただ、運転開始から30年を超えている原発も多く、いずれも近い将来に廃炉か運転延長を申請するかの選択を迫られる。
[paper]再稼働にこぎ着けた原発が関電や九州電力、四国電力の計5基にとどまっているためだ。政府は現行のエネルギー基本計画で、30年の発電量に占める 原子力比率を20~22%としている。実現には30基程度の稼働が必要だが、大きく下回っているのが現状だ。国内にある42基の原発のうち約半数は運転開始から30年を超えている。いずれも近い将来に廃炉か延長申請かの選択を迫られる。
===
※単独日ではなく、連続日でデータを利用するため、同じ流儀で処理しているものとして、ネットデータを流用する。
(2017/10/24, 16:26 at first touched)
---------------------------------------
[2]ハッシュ値をどの範囲を対象にするかの考察
[2-1]当初は、タイトルのみでいいかと、安直に考えていたが、ハッシュ関数で圧縮というよりも伸張することは、流れからしてどうなのということで、圧縮 と、伸張の境目に興味があるが、基本は圧縮できるように多めのデータを与えるしかないとの考え。それでは、実験的に、多め/少なめのデータでどうなるかを 見てみるか、、、
---
[2-2]現在、ハッシュ関数として、sha256の採用に傾いている。同関数は256 bits = 32 bytes (全角16文字)で、日経一面のタイトルだけでは、ザックリ32 bytesを前後するサイズになる。input < 32, > 32で、hash予測に影響があるか?実験で確認するか???圧縮されるために、input > 32が正論であるが、miningで、予測可能の判断が難しくなる。タイトルのみの予測に限定したいが、input < 32の模様なので、どうなるか?
---
[2-3]直近の参考本)メタマス!/グレゴリー・チャイティン/白揚社(2007), p.93)実験データの圧縮が可能ならば、自然法則がある。圧縮できない場合は、ランダムである(意訳)。(input > 32 を与えるアイデアを得る、、、)
---
[2-4]ならば、対象を以下の3つに分けて、実験する。か?
input ~ 32 : [T]タイトルのみ(20文字前後)
input > 32 : [T+1B]タイトル+先頭のブロック
input > 32 : [T+mB] タイトル+本文全体
※どうも、しっくりこない。直感では同意しかねる流れ。
TODO)各対象での文字数を最近の一週間で平均をとり、確認しておく。
---
[2-5]当面、[2-4]の方向で作業する場合、1次情報の加工方法を記す。
[a]Mac/Windowsでの混在した作業環境なので、(utf8+改行=LF)で処理する。editor={mi in Mac, hidemaru in Windows, mi(v3.0.0 α24) in Windows10=valid for me.}です。
[b]対象を改行を削除して、行末に全角スペース*1を挿入して連結する。文末が[。](マル)の場合は、挿入なしで連結する。対象={タイトル、小見出し、本文}。
[c]関連記事リンクは、削除する。例)2017/10/17:(総合2面きょうのことば)
[d]写真説明文は、削除する。例)2017/10/17: 関西電力大飯原発の(右から)1、2号機(福井県おおい町)
---
[2-6]sha256の内部処理はどうなの?
(TODO)ハッシュ値は、入力データを圧縮するもの、入力値が少ない場合の内部処理の概略を確認要!
64 bytesが最小単位であることをネットで知る。入力値が64 bytesの倍数でないと、内部のパディング処理が走るため、それを嫌って、ちょうど64 bytesで分割できるようなデータを用意する。
---
[2-7]ここで、タイトル単独案が浮上。タイトルを重複して、[a]ちょうど64 bytesで足切りするか、[b]LCM(64, タイトル長)まで、タイトルを重複させたものを、入力データして用意するか、[c]LCM(64, タイトル長)より短い長さで、64 bytesの倍数で足切りするもので、足切りした末端のタイトル長がオリジナルのタイトル長に対して50%以上ある場合とする。 の案が考えられ、直感から[b]を採用する。[b]は、タイトル長も情報として生きるので。但し、複数行のタイトルは、[2-5][b]を適用して、1行で処理する。
(2017/10/28, 15:58 updated)
---------------------------------------
[3] sha256を採用したい理由
[3-1]前提。output=hash(256 bits = 32 bytes * 8 bits)、P322 method(R6.txt)={7桁、43進数}
---
[3-2]43進数7桁を2進数で表現したら、何bits?
43^7=2^?
log2(43^7)=37.983...~37/or/38
---
[3-3]256 bitsから43進数7桁は何個取れる?
256/37=6.91~7
256/38= 6.75~7
※37bitsを採用すると、256 bits = 37 bits * 6 + 34 bits * 1
---
[3-4]37bitsはsha*等の出力で何bits={128, 160, 256, 384, 512}が近いか?
LCM(37,3)=111 ~128-17
LCM(37,4)=148 ~128+20
LCM(37,5)=185 ~160+25
LCM(37,6)=222 ~256-34
LCM(37,7)=259 ~256+3 ****近い、、、ので、sha256=採用。
LCM(37,10)=370 ~384-14
LCM(37,11)=407 ~384+23
LCM(37,14)=518 ~512+6
---
[3-5]その他、気になる点
P322 method(R6.txt)は、1行、7桁で単日データであるが、sha7ではなく、sha256なので、明らかに、複数行で、1データセットの意味合いになり、30+1行の予測に適合するか否かの懸念がある、、、
---
[3-6]番外
7桁、7行となると、7*7=49で、四十九日を思い出すが、(最終的に極楽浄土に行けるかどうかの判定が下されるのが四十九日目で)。シュメールの伝説もに7が多用されているが、、、
---------------------------------------
[4]ハッシュ値を取得する方法として、オンラインサイトを利用する。以下の3サイトを発見!これで探索中断したので、他にもあるかも。
[4-1]Hash : online hash value calculator
http://www.fileformat.info/tool/hash.htm
:使用しない。入力エリアがテキストボックスでないので、操作しずらかったので。
[4-2]オンラインSH256ハッシュジェネレータ
http://www.convertstring.com/ja/Hash/SHA256
:使用する。出力ハッシュ値は、英文字=大文字。
[4-3]SHA-256 hash calculator
http://www.xorbin.com/tools/sha256-hash-calculator
:使用する。出力ハッシュ値は、英文字=小文字。
===
※後述のハッシュ値(16進数)を別の進数に変換する際、16進数表記の英文字が小文字の必要があり、上記の[4-3]を最終的に使用するが、値の検証に[4-2]を使う。
---------------------------------------
[5]16進数から43進数への変換
[5-1]変換ツール(オンライン)は、以下を使用している。
2進数、10進数、16進数および2~62進数全ての相互変換ツール
https://www.muryou-tools.com/sinsuu-change.php
---
[5-2]変換の流れは、16進数->2進数->43進数とする。
[a] 16進数(32 bytes)を2進数に変換する。使用するツールの制約?から、ハッシュ値の全体は処理できないので、分割して変換する。例)4bytes毎に分割。
[b] 2進数を37 bitsに分割し(最後は、34 bits)、43進数に変換し、7桁7行を得る。----------------------------------------
[6]P322 method(R6.txt)の入力ファイル(R6.txt)の構成
[6-1]R6.txtのファイル構成は、項目={回数,日付,枠1,枠2,枠3,枠4,枠5,枠6,枠7}。
例)
kai,date,w1,w2,w3,w4,w5,w6,b1
911,2014/10/27,8,16,18,22,27,35,3
---
[6-2]日経新聞用の入力ファイル(R6-nikkei.txt)は、[5]で変換した(7桁7行)を使用する。同一日で、7行あるので、kai=第三種郵便物番号*10+1から行分の連番とする。
例)2017/10/17 : 第47287号の場合
kai,date,w1,w2,w3,w4,w5,w6,b1
472871, 2017/10/17,{7桁を昇順にソート} @sha256先頭から1番目37bits=37bits(1)
472872, 2017/10/17,{7桁を昇順にソート} @sha256先頭から2番目37bits=37bits(2)
472873, 2017/10/17,{7桁を昇順にソート} @sha256先頭から3番目37bits=37bits(3)
472874, 2017/10/17,{7桁を昇順にソート} @sha256先頭から4番目37bits=37bits(4)
472875, 2017/10/17,{7桁を昇順にソート} @sha256先頭から5番目37bits=37bits(5)
472876, 2017/10/17,{7桁を昇順にソート} @sha256先頭から6番目37bits=37bits(6)
472877, 2017/10/17,{7桁を昇順にソート} @sha256先頭から残りの34bits=34bits(7)
---
[6-3]kaiに第三種郵便物番号を使用した訳
新聞の日付とは別に何らかの管理番号が必要なので、ここはあまりこだわる箇所ではないが、こだわりました。1からの連番でも構わないが。第三種郵便物許可の番号を使う。
---
[6-4]新聞の第三種郵便物番号は、いずこ?
[a]検索に引っかからない。みんなは興味がない?紙面でも見ていない。
手元にあった古新聞:2017/02/24 : 第47058号で、番号を検索しても、何もなし。
---
[b]紙面で番号を確認するために、あえて夕方、コンビニで購入。
2017/10/17 : 第47287号
---
[c]連番?
2017/02/24 : 第47058号
2017/10/17 : 第47287号
日付計算では、235日で、47058+235=47293で、10/17日付の番号に一致しない。
新聞休刊日があった。
---
[d]日付計算は、以下を使用した。
日数計算(日付-日付) - 高精度計算サイト
http://keisan.casio.jp/exec/system/1177658154
---
[e]休刊日情報は?
web:[日本経済新聞 休刊日 2017]
平成29年 休刊日表 【朝刊休みの日】 - 朝日オリコミ西部 (pdf)
---
[f]番号は、休刊日を除いた番号に一致するか?
2017/02/24 : 第47058号
2017/10/17 : 第47287号
この間の休刊日={3/x, 4/10, 5/8, 6/12, 7/18, 8/x, 9/11, 10/10}=計6日間。
日付差ー休刊日で、10/17日付の番号に一致。
----------------------------------------
(2017/10/28, 19:44 updated)
TODO)次回は、実際の入力データ変換作業例を示す予定。
end.
2017年10月14日土曜日
Social Data Digest : (1) beginning, ideas
[0]社会的なデータの予測を目指す。タイトル候補として、[Social Hash], [Social Big Data Mining], [Social Data Mining], [Social Data Digest],,,があった。ネット上には既に同名あり。
---
[1] R6.txt 絡みで、地道に微力ながら、進行中であるが。最近、BTC の Mining の内容をチェック。ノンス(nonce)値の生成パターンを若干見、H/sの改善として [P322 method]の適用(応用)を夢想する日々。BTC を投資対象としてではなく、Mining 行為そのものに興味があった。Youtubeにも GPUマイニングの紹介があったりして、食指をのばされたが、今はトーンダウン。目的がBTC等の暗号通貨の入手ならば、設備投資分の資金で直接購入した方が早いという感。
---
[2][P322 method] (R6.txt版)の最終ゴールへのプロセスとは別に、本method(途中実装)の有効性を検証するために、入力に複数値(テキスト/or/文字列)が混在したものを予想するため、sha256等のハッシュ関数を利用する。出力した固定長ビットを変換し、同methodの入力データとする。入力データとしては、日経平均などの元ネタ(数値のみ)をテキストとして、取り込むことも考えられるが、ここでは、新聞の一面記事のタイトルを最低30日分集めて、31日目のハッシュ値を予想データグループ内に存在するかまでをチェックする。
---
[3]今、実装している[P322 method] (R6.txt版)の制約条件としては、[P322 method(input=(7個/回, 43進数/個, R6.txt), output=(30+1回目予想))]なので、sha256出力のハッシュ値も、強引に、この制約に合わせる必要がある。なお、sha256を使用するかは、この段階では決定していない。
---
[4]30+1回目で予想したハッシュ値から、何を収穫するか?/予想されるタイトルの単語+αで、ハッシュ値を生成して一致するものを探索するか?/[P322 method] (R6.txt版)は、ランダム的な入力値にも有効性ありかと?いえるか?/GPUマイニングをもっと意味があるものにできるか?/未来を予想するマイニングとかね!/なんだか、パスワードハッキング的な動きにもみえてしまうが、、、/
---
[5]
TODO/or/to be continued...
---
[1] R6.txt 絡みで、地道に微力ながら、進行中であるが。最近、BTC の Mining の内容をチェック。ノンス(nonce)値の生成パターンを若干見、H/sの改善として [P322 method]の適用(応用)を夢想する日々。BTC を投資対象としてではなく、Mining 行為そのものに興味があった。Youtubeにも GPUマイニングの紹介があったりして、食指をのばされたが、今はトーンダウン。目的がBTC等の暗号通貨の入手ならば、設備投資分の資金で直接購入した方が早いという感。
---
[2][P322 method] (R6.txt版)の最終ゴールへのプロセスとは別に、本method(途中実装)の有効性を検証するために、入力に複数値(テキスト/or/文字列)が混在したものを予想するため、sha256等のハッシュ関数を利用する。出力した固定長ビットを変換し、同methodの入力データとする。入力データとしては、日経平均などの元ネタ(数値のみ)をテキストとして、取り込むことも考えられるが、ここでは、新聞の一面記事のタイトルを最低30日分集めて、31日目のハッシュ値を予想データグループ内に存在するかまでをチェックする。
---
[3]今、実装している[P322 method] (R6.txt版)の制約条件としては、[P322 method(input=(7個/回, 43進数/個, R6.txt), output=(30+1回目予想))]なので、sha256出力のハッシュ値も、強引に、この制約に合わせる必要がある。なお、sha256を使用するかは、この段階では決定していない。
---
[4]30+1回目で予想したハッシュ値から、何を収穫するか?/予想されるタイトルの単語+αで、ハッシュ値を生成して一致するものを探索するか?/[P322 method] (R6.txt版)は、ランダム的な入力値にも有効性ありかと?いえるか?/GPUマイニングをもっと意味があるものにできるか?/未来を予想するマイニングとかね!/なんだか、パスワードハッキング的な動きにもみえてしまうが、、、/
---
[5]
TODO/or/to be continued...
登録:
投稿 (Atom)