X



(強いAI)技術的特異点/シンギュラリティ161
■ このスレッドは過去ログ倉庫に格納されています
0001オーバーテクナナシー
垢版 |
2019/06/07(金) 05:08:40.68ID:6Stjfr7P
2045年頃に人類は技術的特異点(Technological Singularity)を迎えると予測されている。
未来技術によって、どのような世界が構築されるのか?人類はどうなるのか?
などを様々な視点から網羅的に考察し意見交換する総合的なスレッド

■技術的特異点:収穫加速の法則とコンピュータの成長率に基づいて予測された、
生物的制約から開放された知能[機械ベース or 機械で拡張]が生み出す、
具体的予測の困難な時代が到来する起点

■収穫加速の法則:進歩のペースがどんどん早くなるという統計的法則
ここでの進歩とは、技術的進歩だけでなく生物的進化、生化学的秩序形成も含む

★ 関連スレ(特化した話はこちらで)
(AI) 技術的特異点と政治・経済・社会 (BI)
http://goo☆.gl/riKAbq
(情報科学) 技術的特異点と科学・技術 (ナノテク)
http://goo☆.gl/RqNDAU

※URL部分をコピーし、☆を消してペースト※

※前スレ
(強いAI)技術的特異点/シンギュラリティ160
https://rio2016.5ch.net/test/read.cgi/future/1558461295/

(強いAI)技.術的特.異点/シ.ンギュラリティ158(実質159)
https://rio2016.5ch.net/test/read.cgi/future/1556813165/

(強いAI)技術的特異点/シンギュラリティ158
https://rio2016.5ch.net/test/read.cgi/future/1556696545/
0067yamaguti
垢版 |
2019/06/07(金) 11:21:47.09ID:4Z3mBigD
>62 yamaguti 190514 1345 2vGaUUWM \ \>51 yamaguti 190419 0258 CVBD0yuO
>> http://rio2016.2ch.net/test/read.cgi/future/1427220599/691-744#(691,697,744)# AAP ## CM-1
>> http://rio2016.2ch.net/test/read.cgi/future/1489922543/184-272#267#1481407726/105-154# E2EDGE
http://rio2016.2ch.net/test/read.cgi/future/1552014941/49-51##1534904728/14-20# YuukiKa # TRONCHIP 68 32bitARM ## E2EDGE
http://google.jp/?q=hamada-hozumi-urr+OR+futamura-syaei+OR+k-gyaku-konpaira
>> http://google.jp/search?q=hannya-singyou+tetugaku
>> :
>>>Google 翻訳 http://webcache.googleusercontent.com/search?q=cache:mazonka.com/st/lcss.pdf#iT0urchwkbIJ
>> :
>> :
>>> Subleq ベースのシンプルなマルチプロセッサコンピュータ
>>>
>>>
>>> Oleg MazonkaとAlex Kolodin
>>> mazonkaATgmail alex.kolodinATgmail
>>>
>>> 2011年5月(改訂3、草案8)
>> :
>>
>>前回 http://rio2016.2ch.net/test/read.cgi/future/1555604755/50-66#48-71
> 前回 http://rio2016.2ch.net/test/read.cgi/future/1556696545/98-106#-109
前回 http://rio2016.2ch.net/test/read.cgi/future/1556813165/61-84#-90
訂正>命令の第2オペランドで同じ事をします - クリアして初期化する(3行目)。
:
> :
>> Smalltalkの背後にある設計原則
>>http://rio2016.2ch.net/test/read.cgi/future/1554363939/71-85#-88#+OR+plan9+OR+elis-tao+OR+simpos-esp+OR+model1sega+OR+tronchip+OR+hpky-universaltransformer
>> 世界の構造を学習する事を新皮質内カラムが如何にして可能たらしめるかの理論
>> http://rio2016.2ch.net/test/read.cgi/future/1547171604/43-67# 投影 : 投射
>> ハイデルベルクニューロモルフィックコンピューティングプラットフォームへのHTMモデルの移植
>> http://rio2016.2ch.net/test/read.cgi/future/1548169952/26-37#-52# http://rio2016.2ch.net/test/read.cgi/future/1552014941/69-81#67-89#
0069yamaguti
垢版 |
2019/06/07(金) 11:23:40.55ID:4Z3mBigD
4.5 乗算

