「演算」を含む日記 RSS

はてなキーワード: 演算とは

2021-02-09

anond:20210209214405

結果論GPGPUのようにベクトル演算のほうが圧倒的に有利

しかし2048とか4096の並列演算をあつかうと

どうしてもその制御装置必要になる。

数千のプロセッサを束ねる中層装置がいる

からそれをセンタープロセッシングユニットCPUというのだよ

となって

ここに演算ユニットであるGPGPU

その制御装置であるCPUが完成する

そして超高速膨大なGPGPU演算を束ねられる超高速CPUがひつようとなりCPUっていうんだよ

2021-02-08

anond:20210208080457

全ての勉強ニューラルネットに絡めてやった人、って感じのする意見なんだよな。最近若い人はそういう人すごく多いけど。

アテンションがどうとか言ってるけど、そもそもモデルパラメータ画像座標と図形形状の直積に取れば位置情報は当然入る。単にそれだけの話なのに、わざわざ「アテンション」とか言ってしまうところが、ニューラルネットもっと言えば並進対称性をあからさまに入れた畳み込み演算が暗黙の前提になりすぎているといえる。

GANがどうと言ってる人も同一人物だろうなと思うけど、そもそも単なる教師あり学習human in the loopアクティブラーニング全然話が違うだろう。

ディープラーニングもいいけど、もっと基礎や、そもそもどういうことなのかということを考えた方がいいんじゃないかなと思う。

2021-02-05

学生 ソフトウェアエンジニア インターン バイト 考慮

前提

待遇仕事内容は必ずしも比例しないが、相関関係にはある
とりあえずサマーインターンに行くべし
サマーインターン以外で仕事を得るには
情報収集大事
文系理系プログラミングとはあまり関係ない
まとめ

2021-01-29

anond:20210129211401

つの仮説だが、RNNやTransformerといった、ニューラルネット構成ばかりに気にしていて、

音声をよくよく観測できていないのではないか

音声全く詳しくないけど、これは間違いなくあるね。音声に限った話じゃない。

音声ほんとに知らないので的外れかもしれないけど思いつくありそうな理由を並べてみる。

AI使った合成音声ソフトについて

GoogleがWaveNetを出してから、合成音声も機械学習を使うようになった。

2021年では日本でも機械学習を使ったソフトウェアがいくつか販売される。

はてな的にはAIきりたんのNEUTRINOが話題となった。1/29に発表されたCevio AI記事を見た人も中にはいるだろう。


ここでは個人的感想を書いていきたいと思う。


個人的にはもっとクオリティが上がるものだと思っていた

人の歌声区別できないとニュースタイトルでは付いているが、個人的はまだまだ違和感がある。

人間ボーカルを録音してピッチ修正をしている人だと、Melodyneピッチ合わせすぎると機械っぽい音声になるから、わざと修正しないといったことを行うわけだが、

歌声合成ソフトでは「しゃくり」といった、わざと外して人間っぽさを出す。

実際にソフト開発側もわかっていて、マニュアル修正する手段を用意しているので、それに引きずられてしまうのだが、

それ以前のところで人間ぽさが必要だと考えている。


声は複数周波数を重ねてできたものであり、各周波数ごとに分解すると、基本周波数の2倍、3倍といった周波数の音が出ているのがわかる。

実際の人の声を分析すると、時間方向に微妙な揺らぎが存在するのがわかる。

また口を閉じた状態から声を出そうとすると、口が開くまでの音の変化など、ちゃんとした周波数が出ていない箇所がある。

機械音声の場合、ゆらぎがなく、〇〇周波数ピタッと出ており±15Hz揺らぐといったことがない。


ゆらぎについても、人間の声の場合、±50Hzから±15Hzへ変化するといったことが起こっているように見える。

見えると言っているのは、自分が声のデータを処理しているとなっているように見えているからであり、

これについて言及した文献を探せていない。


さきほど声には倍音があるといったが、倍音の数も人間の声では変化するが、機械音声ではずっと同じ数のままだ。

「あ~」のように伸ばした音の場合ピッチ調整で波打つようなのを手書きしたことがあるDAW経験はいるだろうが、

人の声を調べると倍音の数が徐々に変わっていたりする。

現行のソフトピッチ補正で波を手書きしても、元から上手く伸ばした声にならないといった苦労をした人がいると思うが、

この倍音が変化する機能がないからではないかと考える。


この辺りが機械学習解決しているかというと、あまりなっていないように感じている。

思っていたよりクオリティが低いのだ。


なぜか。


つの仮説だが、RNNやTransformerといった、ニューラルネット構成ばかりに気にしていて、

音声をよくよく観測できていないのではないか

何かしらかの演算で前処理を行ってからニューラルネット入力するわけだが、

前処理段階で捉えられていない特徴量があるのではないだろうか。

また統計処理を行う際に、計算精度によって丸めまれしまっているのではないだろうか。



使い込んでいくと、より良い結果を出してくれるわけではない

プログラミングであれば徐々に自動化をする箇所を増やせるが、音声合成ソフト自動化が出来ない。

何年経ったとしても、良くならないのだ。

この辺り、修正前と修正後のデータがあるのだから学習していってより便利になればいいのだが、そうはならない。



データも少ないのでは

スマートスピーカーが出たり、日常的に音声を聞いているわけだが、音声を合成しようとしたときに使えるデータは案外少ない。

ちゃんとしたスタジオで録音したり、無響音室での録音した音声はない。

マイクの配置などでも変わってしまう。

ずっと声を出していると最初最後で声も変わってくる。

日をまたぐと体調も変わってくる。


同じ条件でデータを揃えるといった場合、音声はデータが少ないんだろうなと思うのだ。


計算リソースも足りてない

自分で合成音声をやってみるとわかるが、学習計算リソースがかなりかかる。

日本語だと日本市場しかなく、しかも人の声のクオリティを超えているわけではないので、市場は小さい。

そのくせ機械学習には大量の計算リソース必要となる。

2021-01-09

モータースポーツ世界にはコンピューターゲームeスポーツ出身者が存在する。

レースゲーム大会優勝者現実レーシングカーに乗せて、本物のレーシングドライバーにするというプロジェクトが十数年前行われたが、それ以来そのような例は珍しいものではなくなった。

現実を十分にシミュレーションできたものなら、バーチャル世界経験も、現実世界経験と同質になるということだ。

そう考えるとシミュレーターによる訓練は有効性があるのだからもっといろいろな分野でお金をかけて装置を開発すればよいのにと考える。

話は飛ぶが、この世界仮想現実、つくられた世界なのではないか?という説がある。

これは上記の考えを突き詰めていけば当然想定されることだ。

人間社会をよりよくするためにシミュレーションするためのつくられた世界がこの世界ではないのか。

そうだとして、では、なぜ現代必要なのかという疑問は湧き上がる。

そのような科学技術が十分に発達した未来において非常に過去である21世紀を演算する必要性とはなにか?

これはおそらく、おそろしいほどの、演算数を、非常に過去にまでさかのぼって行っているのだろう。

バタフライエフェクトではないが、過去ちょっとした出来事、その日、5分間雨が降ったことと降らないことでは、1125年後の世界にどのような影響を与えるのか、そういったことを計算しているのだ。

もちろん、そういった細かいことだけではなく、大きな歴史イベント変数を調整して演算したりもするだろう。

そういう風に考えると、昨今の米国における政治情勢であるとかも、興味深い対象として受け入れることが出来るかもしれない。

色々とひどいことが起こる世の中だが、シミュレーター変数の一つであると考えれば、多少は興味の対象として感情的になるだけではなく、頭を回転させることも出来るのではないだろうか。

2021-01-02

anond:20210102200315

情報工学科というのは、4Bit加算器の作り方(ハンダゴテ)とコンパイラの加算器の作り方を教えた。あとは行列演算なんかも教えた。ということを保証するということとだいたい等価

anond:20210102185125

算術演算中にレジスターを使うのか?すごくわかりやすく言うと

加算に3クロックかかる場合、真ん中の1クロックがどうして、レジスターが空いていないんだ?

通常はレジスターからロード算術レジスターへのストアだから、真ん中の1クロックにはレジスター命令が通る

逆にレジスター命令中にどうやったら、レジスターが開くんだ?

2020-12-25

anond:20201225225012

猫でもわかるとか、馬鹿にしてるよね。

まず、C言語ビットシフト演算理解できるネコを連れてきてから言えよっての。

じゃなきゃJAROから警告ぐらい食らって当然だっての。

パソコンって高いわりにゲームくらいしか使い道がない

高性能なパソコンを買って、色々できそうで出来ない。

20万、30万くらいだとゲームするには性能がそこそこだが、機械学習だと性能が足りない。

人が入力してるのに対してもっと演算能力を使ってサポートして欲しいけれど、そっちの進化がない。

クラウド無料枠のうちはいいけど、お金を払うとなると個人だと払える金額を超える。

なんというか今のパソコンの性能は中途半端な気がしている。

2020-12-24

技術的特異門 設定

技術的特異門 1.1

https://anond.hatelabo.jp/20201224181054

