無機野

ここはお前の日記帳

ソローモデルの各パラメーターをいじった時にどうなるか的なやつ

労働節約的なコブダグラス型生産関数:F(K,AL)=(K^a) * (AL)^(1-a)
資本蓄積式は⊿K=sY-δK
政府や海外は存在しない
プログラミングでは微分を扱えない(ことはないだろうけど簡単のため)差分を扱うことに注意すると

# -*- coding: utf-8 -*-
    
import numpy as np
import matplotlib.pyplot as plt

time = 100 #何期までやるか

Y = np.zeros(time) #空きリストの作成
K = np.zeros(time)
L = np.zeros(time)
A = np.zeros(time)
y = np.zeros(time)
k = np.zeros(time)

K[0] = 10 #初期の水準
A[0] = 5
L[0] = 10

a = 0.5 #コブダグラス型生産関数の資本分配率
d = 0.2 #資本減耗率。減価償却率と読み替えても良いかもしれない
s = 0.2 #貯蓄率
g = 0.02 #技術進歩率
n = 0.02 #人口成長率

for t in range(time-1):
    Y[t] = (K[t]**a)*((A[t]*L[t])**(1-a)) #コブダグラス型生産関数
    K[t+1] = s*Y[t] + (1-d)*K[t] #資本蓄積式
    A[t+1] = (1+g)*A[t] #技術進歩
    L[t+1] = (1+n)*L[t] #人口成長
    y[t] = Y[t] / (A[t]*L[t]) #効率労働あたりGDP
    k[t] = K[t] / (A[t]*L[t]) #効率労働あたり資本

plt.subplot(2,2,1) #(縦分割数、横分割数、ポジション)
plt.plot(y,"red")
plt.plot(k,"green")

plt.subplot(2,2,2)
plt.plot(Y,"red")
plt.plot(K,"green")

plt.subplot(2,2,3)
plt.plot(A,"red")
plt.plot(L,"blue")

f:id:moppii:20181023204109p:plain

左上のグラフは効率労働あたりのGDPと資本、右上のグラフは経済全体のGDPと資本
人口成長と技術進歩の天井がないa_{t+1} = (1+n)a_t
ので当然の帰結として経済全体も際限なく成長していく
ただ効率労働あたりの数字は早い段階(25期目あたり)で収束しているのが分かる
このパラメータをいじってみる

定常状態では⊿k=0のため、k*とy*は(生産関数と資本蓄積式を連立して)
 \displaystyle k^*={s/(n+g+δ)}^{1/(1-a)}
 \displaystyle y^*={s/(n+g+δ)}^{a/(1-a)}
と解ける
見て分かる通り、sの上昇、またはnとgとδの減少はkとyの上昇につながる
逆も然り
これを見てみる

# -*- coding: utf-8 -*-
    
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as ani

time = 100 #何期までやるか

Y = np.zeros(time) #空きリストの作成
K = np.zeros(time)
L = np.zeros(time)
A = np.zeros(time)
y = np.zeros(time)
k = np.zeros(time)

K[0] = 10 #初期の水準
A[0] = 5
L[0] = 10

a = 0.5 #コブダグラス型生産関数の資本分配率
d = 0.1 #資本減耗率。(財が1つしかないので)減価償却率と読み替えても良い
s = 0.1 #貯蓄率
g = 0.01 #技術進歩率
n = 0.01 #人口成長率

def solow(a,d,s,g,n):
    for t in range(time-1):
        Y[t] = (K[t]**a)*((A[t]*L[t])**(1-a)) #コブダグラス型生産関数
        K[t+1] = s*Y[t] + (1-d)*K[t] #資本蓄積式
        A[t+1] = (1+g)*A[t] #技術進歩
        L[t+1] = (1+n)*L[t] #人口成長
        y[t] = Y[t] / (A[t]*L[t]) #効率労働あたりGDP
        k[t] = K[t] / (A[t]*L[t]) #効率労働あたり資本

fig = plt.figure()
imgset = []

for i in range(10):
    new = s + i/10
    solow(a,d,new,g,n)
    imgk, = plt.plot(k,color="red") #変数のあとに,つけること
    imgy, = plt.plot(y,color="blue")
    imgset.append([imgk,imgy])
    
