SSブログ
コンピューター ブログトップ
前の10件 | -

値渡し(call by value)と参照渡し(call by reference) [コンピューター]

 私はプログラミングの学習において、プログラミング用語を正確にきちんと理解するというよりは、どちらかというと感覚で覚えてしまうタイプなのですが、最近ある雑誌の関数の引数の渡し方についての記事を読んでいて、自分のこれまでの理解とは違う箇所がありました。関数の引数の受け渡しには、

 ・値渡し(call by value)

 ・参照渡し(call by reference)

の2つがあります。「値渡し」は実引数を仮引数のコピーするので、仮引数の値を変えても実引数の値は変わりません。「参照渡し」は、仮引数が実引数の別名(エイリアス)になっているものを言います。仮引数の値を変えると実引数の値も変わってしまいます。

 以下のswap.cとswap.cppはどちらもmain関数の変数a,bの中身を入れ替える定番のスワップ関数ですが、私はこれまで両方とも参照渡し(call by reference)と理解していたのですが、正しくは、

 swap.c アドレスの値渡し

 swap.cpp 参照渡し

になるそうです。「アドレスの値渡し」は、「値渡し」の事ですが、通常の値ではなくてアドレスを渡しているのでそう呼ぶそうです。C++には「値渡し」と「参照渡し」の2つがありますが、Cには「値渡し」しかありません。因みにJavaもCと同じく「値渡し」だけです。プリミティブ型が通常の「値渡し」で、参照型が「参照値の値渡し」になります。(余談になりますが、Javaではswap関数は作れません!!)

 ただ、swap.cとswap.cppのswap関数は動作的には全く同じことをやっているだけなので、コンパイルして32ビットのx86系のアセンブラに落としてコードを確認してみたところ、両者は全く同じでした。(下記の「swap関数のアセンブラ抜粋」参照。)main関数のスタックフレームにプッシュした変数a、bのアドレスにアクセスすることで、変数a、bの中身を入れ替えています。その際変数aの一時的な避難場所として、swap関数のスタックフレームの局所変数tmpを使っています。下記の「スタックの状態」を参考にしてアセンブラコードを読めば、やっていることがよく分かると思います。(Cの「アドレスの値渡し」もC++の「参照渡し」もアセンブラコードのレベルでは同じものになってしまうので、個人的には両方とも「参照渡し」と呼んでもいいような気もします^^;ただ単に、CではC++の&を使った参照の書き方が出来ないと言うだけの話なので。)


 多くのプログラミング言語は「値渡し」だけです。CやJava、Python、Lispなどの関数型言語などがそうです。一方で「参照渡し」もサポートしている言語としては、C++やC#、PHP、Fortran、Pascal、Perlなどがあります。


[swap.c]
#include <stdio.h>
void swap(int *a, int *b) /* C言語ではアドレスを受け取る */
{
    int tmp;
    tmp = *a;
    *a = *b;
    *b = tmp;
}
int main(void)
{
    int a = 1;
    int b = 2;
    swap(&a, &b);
    printf("a=%d b= %d\n", a, b);
    return 0;
}


[swap.cpp]
#include <iostream>
using namespace std;
void swap(int &a, int &b)  /* C++では参照渡しにできる */
{
    int tmp;
    tmp = a;
    a = b;
    b = tmp;
}
int main(void)
{
    int a = 1;
    int b = 2;
    swap(a, b);
    cout << "a=" << a << " b=" << b << endl;
    return 0;
}


[swap関数のアセンブラ抜粋]
push   %ebp
movl   %esp %ebp
subl   $16, %esp
movl   8(%ebp), %eax
movl   (%eax), %eax
movl   %eax, -4(%ebp)
movl   12(%ebp), %eax
movl   (%eax), %edx
movl   8(%ebp), %eax
movl   %edx, (%eax)
movl   12(%ebp), %eax
movl   -4(%ebp), %edx
movl   %edx, (%eax)
leave
ret


[スタックの状態]
    |                      |
    -------------------                                                                         ↑
    |                      |    <- %espの指すアドレス                                     |
    -------------------                                                                         |
    |                      |
    -------------------
    |                      |                                                swap関数のスタックフレーム
    -------------------
    |    1(aの値)      |    <- -4(%ebp)  局所変数tmp
    -------------------                                                                          |
    |     %ebp         |    <- %ebpの指すアドレス                                     |
    -------------------                                                                          ↓
    |   戻りアドレス   |
    --------------------                                                                         ↑
    |   aのアドレス    |    <- 8(%ebp)  第1引数                                       |
    --------------------                                                                         
    |   bのアドレス    |    <- 12(%ebp)  第2引数            main関数のスタックフレーム
    --------------------
    |                       |                          |
                ↓
   (高アドレス)


by チイ



nice!(0)  コメント(0) 
共通テーマ:学問