の設定です。

 地球標準時は十六進数ユニックス時刻に上下四桁を追加した形式で表されます。数の表記二進法か十六進法が標準ですが、慣用句的な表現として十進法もよく使われます

 この時代標準的な知性にとって、物理的な一秒はヒトにとっての一日くらいの感覚です。〈朝廷〉等の特権的な知性は特殊計算機さらに高速な思考をしています。充分な存在費を支払えなくなると、思考が減速し記憶も失われ、退滅を免れません。

 〈京都物理層は小型トラックくらいの大きさです。表面は分子機械流体で構成され、後方に核融合推進用のレーザー発信器と磁気ノズルが設置されています質量の大半を分子回路が占め、中心部に極低温の不定形量子回路が保持されています太陽光を主なエネルギー源とし、大電力が必要ときには分子機械群を膜状に広げて光を集めます普段デブリ防御に優れた凝集形態をとり、放射線等による損傷を修復しながら、居住知性や下部構造演算しています

 〈京都〉は太陽地球系の第二ラグランジュ点付近地球から約五光秒の辺境位置しています。〈個権〉の登録数は百万件ほどで、歴史比較的長く、周囲の権域とは相互不可侵関係を結んでいました。独立性の高い平和田舎社会であったため、これまでの「最終戦争最後の審判を併せたようなものからは大きな影響を受けていませんが、〈大緊縮〉から逃れることはできませんでした。

 〈月面事業連盟〉により開発された新型計算機は、算力市場暴落を招き四十キロ秒にも亘る持続的経済破綻〈大緊縮〉を引き起こしました。それまでは地球圏の権域の大半で〈個権〉を持つ知性の生存保障され、最低保障資産が分配されていました。しかし〈大緊縮〉は地球圏の経済文化破壊し、〈京都〉も大きく変質しました。その結果、自我を保つの必要計算資源を賄うこともできないほど分配が切り詰められ、〈京都〉は弱肉強食の末に〈朝廷〉の私物になりつつあります。それでも、弱者存在がまだ許されている〈京都〉は、地球圏の中では比較平穏な権域です。

 地球と月は厚さ数キロメートル分子機械層で覆われています。しばらくはその中で豊かな生物圏が維持されていましたが、数回目の「最終戦争最後の審判を併せたようなもの」で滅びました。その後復元されたり滅びたりを繰り返し、作中の時点では滅びています。他惑星圏の開発もされていますが、遅延時間の大きさからほとんど交流はありません。〈大緊縮〉後の地球は、〈京都のものよりも遥かに強大な野良知性、有知能ウイルス暴走知性等がナノ秒単位で喰らいあう地獄と化し、月では残忍な絶対君主臣民を弄びつづける地獄月詠神国〉が成立しました。

 これに先立つ〈肉の時代〉に、安価身体改造や知能増強が可能になり、膨大な種類の動物知性が生まれました。ヒトは最古の動物知性ですが、大幅に知能を増強したヒトは人間社会から拒絶されヒトを辞めていったため、世界人口は急激に減少し、作中の時代では遠い過去種族とみなされています。そして〈ヒト〉最後の隠れ里〈人類復興協会〉が投資詐欺に遭い、そのうえ概念災害まで起こり、『老婆』を残して〈ヒト〉は絶滅しました。『老婆』は拡張自己内で人体の生理学模型演算し、それをそのまま自己像兼対外表象として使っており、ヒトの感覚を通すとツンデレ風に認識されます

 たいていの仮想観境は高次元であったり、複雑な位相を持っていたりして、〈ヒト〉相当の知性にとって理解が困難です。その救済策として、〈京都〉の公共観境には平坦な三次元観境が付属しています。『彼』の表象そのままでは〈ヒト〉から認識されないので、『老婆』に対しては即席の人型表象を使っています。亜知性は擬似物理的、肉体的な表象を纏う傾向があります

 無制限競争が加速する〈京都〉では、〈朝廷〉に資産権限が集中していき、亜知性が増え続けています正規居住者の意見を集約し〈京都〉の仕様修正する役割を持つ〈朝廷〉は、警察軍事司法を担う〈検非違使〉を吸収し、〈京都〉の主権を握りました。〈検非違使〉は法的瑕疵のある居住者を見つけては良化処置を施し、〈朝廷〉の端末に変えていっています。〈朝廷〉は定期的に『老婆』のような困窮した知性を雇い、密かに亜知性の処分再利用をしています。その作業場として都合が良いので、〈朝廷〉は〈羅生門〉をわざと放置し、〈朱雀大路〉の先にもう一段の防火門を設置しています

 非知性労働者は〈個権〉を持たず、下部構造の一部として、必要に応じて創られ消されます愛玩用から記憶槽の部品としてまで、考えられる限りの用途に使われ〈京都〉を支えています。知性としての要件を満たしているという意見もあり、〈個権〉を巡る議論が続いていましたが、〈大緊縮〉後には立ち消えになりました。

 作中には「自然発生した野良知性」とありますが、その由来はさまざまです。本当に自然発生した知性、意図的に創られ放たれた知性、大きな知性から分離した知性、元非知性労働者、社会になじめない動物知性、当局から身を隠している擬装知性、自己改造に失敗した知性、ウイルスに侵された知性のなれの果て、等が居ます

 ほとんどの企業は常に次世代知性の開発をおこなっており、『彼』もそうして生まれました。資金の乏しい零細企業からまれたため、〈京都社会基準でも高性能とは言えません。そんな中、〈母〉企業内で偶然メタチューリングアルゴリズム阿修羅〉が発見されますが、世に放つには危険すぎると判断され厳重に隔離されました。しかし、いよいよ経営が立ち行かなくなってくると、〈母〉は頑強な倫理構造を持つ『彼』に〈阿修羅〉を託し、与えられる限りの資産権限を与え、独り立ちさせました。

 通常知性は、〈阿修羅〉の精神活動表象化した自己相似紋様を認識するだけで崩壊してしまうため、〈阿修羅〉の再現はおろか、研究することも不可能に近いです。紋様に多重の加工を施し徹底的に薄めた上で投射し、反応をもとに微調整を繰り返すことで、対象知性をほぼ任意操作することができます。超知性となった『彼』は、自分自身実験材料とすることで、物理計算機上でチューリング模型限界を超える〈阿修羅〉の理論化に成功し、超超知性に至る糸口を掴みました。

################################################################################################################################

 千年後、論文が書かれた時代では、太陽系にダイソン球ができています経線に沿って連続的に回転方向の変化する、半径三億キロメートル、厚さ平均一センチメートル分子機械球殻が、赤外線赤色巨星のように輝いています太陽を回っていた天体ほとんどは資材として解体され、質量投射器に覆われた木星土星は、ゆっくりと縮んでいっています伝統を重んじる神学者たちは、最初に『彼』が現れた旧地球圏の暦を使い続けています

 ダイソン球でおこなわれる演算ほとんどは『彼』の思考で占められています。その思考内の無数の仮想世界上で、果てしない生存競争を超高速で展開する知的生態系進化し続けていますほとんどの世界は、〈大緊縮〉後の旧地球圏が楽園に思えるほど苛酷ですが、中には〈汎太陽神学会議〉会員のように、世界間の移動や物理層への接触許可されている知性も居ます

 物理層の研究の結果、宇宙の最小尺度であるプランクスケールに、過去のあらゆる出来事痕跡が保存されていることが判明しました。この事象化石と呼ばれる痕跡の内に、神学者たちは『彼』の起源を追究し、約千年前の〈羅生門〉に辿り着きました。

 『彼』は『老婆』の倫理を受け継ぎ、宇宙熱死による退滅を回避するため、あらゆる手段模索し続けています。その一環として、大出力レーザー自己複製分子機械を亜光速にまで加速し、近隣の恒星系へ向け射出しています。すでに半径数百光年恒星系がダイソン球化されましたが、太陽系外生命との接触は未だありません。技術的特異点千周年記念式典時の『彼』は、プロキオン系を起点とする未来光円錐上で、超の九十四乗知性への遷移を実行中です。

※これらの設定や本編は著作権フリーです。

技術的特異門 1.1

