• Авторизация


Без заголовка lj_xeb 25-09-2017 12:27


Наступила осень —
Время больших одиял.
Мои зиопацьки жмуца друг к другу,
В наубуке идёт сериал.
Стратежно запасена пища,
Нет нужды выходить наружу.
Не боимся тебя холодища!
Не страшна нам твоя стужа!

https://xeb.livejournal.com/468621.html

комментарии: 0 понравилось! вверх^ к полной версии
#27 lj_xeb 17-07-2017 14:17




Проголосовать за комикс А-Топ100: Лучшие комиксы Рунета

Поддержать автора


https://xeb.livejournal.com/468369.html

комментарии: 0 понравилось! вверх^ к полной версии

#27 lj_xeb 17-07-2017 14:17


[показать]

[показать]

Проголосовать за комикс [показать]

http://xeb.livejournal.com/468369.html

комментарии: 0 понравилось! вверх^ к полной версии
Немного css lj_xeb 08-07-2017 08:30




html + css

https://xeb.livejournal.com/468021.html

комментарии: 0 понравилось! вверх^ к полной версии
Немного css lj_xeb 08-07-2017 08:30


[показать]

html + css

http://xeb.livejournal.com/468021.html

комментарии: 0 понравилось! вверх^ к полной версии
Немного css lj_xeb 08-07-2017 08:30


[показать]

html + css

http://xeb.livejournal.com/468021.html

комментарии: 0 понравилось! вверх^ к полной версии
Сонное царство lj_xeb 05-07-2017 07:15


Живу в сонном царстве. Причём являюсь главным нарушителем покоя. Когда прохожу мимо, сонные тушки смотрят на меня с укоризной. "Эй!", — говорят они, "что за нездоровая активность, мы тут спим ващета". Иногда меня будят, ударом головой в лицо, хорошо, что голова пушистая. Из трёх домашних питомцев, роль живого будильника играет всегда один и тот же. Может он вытянул короткую спичку, а может ему это нравится.

Сперва думал, что ему от меня нужно только одно: "наполни миски, жалкий человечишка и делай, что хочешь!". Но регулярно это случается когда корм уже есть (не доели с вечера). В таком случае это похоже на ритуал: шерстяной шар тыкается мне в лицо, мы идём в ванную, не дожидаясь окончания водно-туалетных процедур, меня начинают подгонять: "Сколько можно возиться? Зачем ты мочишь лицо водой? Просто наслюнявь лапу и сотри всё что там у тебя за ночь навыделялось! Я всегда так делаю и посмотри какой красавчик!". Иногда выходим вместе, но чаще просто открываю дверь и выпускаю. Он сразу к миске, есть не начинает, сидит и смотрит. Чтобы начал нужно погладить голову.

Единственная кошка является ценителем совсем другого ресурса, к еде она равнодушна. Её главная потребность — поспать возле чего-нибудь большого и тёплого. Обожает нагреваться, прямо сейчас она валяется на том месте ковра, куда бьют утренние солнечные лучи. Это её второй источник тепла после нас в это время года. С началом отопительного сезона появляется новый друг — батарея. Возле неё строится небольшая лежаночка, в которой она и коротает свои бесхитростные деньки.

Второй кот выше всего этого, он приходит уже на всё готовенькое. Ничего не просит, погладиться даётся крайне редко, всем видом показывая что еле терпит наше сосуществование.

И все они обожают драть кресло. Когда смотрю в магазинах для животных фоточки когтеточек, жду, что со следующей страницы пойдут кресла и диваны. У нас так и есть, когти касаются его чаще чем задницы.

Когда вся эта братия дрыхнет, нет картины более точно передающей тлен и тщет всего сущего. Меня это настраивает на философский лад, к чему вся эта суета и мыканье, смотри вот она жизнь, мы лежим тут прямо сейчас, у нас нет никаких забот, ну хорошо, почеши нам ушко, потом уходи в другую комнату и ради всех влажничков на земле, сиди там тихо.


https://xeb.livejournal.com/467943.html

комментарии: 0 понравилось! вверх^ к полной версии
Сонное царство lj_xeb 05-07-2017 07:15