Cの配列とポインタの問題 [コンピューター]

 巷はどこもかしこもコロナウイルス対策で自宅待機状態なので、暇つぶしにCの配列に関するポインタの問題を作ってみました。「Cの配列とポインタの関係なんて、とっくの昔に理解したよ!!」という方は、以下の(ア)〜(ハ)の穴埋め問題をやってみてください。一つでも不安のある箇所がある方は、恐らくまだCの配列とポインタの関係を理解できていないと思います。
 
 
(1) int a[3] = {0, 1, 2};
 
で、sizeof(int)=4Bの場合、sizeof(a)は(ア)であり、この場合のaの型は(イ)である。
また、aは配列の先頭要素へのポインタの意味も持ち、&aの型は(ウ)であり、&a=0x7ffeebfbff49c の場合、&a+1のアドレスは(エ)になる。
また、aの型は(オ)であり、a=0x7ffeebfbff49c の場合、a+1のアドレスは(カ)になる。
 
 
(2) int a[5][3] = {
          {0, 1, 2},
                           {3, 4, 5},
                           {6, 7, 8},
                           {9, 10, 11},
                           {12, 13, 14}};
 
で、sizeof(int)=4Bの場合、sizeof(a)は(キ)であり、この場合のaの型は(ク)である。
また、aは配列の先頭要素へのポインタの意味も持ち、&aの型は(ケ)であり、&a=0x7ffeebfbff460 の場合、&a+1のアドレスは(コ)になる。
また、aの型は(サ)であり、a=0x7ffeebfbff460 の場合、a+1のアドレスは(シ)になる。
また、a[0]の型は(ス)であり、a[0]=0x7ffeebfbff460 の場合、a[0]+1のアドレスは(セ)になる。
また、*(*(a+3)+2)の値は(ソ)である。
 
 
(3) int a[3][4][2] = {
                               {{0, 1}, {2, 3}, {4, 5}, {6, 7}},
                               {{8, 9}, {10, 11}, {12, 13}, {14, 15}},
                               {{16, 17}, {18, 19}, {20, 21}, {22, 23}}};
 
で、sizeof(int)=4Bの場合、 sizeof(a)は(タ)であり、この場合のaの型は(チ)である。
また、aは配列の先頭要素へのポインタの意味も持ち、&aの型は(ツ)であり、&a=0x7ffeebfbff430 の場合、&a+1のアドレスは(テ)になる。
また、aの型は(ト)であり、a=0x7ffeebfbff430 の場合、a+1のアドレスは(ナ)になる。
また、a[0]の型は(ニ)であり、a[0]=0x7ffeebfbff430 の場合、a[0]+1のアドレスは(ヌ)になる。
また、(*(a[2]+3))[1]の値は(ネ)である。
また、a[0][0]の型は(ノ)であり、a[0][0]=0x7ffeebfbff430 の場合、a[0][0]+1のアドレスは(ハ)になる。
 
 
 不安な箇所は、実際に自分でプログラムを書いて確認してみると良いと思います。
 
by  チイ


nice!(0)  コメント(0) 
共通テーマ:学問

