投稿

ラベル(コンピューター)が付いた投稿を表示しています

コンピュータープログラムの計算モデル

命令モデル 命令を実行する。 C言語、Java プログラムの命令を実行すると、内部の状態が変化し(変化させる)、最後の状態が計算結果となる。 計算途中の状態を意識してプログラミングする必要があるが、把握しづらい。状態は変化していくから。 コンピューターのハードウェアの構造に近い計算モデルなので、効率がよい。 関数モデル 関数を呼び出して値を得る。 Lisp、Haskell 命令モデルの言語でも関数式がサポートされるようになった。Javaのλ(ラムダ)式など。 関数を値として扱うことにより、処理を部品化(モジュール化)する。 値を変数にバインド(束縛)し、変化させない。代入や破壊的メソッドの排除。 代入を排除することで、モジュール性が高まり、テストが容易になり、コードの正しさが証明できる。 参照透過性を確保する。数学的な等式が成立する。 A === Aはアドレス参照でなく値を評価する。 関数型プログラミングはメモリやコンパイルの効率的管理が難しかった。 論理モデル 証明を得る。 Prolog 普及している言語は少ない。利用が進んでない。 ポーランド記法を逆ポーランド記法 ポーランド記法 「1 + 2」 ⇒ 3 (1加えることの2ならば3、1プラス2は3) 逆ポーランド記法 「1 2 +」 ⇒ 3 (1に2を足すならば3) 述語関数 ブール値(true/false)を返す関数のこと。 条件を満たせば「真(true)」そうでなければ「偽(false)」を返す。 代数的データ構造 複数の選択肢から一つだけ選択するデータ構造 例、星 恒星 惑星 衛星

ビックデータ関連技術発表年(Google)

論文発表 2003、Google GFS 2004、Google MapReduce 2006、Google Bigtable 2010、Google Percolator, Dremel(BigQuery) ソフトウェア発表 2007、Google Hadoop First Release 2008、Google HBase First Release 2010、Google Caffeine 2011、Twitter Storm 2012、Dremel Spanner Colossus 2013、Amazon Kinesis 2013、Drill Google検索システム Crawling MapRedece GFS(Google File System) MapRedeceではデータ処理がバッチ処理で行われるため、検索結果への反映までに時間がかかるという問題があった。 MapReduceの実装がHadoop、バッチ処理、Javaライブラリ(HiveQL in Hadoopなど) Dremel(BigQuery)、会話型クエリー、SQLライクの言語、入れ子構造(nested)の扱いが可能、カラム指向 Caffeine Colossus アプリケーションプラットフォーム App Engine Bigtable(NOSQL) BigQuery オープンソース化 Apache Hadoop ← MapRedece Apache HDFS ← GFS Apache HBase ← Bigtable Apache Drill ← Dremel 参考文献 「Google BigQueryではじめる 自前 ビックデータ処理入門」、清野克行、秀和システム、2014

2009/12/29 writing-2009

writing-2009 長寿命化 2009年10月31日 将来、長寿命化が進む。 欧州、日本、韓国などの少子高齢化社会はもちろん、それ以外の国でも進むと思う。 ストレスで寿命が縮む人もいるが全般的には伸びそう。 主因は医療の発展によるもの。 疫病に対する技術、健康を維持する技術や知識が発展し、その成果で元気に暮らせそう。 人工骨、人工血液などの細胞再生技術が伸び、弱った部分を補完できそう。 長寿命化にともない、60歳以降も社会で活動する必要がある。 労働と趣味を楽しむことが大切。どちらか片方だけに打ちこむ人もいるでしょうが、両方できるよう、人生の中で興味あることを発見し、また労働能力を維持することが大切。 高齢になると目、耳、歯などが弱ってきて、医療技術で補うにせよ、これらを若返らせることは難しい。 高齢者が行動するには公共交通機関と徒歩が中心になる。よって、社会は自動車の速度を緩やかにし、渋滞対策重視でなく安全重視の交通システムにして行く必要がある。 伸びる科学技術 2009年10月31日 貧困、疫病、戦争(暴力)を克服する努力は今後も継続される。 地球が壊れたら人間も生きて行けないため、科学技術の実用化にあたっては、環境を維持できることが指針となりそう。 これからのコンピューター 2009年10月31日 現在のままでも便利だが、量子コンピューター、DNAコンピューターが開発され、より高速になる。 順当に行けば量子コンピューターの方が先に普及しそうだが、DNAコンピューターは電子コンピューターが苦手とする処理に強いところがあるので、適所適材で実用化されると思われる。 発熱量も小さくなる。 現行の暗号通信が破られる恐れがあるが、より強い暗号に移行することにより問題は少なくなる。鉄ができれば木の扉も鉄にすればよいのと同様。 DNA計算の大規模化、「萩谷昌己、横森貴、DNAコンピュータ、2001-12-26、培風館」より要約 約100μMのDNAオリゴマー溶液(合成費用は数千円)の中に存在するDNA分子の数は6x10の16乗、仮に1本のDNA分子で1文字を表現したとすると、6千万ギガバイトの記憶容量を持つメモリを実現できる 人間に近いコンピュータ...