Живу в сонном царстве. Причём являюсь главным нарушителем покоя. Когда прохожу мимо, сонные тушки смотрят на меня с укоризной. "Эй!", — говорят они, "что за нездоровая активность, мы тут спим ващета". Иногда меня будят, ударом головой в лицо, хорошо, что голова пушистая. Из трёх домашних питомцев, роль живого будильника играет всегда один и тот же. Может он вытянул короткую спичку, а может ему это нравится.


Сперва думал, что ему от меня нужно только одно: "наполни миски, жалкий человечишка и делай, что хочешь!". Но регулярно это случается когда корм уже есть (не доели с вечера). В таком случае это похоже на ритуал: шерстяной шар тыкается мне в лицо, мы идём в ванную, не дожидаясь окончания водно-туалетных процедур, меня начинают подгонять: "Сколько можно возиться? Зачем ты мочишь лицо водой? Просто наслюнявь лапу и сотри всё что там у тебя за ночь навыделялось! Я всегда так делаю и посмотри какой красавчик!". Иногда выходим вместе, но чаще просто открываю дверь и выпускаю. Он сразу к миске, есть не начинает, сидит и смотрит. Чтобы начал нужно погладить голову.



Единственная кошка является ценителем совсем другого ресурса, к еде она равнодушна. Её главная потребность — поспать возле чего-нибудь большого и тёплого. Обожает нагреваться, прямо сейчас она валяется на том месте ковра, куда бьют утренние солнечные лучи. Это её второй источник тепла после нас в это время года. С началом отопительного сезона появляется новый друг — батарея. Возле неё строится небольшая лежаночка, в которой она и коротает свои бесхитростные деньки.


Второй кот выше всего этого, он приходит уже на всё готовенькое. Ничего не просит, погладиться даётся крайне редко, всем видом показывая что еле терпит наше сосуществование.


И все они обожают драть кресло. Когда смотрю в магазинах для животных фоточки когтеточек, жду, что со следующей страницы пойдут кресла и диваны. У нас так и есть, когти касаются его чаще чем задницы.


Когда вся эта братия дрыхнет, нет картины более точно передающей тлен и тщет всего сущего. Меня это настраивает на философский лад, к чему вся эта суета и мыканье, смотри вот она жизнь, мы лежим тут прямо сейчас, у нас нет никаких забот, ну хорошо, почеши нам ушко, потом уходи в другую комнату и ради всех влажничков на земле, сиди там тихо.




http://xeb.livejournal.com/467943.html

комментарии: 0 понравилось! вверх^ к полной версии
Генетическое программирование 2.0 "В поисках контролируемой мутации" lj_xeb 27-03-2017 16:26


Глядя на то, что вышло из прошлых экспериментов, задал начальные параметры генома, таким образом, чтобы потомки менялись поменьше, а геномы были более разнообразными.


Смотрю сейчас на это и понимаю, как я был наивен...

Следующая же популяции, на 198-м поколении, выдала особь с 98% успеха. Рассмотрев её геном, заключил, что она тоже совсем не мутировала а прирастала случайными операциями, которые очень удачно легли.

Счастливая популяция, топ-6:


Что же это такое? Почему программы с геномом, допускающим мутации, не выживают?

Массовые расследования показали, что программа с набором генов, меняющих хоть что-то, сильно искажает холст от поколения к поколению. Параметры, в таких особях, принимали астрономические значения. Было принято решение, задать для каждого гена диапазон предельных значений — минимум и максимум. Чтобы совсем не запутать нарисую табличку настроек генома:



За одно упростил нашего художника, забрал инструкцию смены цвета.



Такая инструкция влияла на все последующие макания кисти до следующей смены цвета. Поэтому её мутация могла сильно изменить результат.

Отправил это всё в свой эволюционный комбайн, получил 94,5% на выходе. И снова выжил геном без мутаций. Его мутирующие конкуренты опять оказались слишком нестабильными.

В итоге я провёл целый комплекс мероприятий:

Случайный диапазон изменений


Величина изменения конкретного параметра, которая насчиталась в соответствии со значением гена, теперь не тупо прибавляется к параметру а лишь задаёт верхнюю границу для случайного значения.

