記事の内容 IPアドレスってなんや? DNSサーバってなんだ? ブラウザとサーバって、どうつながりあってるの? みなさんこんにちは、メタです。 今回も好きをぶち抜いていきましょう! この記事では、WEB技術の基礎をまとめます。 参考にした本はこちらです。…
記事の内容 初歩的なプログラムの知識だけで解ける数学パズルの問題を紹介します。プログラミング入門者の方にとっては、数学パズルはアルゴリズム的思考の訓練になります。楽しみながら慣れていきましょう。プログラム入門者の方、python入門者のかたにおす…
記事の内容 今回の記事では、数学的にもプログラミング的にもとても興味深いテーマを紹介します。数学youtuberの鈴木貫太郎さんが紹介していた話です。www.youtube.com それは、2つの自然数が互いに素である確率は、である、というものです。もう少し説明し…
記事の内容 Lisp入門の勉強として、書籍『Land of Lisp』の内容をまとめる。 今回は、第4章条件分岐についてだ。 対称性という感覚を持ちながら、学んでいきたい。 記事の内容 nilと()の対称性 条件分岐 ifとその仲間たち 条件式のテクニック 比較関数の方針…
記事の内容 Lisp入門として、書籍Land of Lispの内容をまとめていく。 今回の記事では、3章の内容について勉強する。 シンタックスとセマンティクス、リストとコンスセルについてだ。 記事の内容 Lispの形式と意味 Lispはコードとデータをどう区別するか リ…
記事の内容 Lisp入門書である「Land of Lisp」の勉強メモ。 第2章の内容についてのまとめ。 プログラムを書く土台となる変数と関数の定義方法について学習。この記事にまとめてみる。 記事の内容 グローバル、ローカルな変数と関数 コマンドまとめ 関連記事 …
記事の内容 今回は、pythonに慣れるために簡単な数学パズルのようなものに挑戦します。そのテーマは、「平方根を求める」です。どのようにコードを欠けば、効率よくある数の平方根を求めることができるのか、いろいろと工夫してみましょう。python初心者の方…
記事の内容 最近では、どんどんプログラミングの重要性が認識されてきました。それにともない、プログラミングの学習環境も、たくさん発展してきています。 そんな中、ウェブ上で無料で学習することができるサイトもあります。 今回は、そんな無料で学習でき…
記事の内容 今回は、深層学習(ディープラーニング)を手軽に実装するためのライブラリである「pytorch」を紹介します。 実際に、深層学習入門の定番である、手書き文字認識にチャレンジしてみます。・深層学習の基礎はなんとなくわかっている ・pytorchを使っ…
この記事の問いと内容 論理と計算との間には深い関係がある。現在のコンピュータサイエンスでは、その応用範囲は広い。 ・計算可能であるとはどういうことか? →理念 ・具体的には、どのようにして計算は行われるのか? →計算モデル論 ・計算手順をうまく記…
記事の内容 この記事では、数理論理学、数学基礎論、プログラム理論、計算論などの分野にまたがるおすすめな本を紹介したい。 軸として、「コンピュータは数学者になれるか」という本を挙げたい。この本では、巻末にて、さらなる専門書が紹介されている。こ…
この記事の問いと内容 この記事では、「コンピュータは数学者になれるのか 数学基礎論から証明とプログラムの理論へ」という本を紹介したい。数学、論理学、人工知能、プログラムをまたぐ、とんでもなくエキサイティングな本になっている。 ・数学するという…
記事の内容 関数型言語であるHaskellについてまとめたい。今回の記事では、おもに、「関数と型」についてまとめる。Haskellを使用する際には、中心的な概念になる。この使い方こそ、手続き型言語とは、大きく違うところである。関数型言語の特徴をつかむため…
記事の内容 今回の記事では、基礎的な知識だけで解ける数学パズルを紹介します。プログラミング、python初心者にとってはいい練習になるはずです。それに、アルゴリズムで問題を解くということのいい実践になります。 専門的には、最大独立集合問題と呼ばれ…
記事の内容 アルゴリズムの練習として有名なものに、「天秤を使って偽造硬貨を見つける」というパズルがあります。今回の記事では、この問題をpythonで解いてみます。基礎的な文法さえわかれば挑戦できるパズルなので、ぜひ初心者の方もチャレンジしてみてく…
記事の内容 今回の記事は、プログラミングの問題としてはそこそこ有名な「Nクイーン問題」をPythonで解いてみます。「問題解決のpythonプログラミング 数学パズルで鍛えるアルゴリズム思考法」という本からの引用になります。本書は、pythonを用いて基礎的な…
記事の内容 「問題解決のPythonプログラミング 数学パズルで鍛えるアルゴリズム的思考法」という本を紹介します。 この本に載っているパズルを解きながら、楽しくアルゴリズムを学べる記事になります。 Python初心者の方にも、プログラミング初心者の方にも…
記事の内容今回の記事では、「問題解決のPythonプログラミング 数学パズルで鍛えるアルゴリズム的思考」という本で紹介されている簡単な数学パズルを解きたいと思う。難易度も優しく、基礎的なコードを知っていれば楽しむことができる。 プログラミング初心…
遊戯王って楽しいし、頭も鍛えられる!! 突然ですが、遊戯王というカードゲームを知っていますか? そして、やっていて「頭も鍛えられるじゃん!」と感じたことはないでしょうか? 私自身、そう感じています。楽しみながら頭も鍛えられるカードゲームってす…
記事の内容 ・チューリングのどんなアイデアが、コンピュータサイエンスの基礎になっているのか ・AIには何ができて何ができないのか ・「計算する」とはどういうことか ・万能チューリング機械でも、「計算できない問題」とは何か コンピュータの発展は、現…
不完全性定理に興味ある人へ 「ゲーデルの不完全性定理」という言葉、みなさんは聞いたことがあるでしょうか?簡単に言うと、その名前の通り、数学(の一部)におけるある限界を示した定理です。私自身、この定理の存在を知って以来、その人類の英知の香りに…
プログラミング、ものづくりの姿勢 プログラミングやものづくりの姿勢において、ひろゆき氏の考え方がためになりました。ブログ運営も含め、すべてのものづくりに通じます。とくに、初心者の方にとっては重要なところです。 ・プログラミングの学習を投げ出…
こちらのページでまとめています。 qiita.com
値を手軽に分解する方法パターンマッチ ある種のデータが従うべきパターンを指定できる。引数の構造で場合分けする。関数定義の際に、パターンマッチを使って、関数の本体を場合分けできる。これによって、読みやすいコードが書ける。 sayMe :: Int -> Strin…
リスク内包表記についてまとめます。 Prelude> [x*2 | x <- [1 .. 10]] [2,4,6,8,10,12,14,16,18,20] リスト[1 .. 10]から要素を取り出し、その値をxが受けとるという意味。 | より前の部分は出力を表す。 条件(述語)を追加できるのが便利。 Prelude> [x*2…
この本から出題 プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問作者: 増井敏克出版社/メーカー: 翔泳社発売日: 2015/10/16メディア: Kindle版この商品を含むブログ (9件) を見る Q11フィボナッチ数列 フィボナッチ数列のうち…
なぜ行列を使いたいのか? 行列を使うとたくさんの連立方程式を一つの式で表せる。行列表記がとても便利。 リストとベクトルは違う! a0 = [1,2,3] + [1,2,3] >>[1, 2, 3, 1, 2, 3] ベクトルはnumpyで import numpy as np x1 = np.array([1,2,3]) print(x1) …
線形探索 配列から要素を探索するアルゴリズム。 左端から順に、目的数と比較していく。 def liner_search(aList, val): for x in aList: if x == val: return True return False 2分探索 整列された配列から要素を探索するアルゴリズム。 配列の中心から目…
バブルソート def bubble_sort(array): n = len(array) for i in range(n-1): for j in range(n-1,i,-1): #開始、終了、ステップ ''' iが左端。つまり最小値。左端であるiをソート済みにし、 開始n-1つまり右端に戻る。 ''' if array[j] < array[j-1]: tmp =…