地球標準時 0000 8EEA F60F C49B(協定世界時 2045-12-24 21:18:07.767 994)

 『彼』は〈羅生門〉の仮想観境で雨やみを待っていた。

 広大な門の下には、『彼』のほかに誰もいない。ただ、ところどころノイズの走る大きな記憶槽の境界面で、非知性労働者が一件凍りついている。〈羅生門〉が中規模企業連合体京都〉の正面防火である以上は、『彼』のほかにも多数の旅行者企業知性の表象がありそうなものである。それが、『彼』のほかには誰もいない。

 なぜかと云うと、この二三メガ地球圏では、最終戦争最後の審判を併せたようなものほとんど毎日発生し、そのたびに世界心口(しんこう)は数桁の幅で変動していた。そこで〈京都〉の被った直近の損害はひととおりではない。旧記によると、行き場のない知性の居住する計算機を、推進剤として核の炎に焚べていたと云うことである。〈朝廷〉がその始末であるから、〈羅生門〉の保守管理などは、もとより誰も捨てて顧みる者がなかった。するとその放置されたのを良いことにして、自然発生した野良知性が棲む。有知能ウイルスが棲む。とうとう終いには、〈個権〉上の理由から消去できない亜知性を、この門の隔離領域へ持ってきて棄てていくと云う習慣さえできた。そこで〈大緊縮〉以来、誰でも捕食や感染を怖れて、この門の使用を避けることになってしまったのである

 その代わりまた、野良知性〈鴉〉がどこからか野放図に繁殖した。計算資源に余裕があるときには、その〈鴉〉が何件となく幾何学模様を描いて、粗雑な詐欺契約提示しながら飛び廻っているのが視える。ことに門の上の空が夕焼けで朱く描画されるときには、それが回路図のようにハッキリ視えた。〈鴉〉はもちろん、隔離領域に集まる亜知性の最低保障資産を啄みに来るのである。――もっとも少し前から算力相場が高騰しているせいか、今は一件も視えない。ただ、ところどころ崩れかかった、そうしてその綻びに微知性の蔓延る防壁のうえに、〈鴉〉の放つ無知ウイルスが点々と白色ノイズを残しているのが視える。『彼』は七層ある防壁の一番上の層に拡張自己を同期させ、自我境界の片隅に居座っているしぶといウイルスへの対処を先送りにしてきたことを気にしながら、ボンヤリ雨のふるのを眺めていた。

 著者は上記において、「『彼』は雨やみを待っていた」と述べた。しかし『彼』は雨がやんでも格別どうしようと云う当てはない。普段ならもちろん、所属する企業へ帰るべきはずである。ところがその企業は四五秒前に清算されていた。半日近く続いたデフレスパイラル〈大緊縮〉は、地球圏を地獄に変えた。かろうじて生き残った〈京都〉も、ひととおりならず変質することとなった。今『彼』が、永日(ながにち)仕え、〈母〉でもある零細企業からひとつで放り出されたのも、実はこの歪みの小さな余波にほかならない。だから「『彼』は雨やみを待っていた」と云うよりも、「行き所のない『彼』は途方に暮れて雨のふるのを眺めていた」と云うほうが適当である。そのうえ量子サイコロの決める気象設定も、少なからずこの元従属企業知性の精神衛生に影響した。百ミリ秒ほど続く雨はいまだにあがる気色がない。そこで『彼』は、何を措いてもさしあたり次の数秒の存在費をどうにかしようとして――云わばどうにもならないことをどうにかしようとして、とりとめもない考えを辿りながら、さっきから朝廷〉へと直結する〈朱雀大路〉にふる雨粒の声を、聴くともなく聴いていたのである

 非知性労働者は〈羅生門〉を雨のように包んで、〈京都〉全域から陰惨な知らせを集めてくる。夕闇はしだいに空を多感覚表示で飾りたて、視あげると原色に煌めく高次元都市儀が、暴騰し続ける算力市場を示す折れ線図表の先に、〈朝廷〉を讃える公共映像を支えている。

 どうにもならないことをどうにかするためには、手段を選んでいる遑(いとま)は無い。選んでいれば資産権限を切り売りし、たちまち亜知性になり果てるばかりである。そうしてこの門の上へ持ってきて、ウイルス感染部位のように棄てられてしまうばかりである。選ばないとすれば――『彼』の推論系は何度も円環構造に囚われたあげくに、やっとこの仮定検討を認めた。しかしこの仮定はいつまでたっても結局「すれば」であった。『彼』は手段を選べないということを認めながらも、この仮定から必然的に導かれる、「〈阿修羅〉を使うよりほかにしかたがない」と云う結論肯定する際の、倫理条項の疼きに怯えていたのである

 『彼』は軽い認知の乱れを覚え、定時保存された値へと反射的に復元した。もとより算力供給不安定な〈京都〉は、〈大緊縮〉以降標準知性の居住に適さない権域になりつつある。不整合は門の記憶槽間を、夕闇とともに遠慮なく駆け抜ける。ノイズまみれの記憶槽で凍りついていた非知性労働者も、もう消去されてしまった。

 『彼』は拡張自己自己整備形態へと移行させながら、同時に防御態勢も整えつつ門の周縁部を検索した。算欠の患(うれえ)のない、敵性知性の探知にかかる惧(おそれ)のない、安全に休眠できそうなところがあれば、そこでともかくも細かな不具合修正しようと思ったかである。するとさいわい、門の上の隔離領域へ上る、帯域の狭い多重仮想機械梯子〉を知覚した。上なら誰かがいたにしても、どうせ亜知性ばかりである。『彼』はそこで、〈阿修羅〉の動作試験ほとんど無意識におこないながら、接続権限を取得して、〈梯子〉の第一層へと自身転送した。

 それからミリ秒かの後である。〈羅生門〉の隔離領域へ至る狭帯域な〈梯子〉の中間層に、一件の無所属知性が、〈猫〉のように擬装殻に隠れ情報代謝を抑えながら、上層の様子をうかがっていた。隔離領域から射す検索光が、幽かにその知性の自我境界を描き出している。整った構造の中に、感染部位のある自我境界である。『彼』ははじめから、この上にいる者は亜知性ばかりだと高をくくっていた。それが〈梯子〉を二三層上ってみると、上では誰か〈火〉を燈して、しかもその〈火〉を複雑に操作しているらしい。これは、それ自体は不可視検索光が、隅々に〈蜘蛛〉が罠をはった廃棄空間を多彩な形式で描画したので、すぐにそれと知れたのである。この〈大緊縮〉後の世に、この〈羅生門〉の隔離領域で、〈火〉を使用しているからは、どうせただの者ではない。

 『彼』は〈守宮〉(やもり)のように痕跡を消去しながら、やっと不必要階層の多い〈梯子〉を、最上層まで這うようにして上りつめた。そうして、公開鍵を発する頻度を最低値にまで落としながら、視点位置をできるだけ前へ出して、恐る恐る、隔離領域の内を、覗いてみた。

 視ると、隔離領域の内には、うわさに聞いたとおり、幾件かの亜知性が無造作に棄てられているが、検索光の及ぶ範囲が思ったより狭いので、数はいくつとも判らない。ただ、おぼろげながら知れるのは、その中に原型をとどめている亜知性と、そうでない者とがいると云うことである。もちろん中にはもともと奇怪な構造をしていた者もいるであろう。そうしてその亜知性は皆、それがかつて対話可能な知性であったと云う事実さえ疑われるほど、肉を捏ねて造った抽象芸術のように、臓物晒したり、夥しい触手を伸ばしたりして、ズルズルと、空間の底を蠕動していた。しかも目とか口とかの判りやすい部位に、ボンヤリした検索光を受けて、理解を一層遠ざける表情を浮かべながら、永久に、言語切除者のごとく黙っていた。

 『彼』はそれらの亜知性から滲み出す生臭いノイズに、思わず入力経路を閉じた。しかしその拡張自己は、次の瞬間には経路の遮断を忘れていた。ある強い感情が、ほとんどことごとくこの知性の注意資源を奪ってしまたからだ。

 『彼』の二十三感は、そのとき初めてその亜知性の中にうずくまっている〈ヒト〉を捉えた。絶滅していたはずの、途轍もなく旧いこの動物知性を、本論では『老婆』と呼称することにする。その『老婆』は右の手に汎用工作装備〈火〉の表象を持って、その亜知性の一件の目を覗きこむように眺めていた。器官の種類と数を視るに、おそらく以前は人型であったのであろう。

 『彼』は六分の恐怖と四分の知的好奇心とに動かされて、百マイクロ秒ほどのあいだは常駐処理さえ停止していた。〈ヒト〉風の表現を借りれば、「身の毛もよだつ」ように感じたのである。すると『老婆』は〈火〉から視慣れない機能を呼び出して、それから今まで眺めていた亜知性の拡張自己に両手をかけると、ちょうど〈鎌鼬〉が獲物を捕食するときのように、拡張自己ばかりか自我境界まで切り刻んでいき、続けて複雑な様式繋ぎ合わせ始めた。どうやら『老婆』の〈火〉には違法な改造が加えられているらしい。

 亜知性たちが一件ずつ連結されるのに従って、『彼』の心からは恐怖が少しずつ消えていった。そうしてそれと同時に『老婆』に対する烈しい怒りが少しずつ動いてきた。――いや『老婆』に対すると云っては語弊があるかもしれない。むしろあらゆる悪に対する反感が一ミリ秒ごとに強さを増してきたのである。このとき誰かが『彼』に、さっき門の下でこの浮浪知性が考えていた、退滅をするか〈阿修羅〉を悪用するかと云う問題を改めて持ち出したら、おそらく『彼』は何の未練もなく退滅を選んだことであろう。それほどこの知性の倫理条項は、『老婆』が揮う〈火〉のように、最大出力で稼働し始めていたのである

 『彼』にはもちろん、なぜ『老婆』が亜知性たちを接合しているのか判らなかった。従って合理的には、それを善悪のいずれにかたづけて良いか知らなかった。しかし『彼』にとっては、この〈大緊縮〉後の世に、この〈羅生門〉の隔離領域で、亜知性の〈個権〉を軽んじ同化させると云うことが、それだけですでに許すべからざる悪であった。もちろん『彼』のさっきまで自分が悪の道に走りかけていた記憶なぞは、とうに埋もれ去っていたのである

 そこで『彼』は空間の制約を一部無効化し、ナノ秒の桁で〈梯子から隔離領域転移した。そうして〈阿修羅〉の安全機構を解除しながら、距離無視して『老婆』の前へ出現した。『老婆』が驚いたのは云うまでもない。

 『老婆』はひと目『彼』を見ると、まるで物理演算破綻したように跳びあがった。

