После недели почти круглосуточного упарывания первотегом не могу писать на третьетеге :(
*haskell
И да, ГА на популяции из 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 →
*haskell is used by:
0xd34df00d
0xd34df00d
профессиональный говноед
ulidtko
kb
kb
Minoru
Minoru
Александр Марков
komar
Spiritual ecstasy
rapture
λ
lukish
zw0rk
zw0rk
16+
238328
Crazy_Owl
Crazy_Owl
4DA
4da
L29Ah
L29Ah
werehuman
werehuman
Evgeny I. E. Omelchenko
Elemir
amd63
amd63
Octocat
octocat
Mагог Магогович
magog
Voker57
Voker57
cirno
cirno
asmer
asmer
rhinze
rhinze
gelraen
gelraen
Michael Pogoda
MPogoda
desperate donkey
odin
lexszero
lexszero
8
Eight
folex
folex
folone
folone
nexeuse
nexeuse
Оранжевус Охуеннус
utros
Darth Bricktop
Like-all
oreolek
oreolek
Hirthwork McGillah
hirthwork
Andrew Motrenko
werdn
Klayraat
clayrat
SirAnthony
SirAnthony
Псикукумбер Томатический
Psykukumber
Ky6uk
Ky6uk
eurekafag
eurekafag
Bender Bending Rodríguez
DJm00n
Oleg Tsarev
zamotivator
failman
failman
lkdjvsdkjfgh
saransk
jabber
jabber
Лисий хвост
madInsane
Андрей
whisper
svtk
svtk
Jarkko
Jarkko
Fess
zetoke
18+ Запрещено для детей.
hedgehog
beardog
beardog
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