ブロックチェーンのプラットフォーム(ポストGAFA/BATH) [コンピューター]

 平成の時代のメガテックは、米のGAFA(グーグル、アップル、フェイスブック、アマゾン)と中国のBATH(バイドゥ、アリババ、テンセント、ファーウェイ)で決まりだったが、令和時代には、これらの世界的な巨大プラットフォーマーはどのように変遷していくのだろうか?2018年9月にグーグルの元会長のエリック・シュミット氏が、「これからのインターネットの世界は米国と中国主導の2つに分断されていく」との予想を明らかにしましたが、「今や問うべきは、米中二極体制の時代がやって来るのかどうかではなく、それがどのようなものになるか?」だそうです。6月末に開催された大阪でのG20では、世界の目は「米中の新冷戦」の進展に釘付けとなり、日本は技術や経済の世界でも完全に中国の後塵を拝することになりました。

 現在のGAFA/BATHなどの中央集権型のクラウド・コンピューティングのプラットフォームは、データの囲い込み、セキュリティー、プライバシーなどの面で多くの問題を抱えてしまっている。それをインターネットの黎明期の思想でもあった分散型のプラットフォームに、ブロックチェーンの技術を用いて作り変えようといった動きが出てきている。GAFAやBATH自身も、生き残りを賭けてこれらのプラットフォーム領域へと一部は進出しようとしているし、これから新たにメガプラットフォーマーとしてこれらの領域に参入して来るユニコーン企業も多数存在している。

 勝者一人勝ちのインターネットから、誰もが勝者になれるインターネットへの移行をリードするものとして、最近Blockstackが注目されている。Blockstackはブロックチェーンの仕組みをベースにした非中央集権型アプリのための新しいインターネット。今あるインターネット回線のハードウエアの上に、インターネットプロトコルというソフトウエア層があり、その上にブロックチェーンのソフトウエア層を置き、その上にBkockstackのソフトウエア層を置く。さらにその上に非中央集権型アプリが乗るイメージ。Bkockstackの仕組みを簡単にまとめると、Bkockstackのブロックチェーンにはユーザや事業者がどこにいて、それらを結びつけるにはどのルートでデータを送受信すればいいか、という管理目的のデータが格納されているだけ。その上に乗るアプリのプログラムは事業者のコンピュータに格納されていて、ユーザのプロフィールや利用履歴などのデータは、ユーザ個人のコンピュータに格納される。非中央集権型サービスのメリットは、多くの企業が参加できるのでサービス間の切磋琢磨がイノベーションを生み多様性に富んだサービスが生まれること。(パブリック・ネットワーク効果)

 また、ブロックチェーンと言えば、直ぐに連想してしまうのが金融(FinTec)への応用があるが、アメリカは金融の分野では、既に中国に大きく遅れをとってしまっている。金融包摂に関しては、モバイル決済で言えば、米は中国の0.数%にしかすぎない。(2015年で、米の87億ドルに対して中国は1.5兆米ドル、2017年には、米の1200億ドルに対して、中国は17兆米ドル)また、アメリカは国際送金の分野でも、中央集権型のSWIFT(国際銀行間通信協会)などのレガシーシステムを抱えている。これに対して中国ではアリペイ式ブロックチェーン国際決済が主流になりつつある。アメリカは基軸通貨のドルの上に胡坐をかいていると、金融での次世代プラットフォーム競争で中国に負けてしまうかもしれない。

 中には、これからのブロックチェーンのプラットフォームの時代、中央集権型のクラウドのプラットフォームは消えてなくなってしまうというような意見の人もいるようだが、私は両者半々くらいで均衡して2つとも生き残るのではないかと思っている。中央集権型のメリットであるプライベート・ネットワーク効果もそれなりに残ると思う。ただ、時代を前に進める原動力になるのは、GDPRのような法律や規則ではなくて、Blockstackのような理想のインターネットを作ろうとする新しいテクノロジーであることは間違いない。

 現在は、ブロックチェーン型の新しいプラットフォームの乱立期であり、世界的なメガプラットフォーマーになれる最後のチャンスかもしれない。この勝負は恐らくは2025年頃までには決していて、日本が来年のオリンピックが終わって、その後、オリンピック不況に陥ったと騒いでいる頃には大勢が決している可能性が大きい。令和の時代は、その始まりの数年の間で、その後の運命が決してしまうかもしれない。


Blockstackのホームページ : https://blockstack.org


by チイ



nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

21世紀のAIの覇者はイスラエルになっているかもしれない [コンピューター]

 聖書のエゼキエル書38章によると、終末になるとロシアがイランやトルコを引き連れて現在のイスラエルに攻め入ることになっている。その時のイスラエルは経済的に物凄く発展した裕福な国になっていて、その富を奪うためにロシアが侵入するとされている。

 つい最近まで、アメリカの後の世界の覇権国はどこになるのだろうか?と考えた時、もとイギリスの植民地だった国を辿って、大英帝国→アメリカ→オーストラリアの順番になるのかな?とも思っていた。オーストラリアが世界の覇権国になるためには、現在アメリカで活躍しているユダヤ人達が、オーストラリアに向けて大移動を始めるということになるが、21世紀は気候変動などで北半球で人が住めなくなって、南半球の時代になるという話もあるので、かなり信憑性があるのではないかとも思っていた。

 しかし、今の世界情勢に照らして考えた場合、ポストアメリカの覇権国というか、ユダヤ人自身に一番祝福される国はおそらくイスラエルになっているはずだ。今日本の人口は減る一方だが、イスラエルでは建国時の60万人から現在の884万人、建国100周年の年(2048年)には1520万人の人口が見込まれている。世界中の国々からイスラエルに向かって多くのユダヤ人達が戻って来ているのだ。21世紀の世界一のハイテク産業の国はアメリカを抜いてイスラエルになっているはずだ。

 そして今、アメリカ以外の国でイノベーション大国になったイスラエルに対して物凄い額の投資を行っているのがドイツと中国の2国。ドイツは第2次世界大戦のホロコーストの恩讐を超えてイスラエルとの間に良好な関係を結んで、現在イスラエルに研究拠点を置く企業が増えている。(2017年の時点で約300社)特に積極的なのが自動車産業のVWやアウディ、BMWでイスラエルの世界最先端のモビリティ・サービスを狙って、提携や買収が行われている。一方で中国は2010年代に入ってから中国企業によるイスラエル企業の買収が急に増えていて、2016年度の投資額は160億ドル(1兆7600億円)で、後数年で倍増すると言われている。(一方で日本の2016年度のイスラエルへの投資額は2億ドル(222億円)で中国の1/80にすぎない。)

 それよりももっと驚いたのは、中国とイスラエルの交流がビジネスの分野だけではなく、教育や科学などの学術の分野でも緊密化していることだ。2017年にはイスラエル工科大学(テクニオン)が広東省・汕頭にGTIIT(広東テク二オン・イスラエル理工学院)と呼ばれるキャンパスを開設した。また2014年にはテルアビブ大学と北京の清華大学が3億ドルを投じてテルアビブ・キャンパスに大学院生向けの研究センターを開設している。2015年には北京で「イノベーションに関する協力のための3ヶ年行動計画」に調印して、「7プラス7研究連合体」を発足させている。(このプロジェクトには中国の清華大学、北京大学などの7校、イスラエルのテクニオン、テルアビブ大学、ワイズマン科学研究所などの7つの大学・研究機関が参加している。)近年の中国のコンピュータ・サイエンス分野での躍進の背後にはイスラエルの頭脳の存在があるのは間違いない。

 現在日本の大学の中に、これからの時代一番重要になってくるコンピュータ・サイエンスを教えることのできる教育機関が無いということは、逆に考えると日本の大学改革のチャンスでもあるということだ。東大、京大以外の旧帝国大学のどこかにGTIITのようなものを作れば、そこが日本のコンピュータ・サイエンスの最高峰になる。県や市を挙げて地方の国立大学でAIやITの人材を育成したい場合には、そこが名乗り出てもいいかもしれない。そうすれば東大や京大もうかうかしてられなくなって、本当の意味での大学間の競争が起こるようなる。分野ごとの拠点が分散化されれば競争も活性化されるはずで、全ての分野の日本の最高峰が東大や京大にある必要性は全く無いように思う。オリンピックや万博といった過去の遺物に大金を投入して、お金の使い方ひとつ取って見ても、戦略という観点からは日本は中国の足元にも及ばない国になってしまっている。


