Movatterモバイル変換


[0]ホーム

URL:


はてラボはてな匿名ダイアリー
ようこそ ゲスト さんログインユーザー登録

「動的計画法」を含む日記RSS

はてなキーワード:動的計画法とは

2025-10-08

昔と今のソフトウェアエンジニアの違い

昔のエンジニア形態素解析設計しよう。有限状態オートマトン辞書高速化、最適な単語列を求めるために、動的計画法ベースのViterbiアルゴリズムを使うか💪」

今のエンジニア「ChatGPTが嘘をついたので仕事ができません😭」

Permalink |記事への反応(1) | 01:21

このエントリーをはてなブックマークに追加ツイートシェア

2025-01-20

おい自称駆け出しプログラマー、聞いてるか?

まず、アルゴリズムの根幹を成す計算複雑性について。O(n)やO(log n)といった表記は表面的な理解に過ぎない。真に重要なのは問題本質的計算困難性だ。P≠NP予想を例に取ろう。この未解決問題は、効率的に解ける問題と解けない問題境界定義している。初心者は単にアルゴリズムを暗記するのではなく、この根本的な概念理解せねばならない。

次に、データ構造。単純な配列リンクリスト理解では不十分だ。高度な自己平衡二分探索木、例えばレッドブラック木やAVL木の内部動作を完全に理解し、それらを一から実装できるレベルを目指すべきだ。さらに、アモーティゼーション解析を用いて、これらのデータ構造操作の平均時間計算量を厳密に証明できる能力必要不可欠だ。

ハッシュテーブルについても深く掘り下げよう。単純なチェイニングや線形探索法では不十分だ。完全ハッシュ法、クックーハッシュ法、オープンアドレス法における様々な探索手法二次探索法、ダブルハッシュ法など)の利点と欠点理解し、具体的な問題に応じて最適な方法選択できるようになるべきだ。

グラフアルゴリズムにおいては、単にダイクストラ法やクラスカル法を知っているだけでは不十分だ。フローネットワークにおける最大フロー最小カット定理やディニッツのアルゴリズムさらにはグラフマイナー理論ロバートソンシーモアの深い結果まで理解する必要がある。

動的計画法は、単純な最長共通部分列問題ナップサック問題を解くだけでは足りない。bitDPやMonge DPなどの高度なテクニックさらには凸包トリックを用いた最適化まで習得すべきだ。

最後に、乱択アルゴリズム。単純なモンテカルロ法ラスベガス法の理解では不十分だ。シャーマン・モリソンの公式を用いた行列の高速な逆行列計算や、ジョンソンリンデンシュトラウス補題を用いた次元削減技術など、確率論線形代数を駆使した高度な手法まで理解する必要がある。

これらは全て、真のプログラマーが持つべき基礎的な知識の一部に過ぎない。初心者は、これらの概念を深く理解し、実際の問題適用できるレベルを目指すべきだ。そして常に、より深い数学洞察抽象思考を追求し続けねばならない。

Permalink |記事への反応(1) | 12:36

このエントリーをはてなブックマークに追加ツイートシェア

2024-01-05

anond:20240105210128

クラス内包記法もenumerate関数再帰関数も「技法」とか「公式」いうほど大仰なものじゃなくて

「字」とか「単語レベルのプリミティブなツールだよ

言語最初から用意されてる機能もの

 

技法」とか「公式」にあたるのはアルファベータ法とか動的計画法とかそういうの

Permalink |記事への反応(0) | 21:06

このエントリーをはてなブックマークに追加ツイートシェア

2022-10-19

anond:20221019162237

その動的計画法ってなんや

Permalink |記事への反応(0) | 16:26

このエントリーをはてなブックマークに追加ツイートシェア

アルゴリズムを学び始めたら動的計画法が難しい

ググると「動的計画法は初学者にとっての最初の関門」みたいな事が書かれている記事散見されて皆同じなんだと思った

Permalink |記事への反応(1) | 16:22

このエントリーをはてなブックマークに追加ツイートシェア

2019-04-10

研究者になりたい人生だった

マルチプレクサをハフマン符号FFTするとプリアンブルに引っかかるので動的計画法で共起を二分探索したらO(nlogn)でラスタライズできたんだよね。でもMySQLユニバーサルメルカトル図法の座標からシャーディングすれば特異点暗渠に入るので注意が必要なんだよね。

俺はそこで諦めた。

Permalink |記事への反応(0) | 10:39

このエントリーをはてなブックマークに追加ツイートシェア

2018-06-16

anond:20180616163128

動的計画法グラフ理論計算幾何などあらゆるアルゴリズム精通している

Permalink |記事への反応(0) | 16:34

このエントリーをはてなブックマークに追加ツイートシェア

2018-06-09

やはりグラフ問題というのは鬼門で、これを解ける日本社会人プログラマ20人に1人だろう

動的計画法を解けるのが10人に1人ぐらい

Permalink |記事への反応(1) | 23:38

このエントリーをはてなブックマークに追加ツイートシェア

2018-05-14

FizzBuzzうるう年判定ぐらいならすぐ書けるだろうけど

動的計画法とか二分探索は普通会社業務で出てこなくね?

Permalink |記事への反応(1) | 11:47

このエントリーをはてなブックマークに追加ツイートシェア

二分探索や動的計画法理解できないのはアホだと言ってはいます

