Чтобы добавлять сообщения и комментарии, .

@SolderStain:
SolderStain

Алгоритм распознавания VOCORD, основанный на глубоких нейронных сетях, показал лучшие результаты в мировом тестировании в категории по идентификации лиц с рангом 1. Это означает, что компьютерная программа должна правильно выбрать изображение лица человека из миллиона тестовых фотографий, поставив его лицо на первое место по степени похожести на «эталон» (база фотографий людей, заданных для сравнения). По итогам тестов, алгоритм компании VOCORD правильно распознал 75,127% лиц, что является лучшим результатом в мире на сегодняшний день.
vocord.ru
До чего довёл страну... (с)
Сколково — это распилы... (с)

@OCTAGRAM:
OCTAGRAM

Тёплый ламповый разгадыватель японских кроссвордов
Ещё в школе писал, лет 12 назад. Помню, что всяких разных оптимизаций сюда воткнул. Единственное улучшение, которое так и не сделал — не перевёл перебор на микропотоки и поиск в ширину (а не в глубину, как сейчас на обычной рекурсии). Работает в браузере со скоростью, примерно сопоставимой с AMD-K5, который у меня тогда был.

@OCTAGRAM:
OCTAGRAM

Numeric sort
Казалось бы, ничего сложного, но сходу элегантное решение в тетради сделать не получилось несколько лет назад. Неэлегантные могут выглядеть так

@segfault:
segfault

Есть дерево "T" , представляющее из себя выражине типа Bool, узлы дерева — логические операторы (and, or, xor, полный перечень зависит от решения), а листья — произвольные логические выражения. Все листья дерева помечены краской. Каждый лист в дереве считать уникальным. Задача: разбить дерево на несколько деревьев, в каждом из которых будут листья одинакового цвета, при этом, должно соблюдаться "(and T1 T2 T3 ...) == T", где T1, T2 — деревья с листьями одного цвета, для любых значений листьев. Листья нельзя выкидывать или использовать повторно в других деревьях, то есть, количество листьев в T должно быть равно сумме листьев в T1, T2 ...

Это случайно не какая-нибудь типовая задачка? Еще небось и библиотечка на хакадже есть?

@fmap:
fmap

Предположим что Вася барыжит спайсухой в городе А, причем весьма успешно, но в какой-то момент Васю сдает закладчик. Чтобы избежать правосудия, Вася переезжает в город B на съемную однуху.
Какова вероятность что Вася окажется на скамье если расстояние между городом А и городом B свыше 1000км?

@gvard:
gvard

Долго не подбирался к серии статей про Восстановление расфокусированных и смазанных изображений, зафиксирую ссылки:
1. Теория
2. Практика
3. Повышаем качество
Blind Deconvolution — автоматическое восстановление смазанных изображений
SmartDeblur 2.1 — восстановление смазанных и расфокусированных изображений
И ссылка на GitHub, там лежит версия 1.27.

@duckling:
duckling

Поллард спрашивает Полларда... Пооолард, какова твоя ассимптооотика?

@AlexVK:
AlexVK

Придумал задачу, хотя задача сама лежит на поверхности.
По мотивам игры для мобильников City Bloxx.
Есть квадратное игровое поле 5 x 5, всего 25 клеток.
В каждой клетке можно строить одно из зданий:
синее — пусть оно даст нам 75 жителей;
красное — на 250 жителей;
зелёное — на 550 жителей и
жёлтое — на 1000 жителей.
Синее здание можно строить везде,
красное здание можно строить только если есть рядом синее,
зелёное — только рядом с синим и красным,
а жёлтое — только рядом с синим, красным и зелёным.
Нужно застроить поле так чтобы число жителей было максимальным и оставалась возможность любое здание перестраивать сколько угодно раз (собственно в игре хорошо построить здание удаётся далеко не с первого раза).
Здания находящиеся по диагонали не считаются, т.е. рядом — это справа или слева или ниже или выше.

@OCTAGRAM:
OCTAGRAM

en.wikipedia.org

Judy array — быстрый ассоциативный массив, на замену красно–чёрным деревьям и хеш–таблицам

@svafn:
svafn

youtube.com 15 Sorting Algorithms in 6 Minutes

@k1lg0reTr0ut:
k1lg0reTr0ut

культурных тегов псто.
есть задача написать функцию связанных товаров: "вместе с этим товаром, люди покупают вот эти".
знаю людей, которые хотели связанные товары вбивать вручную. ага. 9000 позиций. и для каждой по 3 штуки "люди покупают еще и эти".
от балды рассказал им про алгоритм, выгружать продажи в формате по одной покупке в строке и через запятую коды товаров.
анализировать их и получать схему:
товарХ, товарY, Z(число транзакций, где они учавствовали вместе).
и на основе этой полученной таблицы присывать к конкретному товару несколько других, число Z которых с данным товаром наибольшие.
очень несложный алгоритм(есть подозрение, что это теория графов).
может кто-нибудь подсказать. как можно его еще улучшить, и главное, какой формат представления данных выбрать для пары со значением (товар1 товар2 Число)?
рекоменд приветствуется

