1 名前:デフォルトの名無しさん [2022/02/12(土) 22:44:40.76 ID:AqYcq6TN.net] この板はプログラムを作る人のための板です。 あらゆる質問はまず スレ立てるまでもない質問はここで スレにしてください。 【前スレ】 スレ立てるまでもない質問はここで 158匹目 https://mevius.5ch.net/test/read.cgi/tech/1635193843/ 次スレは>>980 が立てること
764 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 00:46:35 ID:zxrqA3v6.net] それはその書き方だと立式できないから便宜的に0に足してるのではないか 〜0に足す場合〜 2x3 = 0 + 2 + 2 + 2 2x0 = 0 〜0を使わない場合〜 2x3 = 2 + 2 + 2 2x0 = (立式できない)
765 名前:デフォルトの名無しさん [2022/04/16(土) 01:01:03.56 ID:cqF7oc/n.net] >>750 こわやこわや… >>751 つまり、0に足すことによってかけ算を再現できるということですね。なぜそうなるのでしょうか 便宜上こういう式になるけど、そもそもなぜ0に足すことによってかけ算を再現できるのか?ということを明らかにしたいのです
766 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 01:56:36.24 ID:2sMe/VPK.net] たまごかけるごはんは?
767 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 02:29:33 ID:Xz14Vl2z.net] C#でStringのデータを2bitずつ変換したいんだがどうすればいい?
768 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 02:36:59 ID:b7VnoUTC.net] utf16かutf8か何か知らないけど、そのエンコードによってstring→byte[]変換する そして上位ビットか下位ビットからかしらないけど、その順序によってbyte[]の先頭から2bitずつ出力する
769 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 03:00:58.82 ID:+A5PZLb9.net] 2bitずつなにに変換するんだよ C#のStringはutf16-leだが
770 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 09:41:40.83 ID:DZ0JuSCF.net] >>749 0は加法について「特別な数」だからです xに0を加算してもxのまま そのような数は0以外ありません
771 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 11:55:41.99 ID:NFUA2B25.net] >>747 > 2を3回足す→何に? これは元の文章がおかしい 2を3個足すにすればいいだけ [] [ここ壊れてます]
773 名前:デフォルトの名無しさん [2022/04/16(土) 13:08:54 ID:cqF7oc/n.net] >>753 卵かけご飯の「かけ」とかけ算の「かけ」って同じなんですかね? 数ってお"かず"なんでしょうか >>757 0が加法について特別な数だということに異論はありませんが、そのこととの因果関係がいまいち分かりません…すみません >>758 「何に?」という疑問はそこにも生まれます。あと、例えば2(が1個)に2を3個足したら2が4個になるだけで、1+3の計算になります。6はどこにも出てきません。 (これが分配法則と関係してるのかも!?)
774 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 13:12:13.65 ID:V2JT8LuH.net] >>758 完全に同意 便宜上、乗算を説明するための近似となる文章表現をしたことでノイズが乗り、そのノイズに拘ってるだけの問題
775 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 13:13:43.73 ID:V2JT8LuH.net] 最初に2があり、これを3つに複製してそれぞれの合計を取る捉えれば何にという疑問は生まれない
776 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 13:17:06.45 ID:ILB4Tr27.net] たまご × 黒豆雑穀米 × ちりめん × 削り節 × オリーブオイル × 焼き海苔 = ?
777 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 14:00:17.80 ID:DZ0JuSCF.net] >>759 いくつに0を足しても元の数と変わらないなら 初期値を0としてそこにxを足せば必ずxになる 初期値として最適ということだね 君が悩んでるのは単なる初期化の問題にすぎない
778 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 14:12:14.76 ID:DdaJRWZW.net] >>759 ほんとに定義が知りたいなら自然数の構成あたりから始めてみては。 議論ふっかけに来てるだけならもう少しうまくやってください
779 名前:デフォルトの名無しさん [2022/04/16(土) 14:35:03.63 ID:cqF7oc/n.net] >>760 説明されるべき「乗算」がなんなのかまず分からないのです。完璧に写経したとしても、何が書いてあるか理解してないのと同じです >>763 0を初期値にするのは結局 x×1 = x を成り立たせるための工夫に過ぎず、まずそもそも x×1 とはなんなのか分かりません >>764 数を定義したものです↓ https://note.com/srtk613/n/na1ca73c47ede ソクラテスみたいに論破したいんじゃなくて、本気で知りたいんです
780 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 14:52:53 ID:DZ0JuSCF.net] >>765 初期化と言ったのはプログラム的にはそれがわかれば十分な問題であって 君のように考えるのはプログラマ的には全く意味がないから 結局数学自体が世界を知るための「工夫」に過ぎないから そこにそれ以上の深い意味なんかないよ
781 名前:蟻人間 mailto:sage [2022/04/16(土) 15:09:22.74 ID:dqBVdpzN.net] 乗算というのは、演算の一種だ。 長さに対する面積。 複数の複数個。 そこにルールがあるのは群論や整数論などで勉強する。 ルールは自然発生するものもあれば、定義から発生するものもある。 一年ROMって群論の熟読をオススメする。
782 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 15:39:16.04 ID:2sMe/VPK.net] >>762 UMA I
783 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 16:07:43.47 ID:HzTWzZVk.net] >>767 あんたが群論を語るなんて、変わったね… QZ
784 名前:蟻人間 mailto:sage [2022/04/16(土) 16:47:25.51 ID:dqBVdpzN.net] >>769 QZとは別人です。
785 名前:デフォルトの名無しさん [2022/04/16(土) 16:49:27.32 ID:cqF7oc/n.net] >>766 ごもっともです >>767 群論の定義を読んでも、なぜこのように定義するのか分かりませんでした。
786 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 18:17:37 ID:bGKDnM+t.net] >>771 これは「なぜ」ではなく こう定義したら無矛盾な体系が作れたというだけ
787 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 18:29:21 ID:HshMhMuC.net] >>768 半分正解 めちゃ美味いのでやってみてね
788 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 20:05:49.86 ID:9kZcaiqY.net] >>772 それはあまりにも乱暴な気がする どこかのサイトで、群の新しい定義を考案・考察しているのを興味深く読んだが、どこか忘れてしまった…
789 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 08:59:23.34 ID:FqAzyeEG.net] >>774 あえて付け加えるとたまたま有用だったということか 無矛盾な体系を作るのは意外と大変
790 名前:デフォルトの名無しさん [2022/04/19(火) 14:35:26.07 ID:93jtOIJR.net] Windows Serverの特定のフォルダ配下の未圧縮ファイルを日次で自動圧縮(zip化)させるシンプルなロジックを探しているのですが、どなたか偉い人教えろください。
791 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 14:37:59.52 ID:4rLwBLhm.net] 日次ならタスクスケジューラに、移動→圧縮→元ファイル削除、のバッチファイル入れておけばいい
792 名前:デフォルトの名無しさん [2022/04/19(火) 19:41:32 ID:UxS+dXZ7.net] WPFの質問です XAML側に コンボボックス(Itemsource = "{Binding Path = bind.list1}") データグリッド(Itemsource = "{Binding Path = bind.table}") があり、 C#側に、 class bind { List list1 {get;set;} Datatable table {get;set;} } があります。 ?C#側のWindowのコンストラクタ内で、bindのインスタンスを生成した後、 list1にデータを与えて、Datacontext = this;します ?その後、ボタンのクリックイベントで、 tableにデータを与えます。 ?の後に、WPFの画面を見ても、DataGridに反映されていません。助けてください。 ちなみに?のDatacontext = this;を消して、?に持ってくると、DataGridに反映されます。 ボタンは何度も押されるのでtableの中身が書き換わる度にDataGridが更新されるようにしたいです
793 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 19:45:43.22 ID:4CQfli8Q.net] datatableにINotifyPropertyChangedを実装
794 名前:デフォルトの名無しさん [2022/04/20(水) 19:50:57.57 ID:YxFzzgau.net] >>778 です ReactivePropertyを使って実装できました! ありがとうございます また追加で質問します やりたいこと ボタンを押した時、既に表示されているDataGridのItemSourceであるDataTableの中身をforループですべて確認して、 指定した条件に当てはまれば、行の色を変更したい 試したこと DataGridRowのBackgroundをインデックス[0],[1],[2],[3],[5]を指定し色を変えたが、スクロールすると表示がおかしくなる 1枚目:正常に指定した場所に設定出来ている 2枚目:下にスクロールすると、インデックスで指定してないところにまで色がついている 3枚目:もう一度上に戻すと、正常に設定できてたはずの色が変になっている https://i.imgur.com/GBvPRWR.jpg https://i.imgur.com/TpxgjUU.jpg https://i.imgur.com/iUbU91j.jpg ↑の原因は何かわかりますでしょうか あと「やりたいこと」を実装するにはどんな方法がいいでしょうか
795 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 17:54:20 ID:UEWB7PkB.net] 原因は知らないがStyle.TriggersのDataTriggerみたいなxaml書けばトラブルことは普通ない
796 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 09:05:52.40 ID:foCOneKD.net] よろしくお願いします。 縦4、横4のマトリクスのマスと2進法と16進法でデータの大きさを考えると 2進法では、2の4乗で16ビットで2バイト 16進法では、16の4乗で65536ビットで8192バイトで 比較すると16進法なら4096倍のデータ容量の違いが出ると そう考えていいんでしょうか?
797 名前:デフォルトの名無しさん [2022/04/22(金) 09:44:17.04 ID:mLNKXQf1.net] >>782 天才やん
798 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 09:50:07.70 ID:ix6iVD/8.net] node.jsでhttp.requestを使ってリクエスト飛ばしてるんだけど、どんなurlになっているかを調べる方法ある? pathとかhost,portを別々で定義してるけど、自分の想定と違うurlになっているようでbodyがとれない
799 名前:デフォルトの名無しさん [2022/04/22(金) 10:27:18.26 ID:npLQ4LN9.net] >>782 読み手が混乱する。 壮大な勘違いをしているでしょう。
800 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 11:02:52.92 ID:sw1ZSFqm.net] 入力値が5個あります 出力値が2個あります 入力値から出力値が計算されるのですが、具体的な関数が不明です 入力値から出力値を推定するにはAIみたいなのを作ればいいのかなと思ったのですが、 AIのことを調べても何かを分類するものばかり出てきて、 推定値を出力するようなものが見当たりません 何を調べればいいか、もしくはざっくりどのように記述すればいいか教えてください
801 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 11:17:38.40 ID:FVe0YoAk.net] >>786 深層学習 回帰問題
802 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 11:47:18 ID:lpUe/ai7.net] >>787 やってみたのですが、線形回帰ではないので誤差が大きくなりました 実際の関数は各入力値に対して折れ線グラフのような形になっています
803 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 16:43:41 ID:ZKSexgug.net] Pythonで簡単な分類AI作るとき、 model=Sequential() model.add(Dense(ニューロンの数,input_dim=入力の数)) model.add(Activation('relu')) model.add(Dense(出力の数)) model.add(Activation('softmax')) みたいにするけど、ニューロンの数ってどうやって決めるの?適当? あと多段にしたほうがいいかどうかってどう判断する?
804 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 17:29:41.60 ID:p48HHJp5.net] >>784 request.href
805 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 19:02:10.40 ID:FVe0YoAk.net] >>789 理論的にやるとしたらとても大変 自動化ツールもあることはある ハイパーパラメータ 自動
806 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 19:3
] [ここ壊れてます]
807 名前:2:14.89 ID:OqR7zFyk.net mailto: >>791 モデルが決定したら自動でニューロンの数を試行錯誤するツールがあるということみたいね モデル自体の決定は自分でするしかないのかな 遺伝的アルゴリズムというのがその話なのかどうかよくわからん 結局よくわからんから最終的に試行錯誤と経験しかない感じがする [] [ここ壊れてます]
808 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 19:37:58.80 ID:Faoytok+.net] これはうまく行かなかった という報告は普通はないからね 新しいデータセットに対しては 0から取り組むしかない
809 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 09:04:08 ID:En+rC0cd.net] VSCodeでtensorflowをGPU上で使いたいです cuDNNのインストールまではしたのですが、 2022-04-23 09:02:09.533169: I tensorflow/core/platform/cpu_feature_guard.cc:151] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX AVX2 To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags. 2022-04-23 09:02:09.915577: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1525] Created device /job:localhost/replica:0/task:0/device:GPU:0 with 2155 MB memory: -> device: 0, name: NVIDIA GeForce GTX 1650, pci bus id: 0000:01:00.0, compute capability: 7.5 tf.Tensor(b'Hello, TensorFlow2!', shape=(), dtype=string) というエラーが出てしまいます tensorflowをリビルドしろと書いてあるのですが、どのようにすればいいかわからないので教えてください
810 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 11:05:21.62 ID:3rPVUp1y.net] >>794 それ INFO ではないか?
811 名前:デフォルトの名無しさん [2022/04/23(土) 12:08:42.17 ID:lyaCJMz0.net] To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags. with the appropriate compiler flags. の通り、コンパイルフラグを変更しないといけません man, --help or -h などでコンパイルフラグを調べてください
812 名前:デフォルトの名無しさん [2022/04/23(土) 12:13:34.13 ID:lyaCJMz0.net] oneAPI Deep Neural Network Library (oneDNN)が operations: AVX AVX2を使えなくてダメだってさ tensorflow/core/platform/cpu_feature_guard.cc を見つけてきて、151行目のエラー前後を読まないといけないね oneAPI Deep Neural Network Library (oneDNN)が operations: AVX AVX2 を有効にするためのフラグがあるんでしょ?
813 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 12:39:36.63 ID:SMxHUlYu.net] ええ、だからどういうフラグかわからないから教えてと言ってるんですが 英語くらいわかります
814 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 12:50:01.46 ID:IxpxhG25.net] 英語くらいはわかりますが調べようとは思いません。
815 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 13:01:25.64 ID:kgw0Ucei.net] 英語くらいわかります? ERRORとINFOの区別すら出来ないのに?
816 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 13:06:56.32 ID:lzZBvk7o.net] >>797 >operations: AVX AVX2 >を有効にするためのフラグがあるんでしょ? その2つの拡張命令セットを使う最適化がされてるよっていうメッセージだぞ 質問する側も回答する側も英語読めてないやんw
817 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 13:24:36 ID:UUEa7EYi.net] あるならフラグ書けやボケ
818 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 13:40:51.41 ID:9S6ACYtr.net] 当たり前だか指定する命令セットや使うコンパイラによってオプションは違う 本当にソースからビルドしたいならまずはマニュアル読め
819 名前:デフォルトの名無しさん [2022/04/23(土) 13:41:17.19 ID:lyaCJMz0.net] >>794 > tensorflowをリビルドしろと書いてあるのですが、どのようにすればいいかわからないので教えてください >>798 > ええ、だからどういうフラグかわからないから教えてと言ってるんですが 読み返してよくよく考えてみた >>794 の使っているバイナリでは元々 "operations: AVX AVX2" を有効にしてビルドしてあった でも >>794 の環境は提供されているバイナリをそのまま使えないので、 別の命令でAVX, AVX命令と互換性のある命令を使う必要があり、 適切なフラグをセットしてバイナリをリビルドする必要がある ということで適切なフラグをセットする対応策はドキュメントに書いてあるでしょうから、 英語読める>>798 は英語頑張って読んでね
820 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 13:42:37.94 ID:Phfimq1z.net] エラーメッセージはどうでもいいから見てないけど gpu使いたい場合は一番重要なのはバージョン cuDNNとか「インストールした」じゃなくて、どのバージョンをインストールしたかってとこが重要 tensorflowのバージョンによってもどれサポートするかが決まってるから ぐぐってバージョンの組み合わせを見つけてからダウンロード・インストールすれば動くし 逆に組み合わせ調べないと動かない
821 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 13:44:11.90 ID:xoifOiAo.net] tensorflow/core/platform/cpu_feature_guard.cc:151 に書いてあるんじゃないの でも最初のIがinfoの意味ならコンパイルはできてるけど最適化されてないよって意味じゃない
822 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 14:31:11.05 ID:xjMNFyYI.net] DeepLで翻訳 このTensorFlowバイナリは、oneAPI Deep Neural Network Library(oneDNN)により、パフォーマンスが重要な処理において、以下のCPU命令を使用するように最適化されています。 AVX AVX2 その他の処理でこれらを有効にするには、適切なコンパイラフラグを使用してTensorFlowを再構築してください。 最初の人が言ってるようにINFOじゃん パフォーマンスが重要な処理でしかAVX命令を使ってませんそれ以外で使いたければTensorFlowを再コンパイルしろと読める
823 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 14:55:53.21 ID:BQs7W50I.net] >>807 ソース見たけどその解釈であってるね これはメッセージがまずくて意図が伝わらなくなってるのでissueあげたほうがよさそう 昔のメッセージはもっとわかりやすいやつになってた
824 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 15:02:25.58 ID:5VyciCZr.net] 日本語わかってもカタコトの日本語だと意味不明というのと同じようなもんだな
825 名前:デフォルトの名無しさん [2022/04/23(土) 15:07:04.67 ID:lyaCJMz0.net] >>807 そう、メッセージのみで考えるとINFO tensorflow のみで考えてみた場合ね でも、python とかで拡張ライブラリとしてtensorflow を使っている場合、 pythonが例外を投げてこのINFOを出す場合もある。 だから、メッセージ自体はINFOでも、外部ライブラリが 例外としている場合利用者にとってはエラーに準ずるの。 なので、解決方法を知っておくのは重要なんだけど 質問者は回答を知ってもスレには還元してくれないでしょうね
826 名前:デフォルトの名無しさん [2022/04/23(土) 15:11:19.66 ID:lyaCJMz0.net] これで試してみ https://stackoverflow.com/questions/47068709/your-cpu-supports-instructions-that-this-tensorflow-binary-was-not-compiled-to-u What should you do? If you have a GPU, you shouldn't care about AVX support, because most expensive ops will be dispatched on a GPU device (unless explicitly set not to). In this case, you can simply ignore this warning by # Just disables the warning, doesn't take advantage of AVX/FMA to run faster import os os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' ... or by setting export TF_CPP_MIN_LOG_LEVEL=2 if you're on Unix. Tensorflow is working fine anyway, but you won't see these annoying warnings.
827 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 15:31:54.72 ID:1GEAVNzE.net] 試すも何も、メッセージ出なくしてるだけじゃん
828 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 17:01:33
] [ここ壊れてます]
829 名前:.78 ID:1KmqOdjM.net mailto: >>810 何言ってんのw [] [ここ壊れてます]
830 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 05:50:47.79 ID:EQQXvwF0.net] C#で600万の要素のあるint型配列に{0、300、150、100、80,・・・(600万まで続く)}って感じで数字が格納されていて、 そして、1〜6,000,000の間で乱数を出したいのですが、乱数とはいっても↑の配列に入っている割合でそれぞれの数が出るようにしたいのですが、いい方法ないでしょうか?
831 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 09:02:39.39 ID:zr61OZd6.net] 割合関係なく普通の乱数発生させる。範囲は0〜配列の要素数-1 そして得られた乱数をインデックスとしてその配列の要素を結果を返す
832 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 09:50:02.21 ID:35viiTPD.net] 配列に入ってる割合はどこ行っちゃったんでしょうか ちゃんと日本語読んでくださいよ
833 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 10:00:05.25 ID:zr61OZd6.net] 配列に1が30個入ってたら30/要素数の割合で1を出したいって意味かと思ったら違うのか 0、300、150、100、80・・・という割合の意味が分からないから俺には無理だ
834 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 10:03:30.75 ID:qAz5Hesd.net] こんな感じでいける? var numbers = new int[] { 0, 300, 150, 100, 80 }; var sums = new int[numbers.Length]; for (int i = 0, sum = 0; i < numbers.Length; i++) sums[i] = (sum += numbers[i]); int v = new Random().Next(sums[sums.Length - 1]) + 1; int ok = sums.Length - 1, ng = -1; while (ok - ng > 1) { int mid = (ok + ng) / 2; if (sums[mid] >= v) ok = mid; else ng = mid; } Console.WriteLine(ok + 1);
835 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 10:05:10.38 ID:zkziYODi.net] ちょっと何やってんのかわからないです
836 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 10:05:41.98 ID:dUeEO36o.net] >↑の配列に入っている割合で 多分これの解釈が違っているんだと思う。もう一回他人にわかる言葉で説明して。
837 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 10:14:36 ID:zkziYODi.net] 機械学習の質問です。 インプットに64個のフラグがあります。 正解のアウトプットも64個のフラグになっています。 このとき配列に0または1を入れて規格化して計算すれば正解は得られるのですが、 たかがビットなのに配列を用意して、答えのビットも配列にばらけているというのがどうも頭悪い感じがします。 もっと賢くて計算が速くなる手法があれば教えてください。
838 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 10:16:58 ID:L55ZvYuh.net] >>815 の回答を見て天才かよと思ったら >>816 の反応が馬鹿すぎて絶望した これIQが違いすぎて会話が成立しないやつだ 要はランダムにソートしたのと同じ結果が欲しいんじゃないの 違うなら値を6個くらいに絞って実例を3つくらい挙げて要件を説明しろ
839 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 10:18:09 ID:qAz5Hesd.net] { 0, 300, 150, 100, 80 }の意味が ・1が 0/630 の確率で出る ・2が 300/630 の確率で出る ・3が 150/630 の確率で出る ・4が 100/630 の確率で出る ・5が 80/630 の確率で出る (630は、すべての要素を足した数) と解釈したんだが、違うのかねぇ
840 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 10:19:01 ID:xiKS/a+r.net] 基本は 確率配列をすべて足して[合計]を作る(600万個あったらintの範囲を超えるかもしれないねえ) 0〜[合計]-1までの[乱数]を発生 [乱数]から確率配列を頭から順に引いていく 0以下になったらそこのインデックスが答え
841 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 10:20:02 ID:0t6sJ5jz.net] じゃあもうそれが正解ということでいいです ありがとうございました
842 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 10:36:39.30 ID:rPlVOsWU.net] Reservoir Samplingでググれ
843 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 13:57:43.06 ID:XK347NDs.net] 不遜メソッド凄ぇ効くなぁw
844 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 14:06:27.41 ID:vTJ9qYns.net] 後釣り宣言かな?
845 名前:814 mailto:sage [2022/04/24(日) 14:38:00.55 ID:/ngwo9iT.net] >>815 >>817-818 >>822-824 ありがとうございます。説明がわかりづらかったかもしれません。 ある一つの箱の中に1から600万までの数字の書かれた玉が入っていて、 1の書かれた玉が300個、2の書かれた玉が150個、3の書かれた玉が100個・・・という風にそれぞれの個数が異なって入っています この箱の中から玉を一個だけ無作為に抽出したいといった感じです。 とりあえず試してみます あと途中でレスしてるのは自分じゃないです
846 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 15:07:02 ID:rPlVOsWU.net] それはWeighted Random Samplingという問題で >>824 , >>818 (二分探索で高速化), >>826 (ワンパス) で解けます
847 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 17:54:05 ID:4gvmDiyI.net] 一度抽出した玉を二度抽出することがあるのか否かを明確にしないとダメよ 復元抽出なのか非復元抽出なのかでアルゴリズムが変わる たぶん非復元だろうけど 文だけでは相手にどういう点が伝わっていないかが分からない だから入力と出力を明示したサンプルが大事
848 名前:デフォルトの名無しさん [2022/04/24(日) 18:16:47 ID:awQxKQ/u.net] 馬鹿そうだからそこまで考えていないだろ
849 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 20:15:20.28 ID:rcB2xidb.net] >>831 そんなに気にするような話か? 取り出した玉を戻さないならそのインデックスの数値を一つ減らすだけだろ 当然全体の数も減らす必要はあるけど
850 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 20:29:36.65 ID:pp8TduXr.net] >>833 違いに気づかないままアルゴリズムを取り違えれば得られる結果セットが変わってくるのに気にしないのか? しかも「インデックスの数値を一つ引くだけ」では説明しきれていないし処理効率も最適でない(最適なアルゴリズムはもう紹介されている) 母数に対して施行数が非常に小さいという前提があって初めて近似的に無視できる話
851 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 20:30:08.40 ID:xiKS/a+r.net] >>833 818のテーブルを毎回作り直すと高速化の意味がなくなる
852 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 20:31:52.25 ID:dUeEO36o.net] >>814 は曖昧なところもあるがさすがに確率が変わるようなことを想定しているようには読めないが。
853 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 21:02:38.15 ID:rcB2xidb.net] >>834-835 > 違いに気づかないままアルゴリズムを取り違えれば得られる結果セットが変わってくるのに気にしないのか? だから仕様は本人が考えればいいだけ どっちの仕様でも実装はたいして難しくないって話 > 818のテーブルを毎回作り直すと高速化の意味がなくなる 作り直さなくてもいいだろ 対象のインデックスはわかってるんだからそこと全体の総和から各々1引くだけだぞ
854 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 21:03:04.73 ID:d0rzDdet.net] いつまでやってんだ暇人ども もう解決済み
855 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 21:07:37.79 ID:xiKS/a+r.net] >>837 そのインデックスより上のインデックスを全部-1する必要があるね 簡単だけど忘れるとめんどくさい 確率がらみはこういうミスがあっても普通に動いてるように見えるからテストがめんどくさいんだよな
856 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 21:19:49.12 ID:BCv1Ky71.net] 使用済みフラグを別に用意しときゃいいだろ
857 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 21:36:04.21 ID:rcB2xidb.net] >>839 ああ、そこまでの総和を入れてるのか 確かにそうだな
858 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 21:37:58.01 ID:JuSG4+pD.net] 使用済みフラグを用意しても時間とともにどんどん性能劣化していくぞ スマートなΟ(n)のアルゴリズムが提示されてるのにあえて我流にこだわるのは、自分の案を否定された気がして躍起になってるだけ
859 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 22:08:35.82 ID:4t9q0rYH.net] おまえの案も誰かが考えたものをパクってるだけだけどな
860 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 22:13:30.00 ID:c4nzsUiP.net] >>842 weightedなreservoir samplingはO(n)じゃないけどね
861 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 01:10:18.24 ID:kHuYfEjp.net] 時間とともに劣化しないの作るのも余裕だろ
862 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 01:20:13.96 ID:B7syBDSL.net] なんで鮮度の話してんの お前ら寿司でも握ってるのか?
863 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 02:41:12 ID:ojWTR2Ur.net] 皆さんってやっぱり競技プログラミングできないのコンプレックスなんですか?
864 名前:デフォルトの名無しさん [2022/04/25(月) 06:17:11.14 ID:uuG1anaI.net] BufferedInputStream bis = new BufferedInputStream(new FileInputStream(inputFilePath)); byte[] data = new byte[1024]; bis.read(data, 0, 4); //4バイト読み込み ByteBuffer tmpBuffer = ByteBuffer.wrap(data);//dataの中身が正しく[ABCD]の4バイトと表示される bis.read(data, 0, 2); //2バイト読み込み tmpBuffer = ByteBuffer.wrap(data);//dataの中身が[EFCD]の4バイトと表示される バイナリデータを最初4バイト読み込んだ後に、2バイトの読み込みしてます。 最後のdataの中身は2バイトだけ読み込んだだけなので[EF]だと思ったのに、なぜ4バイト([CD]も表示される)もあるのでしょうか?