スレ立てるまでもない質問はここで 152匹目

■ このスレッドは過去ログ倉庫に格納されています
2019/11/08(金) 21:03:36.68ID:q9/Fdf+e
質問する前にGoogleで検索しましょう。 http://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/

注意「〜と〜はどっちの方が○いですか?」みたいなのは
このスレの粘着荒らしですので無視してください
2019/11/16(土) 19:08:09.88ID:NxT3F+SR
>>38
ここまでのレスの中で一番価値があるなw
2019/11/16(土) 19:28:08.30ID:SjIOWxyj
アルゴリズム的には>>28で終わり
2019/11/16(土) 20:40:07.29ID:gzUz93yQ
>>40
最初の2つの回答(>>4>>5)でもう終わっとるやろ
リアルで虐げられすぎて承認欲求たまってるのかもしれんが
無駄なマウンティング合戦はもうやめてくれ

アルゴリズムアルゴリズム言うなら
君たちのせいで流れちゃってる>>17を拾ってやれ
2019/11/16(土) 21:42:12.58ID:SjIOWxyj
>>17
平面上の円の決定方法は色々ある
両端が決まっているので
あと1個決まれば良い

曲率、半径、もう一点、始点(or 終点)の方向
など便利な物を選べば良い

>>41
言い出しっぺがなぜ拾わない?
2019/11/16(土) 22:04:33.44ID:sxDPEgRe
本人か
2019/11/17(日) 03:37:28.24ID:vz8eXEG6
>>42
>>17が何言ってるのか俺にはよく理解できなかったから拾わなかった

>線の始点と終点の座標間で変換しまくらなければならない
うーん、ん?

円弧(中心点、半径、開始角、終了角、回転方向)

2つの円が内接なら円弧1の終了角 == 円弧2の開始角、外接なら+180度
半径の差から円弧2の中心座標が決まる

円弧(開始点、終了点、ふくらみ)

こっちだと開始点と終了点が明確だからつなげる部分は楽
2019/11/17(日) 10:34:22.29ID:q8ERgoMw
そりゃCADだとrが重要だからな
始点終点だけだと墜落沈没なんでもござれになる
2019/11/17(日) 12:29:33.87ID:d/LLRqxu
過疎ってるMMOやってるんだが、一緒にダンジョン行くフレがいなくてつんでる
2PC操作難しいから片方のPCをAIで操作って夢見すぎ?
2019/11/17(日) 12:43:30.34ID:q8ERgoMw
友達作るよりAI作った方がかんたんだよ
2019/11/18(月) 17:30:04.30ID:7lkCDXNM
DQXならAIが攻撃してくれる。
49HAL
垢版 |
2019/11/18(月) 20:59:45.22ID:r2fWji5L
AI判定が馬鹿高いスコアのプログラマーで確実に雑魚
やたら沢山のプログラムが組めると出る奴ら
あいつら他人のソースコードを参照だけして組んでたザコグラマー
普通その言語得意ならそっち苦手とかなってないんだよね〜
その場合には例えばJavaScriptが使えるのにオブジェクト指向がほぼ分からないとか
PHPが得意なのにPerlが全滅とか、意味わからない感じ
2019/11/18(月) 21:10:23.13ID:HREH5Xa1
>>49
あなた、何言っているかさっぱりわかりませんよ…わざとやっているの?
51デフォルトの名無しさん
垢版 |
2019/11/19(火) 13:33:47.60ID:+CxpMEaM
>>49がAIのレスならなかなか
2019/11/19(火) 17:16:17.23ID:AxZiiVQ/
医療分野の専門家のはしくれなんだけど、
プログラムの勉強して医療分野の検査ソフト作った。

広く利用してほしいから、学会発表のあと無料でソフトアップしようと思ってるんだけど、
こういうときってソースコードさらすのが礼儀なの?

我ながら拙いコードだし、コメントも日本語であまり丁寧に書いてないから、
できればコード見られたくない・・・。
2019/11/19(火) 17:17:24.92ID:06RgLvqj
>>52
マ板で聞けよ
この板はそういう話をするところじゃねーよ
2019/11/19(火) 17:43:58.87ID:JHNr41O8
>>52
GitHubにアップロード
2019/11/19(火) 22:09:51.01ID:1Z/2kWAD
>>52
将来有料で売りたいとかソースコードを公開しない理由がないなら公開しとけ。
今の時代ソースコードが公開されてないものは怖くて使われない

