インターフェース開発にアルゴリズムは必要ないなんて誰が言ったのでしょうか?

インターフェース開発にアルゴリズムは必要ないなんて誰が言ったのでしょうか?

[[146153]]

アルゴリズムとは何ですか?簡単に言えば、問題を解決するための手順がアルゴリズムです。

ファーストコンタクトアルゴリズム

大学で初めて C 言語を学び始めたとき、私は学んだ知識ポイントごとに演習をしていました。演習の中にはソートを含むものもありました。実際、私は当時それがアルゴリズムと呼ばれていることを知りませんでした。「データ構造とアルゴリズム」という本を読んで初めて、それがアルゴリズムと呼ばれていることを知りました。

実際、当時の私はこれらのアルゴリズムが何に使われるのか知りませんでした。ただ、ルームメイトに勧められた「データ構造とアルゴリズム」という本も含め、プログラミングを学ぶにはそれらを習得する必要があると知っていました。私はソフトウェア専攻ではなかったので、プログラミングは独学で学びました。何も理解していないのだから、一歩ずつ学んでいけばいいのです。

ソートに加えて、キュー、スタック、バイナリ ツリーなどの概念も学びました。演習以外では、基本的にこれらを使用することはありませんでした。

***インタビュー

ルームメイトが言ったように、面接ではアルゴリズムのテストが必ず行われます。入社後にアルゴリズムを使う必要がなくなったとしても、習得する必要があります。そうでなければ合格するチャンスすらありません。幸運なことに、私は大学時代にアルゴリズムに関する質問をいくつか受けたことがあったので、面接官が尋ねたバブルソートやバイナリサーチなどのアルゴリズムに答えることができました。

当時の私にとって、アルゴリズムは役に立たない理論的な知識に過ぎず、就職のためだけに学んでいました。

仕事に参加した後

働き始めてから、最もよく使われていたアルゴリズムは、ソート、検索、キュー制御でした。他のものは全く役に立たないものでした。当時、私はクライアント側で仕事をしていると感じており、ビジネス自体にはアルゴリズムは必要ありませんでした。私の仕事のほとんどは、インターフェースとインタラクションを扱うことでした。また、アルゴリズムは退屈すぎると感じたため、学習を続けませんでした。時間が経つにつれて、よく使われるいくつかのアルゴリズムを除いて、他のアルゴリズムの概念をほとんど忘れてしまいました。

アルゴリズムに対する態度の変化

たまたま、カレンダー関連の機能を実行する必要がありました。当時は、太陰暦と太陽暦の変換や二十四節気に関する計算を解く必要がありました。私はこれまでこれらのことを学んだことがなく、やり方もわからなかったので、急いでインターネットで既成のコードを見つけました。その後、日付変換エラーなど、多くの問題が見つかりました。この時初めて、私は太陰暦と二十四節気の計算原理を学ぼうと決心し、これらの問題を解決することができました。

この過程で、人はまず自然法則の素晴らしさに驚嘆します。閏月、時刻、天干、地干などはすべて数学から生まれたものです。そして私は、伝統的な暦をこれほど深く研究できた古代人の力に驚嘆しました。研究のプロセスは楽しさに満ちています。問題を解決すると満足感と達成感も得られます。アルゴリズムを研究することも興味深いことだとわかりました。

インターフェース開発にもアルゴリズムがある

クライアント開発にはアルゴリズムは関係ないと考える人もいます。データを取得したら、インターフェースを構築するだけで終わりです。インターフェースを作るのがそんなに難しいことでしょうか?最初はそう思っていたのですが、後になってインターフェース開発にも独自の特殊性があり、アルゴリズムを使用する必要があることがわかりました。

以前 Warcraft をプレイしたとき、とても不思議に思いました。なぜ歩いているときに障害物を自動的に避けることができるのでしょうか? どうやってそれができるのでしょうか?そこで、自動経路探索デモを作ろうと思いました。当時、私はAパスファインディングが何なのか知りませんでした。ネットで検索したところ、Aというパスファインディングアルゴリズムがあることを知りました。そして、そのアルゴリズムのアイデアに従って自分で実装してみたところ、とても興味深いと感じました。どんな障害物が設定されていても、実行可能なパスがあれば、それを見つけ、それが最短パスになります。

