AccessViolation Exception

仕事でもはんだづけ、家でもはんだづけ

Scala

scalaでLSystem入門

植物成長シミュレーションで使われているという*1LSystemについて、実際に描画できるのかscalaでやってみます。 実は一年前に ScalaでL-Systemをやってみた - AccessViolation Exception やっているのですが、どうにも気に入らない部分が多いのできっちり作…

scalaでFizzBuzz

gist029d4c54ed2cd3699daf ToolBox twitter-eval使おうと思ってぐぐったらscala2.10から標準で似たことが出来るらしい Scala2.11でEval - scalaとか・・・ //libraryDependencies += "org.scala-lang" % "scala-compiler" % scalaVersion.value import scala…

ScalaでFizzBuzzを書くと

gista510f1d929df340a6dc8 関数呼び出しの省略 println(1 _2 fizz _4 buzz fizz 7 _8 "fizz" buzz 11 fizz 13 _14 fizzbuzz) //println(1._2(fizz)._4(buzz).fizz(7)._8("fizz").buzz(11).fizz(13)._14(fizzbuzz)) Implicit Class あたかもクラスに機能追加…

scalaでライフゲームを書くと

こうなる。 無名再帰について適当に考えててイマイチ綺麗な記述が出来なくて、 scalaでYコンビネータ - ( ꒪⌓꒪) ゆるよろ日記 scalaでYコンビネータ - ( ꒪⌓꒪) ゆるよろ日記 を参考にさせていただきました。 kamiyaowl / Lifegame.scala

scalaパーサコンビネータでBrainfuckを書くと

こうなる scala 2.11以降では、 libraryDependencies ++= Seq( "org.scala-lang.modules" %% "scala-parser-combinators" % "1.0.3") が必要なことに注意されたい。 gist315acaec8171306dba51

パーサコンビネータで数式パーサ

導入 scala 2.11.x以降は標準から切り離されてしまったのでsbtに依存関係を追記。面倒なのでscala 2.10.4で scala.util.parsing.combinator.RegexParserを継承して独自クラスを作る。 とりあえず粒度の細かいものから作っていく 数字パーサを作る 作った数字…

ツイート一括削除ツールscalaで書いた

思った以上に 黒歴史クリーナー が使いづらかったので作った。 明らかにコードからやる気が感じられないけどまぁ。 twitter4j.propertiesに取得したトークンを書いて、全ツイート履歴落とした中にあるtweets.csvを同じディレクトリに配置すれば動く。 黒歴史…

scalaでopencv開発環境を構築

最近研究室まわりのものが多くてこっちにあげるネタみたいなものが少なかったのですが、いい加減scalaで画像処理したい欲にかられたのでメモ 環境 最近いつも持ち歩いているWindowsマシンにLubuntuをいれたのでそいつで Lubuntu 14.04 desktop amd64 sbt ver…

scalaで貪欲法で解く問題をやってみる

Problem 500,100,50,10,5,1円硬貨をa,b,c,d,e,f枚ずつ持っていたとする。 V円の商品を購入するとき、支払う硬貨の数が最小になるときの枚数を答えよ。支払えない場合は-1を表示するものとする 貪欲法 貪欲法 - Wikipedia その場での最適選択をするだけで実現…

貪欲法で巡回セールスマン問題を解く

深さ優先探索で巡回セールスマン問題を解く - AccessViolation Exception の改良となります。 貪欲法 貪欲法 - Wikipedia 注目すべき点は 動的計画法と異なり保持する状態は常に一つであり、一度選択した要素を再考する事は無い。 このため得られる解は最適…

scalaでfilter&existsする時のアレ

事故りました。というか盛大な勘違い あるリストに含まれていないものに絞りたい 1,2,3,4,5から1,2,3に属さないものが欲しいとする diffを使えば終了 元のデータ型と一致していない場合は使えない。のでやってみる まぁexistsとfilterで解決かな scala> List…

深さ優先探索で巡回セールスマン問題を解く

計算量的に頭おかしくなるから様々なアルゴリズムで頑張って早く解こうとされる代表的な例。 クソ真面目に深さ優先探索で全列挙してとくのは問題の規模が小さければ可能なので、簡単にやってみた。scalaで書いてあるけど解き方的に多少参考になればいいと思…

Scalaで数珠順列

数珠順列 ex:円形のテーブルにA,B,C,Dさんが座る順番は何通り? 円順列であれば A,B,C,D←(イ) A,B,D,C A,C,B,D A,C,D,B A,D,B,C A,D,C,B←(ロ) だが、数珠順列はこれから並ぶ方向を考慮する。 例えば(イ),(ロ)について考えれば、(ロ)を逆向きにたどって読めば…

scalaでjava.util.Date拡張ライブラリを作ってみる

言われてみればscalacできちんとコンパイルせず書捨てのコードだらけの開発をして慣れてきたつもりではあるscala、そろそろ本格的に発展させていけそうだといろいろ試行錯誤してつらいとき java.util.Date いまはもうjava.util.Calendarを使えみたいなのが主…

ScalaのMap->Listで気をつけるべきこと