それが有用なソフトなら誰かが改良してくれるだろう
医療分野の専門家はプログラムの専門家じゃない。
プログラムはプログラムの専門家に任せればいい。
プログラムの専門家などたくさんいる。
医療分野の専門家でないと作れないことに価値がある。
その価値を埋もれさせてはいけない。
2019/11/20(水) 18:44:20.11ID:kJY8NyuS
機械学習でデータ増強をすると、していないときよりlossの下がり&評価値が悪くなるのはどんな原因が考えられるんでしょうか?
2019/11/20(水) 23:12:35.69ID:+12cj97m
データの質が悪い
2019/11/21(木) 02:26:27.51ID:rYRkaMWc
そのデータの質を考えるのは、結局人間なんですね。
2019/11/21(木) 09:04:37.58ID:Vn+a4ljF
AIにやらせたいことが人間の何らかの目的に基づく限り
AIに与えるデータも合目的的になるのは道理
60デフォルトの名無しさん
垢版 |
2019/11/23(土) 00:21:31.86ID:x0oPW+zc
ツイッターのフォローチェックアプリ作りたいんですけどパソコンのRAMが足りなくてAndroidStudio動かないです
Java使って作ろうと思ってるんですけどRAM2GBのLinuxmint入りのパソコンでも動くようなアプリ作れるのってどういうのがありますか?
質問する場所間違ってたらすみません
61デフォルトの名無しさん
垢版 |
2019/11/23(土) 09:21:08.51ID:Ef+D5Hxv
Windows10の64bitPCでコンパイルして生成したexeファイルは
基本的にはWindows8の64bitやWindows7や64bitマシンでも動きますか?
動かないとしたら、どのような原因で動かないことが多いですか?

Macに関しても同様にOSのバージョンによって最新OSで生成したjarファイルは
過去のOSでは動かないことは多いですか?
2019/11/23(土) 09:27:26.77ID:LRCCNZf0
>>60
pc上で動くコマンドラインツールでいいならpythonとかで書いたらいいんじゃない

>>61
Windows SDKのバージョンとか.NETのバージョンとかが低ければ昔のOSでも動くと思う
macOSもtarget OSみたいな項目があってそこが低くて、かつコード中で新しいAPI使ってなければ動くはず。
2019/11/23(土) 11:41:20.92ID:TWH78ZPq
>>61
どの言語でどういう作り方をしたかによる。

ランタイムやDLLを使ってる場合
それらのOSに同等のものがあるなら動く

入ってなければ入れることになるし
スタティックリンクで不要にすることもできる。
64デフォルトの名無しさん
垢版 |
2019/11/23(土) 19:15:14.33ID:Ef+D5Hxv
>>62
>>63
ありがとうございます
65デフォルトの名無しさん
垢版 |
2019/11/24(日) 02:34:17.24ID:FFxu+6g+
愚問で恥ずかしいのだが、自分らどうやって勉強してるんだ?
独学でやろうにもこれといった目標がないから入門書読んで終わりなんやけど。。。

目標の立て方、勉強の方法、モチベの維持に関してアドバイスを賜りたい
66デフォルトの名無しさん
垢版 |
2019/11/24(日) 02:45:18.55ID:zLtX9w7h
入門書読むっていうのは写経すらしないってこと?
67デフォルトの名無しさん
垢版 |
2019/11/24(日) 03:09:27.95ID:FFxu+6g+
解説見ながら写経やね、ただ入門書はそれ単体でどうこうってプログラムじゃないから
最終的にここからどうすれば・・・ってなる
前は逆引きリファレンスを買え!とか言われたが、あれは写経すらでけん
どこに進めばいいのかわからん
68デフォルトの名無しさん
垢版 |
2019/11/24(日) 03:16:31.41ID:FFxu+6g+
そこそこ真っ当なプログラムのソースがあれば自分で弄るんだけど
いまいち入門レベルではそこまではいかないし、雑誌の付録にも勉強用のソース入れといたぞ!
みたいなのは見たことがない

