未分類

先ずは、オンラインシステムにて提出している政治団体(国会議員関係政治団体名)の一覧です。

衆議院議員篠原孝全国後援会
田城郁後援会
なたにや正義後援会
真政会(石田 真敏)
政策創造研究会
日本国家戦略フォーラム2025
新邦友会
室井邦彦後援会
大島理森政経会
日本維新の会参議院比例区第53支部
宮沢会
YMF経済研究会
鷹之政経フォーラム
島村大後援会
笑顔の日本
頑張れ!ふじすえの会
NHKから国民を守る党近畿支部
自由民主党兵庫県参議院比例区第四十六支部
石田まさひろ政策研究会
一番星
健政会(若林 健太)
新政経研究会
新流会
卓然会
武田良太政経研究会
原口一博後援会
ふるげん未来塾
牧樹会
穂高会
横浜政経懇話会

ーーーーー

さて、ここからは、オンライン提出しなかった団体を、政治家の名前と紐付けて纏める作業を始めてみよう。

ついでに政治家単位でスコアも付けてみよう (オンライン提出無視率 0~100%)。

 

 

未分類

総務省からの手紙がきていました。

「ん・・・『取下げ』?」

ああ、そういうことか。電話で「オンライン不使用団体については、私が自分で纏めます」といったから、「取下げ」扱いになっている訳ですね。

でも、メールで、オンライン使用団体は教えて貰ったから、全然OKです。

疑問点が一つ。この収入印紙300円分は、再利用できるのだろうか? 一応残しておくか。

 

未分類

もう、腹を立てるのも面倒になってきたので、情報開示請求をして、オンライン提出しない政治団体を、全部、実名開示してやろうと思います。

この書類を、300円分の印紙を張って、ここに提出すれば良いみたい

以前、国土交通省に「飛び込み自殺」の人数、時間などについて請求したのですが、すっかり忘れてしまいました。

まあ、書式不備があれば、連絡がくるでしょう。

腹を立てているだけでは、健康衛生上もよろしくないでしょうし。

 

 

 

2021/11,未分類,江端さんの技術メモ

これまでC/C++言語で作ってきたスケーラブルなエージェントシミュレーションを、golangで作りかえようとしています。

これまでもメイン関数に縛られずに、スレッドを自由に動き回すシミュレータは作ってきたのですが、C/C++のスレッドは、いかんせんメモリサイズが大きく、万の単位のエージェントには耐えられないという問題があります。

そんな感じで、golangに乗り換えしているのですが、色々文法が面倒くさいです。

例えば、スレッドの中で作った構造体と通信を行う方法として、go func() で返り値(return)が欲しいと思っていたのだけど、考えてみれば、スレッド化したfunc()は、それが終了するまでreturn値を返す訳ないと気がつきました。

だから,

go func_xxxx()

は、

go i:= finc_xxxx()

もダメだし

i := go func_xxxx()

もダメということで ―― では、スレッドの中の情報にどうやってアクセスすればいいかが、分かりません。

とすれば、スレッド側で送受信機能を持たせることになるのかなぁ、と思って、以下のようなコードを書いてみました。

package main

import (
	"fmt"
	"sync"
)

type BUS struct {
	number int
}

func bus_func(i int, wg *sync.WaitGroup, ch chan int) {
	defer wg.Done()

	bus := BUS{}
	bus.number = i

	pointer_bus := &bus

	fmt.Println(pointer_bus)

	for {
		select {
		case v := <-ch:
			fmt.Println(i, v)
		}
	}

}

func main() {
	var wg sync.WaitGroup
	defer wg.Wait()

	c := make(chan int)

	// バスエージェントの生成 3台
	for i := 0; i < 3; i++ {
		wg.Add(1)

		go bus_func(i, &wg, c)
	}

	// バスエージェントにメッセージを送る

	c <- 50
	c <- 30
	c <- 10

	c <- 50
	c <- 30
	c <- 10

	c <- 50
	c <- 30
	c <- 10

}

ただ、この場合、cチャネルは適当に投げられるので、どのオブジェクトにメッセージに届くか分からないので、もう少し工夫をしてみます。

package main

import (
	"fmt"
	"sync"
)

type BUS struct {
	number int
}

func bus_func(i int, wg *sync.WaitGroup, ch chan int) {
	defer wg.Done()

	bus := BUS{}
	bus.number = i

	pointer_bus := &bus

	fmt.Println(pointer_bus)

	for {
		select {
		case v := <-ch:
			fmt.Println(i, v)
		}
	}

}

//var c = make([]chan int, 3) // 間違い

var c [3]chan int // チャネルをグローバル変数で置く方法の、現時点での正解

// var c []chan int  これは実行時にエラーとなる

func main() {
	var wg sync.WaitGroup
	defer wg.Wait()

	//c := make(chan int)

	// バスエージェントの生成 3台
	for i := 0; i < 3; i++ {
		wg.Add(1)

		c[i] = make(chan int)
		go bus_func(i, &wg, c[i])
	}

	// バスエージェントにメッセージを送る

	c[0] <- 50
	c[1] <- 30
	c[2] <- 10

	c[0] <- 50
	c[1] <- 30
	c[2] <- 10

	c[0] <- 50
	c[1] <- 30
	c[2] <- 10

}

 

未分類

■今週末の成果

- 個体数 100→200に変更
- 30人以下の人間に対応するようにした
- 稼動台数(人件費)を最少にするるように、評価関数を変更した(台数ごとに10kmを加算することにした)

■来週末の宿題
10人乗り、デフォルト3台でいいかな。