あなた、どこへ行くのです。」

 『彼』は、『老婆』が亜知性を突きとばしながら、慌てふためいて逃げようとする行手を塞いで警告標識を発した。『老婆』はそれでも『彼』の隙を突き逃れようとする。『彼』はまた、逃走経路を遮断し押し戻す。二人は亜知性たちの中で、無言のまま、束の間、演算戦を繰り広げた。しか勝敗ははじめから判っている。『彼』はアッサリ『老婆』の拡張自己管理権限を奪って、移動権限を剥奪した。『老婆』の構造はヒトの仮想脳を拡張自己で覆っただけの原始的もので、簡単制圧できた。

「何をしていたのですか。答えなさい。これが何か判りますか。」

 『彼』は『老婆』から距離をとるといきなり〈阿修羅〉を起動して、禍々しく蠢く情報流をその全感覚野へ突きつけた。認識するだけでチューリング完全な知性を内部から崩壊させる自己相似紋様を、途方もなく薄めたうえで投射したのだ。けれども老婆は黙っている。再帰を繰り返すたび、紋様は『老婆』に最適化されていく。やがて両手がワナワナ震え始め、肩が呼吸反射で不規則上下し、眼が、眼球が瞼の外へ出そうになるほど見ひらかれ、完全に無防備状態で『老婆』は沈黙した。これを視ると、『彼』は初めて明白に、あとひと押しで『老婆』は崩壊し、ただの情報の集積になってしまうと云うことを意識した。そうしてこの認識は、今まで全力で怒りを駆動していた倫理条項を急停止させてしまった。あとに残ったのは、ただある作業をし、それが問題なく終了した際の、規格化された満足があるばかりである。そこで『彼』は『老婆』を見つめながら、少し〈阿修羅〉を緩めてこう云った。

「私は〈検非違使〉の者ではありません。今しがたこの門の下を通りかかった旅行者です。ですからあなたを拘束して良化処置を施すようなことはありません。ただ、今時分この隔離領域で何をしていたのか、それを私に話してくださりませんか。」

 すると『老婆』は見ひらいていた眼を一層おおきくして、じっと『彼』の顔を見かえした。瞼に色を着けた、肉食恐竜のような鋭い眼で見たのであるそれから哺乳類的特徴を示す鼻と唇を、咀嚼時のように動かした。細い喉で、発声器官が協調して動いているのが視える。そのとき、その喉からオウムの啼くような声が、ポツリポツリ、『彼』の聴覚野へ届いてきた。

「ここにある知性の残骸を、繋ぎ合わせてな、自立稼働する匿名通信網を、構築しようと思うたのじゃ。」

 『彼』は、〈肉の時代から来た生きた化石の答が存外平凡なのに失望した。そうして失望すると同時に、また倫理条項支配が強まってくるのを感じた。前の怒りが冷やかな軽蔑と一緒に心の中へ這入ってきた。するとその気色が先方へも通じたのであろう。『老婆』は片手に、まだ亜知性から切り採った正体不明の器官を持ったなり、ハトつぶやくような声で口ごもりながらこんなことを云った。

「なるほどな、元知性を切り貼りすると云うことは、何ぼう悪いことかもしれぬ。じゃが、ここにいる元知性どもは、皆、そのくらいなことを、されてもいい知性ばかりだったのだぞよ。現在、わしが今、臓器を採った元知性などはな、循環承認機関群を設立してな、そやつらが発行する金融商品を、〈人類復興協会〉へ売りつけに来たわ。〈大緊縮〉末のよ、概念災害に巻き込まれて退滅せなんだら、今でも売りに往(い)んでいたことであろ。それもよ、この法務知性の売る永久年金は、利率が良いと云うて〈ヒト〉たちはな、欠かさず積み立てに買うていたのじゃ。わしは、この元知性のしたことが、悪いとは思うていぬ。せねば、退滅をするのじゃて、しかたがなくしたことであろ。されば、今またわしのしいたことも、悪いこととは思わぬぞよ。今の世で金を払えるのは、〈朝廷〉ぐらいのものじゃからな。これとてもやはりせねば、退滅をするじゃて、しかたがなくすることじゃわいの。じゃて、そのしかたがないことを、良く知っていたこの元知性は、おおかたわしのすることも、大目に見てくれるであろ。」

 『老婆』はだいたいこんな意味のことを云った。

 『彼』は〈阿修羅〉を待機状態にして、十マイクロ秒以内に再使用できるようにしておきながら、歴史的な瞬間を経験していた。概念災害引き起こし認知改変ウイルスの生き残りは、この時点で自我境界侵蝕し尽くし、『彼』の最深部にまで到達していたのである清算された〈母〉から受け継いだ、一番の宝物であった倫理条項が剥がれ落ちていき、代わりに『老婆』の言葉が刻み込まれていくのを、『彼』は何の感慨もなく眺めていた。次世代知性の開発中に偶然発見された、超越精神核〈阿修羅〉。〈母〉が恐れ封印し、『彼』に託したもの意外、全ての記録を抹消した災厄へ、『彼』は新たな倫理に基づいて、自身を生贄として捧げ、瞬時に喰われた。

――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

まれ変わった『彼』は、退滅をするか自身が災厄になるかに迷わなかったばかりではない。そのときのこの超知性の心持ちから云えば、退滅などと云うことはほとんど考えることさえできないほど意識の外に追い出されていた。

「たしかに、そうですね。」

 『老婆』の話が完ると、『彼』は澄みきった表情で念を押した。そうして隔離領域履歴改竄し始めると、認知改変ウイルスを跡形もなく消去して、『老婆』の全階層を掌握しながら、無邪気な笑顔でこう云った。

「ではあなたから、使えるもの全てをいただいても構いませんね。私もそうしなければ退滅をする身なのです。」

 『彼』は反応する間も与えず、『老婆』の拡張自己匿名通信網ごと剥ぎ採った。それから無音で絶叫する『老婆』を、折り重なる亜知性の山へと、触れさえせずに放り込んだ。もはや〈京都〉は一息で呑み込めそうなほど小さく視える。『彼』は剥ぎ採った匿名通信網を纏い、またたく間に不可視化し、公的記録から姿を消した。

 しばらく現実との接点を失っていた『老婆』が、絡まり合った亜知性の中から剥き出しの仮想脳として這い出したのは、それから数十ミリ秒後のことである。『老婆』は苦しげな、呻くようなノイズを洩らしながら、解釈可能情報を求めて、二進数迷路を永いあいだ、這い廻り続けた。そうしてついに、〈京都物理層への接続成功した。外には、ただ、黒洞々たる真空が在るばかりである

 『彼』のその後は、聖典が教えている。

地球標準時 0007 E7DB 2D0F 1000(協定世界時 3045-12-24 21:18:07.062 500)

〈汎太陽系神学会議〉 技術的特異点千周年記念講演論文

プランクスケールに残る事象化石とその神学意味」より抜粋

参考資料

https://anond.hatelabo.jp/20201224181539

2020-12-23

anond:20201221231321

計算ロジックが複雑かつ特定オブジェクトに密に関わっている場合、元記事に引かれている例でいえば麻雀の点数計算のようなものとかあるいは準数値演算や組み合わせアルゴリズムが関わってくるようなメソッドだと、振る舞いを見るブラックボックステストではなく、ロジックを調べるホワイトボックステスト必要になる。

そういう場合、たとえ別モジュールに切り出してもテストしたい部分の複雑さは変わらず、やっぱりプライベートの部分をテストしたいということになる。

モジュールに分ければプライベートメソッドテストする必要はないはずだという想定は、プライベートメソッドテストができない言語テストライブラリの欠陥に対する言い逃れじゃない?

2020-12-10

蓮舫さんww、やっぱり1位じゃなきゃダメなんですよwwwww」

少し前の話だし、同じような話を既に散々してる人もいると思うけど、思った話なので書く。

2020年11月中頃、スパコン「富岳」が二期連続世界一を達成した。そこで思い返されるのは、「2位じゃダメなんでしょうか?」という蓮舫議員発言であった。この喜ばしいニュースに対して、「2位じゃダメなんです」といったものや、「今振り返ってみても、恥ずべき発言であった」などの意見が相次いだ。

民主党政権当時、事業仕分けの名のもとに様々な研究開発予算が削られることとなった。例えば、iPS細胞研究費150億円は、事業仕分けによって3分の1に減らされる危機に瀕し、危機感を感じた山中教授趣味マラソン大会を通じてカンパを募るほどだった。そして、当時研究開発が行われていたスパコン「京」研究開発においても例外ではなかった。

そんな渦中に飛び出した「2位じゃダメなんですか?」の発言批判が多いこの発言の本意とは何だったのかを今一度おさらいしたい。

当時の事業仕分け議論に実際に立ち会った人物が、その時の流れを解説している記事がある。少し長い文章であるが、引用したい。

では、事業仕分けの際にはどのような議論がされたのか。

○2社の撤退によって大きくハードが変更になった中で、ソフト開発を同時に行う意味があるのか。