(注)GTIITのホームページ   https://www.gtiit.edu.cn/en/index.aspx

by チイ

 

nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

今世紀中頃までのコンピュータ・サイエンスの進展がその後の世界を決めてしまうかもしれない [コンピューター]

 コンピュータ・サイエンスはノーベル賞の対象外の分野ではあるが、現在その価値や重要性はノーベル賞以上のものがあると思う。特に自立型AI(AGI)の開発は、その影響がノーベル賞の6分野や数学にまでも及ぶことは必至で、それが完成した暁のインパクトは計り知れないものがある。(その価値は100ノーベルと言ったところだろうか?)そしてその機会はこの20〜30年くらいが勝負になると思うのだが、その機会を逃した国家は、恐らくその後この分野では永遠に後塵を拝することになると思う。そして前にも書いた通り、その敗北はこの分野だけに留まらないで、全ての分野に及んでしまう。


 アメリカやイスラエルや中国が、この分野で熾烈な競争をしている理由がお分かり頂けただろうか?現在、アメリカが中国に対して「貿易戦争」を仕掛けている背景には、この分野で中国に先を越されてしまいかねない危機感の現れでもあるように思う。アメリカはこの分野での競争で中国に負けてしまうと、その後もう取り返しのつかない状況に追い込まれてしまうのが分かっているからだ。世界のパワー・バランスも大きく変わってしまうだろう。日本も今世紀中頃までの研究開発費の半分以上をこの分野に投入していくくらいのメリハリのある予算編成をしていかないと世界での競争には勝ち残れないと思う。


 2018年9月24日のブログにも書いたが、私は2018年度のコンピュータ・サイエンス分野で、中国の清華大学が世界第一位になったことに強い衝撃を受けてしまった。(しかも上位100位内に中華系の大学が1/4も含まれている。)一方で日本はどうかと言えば、最高が東京大学の91位の一校のみ。サッカーのワールドカップで日本代表の順位が良い時で40番台くらいで、8年に一回くらいに割合で2次リーグに出たり出なかったりで、2次リーグでは直ぐに敗退してしまって優勝にはほとんど縁遠いことを考えると、91番というほとんどドンべの順位は、あって無いようなものだと思う。つまり、現在の日本の大学や研究機関で一番旬なコンピュータ・サイエンスを教えられるような機関は存在しないということだ。これに危機感を感じない人はどうかしていると思う。


 これを打開するには、①「日本の優秀なコンピュータ・サイエンスの若い人材を海外の大学に留学させて学ばせる」か、②「海外の優秀な人材を日本の大学や研究機関に召集して教鞭をとってもらう」かのどちらかしか無いように思うが、国としてもその方針もまだはっきりと定まっているわけでも無い。東京オリンピックを中止にして、その予算を全て①や②に投入するくらいの、よほど思い切った大英断をしない限りこのピンチは脱出できなと思うのだが、日本政府の対応は呑気なものである。大学や企業の対応も、もう古くなってしまった分野や製品を自分たちがやって、一番重要な部分は他人任せで手も足も出ないような状況では、これから先が思いやられる。


 日本人が「情報戦」でいつも同じような間違いを繰り返してしまう原因に、「地点は取り戻すことができるけど機会は取り戻すことができない。」という教訓がある。日本人は、後追いでゼロ・サムゲームの応用を戦って陣地(地点)を取り返すことは得意で、実際に「モノ」の時代にはそれはうまく行ったのだが、「情報」の時代にはそれは通用しない。一瞬だけ開いた「幸運の窓」をリスクを冒して掴みにいかない限り、チャンスは決して巡って来ない。受験の「ゼロ・サムゲーム」に馴れっ子になってしまって、それが公平であると思い込んでしまっている教育そのものから変えていかないとこれからの世界での成功は覚束ないと思う。


