自分の資産は目減りする?

はじめに

簿記2級の勉強をしていて、「自分のできることって資産だよなー」って思いました。

資産ってことは時を経るごとに価値は目減りしていくのでは?と思ったものの、 時間をかけて身に付けたスキルは、年を取るごとに成熟していってより高い価値を提供できることもありますし、ある日突然価値のないものになったりすることもあります。

自分はどんな武器を持っているのか。それはどれくらい価値があるのか。そしてどう把握するか。 経理処理と同じように捉えてみるとどうなるのか、を書いてみます。

できることを資産と捉えたら

今、自分ができることになったことを「A」とします。
「A」は自分の中の「固定資産」であると仮定した場合、「ある時点での資産価値はいくらか?」を把握する必要があります。

資産は時間を経るごとに価値が目減りしていくからです。

目減りする理由

なぜ時間を減ると目減りするのでしょうか?

  • 「A」ができる人が増え、自分じゃなくてもよくなる
  • よりよいやり方「A'」が編み出され、「A」が古くなる

といったことが考えられます。

ブルーオーシャン(競合相手のいない)の領域であれば、早々価値は落ちないかもしれませんが、ここでは落ちるものとして考えます。

どう目減りする?

残存簿価

「A」の価値は、取得するのにかけた経費で計算します。

100,000円かけて「A」ができるようになった場合、「A」の価値は100,000円となります。 この時の価値を「残存簿価」と言います。

ただ、「お金を出したらすぐに何かができるようになった!」ということはそうそうありません。 何かができるようになるには時間が必要です。 このかかった時間をどのように金額に換算するかというのが非常に難しいところだと思います。

減価償却

「A」を取得するのにかけた経費は決められた期間で配分していきます。 これを「減価償却」と言います。

耐用年数

「A」が人間OSに搭載しているソフトウェアと仮定してみましょう。 ソフトウェアは最長5年間で配分します。 この配分の期間を「耐用年数」と言います。

耐用年数は固定資産の種類ごとに決まっていて、 国税庁の耐用年数表に記載があります。

ちなみに生物も耐用年数が決まっています。 故事成語に「桃栗三年柿八年」とありますが、耐用年数にすると「桃樹15年、くり樹25年、かき樹36年」だったりします。

こんなふうに償却します

取得価額=100,000円、耐用年数=5年で経費配分すると、毎年20,000円の配分(減価償却)となり、配分した額だけ残存簿価は減ります。

タイミング 減価償却 減価償却累計額 残存簿価
0 - 0円 100,000円
1年後 20,000円 20,000円 80,000円
2年後 20,000円 40,000円 60,000円
3年後 20,000円 60,000円 40,000円
4年後 20,000円 80,000円 20,000円
5年後 19,999円 99,999円 1円
6年後 0円 99,999円 1円

これが5年間行われ、耐用年数が到来してもまだ使う場合は残存簿価は1円とし、それ以降は償却がされません。 もう経費は発生せず、「元は取り切った!」という感じでしょうか。


今日はここまで。 続きとして↓を書いていく予定!

  • 目減りしたものを引き上げるには?
  • 資産は定期的にたな卸し
  • 資産は無くならない
  • 資産価値を維持するには

平均値とは?

定義

平均とは観測値の総和を観測値の個数で割ったものです。

wikiより。

なので、観測値が1つのみの場合でも、立派に平均の算出ができます。

例えば…

テストを3人が受けて、点数が以下の場合、

  • A→20点
  • B→30点
  • C→40点

平均は(20+30+40) \div 3 = 30となります。

平均値から読み取れるものは

平均値を求める計算式は、以下の通りです。

平均値  = n個の要素の合計値 \div n

なので、「10人で平均値が30点です。」という時、 確実にわかるのは「10人分の点数の合計が300点」ということまでです。

パターンを考えてみる

10人の得点はいろんなパターンが考えられます。

要素をAとした時、

A= \{ 60,20,40,38,39,20,8,15,20,40 \}

適度にばらついている場合もありますし、

A= \{ 30,30,30,30,30,30,30,30,30,30 \}

「全員30点」という場合もあり得れば、

A= \{ 0,0,0,0,0,0,0,100,100,100 \}

「3人が100点、残り7人が0点」ということもあり得えます。

つまり、平均値だけではわかることは意外と少ないのです。

逆に言うと、平均値にだまされるな、ってことですね。

やる気になれないタスクに打ち勝つ

やる気が起きないことってありますよね?

割と自分は仕事を好きでやってる人ではありますが、 どうしてもやる気にならないタスクだってあります。

熱中したくなることは自分でも驚くくらい時間を忘れてやりこめる。

その一方、やる気が起きないことはやらないといけないのだけれど、 そもそもやる気が起きないから手を付けるのも何となく嫌。

そうしているうちに。。。

手を付けずに1日が終わってしまう。 明日は少しはやる気になるだろう、と明日に希望を持つ!

が、やる気にあふれた明日はだいたい来ない。

