2020/08,江端さんの技術メモ

を見て、コーディングしてみたのですが、全然思うような結果になりません。

サンプル数を増やすと、どんどん0に近づいていくんだけど(そりゃそうだ)、サンプル数を減らした方が、2越えは発生するけど、解説の内容と会いません。

以下のコーディングで致命的に変な点があったら、どなたかご教示下さい。

package main

import (
	crand "crypto/rand"
	"fmt"
	"github.com/seehuhn/mt19937"
	"math"
	"math/big"
	"math/rand"
	"time"
)

type Scratch_Card struct {
	 UpperLeft  int64
	 LowerLeft  int64
	 UpperRight int64
	 LowerRight int64
}

var sc Scratch_Card

func main() {
	//計算開始日時
	started := time.Now()

	//乱数の設定
	seed, _ := crand.Int(crand.Reader, big.NewInt(math.MaxInt64))
	rng := rand.New(mt19937.New())
	rng.Seed(seed.Int64())


	for k := 0; k < 1; k++ {

		var pattern1_count, pattern2_count, pattern3_count, pattern4_count int64;
		var pattern1_sum, pattern2_sum, pattern3_sum, pattern4_sum 		   float64;
		var rightCat,rightPattern int64
		var leftCat,leftPattern int64




		//fmt.Println(sc.UpperLeft,sc.UpperRight)
		//fmt.Println(sc.LowerLeft,sc.LowerRight)
		//fmt.Println()


		for i := 0; i < 400; i++ {

			// スクラッチカード1枚を作る
			sc.UpperLeft  = rng.Int63()%2
			sc.LowerLeft  = rng.Int63()%2
			sc.UpperRight = rng.Int63()%2
 			sc.LowerRight = rng.Int63()%2


			// スクラッチカードの左側を削る
			if rng.Int63()%2 == 0 {   // 上を削ることになった
		  	   leftPattern = 0	      // 左上が削られたことのフラグ
		   	   leftCat = sc.UpperLeft // 左上のネコがスクラッチから表われる
			} else {                  // 下を削ることになった
		   	   leftPattern = 1	      // 左下が削られたことのフラグ
		   	   leftCat = sc.LowerLeft // 左下のネコがスクラッチから表われる
		    }

		    // スクラッチカードの右側を削る
		    if rng.Int63()%2 == 0 {    // 上を削ることになった
		       rightPattern = 0	       // 右上が削られることになったフラグ
		       rightCat = sc.UpperRight// 右下のネコがスクラッチから表われる
		    } else {                   // 下を削ることになった 
		       rightPattern = 1        // 右下が削られることになったフラグ
		       rightCat = sc.LowerRight// 右下のネコがスクラッチから表われる	   
		    }

		    ////////////////////

		    // ○○
		    // ××

		    if leftPattern == 0 && rightPattern == 0 {
		        pattern1_count += 1      // パターン1の回数の加算
		   
		       if leftCat == rightCat { // マークが同じ
		   	      pattern1_sum += 1
		       } else {                 // マークが違う 
		   	       pattern1_sum -= 1
		       }
		    }

		    // ××
		    // ○○
		    if leftPattern == 1 && rightPattern == 1 {
		       pattern2_count += 1   // パターン2の回数の加算   
		   
		       if leftCat == rightCat { // マークが同じ
		   	      pattern2_sum += 1
		       } else {                 // マークが違う 
		   	       pattern2_sum -= 1
		       }
		    }

			// ×○
			// ○×

		   if leftPattern == 1 && rightPattern == 0 {
		       pattern3_count += 1  // パターン3の回数の加算   
		   
		       if leftCat == rightCat { // マークが同じ
		   	      pattern3_sum += 1
		       } else {                 // マークが違う 
		   	       pattern3_sum -= 1
		       }
		    }

   		    // ○×
		    // ×○

		   if leftPattern == 0 && rightPattern == 1 {
		       pattern4_count += 1  // パターン4の回数の加算   
		   
		       if leftCat == rightCat { // マークが同じ
		   	      pattern4_sum += 1
		       } else {                 // マークが違う 
		   	       pattern4_sum -= 1   
		       }
		   }
	   }

	   fmt.Println("pattern1_count ", pattern1_count, "pattern1_sum", pattern1_sum)
	   fmt.Println("pattern2_count ", pattern2_count, "pattern2_sum", pattern2_sum)
	   fmt.Println("pattern3_count ", pattern3_count, "pattern3_sum", pattern3_sum)
	   fmt.Println("pattern4_count ", pattern4_count, "pattern4_sum", pattern4_sum)

	   var pattern1_ave,pattern2_ave,pattern3_ave,pattern4_ave float64

	   pattern1_ave = pattern1_sum / float64(pattern1_count)
	   pattern2_ave = pattern2_sum / float64(pattern2_count)
	   pattern3_ave = pattern3_sum / float64(pattern3_count)
	   pattern4_ave = pattern4_sum / float64(pattern4_count)
		
	   fmt.Println()

	   fmt.Println("pattern1_ave ", pattern1_ave)
	   fmt.Println("pattern2_ave ", pattern2_ave)
	   fmt.Println("pattern3_ave ", pattern3_ave)
	   fmt.Println("pattern4_ave ", pattern4_ave)

	   fmt.Println()
	  }

	//計算終了日時から計算開始日時を差し引いて、経過時間を出力
	fmt.Println("Elapsed: ", time.Now().Sub(started))
}