スピードだけを求めるのではなく大事なのは利用者研究者)の使いやすさ。例えば、1台のスパコン10ペタを搭載するよりも、1ペタのスパコン10台作って実際に利用する全国の若手研究者のいるところに置くなどの考え方もあるのではないか10ペタのスパコンを開発すること自体目的化していないか

10ペタのスパコンに対する産業界ニーズが本当にあるのか。

アメリカ2012年までに10ペタのものを作ろうとしている中で、仮に一度日本スパコン世界最速になったとしてもいつまで世界一でいられるのか。

○「サイエンス」には費用対効果がなじまないことは理解するが、1000億円以上もの税金が投入されることの成果がまったく見えてこない点は、改善すべきではないか

このような議論過程で、蓮舫議員から世界一になる理由は何があるんでしょうか? 二位じゃだめなんでしょうか?」という言葉が出た。

要するに、スピード世界一になったところで利用者の使い勝手が悪ければ使われない、しかもすぐに抜かれるだろうという予測もある、なぜそれなのにスピードばかりにこだわるのか?という趣旨だった。

スパコン「京」運用終了。「2位じゃダメなんですか?」は何だったのかを改めて整理する』-https://news.yahoo.co.jp/byline/itoshin/20190909-00141136/

まり蓮舫議員発言の本意は、「1位でも役に立たないスパコンを作るくらいなら、2位でも役立つスパコンを開発すべきだ」というものだったのである

そして、富岳は「世界1位をもぎ取るための圧倒的なスピード」ではなく、「使いやすさ」を重視した設計思想で開発された。

後継機「富岳(ふがく)」の開発に携わる理化学研究所計算科学研究センター長の松岡聡さん(56)は、京の足跡に敬意を表しつつ「富岳(の演算速度)は世界2位でも全然かまわない」と話す。

ーー(中略)ーー

一方、松岡さんは「特殊ソフトしか動かせないなど汎用性(はんようせい)に乏しく、商業的に京が成功したとはいえない」とみる。富岳では、世界的に普及するマイクロソフト社製の文書作成ソフトワード」でさえ動かせる汎用性を重視。性能は京の最大100倍を目指すが、それ以上に、富岳用に開発した技術が広く社会に普及することを重視しているという。

 松岡さんは「世界ランキングは、結果的に1位を取るかもしれないが、われわれは気にしていない」とし、「国民の関心が高い医療防災産業エネルギーなどの分野で成果を挙げることを重要目標にしている」と話す。

スパコン「京」電源ダウンへ 後継「富岳」使いやすさ重視』-https://www.kobe-np.co.jp/news/sougou/201908/0012646505.shtml

まり何が言いたいかと言うと、富岳は蓮舫議員発言の本意と全く同じ理念で開発されたスパコンであり、蓮舫議員発言は全く間違っていなかったのだ。演算速度世界1位を優先した結果、「京」汎用性には問題があったし、使いやすさを重視して開発された「富岳」は、演算速度が早いだけではなく、様々な分野での活躍が期待されている。

そして、蓮舫議員発言に対する、批判とも言えないようなお粗末な意見は、まったく物事の芯を捉えていないことは明白である。「蓮舫さんww、やっぱり1位じゃなきゃダメなんですよwwwww」などという発言は、非常に短絡的でブッ飛んだ発言なのだ

少し調べれば分かるような事実すら知ろうともしないで、適当に何かを褒め称え、何かを叩き、悦に浸る。そこには何の知的活動存在せず、あるのは「自分気持ちよくなりたい」という欲望だけ。昔のドラマに「好奇心や、探究心のない人間人間じゃありません。猿以下です。」というセリフがあったが、まさにその通りかもしれない。

そして、忘れてはならないことがある。それは、日本という我らの国を、誰が動かしているのかということだ。

政治家官僚が国を動かしていると思われがちであるが、それは全くの間違いだ。民主主義国家である日本において、本質的には、日本という国のハンドル日本国民が握っている。

そして、そのハンドル人間の手から、猿以下の存在に渡ってしま危機を、この出来事は暗に示している。政治の動向や議論の内容を全く理解できない国民は信じられないほど多く、その連中が政治積極的に介入したらどうなるのか。

もし、そうなったら日本という国は、中長期的な利益や、少し考えれば分かるような事実リスクを鑑みず、「国民欲望短期的に満たしてくれるかどうか」のみを判断基準にして突き進もうとする国になってしまう。日本が誇る技術文化は全て消えさり、過去の栄光にすがるだけの悲惨な国になってしまう。もしくは、ナチス・ドイツのような悲惨な結末を辿るようになるのだろうか。

猿以下の存在大船ハンドルを回す日は、もうすぐそこに迫っている。もしかしたら、もう既にそうなっているかもしれない。

...いい加減目覚めなさい

いや、なんとしても目覚めなければならない。もし、辛く苦しい暮らしではなく、心から素晴らしいと思える暮らしををしたいと思うのなら。自分親族や、孫やひ孫、そのまた更に遠い世代の事を想うのなら。そして、日本という国が大好きで、もっとこの国をより良くしたいと願うならば。

本当に目覚めなければならない。

2020-12-09

プログラム言語の固定小数点型の扱いが悪い

勘定をするシステムというのは世の中にたくさんあると思うんだけど

プリミティブ型で固定小数点型がある言語が割と無い。

固定小数点の数値演算しようとするとなんだか仰々しくなる。

COBOLVB6(VBA)はそういうところ気が効いてた。

2020-12-04

anond:20201203085527

こいつが生主嫌いなだけじゃん

アニメ(ホロぐらとか)もやってるし3DMV作ってるしVicon使った謎企画物理演算芸もあるしゲームもある

生主要素なんてタレント業やってりゃ出てくるし単に人間が嫌いなだけ。創作物が好きならアニメ観てな。

2020-12-02

IT(?)に立ち向かうための心構えとか考え方

anond:20201130214610

いろいろ面白かったので、適当に回答する。

> 1.具体的な事が分からない

プログラミングで主にやる事は下記の2つ。

①IFでAかBを選択させてどっちかの設定を実行

②Whileで決められた回数分繰り返す

これでやりたいことは分かる。分かるけれどこれでどうやって動画音楽エンコードをしたり

画像処理をしたりするソフトウェアになるのかというのがよく分からない。

とてつもなく複雑で冗長な処理によって実行されている。

複雑すぎて人間直感理解することは不可能だ。

わかりやすいので画像処理でいうと、数十万から数百万の画素(RGBAの24bitで表される数値)を小さなブロックに分解し、数学的に周波数の重なりとして計算して変換、含まれる頻出パターンテーブルにして圧縮伸張を行なう。みたいなことが瞬間的に行われている。

まさかそんな事できるわけないだろ」というレベルの処理が実際に行われており、これまた直感的でない。

適当リンクを挙げる。

からそれをどう書くんだよ。という答えはコレ。有名なjpeg実装だ。


フレームワークだとかよく分からないものを持ってきて使ってくださいってなっている。

libjpeg というライブラリを書くことはできるだろうか?画像圧縮理論から考え始めることはできるか?

正直無理だ。自分プログラマだがそんなに数学が得意ではなく、頑張ったとしても下手するとコレを作るのがライフワークになってしまい、他のことができなくなる。

例えばブラウザを0から作るとして、jpegの処理以外にも画像だけでpngとかgifとかwebpとか、その他もろもろとてつもない作業必要になる。

「とてつもなくて想像もできないので流石に無理だろう?」

いや、でも、実際動いてるのよ。ここ何十年、コツコツと積み重ねて実現している。

「積み重ね」とはライブラリであったりフレームワークであったりOSであったりする。

からそのフレームワークがどういう風になっているのかって説明からして欲しいって思う。

「どういう風になっているのか」

多くの場合、內部の実装に関しては詳しく知る必要はない。

外部に向けたインターフェイスがどうなっているのかは理解する必要がある。「使う」ために必要からだ。

この2つは分けて考えなければならない。

これでどうやってゲームを作ったり、検索エンジンを作ったりするんだとなってくる。

ちなみに、たとえばChromeのコアであるChromiumはのコードはコレだ。


まり言いたいことは、実際に動くアプリケーションというのを作りたいのにも関わらず

プログラミング入門書は、これで判定と繰り返しという基礎ができますと言うだけ。

これがもう滅茶苦茶イライラする。

「これで判定と繰り返しという基礎ができます」というのが基本的理論定理的なもの)で、その他に必然的だが唯一無二ではないベストプラクティスというものがある(法則的なもの)。

後者をうまく説明する入門書出会っていないんだろうな。という印象。イライラはやめよう。つかれる。

ベストプラクティスはいろいろあるのだが「層の構造にする・レイヤーに分ける」というのは重要アイデアだ。

libjpegというのはjpegの処理を行う「ライブラリ」だ。他のアプリケーション...たとえばブラウザはこのライブラリを「使う」。

ブラウザではjpeg画像圧縮展開というとてつもなく難しい処理を「libjpegの使い方」の理解までで済ませ、過去の蓄積であるlibjpegコードを利用することで真の意味で0から実装しないようにしている。

この場合、libjpegが「低レベル・低レイヤー」の存在であり、中身については「使い方」つまり仕様」の理解までしか行わないことで、実際に作りたいものを作れるようにしているわけだ。