animation = ani.ArtistAnimation(fig,imgset)
plt.show()
animation.save("solow_s_yk.mp4", writer="ffmpeg")
#animation.save("solow_s_yk.gif", writer="imagemagick")

gifで保存するなら要imagemagick、mp4で保存するなら要ffmpeg
vimeo.com
↑こんなかんじ、sの上昇とともに効率労働あたりのGDPと資本が底上げされてるのがわかる
vimeo.com
↑こちらはsの上昇による経済全体への影響
以下同様に他のパラメータも動かしてみる

for i in range(10):
    new = d + i/50 #資本減耗率0.1から0.02刻み
    solow(a,new,s,g,n)
    imgk, = plt.plot(k,color="red")
    imgy, = plt.plot(y,color="blue")
    imgset.append([imgk,imgy])
animation = ani.ArtistAnimation(fig,imgset)
plt.show()
animation.save("solow_d_yk.mp4", writer="ffmpeg")
#animation.save("solow_s_yk.gif", writer="imagemagick")

vimeo.com
↑資本減耗率を0.1から0.02刻みで増やしていった場合のyとk
減耗率が高いと資本が減耗(減少)していく様が見て取れる
vimeo.com
↑経済全体でも同様

for i in range(30):
    new = n + i/1000
    solow(a,d,s,g,new)
    imgk, = plt.plot(Y,color="red")
    imgy, = plt.plot(K,color="blue")
    imgset.append([imgk,imgy])
animation = ani.ArtistAnimation(fig,imgset)
plt.show()
animation.save("solow_n_yk.mp4", writer="ffmpeg")

↑人口成長率を0.01から0.001刻みで0.04まで(人口が成長していくのではなく人口成長率そのものが変化していることに注意)
vimeo.com
↑経済全体では急激に(指数的に)成長しているのがわかる、が
↓効率労働単位では逆に減少している(効率労働あたりのGDP資本の成長率<人口成長率 なので)
もちろん人口成長率は技術進歩率に読み替えても同じ
vimeo.com

ところでspyderだとmatplotlib.animationがデフォで動かないので以下参照
python - Animation from matplotlib not working in spyder - Stack Overflow

youtube-dlでDL済み動画を回避しつつ動画を音声データにするっていうやつを自動実行するやつ

最近流行ってるVtuberというジャンルをよく見ている オタクなので
で、これがけっこうお歌うまうま勢が多い
オフライン環境でも快適に聴きたい、できれば面倒くしたくない、そんなtips

諸々の導入

pythonのインストール
おすすめはanacondaだけどyoutube-dlしか使わないのなら単体で適当にアレすればよいのではないでしょうか
macだとデフォで入ってたはず

youtube-dlのインストール
cmd開いてpip install youtube-dl
だと思うたぶん

ffmpegのインストール
これないと動画から音声を剥がせない たぶん
パス通ってるとこに置いとけばいいのかな よく分からん

atomic parslayのインストール
DLした音声にサムネとかタグとかいじるのに必要
使わないなら要らん
chocolatey使ってるならcinst atomicparsley

youtube-dlを使ってみる

ドス窓開いてyoutube-dl url
で大体の動画サイトはいける
もちろんurlはプレイリストでも可

youtube-dl -i -x url
で音声のみ剥がせる
iはエラー無視するおまじない
ただこのままだとopusまたはoggファイルが出力される

音質を考える

ただ動画を音声にするだけだと変換時の音質が気になる
まあyoutubeにアップされてる時点ですべて圧縮されてるのであまり拘っても仕方ないが…ベストはつくしたい所
例として以下の動画を考える
www.youtube.com
右クリックから統計情報を見ると
f:id:moppii:20180921011809p:plain
opus(251)というフォーマットであることが分かる
Youtubeで動画に使用されているコーデック(映像・音声それぞれ)の判別をする方法 - Yuichiro_S の Twitterでは文字数が足りないもの
を参考にするとopusの160kbpsらしい opusのことよく知らんけど携帯機で聴くには妥当な圧縮率だと思う
ただopusやoggスマホでは再生しづらいのですべてaacに変換してしまう

youtube-dl -f bestaudio https://www.youtube.com/watch?v=ZtTQ_pI-cCw
でDLすると映像なしのwebmがDLされる
mediainfoで確認するとやはり音声はopusであったがなぜかビットレートは表示されない
ファイルが237秒 3857KBなので3857*8/237≒130で128kbpsくらい?アレ?160kbpsじゃないのおかしくね?

