「チューリング完全」を含む日記 RSS

はてなキーワード: チューリング完全とは

2024-03-15

anond:20240315121258

一部が速くなったらそれはスーパークソ速コンピューターじゃないか

現代において「コンピューター」という概念一般チューリング完全性くらいは満たすものを指すと思うが。

2023-07-30

Python普遍的言語になった。

いやぁ、長かったですね。Python業界デファクトスタンダードになり、シェル言語システム記述言語となる可能性が潰えて久しくなるまでが。具体的にいうと Ansible のようなクラウドの構築はTerraformになったし、Linuxブートには systemd が後継となったいま、PythonRuby と同じく「Perl のような何か」に落ちてしまった。唯一無二の人工知能の為の言語としても、高度化した人工知能の開発で新規参入者にとってはハードルが高く、API操作するぐらいだったら JavaScriptJSONコネコネする API操作するほうが賢い時代となってしまったのだ。よって Python新規採用する絶対的メリットは消えてしまった。これで「Pythonを使えます」という奴に見下される必要はなくなったのだ。これで、ここ数年間も続いた「Pythonを使えるのを凄いと勘違いしている間抜け、または人工知能の開発で Python必須なのとかぬかす馬鹿、それに Python を使えば他言語を学ぶ必要はないというキチガイ」を排除できるようになった。だってPython は数多の言語のようにチューリング完全を満たした言語の一つになったのたから。これを普遍的と言わずになんていうのだろうか。

2022-07-22

ブロックチェーンOSを作るwww

twitterグーグルエンジニアが笑ってる

ブロックチェーン界隈は邪悪人間が多いためか、ブロックチェーン否定的ITエンジニアが多いのだけど、とてももったいないことだと思う

邪悪人間は嫌いになってもいいけど、ブロックチェーンのことは嫌いにならないでほしい


ちなみにブロックチェーンOSは作れます

イーサリアムを作ったヴィタリックさんは、イーサリアムのことを「ワールドコンピュータ」と呼んでいます

コンピュータというのは、記憶領域と入出力装置を兼ね備えた演算装置のことです

ブロックチェーンはこれらを持っています

記憶領域ブロックチェーンブロックの部分が担っており、演算装置マイニングマシンが担っています

入出力の出力の部分は、演算装置計算して記憶領域に格納した結果をこちから読み取り行くことで実現でき、

入力の部分は「オラクル」と言われることもあるけれど、データブロックチェーンに流しこむことで実現できます

ブロックチェーン同士をつなぐブリッジ一種の入出力と言えるでしょう

まり、これら記憶領域演算装置を持つブロックチェーンは、コンピュータなのです

比喩ではなく、定義上、コンピューターなのです

コンピュータやらせたいことはスマートコントラクトというプログラムコードに書きます

チューリング完全だそうです

そのコンピュータを操る基本ソフトであるOSは、ブロックチェーンに組み込まれているので、ブロックチェーンを作るということはOSを作るということなのです


普通コンピュータ場合フォルダの中身を見るのにエクスプローラーを使いますが、ブロックチェーンにもエクスプローラーはあります

イーサリアム場合はイーサスキャンというものが有名です

ブロックの中身を見たり、スマートコントラクトコード(ソースコードが公開されていない場合バイトコード)を見たりすることができます

このエクスプローラーブロックチェーン自体が備える機能ではないけれど、ブロックチェーンコンピュータっぽいことが分かるのではないでしょうか

ちなみに、スマートコントラクトコンピュータインストールするアプリに相当するでしょう


しかしこのコンピュータには大きな欠点があります

処理スピードものすごく遅いのです。記憶領域も貧弱です

個人的には、20年前のパソコンより遅いと思っています

それでも、コンピュータコンピュータです

まだ登場して間もないのだから、遅いのはしょうがないです

web1.0が登場したころ、そのあまりの遅さゆwwwのことを「world wide wait」と揶揄する人もいたそうです

webはその後劇的に速くなったので、ブロックチェーンも速くなるかもしれません


話が長くなりましたが、言いたいことは、ブロックチェーン詐欺ツールではなく、ただの技術です、ということです

現状、詐欺を支える技術となってしまっている部分もありますが、技術自体ニュートラルです

テストネットであればお金をかけることなトークン使ったりコントラクト書いたりできるので時間がある人は遊んでみてください

2022-03-31

anond:20220330184123

ブロックチェーンは、プライベート、コンソーシアム、パブリックに分けて考えた方がいいかも。