@AlexVK:
AlexVK

Понадобилось сделать генерацию уникальных ключей вида xxxx-xxxx-xxxx-xxxx
для приходящих через веб пользователей.
В качестве алфавита взял символы "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@#"
Нужно именно 64 уникальных символа. 26 латинских букв в верхнем и нижнем регистрах, а также 10 цифр дают только 62. А вот с оставшимися двумя ещё определяюсь.
Uuid я отмёл как слишком большой. Правда есть и сокращённый вариант вроде, но и его тоже отмёл.
В общем, ничего подходящего не нашёл (правда это не исключает того что всё же плохо искал)
И изобрёл свой велосипед.
Сделал что-то вроде счётчика, этакого 96 битного числа. Если каждую последовательность из 6 бит этого числа представить в виде символа алфавита то и получается тот ключ который мне нужен.
Можно просто смещать на 6 бит это число и вытягивать крайние правые биты по маске 111111 (3F в HEX). А полученное число и будет позицией символа в алфавите.
Осталось определится с этим 96-битным числом.
Его сэмулировал 2мя числами: 64 бита, это unix time в миллисекундах.
И 32 бита как нибудь характеризующие клиента.
Решил сделать просто хеш (32 бит) из представления IP и User-agent, вот такой: docs.oracle.com
Получившиеся примеры:
aaab-qVZS-qLD2-0xys
aaab-qVZS-qLDl-JcUO
aaab-qVZS-qLEu-SNGo
aaab-qVZS-qLEL-At9C

@syjgin:
syjgin

какой-то сумбурный, но наполненный экшеном сон был: какой-то фестиваль опенсорса, где Гарри Поттер в явно изменённом состоянии сознания рассказывал про 'страну пути', про которую я чуть позже сообразил, что это вейланд, потом громогласно попрощался, и кто-то рядом шепнул, что он перебрал палёного мёда. Я стал кому-то рассказывать про свой алгоритм из вчерашней работы и понял, что там не так — и это имеет ценность и сейчас. А ещё там агенты майкрософта готовили покушение на лидера какого-то проекта — она была рыжеволосой девушкой, а её телохранителя так хорошо не рассмотрел, поскольку она висела между деревьями, цепляясь за них верёвками из рукавов и штанин. То, что все знают, откуда он придёт, не остановило убийцу — он нас даже похвалил за предусмотрительность, вызвав ощущение, что тут снимают кино. Потом предложил мне палёного мёда, представляющего собой хрустящие синие леденцы. Дальше мало что помню, но, кажется, мы стали меряться, чьё кунг-фу сильнее. Так вот улкемп подсознание восприняло

@Tuarisa:
Tuarisa

Жуйк, прошу помощи в придумывании алгоритма, накидайте идей. Есть некий набор данных, каждому элементу соответствует набор цифр, например 1, 2, 1, 3, 1, 5, 4.. Цифры могут повторятся, порядок важен. Необходимо найти наиболее длинную часто встречающуюся цепочку, при этом допустимо пропускать позиции.
Допустим а — 1, 2, 1, 4, 6, 3
б — 2, 1, 1, 3, 5, 4, 6,
в — 1, 3, 1, 2, 1, 5, 4, 2, 6
В таком случае искомая цепочка будет 2, 1, 4, 6

Число элементов, которым соответствуют цепочки — порядка 500.
Вариантов цифр — порядка 20.
Скорость алгоритма не важна, надо сделать всего один раз.

@Hamper:
Hamper

Как можно наиболее оптимально превратить линейную выборку типа (id,parent) в массив в виде дерева {id1, id2:{id2_1,id_2_2:{id2_2_1}},id_3} (id=0 — общий корень, соответственно parent=0 элементы первого уровня)

@hohoho:
hohoho

habrahabr.ru
класс. взял на вооружение

@13oz:
13oz

еее! 23 января начинаются стенфордские он-лайн курсы "разработка и анализ алгоритомов"! емнип, халявные) вернусь домой — зарегаюсь)

@waterlaz:
waterlaz

подумав немного над juick.com
я понял, что меня гораздо больше интересует вопрос:
Разрешима ли за полиномиальное время задача поиска максимального разреза ориентированного планарного графа?

Вопрос на mathoverflow задал:)
mathoverflow.net

@waterlaz:
waterlaz

Существует ли полиномиальный алгоритм подсчета количество циклов заданной длины на планарном графе?

@Balancer:
Balancer