by チイ


nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

人が実質プログラムを書く時間はもうあまり残っていないのかもしれない [コンピューター]

 多くの人はあまり認識してないかもしれないが、AGIが完成すると言うことは、グログラムを書くという仕事が人間からマシンに移るということを意味する。「プログラムを書くプログラム」は現在でも存在するが、AGIが完成するということは、それが完全に自動化されることを意味する。マシンが外界とのインタラクションを通じて学習を行いながら、自らがプログラム・コードをより良いものへとどんどん書き換えていく。

 そういう意味では、人間が実質プログラムを書くという仕事を行える時間はもう余り残っていないのかもしれない。後、数十年と言ったところだろうか?AGIが自動で自らのコードを書き換え始める様になった時、人間のプログラマーのやる仕事は、恐らく、いかに良い初期条件のコード(つまり、その後の学習をいかにスムーズに効率よく行わせることができる初期のオリジナル・コード)をマシンに与えられるか?ということになっているはずだ。そしてその仕事自体も、最終的にはマシンに取って代わられる。

 最初の改編は、人間が与えたマシンの環境の中でのコードの書き換えになると思うが、その後マシンが賢くなっていくにつれて、環境そのもの(OSやプログラム言語そのもの)までも書き換える様になっていくだろう。必要ならばCPUやGPUなどのハードウエアそのものまでも自身で作っていく様になるかもしれない。

 日本のAI(ディープ・ラーニング)の若手の第一人者である、「松尾豊」さんが繰り返し言っていることの中に、初期の人工知能の時代からの基本テーゼがある。それは、「人間の知能がプログラムで実現できないはずはない」というものだ。これからの時代、AIを仕事にする人で、この信念を持っていない様な人はAIの仕事はしない方がいいのかもしれない。日本人はソフトウエアは自分達には向いていない、日本はこれからもモノ作りで生きていくんだと好き嫌いを言っている間に、プログラムを書くと言う仕事はなくなっているかもしれない。

 2017年度のU.S. News & World Reportが作成するBest Global Universities for Computer Scienceで、中国の清華大学が世界第一位になった。中国はコンピュータ・サイエンスの分野での世界上位100位までに、17の大学がランクインしている。(このほかに、香港の5大学とシンガポールの2大学が含まれるので、中国系だけで24大学になる。因みに、日本では東京大学の1校のみで、91位になっている。)2017年11月08日のブログに書いた、イスラエルが国策としてコンピュータ・サイエンスに最も力を入れていて、米国に次ぐハイテク産業の起業家の国になっていることを紹介したが、中国は後5年でAIの分野で米国を越すと言われている。

 中国では米国のGAFA(Google、Apple、Facebook、Amazon)に相当するユニコーン企業のBAT(Baidu、Alibaba、Tencent)なども育ってきており、既に普通の日本人の思っているような、ローテクや粗雑品の国ではなくなっている。国際的にも一帯一路構想やAIIB(アジアインフラ投資銀行)、南及び東シナ海の軍事拠点化など戦略的に動いてきている。日本人は、自分達が中国人よりも優れた民族だと思っている様だが、それは戦略無しの戦術だけ振り回していれば良い時代だけの話だ。長い目で見た場合、間違いなく日本は中国に負けると思う。


by チイ

nice!(1)  コメント(0) 
共通テーマ:パソコン・インターネット