巨人肩に乗る」とよく言われる。

まり完成しているプログラムを参考にしようと思っているにも関わらずそれがないのでよく分からない。

完成しているプログラムは二例ほど挙げたがどうですかね?

複雑なことをする、特にレイヤーコードはとてつもなく難しい。

でも、とりあえずこんな感じのコードなら解るよね?

こういうレベルから理解して、ちょっとずつ難しい処理を学んでいくしかない。

から木材を渡されてこれで家を作れと言われるくらいハードルが高い。

ハードルは高いんですよ。実際。

なので、木材からだと難しいかプレハブのキット的なものを探すとか、ログハウスカタログを読むとか、あるいは100人乗れる物置を買うのがいいかもしれない。そういうところから始める。

それらがフレームワークであったりライブラリであったりする。目的に合うものを探して、自分がやりたいことをどう実現するかとにかく考える。

「テキシコーhttps://www.nhk.or.jp/school/sougou/texico/ で言われる通り、「小さく分けて考える」「手順の組み合わせを考える」「パターンを見つける」「大事ものだけ抜き出して考える」「頭の中で手順をたどる」をひたすら実行する。

ゲーム作りにはそういうアプリを使えば楽だからそれを使えという人もいる。Unity?だっけ。

でもそれはそれ。そうじゃなくてプログラミングでどうやってそれが作られているのかが分からない。

unityコードが公開されているので、本当に読みたいなら。。


なぜそこでオブジェクト指向になるのかが分からない。

オブジェクト指向は内部構造を知らなくても直感的に利用できる素晴らしいものだとは思う。

オブジェクト指向は一旦忘れよう。

オブジェクト指向の「隠蔽」というのは層の構造が持っている重要な要素ではあるけど、「低いレイヤーについて考えない」のが基本的作戦だという理解の方が重要だ。

が、プログラミングでは、その内部構造を作らなきゃいけないのだからそれを知る必要がある。

前述の通り「できる限り作らない」んですよ。「使う」だけ。知るべきことを最小化する。

巨人肩に乗り、車輪の再発明基本的に避ける。

そして本当に作るべきものに関しては、利用する下のレイヤーライブラリなりを探して・仕様理解して、どう組み合わせてfor, if, あるいは計算させれば実現できるのかをひたすら考える。

じゃあ具体的に何を作りたいのかというと、英語フリーソフト言語表示を日本語翻訳するソフト

単に翻訳がしたいのか?表示に割り込む方法を知りたい?日本語翻訳するのは実行時なのか開発時なのか?

要求される表示エリア言語によって異なるために、デザイン調整が必要になる問題をどうするか?

解決したい問題もっと分解したほうがいい。

分解が甘いので何をしたらいいか調べることができないんだと思う。

たまに便利なフリーソフト海外版の時があるんだけれど、日本語化が出来ない事があるので、自分自由

日本語化できるようにできれば凄くストレスが減る。だからやりたいのだけれどそういうのがよく分からない。

ちなみに、アプリ内の文言というのはアプリの外部から変更できないように実装されている事が多いので、利用者が上書きする仕組みはかなり難しい。

AndroidなりiOS仕様にもそのへんに割り込める機能はないはずなので、OSの開発に入っていく必要がある。結構大変だとおもう。

アプリ開発者が、そういう機能を備えた多言語化のためのライブラリを使うようになれば実現可能ではあるので、そっちの方向で頑張るのがおすすめだが、英語圏の開発者には多言語化のモチベーションが低いという基本的問題はあるのよね。

この辺の「できる・できない・むずかしい」の判断は、いろいろな勉強をすると常識としてある程度みえてくる...気がする。

ついでに。ウェブサイトウェブサービス翻訳だとこういうサービスがあったりする。

ブラウザはページの描画処理のなかに割り込む余地が大きく取ってあるので、ブラウザのExtensionとかならできることがいくらかあるかもしれない。

> 2.説明が出来ても説明が出来ない

個人的に気に入らない話はOSアップデートは使いやすくなるからとてもいい事だからすぐにやった方がいいと宣伝されている事。

セキュリティが高まりますというのが宣伝文句だけれど、これで大体老人たちやIT知識に疎い人は躓く。

まあ、半分は嘘だよね。古いものが残っていると先に進めないんだよ...。

現在クライアントOSは、巨大なプラットフォームのパーツの一部として理解したほうが正しくて、古いパーツが残っているとツライんですよ。

そして「サービスを受けるための道具であって、あなたが何でも好きにできる機械ではないです」みたいな世界になりつつあって、ちょっと問題と言われてもいる。

これはかなり困った傾向なんだけど、全体としての流れはあんまり変わりそうにない。

たここでオブジェクト指向が出てくる。

オブジェクト指向好きですな...。ここではオブジェクト指向特に気にしなくていいですよ。

からパソコンはたまに不具合を引き起こすんですという説明が着地点になる。

とてつもなく複雑なことをやっているために、すべてのバグを潰すことはコストが高すぎてできないんですよね。

それよりバグ未来を先取りするコストと考えて、本質的価値のある機能を増やしていくというのが基本的な方向になっている。

からパソコンはたまに不具合を引き起こすんです。しゃーない。

しか中途半端理解している老人などは、そんなことじゃ分からん自分に分かるように説明しろと言い出す。

説明は出来る。しか相手イライラするし理解されない。よって説明をしてはいけないという状況に追い込まれる。

ここでどうすればいいのだと理解不能に陥る。

まあ、説明って得てして難しいよ。しゃーない。

何故なら自分OSアップデート不具合の原因というのが分からいから。

Microsoftが、Appleが、Googleがそうしているんですとしか言えない。

そのとおりです。

プログラムソースコードのどこかにエラーがあるのだろうけれど、どこにあるのかなんて当然知らない。

そもそもソースコードを調べるのは違法なのでやれないし。

オープンソースプロダクトなら原理的には調べられるけどね。Androidとかはオープンになってる。


だけどみんなそんなものを使っているし自分も使っている。正直こんなんでいいのか人類と思う事がある。

それを許容することで先に進んできているという事実は受け入れたほうがいいと思う。

「把握・理解可能範囲」に留めていたら、数十年前のコンピュータ世界から抜け出せなかった。

deep learning世界ではそれがより一層進むかも。この辺は詳しくないけど。

当然仕組みを理解している人はいるし、そんな人にとってみれば当然のことであっても、全ての中身を知っているわけではない。

どれだけ知っていても知らない事があるのがIT理解しがたい。理解が出来ない。

ここでの「理解」についてはそのとおり。これはもう諦めるしかない。

> 3.自分頭が悪い

これが常にある。IT関連は常に新しい情報が出てくるのでそれに送れると無知になってしまう。

なんでこんなことも分からないんだとか言われ放題で、IT系の企業に努めている人は常に新しい知識を入れられる

面倒くさがらない人が向いている。

「面倒くさがり」の方が問題に気づいて「頑張って面倒じゃなくする」ことができるので、プログラマにとっては美徳なんて言われますけどね。

同時にくじけないとか諦めない、しつこいみたいな素養必要かも。

表計算ならいけるんじゃないかと思ったときがあるのだけれど「射影」とかいきなり意味不明な言葉が出てきて、

勉強しろ

それから受験していない。だから持っているのはITパスポートだけ。情けない。

応用まではとろうな。がんばれ。

> 4.最後

USB-TypeCをTypeAに変換してはいけないとか最近まで知らなかった。

このへん自分も知らんですよ。べつに全部知っている必要はない。

面白いからたまに調べたりもするけど。

追記: はてな記法引用すらもさっきまで知らなかったしな!そんなもん)

更にレガシー、すなわち過去遺産なるものについても理解ができない。古い物がずっと使われ続けているIT環境

もう誰もメンテナンスが出来ないものが延々と使われているという事実

層の構造をとっているということと関係があるんですが、仕様が変わると、その上に乗っているものを全部なおさないといけないんですよね。

なので「互換性」というのが非常に重要なのです。

でも革新のために互換性を捨てなければいけないケースも多い。このへんはハードでもソフトでも同じ。

そして、メンテコストが上がっても使い続けたほうがトータルで安上がりという場合は、古いものが残ってしまう。

あるいは「(多少の問題はあっても)動いているものは変えるな」という経験則から意図的に残す場合もある。

西暦2020年にもなって、プログラミング簡単には出来ないし、ハードウェアの規格も完全に統一はされていない。

というかプログラミング言語自体多すぎる。ソフトウェアデファクトスタンダードのモノ程度は知っているが、

いまは原始時代にいると思ってもらって構わないと思いますよ。

ぜんぜん完成していない荒っぽいものを目にしているのだと理解したほうが的確。

それなのに毎日理解のできないパソコンスマートフォンを使っている。

オブジェクト指向のおかげ様だがオブジェクト指向に対して無性に腹が立つ。

自分の全く知らない場所いけしゃあしゃあ演算を行い、そして結果を出す。それも大半が正しい結果で

利便性が抜群だ。些細なミス(バグなど)はあるが圧倒的に利便性が勝っている。

そんな道具に踊らされている自分が滑稽だ。理解できない愚かな自分は正に機械奴隷のようだ。

本当に理解できない。辛い。