Например, ген мутации параметров постановил, что конкретная инструкция "перемещение кисти на 1 влево и 3 вверх" должна измениться на 60%, раньше, к 1 и 3, прибавилось/отнялось 0.6 и 1.8 соответственно, теперь, величины изменения будут лежать в пределах [0; 0.6] и [0; 1.8], какие конкретно они примут значения решит судьба генератор случайных чисел.

Счастливчики и неудачники


Чтобы доминирующий геном не захватывал так быстро всю популяцию, ввёл понятие "счастливчик". Это такая особь, которая не преодолела порог выживания по проценту успешности и померла бы не оставив потомства, если бы не попадание в группу таких же счастливчиков. Программы из этой группы случайным образом меняются с теми кто отбор прошёл и таки дают потомство.

Метка счастливчика передаётся по наследству для последующего анализа. После недолгих экспериментов, результаты показали, что идея не зашла, дети везунчиков очень быстро попадали за границу выживаемости.

Показательно, что как только появились счастливчики в туже секунду возникли неудачники, те, которым пришлось уступить место не смотря на хороший результат.

Чтобы отличать, чудом выживших, на снимках поколения, добавил звёздочку (*) перед количеством инструкций программы. Так же там появилась информация о геноме: <кол-во генов мутирующих инструкции>:<кол-во генов мутирующих геном>.



Турнирный метод отбора


О всех своих перипетиях я рассказывал жене, в этом месте она сказала, что как раз переводит в книге главу, где автор пишет о борьбе за разнообразие. Чтобы его увеличить они не просто отбирают самых лучших, а разбивают всех на группы, среди которых проводят турнир, метод поэтому называется "турнирный". Все участники группы собираются в пары, остаться в которых должен только один, выживает сильнейший.

Идея вообще отличная, и популяцию улучшаем и даём шанс на потомство даже не очень, по общим меркам, успешным особям. Незамедлительно реализовал.

Первый раз разбил на три группы: альфачи, бетты и гаммы. Если, из-за нечётности группы, кто-то не находил себе противника ему записывался
Читать далее...
комментарии: 0 понравилось! вверх^ к полной версии
Генетическое программирование 2.0 "В поисках контролируемой мутации" lj_xeb 27-03-2017 16:26


Глядя на то, что вышло из прошлых экспериментов, задал начальные параметры генома, таким образом, чтобы потомки менялись поменьше, а геномы были более разнообразными.

[показать]

Смотрю сейчас на это и понимаю, как я был наивен...

Следующая же популяции, на 198-м поколении, выдала особь с 98% успеха. Рассмотрев её геном, заключил, что она тоже совсем не мутировала а прирастала случайными операциями, которые очень удачно легли.

Счастливая популяция, топ-6:
[показать]


Что же это такое? Почему программы с геномом, допускающим мутации, не выживают?

Массовые расследования показали, что программа с набором генов, меняющих хоть что-то, сильно искажает холст от поколения к поколению. Параметры, в таких особях, принимали астрономические значения. Было принято решение, задать для каждого гена диапазон предельных значений — минимум и максимум. Чтобы совсем не запутать нарисую табличку настроек генома:

[показать]


За одно упростил нашего художника, забрал инструкцию смены цвета.

[показать]


Такая инструкция влияла на все последующие макания кисти до следующей смены цвета. Поэтому её мутация могла сильно изменить результат.

Отправил это всё в свой эволюционный комбайн, получил 94,5% на выходе. И снова выжил геном без мутаций. Его мутирующие конкуренты опять оказались слишком нестабильными.

В итоге я провёл целый комплекс мероприятий:

Случайный диапазон изменений


Величина изменения конкретного параметра, которая насчиталась в соответствии со значением гена, теперь не тупо прибавляется к параметру а лишь задаёт верхнюю границу для случайного значения.

Например, ген мутации параметров постановил, что конкретная инструкция "перемещение кисти на 1 влево и 3 вверх" должна измениться на 60%, раньше, к 1 и 3, прибавилось/отнялось 0.6 и 1.8 соответственно, теперь, величины изменения будут лежать в пределах [0; 0.6] и [0; 1.8], какие конкретно они примут значения решит судьба генератор случайных чисел.

Счастливчики и неудачники