Народ осуждает как нарисовать сглаженную окружность: «Сейчас рисую окружность так: беру квадрат со стороной 2r и внутри него каждую точку проверяю на вхождение в круг». Предлагают потом даже мультисемплингом это делать. Разбивать точки на субпиксели… 5 часов обсуждения, 16 ответов, даже пример страшного кода. Ни одного упоминания подстроки «Брезенхем». Я в унынии: linux.org.ru

Этих бы людей, да на восьмибитные машины с 2МГц процессором. Что же будет ещё через 20 лет? Камо грядеши? Это даже не определение расстояния на плоскости по сумме разностей координат. В последнем случае хоть ошибка вылезет и люди поймут, что не правы. А тут — «рисуется достаточно быстро»…

@kb:
kb

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

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

['C', 'O', 'F', 'B', 'D', 'G', 'M', 'L', 'K', 'E', 'H'...]

Что думаете?

@ei-grad:
ei-grad

Sleep sort dis.4chan.org

@borman:
borman

Жуйк, подскажи. Разыскивается алгоритм поска кратчайших расстояний в графе. Видимо, малоизвестный. Что известно — вроде (?) решает ту же задачу, что алг. Дейкстры; использует принципиально другую идею, вследствие которой для него не доказана нижняя граница оценки сложности.

З.Ы. Дейкстру, Форда-Беллмана, Флойда не предлагать.

@mechmind:
mechmind

youtube.com Наглядное пособие по сортировке в лучших традициях народных танцев.

@DJm00n:
DJm00n

Гармонь наверное, но я не видел. Наглядное представление алгоритмов сортировки: sorting-algorithms.com По моему нагляднее некуда.
---
Обнаружил в каментах к habrahabr.ru

@MiddleMan:
MiddleMan

смотрим левое поддерево: раз, два, три
смотрим правое поддерево: раз, два, три, четыре, пять — МЫ ИДЕМ ХУЙЦЫ СОСАТЬ!
вот и кто бы знал почему разница между высотами такая получается :(

@Sandrem:
Sandrem

Еще одна "эволюция машинок"
megaswf.com

@Scrat:
Scrat

Смеялись, наверное, над "компьютерами ЦРУ", которые позволяют "приближать" картинку с камеры до тех пор, пока там не будет виден номер автомобиля или отпечаток пальца? Смея-я-лись, да.

deconvolve.net

@lomalkin:
lomalkin

Реализация генетических алгоритмов для построения модели машинки: megaswf.com Сидишь, наблюдаешь и крутишь ручку "процент мутаций" — почувствуй себя богом!

@mirivlad:
mirivlad

megaswf.com генетичекий алгоритм эволюции машинок. я, лять, судя по скрину — вывел шевроле %)

@Michae1:
Michae1

megaswf.com — генетический алгоритм создает 2D-машнки.

@skobkin-ru:
skobkin-ru

theoryandpractice.ru
Как определить фотографию голой девушки программно.
если самый большой регион содержит меньше 35% кожаных пикселей, второй и третий — меньше 30% каждый, — это логотип Timberland, а не голая девушка;если самый большой регион содержит меньше 45% кожаных пикселей — это карта Европы без России, а не голая девушка;
если кожаных пикселей меньше 30%, а регионы сильно разбросаны по фотографии — это мясорубка, а не порнография;
если количество регионов больше 60, но основная часть фотографии неяркая — это фотография из Коммерсанта, а не Playboy.

@Jarkko:
Jarkko

Что почитать перед осиливанием Кнута? Думаю себе Седжвика купить, как у @Ritsuko.

@datacompboy:
datacompboy

Господа! Как передать два знаковых целых(или с фиксированной точкой, это не суть) числа, с минимальными накладными расходами? в терминах битовых последовательностей.

@folex:
folex

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

@griffin:
griffin

codeisart.ru Интересный алгоритм для проверки текстов на уникальность. Все доступно рассказано и разложено по полочкам. Люто рекомендую для ознакомления — подобные знания никогда лишними не будут.

@kaineer:
kaineer

жопа же. Самописный "типапарсер" ромадзи дико фэйлит.

@KennyHORROR:
KennyHORROR

Мда. И все такие по "Алгоритмам и структурам данных" 4-ая таска мне попалась жестокая. У меня есть подозрения, что её если и реализовал, то только 1 человек, ибо то что мне надо реализовать у меня вызывает тихий ужас. Точнее, тот единственный метод реализации что я нашел. Я тупо с трудом понимаю этот алгоритм и не понимаю как это вообще можно написать... =(. А ведь уже почти апрель....

@folex:
folex

Что такое длина входа в программу?

@NEKT:
NEKT

Нужно взять мозги в руки и продумать — как найти ближайшую заданной точке, точку кривой, заданной несколькими линиями. Каждая линия задана несколькими точками. Точки задаются сферичекими координатами (широта и долгота)