スーパーインテリジェンス [コンピューター]

 昨年末にやっと待望のニック・ボストロム著の「スーパーインテリジェンス」の和訳本が出ました。この本は今から3年半くらい前に英語の原書が出版されたのを知っていたので、その時に原書を買って読みたかったのだが、かなりのページ数があるので私の英語力では途中で挫折してしまうのは分かっていたので、購入は控えていた。この3年半くらいの間にAIの分野では囲碁と将棋が完全に人間を抜き去ってしまって、本の内容ももうかなり古くなってしまった感はあるが、現在読み進めているが内容は本当に素晴らしいと思う。(注1)

 2015年に出版されたジェイムズ・バラット著の「人工知能」とこのニック・ボストロム著の「スーパーインテリジェンス」の2冊は、AIの一般向けの啓蒙書としては現代人の必読書だと思う。(この2冊だけ読めば、日本語で出ている他の一般向けの啓蒙書は読まなくてもいいです。)ジェイムズ・バラットはマスコミ関係の人でニック・ボストロムは学者(哲学)だが、残念ながら日本には、マスコミや学者で、一般向けにこれほど質、量ともに掘り下げた内容のものを書ける人はいないように思う。逆に戦術レベルのディープラーニングや機械学習などの理工系の書籍は山のように出版されていて、今の日本の現状をそのまま反映しているように思われる。

 今世界は、「自律分散型の社会」を目指して動いているように思われる。今後、スーパーインテリジェンスはこの自律分散型社会にどのように関わっていくことになるのだろうか?

 ITの分野では、現在「第3世代プラットフォーム」の時代に入っています。そこでのkeyテクノロジーは、①デブオプス(DevOps)(注2)、②マイクロサービス、③API連携の3つです。第1、2世代プラットフォーム時代の「ウォーターフォール型」から「デブオプス型」へとソフトウエアの設計手法が変化しているのです。今流行りの言葉で言うと、SoR(システム・オブ・レコード)からSoE(システム・オブ・エンゲージメント)への流れです。

 FinTechの分野でも今はAfter Bitcoin(注3)の流れで、中央銀行や国際送金や証券決済などの分野で本命である「ブロックチェーン」の技術が使われようとしています。ここでも忘れてならないのは中央集権的な権力を行使するためにブロックチェーンの技術を使ったとしてもそれはあまり意味の無いことだということです。ブロックチェーンの技術そのものが自律分散型の社会を目指して作られた技術だからです。このことを忘れると、恐らく中央銀行のデジタル通貨発行などでも世界に遅れを取ることになってしまうと思われます。

 AIの最終ゴールもAGIやASIといった自律分散型の社会だ。今世界の主要な技術やこれから重要になると思われる技術も全てそこを目指して動いているように見える。この流れはおそらくそれを実現するまでは、変わることは無いと思うし、また変えることもできないだろう。

 最後に面白い話をひとつ。デブオプスが行えるようになった最大の理由は、デプロイを自動化したことにあるようです。昔はこの部分はその組織で一番のノウハウを持った優秀なデプロイ職人がやっていたそうです。人間にしかできないと思われていたことをソフトウエアにやらせているわけです。恐らくその最終形がAGIやASIになるんだろうとは思います。人の能力ではとても無理だと思われる一番重要な部分にはASIが鎮座しているはずです。


(注1)高校生くらいの方で、将来AI分野に進むことを考えてられる人は、原書と和訳の2冊を買って、半年か1年くらいかけて両方読み比べて見ることをお勧めします。

(注2)デブオプスは別名「ピザ2枚のルール」とも言われています。ピザ2枚を囲んでミーテングができる程度の人数(どんなに多くても10人以下)でソフトウエアを開発するという意味です。何か「スパースなデータ表現」と似ていると思いませんか?音楽的に言うと、和声的にシンクロしている状態です。そう言った状態を沢山作り出しているわけです。

(注3)昨年(2017年)の私の中でのベスト本は、中島真志著の「After Bitcoin」です。現在のビットコインなどの仮想通貨のその後を予想した内容で、よくまとまっていて専門外の人にも分かりやすく書かれています。


61bjHfVQHYL._SX350_BO1,204,203,200_cut.jpg


by チイ

nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

