Полигон алгоритмов/Пошаговая реализация собственного алгоритма

Материал из MachineLearning.

Версия от 20:16, 2 апреля 2010; Sintsova (Обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

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

Далее описывается написание программы алгоритма на C# в Microsoft Visual Studio 2008. Соответствующую реализованную программу можно скачать по адресу http://poligon.machinelearning.ru/files/ExampleAlg.rar

Скачать данную инструкцию в формате pdf можно здесь

Краткий список действий
  1. Создайте новый проект
  2. Добавьте в проект Web Reference на обрабатывающий сервис системы
  3. Добавьте Web Reference на тестовый сервис системы
  4. Напишите логику работы с сервисом
  5. Напишите логику тестирования алгоритма на задании
  6. Напишите код самого алгоритма
  7. Протестируйте взаимодействие алгоритма с системой, работу алгоритма
  8. Зарегистрируйте алгоритм на сайте
  9. Проверьте работоспособность алгоритма на сайте: создание отчета, запуск программы алгоритма, просмотр отчета












1. Создайте новый проект

Создайте новый проект типа ConsoleApplication. Дайте ему название. В нашем примере используется название TestServiceAlgorithm.

2. Добавьте в проект Web Reference на обрабатывающий сервис системы

a. Правой кнопкой нажмите на название проекта в Solution Explorer, выберете пункт Add Service Reference

b. В появившемся окне в левом нижнем углу нажмите на кнопку “Advanced…”

Изображение:AddWebReferenceStep1.png

c. В появившемся окне в левом нижнем углу нажмите на кнопку “Add Web Reference…”

Изображение:AddWebReferenceStep2.png

d. Введите URL-адрес веб-сервиса: http://poligon.machinelearning.ru/ProcessingService.asmx. Нажмите на кнопку “Go”

Изображение:AddWebReferenceStep3.png

e. Назовите новый Web Reference подходящим образом

Изображение:AddWebReferenceStep4.png

f.Нажмите на кнопку "Add Reference"

Изображение:AddWebReferenceStep5.png

В нашем проекте появляется новый namespace <название проекта>.<объявленное название web reference> (в нашем случае TestServiceAlgorithm.ProcessService), содержащий все типы и функции веб-сервиса. Включите данный namespace во все используемые файлы кода (Program.cs):

using TestServiceAlgorithm.ProcessService;

Для обращения к функциям сервиса создайте экземпляр класса ProcessingService, описание которого находится в подключенном namespace:

var procService = new ProcessingService();

3. Добавьте Web Reference на тестовый сервис системы

Аналогичным образом добавьте в проект тестовый веб-сервис, который расположен по адресу http://poligon.machinelearning.ru/TestService.asmx. В данном примере этот web reference называется TestService. Тогда для использования функций тестового сервиса вместо обрабатывающего нужно подключать namespace, соответствующий тестовому сервису:

using TestServiceAlgorithm.TestService;

И для обращения к функциям тестового сервиса нужно создать экземпляр класса TestService, находящийся в данном namespace:

var procService = new TestService();

При настройке взаимодействия и отладке работы алгоритма следует обращаться именно к тестовому сервису.


Далее считаем, что переменная procService соответствует нужному нам сервису.

4. Напишите логику работы с сервисом

5. Напишите логику тестирования алгоритма на задании

6. Напишите код самого алгоритма

7. Протестируйте взаимодействие алгоритма с системой, работу алгоритма

8. Зарегистрируйте алгоритм на сайте

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

Статья в настоящий момент дорабатывается.
Sintsova 00:16, 3 апреля 2010 (MSD)


Личные инструменты