0から30までの数値を3つずつの組み合わせにまとめたい事案があったとします scala> (0 to 30).groupBy(_ / 3).map(_._2).toList res207: List[scala.collection.immutable.IndexedSeq[Int]] = List( Vector(0, 1, 2), Vector(15, 16, 17), Vector(30), Vecto…

Sublime Text 2でScala等を実行するプラグインを作成しました

kamiyaowl/run · GitHub pythonでちゃちゃっと書けるということと、scalaがそのまま実行できそうなものがない(知らない)のでやってみました。公式ページのhow toとドキュメント見ながらちょちょいとできました まとめ クラス名のCommandより前がそもままコ…

ハノイの塔をScalaで解く

ダウンロードしてる時間暇だったからハノイの塔解いてた— かみや (@kam1yan___) 2014, 4月 1 ハノイの塔とは ハノイの塔 - Wikipedia wikiに載っているgifアニメを見ればどういうものが求められているかわかる。Scalaで書いた まとめ まぁStackだろう import…

Scalaにてjava.lang.OutOfMemoryErrorで落ちる

scalaでメモリ―オーバー:scalaの java.lang.OutOfMemoryError: Java heap space の対処法: - arupaka-_-arupakaの日記 幸せになれました。ありがとうございます。 よくよく考えて見れば7世代のコッホ曲線の文字列の長さが19531249という時点で無理なことに…

Scalaでコッホ曲線を描画

ScalaでL-Systemをやってみた - AccessViolation Exception の続きとなります 描画 L-Systemで生成した文字列から画像を生成すると、自己相似図形の絵が書ける。ので描いた。とりあえずコッホ曲線だけ 結果 stroke = 2.0 , angle = 90.0でコッホ曲線を描画 …

ScalaでL-Systemをやってみた

ずいぶんと簡単なお題になりました。こういうのがちゃちゃっと書けてかっこいいScalaはできる子 What's the L-System L-system - Wikipedia つまりどういうこと? 例1:藻類 L-system 誕生の契機となった、藻類の成長を記述する例。 V : A, B S : なし ω:…

遺伝的アルゴリズムでLifeGameの初期配置を求めてみた

※ Scalaで遺伝的アルゴリズム入門 - AccessViolation Exception ※ ScalaでLifeGameをささっと実装 - AccessViolation Exception かなり改善チューンするところがあるのと評価に時間がかかるので改善実行しながら現状出来たところのまとめ 評価方法 20 * 20の…

ScalaでLifeGameをささっと実装

ぬるぬる次の世代になっていきます Scalaも少しは馴染んできたところで簡単に作れそう?なライフゲームを実装してみた。実質1時間かからないくらいで出来たかな。いい出来だった。 What's the Lifegame? ライフゲーム - Wikipedia ページ中央あたりにある セ…

Scalaで遺伝的アルゴリズム入門

遺伝的アルゴリズムとは 遺伝的アルゴリズムというと抽象的な問題や計算量の多い問題を、解のモデルを生物と置いて生物の進化と同等の処理を施すことでいい解を得ようというもの。 様々な手法や応用があって数学徒ではない初~中級者プログラマもどきである自…

Scalaで画像処理(フィルター加工)

Scalaで画像を扱うことになったが使うと言ってもエッジ検出程度だったのでOpenCVを導入するにはどうにも非効率。なのでjava.awt.imageにあるConvolveOpを使ってフィルタ処理を実装した。 RichString 文字列から拡張子を拾う。今更だが今までのimplicit class…

Scalaの関数とifで注意すべきこと

迷路の続きでクラスタ分けしたものを結合して道にするものを作っていました。非公開の方向で。割とまともにかけてるし今回はオブジェクティブにやった。 Scalaのifは値を返す ところでScalaはすべての式が評価されて(戻り値のようなもの)を持つから val x …

Scalaっぽく迷路をリファクタリングしてみる(穴掘り法)

この記事は前記事 ※Scalaで迷路を作ってみる(穴掘り法) - AccessViolation Exception のリファクタリングとなります Scalaっぽく? 別にこの実装ならc#で書けんじゃん match,implicitぐらいしか使ってなくね むしろvalとvar周りでうまく設計できてなくね …

Scalaで迷路を作ってみる(穴掘り法)

※こちらに続き書きました Scalaっぽく迷路を作ってみる(穴掘り法) - AccessViolation Exception また迷路を作った。前回よりも見栄えが良くなった。 方法 全面壁にする 基点を設定する 基点を壁から道にする 基点の4方から掘り進める箇所を基点にして再帰 …

Scalaで迷路を作ってみる(棒倒し法)

いつぞや迷路生成はやったがScalaを使えば簡潔にかつもっと高度なことができそうなのでやってみた。 後々作るいいアイデアもあるのでやってる所存。とにかくScalaに使われないようちまちまやってる やりかた こちらのサイト様を参考にしました 自動生成迷路 …

Scalaで8クイーン問題

What's the 8 Queen Problem エイト・クイーン - Wikipedia チェス盤の上にクイーンが取り合わないように何体置けるかというやつですね。Scala練習がてら作ってみた やりかた 指定数おけたら終了(depth) 残り置ける場所(targets)がなかったら失敗 置けるの…

無限リストを用いたモンテカルロ法比較

scala無限リストを用いたモンテカルロ法比較 メモ Stream : 無限リスト等を取り扱うときに出てくるなんか & Stream.cons : scalaの::(要素にリスト連結)のStream版的な解釈でいいのか zip : 2つのリストからマップを作る take : リストの最初から指定数取…