一方で、指示された作業内容適当にググりながらコピペでも何でもいいから仕上げてくれるPGはそれはそれで役に立つ人間だと思っています

素養がない人はそういうのを目指してほしい

世の中、「指示された内容をきっちりやる」「作業で詰まったらすぐ聞く」そういう当然のことができる人間少ないですから

Permalink |記事への反応(0) | 11:40

このエントリーをはてなブックマークに追加ツイートシェア

anond:20180514104946

動的計画法グラフ探索はわりとざくっとした分類なのに、それに二分検索みたいな具体的なアルゴリズムが並べられてるのが違和感

Permalink |記事への反応(1) | 10:58

このエントリーをはてなブックマークに追加ツイートシェア

感覚的に

・二分探索

動的計画法(DP)

グラフの探索

日本ではこのへんを自力で書けるプログラマは百人に一人ぐらいだと思う

Permalink |記事への反応(5) | 10:49

このエントリーをはてなブックマークに追加ツイートシェア

2014-01-20

自称関数型プログラミングマスターの同僚がイタイ

一人で勝手イタイならいいけど、いい加減我慢も限界でなんとかしたい。

そいつ圏論に裏付けられた静的型付け言語スバラシサを布教しないと気がすまないらしく、事あるごとに純粋でないオブジェクト指向言語disる

曰く、静的型付け言語だと型を合わせてコンパイラが通るようにするだけで実行時エラーを絶対起こさなコードが書けるらしい。

ああまた始まったと思ってたら、そいつが熱弁する後ろから同僚が近づいて「ヒープ足んねぇ」って書かれたメモ背中に貼っつけてたのは笑った。

お前が書いたn3アルゴリズム(!!!!)も型さえ合えばコンパイラがnlognに書き換えてくれんのかね。

いやそれ、動いてるって言わないから

型チェックぐらいで取れるバグなんて、せいぜいスタックキューみたいなもんだろ。

その程度の仕事しか任せてもらってないのは分かるが。

お前の怪しい動的計画法バグをチェックできるコンパイラなんて存在しないぞ。

圏論なんてやってる時間があるならダイクストラ法でも復習しとけってんだ。

そもそも関数型言語生産性が高いというのが眉唾ものだ。

どちらにせよ設計においてはオブジェクト指向が使われるのだからほとんど違いなどない。

せいぜい数倍コードが短くなる程度の話に学習コストをかける価値は無い。

もちろん俺はとっくに学習済みであるが、他の同僚には難しい。

彼ら全員が理解しない限り、関数型言語で開発などできるわけがない。

そのコストと、純粋関数型言語によって得られるメリット差し引きすると、正直何の魅力も感じないのだ。

関数型にかぶれている奴は、プロジェクト全体を見通す力、マクロ的な視野なく、自分の狭い世界だけで騒いでいるだけだ。

ま、厨二病みたいなもんさ。

Permalink |記事への反応(3) | 16:09

このエントリーをはてなブックマークに追加ツイートシェア

2013-12-10

2013年アドベントカレンダーも中盤戦。話題の記事まとめ

ホッテントリ入りした記事

2013-12-01:http://b.hatena.ne.jp/hotentry/20131201
2013-12-02:http://b.hatena.ne.jp/hotentry/20131202
2013-12-03:http://b.hatena.ne.jp/hotentry/20131203
2013-12-04:http://b.hatena.ne.jp/hotentry/20131204

2013-12-05:http://b.hatena.ne.jp/hotentry/20131205
2013-12-06:http://b.hatena.ne.jp/hotentry/20131206
2013-12-07:http://b.hatena.ne.jp/hotentry/20131207
2013-12-08:http://b.hatena.ne.jp/hotentry/20131208
2013-12-09:http://b.hatena.ne.jp/hotentry/20131209

ホットなアドベントカレンダー

エントリ: 熱いアドベントカレンダー
エントリ: 注目のアドベントカレンダー
エントリ: 話題のアドベントカレンダー

ホットなウェブサービス

Permalink |記事への反応(0) | 15:51

このエントリーをはてなブックマークに追加ツイートシェア

2009-09-17

ランド研究所古典公開

ランド研究所というのはアメリカ空軍が設立したシンクタンクで、色々面白い研究をしている。

ゲーム理論とか線形計画法動的計画法帰納推論に正規表現論理回路の縮約法、パケット交換ネットワーク

RAND のレポートが先で、学術論文は後、そんな 1950 年代はアメリカ冷戦パラノイアいっぱい夢いっぱいの時代だった。

彼らがどうも昔のレポートを気まぐれに無料公開しているっぽい。2005年から毎年その数は増えている。半導体スイッチング速度が10ギガの壁にぶちあたり絶賛停滞中のわれらが人類文明だけど、近過去に目を転じると、けっこーすげーじゃん、って気分になれるかもしれない。

試しに

site:www.rand.org/pubs/papers/2008/

とか

site:www.rand.org/pubs/papers/2005/

とか、年号を変えてぐぐってみよう!

追記:

site:www.rand.org/pubs/research_memoranda/2005/

とかもためしてみてね。ペーパーとメモの違いは正直よくわかりません

Permalink |記事への反応(0) | 20:51

このエントリーをはてなブックマークに追加ツイートシェア

 
ログインユーザー登録
ようこそ ゲスト さん
Copyright (C) 2001-2025 hatena. All Rights Reserved.

[8]ページ先頭

©2009-2025 Movatter.jp