ぶったけ、プログラマーが読んでる本の一覧みたいなの公開してる人いないかな?
作ってみよう系の良書ってなかなか出会えない、知識のみの本が大半
69デフォルトの名無しさん
垢版 |
2019/11/24(日) 03:23:35.15ID:FFxu+6g+
OS自作したり、scratchで簡単なゲーム作ったし
Pythonでよう分からん計算したり、unityでCG動かしたりしたけど
なんかプログラミングってコレダッケ・・・?っていう違和感
70デフォルトの名無しさん
垢版 |
2019/11/24(日) 03:29:19.72ID:FFxu+6g+
多分突っ込まれるだろうから補足すると
逆引きリファレンスが写経できないって、単体では実行ができないって話で(できる場合もあるのかな?)
それ自体は写経する価値はあると思うんやが、ケースバイケース過ぎて遠回りちゃうかなって
2019/11/24(日) 03:34:46.15ID:iwyjZSbL
作りたいものがないんでしょ?
72デフォルトの名無しさん
垢版 |
2019/11/24(日) 03:37:52.48ID:FFxu+6g+
そこなんすよねぇ・・・
73デフォルトの名無しさん
垢版 |
2019/11/24(日) 03:43:15.37ID:FFxu+6g+
作りたいと思ったもんは既に実用的なものが存在するか
或いは一人で製作は難しい高度なものばかり

みんなそこらへんは一度は通過するもんなんじゃないかなぁって
その上でどうやって目標立てて、勉強して、続けてるのかなって
2019/11/24(日) 04:02:27.05ID:SS/3kNL5
作りたいものがない=プログラミングする必要ない、ってことだよ
みんな作ること自体が面白いからやってるのよ
実用的・高度じゃなきゃダメなら、他人が作ったものを使う方がいいよ
2019/11/24(日) 04:11:56.70ID:Tuk9Q29U
>>61
MS公式のドキュメントに、その関数がどのバージョンのWindows
から使えるようになったかが書かれている。例えば、「WinXP から」
「Win7から」などのように。それを確認しながら作っていれば、
その通りに動く。

Javaに関しては、Android以外では元々互換性が高く、Win/Linux/Macの
どれでもほぼ同じように動く。特に AWT ではなく、Swingならば。
AndroidのJavaは特殊なので互換性が無い。
2019/11/24(日) 04:15:38.30ID:iwyjZSbL
Javaでデスクトップアプリなんて作らないよ
2019/11/24(日) 05:06:28.93ID:s1tpy+px
>>68
この本のとおり真似て書けばプログラムが作れるようになります、なんて魔法の本はないぞ。
知識のみの本が当たり前で、知識を得たのだからそこからその知識で何か作って見れば良いだろう。
初めから実用性のあるプログラムを作る必要は無く、◯◯を◯◯して◯◯するだけっていう小さな処理を書くのを繰り返してみたら?
それすらまったく思い付かないどうして良いか分からないというなら、そもそも読んだだけで何も身に付いていないのか、人の指示通りにしか行動できない絶望的に受動的な奴ということだろうからまずそこから直せ。
2019/11/24(日) 05:16:07.99ID:s1tpy+px
>>70
単体では実行できないって当たり前だろう。その処理を試してみることのできるひとつのプログラムとして、起動して実行して何らかの出力をさせて動きを見てみることができるプログラムを作れよ。それには何が足りないか考えて、足りない部分を自分で作れば良いだろう。
何が足りないかわかりません、分かるけど習ってないから僕には作れません、というならもうプログラミングはやめた方がいいぞ。
2019/11/24(日) 08:06:15.00ID:Q5WFFNoW
Ruby なら「改訂2版 Ruby逆引きハンドブック、2018」を読む

Array, enumerable, enumerator のメソッドの使い方を見る。
ファイル操作なら、CSV の所を見る

web アプリなら、Ruby on Rails

プログラミングのお題スレの簡単な問題を解く

Linux の基本コマンドを見る

つまり、簡単に言うと、スニペットを使って、きれいなフォームを作る!
だから、Ruby は、すべてのプログラム言語の底上げができる

