タグ

アルゴリズムに関するnakex1のブックマーク (27)

  • ヤフートップページの裏側:記事推薦システムの試行錯誤と今後の挑戦

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog Yahoo! JAPANアプリのトップページの上部には、編集者によってピックアップされた「トピックス」と呼ばれるトップニュースが6並んでいます。編集者が選定した質の高い記事を提供していますが、必ずしも各ユーザーの興味に適した記事が表示されているとは限りません。そのため、スクロールすると、記事推薦システムによって各ユーザーの好みを考慮した記事が自動で表示される仕組みになっています。 ニュース記事の推薦で特に重要なのは「即時性」です。ニュース記事では、情報が更新されると古い記事は役に立ちません。そのため、入稿された記事がいち早く推薦対象になることが重要になります。 たとえば、事前にユーザーごとの推薦記事一覧(レコメンドリスト)を作成

    ヤフートップページの裏側:記事推薦システムの試行錯誤と今後の挑戦
    nakex1
    nakex1 2023/02/27
    NGワードを登録できるようにしてみては。
  • 食べログ裁判で違法とされたアルゴリズム運用 欧州では規制、日本は:朝日新聞デジタル

    ","naka5":"<!-- BFF501 PC記事下(中⑤企画)パーツ=1541 --><!--株価検索 中⑤企画-->","naka6":"<!-- BFF486 PC記事下(中⑥デジ編)パーツ=8826 --><!-- /news/esi/ichikiji/c6/default.htm -->","naka6Sp":"<!-- BFF3053 SP記事下(中⑥デジ編)パーツ=8826 -->","adcreative72":"<!-- BFF920 広告枠)ADCREATIVE-72 こんな特集も -->\n<!-- Ad BGN -->\n<!-- dfptag PC誘導枠5行 ★ここから -->\n<div class=\"p_infeed_list_wrapper\" id=\"p_infeed_list1\">\n <div class=\"p_infeed_list\">

    食べログ裁判で違法とされたアルゴリズム運用 欧州では規制、日本は:朝日新聞デジタル
    nakex1
    nakex1 2022/06/17
    数値による順位付けは思考停止を招きやすくてあまりいい方法とは思えんのだよな。人によって味覚も好みも高い点をつけやすいかなども違う。ブレを吸収できるほどそれぞれの店にたくさん評価がつくとは限らんし。
  • はじめに - アルゴリズムとデータ構造大全

    はじめに このドキュメントは,主に競技プログラミングで出題される問題を解く際に利用できるアルゴリズムやデータ構造をまとめたものです.特定の問題にはあまりフォーカスしないため,問題を解く際の考察の仕方等の内容はありません.詳しく,正確に,分かりやすく書いていこうと思っています. このドキュメントは執筆途中です. 想定する読者 C++を用いたプログラミングに慣れている方を読者として想定しており,C++言語の仕様や,文法にはあまり触れません.また,計算量という用語についても説明しません.ただし,償却計算量など,計算量の見積もりが複雑なものについては必要に応じて説明します. コードについて このドキュメントで登場するコードは,可読性向上のため,以下のようなコードがファイルの先頭に記述してあることを前提としています.また,適切な問題を用いてコードの検証がなされている場合は,コード周辺にのように,検証

  • 「ぷよぷよは計算困難」―パズル・ゲームと最適化アルゴリズム― – Ono Laboratory

    はじめに 最近,「一般化ぷよぷよのより強い計算困難性」なる研究を発表しました(東北大学の江藤宏先生,九州大学の木谷裕紀先生との共同研究.国内研究会であるゲームプログラミングワークショップで江藤先生による口頭発表.2021年12月30日現在,pdfはここから取れます). これは有名なビデオゲーム「ぷよぷよ」を一人用のパズルと見立てたとき,かつそれを一般化した場合,どの程度難しいものであるのかを(最適化)アルゴリズム論的に分析したものです.今回「最適化技術の応用・実践」に関する記事を集めよう,ということになりましたので,ちょうどよい題材ということで,この研究をより一般向けに解説してみようと思います.一般向けですので証明自体には踏み込まず,既存の定理と得られた定理の意義をおよそわかっていただくことをこの記事の目標とします.ただし「ぷよぷよ」について関してはおよそルール等がわかっている方を対象とし

  • アルゴリズムの世界地図 - Qiita

    0. アルゴリズムとは? まず、アルゴリズムとは何かを説明します。(0 節の説明はスライド「50 分で学ぶアルゴリズム」 の説明を参考にして書きました) さて、次の問題を考えてみましょう。 問題: 1 + 2 + 3 + … + 100 の値を計算してください。 単純な方法として、式の通りに 1 つずつ足していく方法が考えられます。すると、以下の図のように答えが計算されることになります。 これで答え 5050 が正しく求まりました。これはれっきとした アルゴリズム であり、この問題を 99 回の足し算 で解いています。しかし、計算回数が多く、計算に時間がかかるのではないかと思った方もいると思います。 ここで、方法を変えて、「1 + 100」「2 + 99」「3 + 98」…「50 + 51」の合計を求めることで、1 + 2 + 3 + … + 100 の値を計算してみましょう。 50 個の

    アルゴリズムの世界地図 - Qiita
  • Python言語による実務で使える100+の最適化問題 | opt100

    はじめに 書は,筆者が長年書き溜めた様々な実務的な最適化問題についてまとめたものである. 書は,Jupyter Laboで記述されたものを自動的に変換したものであり,以下のサポートページで公開している. コードも一部公開しているが,ソースコードを保管した Github 自体はプライベートである. を購入した人は,サポートページで公開していないプログラムを 圧縮ファイル でダウンロードすることができる. ダウンロードしたファイルの解凍パスワードは<に記述>である. 作者のページ My HP 書のサポートページ Support Page 出版社のページ Pythonによる実務で役立つ最適化問題100+ (1) ―グラフ理論と組合せ最適化への招待― Pythonによる実務で役立つ最適化問題100+ (2) ―割当・施設配置・在庫最適化・巡回セールスマン― Pythonによる実務で役立つ

  • できるだけ嘘を書かずに計算量やオーダーの説明をしようとした記事 - えびちゃんの日記

    計算量についてのお話です。対象は、プログラミング経験はあるが計算量のことを知らない初心者から、計算量のことを知っているつもりになっている中級者くらいです。 数式を見たくない人にとっては読むのが大変かもですが、深呼吸しつつ落ちついて読んでくれるとうれしいです。 それから、この記事が自分には合わないな〜と思ったときは、(別の記事を Qiita とかで検索するよりも)この記事の一番下の 参考文献 にあるを読むことをおすすめします。Amazon の試し読みで無料で読めます*1。 TL; DR 関数の増加度合いのことをオーダーと呼ぶよ 計算量は、入力サイズ(など)を受け取ってアルゴリズムの計算回数(など)を返す関数だよ その関数のオーダーについての議論がよく行われるよ オーダーを上から抑えるときは \(O\)、下から抑えるときは \(\Omega\) を使うよ オーダーを上下両方から抑えたいときは

    できるだけ嘘を書かずに計算量やオーダーの説明をしようとした記事 - えびちゃんの日記
  • QRコードを生成できるだけでなく「作り方」まで理解できる「Creating a QR Code step by step」

    キャッシュレス決済の筆頭としてPayPayやLINE PayといったQRコード決済が日においても普及し始めていますが、QRコードがどのように生成されているのかを知る機会は多くありません。「Creating a QR Code step by step」は、好きな文字列を表すQRコードを簡単に生成でき、さらにQRコードの生成過程まで理解できるウェブアプリです。 Creating a QR Code step by step https://www.nayuki.io/page/creating-a-qr-code-step-by-step まずは「Creating a QR Code step by step」にアクセス。ひとまずオプションの理解は置いておいて「Text string」に「GIGAZINE」と入力し、「Force minimum version」を「2」に設定して「Gene

    QRコードを生成できるだけでなく「作り方」まで理解できる「Creating a QR Code step by step」
  • 1000本の見た目がまったく同じワイン入りの瓶がある

    その中に1だけ毒入りのワインの瓶が入っている その毒はほんの一滴でも飲むと確実に死ぬ ただし遅効性の毒で、死ぬのは10~20時間後の間のどこかのランダムなタイミング それを死んでもいい奴隷を使って毒入りのワインを1000の中から見つける 24時間以内に見つけないといけない 最低何人の奴隷を使って見つけることができるか(死ぬ人数ではない) 最小人数を考えてほしい

    1000本の見た目がまったく同じワイン入りの瓶がある
    nakex1
    nakex1 2020/07/15
    二進数変換の方法,3本で試そうとして最初1,2,3を01,10,11に置き換えたら1桁目のフラグが立ったのを飲んだ人が死んでも1か3かわからないと思ったが,00,01,10にすると確定できるんだな。
  • 人生を豊かにする文字列diff入門 | フューチャー技術ブログ

    春の入門祭りの8日目です。 文字列の新旧の違いを表現する時によくdiffをとるとか言いますよね。そこで実行されるのが差分アルゴリズムです。差分のアルゴリズムって結構知れば知るほど難しいやつです。「より良い差分」という基準が、状況によって変わるからです。ヒューリスティックなやつです。例えば、HTMLの説明の文章を書いていたとします。タイトルをテーブルに書き換えてみたとします。 どちらも間違ってはおらず、この差分を元にパッチを当てたりも可能です。ただ、読んだ時の読みやすさが違います。 これはもちろん前者と答える人の方が多いでしょう。だって、タグという意味の塊が維持されていますからね。 これは究極的にはわかりやすいdiffというのは「意味」を理解しないと作れないということを意味します。これがdiffは簡単なようで難しいと書いた理由です。もちろん、ほどほどの工数で、ほどほどの見た目のdiffも作成

    人生を豊かにする文字列diff入門 | フューチャー技術ブログ
  • アルゴリズムビジュアル大事典

    このサポートページでは、マイナビ出版発行の書籍「アルゴリズムビジュアル大事典」にて作成しましたシンボル、アニメーション、疑似コードを掲載いたします。また、内容のアップデートを行ってまいります。詳しい解説は、書をご参考にしてください。 アニメーションコントローラの使い方はクイックマニュアルでご確認頂けます。 補足情報が表示されているトピックにつきましては、ご注意ください。その他の訂正等は正誤表をご覧ください。ご質問、不具合等のご報告は、ご遠慮なくy.watanobe@gmail.com(渡部)までお送りください。

  • 「無限に都市が生成されるアルゴリズム」で生成された都市を自由に歩き回ってみた - GIGAZINE

    波動関数とは「物体の状態そのもの」が波動で表されるという関数であり、時にはゲーム内の物理シミュレーションなどに利用されることもあります。そんな波動関数がある1つの固有の状態に収縮することを波動関数の崩壊と呼び、そんな波動関数の崩壊を用いた「無限に都市が生成されるアルゴリズム」を作り出す猛者が登場。実際にどのような都市生成ツールになっているのか、実際にダウンロードして試してみました。 Wave Function Collapse by marian42 https://marian42.itch.io/wfc GitHub - mxgmn/WaveFunctionCollapse: Bitmap & tilemap generation from a single example with the help of ideas from quantum mechanics. https://g

    「無限に都市が生成されるアルゴリズム」で生成された都市を自由に歩き回ってみた - GIGAZINE
  • ソートアルゴリズムを極める! 〜 なぜソートを学ぶのか 〜 - Qiita

    NTT データ数理システムでリサーチャーをしている大槻 (通称、けんちょん) です。 今回はソートについて記します。 0. はじめに データ構造とアルゴリズムを学ぶと一番最初に「線形探索」や「ソート」が出て来ます。これらのテーマは応用情報技術者試験などでも頻出のテーマであり、アルゴリズムの Hello World とも呼ぶべきものです。 特にソートは、 計算量の改善 ($O(n^2)$ から $O(n\log{n})$ へ) 分割統治法 ヒープ、バケットなどのデータ構造 乱択アルゴリズムの思想 といった様々なアルゴリズム技法を学ぶことができるため、大学の授業でも、アルゴリズム関連の入門書籍でも、何種類ものソートアルゴリズムが詳細に解説される傾向にあります。記事でも、様々なソートアルゴリズムを一通り解説してみました。 しかしながら様々な種類のソートを勉強するのもよいが、「ソートの使い方」や

    ソートアルゴリズムを極める! 〜 なぜソートを学ぶのか 〜 - Qiita
  • 電王戦最終局、異例の「21手投了」に至ったAWAKEの真意は 「一番悪い手を引き出して勝っても意味ない」

    既報の通り、阿久津主税八段が勝利を収め、プロ棋士側が3勝2敗で勝ち越した「将棋電王戦FINAL」。4月11日に行われた最終局では、AWAKE側がわずか21手で投了を宣言し物議をかもしましたが、対局後の記者会見でもやはり、AWAKEの「21手投了」という決断に質問が集中しました。 対局後に行われた記者会見 AWAKEは以前、「電王『AWAKE』に勝てたら100万円!」という企画でアマチュアと対戦した際、「自陣にあえて隙を作ることで、AWAKE側に持ち駒の角を打たせて捕獲してしまうことができる」という、ある種の「ハメ手」が見つかっていました。今回、阿久津八段もこの指し方を採用し、AWAKEの角を自陣へ誘導することに成功。この直後、AWAKE開発者・巨瀬亮一さんが投了を宣言し、AWAKE側の負けが決まりました。このまま続行してもAWAKE側にとって相当に不利な状態だったことは確かですが、それでも

    電王戦最終局、異例の「21手投了」に至ったAWAKEの真意は 「一番悪い手を引き出して勝っても意味ない」
    nakex1
    nakex1 2015/04/12
    投了判断を人間ができるっていうのがルールの欠陥だったのでは。コンピューターが判断するなら1手で投了でもそれはそのプログラムの性能。詰みで投了しなくても王を取るまでやればいいんだし。
  • [CEDEC 2014]「ゲーム世界を動かすサイコロの正体 〜 往年のナムコタイトルから学ぶ乱数の進化と応用」 - 4Gamer.net

    [CEDEC 2014]ナムコ作品で見る乱数の歴史。「ゲーム世界を動かすサイコロの正体 〜 往年のナムコタイトルから学ぶ乱数の進化と応用」レポート ライター:箭進一 神奈川のパシフィコ横浜で行われた,ゲーム開発者向けイベントCEDEC 2014の最終日である2014年9月4日,「ゲーム世界を動かすサイコロの正体 〜 往年のナムコタイトルから学ぶ乱数の進化と応用」という講演が行われた。 登壇したバンダイナムコスタジオ HE技術部 加来量一氏 この講演のユニークな点は,旧ナムコの作品を「乱数」という視点から振り返るということだ。バンダイナムコスタジオ HE技術部のプログラマーである加来量一氏は,旧ナムコの初期作品50を解析し,それぞれの時代でどのような乱数が使われていたかを特定した。そこから見えてくる乱数技術改良の歴史を見ていくというのが,講義の主旨なのである。 1980年代のナムコアーケ

    [CEDEC 2014]「ゲーム世界を動かすサイコロの正体 〜 往年のナムコタイトルから学ぶ乱数の進化と応用」 - 4Gamer.net
  • アルゴリズムとプログラミングをビジュアルで一挙に理解できる「VisuAlgo」

    アルゴリズムを理解するのにビジュアル化することは非常に有効で、プログラムをビジュアル化することで理解が進むのもまた同じ。そこで、アルゴリズム・プログラミングの理解が進むようにと、アルゴリズムを記述したプログラムコードを一挙にビジュアル化することで、アルゴリズム&プログラミングを同時に学習できる一挙両得なサービス「VisuAlgo」が公開されています。 VisuAlgo - visualising data structures and algorithms through animation https://visualgo.net/en 上記のVisuAlgoサイトで試しにソートアルゴリズムの基プログラム「バブルソート」をビジュアル化してみます。「Sorting」の「bubble」をクリック。 検索窓の下に「bubble」と表示されたのを確認したら「Sorting」の画像をクリック。

    アルゴリズムとプログラミングをビジュアルで一挙に理解できる「VisuAlgo」
  • 最高裁が下級審を支持するか覆すかを高精度で予想できるアルゴリズムが開発される

    を含む多くの国では三審制が採られており、下級審の判断の是非は終局的には最高裁判所が決定する権限を持っています。このため最高裁の判断には訴訟当事者のみならず多くの関係者の注目が集まるものなのですが、最高裁が下級審の判断を支持するのか覆すのかを高確率で予測できるアルゴリズムの開発が進んでいます。 The Next Evolution of SCOTUS Predictions: Predicting 7,000 Cases Over 60 Years with 71% Accuracy | Josh Blackman's Blog http://joshblackman.com/blog/2014/07/29/the-next-evolution-of-scotus-predictions-predicting-7000-cases-over-60-years-with-71-accura

    最高裁が下級審を支持するか覆すかを高精度で予想できるアルゴリズムが開発される
    nakex1
    nakex1 2014/08/01
    下級審の判決が維持される確率はおそらく5割より相当高いわけで(上告したら簡単に覆るようでは下級審の意味がない),7割の的中率が高いのかどうかよくわからない。
  • Bitcoinは計算量理論から見て「無限連鎖講」である

    「ビットコイン(Bitcoin)」はデータ交換の仕組みであり、決済や蓄財など貨幣であるかのように使われています。このため、IT(情報技術)、ビジネス、経済、社会といった様々な面から論じる必要があります。『ビットコイン・ホットトピックス』欄には、多様な論点の記事を掲載していきます。今回は京都大学の安岡孝一准教授に、計算量理論の立場から寄稿していただきました。(日経コンピュータ編集部) 「Mt.GOX」の破綻(関連記事)によって一躍有名になった感のあるBitcoin(ビットコイン)だが、この期に及んでも、いまだBitcoinを信奉している人々がいて、正直なところ理解に苦しむ。遠慮会釈なく言わせてもらえば、Bitcoinはデジタルマネーとしての設計が極めて悪質で、計算量理論から見て無限連鎖講となっている。別の言い方をすれば、ネズミ講である。 Bitcoinの設計上、新規に発行された通貨を誰が受け

    Bitcoinは計算量理論から見て「無限連鎖講」である
    nakex1
    nakex1 2014/04/02
    取引記録の検証に必要な計算量について,人気過ぎて計算が追いつかなくなる場合と人気がなくなりすぎてどんなにコストを下げても誰も計算してくれない場合というかんじ?
  • スパコンで約2時間36分かかったという、5×5の魔方陣の全解列挙を、パソコンで試す(C ) | 配電盤

    魔方陣の解の列挙は並列化しやすそうな問題ですが、ここでの方針では、探索効率を上げるためには条件分岐が不可欠なので、(「数」を求めるだけだとしても)GPGPUでうまくやる方法がわかりません。そこで、CPUに載っているコアのみで並列化します(Xeon Phiなら簡単なのでしょうか→追記参照)。 一番外側の、0から(1<<25)-1まで変化する変数iのループをOpenMPで並列化します(schedule(guided)では遅くなります。schedule(auto)はVisual C++でサポートされたら試します)。変数iは上の図の緑の部分(カンで5個にしました)を各数5ビットで表現し、つなげたものです。マスに入りうる数は1から25までなので、5ビットというのはちょっと冗長ですが、とりあえずはよしとしましょう。 出力はバイナリ形式で、1つの解に25バイト使います(1つのマスに入る数を1バイトで表現

    スパコンで約2時間36分かかったという、5×5の魔方陣の全解列挙を、パソコンで試す(C ) | 配電盤
  • コンピュータを進化させてきた偉大なるアルゴリズムまとめ

    By Kai Schreiber IT技術の進化のスピードには目を見張るものがありますが、それを支えているのはアルゴリズムと呼ばれる処理方法(技術的アイデア)です。さまざまなアルゴリズムの中でも、コンピュータの進化に革命的な影響をもたらしたとされる偉大なアルゴリズムは以下の通りです。 Great Algorithms that Revolutionized Computing http://en.docsity.com/news/interesting-facts/great-algorithms-revolutionized-computing/ ◆ハフマン符号(圧縮アルゴリズム) Huffman coding(ハフマン符号)は、1951年にデービッド・ハフマン氏によって開発されたアルゴリズム。頻出頻度の大小によって対戦するトーナメントツリーを考えて、ブロックごとに0と1の符号をもたせる

    コンピュータを進化させてきた偉大なるアルゴリズムまとめ