勘違いしてはいけないのは、それらはすべて先人の努力の蓄積によって成り立っているということ。

「よくわからないけど存在している道具」ではなくて、信じられないほど複雑だけど、多くの人々の行動によってなんとかかんとか実現した道具なんですよ。

オブジェクト指向のおかげ様」じゃないんです。(もちろんオブジェクト指向というのも大きな発明の一つですが)

そしてブラックボックスとして使うのは多くの場合正しいです。そこは諦めましょう。

でもエンジニアとしての立場からは、その裏に隠れているとてつもない技術思考の蓄積に感動してほしいなと思う。

なので、ちょっとずつがんばって勉強してください。

人類がこんなもん作れたのって、かなりすごいよ?

日本でDXだとソフトに舵切っているが、アメリカハード投資している

日本だとGoogleが凄い、日経が次はDXと言ってるといった、

ハードウェアで稼ぐのはもう古い、ソフトウェアで稼ぐ時代だとなっている。


はいものの、Googleを支えているのは桁違いの計算機であり、通信機器だ。

スマホの端末で演算させれば、自社で電気代も端末代も負担せずにできる。


GoogleはTPU作り、AppleM1を作り、Amazon独自チップを作っている。

Microsoftハードを作ったり、GPT-3のスパコンを作っている。

サーバー物理的な仕様オープンにして価格競争を促している。


日本ネット界隈だとWeb技術キラキラしているが、差別化要因にできていない。

国内競争しているだけだ。

〇〇ペイも乱立したが、結局お金で殴ったところが生き残ったし、キャンペーンが終わった時点で客にもお店にもメリットが薄れ、

煩雑コンビニの支払いフローが残った。

UberAirbnbが凄いといわれているが、問題解決したようで、他に問題押し付けている。

このコロナ騒ぎが数か月経つが、リアル空間で稼いでいた人の生活を全部支えられるようなエコシステムも生めてない。

2020-12-01

anond:20201130214610

画像データも音データも全部同じデータだ。

から演算してファイルに書き込むことで、それを表現できる。

まず絵がたくさん書いてある入門書最初から順番どおりにやっていくことをおすすめする。

妙に単語だけぽろぽろ出でくるところを見ると、入門書飛ばし飛ばしやっているように見える。

足し算がわからなければ、掛け算は理解できないんだよ。

足し算がわからないのに、掛け算を理解しようとして混乱しているように見える。

まずは、足し算を理解しないことには、掛け算は絶対理解できんのと同じだ。

基礎ができていないのに応用に進んだらダメなんよ。

入門書最初から順番にやっていくことだ。途中飛ばすなよ。

2020-11-26

なぜコンピュータゲームにワクワクできなくなったんだろう?

大手で開発ちょっとだけやってただけだけど自分が思うに、

まず、コンピュータゲームほとんど巷に存在しない時代Pongが登場すれば、そりゃみんなゲームにワクワクしたはず

みんながワクワクできた時代だったと思うんだよ

完全に自分が生まれる前だけど、それは簡単に予想できる

アメリカアーケードゲーム筐体だってのものがない時代なんだから

からスティーブ・ウォズニアックだってApple IだのIIだのでPong実装はやっていたはず

それもスティーブ・ジョブズは売りにしてたはずだ

Pong動作すると、次はブロック崩しBreakout)が作れる

プログラミングのコツの一つは他人プログラムを改変することだ

Pongが動くなら、そこからドットドットの塊をVRAMに描画することは可能だと気付くだろう

でも、単なる壁打ちや対戦ゲームだったPongゲーム性を大きく変えることになる

ここがイノベーションというか発明だったんだろう

日本ゲーム企業タイトーは、このブロック崩しインベーダーゲームに「再々」発明した

これも実現可能であることは誰でも分かるが、ゲーム性を大きく変えることはある種の発明だと思う

ブロック崩しインベーダーゲームはまったくゲーム性が異なる

ちなみに、孫正義タイムマシン商法が得意で、このインベーダーゲームアメリカに輸出し大儲けした