以前、私たちは連射機能を開発しました。連射では、さまざまな再生速度、画面を回転したときの遷移、メモリ使用量、連射ビューの再利用の問題を考慮する必要があります。これらはアルゴリズムです。これらのアルゴリズムを解くことができない場合は、一定速度でしか再生できません。回転プロセス中に遷移がなくなり、再生が中断され、メモリ使用量が急増する集中砲火のようなインターフェイスが発生する可能性があります。

アルゴリズムに関する見解

アルゴリズムの学習は興味に基づいて行う必要があります。アルゴリズムを習得するためだけに学習すると、飽きてしまい、学習したことを忘れてしまう可能性が高くなります。私は最近、王小華の著書『アルゴリズムの楽しさ』のサンプル章を読みましたが、アルゴリズムの定義とアルゴリズムの問​​題への対処方法に同意します。私は常に興味と応用の原則を持ってアルゴリズムを研究しています。多くのアルゴリズムを習得しているわけではなく、高度なアルゴリズムもありませんが、私自身と私のビジネスを満足させるには十分です。

<<:  Java 仮想マシンの詳細な説明 ---- GC アルゴリズムとタイプ

>>:  ショアのアルゴリズム: RSA 暗号解読の「不滅の神話」

ブログ    
ブログ    
ブログ    

推薦する

AIがAIに勝つ: Googleの研究チームがGPT-4を使ってAI-Guardianのレビューシステムを打ち破る

8月2日、Googleの研究チームはOpenAIのGPT-4を使用して他のAIモデルのセキュリティ保...

6つの新しいことに焦点を当て、新境地を開拓し、プロジェクトは変革を促進するための王様です。2020年中国(太原)人工知能会議が開催されました

2002年から2012年までの石炭の「黄金の10年」を経験した後、「古い工業基地」である山西省太原市...

...

マルチモーダルな大型モデルの幻覚が 30% 減少しました。 USTCらが初の錯視補正フレームワーク「Woodpecker」を提案

視覚幻覚は、マルチモーダル大規模言語モデル (MLLM) でよく見られる典型的な問題です。簡単に言え...

顔認識: 顔認識攻撃手法と偽装防止手法の種類

コンピュータサイエンスと電子技術の急速な発展により、顔認証は現在、市場シェアで指紋に次ぐ世界第2位の...

Pythonを知らない人は、人工知能時代の新たな「文盲」になるだろう

各段階で、「文盲」の定義は異なります。以前は、漢字を知らないことが文盲とみなされ、後には、英語を話せ...

速報、AI専門家のJing Kun氏がBaiduを退社! CIOの李英がXiaoduのCEOに就任

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

AISpeechの趙恒毅氏:国内のスマート音声産業は幅広い発展の見通しがある

[51CTO.comからのオリジナル記事] 人工知能の急速な発展に伴い、音声インタラクションは人工知...

わずか4つの例から、DeepMindの800億のモデルは本当に学習した

知能の鍵となるのは、簡単な指示を与えられて新しいタスクを実行する方法を素早く学習する能力です。たとえ...

スマートネットワークとスマート製造を備えた新エネルギーインテリジェントコネクテッドビークルがデジタル変革への道を開く

重慶には「マスター、急いでいます!」というスピードがあります。シートベルトを締めると、地面に近いとこ...

調査によると、ChatGPTはプログラミングの質問に答える際に50%以上のエラー率があることが判明

米パデュー大学の調査によると、OpenAIが開発した人工知能チャットボット「ChatGPT」は、ソフ...

「ブラックミラー」が登場!ボストン・ダイナミクスのロボット犬がニューヨーク市警に加わり、街中を飛び回って法を執行する

私たちはサイバーパンクの世界に生きているのでしょうか?最近、「ブラックミラー」のようなシーンが登場し...

AI面接官はこんなに簡単に騙される!本棚の写真を動画の背景として使用すると好感度が 15% 上昇します

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

AIデザイナー「ルバン」のコア技術が明らかに:1秒間に8,000枚のポスターをデザインする方法とは?

[[228895]] AI は囲碁のゲームを変え、今度はポスターのデザインを変えています。アリババ...