Subleqにおける唯一の些細な乗算は2倍の乗算であり、

  t=a+a: t; a Z; a Z; Z t; Z

?、式を使用できます
2つの数字を乗算するには、以下の式を使用できます

  A*B = (2A)*(B/2) + A*(B%2)

? ry 整数とモジュール分割が必要です。
これは単純な再帰式ですが、整数と剰余演算とが必要 。
除算は、次のアルゴリズムとして実装できます
? ry 与えられたとき、Bは2だけ増加し、次の増加がBよりAより大きくなるまで増加する。
2つの数AとBが与えられた時 B を、 B が A より大きくなるまで 2 倍
? ry させると同時に、別の変数Iを2だけ増やします。これは1に初期化されています。
Bを増加させ同時に、 1 に初期化されている別の変数 I を 2 倍
? ry と、私は除算の結果の一部を保持しますか? 残りはABと元のBを ry 。
BがAより大きくなると、 I は除算の結果の一部を保持し - 残りは A - ( 訳注 : 前回の ) B と元の B とを使用してさらに計算 。
これは再帰的にすべてのIを蓄積することができます。
A <Bの最後のステップでは、Aはモジュラスです。
このアルゴリズムは、Cの短い再帰関数として実装できます
? 終了時に、この関数は引数jの結果と除算モジュラスとして整数除算を返します。
この整数除算その結果と、そして引数 j の除算モジュラスとを、この関数は終了時に返します。
0071yamaguti
垢版 |
2019/06/07(金) 11:25:47.23ID:4Z3mBigD
>>69
  int a, int b, int * j)
  {

    if( a < b ) { *j=a; return 0; }  // 0を返します。

    int b1=b, i=1, bp, ip;

  next:          // 次:
    bp = b1; ip = i;
    b1 *= 2; i *= 2;
    if( b1 > a )
      return ip+divMod(a-bp,b,j);
    goto next;        ? // 次へ進む。  // next へ行く;
  }


?15?

Page 16


この機能は最適ではありません。
再帰を別の外部ループに置き換 、より効率的な関数を実現できます。
非常に精巧な計算を必要とする乗算、整数およびモジュラ除算演算は、ライブラリ関数として実装できます。
つまり、各乗算a * bは、呼び出し_mul(a、b)に置き換え でき、後でコンパイラは関数の実装を(必要に応じて)追加 できます。
0072yamaguti
垢版 |
2019/06/07(金) 11:26:12.90ID:4Z3mBigD
4.6 条件ジャンプ

Cでは、ゼロと評価されるブール式は偽であり、非ゼロは真
? Subleqでは、すべてのブール式が平等または不等号に基づいてゼロに評価されるため、ブール式を処理するときにコードが長くなります。
Subleq ではブール式を扱う場合にコードが長くなりますが何故なら全てのブール式評価が 0 との等又不等に基づく為です。

? ry 偽と正の値を真として扱 ry 。
より良い方法は、ゼロ以下を偽とし正の値を真として扱うこと
? if-expression if(expr){<body>}が1つの命令にすぎない場合
すると if-式 if(expr){<body>} はたった 1 つの命令

  Z t next
  <body>
  next: ...     次: ...

? tは式 ry 。
になり t が式exprの結果です
? ただし、(x + 1){...}がブール値への暗黙的な変換の場合など、Cと完全に互換性を保つために、 ry 。
但し注意として、 C ( 例えば、ブール値への暗黙的な変換としての if(x+1){...} ) との完全互換の為に、整数式がブール値として使用されるすべてのケースを検出 要
? ry です。
幸い、そのようなケースはほんのわずかです :

  if(expr)
  while(expr)
  for(...,expr,...)
  ! expr
  expr1 && expr2
  expr1 || expr2

? ry できるので、コンパイラはブール値や整数式を気にする必要がなく、より ry 。
この作業はパーサ内で行うことができ、するとコンパイラは、ブーリアンか整数か式に付いてを気にする必要がなくそしてより単純なコードを生成 できます。
0073yamaguti
垢版 |
2019/06/07(金) 11:27:32.45ID:4Z3mBigD
? ry 、次のようになります。
ブール変数が式で整数として使用 場合、次の様に :

  引数f(a> 0)を渡し、
?  関数の戻り値(a> 0)から戻り値。
  関数 return(a>0); から戻り値。
  代入x =(a> 0)。
  他の算術式x = 1 + 5 *(a> 0)。