Чтобы доминирующий геном не захватывал так быстро всю популяцию, ввёл понятие "счастливчик". Это такая особь, которая не преодолела порог выживания по проценту успешности и померла бы не оставив потомства, если бы не попадание в группу таких же счастливчиков. Программы из этой группы случайным образом меняются с теми кто отбор прошёл и таки дают потомство.

Метка счастливчика передаётся по наследству для последующего анализа. После недолгих экспериментов, результаты показали, что идея не зашла, дети везунчиков очень быстро попадали за границу выживаемости.

Показательно, что как только появились счастливчики в туже секунду возникли неудачники, те, которым пришлось уступить место не смотря на хороший результат.

Чтобы отличать, чудом выживших, на снимках поколения, добавил звёздочку (*) перед количеством инструкций программы. Так же там появилась информация о геноме: <кол-во генов мутирующих инструкции>:<кол-во генов мутирующих геном>.

[показать]


Турнирный метод отбора


О всех своих перипетиях я рассказывал жене, в этом месте она сказала, что как раз переводит в книге главу, где автор пишет о борьбе за разнообразие. Чтобы его увеличить они не просто отбирают самых лучших, а разбивают всех на группы, среди которых проводят турнир, метод поэтому называется "турнирный". Все участники группы собираются в пары, остаться в которых должен только один, выживает сильнейший.

Идея вообще отличная, и популяцию улучшаем и даём шанс на потомство даже не очень, по общим меркам, успешным особям. Незамедлительно реализовал.

Первый раз разбил на три группы: альфачи, бетты и гаммы. Если, из-за нечётности группы, кто-то не находил себе противника ему записывался автовин. Метод рабочий, средний показатель популяции растёт, смотреть снимки стало гораздо интересней, можно было даже на поздних поколениях увидеть разнообразных представителей. Вот, например, 5 особей от разных групп, 155-го поколения, отобранных по турнирному методу:
[показать]


Был забавный эпизод: один геном убил в себе всякую способность к изменениям, даже к появлению новых инструкций и заполнил собой всю последнюю группу. Из поколения в поколение он просто копировал себя 1 в 1. Паразитировал на популяции, не давая никаких шансов получить
Читать далее...
комментарии: 0 понравилось! вверх^ к полной версии
Генетическое программирование 1.0 lj_xeb 20-03-2017 07:07


Жена выбрала в качестве дипломной работы перевод книги про генетическое программирование (ГП). Началось всё с того, что я попросил её, из любопытства, перевести небольшую статью про ГП, сам особо не разбираясь в теме. С тех пор у них и закрутилось.

Идея конечно интересная, как это программа может писать сама себя, программисты что ли не нужны? Не смог удержаться от собственной реализации.

Поскольку всё это делается для веселья, не читал никакую спец. литературу, писать решил опираясь на базовые принципы эволюции и максимально просто-быстро.

Главная мысль: программы играют роль живых существ. Претерпевают все прелести эволюции. Мы не пишем сам код, а только определяем начальные условия, правила мутаций, отбора, наследования.



Результатом работы наших программ будет рисунок. Другими словами каждый "организм" в популяции это набор инструкций для художника. Что же умеет первая версия художника?



По какому признаку мы будем делать отбор? Будем выбирать тех, кто лучше нарисует закрашенный кружочек, ну или не кружочек, в общем "я так вижу":



100% означает, что у изображения все точки совпали с эталоном, что логично, потому что это он и есть.

А теперь возьмём и сгенерируем популяцию из 100 особей, по 300 инструкций в каждой. Сами инструкции и их параметры будем выбирать абсолютно случайным образом — никакого программирования!

Вот они, исчадия хаоса, жаждущие эволюционировать:


Отсортировал их по убыванию успешности и добавил в конце эталон, для наглядности. Почему в конце? Потому что просто-быстро.

Как же будет осуществляться отбор? Очень просто: берём 30% самых успешных, остальные не выжили, ничего личного просто эволюция. 30% счастливчиков тоже помрут, но оставят после себя потомство (и запись в ЗАГСе базе данных).

