アルゴリズムは生命から生まれ、生命の中で使用されます

序文

この記事では、アルゴリズムとコードの関係については説明しません(つまり、アルゴリズムドライグッズはありません)。私の個人的なつながりとアルゴリズムと生活に対する認識についてのみ説明します。ただし、面接担当者がインタビュー中にアルゴリズムについて自分自身の理解を求めた場合それでも役立ちます。
刻々と変化するこの時代に生きる私は、この世界の多くのものが不溶性であり、そのバランスが最も難しい問題だと感じています。

人生から

お元気ですか

古典的な貪欲なアルゴリズムライフの例:
1元、2元、5元、10元、20元、50元、100元の紙幣があり、枚数はc1、c2、c5、c10、 c20、c50、c100。この金額を使ってK元を支払います。最低料金はいくつですか。
問題の目的:
最小の紙幣を使用してK元を支払う
解決策:
人生では、最初に最大の額面金額で支払う必要があることは明らかであり、十分でない場合は、より小さい額面金額を引き続き使用します。 、そして残りを補うために1元を使用してください。
アルゴリズムのアイデア:非常に簡単です。現在のスキームの最適なソリューションを選択するためにあらゆる決定が行われます。

バックトラッキングアルゴリズム

2つの古典的なバックトラックアルゴリズム映画:
2004年に非常に有名な映画「バタフライエフェクト」がリリースされました。主人公は、目標を達成するために、バックトラックの方法で子供時代に戻っており、道路の重要な分岐点にいることを伝えています。決定する。
2014年に公開された映画「エッジオブトゥモロー」もあります。また、世界を救うために時間をさかのぼり、時間をかけ続けて「上手になる」主人公でもあります。非常に巧みで、人々は苦痛を感じ、ついに成功します。
アルゴリズムの考え方:実際、これは本質的に一種の暴力的な列挙であり、すべての解決策を試してみてください。成功するか、慈悲深くなります。(暴力的な列挙との違いは、間違った方法を減らすために、場合によってはバックトラックがプルーニングされる可能性があることです)

動的アルゴリズム

古典的な動的プログラミングの場合:(0-1バックパックの問題)
異なる重量の分割できないアイテムのグループの場合、バックパックにパックするアイテムを選択する必要があります。バックパックの最大重量制限を満たすという前提の下で、バックパック内のアイテムの総重量は最大です価値は何ですか?
この問題の具体的な解決策についてはここでは説明しませんが、興味があれば自分でBaiduを作成できます。ここでは、動的な考え方の結論を直接示します。
アルゴリズムの考え方:グローバルな視点を持ってください。目標は最終目標を達成することだけです。すべての動きは効率的で期待されている必要があります。

生活のために

人々はしばしば自分の生活の中で多くの選択肢を持っているので、どのように選ぶのですか?
現実の世界では後悔の薬はありません。振り返って考えると、道の中で最適な分岐点を見つけることは不可能です。
怠惰になり、現在自分に最適なパスを選択してください。これは貪欲な考え方です。
ルールについては、神の視点から、私たちは私たちの最終的な目標が何であるかを知っています。また、さまざまな道路の選択の結果と、この目標を達成するために自分自身の長期的な経路を計画する方法も知っていますが、ほとんどの場合、すべてがダウンしているために目標を達成できません。途中。

解決策がない場合、本当に解決策はありませんか?

x 2 = -1の問題は確かに中学校(実数フィールド)では解決できない問題ですが、別の観点からは高校(言い換えフィールド)で解決される問題です。おそらく、解決できない問題自体が完全に解決できないわけではありません。時にはボートは橋の端までまっすぐではなく、山の前への道がないかもしれませんが、苦い無限の海のために、あなたが戻ったときに海岸がなければなりません!

職場での一般的な解決できないケース

メンターが私に機能を割り当てましたが、現在の能力では機能の1つを達成できないことがわかりました。
これは解決できない問題かもしれませんが、実際にはそれほど単純ではありません。
まず、遡及的思考を使用して、可能な限りすべてのソリューションのアイデアを試し、最後に、本当にそれができないことを確認する必要があります。その後、コミュニケーションを通じて、この機能をあきらめるために貪欲な思考を選択することが少なくとも現在の最適な解決策であることがわかりました。将来改善する私の能力については、この「解決できない」問題を振り返ってみます。

人生の一般的な解決できないケース

男性と女性の関係で最も一般的な解決できないトピックの1つは、私があなた好きではないことです。私がそれを好きではない場合、私はそれが好きではありません。この種の問題遭遇する理由はありません。
一部の人にとっての解決策は、私が確信していないということです。私はすべての可能な希望を把握する必要があります。ライブ、私はそれをすべて試しました、本当にこの方法で解決策を見つけることができますか?必ずしもそうではありませんが、実数ドメインのx 2 = -1 と同じように、「舐める犬」になる可能性があります。
他の人の解決策は、解決策がない場合はあきらめることですが、多くの場合、これは確かに現在の最適な解決策だと言わざるを得ません。
そして、一部の人々は未解決の本質を発見し、未解決の問題を解決するためにドレッシングを変更することによって新しいレベルに入ります。

結論

これらの3つのアルゴリズムのアイデアには、人生に長所と短所があります。
遡及的思考は、あきらめない心の状態を体現しています。肯定的な面では、私は最善を尽くして明確な良心を持っていますが、未解決の問題はこの種の思考を使用して問題に対処します。それは、妻を失い、崩壊する肉体的および精神的な疲労だけです。貪欲な考えは、時間をかけて損失を止めるという一種の精神的な状態を反映しています。この質問は解決できないので、直接あきらめます。少なくとも、この選択は現在の自分のためです。それは最良の解決策であると言われていますが、この種の思考は非常に低いビジョンにつながり、もはやグローバルな見方がありません。どうすれば私の最終的な目標の達成について話すことができますか?ダイナミックな思考は間違いなく最良のグローバルな見方の精神状態を反映しています計画を選択しますが、100マイルを移動する人は90歳であり、多くの人は90歳に到達できないため、ほとんどの人はそれを選択しません。最終的な結果は、貪欲な思考の結果ほどよくないでしょう。
おそらく、どのアルゴリズムを選択するかは解決できない問題になっているかもしれませんが、序文で述べたように、世界の多くの問題は解決できず、バランスが最も難しい問題です。解決策なしに問題を解決することはありません。結局のところ、いまだに生命が最も重要であるため、人生の観点から考えると、問題を考えずに解決せずに問題を解決するのは最善の解決策かもしれません。

おすすめ

転載: blog.csdn.net/asd0356/article/details/108690225