まあいいや…結局aacにするので拡張子を指定すると
youtube-dl -f bestaudio[ext=m4a] https://www.youtube.com/watch?v=ZtTQ_pI-cCw
でDLされるファイルを確認すると126kbpsとなる
ファイルサイズは3.72MB
変な変換してファイルサイズが無駄にでかくなるとかもないのでこれで妥当っぽい

サムネとタグを付ける

youtube-dl -f bestaudio[ext=m4a] --embed-thumbnail --add-metadata "url"
これでサムネとタグが仕込まれる
先述の通りatomic parsleyとかいうよくわからんアレが入ってないとエラーが出るので注意

DL済み動画を回避する

youtube-dl --download-archive ほげほげ.txt "url"
というオプションでほげほげ.txtに保存済み動画がリストされる
つまり毎回同じプレイリストを指定しても保存済みは回避してDLできる
というわけで
youtube-dl --download-archive ほげほげ.txt -f bestaudio[ext=m4a] --embed-thumbnail --add-metadata "DLしたいプレイリストのurl"
あたりが妥当ではないでしょうか
リストを開くと
動画サイト 動画ID
みたいな感じで羅列されていく
例:
f:id:moppii:20180921032039p:plain

DLするプレイリストをまとめる

毎回URLを指定するのはクソ面倒なのでリストにまとめておきましょう
youtube-dl -a ふがふが.txt
でtxt内のurlが一度にDLされます
つまり追ってるチャンネルの再生リストのURLをテキストファイルにまとめてパス通ってるとこに置いておいてこのコマンド指定すればOK
youtube-dl -i --download-archive ほげほげ.txt -f bestaudio[ext=m4a] --embed-thumbnail --add-metadata -a ふがふが.txt
たまに何故かDLできない動画があるので-iは入れといたほうがいい

batファイルに書いておく

notepad開いて
youtube-dl -i --download-archive ほげほげ.txt -f bestaudio[ext=m4a] --embed-thumbnail --add-metadata -a ふがふが.txt
保存して拡張子を.batにすればクリックひとつで実行される
必要なら最初の行でディレクトリを変更しておく

まとめ

ふがふが.txtにDLしたいプレイリストのurlを羅列しておく
それをcmdを実行する場所に置いておく
cd 適当なディレクト
youtube-dl -i --download-archive ほげほげ.txt -f bestaudio[ext=m4a] --embed-thumbnail --add-metadata -a ふがふが.txt
をbatファイルにしておいて定期的に実行する

これでDLできない動画は知らん

追記:
youtube-dl最新版使ってもDLできないやつあったので以下参考に修正版のアレをpipでアレしたらDLできるようになった
https://github.com/rg3/youtube-dl/issues/17457
個別にインストールしなくても最新版に反映されてるはずじゃ・・・?よくわかんね

麻雀のルール改良案

現行のルールはあまりにも複雑すぎる
麻雀が普及していく中でルールを統一する機会を逃した結果論理的な合理性もなくゲームの面白さに寄与しない歴史的な経緯だけ残った


現行の問題点(とおれが感じていること)
・初学者に対して不親切
覚えることがあまりにも多すぎる

・そもそも整合性がないルールが残っている
ちょっと違うけどブラックジャックのインシュランスとか通常のルールではまず使わないじゃんみたいなやつ
明槓をする局面があまりにも限られすぎる
あと符計算とか

・複雑さがゲームとしての深みに寄与していない
複雑さはゲームとしての深みの必要条件ではない

・運の要素が強すぎる
運と技術の適切な塩梅から明らかに逸脱している
実力を見るのに最低1000半荘は必要など正気ではない


改良案
・点数計算の簡素化
符計算を廃止して子100020004000800親15003000600012000に統一
ピンフ七対子のすり合わせが必要かもしれない

・役の調整
正直ここはあまり弄りたくない
飜数の調整、いくつかのローカル役の追加、
カンは明槓暗槓問わず1ハン、即ノリ(廃止する符計算とのすり合わせ)