特に、JavaScript, Kotlin, Groovy などは、メソッドチェーン中心で、Ruby に似せてきてる!
2019/11/24(日) 10:31:06.00ID:8zHa6Ilk
>>73
>作りたいと思ったもんは既に実用的なものが存在するか
自分用にカスタマイズできるだけでもかなり違う
>或いは一人で製作は難しい高度なものばかり
できないと言っているとずっと知識や経験が身につかないまま。少しずつできる部分からでも作っていけばいい
趣味で一番プログラムに時間使っている身からすると、やる気ないのなら止めればいいのにとしか思わない
2019/11/24(日) 12:04:06.33ID:sQ2k9WM8
>>73
車輪を再開発すりゃいいんだよ
世の中にすでにあろうがそんなことはどうでもいい
2019/11/24(日) 12:17:43.64ID:oHJXyQoT
>>81
私も GMP ライブラリの別実装をぼちぼち書いています
スピードは非常に遅いのですが、C++ で完結しアセンブラを必要としないこと、および、ライセンスを設定しないので好きに使ってください、というのを売りにしています
https://mevius.5ch.net/test/read.cgi/tech/1434079972/51
2019/11/24(日) 13:23:22.63ID:ajYX9vGJ
>>65
自分自身が何の目的でプログラミングをやろうとしてるのか
もしくは、プログラミングを学ぼうとしてるのか
まずそれを明確にしろ

非効率な勉強方法を続けてるのは
自分に適した本や資料を見つける能力の低さ以前に
目的意識が希薄なのが原因
2019/11/24(日) 14:12:48.61ID:vqhR/Kx0
よくわからんのだが、言語仕様が理解できれば小規模なプログラムは
既に書けるはずだが。写経とか意味が分からん。要点がわかればいいだけ。
あとは必要に応じて実際に書くときに参照 and/or コピーする。
2019/11/24(日) 23:01:08.73ID:sQ2k9WM8
言語仕様を理解するだけじゃプログラムは作れない
プログラムで扱う対象に関する知識が必要
例えば音声を扱うなら音声ファイル、音声を扱うライブラリの知識、音声処理の知識など
GUIを持つプログラムならGUI環境(OS, API, ライブラリ)の知識

日本語の文法を知ってるだけじゃ文章を書けない
のと同じ
86デフォルトの名無しさん
垢版 |
2019/11/26(火) 00:30:20.26ID:xUh5rj+I
次から次へと新しい言語とかフレームワークとか出てきて、いい加減にしてくれと思ってる。
こいうのって、開発者の自己満じゃないの?
ソフト屋はDRYを重視してるとかいうくせに、完全に車輪の再発明じゃないのこれ?

既存の言語とかフレームワークに機能追加するだけじゃだめなの?
2019/11/26(火) 01:03:02.25ID:RC9c8z2p
成功したものを、別の言語へ移植した!

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
2019/11/26(火) 02:33:16.35ID:rhr9prN+
Ruby信者が必死にアピールすればするほどオワコン間近の焦りなんだろうなあと思う・・
2019/11/26(火) 02:37:12.97ID:rL77WF6v
>>87は真性のバカだから焦りではなく本気でそう思ってそう
2019/11/26(火) 09:19:15.02ID:vZ4oJFP1
>>65
同じような質問を考えて いたんだけど、確かにこれがしたいからというわけではなくて、全体像を把握してしたいことを見つける、みたいな感じだと
たとえば、ITコーディネーターみたいな資格を受けるのがいいのでしょうか?

最初的には、システム組むために、アルゴリズムなどの知識と、そのためにはどの言語でどう組んで行けばいいのかわかるようになりたいんです。

入門の入門で者なんで何言ってるかわからないかも知れませんが。
2019/11/26(火) 10:08:50.24ID:i6eVGflj
>>86
あなたはその状況で具体的に何に困っているの?
新規のアプリケーションを開発するときは、その要件とリソースに適した言語を使えばよろし

既存のものに付け足す発想が好きならC++を選べばいいんじゃないかな
増築一辺倒だと九龍城のような道に迷いやすいものができるから、過去の言語の反省に基づいて新しく設計された言語にもまた価値がある
ハードウェアの進化でマルチスレッド処理で効率化できたり、メモリが潤沢になったりすれば、それらと親和性の高い言語が生まれることにも価値があり、昔は一つしかなかった手法が、今となってはデメリットが目立つようになることもある
2019/11/26(火) 11:12:01.23ID:krVs/5Av
>>90
具体的な中身をまったく知らずに全体像を把握しようとしてもふんわりした理解しかできないよ。まずなんでも良いからやってみなよ。
最短ルート以外の無駄な回り道がいやだというなら、そもそも正解なんてないんだから心配するだけ無駄。
入門の入門て、門の前でぼうっと待ってても仕方ないだろう。
2019/11/26(火) 11:32:46.82ID:5FF2MzCH
>>90
>最初的には、システム組むために

