1 名前:デフォルトの名無しさん mailto:sage [2019/11/08(金) 21:03:36.68 ID:q9/Fdf+e.net] 質問する前にGoogleで検索しましょう。 www.google.com/ プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。 ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。 Javascript は Web 制作板、CGI は Web プログラミング板へ。 業界談義、愚痴はプログラマ板へどうぞ。 ゲーム関係の話題はゲーム製作板へどうぞ。 ネタ、板とは関係の無い話題はご遠慮ください。 前スレ スレ立てるまでもない質問はここで 149匹目 https://mevius.5ch.net/test/read.cgi/tech/1529199088/ 前々スレ スレ立てるまでもない質問はここで 151匹目 https://mevius.5ch.net/test/read.cgi/tech/1541239698/ 注意「〜と〜はどっちの方が○いですか?」みたいなのは このスレの粘着荒らしですので無視してください
52 名前: mailto:sage [2019/11/18(月) 21:10:23.13 ID:HREH5Xa1.net] >>49 あなた、何言っているかさっぱりわかりませんよ…わざとやっているの?
53 名前:デフォルトの名無しさん [2019/11/19(火) 13:33:47.60 ID:+CxpMEaM.net] >>49 がAIのレスならなかなか
54 名前:デフォルトの名無しさん mailto:sage [2019/11/19(火) 17:16:17.23 ID:AxZiiVQ/.net] 医療分野の専門家のはしくれなんだけど、 プログラムの勉強して医療分野の検査ソフト作った。 広く利用してほしいから、学会発表のあと無料でソフトアップしようと思ってるんだけど、 こういうときってソースコードさらすのが礼儀なの? 我ながら拙いコードだし、コメントも日本語であまり丁寧に書いてないから、 できればコード見られたくない・・・。
55 名前:デフォルトの名無しさん mailto:sage [2019/11/19(火) 17:17:24.92 ID:06RgLvqj.net] >>52 マ板で聞けよ この板はそういう話をするところじゃねーよ
56 名前:デフォルトの名無しさん mailto:sage [2019/11/19(火) 17:43:58.87 ID:JHNr41O8.net] >>52 GitHubにアップロード
57 名前:デフォルトの名無しさん mailto:sage [2019/11/19(火) 22:09:51.01 ID:1Z/2kWAD.net] >>52 将来有料で売りたいとかソースコードを公開しない理由がないなら公開しとけ。 今の時代ソースコードが公開されてないものは怖くて使われない それが有用なソフトなら誰かが改良してくれるだろう 医療分野の専門家はプログラムの専門家じゃない。 プログラムはプログラムの専門家に任せればいい。 プログラムの専門家などたくさんいる。 医療分野の専門家でないと作れないことに価値がある。 その価値を埋もれさせてはいけない。
58 名前:デフォルトの名無しさん mailto:sage [2019/11/20(水) 18:44:20.11 ID:kJY8NyuS.net] 機械学習でデータ増強をすると、していないときよりlossの下がり&評価値が悪くなるのはどんな原因が考えられるんでしょうか?
59 名前:デフォルトの名無しさん mailto:sage [2019/11/20(水) 23:12:35.69 ID:+12cj97m.net] データの質が悪い
60 名前:デフォルトの名無しさん mailto:sage [2019/11/21(木) 02:26:27.51 ID:rYRkaMWc.net] そのデータの質を考えるのは、結局人間なんですね。
61 名前:デフォルトの名無しさん mailto:sage [2019/11/21(木) 09:04:37.58 ID:Vn+a4ljF.net] AIにやらせたいことが人間の何らかの目的に基づく限り AIに与えるデータも合目的的になるのは道理
62 名前:デフォルトの名無しさん [2019/11/23(土) 00:21:31.86 ID:x0oPW+zc.net] ツイッターのフォローチェックアプリ作りたいんですけどパソコンのRAMが足りなくてAndroidStudio動かないです Java使って作ろうと思ってるんですけどRAM2GBのLinuxmint入りのパソコンでも動くようなアプリ作れるのってどういうのがありますか? 質問する場所間違ってたらすみません
63 名前:デフォルトの名無しさん [2019/11/23(土) 09:21:08.51 ID:Ef+D5Hxv.net] Windows10の64bitPCでコンパイルして生成したexeファイルは 基本的にはWindows8の64bitやWindows7や64bitマシンでも動きますか? 動かないとしたら、どのような原因で動かないことが多いですか? Macに関しても同様にOSのバージョンによって最新OSで生成したjarファイルは 過去のOSでは動かないことは多いですか?
64 名前:デフォルトの名無しさん mailto:sage [2019/11/23(土) 09:27:26.77 ID:LRCCNZf0.net] >>60 pc上で動くコマンドラインツールでいいならpythonとかで書いたらいいんじゃない >>61 Windows SDKのバージョンとか.NETのバージョンとかが低ければ昔のOSでも動くと思う macOSもtarget OSみたいな項目があってそこが低くて、かつコード中で新しいAPI使ってなければ動くはず。
65 名前:デフォルトの名無しさん mailto:sage [2019/11/23(土) 11:41:20.92 ID:TWH78ZPq.net] >>61 どの言語でどういう作り方をしたかによる。 ランタイムやDLLを使ってる場合 それらのOSに同等のものがあるなら動く 入ってなければ入れることになるし スタティックリンクで不要にすることもできる。
66 名前:デフォルトの名無しさん [2019/11/23(土) 19:15:14.33 ID:Ef+D5Hxv.net] >>62 >>63 ありがとうございます
67 名前:デフォルトの名無しさん [2019/11/24(日) 02:34:17 ID:FFxu+6g+.net] 愚問で恥ずかしいのだが、自分らどうやって勉強してるんだ? 独学でやろうにもこれといった目標がないから入門書読んで終わりなんやけど。。。 目標の立て方、勉強の方法、モチベの維持に関してアドバイスを賜りたい
68 名前:デフォルトの名無しさん [2019/11/24(日) 02:45:18 ID:zLtX9w7h.net] 入門書読むっていうのは写経すらしないってこと?
69 名前:デフォルトの名無しさん [2019/11/24(日) 03:09:27.95 ID:FFxu+6g+.net] 解説見ながら写経やね、ただ入門書はそれ単体でどうこうってプログラムじゃないから 最終的にここからどうすれば・・・ってなる 前は逆引きリファレンスを買え!とか言われたが、あれは写経すらでけん どこに進めばいいのかわからん
70 名前:デフォルトの名無しさん [2019/11/24(日) 03:16:31.41 ID:FFxu+6g+.net] そこそこ真っ当なプログラムのソースがあれば自分で弄るんだけど いまいち入門レベルではそこまではいかないし、雑誌の付録にも勉強用のソース入れといたぞ! みたいなのは見たことがない ぶったけ、プログラマーが読んでる本の一覧みたいなの公開してる人いないかな? 作ってみよう系の良書ってなかなか出会えない、知識のみの本が大半
71 名前:デフォルトの名無しさん [2019/11/24(日) 03:23:35.15 ID:FFxu+6g+.net] OS自作したり、scratchで簡単なゲーム作ったし Pythonでよう分からん計算したり、unityでCG動かしたりしたけど なんかプログラミングってコレダッケ・・・?っていう違和感
72 名前:デフォルトの名無しさん [2019/11/24(日) 03:29:19 ID:FFxu+6g+.net] 多分突っ込まれるだろうから補足すると 逆引きリファレンスが写経できないって、単体では実行ができないって話で(できる場合もあるのかな?) それ自体は写経する価値はあると思うんやが、ケースバイケース過ぎて遠回りちゃうかなって
73 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 03:34:46 ID:iwyjZSbL.net] 作りたいものがないんでしょ?
74 名前:デフォルトの名無しさん [2019/11/24(日) 03:37:52 ID:FFxu+6g+.net] そこなんすよねぇ・・・
75 名前:デフォルトの名無しさん [2019/11/24(日) 03:43:15 ID:FFxu+6g+.net] 作りたいと思ったもんは既に実用的なものが存在するか 或いは一人で製作は難しい高度なものばかり みんなそこらへんは一度は通過するもんなんじゃないかなぁって その上でどうやって目標立てて、勉強して、続けてるのかなって
76 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 04:02:27.05 ID:SS/3kNL5.net] 作りたいものがない=プログラミングする必要ない、ってことだよ みんな作ること自体が面白いからやってるのよ 実用的・高度じゃなきゃダメなら、他人が作ったものを使う方がいいよ
77 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 04:11:56.70 ID:Tuk9Q29U.net] >>61 MS公式のドキュメントに、その関数がどのバージョンのWindows から使えるようになったかが書かれている。例えば、「WinXP から」 「Win7から」などのように。それを確認しながら作っていれば、 その通りに動く。 Javaに関しては、Android以外では元々互換性が高く、Win/Linux/Macの どれでもほぼ同じように動く。特に AWT ではなく、Swingならば。 AndroidのJavaは特殊なので互換性が無い。
78 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 04:15:38.30 ID:iwyjZSbL.net] Javaでデスクトップアプリなんて作らないよ
79 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 05:06:28.93 ID:s1tpy+px.net] >>68 この本のとおり真似て書けばプログラムが作れるようになります、なんて魔法の本はないぞ。 知識のみの本が当たり前で、知識を得たのだからそこからその知識で何か作って見れば良いだろう。 初めから実用性のあるプログラムを作る必要は無く、◯◯を◯◯して◯◯するだけっていう小さな処理を書くのを繰り返してみたら? それすらまったく思い付かないどうして良いか分からないというなら、そもそも読んだだけで何も身に付いていないのか、人の指示通りにしか行動できない絶望的に受動的な奴ということだろうからまずそこから直せ。
80 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 05:16:07.99 ID:s1tpy+px.net] >>70 単体では実行できないって当たり前だろう。その処理を試してみることのできるひとつのプログラムとして、起動して実行して何らかの出力をさせて動きを見てみることができるプログラムを作れよ。それには何が足りないか考えて、足りない部分を自分で作れば良いだろう。 何が足りないかわかりません、分かるけど習ってないから僕には作れません、というならもうプログラミングはやめた方がいいぞ。
81 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 08:06:15.00 ID:Q5WFFNoW.net] Ruby なら「改訂2版 Ruby逆引きハンドブック、2018」を読む Array, enumerable, enumerator のメソッドの使い方を見る。 ファイル操作なら、CSV の所を見る web アプリなら、Ruby on Rails プログラミングのお題スレの簡単な問題を解く Linux の基本コマンドを見る つまり、簡単に言うと、スニペットを使って、きれいなフォームを作る! だから、Ruby は、すべてのプログラム言語の底上げができる 特に、JavaScript, Kotlin, Groovy などは、メソッドチェーン中心で、Ruby に似せてきてる!
82 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 10:31:06.00 ID:8zHa6Ilk.net] >>73 >作りたいと思ったもんは既に実用的なものが存在するか 自分用にカスタマイズできるだけでもかなり違う >或いは一人で製作は難しい高度なものばかり できないと言っているとずっと知識や経験が身につかないまま。少しずつできる部分からでも作っていけばいい 趣味で一番プログラムに時間使っている身からすると、やる気ないのなら止めればいいのにとしか思わない
83 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 12:04:06.33 ID:sQ2k9WM8.net] >>73 車輪を再開発すりゃいいんだよ 世の中にすでにあろうがそんなことはどうでもいい
84 名前: mailto:sage [2019/11/24(日) 12:17:43.64 ID:oHJXyQoT.net] >>81 私も GMP ライブラリの別実装をぼちぼち書いています スピードは非常に遅いのですが、C++ で完結しアセンブラを必要としないこと、および、ライセンスを設定しないので好きに使ってください、というのを売りにしています https://mevius.5ch.net/test/read.cgi/tech/1434079972/51
85 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 13:23:22.63 ID:ajYX9vGJ.net] >>65 自分自身が何の目的でプログラミングをやろうとしてるのか もしくは、プログラミングを学ぼうとしてるのか まずそれを明確にしろ 非効率な勉強方法を続けてるのは 自分に適した本や資料を見つける能力の低さ以前に 目的意識が希薄なのが原因
86 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 14:12:48.61 ID:vqhR/Kx0.net] よくわからんのだが、言語仕様が理解できれば小規模なプログラムは 既に書けるはずだが。写経とか意味が分からん。要点がわかればいいだけ。 あとは必要に応じて実際に書くときに参照 and/or コピーする。
87 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 23:01:08.73 ID:sQ2k9WM8.net] 言語仕様を理解するだけじゃプログラムは作れない プログラムで扱う対象に関する知識が必要 例えば音声を扱うなら音声ファイル、音声を扱うライブラリの知識、音声処理の知識など GUIを持つプログラムならGUI環境(OS, API, ライブラリ)の知識 日本語の文法を知ってるだけじゃ文章を書けない のと同じ
88 名前:デフォルトの名無しさん [2019/11/26(火) 00:30:20 ID:xUh5rj+I.net] 次から次へと新しい言語とかフレームワークとか出てきて、いい加減にしてくれと思ってる。 こいうのって、開発者の自己満じゃないの? ソフト屋はDRYを重視してるとかいうくせに、完全に車輪の再発明じゃないのこれ? 既存の言語とかフレームワークに機能追加するだけじゃだめなの?
89 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 01:03:02 ID:RC9c8z2p.net] 成功したものを、別の言語へ移植した! Ruby → Node.js Ruby on Rails → CakePHP, Spring Boot 今や、JavaScript(JS), Groovy, Kotlin, Elixir, Julia も、 メソッドチェーン中心で、Rubyに似てきたw だから、Rubyがすべての言語の基本と言われるわけ Rubyの式展開と、JSのTemplate Literal は、そっくり! "a = #{ a }" # Ruby `a = ${ a }` // JS
90 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 02:33:16 ID:rhr9prN+.net] Ruby信者が必死にアピールすればするほどオワコン間近の焦りなんだろうなあと思う・・
91 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 02:37:12 ID:rL77WF6v.net] >>87は真性のバカだから焦りではなく本気でそう思ってそう
92 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 09:19:15.02 ID:vZ4oJFP1.net] >>65 同じような質問を考えて いたんだけど、確かにこれがしたいからというわけではなくて、全体像を把握してしたいことを見つける、みたいな感じだと たとえば、ITコーディネーターみたいな資格を受けるのがいいのでしょうか? 最初的には、システム組むために、アルゴリズムなどの知識と、そのためにはどの言語でどう組んで行けばいいのかわかるようになりたいんです。 入門の入門で者なんで何言ってるかわからないかも知れませんが。
93 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 10:08:50.24 ID:i6eVGflj.net] >>86 あなたはその状況で具体的に何に困っているの? 新規のアプリケーションを開発するときは、その要件とリソースに適した言語を使えばよろし 既存のものに付け足す発想が好きならC++を選べばいいんじゃないかな 増築一辺倒だと九龍城のような道に迷いやすいものができるから、過去の言語の反省に基づいて新しく設計された言語にもまた価値がある ハードウェアの進化でマルチスレッド処理で効率化できたり、メモリが潤沢になったりすれば、それらと親和性の高い言語が生まれることにも価値があり、昔は一つしかなかった手法が、今となってはデメリットが目立つようになることもある
94 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 11:12:01 ID:krVs/5Av.net] >>90 具体的な中身をまったく知らずに全体像を把握しようとしてもふんわりした理解しかできないよ。まずなんでも良いからやってみなよ。 最短ルート以外の無駄な回り道がいやだというなら、そもそも正解なんてないんだから心配するだけ無駄。 入門の入門て、門の前でぼうっと待ってても仕方ないだろう。
95 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 11:32:46 ID:5FF2MzCH.net] >>90 >最初的には、システム組むために 「最終的に」の間違いだとして システムってどういうものをイメージしてるの?
96 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 12:10:20.40 ID:t1xTQG9p.net] 言語なんだから使って慣れるしかないんだけどな 言語だけでなく周辺の知識もそれなりに必要になるけど、やる前から自分に何が必要とかわかり
97 名前:謔、がない 最適の攻略法教えてください!とかの発想の人はまず向いていない [] [ここ壊れてます]
98 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 13:00:37 ID:X+Vr6Peh.net] >>86 新しい言語とかフレームワークとかは既存のものでは満足できない点を 改善している。そこだけを見ればいいだけ。ドキュメントに書いてある。 それ以外のところは既存の知識で何とかなる。
99 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 13:16:06 ID:NZrNf3Q8.net] プログラミングって学問じゃなくて実学だからすごく体系化された学び方があるってものではないと思うんだよなー。 あと、プログラミング自体はそこまで奥が深いものではない単なる道具だから、データ構造とアルゴリズムの基礎を身につけて、オブジェクト指向だの関数型言語だのを抑えたら、 多くの言語に共通する要素は把握したことになるような気がする。 特定の領域のソフトウェア開発は奥が深いとおもうけど。 どうしても体系的にやりたいなら、世の中で使われているソフトウェアの種類を調べてみては。PC、スマホ、組込、汎用機それぞれで的な?
100 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 18:38:00.47 ID:5FF2MzCH.net] 体系化された学び方かどうかは別として 目的に対して必要な知識体系を効率よく学ぶ方法はある それを知るために何をすればいいか常に自分で考えてれば 1~2年で平均的な10年選手を余裕で追い越せる
101 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:15:06.87 ID:4u2FSUDY.net] 2円の交点(正確には円の中心から見た角度)を求めたい。ググると2円の連立方程式を解くと求められるとか出てくるが 円の方程式からして習った記憶がない。さらにググってみたら高校数学U・B・・・多分とっていない\(^o^)/ 連立方程式を解くと言っても円のパラメータは実行時に決定するから事前に展開するのも難しい 手作業で解くならともかく連立方程式を解くプログラムを作れる気はしない ここはあり余るコンピューティングパワーで総当たりした方が無難かな? 有効と思われる範囲はせいぜい90度程度。欲しい分解能を0.1度としてその10倍の分解能で総当たりしても 計算時間はたかがしれている
102 名前: mailto:sage [2019/11/26(火) 20:24:12.47 ID:eitz3RWA.net] >>98 円は関係ない 余弦定理で OK
103 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 20:34:01.48 ID:78UVTJ0X.net] >>99 円の交点を求めるのに「円は関係無い」の意味がわからない >>98 2個の円の何がわかっているのか不明な為 最適な解き方は答えられない
104 名前: mailto:sage [2019/11/26(火) 20:46:02.87 ID:eitz3RWA.net] >>100 二つの円の半径を a, b, 二つの円の中心間の距離を r 円 a の円の中心からみた角度を 2A 円 b の円の中心からみた角度を 2B とすれば、余弦定理により cosA = (a^2+r^2-b^2)/(2ar) cosB = (b^2+r^2-a^2)/(2br) 別に円の交点の座標を求める必要はありません
105 名前:98 mailto:sage [2019/11/26(火) 20:57:38.58 ID:diGCNEyd.net] >>100 事前に分かる情報は・・・ 座標系をX/Y直交座標系としてXは横、Yは縦とすると 円1と円2の中心のY座標は同じ 直径は円2に対して円1は+αで少し大きい。円1−αと円2は接する 円の直径やαは実行時にならないと判らない
106 名前: mailto:sage [2019/11/26(火) 21:12:50.46 ID:eitz3RWA.net] >>102 >直径は円2に対して円1は+αで少し大きい。 円2 そのものの大きさがわからないことには、どうしようもないのでは?
107 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 22:12:51.36 ID:78UVTJ0X.net] >>101 それを「円は関係ない」って言うのか そもそも何がわかってるかすらわからんのに
108 名前: mailto:sage [2019/11/26(火) 22:23:24.23 ID:eitz3RWA.net] >>104 私のやりかたは >>101 に示しました ここでは、二つの円の半径と、二つの円の距離、すなわち三つの長さがわかっておればよく、円であることを利用していません
109 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 22:52:48.94 ID:qL3WJ7tt.net] そういうことを計算してくるライブラリが言語ごとにあるよ
110 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 09:48:46.89 ID:0U9h+SK3.net] 予言定理が円では無いと言うのは無理がある
111 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 09:54:10 ID:MN5dlGGA.net] 余弦定理は円とは関係ないが 円に関する問題であり円の特徴を使っているのだから 円は大いに関係ある 図形問題の最後の計算式だけ見て 図形は関係ないって言ってるのと同じ
112 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 09:55:32 ID:MN5dlGGA.net] 言いたいことはわかるが言葉足らず
113 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 11:03:17 ID:ymKEnJ4Y.net] 余弦定理は円と関係あるやろ それに思いっきり円であることを利用してるのに 円であることを利用していませんとか円は関係ないと言われてもね
114 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 11:11:41 ID:BEy4sBWT.net] まあいつものQZ理論なんで、無理に説得しようとしてもスレを汚すだけだから放置が良いと思う
115 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 12:52:34 ID:4s/5SlmV.net] 変なことを言っているなとは思ったが、質問者にとって一番役にたつ回答をしているという点で素晴らしい
116 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 13:12:30 ID:MN5dlGGA.net] >>110 余弦定理に円は出てこない 円を使わずに余弦定理を導ける もちろん関連のある状況もあるが そんなことを言い出したら世の中の物全て円に関係あることになる
117 名前: mailto:sage [2019/11/27(水) 19:25:54.77 ID:N9ggbkQ1.net] >>112 最大級にお褒めいただき感謝いたします!
118 名前:98 mailto:sage [2019/11/27(水) 19:56:43.60 ID:BCqtp2UL.net] ありがと。>101みてググったら何となく判ってきたので実装したところ期待通りの結果を得られました
119 名前: mailto:sage [2019/11/27(水) 20:13:50.59 ID:N9ggbkQ1.net] >>115 それはよかったですね
120 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 00:26:14.28 ID:6KRzmSQe.net] >>90 です。遅くなりましたが、皆さまありがとうございました。 私もこれがしたい、っていうのがないので、65氏のように叱られそうですが、 >>96 氏が、ひとつの解答なのかなと思いました。 アルゴリズムはもともと興味があり、データ構造・・・?if文とかのこと?あたりを押さえてみようかと思います。 また、質問するかもですが、よろしくお願いします。
121 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 00:56:47.40 ID:BLHAYCrB.net] プログラムが全く分からないしがない事務員を助けてください。 会社で月に1度ランチがあるのですが、その組分けを自動でしたいのです。エクセル関数でもよいので何か方法はないでしょうか? ▼条件 ・ランチ出欠は希望制(ほぼほぼ参加) ・ランチは12時〜13時、13時〜14時に分けて行く ・どちらのランチタイムがよいか希望をあげることもできる(ほとんどの人は特に希望をあげていない) ・3人〜4人1組が6つほどできる ・社員とアルバイトを混ぜる必要がある ・前回、前々回と同じ人は避けたい ・同じ部署の人となるべく一緒にならないようにしたい
122 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 09:19:39 ID:B0LTR+GE.net] >>118 カークマンの組分け shochandas.xsrv.jp/kirkman/kirkman.htm カークマンの女学生問題と有限幾何 https://www.slideshare.net/yam6da/ss-27340068
123 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 09:24:57 ID:B0LTR+GE.net] 他、ナーススケジューリングのように動的計画法で解くのがラクか https://www.nurse-scheduling-software.com/tutorial/newpage3.htm ナーススケジューリング - 数理計画用語集 www.msi.co.jp/nuopt/glossary/term_9ad8057bc9aa1325cae9843e345fd8c9034ef119.html 何にせよ動的計画法を会得するとラクに解ける部類の問題 大学生だと三カ月〜六か月ほどの勉強で会得できる 社会人だと1年くらいかかるだろうか 典型的な DP (動的計画法) のパターンを整理 Part 1 〜 ナップサック DP 編 〜 - Qiita https://qiita.com/drken/items/a5e6fe22863b7992efdb 動的計画法(Dynamic Programming)をサルでも分かるように説明する - その1(フィボナッチ数列) - ベルリンのITスタートアップで働くソフトウェアエンジニアのブログ https://www.jabba.cloud/20161020172918/
124 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 09:30:52 ID:B0LTR+GE.net] 「会得できる」じゃねーな 出来なかったヤツは落第する、 だから卒業生は全員できる、 要するに、会得したヤツしか卒業できない、だった だから「(情報科の大学生ならば)会得せねばならない(must)」だ 出来なかったヤツは落とされるからな 会得して無いヤツを見かけないのはそのせいだった ちょっとカン違いしてた
125 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 10:18:32 ID:EnPemvhb.net] Googleフォームで日付、出欠、希望時間帯を投稿できるようにして皆にURLを教えておく 日付省略は直近扱い 集計結果は毎日Google スプレッドシートかCSVで取得 スプレッドシートのJavaScriptで判定して、ランチ招待メールも自動で送る プログラミングはランチメンバーにカンパありで募集をかけてみる 動的計画法はその辺のSEを捕まえても理解不能だったりするので 雑な近似値を求める素人アルゴリズムでもいいかも
126 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 10:28:29 ID:EnPemvhb.net] VBAマクロならともかくExcel関数でやるのは無理 Minecraftで動的計画法をやるような変態プレイになる
127 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 21:33:56.31 ID:HV7pdoW5.net] >>118 俺も事務職で、初歩的なプログラミングでエクセルの自動化をしたりはするけど、 その問題はプロじゃないと無理。 「プログラムを動かすソフトをインストールして、初歩的な使い方を覚えて、 この質問スレの人が書いてくれた呪文のようなコード100行をがんばってコピペ」 といった程度では、ぜんぜん無理。 このスレの人にやってもらうとしたら、何度か打合せをしたうえで1000行どころじゃないコードを 書いてもらわないとだめだと思う。 つまりプロに依頼しないとできない仕事。
128 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 22:27:40.31 ID:J4p7U6+W.net] ライブラリ化できない問題として昔から有名だよね
129 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 23:47:52.97 ID:HRptkZoq.net] ソルバーというのがあってだね・・・
130 名前:デフォルトの名無しさん [2019/11/30(土) 00:06:55.26 ID:/gaQUKPS.net] まず各社員ごとに、前々日までに一緒になったメンバーのリストを作る 一人最大6人だから6列あればいい 社員数25人なら25×6の表@を1つ作る それから社員25人の表Aを一つ 13番まで社員 14番以降バイトにしておく で、ここから総当り的に まず一人目 (1 , , ,) Aから1を削除 @のうち1の過去メンバーを削除すると表Bが出来る その表から一人ランダムで取り出す (1,5, , ) Bから5の過去メンバーも削除してB上書き その表から一人取り出すが、社員2人確定してたら14番以降から取り出す (1,5,16, ) 同様にやると (1,5,16,23) のように1組完成 表Aから1組メンバー4人を削除してA上書き 2組目作成へ こういう感じでいいでしょ あと希望と出欠を加味するように修正すりゃいい
131 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 01:50:06 ID:HbGyzSLF.net] ・社員とアルバイトを混ぜる必要がある ・前回、前々回と同じ人は避けたい ・同じ部署の人となるべく一緒にならないようにしたい これら各々に対する、0〜100点の評価関数を作る必要がある。 どういう状態なら、点数がどれぐらい上がるのか?
132 名前:デフォルトの名無しさん [2019/11/30(土) 05:57:35.48 ID:hIYU8kOK.net] 評価関数なんていらねー この条件なら1日目の組み合わせを4日目と同じにしてよい つまり3日分決めてしまえばそれをローテーションしてもいいくらいのどうでもいいことだ 逆に、むしろ6日間は被らせたくない条件の方が 選択肢が減ってちょうどよくばらける結果が得られる
133 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 07:08:54 ID:gS3eqmso.net] >>129 ランチ出欠は希望制、12時と13時のどちらでランチをとるかも希望制って条件だから 単純なローテーションだと無理じゃない? 3日前は12時だったけど、今日は仕事の都合で13時にしたいって希望が出ることもあるんだろう
134 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 07:13:03 ID:WKFbtD9B.net] ランダムで10000パターンぐらいだして その中でどれかを選んでも良い気がする 完璧じゃなくていいのよ
135 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 13:02:04.68 ID:iIHG4CVu.net] >>131 これだな 今のCPUならあと何桁か増やしてもいける 評価関数なんて簡単な話で、同じ部署の人がいたら1点、前々回と同じ人なら2点みたいな重み付けをして合計値が低いのがいいプラン
136 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 13:06:51.22 ID:iIHG4CVu.net] ローテーションのジョークにマジレスはいかんでしょ 3日毎に同じ面子と食事とか、言われたお題は成立させつつも目的を完全に台無しにするスーパーソリューションだよ
137 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 13:15:08.64 ID:iIHG4CVu.net] いや月に1回の開催なら3か月前だから辛くはないか 普段会わない人同士を交流させたいという意図は果たせないけど
138 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 13:45:46.62 ID:F3eUnd42.net] 誰々と会った割合でも出していって 会った割合が低い人とマッチングさせれば良いんじゃね? これなら簡単そう。
139 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 18:23:09.90 ID:+i+64MX9.net] それって何か簡単になってる? 1つめのグループを作るのは元から簡単だけど、後半に作られるグループが全く条件に合わないケースが避けられないと思う
140 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 18:25:18.78 ID:wqZ7RFN0.net] 要件的にこのスレで解決できることじゃないだろう 質問者置き去りになっているし
141 名前:デフォルトの名無しさん mailto:sage [2019/12/02(月) 23:11:49 ID:1Vg7MoK7.net] ランチの組分けのやつプログラミング分からない人には無理かもだけど PuLPとかのソルバーを使うと100~200行前後でできるよ https://coin-or.github.io/pulp/CaseStudies/a_set_partitioning_problem.html
142 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 00:48:35 ID:rExjyqzm.net] Excelに搭載されてるソルバーでも頑張れるのかな
143 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 01:15:31 ID:jDo5c24e.net] Excelについてる標準のソルバーは変数の上限が200個なので頑張れない 最大24人を3~4人ずつ6グループに分けるとして>>138の方法だと13000個程度の変数が必要 やり方変えれば変数の数は減らせるかもしれないけど200個は無理
144 名前:デフォルトの名無しさん [2019/12/03(火) 11:08:57.63 ID:9QFkLtcg.net] 考え方変えて 社員だけ12人 これを2人ずつの組を作るのと同じ理屈 1,2 1,3 1,4 . . 1,12 11日でローテーション これは誰から見た組み合わせでも11日でローテーションになる 同様にバイトだけ12人でも11日でローテーション 別々に組作った後、社員とバイトを合わせるのに11×11の組み合わせ これはランダムでやっても当分被ることは無い 被っても11日ぶりにしかならん
145 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 11:34:35 ID:Bd0eSxhf.net] myfunc(true) myfunc(false) これじゃ引数意味不明だからenumにしろとかよく言われるけど徹底してる人いるの?
146 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 11:52:21 ID:I9YoNGrF.net] 回路遮断制御装置・開く 回路遮断制御装置・閉じる 回路が作動するのはどっちでしょう
147 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 12:30:03 ID:V2s4KbDl.net] 作動するのは閉じるでしょ 回路がcloseで通電というのは割と普遍 enabledなら迷う
148 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 13:18:55 ID:g2sdmHcp.net] >>142 関数名を工夫
149 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 13:22:51.78 ID:g2sdmHcp.net] 引数が関数の重要な役目な場合の話 些細なオプションであればtrue/falseで良いが 変数名には意味がわかる名前をつける ヘッダにも記述する 全てENUMで定義なんてやらん いろいろなAPIだってBOOL値を引数にする
150 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 13:25:35.54 ID:jDo5c24e.net] >>142 状況による オプションの意味 ドメインで使われてる用語との対応関係 コーディング規約 言語の慣習 型チェックの有無 など myfunc(log=true) スレ立てる(ID表示=true, ワッチョイ=true, IPアドレス=false) みたいに名前付きで渡すようにしておけば十分なことも
151 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 13:34:11 ID:I9YoNGrF.net] >>144 これが三菱のGIS 420kV 回路の遮断を制御している装置 image2.cccme.org.cn/i_supply/2013-12-16/20131216023534000764368.jpg
152 名前:デフォルトの名無しさん [2019/12/03(火) 14:57:01.03 ID:jpS49uol.net] 職業訓練でプログラミングやるのってやっぱりあんまり意味ないんですかね?