Йа волосат и бородат!
Вчера таки сел писать прогу по диплому. Сделал топорную распознающую процедуру на основе правила "ближайшего соседа". Процедура заключается в совершенно банальном определении расстояния между распознаваемой задачей и эталоном с соотнесением задачи к тому же класссу, что и ближайший эталон. Для тестирования сгенерировал в программе "CETAMI-Cut" 100 задач и прогнал их там же 3 алгоритмами, после чего загрузил результаты в своей программе и, наконец, провел классификацию всех (!) задач. Классифицированные задачи разделил на 2 одинаковые группы - первая стала эталонами (обучающая выборка), а вторая тестовой выборкой. Затем проверял, совпадает ли резуольтат работы процедуры с тем классом, который выдал классификатор.

Результаты были познавательными.

Во-первых, очень часто классы пересекаются. Это плохо, т.к. нельзя выбрать однозначно класс, куда отнести. Для нормального соотнесения надо еще ввести фильтр по времени (чем меньше, тем лучше). А во-вторых - непонятно, что делать с задачами, у которых разная размерность. Я-то дополняю нулями недостающие признаки, но является ли это "правомерным"? Может, надо искать новые признаки для классификации?

А в целом - процедура угадывает примерно в границах 32...75%, наиболее часто - 44..48% от тестовой выборки. Скорость работы процедуры тоже превзошла все мои ожидания - 5000 задач (эталоны + тестовые) она обрабатывает пару секунд.

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

UPD: Я еще не написал о тех песнопениях и плясках с бубном вокруг компа, пока переводил модуль БД из Билдера в Студию. Модуль был написан братом лет 5 назад. В основном были 2 проблемы: отсутствие в Студии такой вещи как property и отсутствие вменяемой zip.lib :) Вообще, property в Студии есть, но реализация там настолько была геморной, что проще было вообще убрать это дело. Плюс пришлось рыться по исходникам и убирать все обращения к property внутри классов. :) А для zip.lib я нашел сорцы под Студию и скомпилил. Вот...