「最終的に」の間違いだとして
システムってどういうものをイメージしてるの?
2019/11/26(火) 12:10:20.40ID:t1xTQG9p
言語なんだから使って慣れるしかないんだけどな
言語だけでなく周辺の知識もそれなりに必要になるけど、やる前から自分に何が必要とかわかりようがない
最適の攻略法教えてください!とかの発想の人はまず向いていない
2019/11/26(火) 13:00:37.61ID:X+Vr6Peh
>>86
新しい言語とかフレームワークとかは既存のものでは満足できない点を
改善している。そこだけを見ればいいだけ。ドキュメントに書いてある。
それ以外のところは既存の知識で何とかなる。
2019/11/26(火) 13:16:06.46ID:NZrNf3Q8
プログラミングって学問じゃなくて実学だからすごく体系化された学び方があるってものではないと思うんだよなー。
あと、プログラミング自体はそこまで奥が深いものではない単なる道具だから、データ構造とアルゴリズムの基礎を身につけて、オブジェクト指向だの関数型言語だのを抑えたら、
多くの言語に共通する要素は把握したことになるような気がする。
特定の領域のソフトウェア開発は奥が深いとおもうけど。
どうしても体系的にやりたいなら、世の中で使われているソフトウェアの種類を調べてみては。PC、スマホ、組込、汎用機それぞれで的な?
2019/11/26(火) 18:38:00.47ID:5FF2MzCH
体系化された学び方かどうかは別として
目的に対して必要な知識体系を効率よく学ぶ方法はある

それを知るために何をすればいいか常に自分で考えてれば
1~2年で平均的な10年選手を余裕で追い越せる
2019/11/26(火) 19:15:06.87ID:4u2FSUDY
2円の交点(正確には円の中心から見た角度)を求めたい。ググると2円の連立方程式を解くと求められるとか出てくるが
円の方程式からして習った記憶がない。さらにググってみたら高校数学U・B・・・多分とっていない\(^o^)/
連立方程式を解くと言っても円のパラメータは実行時に決定するから事前に展開するのも難しい
手作業で解くならともかく連立方程式を解くプログラムを作れる気はしない
ここはあり余るコンピューティングパワーで総当たりした方が無難かな?
有効と思われる範囲はせいぜい90度程度。欲しい分解能を0.1度としてその10倍の分解能で総当たりしても
計算時間はたかがしれている
2019/11/26(火) 20:24:12.47ID:eitz3RWA
>>98
円は関係ない
余弦定理で OK
2019/11/26(火) 20:34:01.48ID:78UVTJ0X
>>99
円の交点を求めるのに「円は関係無い」の意味がわからない

>>98
2個の円の何がわかっているのか不明な為
最適な解き方は答えられない
2019/11/26(火) 20:46:02.87ID:eitz3RWA
>>100
二つの円の半径を a, b, 二つの円の中心間の距離を r
円 a の円の中心からみた角度を 2A
円 b の円の中心からみた角度を 2B
とすれば、余弦定理により
cosA = (a^2+r^2-b^2)/(2ar)
cosB = (b^2+r^2-a^2)/(2br)
別に円の交点の座標を求める必要はありません
10298
垢版 |
2019/11/26(火) 20:57:38.58ID:diGCNEyd
>>100
事前に分かる情報は・・・

座標系をX/Y直交座標系としてXは横、Yは縦とすると
円1と円2の中心のY座標は同じ
直径は円2に対して円1は+αで少し大きい。円1−αと円2は接する
円の直径やαは実行時にならないと判らない
2019/11/26(火) 21:12:50.46ID:eitz3RWA
>>102
>直径は円2に対して円1は+αで少し大きい。
円2 そのものの大きさがわからないことには、どうしようもないのでは?
2019/11/26(火) 22:12:51.36ID:78UVTJ0X
>>101
それを「円は関係ない」って言うのか
そもそも何がわかってるかすらわからんのに
2019/11/26(火) 22:23:24.23ID:eitz3RWA
>>104
私のやりかたは >>101 に示しました
ここでは、二つの円の半径と、二つの円の距離、すなわち三つの長さがわかっておればよく、円であることを利用していません
2019/11/26(火) 22:52:48.94ID:qL3WJ7tt
そういうことを計算してくるライブラリが言語ごとにあるよ
2019/11/27(水) 09:48:46.89ID:0U9h+SK3
予言定理が円では無いと言うのは無理がある
2019/11/27(水) 09:54:10.46ID:MN5dlGGA
余弦定理は円とは関係ないが
円に関する問題であり円の特徴を使っているのだから
円は大いに関係ある