サーバーの中のロボット [コンピューター]

 情報革命の後に、「ロボット革命」の時代が訪れると言う人もいます。私は、ロボット革命は、情報革命の中の「AI革命」の中で起こるだろうと思っています。後5年後くらいからロボット革命の時代がはじまり、30年後~300年後は、パソットpersot: personal-robot)の時代に、300年後より先はヒューロhuro: human-robot)の時代になると言う人もいます。

 ロボットの明確な定義自体も難しくて、ロボットにも色々なロボットが存在します。ちょっとものの本に書いてあったものを挙げてみるだけでも、ヒト型ロボット、ペットロボット、ロボットアーム、無人搬送ロボット、惑星探査ロボット、ロボットスーツ、掃除ロボット、蛇ロボット、海洋ロボット、原子炉防災ロボット、魚ロボット、もぐらロボット、対話ロボット、案内ロボット、溶接ロボット、電子部品実装ロボット、地雷探知除去ロボット、救助ロボット、兵器ロボット、etcなどがあります。

 上に書いたものは、全て「目に見えるロボット」です。ロボットにはそれ以外にも「目に見えないロボット」として「サーバーの中のロボット」があります。目に見えないと言っても、実態はサーバーの中のハードウエアの中にあるわけですが、それがあちら側の世界のサーバーの中にあって、実際のサーバーの中のどの部分を使っているかがはっきりしないというだけなのですが。

 日本人と欧米人のロボットに対する考え方の違いのようなものもあるようです。一般的に日本人はヒト型のロボットに関してはまったくと言っていいほど抵抗感はありませんが、欧米の人はヒト型ロボットに関してはかなり抵抗感があるようです。(人に近づけば近づくほどその感情は強くなるようです。)一方で、日本人は目に見えないロボットに関しては全く無関心であるのに対して、現在欧米ではロボットと言えば、半分くらいはこの目に見えないロボットになります。

 目に見えないロボットの代表格は、たとえば金融取引などで使われている「ロボ・トレーダー」や「ロボ・アドバイザー」などがあります。また、ウイルス対策ソフトを制作しているメーカーの「ウイルス・対策ソフト」などもこれに含まれると思いますし、広い意味では「クローラー」などもこれに含まれると思います。最近ではフィンテック(FinTech)の流行にあいまって、欧米では人工知能と言えば、半分くらいはこの裏の世界での競争になっています。

 ロボットに関しては、昔から「知能」は身体性を持ったものに宿るという考え方もあるわけで、(ただし、これが完全に正しいと証明されているわけではない。)日本人的な感性から言うと、AGIはヒト型ロボット(目に見えるロボット)から生まれると考えているのでしょう。でも私は、AGIは最初はサーバーの中のロボットから生まれてくるような気がするのです。理由は、ソフトウエアを書くという仕事に集中できることと、自律的なソフトウエアを書く対象がサーバーの中のロボットの方が限られているので、最初のブレークを起こすのにはこちらの方が適しているということです。

 日銀は、量的緩和で市場に何百兆円といったお金をばら撒いてしまいました。その理論の支柱であった、クルーグマンも浜田氏もその理論の間違いを認めました。その内の1兆円でもいいから、サーバーの中のロボットの開発のような意味のあることに使っていればと思ってしまいます。日本人にできないのなら、オール海外からスカウトしてきた人材に開発してもらってもいいように思います。AGIが最初にサーバーの中で開発されてしまえば、後は最悪、それを所有する個人や企業に世界中の金融の富を搾取されることになってしまって、世界経済は終わってしまうかもしれません。

by チイ


第3次AIブームの背後にあるもの [コンピューター]

 ある人がアルファベット(グーグル)のことを、「彼らを単に、技術やビジネスの観点だけからとらえてはならない。インターネットや人工知能技術の基層には、高みをめざす長い一神教(ユダヤ=キリスト教)の伝統で培われた普遍主義、ロジカルな真理を地上で実現しようとする強烈な理想主義がある。」と言っていた。

 一方でまた、日本のIT専門家の中で、ユダヤ=キリスト教の一神教を背景にしたシンギュラリティ仮説を本気で支持する者は、実はほとんどいないらしい。にもかかわらず、日本のIT業界は原則として、徹底した欧米追従であり、基本的に欧米技術を尊敬しているので、トピックスになっているビッグデータやAIについて、最新技術をキチンとフォローしようとする。さらに、技術的な細部の工夫や効率化に努力をそそぎ、短期的な成果をあげようと必死になるらしい。

 AGIである脳型AIには、「全脳エミュレーション」と「全脳アーキテクチャ」の2つがあるが、全脳エミュレーションは、脳の神経系のネットワーク構造の全てをナノボットを使ってスキャンしてコピーして、コンピュータ上で再現しようとするもの。(=マインド・アップローディング)まさに、「パターン主義」そのものだが、カーツワイルはその実現を本気で信じているようだ。(さすがにここまで来ると、私も???と思ってしまう。)全脳アーキテクチャは、脳の各部位ごとの機能をプログラムとして再現して、その後それらを結合する方式で、日本では、2015年に「全脳アーキテクチャ・イニシアティブ」というNPO法人として組織化されている。

 日本人は、ユダヤ=キリスト教のバックグラウンドにある、そのすさまじいまでの知的スケールに圧倒されてしまって、それを全面的に受け入れるのは難しい様だ。しかし、それを否定するのは簡単だが、それに代わる何か日本的なバックグラウンドがあるのかと言うと、???である。もう「和魂」などと言い出した途端に、TVのスイッチを切ってしまうのは私だけではないはずだ。結果、日本人の仕事は、人間世界に最後に接続する部分だけを、日本人独特の美意識を持ってやるしかなくなる。

 日本の工学部は、欧米の自然科学から、「唯物質論」を「唯物論」として間違って導入していて、それに「エジソンメソッド」(現象論的に物事をとらえてやっていく方法)と日本人独特のモノ作りに関する美意識みたいなものが加わった、寄せ集めの何かよく分からないものになってしまっている。さらに、そこには「パターン主義」が皆無なので、21世紀の工学という意味ではさらに分が悪い。また、日本の理学部はあってないようなものだと思う。どれだけ優秀な人がいたとしても、一石を投じるくらいが関の山だろう。水面に波紋を生じさせるくらいのことしかできない。

 結局の所、AGIも欧米に全てをおぜん立てしてもらって、最後の応用と実用化の部分で負けなければよいという考えでは、何度やっても、いつか来た道を繰り返すだけだ。故糸川英夫が昔日本の産業界が絶好調だった時代に、東京在住の牧師の話をよくしていた。「今日本は、自動車やビデオを作ることに関しては世界一でしょう。でも日本が絶対に忘れてはいけない事実がある。西洋の世界はそのギリギリの存在のためには、日本との関係を絶ってもその存続が可能だ」と。残念ながら、日本には技術やビジネスだけしかない。自らが戦術バカで戦略音痴であることを世界に向かって公言しているようなものだ。