・リーチ後放銃のツモ扱い
リーチ後放銃が大きすぎる運要素の要因と思われる
ツモ扱いとすることで実力ウェイトを上げる
牌がすべて見えている、手で使い切っている等の目無しリーチも許可
ノーテンリーチの罰則の強化(放銃時の支払い増額等)
このままだとリーチが強すぎるので一発裏無し、そもそも一発裏も強すぎる運要素

・赤アリ、アリアリ
現代的なスピード麻雀に対応する
まあこのへんは好みの問題でもある

・食い変えアリ、リーチ後のカン常にアリ
ここらへんは初学者にとって余計に覚えないといけないルールなのでいっそのこと廃止する
そもそもルールを把握するのにスジの理解が必要なのは不親切
また技術介入の余地も上がる

・牌の誤倒の罰則化
誤倒の度に各プレイヤーに1000点ずつ支払いなど
ただこの辺は牌を見るまたは見せるコストになりかねないので難しい

・競技での対局時計の導入


ここらへんがいい塩梅か
ゲームに参加するために最低限身に着けないといけない知識を減らし、必須ではないもののゲームに勝利するために考慮すべき思考を増やす方向がいい
シンプルなルールはゲームの奥行きと相反しない、例としてどうぶつタワーバトル

ポーカーくらい役がシンプルだと一番いいけどあれは手が5枚のみだからできること
麻雀もいっそのこと手を減らすことも考えられる(すずめ雀など)けど既存のルールと乖離しすぎる

Mリーグのルールはまだ発表されてなかったと思うけどあれはどんなルール採用するんだろうね

ノートPC激アツ問題

lenovoのmiix720使ってるけどi7なのでかなり熱い、夏場だし
バッテリー設定からCPUのパフォーマンス66%とかにしたら熱いのは収まってぬるいくらいになったしバッテリーも倍くらい保つようになったし最高や
i7なんていらんかったんや

追記:win10デフォでオンになってるっぽいゲーム録画うんたらかんたらみたいなやつコンパネから切るだけで相当よくなった
ゲームしようがしてまいがいつ何時巻き戻って画面キャプチャできるように常時録画してるっぽい?
cpu自体はつよつよなので別に負荷がかかってるわけではないけどとにかく発熱がやばい
特に使う機能でもないので切ると吉

スルツキー方程式の導出

通常の効用最大化は
\displaystyle \max~~u(\vec{x})=なんらかの関数 但しxは財ベクトル
\displaystyle s.t.~~\vec{p}\cdot\vec{x}=m 但しpは価格ベクトル、\displaystyle \vec{p}・\vec{x}内積を意味する 不等号ならKKT条件
また、支出最小化を考えると
\displaystyle \min~~m=\vec{p}・\vec{x}
\displaystyle s.t.~~u(\vec{x})=u uは所与
前者の解を需要関数\displaystyle \vec{x}(\vec{p},m)、後者の解を補償需要関数\displaystyle \vec{h}(\vec{p},u)と呼ぶ。(当然hも財ベクトル)
両者の解は最適点で同一、つまり \displaystyle \vec{x}(\vec{p},m)=\vec{h}(\vec{p},u) となる(双対性)
この場合、\displaystyle m=\vec{p}\cdot\vec{x}(\vec{p},m)=\vec{p}\cdot\vec{h}(\vec{p},u)なのでmは\displaystyle m(\vec{p},u)とかける
つまり \displaystyle \vec{x}(\vec{p},m(\vec{p},u))=\vec{h}(\vec{p},u) となる
\displaystyle i財価格\displaystyle p_i偏微分すると
\displaystyle \frac{d\vec{x}(\vec{p},m(\vec{p},u))}{dp_i}=\frac{d\vec{h}(\vec{p},u)}{dp_i}
\displaystyle \vec{x}\displaystyle \vec{h}はベクトルなので、\displaystyle N財あるうちの第\displaystyle i財について個別に見ると
\displaystyle \frac{dx_i(\vec{p},m(\vec{p},u))}{dp_i}=\frac{dh_i(\vec{p},u)}{dp_i}
左辺\displaystyle =\sum_{j=1}^{J}\frac{∂x_i}{∂p_j}\frac{dp_j}{dp_i}+\frac{∂x_i}{∂m}\frac{∂m}{∂p_i}
※多変数関数の連鎖律 \displaystyle \frac{d}{dx}f(g(x),h(x))=\frac{∂f}{∂g}\frac{dg}{dx}+\frac{∂f}{∂h}\frac{dh}{dx}
これの第1項について、\displaystyle j≠iである\displaystyle \frac{dp_j}{dp_i}については定数に対する微分操作になり=0であり、
また\displaystyle \frac{dp_i}{dp_i}は当然1なので結局
左辺\displaystyle =\frac{∂x_i}{∂p_i}+\frac{∂x_i}{∂m}\frac{∂m}{∂p_i}
これの第2項にある\displaystyle \frac{∂m}{∂p_i}はシェファードの補題より補償需要関数\displaystyle h_i(\vec{p},u)と等しい
※シェファードの補題:支出関数を価格で微分すると補償需要関数が出てくる
(というかそのように支出関数を定義している、支出関数:\displaystyle m(\vec{p},u)=\vec{p}\cdot \vec{h}(\vec{p},u) )
左辺\displaystyle =\frac{∂x_i}{∂p_i}+\frac{∂x_i}{∂m}h_i(\vec{p},u)
右辺と合わせて
\displaystyle \frac{∂x_i}{∂p_i}=\frac{∂h_i}{∂p_i}-\frac{∂x_i}{∂m}h_i(\vec{p},u)
右辺第1項は代替効果、第2項は所得効果