対応策

「やる気になれない」とわかっていれば、手の打ちようはあるわけで、そんな時の対応策。

自分の特性として、「やる気になれない」ものを「ちょっとやる気にする」にレベルアップさせるのは難しいとわかってるので、そこには手を入れない。

短く刻む

10分やったら、他の細かいタスクに切り替えて、気晴らしした後に戻る。

気晴らしの方が長くなってしまう難点もある。。。

協力者を作る

誰かに白羽の矢を立て、一緒に進めてもらう。巻き込んだ以上、進めざるを得なくなる。。。

誰かに押し付けるやってもらう

いや、まぁ、スキルもやる気も適材適所ってありますし。。。


短く刻んで、気晴らしもいっぱいやってたら、 やる気にならないタスクが終わった頃には、気晴らしタスクの方もやたら進んだこともあったねぇ( ̄▽ ̄)

最小公倍数・最大公約数を求める(その2)

前回の続き。

615の最小公倍数・最大公約数を求めます。

考えたアルゴリズム

要素の数が2つなら、最大公約数と最小公倍数の関係*1から、どちらかを求めればもう一方は算出できます。

が、今回は、2つ以上としているのでそうはいきません。

プログラミングでの実装しやすさも踏まえて、以下の手順としました。

  1. 各要素の値ごとに、素因数分解
  2. 素数リストの各値について、素因数分解した結果から指数を並べる
  3. 最小公倍数・最大公約数の計算

各要素の値ごとに、素因数分解

6を素因数分解

6 = 2^{1} \times 3^{1}

15を素因数分解

15 = 3^{1} \times 5^{1}

素数を覚えていれば楽だけど、プログラミングの時には先に何が素数かを求めるべきか否か?

また、素因数分解もどういう手順で考える必要あり。

次の手順で指数を並べるので、通常は指数が1の時は1を省略するけれど、敢えて省略せずに記載しました。

素数リストの各値について、素因数分解した結果から指数を並べる

なので、615を1つの表とする時には、2,3,5素数リストとなります。

で、指数を並べると以下の通り。

素数
6を展開
15を展開
2 1 0
3 1 1
5 0 1

最小公倍数・最大公約数の計算

素数ごとの指数の最大値、最小値を計算。

615の場合だと、指数は01しかないですが。

素数
6を展開
15を展開
指数の最大値
指数の最小値
2 1 0 1 0
3 1 1 1 1
5 0 1 1 0
  • 最小公倍数→(素数×指数の最大値)の積
  • 最大公約数→(素数×指数の最小値)の積

なので、以下の通り求められます。

最小公倍数

2^{1} \times 3^{1} \times 5^{1} = 60

最大公約数

2^{0} \times 3^{1} \times 5^{0} = 3

次回、実装編。

*1:正の整数 a,bに対して,それらの最大公約数をg,最小公倍数をlとおくと a \times b = g  \times l

最小公倍数・最大公約数を求める(その1)

はじめに

数学ガールの秘密ノートを読んでいて、わかってたつもりがわかってなかったり、 「具体的にどういうことなの?」ってのがあいまいなままの理解だったり。 そこで流すのももったいないなぁ、ってことで、それをさらにプログラムで実装してみる、 ということをいくつかやってみようかと。

で、その一つが最小公倍数、最大公約数を求めること。

命題

n個の自然数の集合をAとする。(n \geqq 2

Aについて、最大公約数と最小公倍数を求めよ。

なお、Aの各要素の値は全て異なるものとする。

最小公倍数とは

Wiki:最小公倍数

0ではない複数の整数の公倍数のうち最小の自然数をさす。

公倍数は「2つ以上の整数に共通な倍数」。

例えば、2,3の公倍数は-18,-12,-6,0,6,12,18などである。ただし、算数では、倍数に0を含めないので、公倍数にも0を含めない。

最大公約数とは

Wiki:最大公約数

少なくとも1個が0ではない複数の整数の公約数のうち最大のものを指す。

公約数は「2つ以上の整数に共通な約数」。

例えば、 12と15の公約数は 12と15の最大公約数3を求め、最大公約数3の約数1,3となる。

求め方

実装の前に、そもそもどうやって求めてるんだっけ?を整理。

まずはAがこの場合。

 A \left\{ 6,15 \right\}

各要素を素因数分解をして、素因数分解の結果の積集合(どっちにも含まれる)の積が最大公約数。

和集合(どちらかに含まれる。重複は除外)の積が最小公倍数として求められそう。

素因数分解してみる

6=2\times3

15=3\times5

求める

積集合(どっちにも含まれる)の3が最大公約数。

和集合(どちらかに含まれる)ものの積2\times3\times5 = 30 が最小公倍数。

実装への課題

素因数分解の結果を一時的に保持する際に、素因数として登場する素数は同じものが並んでいた方が 処理はしやすそう。

6=2^{1}\times3^{1}\times5^{0}

15=2^{0}\times3^{1}\times5^{1}

n^{0}=1だし。