2020/07,江端さんの技術メモ

以前、書いていた投稿を編集しなおして、その編集の最新日時にしたいというニーズは、私の中では結構高くて、色々なプラグインを入れて試していたのですが、上手く動きませんでした(多分、phpファイルをいじっているからだろうなぁと思っていますが)

とこが、気がつかなったのですが(あるいはWPがバージョンアップしてできるようになったのか?)、今、WP5.5ではこの機能があることに気がつきました。

結構盲点だったので、メモしておきます。

以上

2020/08,江端さんの忘備録

「やはり俺の青春ラブコメは間違っている完」の第6話は、やはり、このセリフに付きるのではないでしょうか。

I guess the sixth episode of "My Youth Romantic Comedy is Wrong,As I Expected -- Final" comes down to this line

『なんだぁ!、この陽キャの承認欲求と刹那な快楽主義を満たす為だけに存在している、悪魔のイベントはぁ!?』

"What the hell! The devil's event, which exists only to satisfy the approval needs of yhou-cya(cheer persons) and to fulfill a momentary hedonism !?"

『こんなものを礼賛する奴は、大体、大学に行った時、「ウチの高校、プロムってのがあってさぁ」などと、イベサーで語り草にすることによって、あたかも自分が高校時代から、「陽キャ、ウエーィ」なものであったと、過去の・・・(聞き取れなかった)』

"Anyone who appreciates this stuff is undoubtedly, when they go to college, by telling stories in the event circle such as, "My high school has a prom", they act as if they have been a "jovial Yeeeeeee" since high school. They are going to try to pretend to be something they were...."

