После недели почти круглосуточного упарывания первотегом не могу писать на третьетеге :(
После недели почти круглосуточного упарывания первотегом не могу писать на третьетеге :(
И да, ГА на популяции из 400 особей с функцией, определенной в 100 точках жрет 2 мегабайта оперативки.
Кто там что говорил про потребление памяти функциональщиной? Второй раз уже встречаюсь, что нихуя, все просто и разумно.
Деревья неговно. Рандомной популяции из 100 особей потребовалось всего 4 итерации, чтобы подобрать x * y + x * x * y * y — x * x.
Правда, хуита какая-то. Иногда ГА сходится очень быстро, а иногда не сходится вообще за разумное время. ХУИТА.
Кажется, я начинаю понимать, как надо писать код в функциональном стиле.
Ух ты ж, генетика заработала хоть в каком-то виде. Разъебался с матрицами, уняня.
Впрочем, чего-то не работает ничерта, функцию типа x*y + x*x*y*y — x*x оно не подбирает :(
О, в hmatrix есть весьма удобный Левенберг-Марквардт. Повременю с выкидыванием.
Ну и да, Control.Parallel.Strategies.parMap, похоже, от этого C-тырфейса с BLAS'ом проседает — почти все спарки pruned, поэтому хуйпизда джигурда, с ростом числа тредов производительность почти линейно падает. hmatrix говно.
hmatrix — такая ебанутая и глючащая библиотека, что просто пиздец. Виснущие сравнения матриц, виснующая операция взятия подматрицы, прочая хрень, ыа. Похоже, придется юзать либо штатный Data.Array с индексом в виде (Int, Int), либо писать свой лисапед.
Эх, а хотел пойти спать джва часа назад. Любопытство и жопошило ... more →
А, все, это hmatrix лагает, почему-то сравнивать две матрицы нельзя. БИБЛИОТЕКИ ГОВНО, пойду отрепорчу.
Я потерял еще одну из девственностей.
ghc: panic! (the 'impossible' happened)
(GHC version 7.0.4 for x86_64-unknown-linux):
thread blocked indefinitely in an MVar operation
И list comprehensions очень няки, и стандартную библиотеку хорошо зделоли.
Сгенерить в CSV-формате список точек и значений функции в них? Для случая функции двух аргументов:
genSynth f ni nj = intercalate "\n" $ map (intercalate "," . map show) [ [i, j, f i j ] | i ← [1..ni], j ← [1..nj] ]
В очередной раз подрочил на Control.Arrow. Через &&&, ***, first/second и прочую няшноту куча всяких вещей выражается, на самом деле.
Оставить в словаре только те элементы, которые присутствуют в массиве-популяции? ЭТО ЖЕ ОЧЕВИДНО КАК ЭТО СДЕЛАТЬ
cleanupFits :: (RandomGen g, GAble a) => MGState g a
cleanupFits = get >>= (\st → when (length (ppl st) /= length (fits st)) $ put $ st { fits = filter ((`elem` ppl st) . fst) (fits st) } )
Иногда я не понимаю сообщения об ошибках, которые мне выдает ghc, но все равно чо-та чиню.
Я вообще не понимаю это ваше ограничение мономорфизма и зойчем оно надо.
О, в Haskell 2010 в pattern guard'ах можно делать паттерн-матчинг в форме | Ctor ... ← expr
Например, как-то так:
step (LeafTNode var) st | Just val ← lookup var vals = st ++ [val]
| otherwise = error $ "Unknown variable " ++ var ++ ", supplied varmap: " ++ show vals
Из-за того, что Data.Packed.Matrix не может в пустые матрицы (с нулевым числом строк или столбцов), придется оборачивать матрицу в Maybe.
Препод по дискретной оптимизации сказал, что задачки можно решать на любом языке на наш выбор, и что он вот, например, «в свое время на паскале писал». Второтег, нувыпонели.
Если у вас есть код http://paste.pocoo.org/show/474352/ и ошибка http://paste.pocoo.org/show/474354/ , то любому школьнику очевидно, что достаточно убрать NoMonorphismRestriction.
Что-то я уже даже получение N рандомных чисел через iterate написать не могу, пора спать.
Гуевый какой-то матан:
We give a denotational model for graphical user interface (GUI) programming using the Cartesian closed category of ultrametric spaces. [..] We capture the arbitrariness of user input [..] [by a nondeterminism] “powerspace” monad.
Algebras for the powerspace monad yield a model of ... more →
Subscribe to *haskell
0xd34df00d
ulidtko
kb
Minoru
komar
rapture
lukish
zw0rk
238328
Crazy_Owl
4da
L29Ah
werehuman
Elemir
amd63
octocat
magog
Voker57
cirno
asmer
rhinze
gelraen
MPogoda
odin
lexszero
Eight
folex
folone
nexeuse
utros
Like-all
oreolek
hirthwork
werdn
clayrat
SirAnthony
Psykukumber
Ky6uk
eurekafag
DJm00n
zamotivator
failman
saransk
jabber
madInsane
whisper
svtk
Jarkko
zetoke
hedgehog
beardog