タグ

programmingとMathに関するfukudamasa09のブックマーク (16)

  • モンテカルロ法で囲碁、将棋

    2006/02/17 興味がわいて作成 囲碁の場合 1.モンテカルロ法とは? 2.モンテカルロ法を囲碁に適用すると? 3.5路盤での結果 4.9路盤と19路盤の結果 5.終局までの平均手数と平均目数、最大の手の目数 6.実際の囲碁プログラムでのモンテカルロ法 7.少し強く?したモンテカルロ法 8.実際にモンテカルロ法で対局させてみると? 将棋の場合はこちらを モンテカルロ法がコンピュータ囲碁ではちょっとしたブームらしいです 2005年9月のコンピュータオリンピックの囲碁の9路盤部門でモンテカルロ法を採用したフランスの囲碁プログラムが 好成績を収めました。(3位と5位、9チーム中) こんなお手軽でインチキくさい?方法がどこまで効果があるものか自分でも少し調べてみました。 1.モンテカルロ法とは? モンテカルロ法、で真っ先に思い浮かべるのは、正方形の中に乱数

  • 数学 - プログラミングスレまとめ in VIP

    数学の考え方 † プログラムで「関数(function)」って言うよね。数学で扱う関数から見れば異質としか言いようが無いけど、しかし、やはり関数は関数なのです。では、関数とはなんぞや。 ところで数学(者)は、厳密な論理を重視し、高度な抽象化を行い、命題を導くことを目的とします。一見堅苦しい作業に思えるのですが、厳密に且つ抽象的に処理を行うことが、驚異的柔軟性を導いてくれます。譬えば「線型接続」の素晴らしさは、柔軟さゆえの事でしょう。 つまり、関数を抽象化してやると、「任意の値に関する答えを返してくれる処理」とも考えられるわけで、プログラムの処理も「関数」に該当するわけ。これもまあ柔軟と言えばそう。 プログラムだと、動けばいいやと思ってしまえば、動画変換のプログラムは何でもいいことになる。でも実際はそうじゃない、なるべく効率的で高速な物を考え、実現する。プログラムと同じように、数学にも効率化

  • 連載:はじめMath! Javaでコンピュータ数学|gihyo.jp … 技術評論社

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    連載:はじめMath! Javaでコンピュータ数学|gihyo.jp … 技術評論社
  • ライフゲーム - Wikipedia

    この項目では、簡易的な生物のシミュレーションゲームについて説明しています。 ゲーム上での残り機体数などの表示については「ライフ (コンピュータゲーム)」をご覧ください。 ライブ中継のカジノゲームについては「ライブゲーム」をご覧ください。 ボードゲームについては「人生ゲーム」をご覧ください。 この記事には参考文献や外部リンクの一覧が含まれていますが、脚注による参照が不十分であるため、情報源が依然不明確です。適切な位置に脚注を追加して、記事の信頼性向上にご協力ください。(2018年8月) ペンタデカスロンと呼ばれる循環パターン(振動子)のひとつ(GIFアニメ) ライフゲーム (Conway's Game of Life[1]) は1970年にイギリスの数学者ジョン・ホートン・コンウェイ (John Horton Conway) が考案した数理モデルである。単純なルールから複雑な結果が生成され、

  • 檜山正幸のキマイラ飼育記 - JavaScriptで学ぶ・プログラマのためのラムダ計算

    JavaScriptによるテンプレート・モナド、すっげー簡単!」にて: 紙と鉛筆でラムダ計算を実行できることは必要だな、やっぱり。 なんて強調したので、ラムダ計算の入門、いってみよう。 [追記]練習問題集を追加しました。説明を読みながら、あるいは読んだ後で是非やってみてください。→「JavaScriptで学ぶ・プログラマのためのラムダ計算 問題集」[/追記] ※印刷のときはサイドバーが消えます。 内容: JavaScriptの関数リテラル ラムダ式ってなんだ ラムダ計算の体系と適用操作 ラムダ式の例をいくつか β変換 -- ラムダ計算のキモ! β変換を何度か実行してみる 中間まとめ、まだ続きがあるよ JavaScriptの関数リテラル 最初に、JavaScriptに関する知識を確認しておきましょう。なお、JavaScriptの対話的実行環境については「もっともお手軽な対話的JavaScr

    檜山正幸のキマイラ飼育記 - JavaScriptで学ぶ・プログラマのためのラムダ計算
  • 違法素数 - Wikipedia

    違法素数(いほうそすう/英: illegal prime)とは、素数のうち、違法となるような情報やコンピュータプログラムを含む数字。違法数(英語版)の一種である。 2001年、違法素数の1つが発見された。この数はある規則に従って変換すると、DVDのデジタル著作権管理を回避するコンピュータプログラムとして実行可能であり、そのプログラムはアメリカ合衆国のデジタルミレニアム著作権法で違法とされている[1]。 経緯[編集] DVDのコピーガードを破るコンピュータプログラムDeCSSのソースコード 1999年、ヨン・レック・ヨハンセンはDVDのコピーガード (Content Scramble System; CSS)を破るコンピュータプログラム「DeCSS」を発表した。ところが2001年5月30日、アメリカ合衆国の裁判所は、このプログラムの使用を違法としただけではなく、ソースコードの公表も違法である

  • エラトステネスの篩 - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "エラトステネスの篩" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2019年6月) エラトステネスの篩 (エラトステネスのふるい、英: Sieve of Eratosthenes) は、指定された整数以下の全ての素数を発見するための単純なアルゴリズムである。古代ギリシアの科学者、エラトステネスが考案したとされるため、この名がついている。 アルゴリズム[編集] 2 から 120 までの数に含まれる素数を探すGIFアニメーション 指定された整数x以下の全ての素数を発見するアルゴリズム。このアニメーションでは以下のステップにそって 2 から

    エラトステネスの篩 - Wikipedia
  • 浮動小数点数 - Wikipedia

    浮動小数点数(ふどうしょうすうてんすう、英: floating-point number)は、実数をコンピュータで処理(演算や記憶、通信)するために有限桁の小数で近似値として扱う方式であり[1]、コンピュータの数値表現として広く用いられている。多くの場合、符号部、固定長の指数部、固定長の仮数部、の3つの部分を組み合わせて、数値を表現する。 概要[編集] この節はパターソンらの記述に基づく[1]。 実数は0以上かつ1以下のような有限の範囲でも、無限個の値(種類)が存在するため、コンピュータでは妥当なビット数で有限個の値(種類)の近似値で扱う必要がある。 実数-1/3は10進数表現では無限小数となるが、有限桁の小数で近似値を表記できる。下の例では10進数での4桁としている。 -1/3 -1 x 0.33333333333333... -1 x 0.3333 x 100 -1 x 3.333 x

  • 檜山正幸のキマイラ飼育記 (はてなBlog)

    2023-10-25 圏スタンピング・モナドの代数は前層/余前層 雑記/備忘 「左加群は前層、右加群は余前層、双加群はプロ関手」の続きです。余前層としての右加群(または前層としての左加群)が、ファミリー〈集合族〉の圏上のモナドのアイレンベルク/ムーア代数になってるよ、という話です。$`\newcommand{\mrm}[1]{\mathrm{#1}}… 2023-10-24 続・有向コンテナと多項式コモナド: 錯綜整理 雑記/備忘 「有向コンテナと多項式コモナド」にて: モノイド類似構造である有向コンテナ〈圏〉構造が、多項式自己関手を台とするコモノイド構造として反映されるわけです。面白いですね。 面白そうなので、アーマン/ウウスタル〈Danel Ahman, Tarmo Uustalu〉以外の… 2023-10-23 Diag構成の変種とその書き方 雑記/備忘 ある文脈では、図式と関手は同

    檜山正幸のキマイラ飼育記 (はてなBlog)
  • システム・エンジニアの基礎知識

    静岡理工科大学情報学部コンピュータシステム学科菅沼研究室のページです.主として,プログラミング言語( HTML,C/C++, Java, JavaScript, PHP, HTML,VB,C# ),及び,システムエンジニアとしての基礎知識(数学,オペレーションズ・リサーチやシステム工学関連の手法)を扱っています.

  • 統計・データ解析

    『Rで楽しむ統計』が出ました。サポートページ 『Rで楽しむベイズ統計入門』が出ました。サポートページ,第7章のRコードをStanで書き直したRで楽しむStan 全国学力・学習状況調査の個票の疑似データがこちらで公開されています。データ分析の練習に使えそうです。SSDSE(教育用標準データセット)も。 R 4.x では stringsAsFactors=FALSE がデフォルトになりましたが,サイトの古い記事ではそうなっていないところがあるかもしれません(read.csv() などで as.is=TRUE は不要になります(あってもかまいませんが))。 R 4.2 ではWindowsでもMac同様UTF-8がデフォルトになりました。もう fileEncoding オプションに "UTF-8","UTF-8-BOM" を指定する必要はなくなりそうです。一方で、SJIS(CP932)データの場

  • 端数処理 - Wikipedia

    シャープ Compet CS-2122L上の丸めセレクタ。左のツマミで切り上げ・四捨五入・切り捨てのいずれかを選択し、右のツマミで小数点以下の桁数を選択する。事務用電卓の中には、この機種のように計算結果を指定した桁数に丸めて表示できるものもある。 端数処理(はすうしょり)とは、与えられた数値を一定の丸め幅の整数倍の数値に置き換えることである。平たく、丸め(まるめ)ともいう。 常用的には、十進法で10の累乗(…100、10、1、0.1、0.01…)が丸め幅とされることが多いが、そうでない丸め幅をもつ処理は存在する。十進法以外のN進法について同様の概念を考えることもできる。 丸めの種類[編集] 凡例[編集] 丸めは任意の丸め幅に対し可能だが、以下では特に断らない限り、丸め幅を1とする(後段の「#例」では、丸め幅は0.1である)。任意の丸め幅で丸めるには、丸める前に丸め幅で割り、丸めた後に丸め幅

    端数処理 - Wikipedia
  • モンテカルロ法 - Wikipedia

    モンテカルロ法(モンテカルロほう、(英: Monte Carlo method、MC)とはシミュレーションや数値計算を乱数を用いて行う手法の総称。元々は、中性子が物質中を動き回る様子を探るためにスタニスワフ・ウラムが考案しジョン・フォン・ノイマンにより命名された手法。カジノで有名な国家モナコ公国の4つの地区(カルティ)の1つであるモンテカルロから名付けられた。ランダム法とも呼ばれる。 計算理論[編集] 計算理論の分野において、モンテカルロ法とは誤答する確率の上界が与えられる乱択アルゴリズム(ランダム・アルゴリズム)と定義される[1]。一例として素数判定問題におけるミラー-ラビン素数判定法がある。このアルゴリズムは与えられた数値が素数の場合は確実に Yes と答えるが、合成数の場合は非常に少ない確率ではあるが No と答えるべきところを Yes と答える場合がある。一般にモンテカルロ法は独立

    モンテカルロ法 - Wikipedia
  • モンテカルロシミュレーション

    このホームページは、乱数をたくさん発生させ、確率実験を行なう手法――これをモンテカルロ・シミュレーションといいます――のオンライン教科書です。あなたのパソコンを用いて、実際にプログラミングしてWEB上で実行することができます。 C言語版はこちら 1994年に、著者はソフトバンク社から「Cによるシミュレーションプログラミング」 というを、出版しました。現在それは絶版となっています。しかしながら、その後、それを大学などの教科書に使いたい、再版しないのかなどの問い合わせが ありました。出版したときの電子ファイルが残っていたので、それのすべてをホームページで、公開することといたします。その際、ホームページ上から、直接 プログラムを実行出来るように、CプログラムをJavaアプレットに変換し、公表します。 このホームページが、シミュレーションに興味をお持ちの方、トラヒック理論の研究者などのお役に立て

  • SciPy - SciPy.org

    SciPy provides algorithms for optimization, integration, interpolation, eigenvalue problems, algebraic equations, differential equations, statistics and many other classes of problems.

  • 数学の問題を好きなプログラミング言語で解く「Project Euler」 | gihyo.jp

    仕事以外でもプログラミングを楽しみたい人は「Project Euler」に挑戦してみてはいかがでしょうか。Project Eulerは数学の問題を好きなプログラミング言語で解き正解数を競うサイトです。答えがあっていればよく、アルゴリズムなどは問われません。現在200近い数の問題があり、2万人以上のユーザ中、全問正解しているのはわずか20人あまりです。 初めのほうは比較的難易度が低く、たとえば最初の問題は次の通りです。 10未満の自然数で3または5の倍数は3、5、6、9です。これらの倍数の和は23になります。1,000未満で3または5の倍数の和を求めなさい。 だんだんと問題が進むにつれ、難易度の高いものやマシンに長い時間かけて計算をさせるものが出てきます。 正解すると該当問題のフォーラムを閲覧でき、そこにはいろんなユーザが回答したソースコードを見ることができます。 英語が苦手な方は、問題文を

    数学の問題を好きなプログラミング言語で解く「Project Euler」 | gihyo.jp
  • 1