プライベートチェーンは管理者いるか簡単改竄できちゃうので、ブロックチェーンの良さである改竄性はあまり発揮されない。なのでわざわざブロックチェーンを導入するよりかは、普通データベースを使ったほうがいいと思われる。ただ、上の増田が書いているように、中央銀行デジタル通貨の基盤として使うのには相性いい気がする。

コンソーシアムチェーンは耐改竄性が求められるのでブロックチェーンと相性がいいと思う。貿易事務領域で導入されて「業務効率化されました」って記事最近見たけど、このケースではデータベースとして使うというよりはEDI的な使い方をしているのかも? 他の活用例はあんまり見ない。業界協調して動かないと意味いから導入が難しいのかも?

パブリックチェーンは暗号通貨領域。この領域投機的な話だらけで確かに面白くない。ただ、パブリックチェーンをスマートコントラクトプラットフォームだと考えると話は変わってくる。スマートコントラクトにはチューリング完全プログラムが書けるので、パブリックチェーンはデータベースというよりも巨大な一つのコンピュータと考えることができる。プライベートチェーンでもコントラクトは書けるけど、パブクリックチェーンの場合は誰でも参加できるというプラットフォーム性を備えていることが利点。管理者すなわちスーパーユーザがいないという点も大きなメリット

今の所はポンジースキームプロダクト、あるいはステーブルコインを使ったペイメントぐらいの活用しか見ないんだけど、パブリックチェーンが一番ポテンシャル高いと思う。

上みたいな話をあまり聞かない気がするのは俺が知らないだけなのか、それとも技術的、国際的倫理的問題があるのか?

日本メディアが取り上げないから?

2022-02-08

anond:20220208154426

10ななしのよっしん

2014/10/26(日) 15:21:18 ID: ikmBut/shV

具体例を考えてみようか。

暇人A「歯車コンピュータ再現しました!画面あってブロック崩しも遊べるよ!」

暇人B「粘菌計算機作りました!経路探索できるよ!」

誰か「AとBの仕組みよーく見てみたら、一方でもう一方の動き再現できるわ。だからどっちもパソコンと実質同じで、

ちなみにパソコン計算機としてベスト手法だわ」

例が合ってるかわかんないけど、このとき歯車粘菌パソコンチューリング完全マシン

いうまでもなく、歯車=粘菌思考しませんw

anond:20211001170339

粘菌計算しているのではなく、計算機として解釈可能な動きをしているに過ぎないのだが、これらが区別できないやつが得意げに何か言っててもな

マリオメーカーは「計算」ひいては「思考」してるんか?チューリング完全とそのもの自体計算しているということの区別ぐらいできるようになりなさい。

2021-10-14

anond:20211007092638

マリオメーカーすらもチューリング完全演算可能だと証明されてるが高度な「演算可能」ということに話を持ち込んでるのはずれてる

2021-10-05

anond:20211005195044

たいていのプログラミング言語チューリング完全なんだからダメってこたぁなかろう、その言語の得意とするプログラミングパラダイムに合わないと書きづらいとかはあるが。

2021-08-08

プログラミング言語関数型言語ってOOPを含めた命令言語に劣る理由

Scala や Elm と Lisp やら HaskellOCamlSML関数型のプログラミング言語勉強したけど、これらが命令言語に劣る理由解説しよう。

解釈自由関数言語アセンブリレベル最適化ができない

これは、SQL も同じ問題を持っているが、関数言語は「こういうふうに動いてね」という解釈インタープリターやコンパイラが「推測する」必要があるのだ。つまり、書いているときパフォーマンスプログラマー想像できない。

ハイパフォーマンスを出す関数言語コンパイラを作れば良いじゃん?

それが、現実的に厳しいのだよ。マジでコンパイラ関連は金にならない領域になってきたので、関数言語のための独自コンパイラを作る持続可能組織が無い。確かにLLVM を使えば x64arm といった最新のアーキテクチャ対応できるかもしれないけど、フロントエンドレベルすら応対が辛い。よって、関数言語C言語にてチューリング完全な同等なコードだと「いくら最速に書いても」遅いのである

人間は「命令するほうが楽」なので、関数言語は負けます

例えば if と書いたら、関数言語は else が必須ですが、命令言語は else 無しでも動いちゃうのですね。文系の連中が数学的な背景を加味して要件定義できると思うか?違うだろ。毎回、上に else のことについて聞いたら、プログラマー生産性は下がるだろ。関数言語は、上が文系だとますますだが、分岐もきっちりとおさえる必要があるから生産性命令言語に劣るよ。