変数はCスタイルに変換 要 。つまり、負の結果はゼロにな 。
これは、以下のように簡単に行うことができます。

  x Z ?+3; x; Z     ? x≠z + 3であり、 バツ; Z
0074yamaguti
垢版 |
2019/06/07(金) 11:28:29.35ID:4Z3mBigD
Z x ? + 3    x > 0  次の行のアドレス + 3 ( = 4 - 1 ) 番地つまり次の次の行から実行
Z Z ■ →         ? グーグー
x Z ■ →
Z      x == 0

x < 0

? 図3条件付きジャンプを表す図
図3 条件ジャンプを表すダイアグラム


?16?

Page 17


? ry 0より小さい、等しい、またはより大きい場合の簡潔 ry とおりです。
値が0より小さいか等しい、か、より大きいかの簡潔なチェックは次の通りで :

  Z x ?+3; Z Z G; x Z E; Z; L:

、L、E、およびGは、xがそれぞれ0より小さい、等しい、または大きい場合の実行に合格するアドレスです。
図3に実行のスキーマを示
? xが変わらず、Zがゼロであることに注意してください。
x は変化しない、そしてどんな exit に於ても Z はゼロである、に注意。
0075yamaguti
垢版 |
2019/06/07(金) 11:29:26.36ID:4Z3mBigD
5.結果


図4は、USBケーブルを介してFPGAボードに給電した状態を示 。
ボードは約5 x 7センチメートル 、28個のSubleqプロセッサを搭載 、プロセッサあたり2 KBのメモリが割り当 、 ック周波数150 MHz ( 図4 FPGAボード、28個のSubleqプロセッサ、プロセッサあたり2 Kb割り当て )

ボードの効率をテスト 、 2つの数学的問題 。
最初は、算術演算グループの関数剰余のサイズを計算
? ry 2番目のモジュールは、二重階乗を計 ry 。
2番目に、モジュラ二重階乗を計

5.1 テスト#1

? ry テストでは、次のプロセスの関数残基の順序を見つける問題を選択 。
最初のテスト 以下に示す、関数残基の順序を見つける問題 :

  xi +1 = 2 xi mod M
  yi +1 = 2( xi + yi ) mod M

? x ry 、Mはある値です。
で、 xとyは1に初期化された整数、modはモジュロ演算、M はとある値 。
点(x0 = 1、y0 = 1)から出発して、方程式は対のシーケンスを生成 。
? この問題は、解決策が難しく、M(M 2未満)よりも頻繁に答えが多いため、この問題を選択しました。
解法が難しく、答えが M よりもしばしば非常に大きい ( しかし M 2 未満 ) 為 、この問
? ry 数Mが選択されたので、計算 ry 。
数 M がその様に選択される計算は数分で完了 できました
? ry 新しいペアのペア ry 同じになります。
このシーケンスが十分に長い場合、生成された新しい数のペアは、シーケンス内で以前に生成されたペアとやがて同じになります。
タスクは、同じ値を持つ結果が最初に出現するまでに完了する必要のあるステップの数を見つけること 。
のテストでは、Mの選択値はM = 5039であり、反復回数は12693241と計算された。
0076yamaguti
垢版 |
2019/06/07(金) 11:31:24.92ID:4Z3mBigD
Page 17

?18?


? ry のACプログラムは、 ry ます。
この問題を解決するための C プログラムは、乗算または除算を使用せずに記述 できます : >>75

  int x=1, y=1, m=5039;
  int c=0, ctr=1, t;
  int x0=0, y0=0;

  int printf();
  int main()
  {

    while(1)              ? // 一方、(1)
    {
      y += x; y += y; x += x;
      while( x>=m ) x-=m;
      while( y>=m ) y-=m;

      if( x==x0 && y==y0 ) break;

      if( ++c==ctr )
      {
        x0=x; y0=y;
        c=0; ctr+=ctr;
      }
    }
    printf("point: %d %d loop: %d of %d\n",x0,y0,c+1,ctr);  printf( "ポイント:%d%dループ:%dの%d \ n"、x0、y0、c + 1、ctr);
  }
0077yamaguti
垢版 |
2019/06/07(金) 11:33:32.27ID:4Z3mBigD
? ry ます。
このプログラムは、以下の場合にテストされています : >>75-76 >>75 >>76

