タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

AlgorithmとALgorithmとProgrammingに関するagwのブックマーク (1,893)

  • 情報科学コース『数理科学特論』ならびに情報科学科3年『応用幾何学』のページ

    情報科学コース『数理科学特論』ならびに情報科学科3年『応用幾何学』のページ この講義ではかつて金子研の卒研・院研のテーマとしても取り上げられたこと がある,計算幾何の基を取り上げます.主に 下記のの解説とプログラミングの指導を行います. 主な内容は,凸包の計算, 線分交又, 平面の多角形分割, 美術館問題の解法, 領域探索と Kd 木, ボロノイ図, ドロネー3角形分割, ロボットモーションプ ラニングなどです. M. de Berg, M. van Kreveld, M. Overmars, O. Schwarzkopf 著 『Computational Geometry』, 2nd Ed., Springer, 2000. (日語訳もあります.) 【実際の講義概要と予定】 10月6日(月):第1回 凸包の計算. 第1章の内容を紹介します.計算幾何を概観した後,凸包の計算

  • アトキンのふるい - 2011-02-09 - 兼雑記

    http://cr.yp.to/papers/primesieves.pdf を斜め読みしました。ドメインからわかる通り、 djb が共著なんですよね…アトキンさんが考えたふるいを djb が実装した、って感じですかね、たぶん。 N までの素数を高速に求める方法、って言うと誰でも思いつくのはアリストテレスエラトステネスさんのふるいで、誰でも意味がわかるし速いしでいいものなのですが、それより速くしましたよーという。具体的にはアリストテレスエラトステネス O(N log(N) log(log(N))) に対して O(N / log(log(N))) だそうです。 アイデアとしては、奇数を 4N+1 と 12N+7 と 12N+11 に分類して(4N+1 が 12N+1 と 12N+5 をカバーしてることと、 12N+3 と 12N+9 はどうせ 3 の倍数なんで自明に素数じゃないことを考えると

    アトキンのふるい - 2011-02-09 - 兼雑記
  • Microsoft PowerPoint - graph09-sli09.ppt [互換モード]

  • オイラーグラフとハミルトングラフ

  • 動的計画法

    動的計画法(Dynamic Programing)は、国内予選レベルではおそらく知らなくてもだいじょーぶです。しかし、4問以上を目指しているのなら、おさえておいた方がいいかもしれません。 というか、あまり上手く説明できないかも。 ここで言う動的計画法は、簡単に言うと、いつ計算しても同じになる値をどこかにとっておいて いつでも呼び出せるようにすることで、重複計算を避けようという考え方です。 私の経験から言わせてもらえば、次のような問題に適応することで効果的な場合が多いです。 ・元の問題を小さな部分問題に分割できる。 ・その部分問題の答えからもとの問題の答えを導ける。(小さいほうから順番に計算できる) ・一番小さな部分問題はすぐに解ける。 ・小さいほうの部分問題は何回も呼び出される。 ・状態数がそんなに大きくない。(大きくないの基準は問題による。) これについては後で述べるとして、例を見てみま

  • Efficient data transfer through zero copy

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    Efficient data transfer through zero copy
  • JavascriptのMath.random()でユーザートラッキングができるという話 - kogelab::memo

    表題の件について。 地味な話ですが、javascript(というかECMAの仕様)にあるMath.random()には、乱数のシードを与える方法が無いようです。 そんなわけで、われわれ一般市民は各ブラウザが独自に実装している、謎のシードで初期化された謎のアルゴリズムで作られた乱数を通常使うわけですが。 Mozillaからこんなの出てた。 曰く、Math.random()のシードによる初期化は、ブラウジングセッションごとに1度しか行われないと。 で、シードはまあ、かぶる率そんなに高くなさそうなので、そのシードをUSERの(擬似的な)ID代わりにしてしまえば、ユーザーのトラッキングができるよーん、とのこと。 はじめ読んだとき、「おおー、かっけー!」と思ったんですが、ちょっと待て。 シードって外から取れんのか。 というわけで、色々調べたところ、各ブラウザは(多分IEも)線形合同法による擬似乱数を

    JavascriptのMath.random()でユーザートラッキングができるという話 - kogelab::memo
  • Rediscover the Monte Carlo - 西尾泰和のはてなダイアリー

    僕個人はゲームの思考ルーチンを作ることなどには興味があるので、みんな知っていることだと思っていたのですが、意外と「現在世界最強の囲碁の思考ルーチンはモンテカルロ」ってのは知られてないみたいですね。うっかりすると「そんなわけないだろー」とか言われてしまう。その根底には「モンテカルロはとても収束が遅くて使いものにならない」という過去の記憶があるのかなー。ちょうどJavaScriptが使いものにならないおもちゃ言語だと思われていたように。 囲碁の思考ルーチンを著しく進化させた新しいモンテカルロが昔の単純なモンテカルロとどう違うかというと、UCB1という評価関数で「もっと探索するとヨサゲな局面」を判断して、ヨサゲな局面から優先的に探索するという点なんだけど、そういう定性的な話をしてもピンと来ないよね。同じ発想をモンテカルロで円周率を求めるプログラムに適用したら収束の速さが定量的にはっきり見えて面白

    Rediscover the Monte Carlo - 西尾泰和のはてなダイアリー
  • Table of Contents | Clever Algorithms

    Clever Algorithms: Nature-Inspired Programming Recipes A book by Jason Brownlee Home | Read Online | Amazon | GoodReads | Google Books | PDF (code) | GitHub

  • yebo blog: P==NP?

    2011/01/21 P==NP? Slashdotによれば、ウラディミール・ロマノフ氏が3-SAT問題を多項式時間で解決できるアルゴリズムを発見したと公表しているそうだ。NPに含まれる問題は全てSATに翻訳可能だが、SATがPに含まれないという証明はなされていなかった。もしも、多項式アルゴリズムが見付かれば、P==NPとなり、指数的な時間が必要と分かればP≠NPになる。ロマノフ氏が証明したのなら、3-SAT問題(3項論理標準形の充足問題)がNP完全となり、これはP==NPであることを意味する。彼はそのソースコードを公開している。 投稿者 zubora 投稿時間 05:56 ラベル: Math, Science 0 コメント: コメントを投稿

  • 動的計画法再入門(1) - nokunoの日記

    プログラミングコンテストチャレンジブックを読みながら、動的計画法の復習をしています。プログラミングコンテストチャレンジブックこのはコンテストの紹介とか環境構築の説明はほとんどなく、普通にアルゴリズムの教科書として優れているのでタイトルに騙されないようにしましょう(笑)。それはさておき、この記事ではp.52のナップサック問題を例に、動的計画法の考え方と実装方法について検討してみます。 ナップサック問題重さと価値がそれぞれw_i, v_iであるようなn個の品物があります。これらの品物から、重さの総和がWを超えないように選んだ時の、価値の総和の最大値を求めなさい。制約:1 1 1 <例>入力:n = 4(w, v) = {(2,3), (1,2), (3,4), (2,2)}出力:7 (0,1,3番の品物を選ぶ) 方法1最初に書いたコードがこれです。再帰による全探索で、荷物を左から順番に選んで

  • アルゴリズマーのそだてかた - chokudaiのブログ

    発の「Topcoderトレーニング講座」は最強最速アルゴリズマーへの最短経路 こんな記事も出して貰えたところですし、凄く簡単に、自分の中での教育論みたいな部分を少し話してみようかと思います。 ある物事を習得するのに必要なのは何か?という話をした時に、僕が絶対に必要だと思っているのは、「すげぇ!!」ってなることだと思っています。当然だとは思いますが、せっかくなので具体例を見ていきましょう。 Wikipediaにおける、動的計画法の記事を見ると、このようになっています。 動的計画法(どうてきけいかくほう、英: Dynamic Programming, DP)は、コンピュータ科学の分野において、ある最適化問題を複数の部分問題に分割して解く際に、そこまでに求められている以上の最適解が求められないような部分問題を切り捨てながら解いていく手法である。分割統治法がトップダウン的な手法であるのに対し、

    アルゴリズマーのそだてかた - chokudaiのブログ
  • 機械学習超入門II 〜Gmailの優先トレイでも使っているPA法を30分で習得しよう!〜 - EchizenBlog-Zwei

    最近の論文で The Learning Behind Gmail Priority Inbox D.Aberdeen, O.Pacovsky & A.Slater というのがある。これはGmailの優先トレイで使っている機械学習のアルゴリズムについて解説したもの。というと難しそうな印象があるが、この論文で紹介されているPassive-Aggressiveという手法は実装がとても簡単。なので今回はこれについて解説するよ。 参考資料: Gmail - 優先トレイ Online Passive-Aggressive Algorithms K.Crammer et al. The Learning Behind Gmail Priority Inbox読んだメモ - 糞ネット弁慶 わかりやすい日語解説 機械学習超入門 〜そろそろナイーブベイズについてひとこと言っておくか〜 - EchizenBl

    機械学習超入門II 〜Gmailの優先トレイでも使っているPA法を30分で習得しよう!〜 - EchizenBlog-Zwei
  • 日本発の「Topcoderトレーニング講座」は最強最速アルゴリズマーへの最短経路

    高橋直大――彼を形容する言葉は幾つかあるが、ITmediaの読者であれば、「アルゴリズマー」という言葉が最も彼をよく表していると知っているかもしれない。ITmediaの超人気連載「最強最速アルゴリズマー養成講座」の筆者が彼だからだ。 Microsoftが全世界の学生を対象に毎年開催している技術コンテスト「Imagine Cup」の2008年度大会で、当時まだ成人になったばかりの彼は、アルゴリズム部門に日本代表として参加、並みいる強豪を押さえて世界第3位に入賞し、その非凡な才能を世に知らしめた。 その後、慶應義塾大学環境情報学部に通う傍ら、上述の連載を開始するなどして、一般には難解に思われがちなアルゴリズムを身近なものにさせようと奮闘してきた高橋氏。それと平行する形で、世界中からトップレベルのプログラマーがオンラインで参加しているプログラミングコンテスト「Topcoder」にも参戦し続けてお

    日本発の「Topcoderトレーニング講座」は最強最速アルゴリズマーへの最短経路
  • ALGORITHM NOTE 最長増加部分列 Longest Increasing Subsequence

    東西に並んだ高さの異なるnの木があります。あるキコリがこれらの木を、西から東の方向へ木の高さが小さい順に並ぶように、いくつかの木を切り倒すことにしました。木の数を最大にするにはどの木を切れ(残せ)ばようでしょうか? このような単純な(くだらない)問題でも、考えられる組み合わせを全て調べようとすると、それは各木を選ぶか選ばないかの組み合わせになるので、計算量はO(2n)となってしまいます。 この問題は、与えられた数列の最長増加部分列 Longest Increasing Subsequence (LIS) を求めることに帰着します。 最長増加部分列とは、与えられた数列 S S = a1, a2 , , , an の増加部分列 ( すべてのi, j (i < j)について ai < aj を満たす部分列 ) の中で長さが最大のものをいいます。 例えば、 S = 4 1 6 2 8 5 7 3

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Common Subsequence 解説

    問題名:Common Subsequence (PKU) 出典:Southeastern Europe 2003 難易度:☆☆☆ 問題の種類:DP 解法:LCS (Longest Common Subsequence) 解答ソースコード: 1458-deq.cpp アルゴリズムの概略 DPの四天王(?),LCS (Longest Common Subsequence) そのままの問題です。 アジア地区予選など,通常はこれをひねった問題が出てきます。 LCSとは,二つの値の列(この問題では文字列)が与えられて,最長の共通部分列を見つける問題です。 部分列は連続している必要はありませんが,順序は変更してはいけません。 例えば X = "abcfbc", Y = "abfcab" であればLCSは "abfc" や "abcb" になります。 LCSは一般的に複数ありえますが,この問題ではその長

    Common Subsequence 解説
  • 最長共通部分列問題 (Longest Common Subsequence) - naoyaのはてなダイアリー

    部分列 (Subsequence) は系列のいくつかの要素を取り出してできた系列のことです。二つの系列の共通の部分列を共通部分列 (Common Subsecuence)と言います。共通部分列のうち、もっとも長いものを最長共通部分列 (Longest Common Subsequence, LCS) と言います。 X = <A, B, C, B, D, A, B> Y = <B, D, C, A, B, A> という二つの系列から得られる LCS は <B, C, B, A> で、その長さは 4 です。長さ 2 の<B, D> の長さ 3 の <A, B, A> なども共通部分列ですが、最長ではないのでこれらは LCS ではありません。また、LCS は最長であれば位置はどこでも良いので、この場合 <B, D, A, B> も LCS です。 LCS は動的計画法 (Dynamic Prog

    最長共通部分列問題 (Longest Common Subsequence) - naoyaのはてなダイアリー
  • algorithms

    データ構造とアルゴリズム (Introductory Course to Data Structures and Algorithms) アルベルト パラシオス パウロブスキ Alberto Palacios Pawlovsky 教授 桐 蔭 横 浜 大 学 ・ 工 学 部 平成22年 桐蔭横浜大学、〒225-8502神奈川県横浜市青葉区鉄町1614番地、電話:045-972-5881(代)、F a x : 045-972-5972 目次 I データ構造とアルゴリズムの基概念! 7 第1章 デー

  • Fleury's Algorithm

    agw
    agw 2011/01/05
    オイラーパスの解法について。