Каков механизм появления детей? Чтобы не заморачиваться с контролем размера популяции, он будет постоянный. Поэтому делим размер на количество счастливчиков, получаем среднее и округляем в меньшую сторону - столько потомков будет у каждого изначально. Из-за округления, количество особей следующего поколения будет меньше, эту разницу мы распределяем между самыми успешными, по одному. Размножение однополое.

Пример: было 100 голов, выжило 30 (30%). У каждого будет по 3 (100/30 = 3.33) дитя, плюс первые 10 (100 - 30*3) получат по +1.

Как будут передаваться признаки? Каждая программа имеет набор генов. Гены бывают 6 типов:


Первое поколение получило по одному гену каждого типа, начальное значение взялось случайно из диапазона в скобочках.

Потомки копируют все инструкции и геном родителя, потом мутируют в соответствии с геномом. Причём сначала работают гены меняющие инструкции, потом те, что изменяют сам геном. Это нужно чтобы поколения не так сильно отличались от родителей.

Гены, которые могут изменить размер генома, срабатывают в самом конце, чтобы не раздуть его до бесконечности или не убить сразу в ноль.

Вот и вся бесхитростная механика. Заэволюционируем первые 10 поколений:


На графике показатели успешности поколения: минимум, максимум, среднее. Оно работает! Программы становятся всё лучше и лучше по нашему критерию. Прогресс на лицо:



Посмотрим на лучшую особь из этого поколения, мистера 73.5%.

Количество инструкций: 539 (начинали мы с 300)
Геном: 1 ген, сила мутации количества инструкций, значение 4%

Вот так
Читать далее...
комментарии: 0 понравилось! вверх^ к полной версии
Генетическое программирование 1.0 lj_xeb 20-03-2017 07:07


Жена выбрала в качестве дипломной работы перевод книги про генетическое программирование (ГП). Началось всё с того, что я попросил её, из любопытства, перевести небольшую статью про ГП, сам особо не разбираясь в теме. С тех пор у них и закрутилось.

Идея конечно интересная, как это программа может писать сама себя, программисты что ли не нужны? Не смог удержаться от собственной реализации.

Поскольку всё это делается для веселья, не читал никакую спец. литературу, писать решил опираясь на базовые принципы эволюции и максимально просто-быстро.

Главная мысль: программы играют роль живых существ. Претерпевают все прелести эволюции. Мы не пишем сам код, а только определяем начальные условия, правила мутаций, отбора, наследования.

[показать]


Результатом работы наших программ будет рисунок. Другими словами каждый "организм" в популяции это набор инструкций для художника. Что же умеет первая версия художника?

[показать]


По какому признаку мы будем делать отбор? Будем выбирать тех, кто лучше нарисует закрашенный кружочек, ну или не кружочек, в общем "я так вижу":

[показать]


100% означает, что у изображения все точки совпали с эталоном, что логично, потому что это он и есть.

А теперь возьмём и сгенерируем популяцию из 100 особей, по 300 инструкций в каждой. Сами инструкции и их параметры будем выбирать абсолютно случайным образом — никакого программирования!

Вот они, исчадия хаоса, жаждущие эволюционировать:
[показать]


Отсортировал их по убыванию успешности и добавил в конце эталон, для наглядности. Почему в конце? Потому что просто-быстро.

Как же будет осуществляться отбор? Очень просто: берём 30% самых успешных, остальные не выжили, ничего личного просто эволюция. 30% счастливчиков тоже помрут, но оставят после себя потомство (и запись в ЗАГСе базе данных).

Каков механизм появления детей? Чтобы не заморачиваться с контролем размера популяции, он будет постоянный. Поэтому делим размер на количество счастливчиков, получаем среднее и округляем в меньшую сторону - столько потомков будет у каждого изначально. Из-за округления, количество особей следующего поколения будет меньше, эту разницу мы распределяем между самыми успешными, по одному. Размножение однополое.

Пример: было 100 голов, выжило 30 (30%). У каждого будет по 3 (100/30 = 3.33) дитя, плюс первые 10 (100 - 30*3) получат по +1.

Как будут передаваться признаки? Каждая программа имеет набор генов. Гены бывают 6 типов:
[показать]


Первое поколение получило по одному гену каждого типа, начальное значение взялось случайно из диапазона в скобочках.

