今、話題の人工知能(AI)などで人気のPython。初心者に優しいとか言われていますが、全然優しくない! という事を、つらつら、愚痴っていきます

017.(解説)理想的なトップは自然淘汰される

»

初回:2018/11/28

1.トップに求めるもの、求めないもの

 先々週に、トップ記事3連発があり(※1)私も乗っかろうと思ったのですが、別の祭りがまつり状態(※2)だったので見送りました。所が別のトップがまつり状態になっているので、(※3)再びトップのお話を書きたいと思います。

P子「要するに、最初の祭りに乗り遅れただけでしょう」(※4

 それぞれの発言を部分的に切り抜くと、微妙にニュアンス等が変わるので、私が自分の理解した意見としてまとめます。

P子「パクリじゃなくて流用ね」

【トップに求めるもの、求めないもの】
 ・結果や成果物のみ
 ・問題があったときに責任をとる能力
 ・信頼、信用は最低限必要
 ・トップに立つ人間と実務を実行する人間がもつスキルは別物
 ・一般レベルの知識を持っていてほしい
 ・トップに必要なのは技能や知識ではなく覚悟
 ・トップとは安住の地ではなく自分が試され続ける戦場
 ・理不尽を埋め合わせる要素を持ち備えている必要がある
 ・人のことを考えられない人間にトップに立つ資格はない
 ・トップも、その中の役割のひとつに過ぎない
 ・配下のメンバーにタスクを割り当てる
 ・タスクの結果を妥当性をもって判断
 ・タスクの結果を公平に評価する責任
 ・組織の利益を最大化するように導く

2.理想的なトップは自然淘汰される

 本当に理想的なトップ像だと思います。ここでは、トップとは国や会社のトップだけではなく、組織のトップ、部門のトップ、つまり上司なども含めます。

 で、本題ですが、私の狭い領域の中でこれらの理想的なトップは見たことも聞いたこともありません。まるで「反物質」(※5)みたいに、自然界には存在しません。

 なぜ存在しないか、シミュレーションしてみましょう。

C:\Users\chatrun>python
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import random               # 乱数発生の関数を使います。
>>>
>>> def f( t ):                 # 関数定義
...   y=[]                      # 結果のリスト(初期化)
...   for t in t :              # 引数のリストの要素を取り出します。
...     r = random.random()     # 乱数発生(0.0 ~ 1.0)
...     y.append( '〇' if t=='〇' and r > 0.5 else '●' )   # 三項演算子で追加
...   return y                  # 結果を返す
...
>>> top = ['●','〇']*5         # 〇と●を5こづつ生成します。
>>> print( top )
['●', '〇', '●', '〇', '●', '〇', '●', '〇', '●', '〇']
>>> top=f(top)
>>> print( top )
['●', '●', '●', '〇', '●', '〇', '●', '〇', '●', '〇']
>>> top=f(top)
>>> print( top )
['●', '●', '●', '〇', '●', '●', '●', '〇', '●', '〇']
>>> top=f(top)
>>> print( top )
['●', '●', '●', '〇', '●', '●', '●', '●', '●', '〇']
>>> top=f(top)
>>> print( top )
['●', '●', '●', '●', '●', '●', '●', '●', '●', '●']
>>>

 何をしているかというと、●は自己保身を基本理念に行動しているトップ。〇が理想のトップで、問題があれば自ら責任を取ります。
 最初は、5名づついるとして、random.random() が問題発生。●は何が何でも責任を取りません。〇は責任を取って辞めます。後継者に、●が来るか〇が来るかは、初期値と同じ50%の確率とします。
 つまり、トップが〇の場合だけ、入れ替えが発生して、確率50%で〇になるシミュレーションです。

P子「こんなのプログラム組まなくってもわかるでしょう」

 まあ(解説)の回(※6)なので、ソースコードがあった方がいいでしょ。

3.実際のトップは?

 現存する実際のトップの特性はなんでしょうか?
 やはり、「自己保身を基本理念に行動している」と思います。

P子「そんなトップばかりじゃないでしょ」

 もちろんです。世界に悪人しかいないとか、聖人しかいない、なんてことはありません。ただ、責任を取るトップは自然淘汰されて、責任を取らないトップが残るというのが自然界の仕組みということです。

【実際のトップの特性】
 ・ある意味、危機管理能力に優れている
 ・基本的には危険な事には手を出さない
 ・チャレンジする場合は、チャレンジしない方がリスクが大きい場合のみ
 ・プラス評価よりマイナス評価で人事を決める
 ・イエスマンを周りに固める(または周りをイエスマンに変貌させる)
 ・自己保身の為には多少の不都合には目をつぶる
 ・自己保身を考えた人事評価(自己保身を強固にする部下を出世させる)

 過去に、ここに挙げたトップと、理想的なトップとどちらの人材に遭遇する確率が高かったでしょうか?それが現実です。

・内部から下克上はできるのか?

 では、このような組織内で、下克上は出来るのでしょうか?

 下克上に必要なのは数の論理です。周りを味方につける必要がありますが、トップが不正を働いていない限りメンバーはそれほど不満を抱いていません。なんせ自己保身トップの予備軍です。リスクを取りません。本気で下克上に協力する仲間を多数集めるのは不可能でしょう。しかも、そのトップのさらに上は、その人を取り立てた人なので余程のことがない限り任命責任に問われる行為を良く思わないでしょう。

・なぜ、トップが気に入らないのか?

 あなたはなぜ、普通のトップ(組織の長)が気に入らないのでしょうか?

 あなたが画期的な提案をします。ただしリスクがあります。自己保身トップは今現在問題なければリスクは避けます。そう、自己保身トップがいる限り、あなたの画期的な提案は反故にされます。現状よりちょっとだけよくなる提案は受け入れられます。あなたより能力が劣る人を重用するトップに不満を抱くのは当然です。しかし下克上もできなければトップも変わらない中で、トップの意向を尊重するレベルでの提案で満足できないならば、その組織にいてもお互い不幸になるだけかもしれません。

・協調性は必要か?

 協調性が必要と言われますが、なぜでしょうか?

 協調性(きょうちょうせい)とは異なった環境や立場に存する複数の者が互いに助け合ったり譲り合ったりしながら同じ目標に向かって任務を遂行する素質です 。(※7
 では、その目標とは、その組織のトップが決めます。つまり、トップの意向に沿った目標をみんなで目指すという事です。画期的な提案は不要です。いや、逆に協調性がないとして出世できません。

・外部コンサルタントは無能か?

 そのような組織に外部コンサルタントを入れることで、組織改革が進むのでしょうか?

 そのコンサルタントを雇うのはトップかまたはその上のトップの方です。つまり、雇い主を批判したり陥れる提案は出来ませんし、賢いコンサルタントは協調性をもって、組織の目標達成のための最善の(つまりリスクを避ける目標の範囲内で)結果を出そうとします。
 あなたが優秀なら、もっと良い提案が出せるのでコンサルタントが無能に見えますが、無能というより範囲内でしか提案できない職種であることを認識しなければなりません。

4.トップは無能なのか?

 結論として、トップは無能なのでしょうか?

 例えば「ドクターX」は手術を失敗しないので、成功率100%です。これが、実際に難手術を99% の成功率をもつ優秀な医者がいたとして、ドラマと同じような態度を取っていたとします。

>>> 成功率 = 0.99
>>> 回数 = 10
>>>
>>> 累積成功率 = 成功率 ** 回数
>>> print( 累積成功率 )
0.9043820750088044
>>>

 Pythonで、** は、べき乗計算です。組み込み関数 pow(成功率,回数) でも同じ結果が得られます。(※8

>>> pow(成功率,回数)
0.9043820750088044
>>>

 成功率 99%と言っても、手術の結果は成功か失敗かのどちらかです。累積成功率というのは、成功し続ける確率の事で、2回連続なら、0.99*0.99=0.9801 、3回連続なら、0.99*0.99*0.99=0.9702989999999999 です。

 手術回数が、10回程度なら、まだ、90%程度の成功率です。
これを、累積成功率が半分(0.5)になるまでの回数を求めてみます。

>>> import math
>>>
>>> 累積成功率 = 0.5
>>> 回数 = math.log( 累積成功率, 成功率 )
>>> print( 回数 )
68.96756393652842
>>>

 約70回程度で、累積成功率が50%を切ります。つまり、それ以上の手術を行うと半分の確率で失敗するという事です。その場合「ドクターX」なら医者をやめるかもしれませんし、周りの医院長もかばってくれないでしょう。一般の医者では20%の成功率の手術を、99%成功させる医者でも、医院長に従って、延命処置か転院しかしない立場になったとしても仕方ありません。(※9

 この医院長を無能と呼びチャレンジさせるべきだったと責めるのか、トップの判断として仕方がないと思うのか、あなたはどちらでしょうか?

P子「今回、ちょっと熱くなってない?」(※10

 「自分は優秀だ」と思い込み、画期的な提案をしたつもりが、実は大したこと無かったという事もあるので、トップが無能と決めつける前に、日々の仕事をきちんとこなすことに専念した方が良いかもしれません。

ほな、さいなら

======= <<注釈>>=======

※1 トップ記事3連発
 トップに立つ人間に専門知識は必要なのか? 2018/11/15
 http://el.jibun.atmarkit.co.jp/noriwo_t/2018/11/post_107.html

 トップに立つ人間を引きずり落とすのに専門知識は有効なのか? 2018/11/15
 http://el.jibun.atmarkit.co.jp/horus/2018/11/post_50.html

 トップに立つ人間に専門知識は必要なのか? リフレイン 2018/11/17
 http://el.jibun.atmarkit.co.jp/kotowari/2018/11/post_7.html

※2 別の祭りがまつり状態
 「イッテQ」海外の祭りを「でっちあげた」とする疑惑の件

※3 別のトップがまつり状態
 「日産ゴーン会長を逮捕」の件

※4 P子「要するに、最初の祭りに乗り遅れただけでしょう」
 P子とは、私があこがれているツンデレPythonの仮想女性の心の声です。

※5 「反物質」
 https://ja.wikipedia.org/wiki/%E5%8F%8D%E7%89%A9%E8%B3%AA
 反物質は自然界には殆ど存在しないので、人工的に作らねば得ることが難しい。

※6 (解説)の回
 http://el.jibun.atmarkit.co.jp/pythonlove/2018/10/0101.html
 010_自己投資まつり で、宣言しました、偶数がコラム、奇数が言語解説の事

※7 協調性(きょうちょうせい)とは
 https://ja.wikipedia.org/wiki/%E5%8D%94%E8%AA%BF%E6%80%A7
 協調性 ウィキペディア(Wikipedia)より

※8 べき乗計算
 ** と pow は計算結果としては同じですが、記述方法を誤るとバグる事があります。
>>> -3**2
-9
>>> (-3)**2
9
>>> pow(-3,2)
9
>>>

3の2乗が優先順位でいうと先に計算されて、マイナスが付与されます。
所が、
>>> 3**-2
0.1111111111111111

では、マイナス2 は単項演算子となり最優先に使用されます。
 ちなみに、-2のべき乗は、1/(3**2) の事です。

※9 延命処置か転院
 本当の話は知りません。ただ患者も20%の成功率の手術を受けるべきか、延命処置の間に新しい治療方法ができるかもしれないので待つべきか、他の医者なら、30%かもしれませんから、他の医者を探すべきかは、簡単には選べないでしょう。

※10 P子「今回、ちょっと熱くなってない?」
 その話は、また今度にでも。

Comment(0)

コメント

コメントを投稿する