1. Subleqコンパイラでコンパイルし、FPGAボード上のプロセッサの1つで実行 。
2. Subleqコンパイラでコンパイルし、PC#1(Intel Q9650 at 3GHz)でエミュ
3. Microsoft C / C ++コンパイラ(v16)で完全最適化してコンパイルし、PC#1で実行
4. 2と同じですが、PC#2(1.7GHzのPentium 4)で動作します。
? 5. PC#2で3回実行と同じ
5. 3 と同じ事を PC#2 で

以下の表は、各テストの実行時間を秒単位で示 。

1 Subleq on 1プロセッサFPGA  94.0
2 Subleq on PC#1     46.0
3 C on PC#1        0.37
4 PC#2上のSubleq       216
? PC#2の5C        0.54
5 PC#2 の C        0.54

これらの結果から、FPGA上の単一プロセッサの速度は、Subleq命令をエミュレートする場合、通常のPCのCPUの速度と同じオーダーの大きさであると結論づけ 。
PC上のネイティブコードは約100倍高速
0078yamaguti
垢版 |
2019/06/07(金) 11:34:54.07ID:4Z3mBigD
5.2テスト#2

? ry 計算であった。
第2のテストは、モジュラー二階乗の計算、つまり

   N n
  (N !)! mod M = ?? i mod M
   n =1 i =1


Page 18

?19?


、マルチプロセッサSubleqシステムのフルパワーを使用 できました。上記の式の乗算は28個のプロセッサすべてで並列に計算できるため 。
N = 5029およびM = 5039の場合、結果は95であり、これらの数値はテストで使用 。
数Mはテスト#1と同じであり、数NはASCII印刷可能範囲内の結果(95)を与えるように選択
? ry た。
計算は次の構成で実行されました :

? 1.手書きFPGAボードのSubleqコード実行[ ry
1. 手書きの Subleq コードを FPGA ボード上実行 [付録7.3]
? ry コード(最初のテストではPC#1と同じ)
2. PC上でエミュ されたSubleqコード ( 最初のテストを PC#1 上でと同じ )
? ry じCコ ry ルされ、PC上で実行される同等のCコード[付録7.1]
3. 同じ C コンパイラでコンパイルされた同等の C コードそして PC上で実行 [ 付録7.1 ]
4. Subleqコンパイラでコン され、PC上でエミュ された同じCコー
5. Cコン でコ してPC上で実行する乗算演算なしの等価Cコード[付録7.2]
6. Subeqコ でコ され、PC上でエミュ された5と同じCコード
0079yamaguti
垢版 |
2019/06/07(金) 11:38:39.74ID:4Z3mBigD
>>78 >>75-77
? ry いるように?O(N^2)ではなく、モジュラ ry 、問題への解決に?O(NlogN)演算 ry 、使用 ry 。
付録に示されている様な、 ~O( N^2 ) でなくモジュラ累乗を利用する場合 、 ~O( NlogN ) 演算が必要なので、我々が使用したコードは100%効率的ではありませ 。
ただし、これは相対的なパフォーマンスを評価する際には重要ではありませ

結果を以下の表に示す。 >>78 >>75-77
値は秒単位の実行時間です。

1 FPGA上のSubleq、28プロセッサで並列    62.0
2 PC上のサブレック(エミュ )       865
? ry 付き3 C、PC上で実行可能な実行0.15
3 乗算付 C 、実行形態を PC 上で実行     0.15
? ry 付き4 C、PC 12060でエミュ ry たSubleq
4 乗算付 C 、PC でエミュ Subleq      12060
? ry なしの5 C、PC 7.8で実行可能な実行
5 乗算なしの C 、実行形態を PC 上で実行    7.8
? ry なしの6 C、PC 9795でエ ry たSubleq
6 乗算なしの C 、PC でエミュ Subleq    9795

28のFPGAプロセッサは、PC上で同じSubleqコードのエミュ を容易に凌駕
? ry にコンパイルされた乗算のないCコードは、乗算付きのCコードよりも高速に実行 。 ry 関数ほど効率 ry 。
Subleqにコンパイルされそしてエミュ 実行で、乗算なしの C コードは乗算ありの C コードよりも高速 。これは、コンパイラのライブラリ乗算関数がこの例で記述された乗算関数程には効率的でないため 。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況