[過去ログ]
(強いAI)技.術的特.異点/シ.ンギュラリティ158 (1002レス)
(強いAI)技.術的特.異点/シ.ンギュラリティ158 http://rio2016.5ch.net/test/read.cgi/future/1556813165/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
68: yamaguti [sage] 2019/05/14(火) 13:51:26.95 ID:2vGaUUWM ?9? Page 10 ? ry 、ラベル_fにジャンプします。 スタックに書き込まれた負の値は、ラベル _f へのジャンプを強制します。 >>67 関数fの内部では、スタックポインタを変更することができますが、関数が終了する前にそれを復元すると仮定 。 したがって、リターンコードはスタックから抽出されたアドレスにジャンプしなければなりません: A; sp A B; A:0 B Z Z B:0 ここでスタックポインタspの値はAに書き込まれ、命令A:0 Bは格納されたアドレスをBにコピーする ? ry が負に格納され、 ry 。 アドレスが負で格納され、正の値が復元されています。 ? ry だけではありません。 スタックはリターンアドレスを格納するだけという訳ではありません。 これについては、後のサブセクション4.3と4.4で説明 。 http://rio2016.5ch.net/test/read.cgi/future/1556813165/68
69: yamaguti [sage] 2019/05/14(火) 13:52:20.62 ID:2vGaUUWM http://rio2016.2ch.net/test/read.cgi/future/1508026331/993#1504872499/60#1508569617/2# Hoken http://rio2016.5ch.net/test/read.cgi/future/1556813165/69
70: yamaguti [sage] 2019/05/14(火) 13:52:54.78 ID:2vGaUUWM 4.2 式 ? C言語の操作は、キーワード・ ry と式で ry 。 C 言語のオペレーションは、キーワード・ステートメントと式とで構成されるステートメントで構成 ? The syntax of keyword statements and expressions are best represented by Backus-Naur Forms (BNF) ? ? ry (BNF)によって最もよく表現されますか? 文脈自由文法を表す標準的な方法。 キーワードステートメントと式の構文はBackus-Naur Forms(BNF) - 文脈自由文法を表す標準的な方法 - によってベストに表現されます 。 古典的な例は、算術式の文法です: expression:= 式:= term ? 期間 expression + term ? 式+用語 expression - term ? 表現 - 用語 term:= primary 一次 term * primary ? 期間*プライマリ term / primary ターム/プライマリ primary:= プライマリ:= identifier 識別子 constant 定数 ( expression ) (表現) これらの相互に再帰的な定義は、文法的に有効な任意の式のツリー表現を構築するためにparserと呼ばれるプログラムによって使用できます。 ? このような ry 役割は、一連の命令を整理 ry 。 ひとたびこのようなツリーが構築されれば、コンパイラの役割は、命令のシーケンスを整理して、すべてのサブツリーの結果がツリーに渡されるようにすること 。 たとえば、式のツリー: http://rio2016.5ch.net/test/read.cgi/future/1556813165/70
71: yamaguti [sage] 2019/05/14(火) 13:53:48.12 ID:2vGaUUWM a + ( b - c ) ? ノード ry 変数a、およびノー??ド「 - 」と変数bおよびcからなるサブツリーからなる。 は、 ノード「+」、変数 a、および、ノード「 - 」と変数 b および c とからなるサブツリー、からなる。 図 a + b - c ? ry 。これは後でさらに使用 ry 。 ry 。 計算を行うために、コンパイラは、サブツリーの結果を格納するために一時変数を使用 要 。これは後に加算で使用 要 。 この式がより大きな式の一部である場合、潜在的にさらに使用される可能性があります。 ? ry では、一時的なものは1つ ry 、 ry の一時的なものが必要です。 この特定の例では、テンポラリは 1 つだけ必要ですが、一般的には多くのテンポラリ 要 。 式は次のコードにコンパイルされます: t; b Z; Z t; Z c t a Z; Z t; Z ?10? Page 11 http://rio2016.5ch.net/test/read.cgi/future/1556813165/71
72: yamaguti [sage] 2019/05/14(火) 13:55:11.30 ID:2vGaUUWM 最初の行は値bを一時的なtにコピーします。 >>71 2行目は、一時的な値から値cを減算 ? ry 、コンパイラはサブツリーで終了します。 この時点で、サブツリーを携えてコンパイラは終了 。 その結果は、生成されたコードと、計算されたサブツリーの値を保持する一時変数t 。 今度はコンパイラが追加用のコードを生成 。 ? その引数は変数aと一時tです。 その今度の引数は変数 a とテンポラリ t ? 3行目にaを追加します。 a を t に 3 行目で加算 。 今、tは式全体の結果を保持 。 この式がより大きな式の一部である場合、tはツリーの上位ノードへの引数としてツリーに渡され 。 そうでない場合は、評価が終了したため、t値は破棄 より高度な文法には、代入、逆参照、単項演算など 。 しかし、各文法構造は、対応するサブツリーによって表現され、後にコンパイラによって処理されてコードを生成 できる ? 例えば、Cで表される逆 ry 減算は次のようになります。 例えば、逆参照された値からの減算の C 表記つまり : *k -= a ? 翻訳されなければならない は次の様に変換されなければならない t; k Z; Z t; Z a t:0 ここでは、間接参照のために一時変数をコード内で使用 要 ? 命令の順序は次のとおりです。 kをtにコピーする。 aからkを引く。 命令の手順は : t をクリア。 k を t にコピーする。 k がポイントするメモリから a を引く。 http://rio2016.5ch.net/test/read.cgi/future/1556813165/72
73: yamaguti [sage] 2019/05/14(火) 13:55:58.90 ID:2vGaUUWM http://rio2016.2ch.net/test/read.cgi/future/1507446438/985-992# YowaiAI Kiken ## KoutuuJiko http://google.jp/search?q=rokoukyou+jiken http://rio2016.5ch.net/test/read.cgi/future/1556813165/73
74: yamaguti [sage] 2019/05/14(火) 13:56:58.47 ID:2vGaUUWM ここでは、文法処理のいくつかの要素が触れられている。 ? ry するために数ページしかかかりません。 C文法は、BNFをリストするだけの為に数ページ使います ? ry 文法は、 ry 。 しかし、より大きくより複雑な文法が、同様の方法でコンパイラによって解決される 4.3 関数呼び出し ? ry 、スタックに押し込んでポップ ry 。 上のサブセクション4.1では、スタックにプッシュしポップする方法が示 。 関数が引数を取るとき、それらは戻りアドレスとともにスタックにプッシュされなければならない。 関数の復帰時にスタックを復元 要 。 2つの引数を取る関数を考えてみましょう: int f(int a, int b); ... f(a,b); 関数fへの呼び出しは、次のようなものに変換されなければなりません # 1 push b #1プッシュb # 2 push a ? #2プッシュ # 3 push return_address # 4 goto f # return_address: # 5 sp -= 3 ? ry 別の式の一部にすることができます。 コンパイラ Cの引数は式に でき、関数への呼び出しは別の式の一部 - サブ式に できます。即ちコンパイラは次のようなより複雑なケースを適切に処理 要 ?11? http://rio2016.5ch.net/test/read.cgi/future/1556813165/74
75: yamaguti [sage] 2019/05/14(火) 13:58:08.44 ID:2vGaUUWM Page 12 int f(int a, int b) { ... return f; fを返す。 } ... int k; k=f; k(f(1,2),3); // call via variable - indirect call //変数経由で呼び出し - 間接呼び出し k = f(1,2)(3,4); // call by return value //戻り値で呼び出す ここでは簡単のため、Cの関数型int(*)(int、int)はintとして表さ ? ry は1つの変数タイプのみ ry 。 Subleqは変数の型を 1 つのみサポート ? したがって、より精巧なタイピングシステムは、言語に余分な機能を導入しません。 従って言語に、余分な機能をより精巧なタイピングシステムが齎しません ? ry として適切に計算 ry 。 スタックにプッシュされた引数は、サブ式(サブツリー)として恙なく計算できます ? 実際の関数呼び出しのこの意味では、プログラム変数または一時変数のいずれかがスタック ry されることはありません。 この意味では、プログラム変数又は一時変数、のどちらも実際の関数呼出でスタックにプッシュされるいわれはありません。 http://rio2016.5ch.net/test/read.cgi/future/1556813165/75
76: yamaguti [sage] 2019/05/14(火) 13:58:46.94 ID:2vGaUUWM # 1 push B #1プッシュB ? # ry [spは負であることを覚えています] #スタック内の次のセルをクリアする[ sp が負である事を忘れない ] ? #下の行はCの構文と同じです:*(++ sp)= 0; # *(++sp)=0; という C 構文と下の行とは同じです: dec sp; t1; sp t1; t2; sp t2; t1:0 t2:0 #Cの構文と同じです:* sp + = B; t3; sp t3; b Z; Z t3:0; Z #2プッシュA ? # the same with A ? B ? #Aと同じ dec sp; t4; sp t4; t5; sp t5; t4:0 t5:0 t6; sp t6; a Z; Z t6:0; Z #3 push return_address dec sp; t7; sp t7; t8; sp t8; t7:0 t8:0 t9; sp t9; t10 t9:0 goto_address . t10: return_address #4 goto f goto_address: Z Z f #5 sp - = 3 return_address: const(-3) sp ? 表記const(-3)spは ノート : const(-3) sp は以下の短縮 unique_name sp ... unique_name:-3 http://rio2016.5ch.net/test/read.cgi/future/1556813165/76
77: yamaguti [sage] 2019/05/14(火) 13:59:52.88 ID:2vGaUUWM ? ry 扱っていません。 上のコードは戻り値も間接呼び出しもまだ扱っていません。 >>76 戻り値は特別な変数(レジスタ)に格納できます ? ry サブ式でする場合は、戻り値をすぐに一時的に値にコピー ry 。 プログラムがサブ式の戻り値を使用するならば、戻り値を return 後すぐにテンポラリにコピー 要 ? ry アドレスを一時的に保持する参照解除によって ry 。 間接呼び出しは、関数のアドレスを保持しているテンポラリを間接参照する事によって実現できます。 それは簡単ですが、より複雑なコード スタックポインタは、関数がスタック(ローカル)変数を要求するときに関数内で変更できます。 ローカル変数にアクセスするには、通常、ベースポインタbpが使用されま ? 関数の ry 。 ローカル変数の基本参照 ry いますか? 各ローカル変数には、ベースポインタからの関連オフセットがあります。 関数の終わりにスタックポインタを復元するために使用 ry 。 それは関数の入り口で初期化されます。 それはローカル変数のベース参照として使用されています - 各ローカル変数は、ベースポインタから紐付けられたオフセットを持ち 。 そしてそれはスタックポインタ復元の為に関数の終わりで使用されま ? ry できます。つまり、各関数は、終了時のベースポインタの終了時に入力および復元時に保存する必要があります。 関数は他の関数を呼び出すことができ、つまり、各関数が、ベースポインタをエントリ時点で保存しそして終了時に復元 要を意味します ? ry ます。 したがって、関数本体は次のコマンドでラップする必要があります : ?12? Page 13 http://rio2016.5ch.net/test/read.cgi/future/1556813165/77
78: yamaguti [sage] 2019/05/14(火) 14:00:38.44 ID:2vGaUUWM 1. # push bp 1.#プッシュbp 2. # sp -> bp 3. # sp -= stack_size # ... function body #...関数本体 5. # bp -> sp 6. # pop bp 7. # return ? 7.#返品 またはSubleqコードで。 dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0 ?+6; sp ?+2; bp 0 bp; sp bp stack_size sp # ... function body #...関数本体 sp; bp sp ?+8; sp ?+4; bp; 0 bp; inc sp ?+8; sp ?+4; ?+7; 0 ?+3; Z Z 0 http://rio2016.5ch.net/test/read.cgi/future/1556813165/78
79: yamaguti [sage] 2019/05/14(火) 14:01:37.63 ID:2vGaUUWM ? ry 、解析中の関数 ry 。 stack_sizeは定数で、パーシングに伴って関数ごとに計算されます >>78 ? bp ry 不十分であることが判明しました。 要するに bpを保存するだけでは不十分 。 関数呼び出しは、式の中で起こることがあります ? ry 、表現の一時的なものを保存 ry 。 そのような場合には、式の全てのテンポラリを保存しなければならない ? 新しい機能は、 ry 同じ一時メモリセルを ry 。 新しい関数は、それ自身の必要性のために同じテンポラリメモリセルを使用することになります。 式f()+ g()に対して、呼び出しの結果は変数t1とt2に格納 ? ry いる関数gがt1を変更 ry 。 関数fの結果が格納されている t1 を関数 g が変更すると、問題が発生 ? ry 、すべての機能を使用しているすべての一時的なデータをスタック ry 。 解決策は、各関数毎にそれが使用している全テンポラリをスタックにプッシュし、終了時にそれらを復元すること 。 以下の関数を考えてみましょう: int g() { return k+1; // k + 1を返す。 } ? ry に翻訳されます: それは次のようにトランスレートされます: http://rio2016.5ch.net/test/read.cgi/future/1556813165/79
80: yamaguti [sage] 2019/05/14(火) 14:02:52.89 ID:2vGaUUWM >>79 _g: # save bp dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0 ?+6; sp ?+2; bp 0 bp; sp bp # push t1 #プッシュt1 dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0 ?+6; sp ?+2; t1 0 # push t2 #プッシュt2 dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0 ?+6; sp ?+2; t2 0 # calculate addition #加算を計算する t1; t2 _k t1 dec t1 t1 t2 # set the return value [negative] #戻り値を設定する[負] ax; t2 ax ? 斧; t2 ax # pop t2 ?+8; sp ?+4; t2; 0 t2; inc sp # pop t1 ?+8; sp ?+4; t1; 0 t1; inc sp # restore bp sp; bp sp ?+8; sp ?+4; bp; 0 bp; inc sp # exit # 出口 ?+8; sp ?+4; ?+7; 0 ?+3; Z Z 0 http://rio2016.5ch.net/test/read.cgi/future/1556813165/80
81: yamaguti [sage] 2019/05/14(火) 14:03:42.63 ID:2vGaUUWM ?13? Page 14 コードのどこかに他の関数の呼び出しがある場合、他の関数が実行時にそれらを保存して復元するため、一時変数t1とt2は計算値を保持 ? ry すべての一時的なデータはスタック ry されるので、使用された一時的なデータの数を減らすために支出されます。 関数内で使用された全てのテンポラリがスタックにプッシュされる事を以て、使用されるテンポラリの数を減らす為の支払となります。 ? これは、使用された一時的なものを、使用された一時的なもののプールに解放することによって、これを行うことができます。 これは、使用されたテンポラリを、使用テンポラリのプールに逃がすだけで可能 ? ry 、新しい一時的なものが要求 ry 新しい一時的なものが割り当てられます。 その後、新しいテンポラリが要求されると、プールが最初にチェックされ、そのプールが空の場合にのみ新しいテンポラリがアロケート ? 表現 式 http://rio2016.5ch.net/test/read.cgi/future/1556813165/81
82: yamaguti [sage] 2019/05/14(火) 14:04:22.71 ID:2vGaUUWM 1+k[1] ? コンパイルする は以下の通りにコンパイルされる t1; t2; _k t1; dec t1; t1 t2 t3; t4; ?+11; t2 Z; Z ?+4; Z; 0 t3; t3 t4; t5; t6; dec t5; t4 t5; t5 t6 # result in t6 ? #t6の結果 # 結果は t6 の中 ? ry 時間軸のプール ry 、時間軸の数 ry 半分になります。 テンポラリのプールが導入されると、テンポラリの数は半分になり : t1; t2; _k t1; dec t1; t1 t2 t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3 t1; t2; dec t1; t3 t1; t1 t2 # result in t2 ? #結果はt2になります #結果は t2 の中 ? ry 削除するコードが ry 。 対応するプッシュおよびポップ操作を削除しコードが大幅に削減 4.4スタック変数 bpがスタックに置かれ、spがデクリメントされてメモリが割り当てられると、すべてのローカル変数が使用可能になります。 コンパイラはアドレスを知らないため間接的にしかアクセスできませ ? 例えば、関数f in 例えば、以下の関数 f http://rio2016.5ch.net/test/read.cgi/future/1556813165/82
83: yamaguti [sage] 2019/05/14(火) 14:05:16.37 ID:2vGaUUWM int f(int x, int y) { int a, b=3, c[3], d=5; ... } f(7,9); ? スタックサイズが6に等しい4つのローカル変数があります。 は 6 に等しいスタックサイズと共にある 4 つのローカル変数、を持ちます。 ? ry 関数が入力されると、スタックは次の値を ry : この関数が開始されると、スタックは下記の値を持ちます: ... y[9] x[7] [return_address] [saved_bp] a[?] b[3] c0[?] c1[?] c2[?] d[5] ... ^ ^ (bp) (sp) コンパイラは、bpからの各変数のオフセットについて知っています。 ?14? Page 15 可変オフセット y -3 x -2 a 1 b 2 c 3 d 6 http://rio2016.5ch.net/test/read.cgi/future/1556813165/83
84: yamaguti [sage] 2019/05/14(火) 14:06:33.09 ID:2vGaUUWM したがって、コードでは、配列を指さないローカル変数への参照は*(bp + offset)で置き換 できます ? arrayの ry 。 配列の名前は最初の要素のアドレスなので、配列cは(bp + offset)に置き換えなければなりません。 名前は変数を参照するのではなく、[]で参照することは変数を参照します。 Cで c[i] ? is the same as ? is the same as ? と同じです は以下と同じで *(c+i) この例では次のように解釈できます。 >>83 *((bp+3)+i) http://rio2016.5ch.net/test/read.cgi/future/1556813165/84
85: YAMAGUTIseisei [sage] 2019/05/14(火) 14:07:31.23 ID:2vGaUUWM >23 yamaguti 190501 1857 q5mPIwuH \ \>63 yamaguti 181027 1626 AJ0Ulonr? \> >82 yamaguti 180911 0927 GkbIB6hZ? \> >97 YAMAGUTIseisei 180909 0738 vMpjqLBja? |||| >96 ||||>558 ー 180906 2307 MjfFtwan |||| : ||||| いよいよ脳スキャン技術は整った reddit 注目ポスト ||||>http://reddit.com/r/Futurology/comments/9d7hsz/huge_breakthrough_they_can_now_use_red_light_to |||| |||| Google 翻訳 |||| ||||| 投稿者 u / GWtech ||||>巨大なブレークスルー。 赤い光を使って、脳の中 (6ミクロン) 見 ry 皮膚と骨を通し 。 MRIやFMRIよりも速い 完全な脳の読影 || : ||||>2.目標色深度に体内に送られた音でオレンジ色に調整 ||||>3. 一致する第2のオレンジ色の光を使用して、オレンジ色の波面を出るカメラベースのホログラムを作成 ||||| 4. カメラの電子チップからホログラムを100万分の1秒で読み込み、 || : ||||>http://m.youtube.com/watch?v=awADEuv5vWY || : ||||>比較すると、MRIは約1mmの分解能であるため、 ーロンレベル スキャン できません。 ||||>光技術は 、血液中の血液および酸素を感知 でき、 、FMRIのような細胞活性化レベル |||||。完全なニューロンレベル スキャンとレコーディング 。 ||||| 完全なコンピュータと脳の相互作用。 ||||>非常に軽量な着用可能な衣服で、医療診断 、非常に安い |||| : |||||、バイオテクノロジー、ナノテク、AI、3D印刷、ロボ 制御、 寿命延長クライオジェニックの凍結/再構築の |||| : ||||>特許 http://www.freshpatents.com/Mary-Lou-Jepsen-Sausalito-invdxm.php ||||| 994件のコメント http://rio2016.5ch.net/test/read.cgi/future/1556813165/85
86: YAMAGUTIseisei [sage] 2019/05/14(火) 14:08:03.75 ID:2vGaUUWM http://rio2016.2ch.net/test/read.cgi/future/1483110011/541#544#1489922543/136# JidouToutatu http://rio2016.2ch.net/test/read.cgi/future/1541837624/8-9#3-11# SakamuraSensei MaruyamaSensei ,,, http://rio2016.5ch.net/test/read.cgi/future/1556813165/86
87: YAMAGUTIseisei [sage] 2019/05/14(火) 14:08:36.83 ID:2vGaUUWM 「Neural Lace」脳から直接コンピューターに指令する未来 最新のワイヤレスBMIを開発するNaturalinkとは? http://innovation.mufg.jp/detail/id=204 >344 ー 190506 1143 CZAbmnyX >現実の経験一切無しで、脳の神経細胞の活動を操作して完全に人工的な記憶を作り出 >http://nature.com/articles/s41593-019-0389-0## > 見事な組み合わせ実験 > https://twitter.com/dhtanaka/status/1125193642698608640 : >949 ー 190514 0016 6h6QPvFW > 】ポケモンっ子だった大人の脳 「 領域」 脳スキャンで判明[ > https://egg.5ch.net/test/read.cgi/scienceplus/1557721877/ >193 ー 190504 0850 sTW8lDdd > >176 > >意味や解釈を構造的に格納でき、“文脈を捉える”ことができようになる。 : > バイドゥのAI技術、言葉を理解する自然言語処理モデルを開発 > https://trend.nikkeibp.co.jp/atcl/contents/technology/00004/00090/ > >BERTを超えるパフォー 、 単語の意味を理解して推測 https://twitter.com/5chan_nel (5ch newer account) http://rio2016.5ch.net/test/read.cgi/future/1556813165/87
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 915 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.010s