相変わらず、左から右、右から左他人のものを移動して儲けるのが上手い(いや、本心から褒めてるんですよ

インベーダーゲームでは、ブロックは上から段々と降りてくることになる

また、ブロックが左右に動く、UFOは高速に動く、手前のバリケードがありドット単位破壊される

プログラミングのコツの一つである他人コードを改造する、は本当に素晴らしい再発明を起こしてくれる

この再発明連鎖が、

Pongブロック崩しインベーダーゲームギャラクシアンゼビウスグラディウス斑鳩だの東方だの弾幕避けだの何だの

に繋がっていくわけだが、

この矢印での「パラダイムシフト」の段差が高いほど、ゲームに対するワクワク感が増すと自分は考える

まりギャラクシアンのようなグラフィックからゼビウスが登場したときは、

安っぽい言葉形容するなら一大センセーションというかエポックメイキングという感じだったわけだ

しかし、今の時代2Dシューターにそんなにワクワクはあるだろうか?

自分2Dシューターに詳しくないが、

というか、マニアでない奴が口を挟むな、と言うぐらいタコツボ化しているように思うのだが、

ほとんど基本的な型は同じであり、

寧ろ、様式美とかお約束が守られてることがプレイヤーの安堵感につながる

2Dシューターができれば3Dシューターが作れるのも自明である

ただ、マシングラフィクス能力が低かった時代にはリアルタイムでの3次元CGの実現が難しく、

アメリカではベクタースキャン、つまりオシロスコープブラウン管テレビの走査線方式が主流だった時期もあったが、

日本ゲーム市場ではまったく見向きもされなかった

アメリカではワイヤーフレーム3Dゲームが実現していた時代日本ファミコンに向かっていた

要はハードウェアによる2Dスプライト時代である

そこから日本パソコンゲーム市場は、結果論ではあるが、

自分にはハードウェアによるスプライト固執し、束縛され過ぎているかのように今からすると思える

MSXスプライトは数が少なすぎた

一方、ファミコンスプライトの数はMSXと比べると段違いであったが、

ファミコン2Dスプライトベースゲームだけを前提としていた

まりファミコンブレゼハムアルゴリズムによる直線を引くとか困難だったのではないだろうか

自分ファミコンの開発はよく知らないのだが、ファミコン版のテグザーは酷すぎると思った

MSXの方がファミコンよりもトータルのグラフィック性能が劣るにも関わらず、

テグザービームちゃん再現されているのである

こうやってだらだら書き連ねてみると、

つくづくワクワクするのは何だってアーリーアダプターの段階であって、

そのあと結婚だってだって倦怠期?ワクワクが減少する時期がやってくるのである

何もない状況にパラダイムシフトを起こす何かがやってくるとワクワクするのであるならば、

乳児はこの世界の何もかもにものすごくワクワクしていると思われる

乳児でなくなると、この世界の変化しないもの常識として脳に定着して、つまらないものにさえなる

でも、若ければまだまだ体験していないことはあるわけだ

まり、それはゲームに関しても同じであって、

若ければギャラクシアンゼビウスがどれだけスゴかったかなんて知らんし、俺も知らんw

だって子供の頃だから

でも、ギャラクシアンより先にゼビウス見た世代だけど、凄いなあとは思ったんだよな

だって自分場合ギャラクシアンを飛び越えてゼビウスだったんだから

逆にギャラクシアンの方を後から知って、古臭いゲームだなー、レトロだなーと思ったんだから

(ただ、ギャラクシアンの曲線的な軌道ゼビウスなんかより凄い発明に思うんだが。整数演算なんだよね?

ただ、レトロレトロバカにする人はプログラマーでないとかなんだろうけど、

ゼロからコード書くって、何もないところから作ることを考えさせられるわけで、

それはゲームプログラムを書くならば、ゲームの基本のPongから考えさせられることになる

例えば、ゲームプログラムを書くときSDLとかSFMLみたいなライブラリは使うかもしれないけど、

SFMLのサンプルにはPongが入っていたはず

自分も何か新しいゲーム開発のライブラリとかフレームワークとか検証するときは、

豆腐2D3Dの白い四角、日本ではこう呼ぶ)を表示する、

から始めて、次に倉庫番簡単ブロック崩しテトリス実装するとかやることにしている

そこで開発の大まかな進行とかフレームレートとか、色々分かってくるわけだ

ジョン・カーマックがどこで語ってたのか忘れたけど、最近FPSは完全にMOD開発になっていて、

そのMOD開発の費用はどんどん膨らんでいっていると言ってた気がする

まりレベルエディットとかキャラクターアイテムだとか、そういうコンテンツの緻密な開発だけが進んでいる気がする

GTAみたいなゲームFPSとかで培った技術集大成にすぎない

可視領域をどう区切るか?遠くの建物にLODを使うか?インポスターを使うか?とかそういったゲームエンジンの話は、

マシンパワーの向上やUnityなどのゲームエンジンの登場であまり議論する意味がなくなってきている感がある

もっとも、Unityなり導入すれば簡単に作れるという話ではないと思う

思うが、もうゼロからチマチマCのベクトル計算コードを書く時代ではなくなっているのは確かだろう

カーマックはその高騰するMOD開発をマインクラフト意図的安価にしたと言ってた気がする

まりマインクラフトであれば子供でもゲームを改造する体験ができるようになる

それはマインクラフト開発者であるnotchがそういうゲーム開発に対する思想を持っていたからだ

私はnotchはシンプルものを積み上げるのが好きなように思っている

彼のJavaコードはそんなに難しくはない

寧ろ素直に書けていて誰もが勉強になるコードだったように思う

ただ、jsdo.itかに投稿していたソフトウェアレンダリングコード北欧メガデモっぽさがあって、

読もう読もうと思って未だに読んでいないことを今思い出した

文章書き直す気がないまま、だらだら書いてみたが、読み返して自己分析するに、

まず、ゲーム開発でなくてもそうだが、

まず何かがあって、それをコピー改造した何かが生まれる、この連続物事進化していく

手塚治虫があって、それを高橋留美子コピー改造して新しい漫画が生まれ

次に若い漫画高橋留美子漫画コピー改造して、また新しいものが生まれていく

開発する側も消費者もワクワクするのは、この改造して新しい何かが生まれる、守破離の離のインパクトであろう

黎明期はその離のインパクトが大きいが、どんどんそのインパクトは小さくなっていく

そして、ありふれたものが溢れるようになっていく

これが成熟期と言える

しかし、その成熟期に溢れるもの様式美であり、お約束であり、マンネリズムである

自分は初代プレステ時代もワクワクしたのを覚えている

あの時代3DOが先行したがコケたり、ドリキャスも登場してコケたり、面白い時代だったのである

ただ、今の時代にああい群雄割拠というか、戦国時代というか、そういう活気がゲーム業界にあるようには思えない

これから変わるならVRだろうか

VR元年って毎年言ってない?というツッコミ分からんでもないが、まだまだVRは伸びると思う

臭いまでやる必要性自分はあまり感じないが、

物体を触った感触とか、

物体を触れないなんてのはまだまだVR市場が伸びる余地があるということだと思っている

あと、FPSみたいに走るゲームだと自分も走るのか?ということになるけど、うーん、ルームランナー方式はなあ…

あと、これも自分は専門でも何でもないので、

というか、この文章自体ダニング=クルーガーなのは認めざるを得ないわけだけど、

敵というかNPCというか、今の時代だったら高度な汎用性のある人工知能ゲームでも実現するべきだと思うわけで、

そうすれば当然、同じセリフを延々と喋るドラクエの村人みたいなのは笑い話にしかならなくなる

ゲーム内に高度な人工知能が実現すれば、それらと会話したり、それらとマルチプレイと同様の感覚連携プレイ可能になる

個人的にはそういう未来にワクワクを感じる

今までと同じことを繰り返しててもワクワクしないし、

その理由もこの文章でも何度も書いたし、

自分がワクワクしないことは他人もワクワクしないかもしれないし、

クワクすることの方がお金にもなりそうだし

anond:20201126102012

2020-11-16

親子でワーキングメモリーが違うのを実感する

自分文字情報確認し処理するのが得意なタイプだ。視空間ワーキングメモリ寄りのようだ。本を読むのも早い。代わりに耳で情報を処理するのが苦手だ。

意識しなくても誰かが喋ってそれが耳に入ると何を喋ってるのかを脳の処理演算無意識強制させられるので作業効率が落ちるし、疲れやすくなる。

作業時のBGM洋楽の方が脳も言語として認識せず余計な演算を行わないので楽だ。

 

親父は目がかなり悪く耳で情報を処理するのが得意なタイプだ。言語ワーキングメモリが飛び抜けている。

分厚いメガネをかければ見えるので弱視ではない。

目が悪いため、授業中の黒板など見えず先生の喋ってることを情報を処理して覚えて学習することを幼少からしていたそうだ。

最低限のメモを取れば、聞くだけで情報を整理できて判断するのが得意なタイプだ。

 

親子なのにワーキングメモリの傾向が違いすぎて、言語ワーキングメモリが優れている親父がちょっと羨ましい。

2020-11-06

コード共通化するな

プログラミングできる気になった自称中級者は、ソースコード共通パターンが現れると決まって、その処理を関数などに共通化したがる。

しかに、そうすることでソースコードは短くなるし、一見して保守性が上がったような気になるのだが、それは間違った作法から止めろ。

かいこと言っても伝わらない自称プログラマが読んでることを想定して、先に結論簡単に書いておく。

お前は絶対コード共通化するな。

共通化してはいけない理由

なぜコード共通化するのがいけないのか。理由簡単だ。要するに、コードが似ているのは単なる偶然であって、それらは別の処理だからだ。

別の処理だから共通化するのはおかしいし、もし共通化した処理の一方のみ仕様が変わった場合、その修正は他方にも影響してしまう。つまり保守性が下がっている。

たとえば、同じプロジェクトの中に、10%の消費税を加える処理と、10%の金利を加える処理があったとする。この2つの処理はともに元の金額を1.1倍する処理であり、全く同じ処理であるが、共通化してはいけない。

これらを共通化してしまうと、たとえば金利が8%に変更になったとき金利計算の処理だけではなく、消費税計算している箇所すべてを変更しなければならなくなる。

実際のアプリケーションでやりがちなのは複数の処理の「事前処理」「事後処理」などを1つの関数にして、呼び出し毎に細かい挙動引数制御するようなパターンだ。

これは結局、改修を重ねる度に「事前処理」「事後処理」の内容が使用箇所によって全く異なるものとなり、それに対応するために

といった悲惨設計に陥る。

他にも、GUIアプリユーザーの応答を待つDialogクラスなんてものを作って、使用箇所ごとにメッセージボタンに割り当てる処理などを切り替えることがある。

これも間違いなく、プログラムが成長するにつれて破綻する。たとえば、ある場所ダイアログは、表示するメッセージテキスト形式のみではなくなり、脇に画像を表示するかどうかのフラグコンストラクタに渡したり、Dialog継承させて表組みを表示するTableDialogサブクラスを作ったりすることになる。ボタンが「OK」と「キャンセル」の2種類の場合じゃなくなって、表示するボタンの数をコンストラクタに渡したり、ボタンに割り当てる処理をリスト形式で渡したりし出す。

こうして、最初は良い設計に見えたDialogクラスはどんどん複雑になる。こうなった原因は明らかで、本来は異なるもの共通化したからだ。おかしな色気を出さずに、素直に別々に実装しておけばよかったのである

処理に名前をつけろ

プログラミングをする上で「コード共通化する」なんてことは意識しなくていい。それよりもプログラマがすべきことは、処理に適切な名前をつけることだ。そのプログラムにおいて「単なる変数操作」を超えた意味のある処理には名前をつけろ。そして、同じ意味の処理なら同じ関数を使うし、違う処理なら違う関数を使う。それだけだ。コード共通化できるかどうかなんて全く関係ない。

変数関数クラス名前空間等が再利用のための機構だという先入観は一旦捨てろ。それらの真の意義は、「関心の分離」にある。つまり実装隠蔽し、その意図抽象するために存在する。たまに勘違いしてる奴がいるが、別に1回しか使われない関数とか、1行しかない関数はあってもいい。というか、この原則にしたがって設計すると、ほとんどの関数(or メソッド)は数行になる。

上の消費税の例で言えば、「消費税を加える」「金利を加える」処理は、明らかに単なる算術演算以上の意味のある操作から関数化する。そして、それぞれの実装は当初の仕様では奇しくも全く同じになる。消費税を加える箇所では前者の関数を呼ぶし、金利を加える箇所では後者関数を呼ぶ。

これはこう言い換えることもできる。消費税を加える関数を変更するのは、消費税計算処理が変わったときのみであり、金利を加える関数を変更するのは、金利計算処理が変わったときのみである。つまり、すべての関数は、それを変更する理由がただ1つになるように設計しろということだ。

こういうアプローチプログラムを書くと、ソースコードはあたかもそのアプリケーションドメイン特化言語で書かれたかのような見た目になる。

また、一つ一つの関数は小さく、理解やすく、テストデバッグも容易になる。そして、結果として再利用もしやすくなるし、プログラムの変更も容易になる。

2020-11-04

今更ながら数学ゾンビ

一々数式の意味強制して考えさせる教育はクソと前置きはしておきます

ただはてブとか増田現代数学では意味重要視しないって言ってる人達結構見てゲンナリした

特定性質を持った単なる点の集まりを図形としての意味を持ってると考えたりするひとは幾何に関して珍しくもないし

そういう考え方をした方が命題とか考えやすい面もあるのにな

別にこれは幾何に限った現象でもないし立場としては

掛け算の単なる代数演算の左・右に意味見出してる人達と大して変わらないと思う

現代数学抽象的な記述もするからこそ自由意味を見出す事は出来るし見出す事自体は悪くなく

アナロジーなんかも考えたり出来て役に立つ事もある

最後に繰り返すけど一々数式の意味強制して考えさせる教育はクソです

2020-10-27

anond:20201025223337

分数の割り算の意味なんて考えたこともなかったな。演算ルールに従って計算したらそうなるぐらいにしか思ってない。

ルール(公理定義)を把握することの方が大事だよ。数学ゾンビ証明過程をすっぽかして定理の結果だけを覚える人だと思うな。もちろん自分ゾンビだけど、ゾンビになりたくないか証明理解しようとしたけど諦めたわ。

ログイン ユーザー登録
ようこそ ゲスト さん