(# どうでも良いが、彼のセリフは本当に翻訳しにくい)

うん、よく分かる。

Yeah, I can see that.

本当に、プロムナードなどという、おぞましイベント・パーティーの風習が、我が国になくて良かったと思う。

Truly, I'm glad we don't have such a horrific event/party tradition as the Promenade in our country.

プロムが、アメリカの青春映画やテレビドラマの中で度々重要なイベントとして登場しているのを見ると、

When I see prom as a frequent and important event in American coming-of-age movies and TV dramas,

その時ばかりは、「あの国に生まれてこなかった幸せ」を噛み締めることができます。

I can deeply realize how lucky I am that I was not born in the US.

-----

ところで、彼の言う「アンチ・プロム」ですが、これは言葉のあやではなく、存在しているイベントのようです。

By the way, he says "anti-prom" but this is not a figure of speech, it seems to be an event that exists.

WikiPediaによると、

According to WikiPedia, the

『プロムはそのフォーマルな様式や人気者(主としてジョックやクイーンビー)だけが目立ちやすいイベント構成のため、一部の生徒から反発を受けており、反対集会「アンチ・プロム」(Anti-prom)が有志の生徒たちによって、しばしば開かれている』

'The prom has been opposed by some students because of its formal style and because it is an event in which only the most popular people (mainly jocks and queensbys) are likely to stand out, and opposition rallies "anti-prom" (anti-prom) are often held by volunteer students.'

とのこと。

-----

私は、ティンーンエイジャの時に、今で言うところの「陽キャ」と「陰キャ」の時代の両方を経験しております。

I have experienced both the "yhou-cya(cheer)" and "yin-cya(nerd)" era so-called, for my teenager.

私が、「陽キャ」として振る舞うことができたのは ―― 自分自身で「プロム」のようなイベントを自分で企画・立案・運営することができた時だけであり、

The only time I've been able to act as a "yhou-cya" -- when I've been able to plan, organize, and run events like "prom" on my own.

それ以外の時、例えば、私以外の誰かが企画した「プロム」のようなイベントに対しては、『巻き込まれるのは、まっぴら御免』という立ち位置でした。

At other times, for example, when it came to events like the prom, which was organized by someone other than me, my position was, 'I'm not going to get involved.

まあ、これを一言でいえば、―― 「身勝手」です。

Well, if I had to sum this up in one word -- "selfish".

ただ、「陽キャ」と「陰キャ」のどちらの立場も経験した身の上のおかげで、「陽キャ」と「陰キャ」のどちらも気持ちも、そこそこ分かる人間にはなれたと思います。

However, thanks to my personal experience of being both "yhou-cya" and "yin-cya", I think I've become a person who can understand the feelings of both "yhou-cya" and "yin-cya" to a certain extent.

つまり、「人間は、本質的に理解しあえない生き物である」ということと、それが故に「人間を可制御対象として取り扱うことはできない」ということを ――

In other words, "humans are essentially creatures who don't understand each other," and therefore "we can't treat them as controllable objects"

私は、かなり若い頃から知っていた、と思っています。

I've known about it since I was quite young, I think.

2020/08,江端さんの技術メモ

新規投稿を追加しようとすると、何を記入しようとしても「このブロックでエラーが発生したためプレビューできません」がでてきて、何もできなくなりました。

で、Webで調べたことを片っぱしから試してみたのですが(ブラウザのキャシュをクリア、wp-config.phpを修正しJavaScript連結を無効化する)、まったくダメダメでした。

原因を考えてみると、「昨日、WordPressのアップデートがあったなー」と思い、"WP Downgrade | Specific Core Version"というプラグインを入れて、WordPressのダウングレードを実施したのですが、状況が悪化しました

過去の投稿の編集画面が真っ白になって、何もできなくなりました。

で"WP Downgrade | Specific Core Version"を使って、元のバージョンに戻したのですが、別段状況が改善されている訳ではありません。

で、すったもんだしているうちに、どうやら、私が使わせて頂いているテーマ(Luxeritas, Luxeritas Child Theme)のバージョンが関係していそうだということが分かってきました。

FFFTPとか使って、いろいろ小手技(ファイルの入れ替え)とかやったのですが、全くダメだっだので、テーマの強制インストールを実施しました。

ここから、「本体」と「子テーマ」をダウンロードする。

でもって、「外観」→「テーマ」→「新規追加」→「テーマのアップロード」で

さきほどダウンロードしたファイルを、それぞれインストールする。

「すでにダウンロード済み」と言われれるが、構わずインストールを強行する。

で、理由は分からんけど、これで問題が発生しなくなりました。

まあ、釈然としないけど、WordPressのバージョンアップは、結構なリスクがあるので、これからは消極的に対応するようにします。

2020/08,江端さんの忘備録

昨日の日記で、

In yesterday's diary,

『どんなに、英語を勉強しても、何度、外国に出張しようとも、国際学会で発表をしてこようとも、どうしても「英語に愛されない人間」がいるように ――』

"No matter how many times I study English, no matter how many foreign trips I take, no matter how many international conferences I present at", they are in vain. And there will always be someone who will never be loved by English."

と、私にしては珍しく自虐・・・もとい、謙虚な発言をしていました。

And as for me, I was unusually self-deprecating...or rather, humble in my remarks.

実は、これには理由がありました。

Actually, there was a reason for this.

-----

先日、「最近の学会発表が、ほとんどがビデオ会議形式か、ビデオクリップで行われている」というお話しました。

I mentioned the other day that most of the conference presentations these days are either in video conference format or in video clips.

先日、私、このビデオを作成する為に、上長の許可を貰って、出社して、ずっと発表用ビデオクリップを自撮り作成していたのですが、

The other day, I got permission from my supervisor to come into work to make this video clip, and I've been making a selfie video clip for my presentation for a long time.

―― その英語の内容、特に私の英語の「発音」の酷さに、愕然としました

"I was appalled at the awfulness of the English content, especially my "pronunciation" of the English language"

「この発音からは、元の単語に辿りつくことは、到底不可能」と断言できるレベルで、

It was awful enough to assert that "it is impossible to trace the original word from this pronunciation.

『もはや、これは、私の主張する「日本英語」ですらない』という酷さでした。

This is no longer even 'Japanese English' as I claimed.

-----

すでに、「「英語に愛されないエンジニア」の為の新行動論」の連載は、終了しております。

I have already completed a series of articles on "The New Behavioral Theory for Engineers Not Loved by English".

そこで、今、私は、番外編の執筆に着手したいと考えております。

But now I want to start writing an extravaganza.

内容は、

I hope the contents will be

『自分の英語は、他人に勝手に評価させておき、無視すれば良い』

"Let others evaluate your English and ignore them"

『自分の英語は、絶対に、自分でレビューしてはならない』

"Never review your own English absolutely"

としたいと思っています。

2020/08,江端さんの忘備録

最近、嫁さんの依頼を受けて、嫁さんの親戚に物品を送付しています ―― Amazonを使って。

Recently, I have been sending items to my wife's relatives at her request -- using Amazon.

配送先を、その親戚宅にするだけなので、めちゃくちゃ簡単。

All I have to do is make the delivery to that relative's house, which is too easy.

-----

―― 自分でAmazonに注文すればいいんじゃないの?

"Why don't they just order from Amazon yourself?"

という人は、ITリテラシーの格差というものを、本質的に分っていません。

People who say that, are essentially unaware of the IT literacy gap.

これは単なるジェネレーションギャップの話ではありません。

This isn't just about the generation gap.

本質的に「ITを受けつけない人間」の存在を理解していないのです。

Essentially, they don't understand the existence of "people who don't accept IT".

私の試算では、今後、どれだけ月日が経過しようとも、労働人口の13%の人間は「メールを使えません」。

ネットコマースを受け付けない人は、もっと高い比率で存在すると思います。

I think there is a higher percentage of people who do not accept online commerce.

ネット詐欺の相談にいった警察署では、「ネットで買い物なんて怖くてできない」いう警察官に対応されて、愕然としたのを覚えています。

I remember being stunned that when I went to a police station to consult on an online scam, the policeman said "I'm too scared to go shopping on the Internet".

消費者センターの電話窓口のおばさんは、ネットビジネスどころか、ネット通販すら理解していない有様でした。

The lady on the phone at the consumer center didn't even understand online shopping, and online business.

それ故に、

Therefore, we have to think that

『彼らが悪いのではない。世の中とは、そういう比率の構成になるのである』

"It's not their fault. The world is made up of such proportions"

と考えなければなりません。

どんなに、英語を勉強しても、何度、外国に出張しようとも、国際学会で発表をしてこようとも、どうしても「英語に愛されない人間」がいるように ――

No matter how many times I study English, no matter how many foreign trips I take, no matter how many international conferences I present at, they are in vain. And there will always be someone who will never be loved by English.

-----

逆に考えれば、これは、ある種のビジネスチャンスでもあります。

On the contrary, this is a business opportunity of sorts.

ネットコマースは、「人間のインターフェース」を切り捨てることによって、成長してきました。

Online commerce has grown by devaluing the "human interface".

ならば、そこを積極的に拾っていくビジネスは、十分成立しうるはずです。

Then the business of aggressively picking up the pieces there should be viable.

-----

ただ、このビジネスの対価は「金銭」じゃない方がいいな ―― と漠然と思っています。

But I'm vaguely aware that the price of this business shouldn't be "money".

「孫娘/孫息子を、交際相手として紹介して貰う」

"Get them to introduce me to their granddaughter/grandson as a potential mate"

「町内会の役員を免除して貰う」

"Exempt from the town board"

「時々、夕食をご馳走して貰う」

"treat me to dinner"

というような、「金銭」では解決できない価値に対して、使う方がいいと思います。

I would prefer to offer this service for values that cannot be solved by "money".

2020/08,江端さんの忘備録

「ポテトサラダ」や「冷凍餃子」を手抜きであると批難した人がいる ―― というニュースを読みました。

I read the news that an old man blamed the purchase of "potato salad" or "frozen dumplings" for being "corrupt" -- that's what I read.

まあ、この手の話については、これまでも私は、色々なことを言ってきました ―― それは、もう山ほど。

Well, I've said a lot of things somethings.

過去の日記に書いたつもりだったのですが、

I meant to write the following in a past diary.

■お前は、手の抜かずに、釜と薪でコメを炊いていろ

- You'll be cooking rice with a cauldron and wood, without cutting corners.

■お前は、手の抜かずに、紙とペンを使わずに、竹簡(ちくかん)に文字を刻んでいろ

- You should be carving letters on a piece of bamboo without using a pen and paper, without cutting corners.

が見つかりませんでした。誰か見つけたら私に教えて下さい。

However, I could not find them. If you find it, please let me know.

という訳で、もう、この話はこれ以上はしません。

So, I won't talk about this any more.

-----

私は自分の経験上、料理するコスト(時間と金額)に対して、その完成品の品質が線形関係にならない料理というのがあります。

In my experience, there are certain dishes that do not have a linear relationship between the cost of cooking (time and money) and the quality of the finished product.

それには「ポテトサラダ」「餃子」が含まれるのは言うまでもありません。

Not to mention that this includes "potato salad" and "dumplings".

もちろん、手作りは美味しいけど、調理済みでも十分美味しい ―― 特に最近の品質は「凄い」です。

Of course, homemade is good, but cooked dishes are good enough -- especially these days the quality is "awesome".

それどころか、線形ではなく、逆相関するものすらあります。

On the contrary, they are not linear, and some are even inversely correlated.

「めんつゆ」「コロッケ」「クロワッサン」

"Men-tsuyu", "croquettes", "croissants"

全て私は調理体験のあるものですが、私の中では、これらは「絶対に闘ってはならない調味料/料理」です。

All are things I have experience cooking, these are "condiments/cooking that should never be fought against" in my mind.

これらの調味料や料理は「手作り」をしてはなりません。手作りした瞬間「負け」が確定するからです。

These condiments and dishes should not be "homemade". It is because the moment you make them, your "loss" is fixed.

「コロッケ」「クロワッサン」が、こんなにも安い値段で提供されていることに対して、世界は感謝すべきです。

The world should be grateful that "croquettes" and "croissants" are being offered at such low prices.

-----

まあ、私たち技術者のミッションは、

Well, our mission as engineers is

―― 世界の人々の日常を便利にして、手を抜かせて、人間を堕落をさせること

to "make the world's people's daily lives convenient, cut corners, and corrupt human beings".

です。

ですから、「ポテトサラダ」や「冷凍餃子」を使うことを「手抜き」であると批難した人は、まず私のところに来て下さい。

So, anyone who blames the use of "potato salad" or "frozen dumplings" for being "corrupt" should come to me first.

スーパーで買い物している人を批難するなら、正面切って、まずは、私に「技術者はいらない」を、ロジカルに説明して、私を論破して頂きましょう。

If you're going to blame people who shop at the grocery store, first of all, let me ask you to break me down by explaining to me, logistically, "Ebata is not what the world needs".

2020/08,江端さんの忘備録

『1から、いえ、0から始めましょう』

"Let us go back to square one .... no, bring it back to zero"

というのは、某人気アニメの超有名なフレーズですが、

This is one of the famouse phrase in the most popular animation.

もし、それを知らなければ、私は、

If I have't known it, I came to think

「ああ、C言語の配列に関する、一番最初に指導される注意だな」

"It means the first attention from a mentor about an array descrition of C language

と思っただろうな ―― などと、ぼんやりと考えたりしていました。

so I thought vaguely.

int a[100]

int a[100]

という配列宣言をして、

After calling array declaration, and inputting

a[100」= 123;

a[100」= 123;

と入力して、エラーに気がつかずに、システムダウンさせてしまう、とか。

I don't notice the error and let the system go down, and so on.

-----

文部科学省(というか政府)が力を入れている、プログラミング教育が、今、上手く行っているのは知りません。

I don't know that programming education, which the Ministry of Education (or rather the government) is focusing on, is now doing well.

一つのチェック方法として、こんな方法があります。

One way to check is the following.

子ども達に、『10数えて下さい』という教師の言葉に対して、

In response to the teacher's words to the children, "Please count to ten"

「ゼーロ、イーチ, .... キュウ」と数える子どもの数が、クラスの半数以上を越えれば、

If the number of children counting like, "Zero, One, Two....". exceedes half of the class,

我が国における、プログラミング教育は、「概ね成功」との判断ができると思います。

I believe that programming education in Japan can be judged as a "general success".

逆に、「いーち、にーい、・・・」で始まるようであれば、「まだまだ」である、と言えます。

On the other hand, if they start with "One, Two, ...", then I can say that they are not ready now.