Алгоритмы

индекс
339,88

Как и зачем мерить FLOPSы

image Как известно, FLOPS – это единица измерения вычислительной мощности компьютеров в (попугаях) операциях с плавающей точкой, которой часто пользуются, чтобы померить у кого больше. Особенно важно померяться FLOPS’ами в мире Top500 суперкомпьютеров, чтобы выяснить, кто же среди них самый-самый. Однако, предмет измерения должен иметь хоть какое-нибудь применение на практике, иначе какой смысл его замерять и сравнивать. Поэтому для выяснения возможностей супер- и просто компьютеров существуют чуть более приближенные к реальным вычислительным задачам бенчмарки, например, SPEC: SPECint и SPECfp. И, тем не менее, FLOPS активно используется в оценках производительности и публикуется в отчетах. Для его измерения давно уже использовали тест Linpack, а сейчас применяют открытый стандартный бенчмарк из LAPACK. Что эти измерения дают разработчикам высокопроизводительных и научных приложений? Можно ли легко оценить производительность реализации своего алгоритма в FLOPSaх? Будут ли измерения и сравнения корректными? Обо всем этом мы поговорим ниже.
24 мая 2012, 11:52
55
vtsymbal 89,3

О fuzzing-кодогенерации или «программа сама себя не напишет»

Многие команды используют так называемый fuzzing (генерация случайных наборов данных) для тестирования и некоторые — вполне успешно. Я же попробую рассказать о попытке применения fuzzing-техник для создания/оптимизации кода приложения. Сфера применения таких приложений, разумеется, ограничена — только задачи, где точное и полное решение отсутствует в принципе, а для любых решений есть некоторый критерий качества. Мы используем технику для оптимизации приложения для распознаванию рукописного ввода, но этим применение метода не заканчивается, а задуматься о нем можно, когда у себя в исходном коде вы видите нечто похожее:
static const double MaxHeightToWidthRatio = 1.25; //1.36;//1.2;//previously 1.4 // TODO
23 мая 2012, 23:20
25
sic 82,6

Несколько шагов кэширования справочников из песочницы

В ходе работы над системой документооборота возникла задача — кэшировать справочники, использующиеся на клиентской стороне. Cистема была спроектирована в виде трехзвенки (БД — сервер приложения — клиентская часть), поэтому простора для фантазии было много.
Исходные условия: несколько десятков справочников, отличающихся по объему от нескольких записей до нескольких десятков тысяч записей в каждом. Каждая запись для большинства справочников хранит в себе полезные данные (обычно строку) и идентификатор записи (целое число).
22 мая 2012, 09:58
37
altush 10,2

Пишем и оптимизируем Жизнь Конуэя на JS

Обновляя недавно дизайн своего хомяка, подумал – а не сделать ли мне какую-нибудь необычную страницу с 404-й ошибкой? Поскольку в детстве я был впечатлен Жизнью Конуэя (как возможно и многие из читателей), решил её на JS и реализовать.

Казалось бы, что сложного в Жизни: если у занятой клетки 2 или 3 соседа – она остается, если у пустой ровно 3 – рождается? В этой статье я расскажу о своей оптимизации алгоритма и отрисовки на canvas-е, некоторых не очевидных моментах целочисленной/бинарной арифметики в JavaScript.

Забегая вперед, конечный результат можно увидеть тут, исходники видны там же (да еще и по лицензии CC BY).
21 мая 2012, 22:05
160
BarsMonster 244,9

Навигация в помещениях, где не работает GPS



Fraunhofer Research совместно с Bosch разрабатывет систему Smartsense — сенсор для смартфонов с возможностями точной навигации внутри помещений, где не ловится сигнал GPS-спутников.

+13
16 мая 2012, 19:42
36
sergeypid 36,1

Отправляем теги в путешествие (jquery.waypoints)

Jquery.waypoints это плагин для реализации движения объектов по набору точек, так называемым вейпоинтам, с заданной скоростью и другими параметрами, физически имитирующие реалистичность. Частичное описание алгоритма было описано тут.


+5
14 мая 2012, 13:59
87
cybernetic 31,8

Простой хеш для поиска похожих картинок

В продолжение топика.

Итак, в презентации было упомянуто, что для поиска у всех изображений:
  1. Удаляется информация о цвете.
  2. Они преобразуются к квадрату.
  3. Обрезаются края у квадрата.

Что же делать с картинкой далее?
+30
12 мая 2012, 10:07
126
w999d 56,5

Движение по точкам (waypoints) из песочницы

Сегодня мы будем рассматривать реализацию движения игрока по точкам — так называемым вейпоинтам (waypoints) в режиме 2D — а именно вид сверху.


+31
10 мая 2012, 12:48
233
cybernetic 31,8

Об ИИ в интеллектуальных играх

Не так давно я увлёкся игрой в сёги. К сожалению, эта чудесная игра практически не известна в России, поэтому пока я не научил играть друзей, мне приходилось играть с программой. Конечно, мне было интересно, как эта программа работает.
Ниже представлен небольшой рассказ о компьютерных алгоритмах, используемых в интеллектуальных играх.
+64
10 мая 2012, 11:37
237
GORKOFF 113,7

Проектирование алгоритма ротатора по рейтингу

Недавно передо мной стала задача написать «ротатор» некоторых объектов, приоритет показа которых я должен выставлять сам. Суть проста: больше приоритет– больше показов объекта.
0
10 мая 2012, 10:08
13
ptuchster 3,5