タグ

algorithmとAlgorithmに関するrydotのブックマーク (312)

  • The 10 Questions a Solutions Architect Should Ask Before Using REST

    はじめに 毎年たくさんの数の女優さんがAVデビューする 2022年は500人以上の女優さんがデビュー作品をリリースした 2023年はAV新法の影響もあり、何人になるかまだわからないが、それでも3桁の女性がデビューすると思う その中で、全てをチェック、視聴し、80点以上の綺麗でかわいい新人女優さんだけを厳選してレビューしている 女優さんが多すぎて、脳の記憶のキャパを越えてしまう (あれ?この子どんな感じだっけ?) なんていう状況にいつも陥るのでメモをしていた そういった情報が誰かの役に立つのではないかと思い、記事にしてみたのがきっかけだ 2021年、2022年にデビューした新人について、まとめたところ大変好評だった 膨大なお金と時間がかかり、結構大変なのだが、2023年もまとめ記事を作成した ちなみに2024年の新人女優さんについてもまとめはじめている 最後のほうに貼っておくので、良かったら

    The 10 Questions a Solutions Architect Should Ask Before Using REST
  • A Very Brief Introduction to the Pi-Calculus (in Japanese)

    π-calculus 超入門 π-calculus は、80 年代の終わりごろに Milner らによって提案された並行計算のモデルの一つです。そこでは、プロセスと呼ばれる複数の独立した主体が、通信チャネルと呼ばれるデータの通り道を介して値をやりとりしながら、計算を行っていきます。π-calculus にはいろいろな変種があるのですが、ここではとりあえず次のような構成要素からなるものを考えましょう。 new x . P 新しいチャネル x を作ってから、プロセス P を実行する (channel creation) x![v1, ..., vn] チャネル x に値 v1, ..., vn を送る (asynchronous output) x?[v1, ..., vn] . P チャネル x から値 v1, ..., vn を受け取って、P を実行する (input guard) P |

  • π-calculus - Wikipedia

    In theoretical computer science, the π-calculus (or pi-calculus) is a process calculus. The π-calculus allows channel names to be communicated along the channels themselves, and in this matter, it is able to describe concurrent computations whose network configuration may change during the computation. The π-calculus has few terms and is a small, yet expressive language (see § Syntax). Functional

  • 「なぜsetを使っちゃいけないの?」

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    「なぜsetを使っちゃいけないの?」
  • 素数列挙について - MugiCha

    Competitive Programming Advent Calendar 3日目は、数学っぽい話をしたいと思います。 N以下の素数をすべて求めよ。 N以下の素数の個数を求めよ。 A以上B以下の素数の個数を求めよ。 こんな感じの問題を見たことがあると思います。また問題としてでなくても、解く過程にこのようなサブ問題を解かなければいけない場合もよくあると思います。素数については説明しなくてもいいですよね? このような問題を素数列挙と呼ぶことにします。素数列挙ができれば、大きい数の素数判定や素因数分解をめっちゃ高速化したり、トーティエント関数、メビウス関数等、数学系のいろんな関数を求めたりできます。最近のもので素数列挙がほぼ必須のものだと Codeforces Beta Round #86 (Div. 1 Only) C. Double Happiness ICPC 国内予選 2011 A

    素数列挙について - MugiCha
  • Blob Physics « Cowboy Programming

    This article was originally published in the “Inner Product” column in Game Developer Magazine, May 2006 USING VERLET PHYSICS TO SIMULATE BLOBS Download the blob code and executable: DOWNLOAD 91K Games such as Gish from Chronic Logic on the PC and LocoRoco from Sony on the PSP use a 2D physical simulation of a blob as the main character. The physics behind this blob provides the main basis for the

  • エラトステネスの無限の篩 - 水底で思うこと

    ♯エラトステネスの篩とは 一般にエラトステネスの篩(ふるい)というと求める素数の上限を決めてそれ以下の整数(2以上)から素数の倍数を消すことで素数を篩い出すアルゴリズムです。詳細はwikipediaに分かり易く書かかれていますのでそちらをどうぞ。 このエラトステネスの篩に上限をあたえず無限素数リスト作ってみようという試みです。 Clojure は遅延シーケンスにより無限長のリストを扱うことができます。無限素数リストをつくる例はWEB上でいくつも見られるのですが、エラトステネスの篩で書いているのは少ないのではないかと思います。 エラトステネスの篩といいつつも実は試し割りで素数を求めている例をちらほらと見掛けます。 剰余を求めるのは試し割りです。N 以下の素数で割ってみて余りが非ゼロのものを残す、というアルゴリズムはエラトステネスの篩ではないと思います。 ♯基方針 基方針としては、 2以上

    エラトステネスの無限の篩 - 水底で思うこと
  • るびま

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

  • 頻出典型アルゴリズムの演習問題としてよさげなやつ - kyuridenamidaのチラ裏

    効率的な別解とか存在する問題もあるけど演習によさそうなやつをピックアップ。そのアルゴリズムじゃないと解けないわけではないって問題も多いので注意。(ただ演習するのには都合が良いかなと)※個人的難易度をつけてみました。とても主観的な難易度付けなので気にせず解いてみてください。深さ優先探索・Balls[☆]・Sum of Integers[☆]・The Number of Island[☆]・Block[★]幅優先探索・Mysterious Worm[★]・Cheese[★]・Seven Puzzle[★☆]・Stray Twins[★★]・Deven-Eleven[★★]・Summer of Phyonkichi[★★☆]ワーシャルフロイド法(For 全点対最短路問題)・Traveling Alone: One-way Ticket of Youth[★]・A reward for a Car

  • Dictionary of Algorithms and Data Structures

    absolute performance guarantee abstract data type (a,b)-tree accepting state Ackermann's function active data structure acyclic directed graph: see directed acyclic graph acyclic graph adaptive heap sort adaptive Huffman coding adaptive k-d tree adaptive sort address-calculation sort adjacency-list representation adjacency-matrix representation adjacent admissible vertex ADT: see abstract data typ

  • SOINN:Self-Organizing Incremental Neural Network : 東京工業大学 長谷川研究室 (Hasegawa Lab.)

    このページでは,当研究室で開発した教師なし追加学習手法であるSOINN(Self-Organizing Incremental Neural Networks,自己増殖型ニューラルネットワーク)についてご紹介します. SOINN とは? SOINNとはGrowing Neural GasとSOM(自己組織化マップ)を拡張した教師なし追加学習手法の1つです.主な特徴としてオンラインで入力されるサンプル集合に対し,ネットワークを自己組織的に形成し,サンプル集合の分布を近似することが挙げられます.このとき非定常な分布に従う入力も学習可能であり,分布が複雑な形状をしているクラスに対しても,ノイズの除去を行った上で適切なクラス数およびサンプル集合の分布を近似することができます. このような特徴から,実世界での利用に対して非常に有効な手法の1つであると考えられています. これまでの発表文献 SOIN

  • 一般化ぷよぷよの NP 完全性

  • diffの動作原理を知る~どのようにして差分を導き出すのか | gihyo.jp

    UNIXの基的なコマンドの1つであるdiff。 これに実装されているアルゴリズムは実に興味深い世界が広がっています。 稿では、筆者が開発した独自ライブラリ「dtl」をもとに「diffのしくみ」を解説します。 はじめに diffは2つのファイルやディレクトリの差分を取るのに使用するプログラムです。 ソフトウェア開発を行っている方であれば、SubversionやGitなどのバージョン管理システムを通して利用していることが多いかと思います。稿ではそのdiffの動作原理について解説します。 差分の計算の際に重要な3つの要素 差分を計算するというのは次の3つを計算することに帰結します。 編集距離 2つの要素列の違いを数値化したもの LCS(Longest Common Subsequence) 2つの要素列の最長共通部分列 SES(Shortest Edit Script) ある要素列を別の要

    diffの動作原理を知る~どのようにして差分を導き出すのか | gihyo.jp
  • やねうらお―よっちゃんイカを買いに行ったついでに家を買う男 - グラフ理論ならこれを読め!

    うちの会社では「グラフ理論を小学校のうちに学んでおかないから、そういうことになるんジャイ!(`ω´)」とか冗談とも気とも取れないような会話が平気で行き交う。それほどグラフ理論は大切な分野なのにプログラマには見過ごされがちだ。ただ、グラフ理論にはいいが少ない。そこで、グラフ理論ならこれを読め!というを紹介する。まずは、入門書としては、左のがお勧め。 大学の教科書としてよく採用されているのが左の「最適化とグラフ理論 技術者のための高等数学」値段も手ごろだし、高校卒業程度の知識でも読めると思う。 「そんな入門書ではなくて、もっと詳しいは無いか?」とid:Ozyさんに聞かれて私が勧めたのは、シュプリンガー・フェアラーク東京シリーズの「グラフ理論」 このシリーズは黄色い表紙とお馬さんのマークが目印だ。 これより詳しいとなると日語で読めるものは発売されていないと思う。「グラフ同型判定問題

    やねうらお―よっちゃんイカを買いに行ったついでに家を買う男 - グラフ理論ならこれを読め!
  • フィボナッチヒープ - Wikipedia

    フィボナッチヒープの例。次数0,1,3の3つの木を持つ。(水色で示されている)3つの頂点はマークされている。それゆえにヒープのポテンシャルは9である。 フィボナッチヒープはminimum-heap propertyを満足する木の集まりである。つまり、ある子のキーは常に親のキーよりも等しいか大きい。つまり最小のキーは常に何れかの木のルートにある。二項ヒープと比較してフィボナッチヒープの構造はより柔軟である。木は規定された形を特に持っておらず、極端な場合はヒープ中の n 個の要素が全て別々の(n 個の)木に属しているかもしれないし、深さ n の一つの木に属しているかもしれない。この柔軟さによって、ある種の操作を後回しにするなど「怠惰な」処理方法が許される。例えば、二つのヒープを結合するには単に二つのヒープの木のリストを連結するだけで良いし、「キーの減算」操作の過程ではあるノードが親から切り離さ

  • ライフゲームでプログラミングできる「Lifef*ck」!? - このブログは証明できない。

    KPF(熊プログラミングフリークス)で発表してきました。ライフゲーム(Conway's Game of Life)はチューリング完全らしいので、これを使ってプログラムを書けるのか?というテーマです。 第5回KPF(熊プログラミングフリークス)勉強会に参加&発表してきました。 - このブログは証明できない。 まずは、発表スライドをどうぞ。 簡単に説明します。ライフゲームはチューリング完全ですから、計算機で実行可能な全てのアルゴリズムを作ることができるらしいです。どうやってアルゴリズムを表現するのか分からなかったので、Brainf*ckを使うことにしました。Brainf*ckの命令は8個なので、1命令は3ビットで表現できます。これを、ライフゲームの3つのセルと対応付けます。 Brainf*ckのプログラムを逆にたどっていけば、そのプログラムを生成するライフゲームのパターンを見つけ出すことが

  • 常識を覆すソートアルゴリズム!その名も"sleep sort"! - Islands in the byte stream (legacy)

    TwitterのTLで知ったのだが、少し前に海外掲示板で"sleep sort"というソートアルゴリズムが発明され、公開されたようだ。このアルゴリズムが面白かったので紹介してみる。 Genius sorting algorithm: Sleep sort 1 Name: Anonymous : 2011-01-20 12:22 諸君!オレは天才かもしれない。このソートアルゴリズムをみてくれ。こいつをどう思う? #!/bin/bash function f() { sleep "$1" echo "$1" } while [ -n "$1" ] do f "$1" & shift done wait example usage: ./sleepsort.bash 5 3 6 3 6 3 1 4 7 2 Name: Anonymous : 2011-01-20 12:27 >>1 なん…だと

    常識を覆すソートアルゴリズム!その名も"sleep sort"! - Islands in the byte stream (legacy)
  • Demo-page for Java

    現在の時刻 新バージョンはこちら このページは、CGの講義を補助し、体験・遠隔学習を実現するのが目的で、CGの基礎から応用(最先端の研究も含む)のJava Applet(西田および研究室の学生が制作)があります。 ページの例を含み、「Javaによる3次元CG」について近々出版の予定です。 の付いてるアプレットは必見です. CG教科書 (Electronic Text Book on CG) 100ページ以上のCG教科書がWEB化してあります Javaプログラム例(Examples of Java Applet) ソースコードは基的に公開していますが、一時的に研究室内に限定してます(必要な人はメイルして下さい) n次ベジェ曲線 (degree n Bezier Curve) ベジェ曲線による補間 (Interpolation by Bezier Curve) ベジェ曲面 (Bezier

  • プログラミングコンテストでのデータ構造

    GPGPU Seminar (GPU Accelerated Libraries, 2 of 3, cuSPARSE)

    プログラミングコンテストでのデータ構造
  • 【コラム】3Dグラフィックス・マニアックス (85) 人工知性でコンテンツを生成するプロシージャル技術(9) | パソコン | マイコミジャーナル

    世界で最も有名なノイズ「パーリンノイズ」とはなにか? フラクタルノイズで最も有名なのは、やはり「パーリンノイズ」(Perlin Noise)だろう。このパーリン・ノイズは、今でもプロシージャル・テクスチャの"種"として非常によく用いられるフラクタルノイズだ。なお、発明者のKen Perlin氏は、このノイズ関数の発明で1997年のアカデミー技術賞を受賞している。 下図は二次元のパーリンノイズの生成方法の一例を示したものだ。 パーリンノイズの生成法 左上から右上に向かってのコマについて解説すると、まず、ある着目した四辺形の一頂点から乱数で決めた傾きを生成する(A)。他三点にゼロに着地するような適当な曲面減衰関数を与える(B)。この2つを掛け合わせて取っておく(A×B)。 左下から3つは、他の3頂点についても同様の計算を行って、合計4つの「ある頂点から立ち上がって他の頂点に着地する曲面」を得る