くだらないアルゴリズムを考えるスレ
■ このスレッドは過去ログ倉庫に格納されています
居眠りをチェックするアルゴリズム
キーボードからの入力値が急に"ddddddddddddddddddddddd"とかになったら居眠り 混雑している駐車場でどのくらいの速度で何周すれば入り口により近い場所に駐めることができるかを求めるアルゴリズム >>271
それはない。
最小から2番目の値は、最小値が判明したのちに始めてわかること >>270
ソートするより時間がかかりそうな方法だけど
適当に数字を拾って、そいつと他の数字を比べて
「大きい」判定と「小さい」判定がちょうど同じになればそいつが中央値だと判定できるぞ
もちろん1回の試行ではまず見つからないだろうが
「1回目に試行した数より大きい(or小さい)数は中央値ではない」という絞り込みが可能だから
案外早めに中央値が見つかる可能性はある 小さい範囲でソートを使うけど高速に中央値を見つける方法を思いついた
(1)データ全体から100個ランダムに選んでそれをソートして45位と55位の値をサンプルとして設定する(A、Bと呼ぶ)
(2)AとBをそれぞれデータ全体と比較してAとBの正確な順位を割り出す
このときAとBが中央値より上位と下位でなかった場合は(1)のサンプルの幅を広げてやり直す
(3)AとBの間の値をすべてピックアップしてソートすれば中央値を見つけられる
「概ね中央値」が見つけられれば満足なら
(1)の50位を「概ね中央値」ということにしてしまうという手もある >>277
時間かかるね
クイックソートのアルゴリズムを使ったらええんよ
基準値を任意に選択して、それ以下グループとそれより大きいグループに分ける
中央値のインデックスは要素サイズ/2の位置だから
基準値のインデックスと比べて中央値がどちらのグループに含まれているか判断する
該当するグループを再帰的に同じ処理をする >>277を改善してみた
(1)データ全体から100個ランダムに選んでそれをソートして50位の値をサンプルAとして設定する
(2)Aより大きい数字と小さい数字のグループに分ける。Aの正確な順位が判明する
(3)Aが全体の上位50%未満だったなら、(1)の51位をサンプルBとして(2)のAより大きかったグループと比較。Bより大きい・小さいグループを作る
Bの正確な順位が判明する
(4)Bが全体の上位50%オーバーだったならBより小さいグループをソートすれば中央値が見つかる
Bが全体の上位50%未満だったなら、(1)の52位をサンプルにしてやり直し (1)の暫定中央値を決める方法としてこんなのを思いついた
データを81個取って、3個ずつ比較して、3個の中の中央値だけを残す
残った27個も同様にして9個、3個、1個と減らしていって、残った値を暫定中央値にする
最初はこの方法だけで中央値見つかるんじゃね?と思ったけど
数字の組み合わせによっては本当の中央値が消されてしまう模様 どなたか、「アルゴリズムの定理」について教えていただけますでしょうか。
2ch.netの初期に流行ったらしいですが・・・
その人、最初に「全員氏ね」とか書いたらしいです 「{私,俺,僕}は{片山,伊藤}博文です。」
という文字列を展開して
「私は片山博文です。」
「私は伊藤博文です。」
「俺は片山博文です。」
「俺は伊藤博文です。」
「僕は片山博文です。」
「僕は伊藤博文です。」
という六通りの文字列を取得したい。 ネトゲなんかでユーザー全体の使用頻度が高いキャラほど弱体化するようにしたら
運営があれこれいじらなくても勝手に最適なゲームバランスになったりしないかな >>283
どうだろうね
よくあるシステムで職業+選択型スキルってのがあるよね
職業に特徴づけしてスキルはその特徴を拡張するアタッチメント
このゲームシステムって特化の特化だから破綻しやすいって思うんだよね
複雑化した格ゲーがバランス取りにくいのに似ている
職業なしの調整可能なパラメータ型スキルだったら
自動的にバランスを取りやすいと思う
初期MMOのUOとか何度も調整が入ったけど
基軸のゲームシステムの完成度が高かったから、それほど破綻した感じじゃなかった >>283
ゲームバランスは保たれるかもしれないが、キャラ育成に魅力がなくなりそうだし、ユーザーが付かないんじゃね。 最近複雑というか色々増えて面倒なif分岐を分かりやすく取りまとめる方法として
分岐条件に2の2乗の連番を割り振ってそれ足せばどの分岐通ったかすぐ分かるというのを思い付いた 要は2進数の各ビットをそれぞれの番号に使うってこと? 日清焼きそばUFOを作るアルゴリズムを表記せよっていう宿題が出たんだけど
いったいどうしたらいいの?
(´・ω・`) >>288
1. 平らな場所にUFOを置く。
2. ふたを半分開ける。
(以下略、自分で考えろ) >>288
まずは畑で小麦を作ります。
収穫した小麦で麺を打ちます。
打ち上がった麺を油で揚げます。
油で揚げた麺と袋に入ったソースと加薬をUFOの容器に入れ、蓋をします。 コンピューターでソートしろっていったらクイックかマージになると思うけど
見やすいように横並びにした1〜100の数字が書かれたシャッフルされたカードを人間に並び替えてもらう
この状況で人間はなんのアルゴリズム使うと思う? 数字に偏りがないなら場所が決まってるのでn番目にnを置くを繰り返す それカードでやるとn番目に置くってのが正確にできなくて、
ここに2枚入れなきゃいけないけどはいらねえ…
とかなりそう
俺なら1-10,11-20..のように10束にまず分類して、10枚ずつ見ながら1から順番においていくかな >>295
コンピュータと同条件でやるならカードが束になっている前提がおかしい
カードの枚数分の箱を用意してそこに1枚ずつランダムで入っている状態でやらないと
全部のカードを一旦箱から取り出してしまったら
コンピュータが別にメモリを確保したのと同じになる
比較とスワップ回数、メモリ使用量を考慮したらクイックソートに落ち着くかもしれん
ただ、1~100のカードって前もって分かっているなら
一旦全部取り出してカード番号と同じインデックスの箱に入れていけばいいから
バケットソートになるな
これはコンピュータにやらせても同じだな
計算量はO(2n)になるのかな >>296
いや違った
箱の中の1つを取り出して
その数値と同じインデックスの持つ箱の中のカードとスワップ
これを箱の数だけ繰り返せばいいから
計算量はO(n)でいけるのか HDDとLTOのハイブリッドレコーダーというものを思いついた
HDDに番組冒頭5分を記録しておいて、ユーザーがその5分部分を見ている間にLTOから番組本編をロードすんの
HDDの利便性を維持しつつ、LTOの低コスト性も利用できるわけ
まぁ現行画質ならHDDだけで十分っぽいし、
4K時代にはテレビ放送が滅びてオンデマンドが主流になってそうだしで
たぶんこんなレコーダーは登場しないだろうけど step0
96 99 57 59 23 65 18 56 16 39 88 87 50 43 93 49
step1
96 99
57 59
23 65
18 56
16 39
87 88
43 50
49 93
step2
57 59 96 99
18 23 56 65
16 39 87 88
43 49 50 93
step3
18 23 56 57 59 65 96 99
16 39 43 49 50 87 88 93
step4
16 18 23 39 43 49 50 56 57 59 65 87 88 93 96 99
口で説明するのが面倒なんでソート結果でなんとなく理解してもらいたいんですけど
こういうソートって名前ついてたりしますかね?
あとクイックソートと比べて処理数はどうなんでしょうか 自己解決
マージソートでした
速度は クイックソートと比べると、最悪計算量は少ない。ランダムなデータでは通常、クイックソートのほうが速い らしい >>300
いわゆる普通のクイックソートはPivotとなる値の選別如何によって最悪計算量になってしまう
実際、クイックソート殺しっていう数列が存在する
それを回避する手段、複数の値を取ってその中央値をPivotとする、がある
それぞれの良い特性を活かした複合型のソートアルゴリズムが安定していて良いね
イントロソートとか シャッフル・ソートを使わずにm個要素からn個の要素をランダムに取り出し小さい順に表示する方法
一巡のfor〜loop中に
n/mの確率で各数字をピックアップ
n個の要素をピックアップできた時点で終了
ピックアップが足りなかった場合はやり直し
おそらく何の意味もないアルゴリズムだけどリソースが限られる状況では使える可能性があるかも 言語が違う人同士がネットでやり取りする際に
あらかじめ用意されてる定型文を使えば確実な翻訳でやり取りできるわけだけど
この定型文を山ほど用意しておいてキーボードで自由な文章を入力させたあと、それに最も近い定型文を提示すれば
言語が違う人同士が完璧な翻訳でやり取りできるんじゃないだろうか
大量の定型文を用意するのに相当なコストがかかるだろうけど世界的IT企業ならなんとかできそうだし
すでにプロジェクトが始まってたりしないかな >>303
在り来りなのは定型文としてデータベースに入っていると思うけど
翻訳のシステムってどういうのか詳しく知らないけど
多分木とかトライ木とか単語出現率とかで決定しているんじゃない? >>303
提示された定型文は明確に解釈できても、入力文と定型文の間に齟齬が発生する可能性があるから、普通の翻訳とあまり変わらないんじゃないか?
精度を上げるには、定型文を大量に用意して、入力文と定型文とのマッチを正確に行うことになると思う。
でも、マッチの精度を上げるってのは入力文の解析精度を上げるってことなわけで、
それが出来るなら直接翻訳しちゃえばいいじゃんてことになって、やっぱり普通の翻訳システムと同じ形に落ち着きそう…
定型文を持っておくには大きなリソースも必要だしね 日本語を直接英語に翻訳してもユーザーにはそれが本当に伝えたい英文になっているかは判断できないけど
日本語の定型文を出してからそれの翻訳を表示するなら相手に何を伝えているか正確に知ることができるだろ
この差は結構大きいよ
あと、語弊力のない人にとっては自分の文章より定型文の方がいい文章である場合も多々あるはずだし
定型文を表示する意義はあるはずだよ あ、文章を入力すると自動で定型文になって相手に届くものと考えてた。
入力時に、入力と同じ言語の定型文を表示して、こういう意味の英語に変換しますよって事か。
単純に文章校正にも使えて便利そう。
ただ、将来的に普及し過ぎたら、文字による情報伝達は個性がなくつまらないものになりそうだなと思った。 カードを使って買ったものを"ユーザー自身が"把握できるサービスがあったらヒットしそうな気がする
そもそもカードってのは個人が何を買ったか把握するためのシステムなのに
その効果を店側しか利用できないなんてもったいないじゃないか
必要な物全てをカードで買えば自動的に家計簿が出来上がるし
食品の場合は消費期限やカロリーなんかも出してくれれば相当便利だろう 不定形な面積内に2個のサイズ可変な正方形を最大面積で置くには
どんな探索手順がイイんだろう? >>308
>そもそもカードってのは個人が何を買ったか把握するためのシステムなのに
カードって何のカード?
ポイントカード? >>308
au Wallet は?
au のスマホ持ってないと意味をなさないけど、一応実現できていると思うぞ。 あ、よく見たら消費期限やカロリーも?
そこまではないなあ。 >>301
3個ほどの値の中央値ってのを求めるとかならソート数列がある程度大きければめちゃ使えそう 既存のいいとこ取りみたいなのはまだまだ出るだろうけど、全く新しいのは厳しいだろうね
最初にデータ全体の半分をマージソートして
その結果を中央値にしたクイックソートをすれば速くなりそう うちの母親は人の話した単語で自分の話を始める癖があるんだけど
この癖をマネすればチューリングテストをパスできるプログラムが比較的簡単に作れるような気がする
名付けて「コンピューターお母ちゃん」だ 「東京大改革」が聞いてあきれる。
都議会の「かがやけTokyo」「日本維新の会」「共産」「生活者ネット」の
4会派が共同提出した都議のボーナス増額を阻止する条例改正案を、
小池知事が特別顧問を務める最大会派「都民ファーストの会(都F)」が
突っぱねていたことが分かった。
14日、4会派が都庁で会見して都Fの“ご都合主義”を批判した。
https://news.nifty.com/article/domestic/government/12136-431863/ 11×11をこの調子で数えると、約290億年かかります。
(宇宙の年齢は推定137億年)
ところが、現在の最先端のアルゴリズム技術を使うと、
同じ問題を普通のパソコンでわずか数秒で数え上げることができます。
16×16の問題でも普通のパソコンにて、わずか2時間で終わってしまいます。
『フカシギの数え方』 お姉さんに教えてあげたい…。 あの動画ももう結構古いし
今の最新アルゴリズムだとどうなんだろう 結構時間がかかったけど>>235はイニシャル・コイン・オファリング(ICO)として実現したな
案の定「面白いこと」になって投資家が大損失しそうだけど
まぁ暗号通貨は致命的な弱点(莫大な電力消費・取引手数料の高騰)が露呈したし、
いずれ全世界で現金取引が禁止されて、ブロックチェーンはデジタル契約書みたいな使われ方しかされなくなるんんじゃないかな 公開されてるGoogleスプレッドシートを編集すると
その内容が反映されるゲーム攻略wikiとかあったらいいのにな
wikiは編集しづらいし、データの転用もしにくいからな FIFOなキューにデータを入れたり出したりしたいんだけど
割り込み処理からもキューに入れたいと思ったら
結構大変だと気付いた
一般的にどうしたらいいのか 短気な人間と長期計画が建てれない人工知能
行動が類似するのは何故 >>324
enqueueとdequeueをスレッドセーフにすればいいのでは? Google日本語入力のエイプリルフールネタは手間かけてる割に面白くないと思う
どうせやるなら「マスターするのは難しいけど、マスターしたら早く入力できる」ってのをやってほしい
ステノキャプショナーのエミュレーションとか
ペンタブで書いた速記文字を認識するとか
女子高生がよく使う短縮文字に変換辞書で対応するとか >>327
あれ、うちの環境だと全く入力できなかったのよね…。 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
F43OE 今朝見た夢に、遺伝子改良技術で生み出された、人間のようにしゃべる小動物が出てきた
彼らのお腹にはバーコードが浮き出る仕組みがあったんだけど
その部分がミミックオクトパスの遺伝子から作られてるらしく
自分の意志で模様を変化させて、それをコンピューターに読み取らせて意思伝達ができるようだった
現状SF作品でしか使えないアイデアだけど、いいアイデアだなと我ながら思ったわ 曲ごとに決まった番号を割り振っておいて
曲番号を指定して音楽を再生するプレイヤーとかあったら便利な気がしたので
手始めにPythonでmp3を再生するところから始めてみたけど
古い技術の塊みたいなコマンドプロンプトがイカした音楽を再生している様子に謎の感動を感じた FizzBuzz問題でgcdを使うのをはじめて見た 迷路を探索するテストプログラムみたいなのを組んで遊んでたんだよ。
いろんなロジックで、どちらがゴールするか勝負する感じでね。
そしたら、地道な右手法より、適当にうろうろしてる奴が勝つ場合がある。
ほほう、それじゃ探索プログラムに乱数入れたら、
運が良ければ早く結果が出るんじゃないかって考えてさ。
我ながらナイスアイディアって思ってたら、その理論が既にあったわ。
我ながら勉強不足が恥ずかしい。 条件。
労働者がクラウドにアクセスできる。
クラウドが労働組合として機能を果たす。
クラウドが労働者の待遇を改善し、不満を解消してくれる。
??? 10桁の整数で数字の使用回数を0の使用回数, 1の使用回数,,, 9の使用回数と
並べたものが元の整数の並びと同じになる物を求めるには
どうすればいい 順列か?
でも、2回以上の場合は、組み合わせになるか
先頭には、0 が来ないのか?
1234567890 -> 1,1,〜1
1224466690 -> 1,1,2,0,2,0,3,0,0,1 ボタンが3つあって、
間違ったボタンを押すとジェイっジェイっジェイっジェイっ
私は何が言いたいんでしょう?
当てるアルゴリズム。 くだらないアルゴリズムを生成して
なんかそれっぽい名前を付ける
アルゴリズム このようにやり方を示しておけば誰かが使う
これがアルゴリズムだ
なんちゃって プロフィールや経歴を入力すると
ふざけたあだ名生成するアルゴリズム このスレとかけまして
バブルソートとかけます
その心は
くだらない(降らない)アルゴリズムです 学校から自宅までの通学路に、
忍者が何人潜んでいるか調べる 写真いれると適当な理由でっち上げて
忍者判定するのは面白そうだな バーコードバトラーを画像データでやる感じか。
それならスカウター(ドラゴンボール)も出来そうだが。
昨日撮ったのと、今日撮ったので、全然違う戦闘力がでそうだが。 >>351
うわー面白そう
誰か作って見てくれ
アプリで作ればYoutuberが取り上げてウハウハになるかもしれないし いかにそれらしくでっちあげるか、だな。
ラブテスターくらいの感じでいいなら、どうにでもなりそうだけど。 フリーハンドで正五角形がうまく描けなかったので
ちょっと考えてみた。
時計を思い浮かべて0分、12分、24分、36分、48分の時の
目盛りを順番に繋ぐと正五角形になる。 1分かけて正n角形を描く
@UIから自然数nを受け取る
A時計をレンダリングする
B秒針を動かしながら、2π/n動くごとに秒針の先端の位置に点を打つ
C一回転したら点を結んで正n角形完成 >>338
Prolog の練習に良さそうだな。
適度に複雑で、条件を理解してれば計算量も多くならない。 画面が光ったらジゴマ探知機が反応するアルゴリズムとか? スマホを向かい合わせに並べて置いて
相手のディスプレイをフロントカメラで撮影できるようにして
QRコードでデータ通信
無線通信のほうが効率的だろうけどスマホ同士が通信しあっている様子が目に見えて面白いかも >>352
名刺でバーコードバトラーみたいな遊びできんかね
取締役とか強いの インターネットが一時的に使えなくなっても電子取引をする方法を考えてみた
ユーザーは銀行にお金を預けておく事で
「何月何日時点で〇〇円預かっています」というメッセージを銀行の電子署名付きで受け取ることができる
このメッセージは電子証明書として機能する
電子証明書は定期的に再送信されてきて、端末はこれを自動的に更新保存する
通信障害が発生したときは、購入者は「後日〇〇さんにxxx円払います」というメッセージを
電子署名付きでローカル通信で送信する。このメッセージは電子小切手として機能する
販売者は電子証明書を確認して、相手を信用できると思ったら商品を渡す
後日通信障害が回復したら販売者は電子小切手を銀行に送信することで口座から代金を受け取れる
まぁ、口座残高が不足する可能性があって、そうなったら販売者が泣き寝入りするか
銀行が肩代わりして、借金回収のプロが回収するしかないんだけどな
そういう弱点があるからこのスレに投稿しているわけだ >>1
入力ミスが増えたら「休憩しろ」って表示するアルゴリズム。
Just Systemが作成済み。 >>363
あーそういやそんなのあったな。昔ATOK使ってたときにそういう警告出てたわ
俺の場合、常時入力ミスが多いから単にタイマーで警告出してるようにしか見えなかったけど >>363
デスマーチの最中にそんなのでたら発狂しそう。
休めれば休みたいんだよ! >>365
んな状態で仕事(作業)しても後日の仕事を増やすだけ そういや一太郎って昔6万円くらいしてなかった?
殿様商売で他にシェアを取られて今ではあの有様w
トップシェアの時にガメツイ会社は衰退するという事を身を持って教えてくれた会社。 >>368
短いスパンで切り取っても意味ないだろw お前が衰退してる言うたからこっちは違うちゅう証拠見せとるんやんけ
意味不明なことぬかすな老害ハゲ ■ このスレッドは過去ログ倉庫に格納されています