並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 634件

新着順 人気順

統治法の検索結果1 - 40 件 / 634件

  • リレーショナルデータベースの仕組み (1/3) | POSTD

    リレーショナルデータベースが話題に挙がるとき、私は何かが足りないと思わずにはいられません。データベースはあらゆるところで使われており、その種類も、小規模で便利なSQLiteからパワフルなTeradataまで様々です。しかし、それがどういう仕組みで機能しているかを説明したものとなると、その数はごくわずかではないでしょうか。例えば「リレーショナルデータベース 仕組み」などで検索してみてください。ヒット数の少なさを実感できると思います。さらにそれらの記事は短いものがほとんどです。逆に、近年流行している技術(ビッグデータ、NoSQL、JavaScriptなど)を検索した場合、それらの機能を詳しく説明した記事はたくさん見つかると思います。 リレーショナルデータベースは、もはや大学の授業や研究論文、専門書などでしか扱われないような古くて退屈な技術なのでしょうか? 私は開発者として、理解していないものを

      リレーショナルデータベースの仕組み (1/3) | POSTD
    • イエメン情勢

      こんにちは、皆さんが一切興味がないであろう話をします。 2014年から今にいたるまでイエメンではずっと内戦をしています。この内戦にはサウジアラビア、UAE、イランが関与しており、現在の中東情勢を理解するためにはこの内戦の概要を掴む必要があります。なのでその話をします。 イエメンでは以下の勢力が内戦をしています。すなわち フーシ派 自称はアンサール・アッラーですが一般にフーシ派と呼ばれていますので記事でも以後フーシ派としますシーア派を信奉する集団です。よって同じくシーア派が多数であるイランとの関係が深いハディ派 スンニ派勢力です主にサウジから支援を受けていますこちらを正統政府と見做すメディアもありますです。大まかにいって国土の北西地帯をフーシ派が、南部と東部をハディ派が支配しています。イエメンは部族社会という色が濃く、各部族はそれぞれに思惑をもって活動しており、フーシ派にもハディ派にも属さな

        イエメン情勢
      • ITエンジニアなら知っておきたい、今更聞けないアルゴリズムの種類一覧 - paiza times

        Photo by Oferico 皆さんはアルゴリズムやデータ構造について勉強したことはありますか?そして、基本的なアルゴリズムについて、どのようなものがあって、どのようなときに使うとよいかといったことを説明することができますか? 仕事をしていると、プログラミング言語等の勉強や業務に忙しくて、正直アルゴリズムどころではないという場合がほとんどでしょう。しかし、いつか勉強しようと思っていたけど、基本的なアルゴリズムにどんなものがあるのかなんて今更聞けないな……ということもあるかと思います。 今回はそんな方に向けて、基本的なアルゴリズムの一部の概要に加え、アルゴリズムの勉強に役立つサイト、書籍をご紹介したいと思います。 ■アルゴリズムを学ぶ意味 例えば、ソート等については、通常はすでにソート関数があるので、自分で作らなくても済む=アルゴリズムも勉強しなくていいと思ってしまうかもしれません。しか

          ITエンジニアなら知っておきたい、今更聞けないアルゴリズムの種類一覧 - paiza times
        • ソートアルゴリズムを極める! 〜 なぜソートを学ぶのか 〜 - Qiita

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

            ソートアルゴリズムを極める! 〜 なぜソートを学ぶのか 〜 - Qiita
          • 働きながらアメリカの大学院でCS修士号を取った - k0kubun's blog

            4年前に会社の福利厚生を使ってスタンフォードの授業を取ってみたら面白く、 働きながらでも続けられそうだなという実感を得たので、 2年後、受験を経てジョージア工科大学にリモートで通い始めた。 そして先日、ジョージア工科大学からコンピュータサイエンス修士号をいただくことができた。 画像の学位記は卒業式イベント用の非公式のもので、1~2か月すると Masterとちゃんと書いてある本物が来るらしい *1 。 After 1 year and 9 months, I graduated from Georgia Tech and got a master's degree in computer science. It was intense to be a student while working full-time, but I learned a lot. pic.twitter.com/J

              働きながらアメリカの大学院でCS修士号を取った - k0kubun's blog
            • できるだけ嘘を書かずに計算量やオーダーの説明をしようとした記事 - えびちゃんの日記

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

                できるだけ嘘を書かずに計算量やオーダーの説明をしようとした記事 - えびちゃんの日記
              • ぜひ押さえておきたいコンピューターサイエンスの教科書

                僕はバイオインフォマティクスという生物と情報の融合分野で研究を行っています。東大の理学部情報科学科にいた頃は同僚のマニアックな知識に驚かされたものですが、そのような計算機専門の世界から一歩外に出ると、それが非常に希有な環境だったことに気が付きました。外の世界では、メモリとディスクの違いから、オートマトン、計算量の概念など、コンピューターサイエンスの基礎知識はあまり知られていませんでした。コンピューターサイエンスを学び始めたばかりの生物系の人と話をしているうちに、僕が学部時代に受けた教育のうち、彼らに欠けている知識についても具体的にわかるようになってきました。 バイオインフォマティクスに限らず、今後コンピュータを専門としていない人がコンピューターサイエンスについて学ぶ機会はますます多くなると思われます。そこで、これからコンピューターサイエンスを学ぼうとする人の手助けとなるように、基礎となる参

                • 30分で完全理解するTransformerの世界

                  はじめに 初めまして。ZENKIGENデータサイエンスチームのはまなすです。正式な所属はDeNAデータ本部AI技術開発部なのですが[1]、業務委託という形で今年度から深層学習系の開発等に携わっています。 深層学習界隈では、2017年に衝撃的なタイトル(Attention Is All You Need)の論文が発表されてから早5年半、元出自の機械翻訳タスクを大きく越えて、Transformer関連の技術が様々な領域で用いられる汎用アーキテクチャとして目覚ましく発展し続けています。 今回はそんなTransformerが現時点までにどのように活用されてきたか、また、どのように工夫されてきたかをざっくりと俯瞰し、流れをおさらいする目的の記事になります。本記事の大枠は、2021年時点でのサーベイ論文である A Survey of Transformers に倣いつつ、適宜、2023年2月上旬現在ま

                    30分で完全理解するTransformerの世界
                  • テックリードとして入社してからやったことをまとめてみた。 - Qiita

                    現在の会社にテックリード(1人目の正社員エンジニア)として入社して、2年間やってきたことを書いています。 エンジニア二年目でテックリードとして試行錯誤してきて、自分の振り返りもしたいという思いから記事を書きました。 (前提として、シード期のスタートアップで実行してきたことです。) 入社時のチーム課題 入社当時は、2週間単位のスプリントでスクラムを回してましたが、全員が業務委託だったこともあり、完全な内製化を進める必要があり、主な課題は以下でした。 継続的リリースが困難な状態になっており、それを解消することが急務 社内にエンジニアがいなかったので、開発組織体制づくりが必要だった。 ウォーターフォール寄りのリリースが多く、継続的にリリースする文化がなかった。 リファクタリングやテストコードが不十分だった。 改善したこと Zenhubを導入 それまでは、GitHub Projectで進捗管理をし

                      テックリードとして入社してからやったことをまとめてみた。 - Qiita
                    • アルゴリズムを学ぼう

                      関連サイト出版社による関連ページが公開されています。 アルゴリズムを学ぼう (KADOKAWA/アスキー・メディアワークス) 関連書籍本書の続編『続・アルゴリズムを学ぼう』も好評発売中です。 内容紹介本書のテーマは、ガチのアルゴリズムとデータ構造、そして計算量です。 いや、確かに本書は女の子がいろいろでてきたり、小話が入っていたりと、ゆるふわなオーラが漂っています。しかし、あえていいましょう。それは、見かけだけである、と。 プログラミングを学ぶにあたって、アルゴリズムとデータ構造は、どの言語を用いるにしてもすべての基礎であり、避けて通ることはできない道です。アルゴリズムとデータ構造を知らずにプログラムを書くことは、無免許で車を運転するぐらいに危険な行為です。 しかし、アルゴリズムとデータ構造をきちんと理解せずに、プログラムを書いているプログラマーが多数いるのも事実です。それは、アルゴリズム

                        アルゴリズムを学ぼう
                      • コーディングインタビューの対策とその意義 (1/2) - 16bitのメモランダム

                        1.コーディングインタビューとは何か コーディングインタビュー(Coding Interview、またはProgramming Interview)とは、1時間ほどの制限時間内に小さなプログラミング問題を解かせる面接形式のことをいう。プログラマー、またはデータサイエンティストなどの採用試験として、米国を含むいくつかの国で用いられている。「物理的なホワイトボード上にプログラムを書く」という形式で実施されることが多い。「オンライン上の共有エディタで書く」といった形式のこともある。Googleなどは自社のYoutubeチャンネル動画でも説明している。 出題される問題としては、例えば、「複数の数字numbersと整数kが与えられたとき、合計がkとなる数字の組を1つ出力せよ」といったものがある。この問題は有名なので通称が付いており、Two Sumと呼ばれる。 Two Sumの一例。与えられた数値の並

                          コーディングインタビューの対策とその意義 (1/2) - 16bitのメモランダム
                        • 1/30 発売!「プログラミングコンテスト攻略のためのアルゴリズムとデータ構造」 - iwiwiの日記

                          書籍「プログラミングコンテスト攻略のためのアルゴリズムとデータ構造」が近日中に発売される予定です.会津大の渡部先生が著者で,Short Coding 本の Ozy さんと私が協力としての参加です.どうかよろしくお願いします. プログラミングコンテスト攻略のためのアルゴリズムとデータ構造 作者: 渡部有隆,Ozy(協力),秋葉拓哉(協力)出版社/メーカー: マイナビ発売日: 2015/01/30メディア: 単行本(ソフトカバー)この商品を含むブログ (4件) を見る 本書はアルゴリズムとデータ構造の入門書です.整列,探索,木構造などをはじめとする基礎的なアルゴリズムとデータ構造を初学者向けに説明します.前提とするのは基礎的なプログラミング能力のみです.コード例では C++ を用いています. これだけだと,よくある本のように思われるかもしれません.しかし,本書は非常にユニークな特徴として,オン

                            1/30 発売!「プログラミングコンテスト攻略のためのアルゴリズムとデータ構造」 - iwiwiの日記
                          • 【React/Vue.js】コンポーネント設計の(個人的)ベストプラクティス | Offers Tech Blog

                            概要 こんにちは、Offers を運営している株式会社 overflow の Software Engineer(主戦場はフロントエンド)の Kazuya です。今回は、React や Vue.js などの SPA フレームワークにおけるコンポーネント設計について紹介します。 昨今のフロントエンド開発では、コンポーネント指向での開発がスタンダート化しつつありますが、コンポーネント設計には厳格なルールが無く、どのように設計すればいいか悩む方も多いのではないでしょうか?(筆者は沼にはまりました) コンポーネントの単位はどの程度に分割すべきなのか、状態管理はどうすればいいのか、API 通信はどこですべきなのかなど、一言にコンポーネント設計と言っても考えるべき項目が多いです。チーム開発では、認識があっていないとコードが魔境になることもしばしばあると思います。(筆者の経験談より) そこで今回は、数々

                              【React/Vue.js】コンポーネント設計の(個人的)ベストプラクティス | Offers Tech Blog
                            • Pandasのメモリ削減方法を整理した - Taste of Tech Topics

                              皆さんこんにちは 機械学習チーム YAMALEXチームの@tereka114です。最近、寒いので、鍋を中心に食べて生きています。 検証段階でも、規模の大きなデータを扱う機会が増えてきて、Pandasのメモリ消費量が厳しいと感じてきたので、その削減や効率化のテクニックまとめたいと思いました。 有名なものからマイナーなものまで、思いつく限り書いてみます。 そもそもなぜ、Pandasのメモリ削減技術が必要なのか 準備 Pandasのメモリ削減 1. 型修正 2. 逐次読み込み 3. 読み込み時の型指定 4. 逐次読み込み&集約 5. 不要なものを読み込まない 6. 不要なカラム/DataFrameを消す 番外編:そもそもPandasを利用しない 最後に そもそもなぜ、Pandasのメモリ削減技術が必要なのか Pandasで扱うデータの多くのファイルはCSV,Parquet, JSON(JSONL

                                Pandasのメモリ削減方法を整理した - Taste of Tech Topics
                              • NVIDIAら、サッケード眼球運動中の盲目ポイントにシーンを微妙に回転させ物理空間より広いVR空間を歩行可能にするリダイレクトシステムを発表

                                NVIDIAら、サッケード眼球運動中の盲目ポイントにシーンを微妙に回転させ物理空間より広いVR空間を歩行可能にするリダイレクトシステムを発表 2018-03-29 NVIDIA Research、Adobe、ニューヨーク州立大学ストーニーブルック校の研究者らは、眼球が小刻みに高速で動く「サッケード(衝動性眼球運動)」を利用したVRにおけるリダイレクトウォーキング技術を発表しました。 (青の線が物理空間で移動した軌道、オレンジがVR空間で移動した軌道。両者共に同じ行動の記録。) VRリダイレクトウォーキングとは、物理空間より大きなVR空間を移動できる最大限フロアを利用する手法を指します。VRリダイレクトウォーキングは過去にも様々なアプローチで研究されており、ここでもいくつか紹介しました。 中国科学技術大学、通路が連続するVR空間において狭い物理空間で大規模な仮想空間を歩行できる新手法を論文に

                                  NVIDIAら、サッケード眼球運動中の盲目ポイントにシーンを微妙に回転させ物理空間より広いVR空間を歩行可能にするリダイレクトシステムを発表
                                • アルゴリズムコンテストの挑み方 - d.y.d.

                                  17:29 08/09/30 クロスワード 暇つぶしに "Clueless Crossword" という冊子を買ってみて意外とハマっています。 クロスワードパズルなんだけど、単語のヒントの代わりに、 各マスに1~26の数字が振ってあって同じ数字のマスには同じA~Zが入るように埋めるというもの。 「母音っぽくて二連続して語尾にも出てくるのは多分 E だろう、もしかしたら O の可能性はなくもないけど」 みたいに埋めていく。 ちょっと違うけど フラッシュであった。 20:15 08/09/28 だいちのよろい そろそろ日本に戻る前に観光するぞ月間、ということにして、ウルル(エアーズロック)に行ってきました。 もっとワイルドな感じかと思ったら、完全にリゾートのリゾートによるリゾートのための地帯になってました。 まあそんなもんか。 本日は強風のため登るの禁止とのことだったので、周りから見るだけ。

                                  • とても長い配列の上位M件だけをクイックソートより高速に取り出す - Qiita

                                    というわけで、10倍の差がでた。 当然、配列の長さやソートする長さ、また実装の方法によって性能差は変わってくるが 今回の方法は有効であるということは確認できた。 既存の記事(2015/11/09 20:22 追記) コメント欄でUnordered partial sorting にそれらしきことが書いてあると教えていただいた。 そちらでは、「上位k個を取り出す(ソートは不要)」という問題を考えている。 同様に分割統治法を用いてソートしていきながら、上位k個以内の小区間になったらその区間はソートせずに全て選択して良いとしている。 早い話が、QuickSelectによりk+1番目の要素を探してそれより上位の要素をごそっと抜き出している。 分割統治法で大雑把にソートしていきながら、不要なソートを行わないようにする という同様のアプローチである。 C++のSTLの場合(2015/11/09 22:

                                      とても長い配列の上位M件だけをクイックソートより高速に取り出す - Qiita
                                    • エラーメッセージの読み方と対処, 検索や質問の原則 - Qiita

                                      プログラミングをしている限り, エラーメッセージに遭遇するのは避けられないことだ. そこで, あなたは周りのできる人に「エラーが出ました」と言って "答え" を聞こうとするだろう. でも, もし聞ける人が誰もいなかったら? もし, 周りの誰にもわからないようなエラーにぶつかってしまったら? あなたが一人前のプログラマになるためには, 自分でエラーメッセージを読んで, 解決できるようにならなければならない. どういうエラーメッセージが出たときは何が原因で, どのように対処すれば解決するのか. その知識・経験の積み重ねこそがあなたを一人前のプログラマにするのだ. これは安直に "答え" だけを追い求めていてはいつまで経っても身に付かない. エラーメッセージの大原則 まず最初に頭に入れておくべきなのは, エラーメッセージは意味不明な暗号ではない ということだ. その実, エラーメッセージはかなり

                                        エラーメッセージの読み方と対処, 検索や質問の原則 - Qiita
                                      • 生存適者日記 - 「強者」の必勝法は常に二つ

                                        弱者を弱者にしている、唯一にして決定的な要因は、「強者を理解していない」ということ 確かに、いわゆる「強者」の立場にいる者が皆個人レベルで圧倒的なスペックを誇っているわけではないんですが、そんなことは議員のセンセイ方(特に二世三世)を見れば小学生でも感じていることではないでしょうか。 ただし、「超人」でなくとも「強者」の立場を握り続けるための「強者の必勝法」は確かに存在するのです。 古来より「帝王学」とも呼ばれてきた秘伝ですが、そのエッセンスはわずか二点に凝縮することが可能です。「強者」は決して言いたがらないこれら二つを最後に明かしておきましょう。 一つ、 「分割して統治せよ」 一つ、 「胴元たれ」 拍子抜けしました? でも基本はたったコレだけなんです。 簡単に説明しましょうか。 一つめ、「分割して統治せよ」。 聞いたことありますよね。古代ローマから春秋中国まで広く用いられてきた統治法です

                                          生存適者日記 - 「強者」の必勝法は常に二つ
                                        • nix in desertis:世界史用語集から消滅した用語ver.2019

                                          山川出版社の『世界史用語集』はほぼ毎年出版されているが,大規模な改編があった場合は改版,ミクロな改編しかなかった場合は増刷という使い分けをしている。ただし,正確に言えば改版は刷数をリセットして第1版に戻すということをやっているので,改版ではなく再出版になるのだが,まあそこは置いといて。改版になるのは学習指導要領が変わったタイミングになることが多いが,そうでなくともたまに改版している。ちなみに,第1刷のみタイトルが『世界史用語集』で,第2刷以降は『世界史用語集 改訂版』という書名になるという小ネタがある。書店では最新版以外が売っていることはまずないが,Amazon等で注文する際はタイトルと発行年をちゃんと見ないと無駄に古いものを買うことになるので注意が必要だ。たとえば現行の『世界史用語集』は2014年に刊行,『世界史用語集 改訂版』は2018年12月刊行である。 さて,その2018年12月に

                                          • デザインパターンの話 - Qiita

                                            irxground 君が再考: GoF デザインパターンといふ記事を書いてゐるので自分もちょっとコメントしてみます。 基本的に irxground 君と同意見のところは省略します。 あと、GoF の本自体は私は読んでゐません。 (GoF のパターン以外のパターンに関する意見の方が長くなってますね……。) GoF のデザインパターン 生成に関するパターン Builder そもそも builder パターンは Java の String と StringBuilder の様に可変オブジェクトと不変オブジェクトを別のクラスに設計しなければならない言語でしか基本的に役に立たないパターンであり、C++ の様にキャストだけで可変オブジェクトを不変オブジェクトに変換できる言語ではこのパターンは無用なはずである。 Java が出る前の本でこれがパターンとして挙げられてゐたといふのが俺には不思議に感じられる

                                              デザインパターンの話 - Qiita
                                            • 痛いニュース(ノ∀`):ギョーザ中毒事件に関わった中国の食品監督局長が自殺

                                              ギョーザ中毒事件に関わった中国の食品監督局長が自殺 1 名前: 飛亜特(神奈川県) 投稿日:2008/08/08(金) 16:40:03.55 ID:MZ5dfGdY0 ?PLT 中国の食品監督局長が自殺 8日付の香港紙、星島日報は中国国家品質監督検査検疫総局の食品生産監督管理局の●(=烏の右におおざと)建平局長 (42)が自殺したと伝えた。2日に建物から飛び降りた。自殺の前に司法当局が局長と接触していたとの情報もあるという。 国家品質監督検査検疫総局は食品や日用品の安全性確保や動植物の検疫などを担当。 その中で食品生産監督管理局は国内での食品の安全管理や監督、食中毒事件の調査 を担っている。中国国内で6月中旬に起きたとされるギョーザ中毒事件の対応にも 同監督管理局がかかわっていたとみられるが自殺との関係は不明。 http://sankei.jp.msn.com/world/china/0

                                                痛いニュース(ノ∀`):ギョーザ中毒事件に関わった中国の食品監督局長が自殺
                                              • 巨大なタスクに圧倒されそうな時は“分割統治”で征服せよ ゴールまで走り続けるために有効な考え方

                                                大きな問題も分割すればなんとかなる まつもとゆきひろ氏:次のことわざにいきましょうね。4番目は、これもことわざじゃないと言われちゃうんですが、「分割統治」という言葉です。英語だと「Divide and Conquer」。「分割して征服せよ」という感じです。大きな問題もね、分割すればなんとかなるというやつですね。 (スライドを示して)これは最近見た漫画です。巨大なタスクが存在して、圧倒されそうな気持ちになった時には、タスクを取り上げて細かく分解すると、細かく分解されたタスクは無視しやすいので、タスクは片づかなくても気分は楽になるという漫画なんですけども(笑)、実際、そういうところもあるんですよね。 非常に巨大なことをしろと言われると大変なんだけど、手に負える範囲に分割して1つ1つ話をしていくと問題を解決できるというのは、どこにおいても応用可能な原則だと思います。 クイックソートは一応現時点で

                                                  巨大なタスクに圧倒されそうな時は“分割統治”で征服せよ ゴールまで走り続けるために有効な考え方
                                                • Rubyと大クラス主義とダックタイピング、そして名前重要 - ゆとRubyist日記

                                                  最近、Javaを勉強したりしていて、RubyがJavaとの対比で昔より客観的に見られるようになったので、Rubyの記事を書きたいと思います。自分でも消化しきれていない話なので、反論は大歓迎です。 内容は、大クラス主義とダックタイピング、そして名前重要に関してです。 大クラス主義 Rubyの考えでよく言われるものに、大クラス主義があります。例えば、RubyのArrayは配列を表すクラスです。しかし、Arrayができることは、単純に値を複数持てるだけではありません。Arrayを調べてみると、popやpushやshiftやunshiftがあります。つまり、RubyのArrayはキューやスタックとしても使えます。一方、JavaのArrayやArrayListでは、配列の要素を扱うことはできますが、そのままではキューやスタックとしては使えません。Javaでキューやスタックが使いたいのであれば、例えば

                                                    Rubyと大クラス主義とダックタイピング、そして名前重要 - ゆとRubyist日記
                                                  • 第二版が出ます!プログラミングコンテストチャレンジブック - iwiwiの日記

                                                    一昨年 9 月に初版が出て以来「蟻本」の愛称で皆様にご好評頂いていた僕と岩田 (id:wata_orz) と北川の「プログラミングコンテストチャレンジブック」ですが,お陰様で,このたび第二版が出版されます!第二版の発売日は 1/27 の予定です.よろしくお願いします. (初版の紹介記事はこちら) 改訂による追加部分は,以下になります. 4 つの新しいトピック:計算幾何,枝刈り探索,分割統治法,文字列アルゴリズム 練習問題コーナー 発展内容コーナー ページは 50 ページ増となっています. 練習問題コーナー 練習問題コーナーでは,本書で取り上げた各トピックに関連したオンラインジャッジ上の問題を紹介しています.例題を理解するだけでなく,実際に練習問題を自分で解くことで,一層の定着や応用力の増強を図ることができます. 発展内容コーナー 発展内容コーナーでは,難易度や本の性質の都合等で本書で紹介し

                                                      第二版が出ます!プログラミングコンテストチャレンジブック - iwiwiの日記
                                                    • FGOでラクシュミー・バーイーが登場して驚いた件。英国統治時代のインドとインド独立についてざっくりまとめ。|天竺奇譚

                                                      FGOでラクシュミー・バーイーが登場して驚いた件。英国統治時代のインドとインド独立についてざっくりまとめ。 なますて。天竺奇譚です。 まずはじめに。 かなり長くて雑なまとめですまない。 ちなみにこの長ったらしいメモというかまとめは、主にFGOというゲームに登場するラクシュミー・バーイーにからめた話だけど、ラクシュミー・バーイー本人やゲームについてはほとんど語ってない。ラクシュミー・バーイーが登場した歴史背景と、彼女の存在がインドに与えた影響についてざっくりとまとめたものなので。そこはすまない。 あと、ほんと雑なまとめなので、英国と東インド会社を同一に語ってたりとか、用語とかほとんど使わずほんとざっくりにしてる。英国の統治について是非を問うつもりも議論するつもりもないので、歴史オタクの人向けではないのでそこもすまない。 知らない人のために。FGOっていうのは史実や神話の登場人物が「英霊」とな

                                                        FGOでラクシュミー・バーイーが登場して驚いた件。英国統治時代のインドとインド独立についてざっくりまとめ。|天竺奇譚
                                                      • 日本に「市民社会」は存在しないのか?/『市民社会とは何か』著者、植村邦彦氏インタビュー - SYNODOS

                                                        ――本日は「市民社会」という言葉と概念、あるいは思想についてお聞きしたいと思います。この言葉の原語である〈civil society〉について、まずは教えてください。 英語で〈civil society〉という言葉が初めて使われたのは、日本で言えば安土桃山時代にあたる16世紀末のことでした。『オクスフォード英語辞典』(OED)は、英単語の語源や初出を具体的な文例で示していることで有名ですが、それによると、1594年に出版された英国教会派の神学者リチャード・フッカーの著書『教会統治法』に、この言葉が出てきます。 ところが、『教会統治法』を実際に読んでみると、この言葉が出てくるのは、じつは古代ギリシアの哲学者アリストテレスの『政治学』からの翻訳語としてなのです。その際にフッカーが使用したと思われる『政治学』のテクストは、1438年にフィレンツェの人文学者レオナルド・ブルーニが出版し、その後ヨー

                                                          日本に「市民社会」は存在しないのか?/『市民社会とは何か』著者、植村邦彦氏インタビュー - SYNODOS
                                                        • 【React】「困難は分割せよ」―― 複雑な画面は小さな機能に分けて実装しよう。 - Qiita

                                                          「Divide and Conquer / 分割統治法」 という解法(アルゴリズムの話でよく出てきますね)は、「困難は分割せよ」 として知られる、デカルトが『方法序説』で提唱した思考法が元になっています1。 第二は、わたしが検討する難問の一つ一つを、できるだけ多くの、しかも問題をよりよく解くために必要なだけの小部分に分割すること。 ―― 岩波文庫 『方法序説』 デカルト著 谷川多佳子訳 同様に、React で多機能で複雑な画面を作りたい時、それを小さな機能の集まりと捉えて、それぞれをコンポーネントにすることで、開発がラクになることがあります。 フロントエンドの複雑さや、デザインのための Atomic Design という考え方の影響、または /scripts のように分ける習慣の名残なのか、フロントエンド開発者には、《再利用のためにコンポーネントを作る》という思い込みがあります。(もしくは

                                                            【React】「困難は分割せよ」―― 複雑な画面は小さな機能に分けて実装しよう。 - Qiita
                                                          • サポートベクターマシン - Wikipedia

                                                            サポートベクターマシン(英: support-vector machine, SVM)は、教師あり学習を用いるパターン認識モデルの1つである。分類や回帰へ適用できる。1963年にウラジミール・ヴァプニク(英語版)とAlexey Ya. Chervonenkisが線形サポートベクターマシンを発表し[1]、1992年にBernhard E. Boser、Isabelle M. Guyon、ウラジミール・ヴァプニクが非線形へと拡張した。 サポートベクターマシンは、現在知られている手法の中でも認識性能が優れた学習モデルの1つである。サポートベクターマシンが優れた認識性能を発揮することができる理由は、未学習データに対して高い識別性能を得るための工夫があるためである。 基本的な考え方[編集] サポートベクターマシンは、線形入力素子を利用して2クラスのパターン識別器を構成する手法である。訓練サンプルから

                                                              サポートベクターマシン - Wikipedia
                                                            • ChatGPTのAPIを3ヶ月使ってわかってきた、良い出力を得るための指針 - Qiita

                                                              ChatGPT APIリリースの衝撃から(およそ)3ヶ月。 私が所属する旅行系スタートアップのAVA Intelligenceでは、APIリリース以降、ミッション"Discover the Best For You"を実現するための重要技術と位置付け、様々に活用してきました。 中でも、自然言語で旅行について聞くことができるLINEボットがご好評をいただいています。 ▼AVA Travelの公式LINE 3ヶ月間、ChatGPTのAPIを使って目的を達成する方法を模索する中で、重要だと考えることを整理しました。 指針1.分割して各個撃破する あなたはAIでどのような問題を解決しようとしていますか? 大抵の解くべき問題は、複雑で難しいです。 大きくて難しい問題を分割し、解けるサイズに分けて、扱いやすくすることは、ChatGPTを使う開発において大きな効果を発揮します。 課題を分割することで、A

                                                                ChatGPTのAPIを3ヶ月使ってわかってきた、良い出力を得るための指針 - Qiita
                                                              • クイックソート - Wikipedia

                                                                クイックソート(英: quicksort)は、1960年にアントニー・ホーアが開発したソートのアルゴリズム。分割統治法の一種。 個のデータをソートする際の最良計算量および平均計算量は (ランダウの記号)である。他のソート法と比べて一般的に最も高速だと言われている[2]が、対象のデータの並びやデータの数によっては必ずしも速いわけではなく、最悪の計算量はである。安定ソートではない。 クイックソートは以下の手順で行われる。 ピボットの選択:適当な値(ピボット(英語版)という)を境界値として選択する 配列の分割:ピボット未満の要素を配列の先頭側に集め、ピボット未満の要素のみを含む区間とそれ以外に分割する 再帰:分割された区間に対し、再びピボットの選択と分割を行う ソート終了:分割区間が整列済みなら再帰を打ち切る 配列の分割方法の一例として、以下のようなものが考えられる: 配列要素からピボット P

                                                                  クイックソート - Wikipedia
                                                                • ソート - Wikipedia

                                                                  ソート (英: sort) は、データの集合を一定の規則に従って並べること[1]。日本語では整列(せいれつ)、並べ替え(ならべかえ)、分類(ぶんるい)などと訳される[1]。 主に配列や連結リストのような、リストデータ構造に分類されるコレクション(コンテナ)に格納されている要素データを、全順序関係によって並べ替えることを指す。また、単に「ソート」といった場合、値の小さい方から大きい方へ順に並べる昇順(しょうじゅん、英: ascending order)を指すことが多い。その反対に値を大きい方から小さい方へ順に並べることを降順(こうじゅん、英: descending order)という。 対象となるコレクションのデータ構造や必要とされる出力、また時間的コストと空間的コストの兼ね合いによって、ソートに使われるアルゴリズムは異なる。 効率的なソートは、ソート済みのデータを必要とする他のアルゴリズム

                                                                  • 「マージソート」のやり方を示した画像、ゴミ画像かと思いきや「わかりやすい」「わりといい例なのでは」

                                                                    リンク Wikipedia マージソート マージソートは、ソートのアルゴリズムで、既に整列してある複数個の列を1個の列にマージする際に、小さいものから先に新しい列に並べれば、新しい列も整列されている、というボトムアップの分割統治法による。大きい列を多数の列に分割し、そのそれぞれをマージする作業は並列化できる。n個のデータを含む配列をソートする場合、最悪計算量O(n log n)である。分割と統合の実装にもよるが、一般に安定なソートを実装できる。インプレースなソートも提案されているが、通常O(n)の外部記憶を必要とする。(ナイーブな)クイックソート まずリストを小さな単位に分け、二つのリストをそれぞれの要素の先頭を比較してマージする。最後までこの操作をくり返すと、リストはソートされている。(上記記事より)

                                                                      「マージソート」のやり方を示した画像、ゴミ画像かと思いきや「わかりやすい」「わりといい例なのでは」
                                                                    • 高速フーリエ変換 - Wikipedia

                                                                      クーリー–テューキー型アルゴリズムは、代表的な高速フーリエ変換 (FFT) アルゴリズムである。 分割統治法を使ったアルゴリズムで、N = N1 N2 のサイズの変換を、より小さいサイズである N1, N2 のサイズの変換に分割していくことで高速化を図っている。 最もよく知られたクーリー–テューキー型アルゴリズムは、ステップごとに変換のサイズをサイズ N/2 の2つの変換に分割するので、2 の累乗次数に限定される。しかし、一般的には次数は 2 の累乗にはならないので、素因数が偶数と奇数とで別々のアルゴリズムに分岐する。 伝統的なFFTの処理実装の多くは、再帰的な処理を、系統だった再帰をしないアルゴリズムにより実現している。 クーリー–テューキー型アルゴリズムは変換をより小さい変換に分解していくので、後述のような他の離散フーリエ係数のアルゴリズムと任意に組み合わせることができる。とりわけ、N

                                                                        高速フーリエ変換 - Wikipedia
                                                                      • なぜ動的計画法はDynamic「Programming」という名前なのか - フリーランチ食べたい

                                                                        Coursera「Data Structures and Algorithms」 ここ1ヶ月半CourseraでCSのコースを受講しているのですが、そこで動的計画法についての面白い話があったのでシェア。 www.coursera.org 「Data Structures and Algorithms」という課程の中の「algorithmic-toolbox」コースWeek5のテーマが「動的計画法」です。 動的計画法(Dynamic Programming)とは まず前提として動的計画法とは何か?という話です。 Wikipediaより 動的計画法 - Wikipedia 計算機科学の分野において、アルゴリズムの分類の1つである。対象となる問題を複数の部分問題に分割し、部分問題の計算結果を記録しながら解いていく手法を総称してこう呼ぶ。 細かくアルゴリズムが定義されているわけではなく、下記2条件

                                                                          なぜ動的計画法はDynamic「Programming」という名前なのか - フリーランチ食べたい
                                                                        • 不可触民 - Wikipedia

                                                                          カースト制の下では隠亡は不浄とされてきた(ネパール・パシュパティナート火葬場 2015年) 不可触民(ふかしょくみん、英語: untouchable)とは、カースト制度(ヴァルナ・ジャーティ制)の外側にあって、インドのヒンドゥー教社会における被差別民である。総数は約2億人と推計されている[1]。 アチュート、アウトカースト、パーリヤもしくはアヴァルナと呼ばれ、不可触民は自分たちをダリットと呼ぶのを好んだ[2][3]。 インド憲法では、スケジュールド・カースト(Scheduled Castes)と呼称する。1950年に制定されたインド憲法17条により、不可触民を意味する差別用語は禁止、カースト全体についてもカーストによる差別の禁止も明記している。またインド憲法第341条により、大統領令で州もしくはその一部ごとに指定された諸カースト(不可触民)の総称として、スケジュールド・カースト(指定カース

                                                                            不可触民 - Wikipedia
                                                                          • 【IWJブログ】CSIS「第3次アーミテージレポート」全文翻訳掲載 | IWJ Independent Web Journal

                                                                            これまで我々は、メルマガ「IWJ特報!」第48号(2012年9月13日発行)で、「野田政権の『勝手に決める政治』の裏に米国の露骨な要求」と題して、「第3次アーミテージレポート」を通し、米国の、日本に対する無茶苦茶ともいえる要求の中身を論じてきた。2012年12月16日の衆議院総選挙において、自民党が圧勝した後、米国はさらに要求を強めている。 【第3次アーミテージレポート原文はこちら(英文)】 奇観というべきは、日本の政官財各界が、このレポートに書かれた米国からのアジェンダを、忠実に遂行しようとしている姿である。民主党から自民党へ政権が交代してからも、そうした従属的姿勢は変わらない。これに新聞・テレビなどの既存大手メディアが後押しをして、対米従属の列に加わる。本メルマガ第61号~63号、72~74号で何度も論考した「改憲・憲法第9条の改正(集団的自衛権の行使)」の問題をはじめ、「原発の推進」

                                                                              【IWJブログ】CSIS「第3次アーミテージレポート」全文翻訳掲載 | IWJ Independent Web Journal
                                                                            • Suffix Trieを使って文字列マッチングする - $shibayu36->blog;

                                                                              文字列マッチングを行うためのアルゴリズムとして、Suffix Trieを使った探索というものがある。これはテキストからSuffix Trieという構造を作り、パターンをつかってそれを辿ることで、パターンの長さmに対して、O(m)の計算量で探索できるものである。 今回はJavaでSuffix Trieを使った探索をしてみた。 トライ木とパトリシア 先にトライ木とパトリシアについて紹介。 今回Suffix Trieという構造を調べていると、同じような構造としてSuffix Treeというものが出てきて混乱した。よく調べてみると、Suffixの集合をトライ木という構造で実装したものがSuffix Trieで、パトリシアという構造で実装したものがSuffix Treeらしい。 トライ木はnodeを連結していって、その枝に1文字を割り当てて辿れるようにした構造。トライ木は枝に1文字しか割り当てない構

                                                                                Suffix Trieを使って文字列マッチングする - $shibayu36->blog;
                                                                              • Microsoftがパックマンでフルスコアをたたき出す超絶AIを開発

                                                                                Microsoftが2017年1月に買収したディープラーニング技術の研究に注力する「Maluuba」が、強化学習と分割統治法を用い、パックマンでフルスコアとなる999990ポイントをたたき出すことが可能なAIを作成しました。 Divide and conquer: How Microsoft researchers used AI to master Ms. Pac-Man - Next at Microsoft https://blogs.microsoft.com/next/2017/06/14/divide-conquer-microsoft-researchers-used-ai-master-ms-pac-man/ Sorry humans, Microsoft’s AI is the first to reach a perfect Ms. Pac-Man score - Th

                                                                                  Microsoftがパックマンでフルスコアをたたき出す超絶AIを開発
                                                                                • Algorithm Design with Haskellでアルゴリズムを学ぶ - 朝日ネット 技術者ブログ

                                                                                  はじめに 開発部のcbmkageです。 仕事でプログラムを書いていると、どうしたら期待通りに、かつ高速に動作するアルゴリズムが実装できるか、考えることがあります。 本記事では、アルゴリズムについて新たな視点を与えてくれる本「Algorithm Design with Haskell」を紹介します。 本記事はHaskell中級者向けです。Haskellの文法や、代表的なリスト操作関数を知っていることを前提としています。 はじめに Algorithm Design with Haskellとは 準備: 関数の同値関係 貪欲アルゴリズムのPART紹介 貪欲アルゴリズムとは 候補の生成と選択 貪欲アルゴリズムへの改善 まとめ 採用情報 Algorithm Design with Haskellとは Algorithm Design with Haskell 作者:Bird, Richard,Gib

                                                                                    Algorithm Design with Haskellでアルゴリズムを学ぶ - 朝日ネット 技術者ブログ