例:2財のみで\displaystyle p_1=20、p_2=30、u(x_1,x_2)=x_1*x_2、m=1200のとき、
効用最大化問題を解くと(中略)\displaystyle x_1=30、x_2=20、u=600
支出最小化を解いても同様に\displaystyle h_1=30、h_2=20
この時第1財の価格がわずかに上昇した時の代替効果と所得効果はそれぞれいくらか
\displaystyle \frac{∂x_1}{∂p_1}=\frac{∂h_1}{∂p_1}-\frac{∂x_1}{∂m}h_1 にあてはめていくと
\displaystyle h_i(p_1,p_2,u):h_1=(\frac{p_2 u}{p_1})^{\frac{1}{2}}
\displaystyle \frac{∂h_1}{∂p_1}=-\frac{1}{2}(p_2 u)^{\frac{1}{2}}p_1^{-\frac{3}{2}}=-\frac{3}{4}
\displaystyle x_1(p_1,p_2,m):x_1=\frac{m}{2p_1}
\displaystyle \frac{∂x_1}{∂m}=\frac{1}{2p_1}
\displaystyle \frac{∂x_1}{∂m}h_1(p_1,p_2,u)=3/4
というわけで代替効果-3/4、所得効果は-3/4
全部効果は\displaystyle \frac{∂x_1}{∂p_1}=-\frac{m}{2}p_1^{-2}=-\frac{3}{2}であり整合的
ちなみにこの第1財は両効果とも負なので正常財
合っとるかは知らん

iphoneで小説を読む

要約:青空文庫のように整形されてない文章、例えばネットに落ちてる怪文書をiphoneで読みたいという場合、i文庫sを購入しましょう
i文庫sは最高

アプリは今のとこkinoppyが読みやすい
ただzipを読み込むとたまに死ぬ
生txtよりもpdfにしといたほうが何かと読みやすいという点では勝る
ではどのように変換するか、google driveのdocsを使う
txtをコピペで読み込み、設定は余白1.5~2cmあたり、用紙サイズlegal、フォントメイリオで文字サイズ20か
これでpdf出力できるので完璧

kinoppyマジでzip読み込むとたまに死んで全部やり直し問題がウザすぎて250円でi文庫s導入
これがまた使いやすくて最高 生txt読みやすいしpdf余白調製あるしついでに青空読めるしもうこれでよい

● 特殊記号使われると表記崩れる問題
→❤が機種依存なので♥に置換、あと”ゔ〰〰〰〰〰〰❤❤❤❤”も機種依存だけどそこまで深刻ではないので放置
utf-8で保存してオールおけー

●i文庫ではzip読み込めん問題
→pic2pdfでpdf化してオールおけー
→でもなぜかfile explorer でftp転送するとpdfがバグる
→sendanywherで送ることで解決 マジでわからん

熾天使をマリガン時デッキ戻しした場合にその後引く確率

タイトル通り
エイラと違って8Tまで持ってても仕方ないので基本戻す

import random as rd
import matplotlib.pyplot as plt
import collections as col