図形問題の最後の計算式だけ見て
図形は関係ないって言ってるのと同じ
2019/11/27(水) 09:55:32.61ID:MN5dlGGA
言いたいことはわかるが言葉足らず
2019/11/27(水) 11:03:17.46ID:ymKEnJ4Y
余弦定理は円と関係あるやろ

それに思いっきり円であることを利用してるのに
円であることを利用していませんとか円は関係ないと言われてもね
2019/11/27(水) 11:11:41.54ID:BEy4sBWT
まあいつものQZ理論なんで、無理に説得しようとしてもスレを汚すだけだから放置が良いと思う
2019/11/27(水) 12:52:34.40ID:4s/5SlmV
変なことを言っているなとは思ったが、質問者にとって一番役にたつ回答をしているという点で素晴らしい
2019/11/27(水) 13:12:30.42ID:MN5dlGGA
>>110
余弦定理に円は出てこない
円を使わずに余弦定理を導ける

もちろん関連のある状況もあるが
そんなことを言い出したら世の中の物全て円に関係あることになる
2019/11/27(水) 19:25:54.77ID:N9ggbkQ1
>>112
最大級にお褒めいただき感謝いたします!
11598
垢版 |
2019/11/27(水) 19:56:43.60ID:BCqtp2UL
ありがと。>101みてググったら何となく判ってきたので実装したところ期待通りの結果を得られました
2019/11/27(水) 20:13:50.59ID:N9ggbkQ1
>>115
それはよかったですね
2019/11/28(木) 00:26:14.28ID:6KRzmSQe
>>90です。遅くなりましたが、皆さまありがとうございました。

私もこれがしたい、っていうのがないので、65氏のように叱られそうですが、
>>96氏が、ひとつの解答なのかなと思いました。
アルゴリズムはもともと興味があり、データ構造・・・?if文とかのこと?あたりを押さえてみようかと思います。

また、質問するかもですが、よろしくお願いします。
2019/11/29(金) 00:56:47.40ID:BLHAYCrB
プログラムが全く分からないしがない事務員を助けてください。

会社で月に1度ランチがあるのですが、その組分けを自動でしたいのです。エクセル関数でもよいので何か方法はないでしょうか?

▼条件
・ランチ出欠は希望制(ほぼほぼ参加)
・ランチは12時〜13時、13時〜14時に分けて行く
・どちらのランチタイムがよいか希望をあげることもできる(ほとんどの人は特に希望をあげていない)
・3人〜4人1組が6つほどできる
・社員とアルバイトを混ぜる必要がある
・前回、前々回と同じ人は避けたい
・同じ部署の人となるべく一緒にならないようにしたい
2019/11/29(金) 09:19:39.55ID:B0LTR+GE
>>118

カークマンの組分け
http://shochandas.xsrv.jp/kirkman/kirkman.htm

カークマンの女学生問題と有限幾何
https://www.slideshare.net/yam6da/ss-27340068
2019/11/29(金) 09:24:57.48ID:B0LTR+GE
他、ナーススケジューリングのように動的計画法で解くのがラクか

https://www.nurse-scheduling-software.com/tutorial/newpage3.htm

ナーススケジューリング - 数理計画用語集
http://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/
2019/11/29(金) 09:30:52.79ID:B0LTR+GE
「会得できる」じゃねーな

出来なかったヤツは落第する、
だから卒業生は全員できる、
要するに、会得したヤツしか卒業できない、だった

