2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу 1, 2  След.
 
 Математизация программы
Сообщение01.03.2013, 00:08 
Пишу статью в ВАК. Написал очень красивую программу, но, ясное дело, в статью не вставишь.
Как бы премудро ее описать? Есть ли какие-либо формальные методы?
Чтобы глаз радовало?

 
 
 
 Re: Математизация программы
Сообщение01.03.2013, 00:17 
Просто пишете, что она реализует из статьи. И даёте ссылку на программу в интернете. По-хорошему у журнала должны быть supplementary files.

 
 
 
 Re: Математизация программы
Сообщение01.03.2013, 13:10 
Не, мне надо именно так.

 
 
 
 Re: Математизация программы
Сообщение01.03.2013, 13:18 
Аватара пользователя

(Оффтоп)

b322730 в сообщении #689358 писал(а):
Пишу статью в ВАК. Написал очень красивую программу, но, ясное дело, в статью не вставишь.
Как бы премудро ее описать? Есть ли какие-либо формальные методы?
Чтобы глаз радовало?

ПОНЕДЕЛЬНИК
канал 1
.........................
.........................

канал 2
.........................
.........................


ВТОРНИК
...........................

Можно сначала привести программу передач на все дни недели для первого канала, затем для второго и т.д. Но это будет менее удобно, на мой взгляд.

 
 
 
 Re: Математизация программы
Сообщение01.03.2013, 14:36 
Речь идет о программной системе.

 
 
 
 Re: Математизация программы
Сообщение01.03.2013, 14:38 

(Оффтоп)

Но шутка хорошая. :mrgreen:

b322730 в сообщении #689358 писал(а):
Как бы премудро ее описать?
Лучше как раз не премудро. Лучше попроще: представьте, что у вас есть язык, где все «простые» операции реализованы заранее. Например, пересечение множеств — в том смысле, что не надо описывать, как множества хранятся (если это не входит в идею алгоритма) и что делается с их представлениями, чтобы получить представление пересечения; стоит просто написать $A \cap B$.

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

Например, посмотрите, как Дональд Кнут в первом томе «Искусства программирования» описывает алгоритм Евклида (он самый первый встречающийся). Да и другие алгоритмы…

 
 
 
 Re: Математизация программы
Сообщение01.03.2013, 18:09 
Там идет довольно хитрая работа со структурами данных Java.

 
 
 
 Re: Математизация программы
Сообщение01.03.2013, 18:47 
Непонятно, что означает «довольно хитрая». Перенесите нужные элементы из Java — как такое?

А если там всё слишком языкозависимо, то лучше кода ничего нет.

 
 
 
 Re: Математизация программы
Сообщение01.03.2013, 19:37 
Я совершенно не понимаю, о чём конкретно речь, но сказал бы так. Надо просто изложить литературным языком основные идеи, заложенные в программе, не отвлекаясь на технические детали. Вы ведь всё равно свой код как-то документируете хотя бы для себя лично, не так ли?... Ну т.е. вставляете хоть какой-то минимальный набор комментариев -- просто для того, чтоб назавтра понять, что сочинялось накануне?... -- ну так просто и приведите те комментарии к удобоваримой форме.

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

"Проходим массив слева направо, меняя местами каждую пару элементов, если они стоят в неправильном порядке. Повторяем процесс до тех пор, пока не встретится ни одной неправильной пары."

 
 
 
 Re: Математизация программы
Сообщение01.03.2013, 20:09 
В том то и дело, что вместо слов нужны формулы.

 
 
 
 Re: Математизация программы
Сообщение01.03.2013, 20:16 
Это ведь пример. Формулы — это же то самое математическое, чем они помешают? Нужны — пишите. (И посмотрите книгу Кнута тоже.) :|

(Нужно совсем без единого слова? А читателей не жалко?)

 
 
 
 Re: Математизация программы
Сообщение01.03.2013, 20:22 
b322730 в сообщении #689656 писал(а):
В том то и дело, что вместо слов нужны формулы.

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

Вообще непонятно, о чём Вы спрашиваете. Это же общая проблема -- написать типо "абстракт" так, чтоб из него была понятна идея статьи и при этом чтоб он не зашкаливал за несколько строчек. При чём тут конкретно программирование-то?...

 
 
 
 Re: Математизация программы
Сообщение02.03.2013, 13:25 
Вы -- математики, поэтому я к Вам и обратился.

 
 
 
 Re: Математизация программы
Сообщение02.03.2013, 14:54 
Вот например: http://arxiv.org/pdf/1301.5804v1
а вот псевдокод http://arxiv.org/pdf/1212.1909v1

Ну или классика в Д. Э. Кнут: Искусство Программирования (например, 3й том)
Сначала идут математика, потом последовательность действий и/или условные выкладки в псевдокоде, потом - может собственно программа.

 
 
 
 Re: Математизация программы
Сообщение02.03.2013, 21:36 
Благодарю. Хочу еще.

 
 
 [ Сообщений: 16 ]  На страницу 1, 2  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group