2021-07-20

anond:20210720202348

もと増田だけど、気分まぐれに書いた駄文なので気にしないといてくれ。

それはさておき、Python が好きってことはプログラミングが好きってことで良いね?だとすると、最終的には C 言語やることになるけど、今は Python をやろう。なんと言っても、Python は C 言語できているけど、C言語謎いので無視してオッケー!

そんでもって、Python の「公式ドキュメント」をきちんと読みこなせるようになろう。最初から全部は必要ないけど、最終的には読みこなせるようになろう。そんでもって、プログラミングをしたいってことは「何かを作りたい」のだろ?たとえば、増田を作りたかったら Python だと Django や Flask を、人工知能を作りたかったら PyTorch を使うことになるだろうけど、その手のフレームワークの「公式ドキュメント」を読みこなせるようになろう。プログラミングスクール(やめとけよ)や本は「公式ドキュメント」を読めるようにする手段だと思ってくれ。間違っても「本に書いてあったのに、動かない!」なんて、喚かないでね。洋書和書も「公式ドキュメント」以外のテキストは間違っていることがあるので。

次に「エラー友達」ということ。エラーあなた否定したのでなく、コード否定したのであって、エラーが出ても気にしないでください。そんでもって、エラー文を丁寧に解決していけば、すごくスキルが身につきます

最後に、Python 言語だけじゃ解決できないプログラミング問題は多々ありますデータベース操作するには SQL が、ウェブサイトを動かすには JavaScript が、ウェブサイトを作るには HTML/CSS が、サーバーを設置するにはシェル言語が、Python高速化するには C言語が、必要になる場合がありますPython を使いこなせると、おそらく習得は容易でしょう。なぜかというと「Python だとチョメチョメだったっよなー、これでいけないか?」という勘が形成されるので。

チューリング完全言語はどれも表現力は同じだから、「この言語から成功する」というのは無いよ。Pythoninterface が無くて、class が弱くて、動的型付けを用いているけど、これらがないと「制約」を課すことができないというフリーダム過ぎるから、嫌らわれることはあるけどね。制約が強い言語は、ハンターハンターふうに言うと「制約が念能力を強くする」みたいな要素はあるよ。

どうしても教育を受けたいという希望があるのなら、ハーバードの CS50 という講義無料で見れるから、推薦したいね。あれみると、我が国計算機科学は負けていると思った。

2021-04-08

anond:20210407234604

その考え方だとチューリング完全言語で書かれたプログラムってそれ単体では全てAIに入らない(=現在までのところAI存在しない)よね

2021-03-29

anond:20210328223121

プラレール論理演算チューリング完全ってできるのかなあ

冗談煽りではなくて、そもそも"hack"という単語起源MIT鉄道模型クラブという説もあるわけで、

ウィリアム・ギブスンブルース・スターリングの「ディファレンス・エンジン」というか、パスカルの手回し計算機というか、

歯車計算機とか論理演算とか、スチームパンクベースだったりもする技術なわけで、

半導体ではなく鉄道模型による巨大なコンピュータというのも面白いなあと純粋に思ったのでした

(もちろん、この手の話は永久機関と同じで、摩擦とかが蓄積されて実現は不可能だと思うわけですが…

2021-02-07

anond:20210207024915

いやScratchでも、複雑なアルゴリズムちゃん実装できるし、ちゃんとしたプログラミング言語だぞ。

...ちょっと調べてみて分かった。思い込みでいろいろと書いていたが、Scratchチューリング完全だし、ちゃん再帰なんかも書けるのね。

ただ、配列が基本データ型にないのはアルゴリズム学習観点からはかなりマイナスだと思う。

リスト配列はその振る舞いや扱いが大いに違うので、実装の詳細だから触れないでいいというわけにもいかないのではと思う。

そして、Chrome拡張を使えば競技プログラミングもできなくはないけれど、それだったら最初からC++書いたほうが早くね?とも思ってしまう。

たぶんエントリーはそこでもいいし、それでそれなりにアルゴリズム勉強できるけれど、それ以外の言語を知らないというのはかなりのマイナスポイントなのではないのだろうか。

2021-01-15

「RustはRuby世界観が似てる」っていう発言をみて、たまげた。

まあ、Rubyとか10単位でさわってないから、そうなんすかね?

両方ともチューリング完全という世界観は共有してるのかも・・・

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