Модульное тестирование алгоритмов аппроксимации

Я работаю над библиотекой алгоритмов аппроксимации с открытым исходным кодом для графиков и сетей, использующих некоторые популярные пакеты python в качестве базы. Основной целью является охват современных аппроксимационных алгоритмов для задач NP-Complete по графам и сетям. Причина этого 1) Я не видел хороший (современный) консолидированный пакет, который охватывает это и 2) это был бы хороший педагогический инструмент для изучения алгоритмов аппроксимации на NP-Hard задач оптимизации.

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

Каким образом лучше всего использовать алгоритмы аппроксимации модульных тестов? Создать случайные экземпляры и убедиться, что возвращенные результаты меньше, чем предел, гарантированный алгоритмом? Это, казалось бы, имеет ложные положительные результаты (тест просто повезло в то время, не гарантировано для всех случаев быть ниже связанных).

-121--1092370-

Как найти статистику для общих трендов популярности языка программирования с помощью трендов google Мне нравится следить за трендовыми браузерами/ОС/языками и т.д. Я нахожу google тренды очень полезный ресурс иногда, но в других случаях я не могу получить информацию я хочу. Пример очень ясного...

Я люблю следить за трендовыми браузерами/OS/языками и т.д. Я нахожу google тренды является очень полезным ресурсом иногда , но в других случаях я не могу получить информацию я хочу.

Пример очень явного увеличения Ubuntu (с 6 месячными пиками вблизи дат релиза) по сравнению с другими основными linux distros ecline в течение многих лет...

http://www.google.com/trends?q=ubuntu%2C+debian%2C+redhat%2C+mandrake&ctab=0&geo=all&date=all&sort=0 graph data from google trends showing ubuntu, radhat, mandrake and debian

Пример результатов, искаженных из-за событий, не связанных с программированием. Смотрите «флеш-наводнения» и «землетрясение на Java» в новостных результатах

http://www.google.com/trends?q=flash%2C+java%2C+javascript&ctab=0&geo=all&date=all&sort=0 graph data from google trends showing flash, java and javascript

Есть ли способ фильтровать результаты лучше, чтобы включить только Java язык программирования, и убедиться, что он улавливает все вариации имени - например, js вместо javascript, или альтернативный инструмент, который может производить аналогичные графические данные тренда.

7
задан Joe Doyle 30 April 2012 в 01:37
поделиться