target = 3 #セラフ
others = 40 - target
m = 2 #マリガン枚数
time = 1000000 #試行回数

def mulligan():
    """熾天使をマリガンで戻した場合、何ターンまでに引いてるか。todo キャントリやプリプリの考慮"""
    x = [] #ターゲットが来たターンから成るリスト。0は初手orマリガンで来た場合、それ以外は来たターン。後攻は-1ターンして考える
    for j in range(time):
        deck = []
        hand = []     
        for i in range(target):
            deck.append("t")
        for i in range(others):
            deck.append("o")
        rd.shuffle(deck) #デッキ作成&まぜまぜ完了 
        for i in range(3):
            hand.append(deck.pop()) #マリガン前初手引き
        tnum = col.Counter(hand)
        for i in range(tnum["t"]): #初手熾天使あるならdeckに戻して
            hand.remove("t")
            deck.append("t")
        rd.shuffle(deck)
        for i in range(tnum["t"]):
            hand.append(deck.pop()) #戻した数だけカード引く
        if "t" in hand:
            x.append(0) #初手熾天使が有って、それマリガンで戻してもまた来た場合
            continue  
        for i in range(37): #マリガンしてターゲットが無い場合
            if deck.pop() == "t":
                x.append(i+1)
                break
        
    plt.hist(x,bins=max(x))
    aaa = col.Counter(x)

    totalprb = 0
    for i in range(16):
        prb = (aaa[i]/time)*100
        totalprb += prb
        print(i,"ターン目までにターゲットを引いている確率",totalprb,"%")

mulligan()
print("マリガン",m,"枚")
print(time,"回試行")

0 ターン目までにターゲットを引いている確率 1.7543 %
1 ターン目までにターゲットを引いている確率 9.7392 %
2 ターン目までにターゲットを引いている確率 17.2676 %
3 ターン目までにターゲットを引いている確率 24.321400000000004 %
4 ターン目までにターゲットを引いている確率 31.010200000000005 %
5 ターン目までにターゲットを引いている確率 37.276900000000005 %
6 ターン目までにターゲットを引いている確率 43.1884 %
7 ターン目までにターゲットを引いている確率 48.6363 %
8 ターン目までにターゲットを引いている確率 53.756099999999996 %
9 ターン目までにターゲットを引いている確率 58.5391 %
10 ターン目までにターゲットを引いている確率 62.986799999999995 %
11 ターン目までにターゲットを引いている確率 67.0842 %
12 ターン目までにターゲットを引いている確率 70.90419999999999 %
13 ターン目までにターゲットを引いている確率 74.40259999999999 %
14 ターン目までにターゲットを引いている確率 77.6117 %
15 ターン目までにターゲットを引いている確率 80.5283 %
マリガン 2 枚 熾天使3枚
1000000 回試行
f:id:moppii:20161206164107p:plain

0 ターン目までにターゲットを引いている確率 0.7992000000000001 %
1 ターン目までにターゲットを引いている確率 6.1516 %
2 ターン目までにターゲットを引いている確率 11.3437 %
3 ターン目までにターゲットを引いている確率 16.4056 %
4 ターン目までにターゲットを引いている確率 21.298000000000002 %
5 ターン目までにターゲットを引いている確率 26.0973 %
6 ターン目までにターゲットを引いている確率 30.713900000000002 %
7 ターン目までにターゲットを引いている確率 35.1751 %
8 ターン目までにターゲットを引いている確率 39.5017 %
9 ターン目までにターゲットを引いている確率 43.6909 %
10 ターン目までにターゲットを引いている確率 47.727599999999995 %
11 ターン目までにターゲットを引いている確率 51.61619999999999 %
12 ターン目までにターゲットを引いている確率 55.34459999999999 %
13 ターン目までにターゲットを引いている確率 58.85809999999999 %
14 ターン目までにターゲットを引いている確率 62.27709999999999 %
15 ターン目までにターゲットを引いている確率 65.5645 %
マリガン 2 枚 熾天使2枚
1000000 回試行
f:id:moppii:20161206164440p:plain

実際はキャントリ持ちやプリプリがあるのでもうちょっと早くなる
キャントリについては積んでる枚数多いだろうしターンを読み替えるだけで近似できそうな気はするけどプリプリの影響はでかいのでそういうのも考えないといけない、そのうちやる