だから「(情報科の大学生ならば)会得せねばならない(must)」だ
出来なかったヤツは落とされるからな
会得して無いヤツを見かけないのはそのせいだった
ちょっとカン違いしてた
2019/11/29(金) 10:18:32.50ID:EnPemvhb
Googleフォームで日付、出欠、希望時間帯を投稿できるようにして皆にURLを教えておく
日付省略は直近扱い
集計結果は毎日Google スプレッドシートかCSVで取得
スプレッドシートのJavaScriptで判定して、ランチ招待メールも自動で送る
プログラミングはランチメンバーにカンパありで募集をかけてみる
動的計画法はその辺のSEを捕まえても理解不能だったりするので
雑な近似値を求める素人アルゴリズムでもいいかも
2019/11/29(金) 10:28:29.60ID:EnPemvhb
VBAマクロならともかくExcel関数でやるのは無理
Minecraftで動的計画法をやるような変態プレイになる
2019/11/29(金) 21:33:56.31ID:HV7pdoW5
>>118
俺も事務職で、初歩的なプログラミングでエクセルの自動化をしたりはするけど、
その問題はプロじゃないと無理。
「プログラムを動かすソフトをインストールして、初歩的な使い方を覚えて、
この質問スレの人が書いてくれた呪文のようなコード100行をがんばってコピペ」
といった程度では、ぜんぜん無理。
このスレの人にやってもらうとしたら、何度か打合せをしたうえで1000行どころじゃないコードを
書いてもらわないとだめだと思う。
つまりプロに依頼しないとできない仕事。
2019/11/29(金) 22:27:40.31ID:J4p7U6+W
ライブラリ化できない問題として昔から有名だよね
2019/11/29(金) 23:47:52.97ID:HRptkZoq
ソルバーというのがあってだね・・・
127デフォルトの名無しさん
垢版 |
2019/11/30(土) 00:06:55.26ID:/gaQUKPS
まず各社員ごとに、前々日までに一緒になったメンバーのリストを作る
一人最大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組目作成へ

こういう感じでいいでしょ
あと希望と出欠を加味するように修正すりゃいい
2019/11/30(土) 01:50:06.48ID:HbGyzSLF
・社員とアルバイトを混ぜる必要がある
・前回、前々回と同じ人は避けたい
・同じ部署の人となるべく一緒にならないようにしたい

これら各々に対する、0〜100点の評価関数を作る必要がある。
どういう状態なら、点数がどれぐらい上がるのか?
129デフォルトの名無しさん
垢版 |
2019/11/30(土) 05:57:35.48ID:hIYU8kOK
評価関数なんていらねー
この条件なら1日目の組み合わせを4日目と同じにしてよい
つまり3日分決めてしまえばそれをローテーションしてもいいくらいのどうでもいいことだ

逆に、むしろ6日間は被らせたくない条件の方が
選択肢が減ってちょうどよくばらける結果が得られる
2019/11/30(土) 07:08:54.43ID:gS3eqmso
>>129
ランチ出欠は希望制、12時と13時のどちらでランチをとるかも希望制って条件だから
単純なローテーションだと無理じゃない?
3日前は12時だったけど、今日は仕事の都合で13時にしたいって希望が出ることもあるんだろう
2019/11/30(土) 07:13:03.73ID:WKFbtD9B
ランダムで10000パターンぐらいだして
その中でどれかを選んでも良い気がする
完璧じゃなくていいのよ
2019/11/30(土) 13:02:04.68ID:iIHG4CVu
>>131
これだな
今のCPUならあと何桁か増やしてもいける

評価関数なんて簡単な話で、同じ部署の人がいたら1点、前々回と同じ人なら2点みたいな重み付けをして合計値が低いのがいいプラン
2019/11/30(土) 13:06:51.22ID:iIHG4CVu
ローテーションのジョークにマジレスはいかんでしょ
3日毎に同じ面子と食事とか、言われたお題は成立させつつも目的を完全に台無しにするスーパーソリューションだよ
2019/11/30(土) 13:15:08.64ID:iIHG4CVu
いや月に1回の開催なら3か月前だから辛くはないか
普段会わない人同士を交流させたいという意図は果たせないけど
2019/11/30(土) 13:45:46.62ID:F3eUnd42
誰々と会った割合でも出していって
会った割合が低い人とマッチングさせれば良いんじゃね?

これなら簡単そう。
2019/11/30(土) 18:23:09.90ID:+i+64MX9
それって何か簡単になってる?
1つめのグループを作るのは元から簡単だけど、後半に作られるグループが全く条件に合わないケースが避けられないと思う
2019/11/30(土) 18:25:18.78ID:wqZ7RFN0
要件的にこのスレで解決できることじゃないだろう
質問者置き去りになっているし
2019/12/02(月) 23:11:49.81ID:1Vg7MoK7
ランチの組分けのやつプログラミング分からない人には無理かもだけど
PuLPとかのソルバーを使うと100~200行前後でできるよ
https://coin-or.github.io/pulp/CaseStudies/a_set_partitioning_problem.html
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況