by チイ


人はパターンをつくりたがる動物である [コンピューター]

  最近、図書館でホフスタッター著の「ゲーデル、エッシャー、バッハあるいは不思議の環」(俗にGEB本と呼ばれている)を借りて読んでいたのだが、ページ数が800ページほどもあり、借り出し期間の2週間ではとてもではないが私の頭では読み切れるものではないことが分かったので、7月のはじめ頃に早速Amazonでその「20周年記念版」を買ってしまった。この本はいまから約30年くらい前に第一版が発行になっていて、今ではコンピュータ・サイエンスの古典とも言える本だ。当時、日本の「第5世代コンピュータ」を指揮された渕一博氏などもよく読まれていて、海外では多くの物理屋さんがこの本を読んでAIやコンピュータ・サイエンスの分野に転身していった。

 さすがにもう30年以上もたっているので、最初は買う気は全くなくて、図書館で借りて興味本位でどんなものなのか見てみよう程度だったが、読んでいるうちに、これは熟読して完読しなければいけない内容で、コンピュータに携わる者はいつも手元に置いておかなければいけない本だと分かったので、すぐに買うことに決めた。ホフスタッター自身、物理屋さんでこの本を執筆した後人工知能の分野に転身した人で、この本自体は所謂コンピュータ・サイエンスの専門書ではないが、その内容は専門書にも匹敵すると思うし、ミュージシャンや美術関係者の中にもこの本を愛読されている人はたくさんいるようだ。(ただ、それらの数理的な内容に興味が無い人には、読むのは少ししんどいかもしれない。)

 最近書いたブログ(2016-05-08)「超越としてのシンギュラリティ」の中で、私が罫線で囲ったカーツワイルが言っている文章の中身をもう一度読み返してほしいのだが、このGEB本は、まさにそこで書かれていることを、コンピュータ(ソフトウエア)、音楽、美術の観点から実際に具現化してみせている。そういう意味では、ホフスタッターは物理屋さんであるが、カーツワイルと同じ、「パターン主義者」であることがよく分かる。カーツワイルもホフスタッターも、彼らは、Materialism=唯物質論者(唯物論者ではない!!)であると同時に、パターン主義者でもあるのだ。

 それにしても、ホフスタッターのこの教養の広さは一体どこから来ているのだろうか?この本もそうだが、海外の著名な科学者が書いた一般向けの解説者は分厚い。私はリサ・ランドールの書いた訳書は全て持っているが、大体500~600ページほどのボリュームがある。日本の科学者が書いた一般向けの書籍はと言うと、大体200~300ページほどで、おこずかい稼ぎのために書きましたというような内容ばかりだ。一番ひどいのが、工学部の先生の書いた本で中には100ページくらいのものもある。内容は言うと、応用のことしか書いていなくて、しかも数式などを端折ってわざと難しく書かれてあって、盗まれるのが嫌なら最初から書かなければいいのにと思うような内容ばかり。

 今は第3次のAIブームなので、もう一度、このGEBを読み直してみるいい機会かもしれない。思うのだが、AGIをつくるために必要なことは全てこの中に書かれているような気がする。ただ、まだホフスタッターを含めてAGIは完成されていないので、何かが足りないのか、書かれている中で重要な見落としのようなものがあるのかもしれない。ホフスタッターは、GEB20周年記念のための序文の中で次のように書いている。

 GEBは生命のない物質から生命のある存在がどのように生まれるかを述べようとするたいへん個人的な試みだ。GEBは、生命のない分子を意味のない記号に、さらに自己を特別な、渦のような、意味のあるパターンになぞらえる。この本は、こうした奇妙な捩れたパターンにページを費やしている。それは、そうしたパターンがあまり知られておらず、あまり理解されておらず、直感に反し、謎に満ちているからだ。そして、私はこの本で、このような不思議な環状のパターンを「不思議の環」と呼ぶ。

2016070212090001_cut.jpg

by チイ


前の10件 | - コンピューター ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。