Потомки копируют все инструкции и геном родителя, потом мутируют в соответствии с геномом. Причём сначала работают гены меняющие инструкции, потом те, что изменяют сам геном. Это нужно чтобы поколения не так сильно отличались от родителей.

Гены, которые могут изменить размер генома, срабатывают в самом конце, чтобы не раздуть его до бесконечности или не убить сразу в ноль.

Вот и вся бесхитростная механика. Заэволюционируем первые 10 поколений:

[показать]

На графике показатели успешности поколения: минимум, максимум, среднее. Оно работает! Программы становятся всё лучше и лучше по нашему критерию. Прогресс на лицо:

[показать]


Посмотрим на лучшую особь из этого поколения, мистера 73.5%.

Количество инструкций: 539 (начинали мы с 300)
Геном: 1 ген, сила мутации количества инструкций, значение 4%

Вот так вот, эта программа обходится одним геном, который увеличивает количество инструкций на 4%. Параметры инструкций не меняются, параметры генома тоже. Стабильность как она есть. Единственное разнообразие — это типы и параметры новых инструкций, которые выбираются случайно.

А что с геномом у остальных 99-ти особей этого поколения? Он такой же. Расследование показало, что очень быстро в популяции осталось 2 типа генома, которые боролись за жизнь.
И 4 поколения назад, погибли, не оставив потомства, последние представители конкурирующего генома. Они держались дольше всех, посмотрим их.

Четыре гена разных типов:
  • Сила мутации инструкций 17%
  • Сила мутации количества инструкций 4%
  • Кол-во затрагиваемых мутацией генов 22%
  • Сила мутации генов 0%

Нужно уточнить, что у этой
Читать далее...
комментарии: 0 понравилось! вверх^ к полной версии
.|. lj_xeb 16-03-2017 06:59


по глупости мной чего-то хочу, громко кричу: срочно найти пикачу. зарплату врачу, и быть там где хочу. тем, кем хочу,чем хочу.что бы было по моему. неприменно угодить чужому мнению, нари- совать огромный хуй, сти хо тво ре нием.

https://xeb.livejournal.com/466896.html

комментарии: 0 понравилось! вверх^ к полной версии
.|. lj_xeb 16-03-2017 06:59


по глупости мной чего-то хочу, громко кричу: срочно найти пикачу. зарплату врачу, и быть там где хочу. тем, кем хочу,чем хочу.что бы было по моему. неприменно угодить чужому мнению, нари- совать огромный хуй, сти хо тво ре нием.

http://xeb.livejournal.com/466896.html

комментарии: 0 понравилось! вверх^ к полной версии
.|. lj_xeb 16-03-2017 06:59


по глупости мной чего-то хочу, громко кричу: срочно найти пикачу. зарплату врачу, и быть там где хочу. тем, кем хочу,чем хочу.что бы было по моему. неприменно угодить чужому мнению, нари- совать огромный хуй, сти хо тво ре нием.

http://xeb.livejournal.com/466896.html

комментарии: 0 понравилось! вверх^ к полной версии
Без заголовка lj_xeb 27-01-2017 09:33


1485415355179263652[1].jpg

https://xeb.livejournal.com/466437.html

комментарии: 0 понравилось! вверх^ к полной версии
Без заголовка lj_xeb 27-01-2017 09:33


[800x]

http://xeb.livejournal.com/466437.html

комментарии: 0 понравилось! вверх^ к полной версии
Без заголовка lj_xeb 27-01-2017 09:33


[800x]

http://xeb.livejournal.com/466437.html

комментарии: 0 понравилось! вверх^ к полной версии
Без заголовка lj_xeb 02-01-2017 22:09


Если долго сидеть на берегу реки
И не о чём не думать
То рано или поздно
Мимо проплывёт твой труп.

https://xeb.livejournal.com/466329.html

комментарии: 0 понравилось! вверх^ к полной версии
Без заголовка lj_xeb 02-01-2017 22:09


Если долго сидеть на берегу реки
И не о чём не думать
То рано или поздно
Мимо проплывёт твой труп.

http://xeb.livejournal.com/466329.html

комментарии: 0 понравилось! вверх^ к полной версии