タグ

2010年10月28日のブックマーク (28件)

  • 2141 -- Message Decowding

    agw
    agw 2010/10/28
    文字列をマッピングする問題。難易度は相当低い。
  • 3663 -- Costume Party

    agw
    agw 2010/10/28
    nC2の和が与えられた数値より小さいものを数える問題。難易度は低い。
  • 写真版twitter登場! Instagramで世界の見方が変わる - エキサイトニュース

    世界がこんなに素敵だったとは! 「Instagram」をはじめて、ちょっと興奮している。 「Instagram」は、「iPhone専用ビジュアル版twitter」って感じの写真ソーシャルサービス。 無料iPhone用アプリで、140文字の代わりに写真がつぶやける。 わずか1週間で10万人のユーザーを獲得したサービスで、写真に興味がないぼくもハマってしまった 「写真アップするだけって、べつに凄くないじゃん!」って思った人は、twitterをオススメしたときの反応を思い出してほしい。たくさんの人が「140文字に制限されたブログなんて、何が凄いの?」ってリアクションだったでしょ!? 人とつながるサービスは、シンプルで単純なほど、パワーを持つのだ。 「Instagramが凄い!」6つのポイントを紹介しよう。 1:超手軽! ここが肝心、超手軽。 真ん中のshareボタンを押すとカメラモード。撮影する

    写真版twitter登場! Instagramで世界の見方が変わる - エキサイトニュース
  • Sentinel value - Wikipedia, the free encyclopedia

    In computer programming, a sentinel value (also referred to as a flag value, trip value, rogue value, signal value, or dummy data) is a special value in the context of an algorithm which uses its presence as a condition of termination, typically in a loop or recursive algorithm. The sentinel value is a form of in-band data that makes it possible to detect the end of the data when no out-of-band da

  • 番兵 - Wikipedia

    番兵(ばんぺい、英: sentinel)は基地、野営地の出入りを警備する任務に就く兵士を指す。歩哨とも言う。 転じてプログラミング用語としては、データの終了を示すために配置される特殊なデータを指す。番人(ばんにん)とも言う。以下ではこの意味について示す。 実際にはこの用語は、微妙に異なる以下の2つの意味で使われる。 実データには出現しない、データの終了を表すための専用の値 入力データを処理するループの終了条件が複数ある場合に、条件判定の数を削減するために置くダミーのデータ 主に可変長データの終了を識別するために、終了を示す記号として予約された値。 番兵の具体例としては、LISPで無効値を示すNILや、C言語の文字列終端を示すヌル文字(\0)などがある。また、ポインタを扱う言語ではヌルポインタが定義されており、線形リストや木構造などの終端を示すために使われる。 番兵を含むデータを処理するプロ

  • XOR交換アルゴリズム - Wikipedia

    XOR交換(エックスオアこうかん、XOR swap)は、コンピュータ・プログラミングのアルゴリズムの一種であり、排他的論理和(XOR)を使用して一時変数を使わずに同じデータ型のふたつの変数の(異なる)値を交換する操作である。 このアルゴリズムはXORの対称差という性質を利用したものである。すなわち、任意のA, Bについて、(A XOR B) XOR B = A が成立することである。 標準的な交換アルゴリズムでは一時的な格納場所が必要となる。x と y の値を交換する場合、以下のようになる。 y の値を一時格納域にコピーする:temp ← y y に x の値を代入する:y ← x x に一時格納域の値を代入する:x ← temp あるいは、x と y が整数ならば、以下のようなアルゴリズムで交換することができる。 x := x + y y := x - y x := x - y ただし、

  • シェルソート - Wikipedia

    間隔5, 3, 1のシェルソートにおける要素の交換を示した図 シェルソート(改良挿入ソート、英語: Shellsort, Shell sort, Shell's method)は、1959年にドナルド・シェルが開発した[2]ソートのアルゴリズム。挿入ソートの一般化[3]であり、配列の中である程度間隔が離れた要素の組ごとに挿入ソートを行い、間隔を小さくしながら同様のソートを繰り返すことで高速化するアルゴリズムである。ただし、挿入ソートと異なり、安定ソートではなくなる。 アルゴリズムの基は挿入ソートと同じである。挿入ソートは「ほとんど整列されたデータに対しては高速」という長所を持つが、隣接した要素同士しか比較・交換を行わないため、あまり整列されていないデータに対しては低速であった。 シェルソートは、「飛び飛びの列を繰り返しソートして、配列を大まかに整列された状態に近づけていく」ことにより、挿

    シェルソート - Wikipedia
  • Security Akademeia【セキュリティアカデメイア】

    当サイトの一部ページには、アフィリエイト・アドセンス・アソシエイト・プロモーション広告を掲載しています。 Amazonのアソシエイトとして、Security Akademeiaは適格販売により収入を得ています。 広告配信等の詳細については、プライバシーポリシーページに掲載しています。 消費者庁が、2023年10月1日から施行する景品表示法の規制対象(通称:ステマ規制)にならないよう、配慮して記事を作成しています。もし問題の表現がありましたら、問い合わせページよりご連絡ください。 参考:令和5年10月1日からステルスマーケティングは景品表示法違反となります。 | 消費者庁

    Security Akademeia【セキュリティアカデメイア】
  • アルゴリズムとデータ構造 - プログラミングスレまとめ in VIP

    計算量 † アルゴリズムがどれだけ効率的かを示す概念が計算量です。通常、単に計算量と述べた場合は、データ数nに対してどれだけ時間がかかるかを示す時間計算量を指しますが、場合によってはどれだけメモリを消費するかを示す空間計算量を問題にするケースもあります。計算量は、通常データ数nが十分大きい場合にnのどういう関数に比例して計算時間/メモリ消費が増えるかという形式で表します。 具体的に、下に述べている線形探索の例で計算量を考えてみましょう。この関数では、ループをサイズn回だけ回していますが、このループ1回辺り時間tだけかかるとしましょう。さらに、関数の呼び出し等により、データ数にかかわらず一定の時間sがかかると考えられます。従ってこの関数に費やす時間はnt+sですね。この時、十分大きいnを考え、かつ定数倍は無視して考えます。例えばntがsの10000倍だと仮定しましょう。この時sの寄与は、体重

  • バブルソートの遅さを体感してみる - yarbの日記

    バブルソートには思い出がある。大学生のときにPC-9801で落ちゲーを作った。上から落ちてくるトランプのカードを5×5のマトリックスに積み上げて、縦横斜めでポーカーの役を作る。やりこむと「縦列で数字を揃えようとしても最後で失敗する確率が高くてスコアの期待値は低い。むしろ横のフラッシュを多く目指せ。フラッシュ作りは一気にやらないと失敗のペナルティが高すぎる」というような経験則が蓄積していく楽しいゲームだった。いまでもやりたいぐらい。たぶんオリジナルは「琉球」という名前のアーケードゲームだった。 そのとき、ポーカーの役判定のロジックを書き下ろしたときにやったのが、バブルソートだということを、かなり後になってから知った。当時はソートという言葉すら知らなかった。 カードは最大で5枚だし、チェックすべき列も1度に最大4列だから、どんなにひどいことをやっても処理時間はかからないということは分かっていた

    バブルソートの遅さを体感してみる - yarbの日記
  • 連結リストのソート - yarbの日記

    C入門、プログラミング入門として、連結リストの次に基的なソートをやってみようと少し格闘してみた。単純なint配列とかじゃテキストのままなので、どうせだったら連結リストを並べ変えてみようと思ったのが間違いだった。 まず、いちばん簡単なのは隣り合うノードを入れ替えるswap関数を作ることかと思った。ある世代以降のCでは構造体同士の代入ができるらしいので、もしかしてポインタ入れ替えよりも、ごそっとデータを入れ替えるのが正解なのかと一瞬思ったけど、さすがにそれじゃリストの意味がない。 ともあれ、swap関数さえあれば、後はリストを順にたぐりつつ入れ替えればバブルソートはすぐできるはず。でも、考えてみると、2個のノードを入れ替えるといってもそれらが隣接するノードとの配線もあるので、どうも単純じゃない。しかも、先頭はlist->headと特殊なポインタで参照されていたり、最後はNULLで終わっていた

    連結リストのソート - yarbの日記
  • Oit And Indirect Illumination Using Dx11 Linked Lists

    The document discusses using DirectX 11 linked lists and per-pixel linked lists to implement order-independent transparency (OIT) and indirect illumination. It describes how linked lists can be used to store transparent fragments and then sort and blend them for OIT. It also explains how to trace rays through linked lists to compute indirect shadows for indirect illumination. The techniques open u

    Oit And Indirect Illumination Using Dx11 Linked Lists
  • 図解 Git

    もし図の表示がおかしかったら、このページの SVGでないバージョンを試して下さい。 SVG の画像処理を中止しています。 (SVG の画像処理を再開) このページのオリジナルは、Mark Lodato さんが執筆した A Visual Git Referenceです。 このページでは、よく使われる git のコマンドを簡潔に図を用いて説明します。 git について少し知識があるなら、このページはその知識を整理するのに役立つかもしれません。このページがどのようにして作られたのか興味があるなら、私のGitHub リポジトリを見て下さい。(日語訳の GitHub リポジトリ) 内容 基的な使い方 凡例 コマンドの詳細 Diff Commit Checkout 分離HEADでの commit Reset Merge Cherry Pick Rebase 技術メモ 基的な使い方 上記4つのコマ

  • 図解Git - あどけない話

    Visual Git Reference を訳しました。その名も図解Gitです。 著者の Mark Lodato さんに連絡したら、github で fork して訳を公開して下さいと言われたのでそうしたら、家にマージされて、右上に言語メニューまで付きました。:) Gitgithub は、使っているとワクワクしますね。 図は SVG であり、ソースはなんと TeX です。この図を翻訳する方法が分かりません。(UTF-8 が通らない。) 分かる人は、ご連絡ください。

    図解Git - あどけない話
  • There are so many ways to shuffle it : にぽたん研究所

    YAPC::Asia 2010 で LT をさせていただきました。 5 分枠で 100 枚のスライドになったので、かなり早口になりました。 銅鑼は鳴りませんでしたが、きっと 4:58 ぐらいギリギリにおさまったとおもいます。 トーク自体は日語で行ないましたが、英語圏の方も結構いらっしゃるので、全セリフを決めておき、LT に英語字幕をつける試みをしてみました。 ただシャッフルするだけなのに、やりかたがこれほどまでに出てくるということに、TIMTOWTDI な Perl の特性がよくあらわれているとおもいます。 スライドは slidshare にアップしたものをご覧ください。 毎週毎週一緒に楽しく頭をかかえながらシャッフルをひねり出した弊社の同僚、元同僚の皆様に感謝します。 今年も YAPC::Asia 楽しかったー!

    There are so many ways to shuffle it : にぽたん研究所
  • javascript - Mathを再発明してみた : 404 Blog Not Found

    2010年09月14日06:30 カテゴリMathLightweight Languages javascript - Mathを再発明してみた 「基というからには四則演算で三角関数実装しないとねー」と思いつつ書いていたら… C言語による最新アルゴリズム事典 奥村晴彦 [javascript]三角関数の基 Math.random()を除いてMathを全部再発明しおえたので。 多倍長演算バージョンを作る時の下ごしらえにもなるかも。 下ごしらえ 仕様は Math - MDC アンチョコはもはや最新というにはあまりに古い、しかし代わりなき「C言語による最新アルゴリズム事典」。低レベルな車輪を再発明する人必携! 初期化と定数 定数の精度はおおげさに。 MyMath = {}; MyMath.E = 2.718281828459045235360287471352662497757; MyMat

    javascript - Mathを再発明してみた : 404 Blog Not Found
    agw
    agw 2010/10/28
    コネタ(1/+0.0等)が大変面白い。
  • ハチの脳、コンピュータより優れている--英大学調査

    ミツバチは、コンピュータでさえ解答を得るのが難しい複雑な数学的問題を解決する能力を備えていることが研究で明らかになった。The Guardianが英国時間10月24日に報じている。 ロンドン大学ロイヤルホロウェイ校の研究結果によると、ハチは、花から花へと飛ぶ際にその最短経路を見つけ出し、一般に「巡回セールスマン問題」と呼ばれる問題を効果的に解決する能力を持っているという。 「巡回セールスマン問題」は、セールスマンがすべての目的地を訪問するという仮定において、その最短経路を見つけることが求められる。コンピュータでは、想定されるすべての経路の長さを比較し、最短経路を選ぶことで解答を得る。 同校が実施した実験では、コンピュータ制御の人工花を使うことで、ハチが単純に花を見つけた順に飛ぶのか、最短経路を見つけようとするのかを調べた。その結果、ハチは、花の位置を調べ、時間とエネルギーを最も節約できる経

    ハチの脳、コンピュータより優れている--英大学調査
  • ミツバチはコンピュータよりも速く巡回セールスマン問題を解ける | スラド サイエンス

    ミツバチは複数の花を最短ルートで移動していることが、ロンドン大学クイーン・メアリー校および同大学ロイヤルホロウェイ校の共同研究で分かったそうだ(ロンドン大学クイーン・メアリー校発表、家/.)。 複数地点を一度ずつ巡り出発点に戻る最短ルートを求める問題は通称「巡回セールスマン問題」と呼ばれており、ミツバチはこの問題を解くことができることが発見された初めての種であるという。 研究ではコンピュータで制御された人工の花を使い、ミツバチがこの花を「発見した順」に巡るのか、それとも「最短ルート」を見つけ出すのかを検証した。その結果、ミツバチはそれぞれの花の場所を探索したあと最短ルートを飛行するようになったという。 コンピュータでは解くのに何日もかかるこの問題をミツバチが短時間でどう処理しているかを調べることで、複雑な問題の解決に必要な最小限の神経回路を解明できるかもしれないとのことだ。

  • 生物情報科学科 情報基礎実験 3年生冬学期 10/26 – 11/5 (森下研究室担当)

  • マルチキークイックソート - sileのブログ

    「Sorting and Searching Strings」で説明されているマルチキークイックソートの実装。 詳細はリンク先を参照。 マルチキークイックソート 文字列の配列のソートが高速に行える URL("http://...")の配列のような接頭部分の重複率が高い文字列配列の場合でも性能が低下しにくい クイックソート + 基数ソート、のような感じ? ソート方法 基的には通常のクイックソートと似ていて「ピボット要素*1を選んで、配列を分割する」といったことを繰り返す。 ただし、クイックソートは各段階で配列を二分割(ピボット要素よりも大きいか小さいか*2 )し、そのための比較には要素(文字列)全体を用いるのに対して、マルチキークイックソートでは、配列は三分割(ピボット要素よりも大きいか小さいか、それとも等しいか)され、そのための比較には文字列全体ではなく(各段階で)一文字のみ、が用いられ

    マルチキークイックソート - sileのブログ
  • Robert Sedgewick - Robert Sedgewick

    Robert Sedgewick is the founding chair and the William O. Baker Professor in the Department of Computer Science at Princeton University. He was a member of the board of directors of Adobe Systems from 1990 to 2016, served on the faculty at Brown University from 1975 to 1985, and has held visiting research positions at Xerox PARC, IDA, and INRIA. His research expertise is in algorithm science, data

    Robert Sedgewick - Robert Sedgewick
  • グラフ理論 - Wikipedia

    グラフ理論(グラフりろん、英: Graph theory)は、ノード(節点・頂点、点)の集合とエッジ(枝・辺、線)の集合で構成されるグラフに関する数学の理論である。 グラフ(データ構造)などの応用がある。 グラフによって、様々なものの関連を表すことができる。 6つの節点と7つの辺から成るグラフの一例 例えば、鉄道や路線バス等の路線図を考える際には、駅(節点)がどのように路線(辺)で結ばれているかが問題となる一方、線路が具体的にどのような曲線を描いているかは質的な問題とならないことが多い。 したがって、路線図では駅間の距離や微妙な配置、路線の形状などがしばしば実際の地理上とは異なって描かれている。つまり、路線図の利用者にとっては、駅と駅の「つながり方」が主に重要な情報なのである。 このように、「つながり方」に着目して抽象化された「点とそれらをむすぶ線」の概念がグラフであり[1]、グラフがも

  • 一筆書き - Wikipedia

    六芒星の一筆書きの例。 一筆書き(ひとふでがき)とは、広い意味では「筆記具を平面から一度も離さず線図形を描く」ことである。狭い意味では、これに加えて「同じ線を二度なぞらない(点で交差するのはかまわない)」という条件が加わる。 以下は後者の狭い意味での一筆書きについて記す。 三角形「△」や四角形「□」は一筆書き可能だが、十字「+」は一筆書きできない。また、五芒星や白星「☆」、六芒星「✡」は一筆書き可能だが、アスタリスク「*」は一筆書きができない。このように、一筆書きできる図形とできない図形がある。 「与えられた図形が一筆書き可能かどうか」という問題の例として、「ケーニヒスベルクの橋の問題」(独: Königsberger Brückenproblem)が知られている。なお、ケーニヒスベルクとは実際にあった場所の名前である。

    一筆書き - Wikipedia
  • 新刊JP FEATURING 『ヒクソン・グレイシー 無敗の法則』

    agw
    agw 2010/10/28
  • 「P2Pユーザーは皆訴えろ。家も車も取り上げろ」――KISSのジーン・シモンズ

    「P2Pユーザーを全員訴えろ」とKISSのボーカル P2Pユーザーは「みんな訴えろ。家も車も取り上げろ」――KISSのジーン・シモンズが、このように語っている。彼はフランスの国際テレビ番組見市MIPCOMのパネルディスカッションに参加し、「ブランドを守れ。侵害を許すな。訴訟を起こせ」「誰にも一線を越えさせるな」と語った。彼は、音楽業界が楽曲をダウンロードしている学生全員を訴える勇気がなかったために、多数の人が失業したと指摘、「(音楽)産業はなくなった」とも語った。 彼はこんなたとえ話もした。「昔あるところに農夫がいた。ある日、子狐が鶏小屋から卵を盗もうとしているのに気づいたが、狐がかわいかったので殺せなかった。子狐は卵をタダで持って帰り、ほかの子狐にそのことを話した。狐たちは農場に押し寄せ、鶏をすべて殺して卵を全部持って行った。金を払わずに。農夫は農場を失い、子に捨てられた」 実際のと

    「P2Pユーザーは皆訴えろ。家も車も取り上げろ」――KISSのジーン・シモンズ
    agw
    agw 2010/10/28
  • de Bruijn Graph を使った de novo アセンブリの発想がすごい件 - ほくそ笑む

    Velvet や ABySS などの代表的な de novo アセンブリツールでは、アルゴリズムに de Bruijn Graph というのを使っているそうです。どうやってアセンブルしているんだろう?と興味を持っていたので、元ネタの An Eulerian path approach to DNA fragment assembly を読んでみたんですが、その発想のすごさに度肝を抜かれました。せっかくなので、ここで簡単に説明してみたいと思います。 ケーニヒスベルクの橋 まずはグラフ理論の説明から。グラフ理論は、18世紀にオイラーという数学者が「ケーニヒスベルクの橋」という問題を解くために考え出したといわれています。 「ケーニヒスベルクの橋」は、次のような問題です。 18世紀の初めごろにプロイセン王国の首都であるケーニヒスベルクという大きな町があった。この町の中央には、プレーゲル川という大き

    de Bruijn Graph を使った de novo アセンブリの発想がすごい件 - ほくそ笑む
    agw
    agw 2010/10/28
    ハミルトンパス問題をオイラーパス問題に置き換える。
  • Risan Suugaku - 一筆書き

    一筆書き えっと、小学校ではですね、漢字の書き順を習うわけですよね。 書き順っていうのは、まあ昔の習字の影響もあると思うんですけども、非常にリーズナブルな書き方なわけです。やっぱり書き順と違う書き方をすると、何かおかしいわけですね。あるいは単にそれは、昔トレーニングされてておかしいと思うのかもしれないですけど。 で、これ、「口」なわけです。ちなみに「口」という字をこういう風に書くと、やっぱりおかしいとぼくらは思うように教育されているわけですが、まあ、そう書いてもいいわけです。まあ、これは、「口」っていうのは例えばこういう風なグラフだと思ってもいいわけです。 ここに要するに点があって、その間を枝で結ばれているグラフだと思ってもいいですね。 で、もう既にさっき僕が「口」を縦長に書いたのから、もう分かっている人もいるかも知れないけど、まあこれ、ロ(ろ)でもいいんですが、今度はですね、 (カキカキ

    agw
    agw 2010/10/28
    オイラーパスの話。めちゃくちゃ面白い。
  • Welcome to Rocket Smog

    agw
    agw 2010/10/28
    所用時間15分弱。