На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! правила раздела Алгоритмы
1. Помните, что название темы должно хоть как-то отражать ее содержимое (не создавайте темы с заголовком ПОМОГИТЕ, HELP и т.д.). Злоупотребление заглавными буквами в заголовках тем ЗАПРЕЩЕНО.
2. При создании темы постарайтесь, как можно более точно описать проблему, а не ограничиваться общими понятиями и определениями.
3. Приводимые фрагменты исходного кода старайтесь выделять тегами code.../code
4. Помните, чем подробнее Вы опишете свою проблему, тем быстрее получите вразумительный совет
5. Запрещено поднимать неактуальные темы (ПРИМЕР: запрещено отвечать на вопрос из серии "срочно надо", заданный в 2003 году)
6. И не забывайте о кнопочках TRANSLIT и РУССКАЯ КЛАВИАТУРА, если не можете писать в русской раскладке :)
Модераторы: Akina, shadeofgray
  
> Организация "FAQ по алгоритмам" , предложение
    Здравствуйте, уважаемый All!
    У меня есть предложение по поводу организации "FAQ по алгоритмам".
    Под алгоритмами я подразумеваю именно математические алгоритмы,
    направленные на решение каких-либо задач.
    В Рунете основными источниками алгоритмов являются два сайта:
    http://algolist.manual.ru и http://alglib.manual.ru
    За последние полгода я собрал немалую коллекцию различных
    математических алгоритмов (около 300 различных алгоритмов),
    документация по численным методам.
    Идея FAQ алгоримтов обсуждалась на форуме довольно давно, но
    идеального решения вроде так пока и не достигли, а между прочим
    одни и теже вопросы в форуме "Алгоритмы" повторяются более-
    менее регулярно.
    В основном вопросы повторяются именно по тем алгоритмам, которые
    используются в лабораторных работах/курсовых по
    информатике/вычислительной математике (ведь каждый год кто-то
    сдает лабы и пишет курсовые). Ну а, пришедшие на форум через
    год, или даже через месяц (тема уже уйдет довольно далеко),
    ее быстро не найдет и создадут новую.

    Вообщем - что я предлагаю сделать: Создать сайт:
    1) Выложить на нем наиболее часто используемые алгоритмы:
    построение графика ф-ции/численное интегрирование/решение ОДУ/решение
    СЛАУ/работа с матрицами/приближение функций, и т.д. с описаниями,
    теорией.
    2) Реализация на различных языках. Разные люди
    используют разные языки программирования. Имеет смысл делать реализации
    для: Fortran/Pascal/Delphi/C++/Basic/Visual Basic. Также используется
    Excel/MathCad. Конечно это не значит что каждый алгоритм нужно делать
    с реализацией на всех этих языках, но по возможности - чем больше языков,
    тем лучше.
    3) Блок-схемы. Они дают наиболее наглядное представление о структуре алогоритма.
    4) Надо собирать именно АЛГОРИТМЫ численных методов, а не разные варианты готовой
    лабораторной работы (отличающиеся, к примеру количеством ур-й в системе), и др.
    не имеющее смысла.
    Если Вас заинтересовало данное предложение пишете мне на
    e-mail: doctorgenius@mail.ru
      Цитата
      DoctorGenius от 5.09.04, 00:18
      У меня есть предложение по поводу организации "FAQ по алгоритмам".

      Знаешь как у нас на форуме говорят? Предложил, делай! ;) Ну в смысле будь организатором и люди к тебе потянутся :) ;) Только не забывай FAQ - это часто задаваемые вопросы, а не библиотека численного анализа. Это важно помнить. Для начала, чтобы улучшить FAQ нужно проанализировать поток сообщений в этот раздел, ну хотя бы с января по июнь этого года - семестр обучения в России плюс июль и август. Можно подключить людей к этому. Разбить на приоритеты по интересам. Сразу говорю мне сложно оценивать вопросы про дискретную математику, теорвер, алгоритмы сжатия и т.п., зато легко диффуры, численные методы мат. анализа, 3D графика.
      Цитата
      Под алгоритмами я подразумеваю именно математические алгоритмы,
      направленные на решение каких-либо задач.

      Ну пусть в меня не кидают камни, но, ИМХО, все алгоритмы в той или иной степени математические :)
      Цитата
      В Рунете основными источниками алгоритмов являются два сайта:
      http://algolist.manual.ru и http://alglib.manual.ru

      Тут ты не прав. Загляни хотя бы сюда Ссылки на алгоритмы и методы реализации. Лично мне больше всего нравится БЧА НИВЦ МГУ. Степень доверия к этой библиотеке у меня самая высокая, т.к. это проект РФФИ, в отличие от множества других источников с сомнительным качеством исходников.
      Цитата
      За последние полгода я собрал немалую коллекцию различных
      математических алгоритмов (около 300 различных алгоритмов),
      документация по численным методам.

      Молодец! И чего ты с ними делаешь :)?
      Цитата
      Идея FAQ алгоримтов обсуждалась на форуме довольно давно,

      В этом разделе уже есть FAQ: избранное часть 1 (и не последняя). То, что его можно и нужно развивать в этом сомнений нет.
      Цитата
      идеального решения вроде так пока и не достигли, а между прочим
      одни и теже вопросы в форуме "Алгоритмы" повторяются более-
      менее регулярно.

      Есть такое дело. Я за те полгода, что на форуме, отвечал на повторяющиеся, но, кстати их было не много. Самые овторяющиея это ИНТЕРПОЛЯЦИЯ/АППРОКСИМАЦИЯ, решение СЛАУ.

      Цитата
      Вообщем - что я предлагаю сделать: Создать сайт:

      Решительно против этого!!! FAQ надо здеся развивать :) Обилие сайтов затрудняет поиск. Зачем отсылать человека пришедшего на этот форум в FAQ на другом сайте :wall: ?
      Цитата
      1) Выложить на нем наиболее часто используемые алгоритмы:
      построение графика ф-ции/численное интегрирование/решение ОДУ/решение
      СЛАУ/работа с матрицами/приближение функций, и т.д. с описаниями,
      теорией.

      Еще раз повторю, не надо делать БЧА, нужно делать FAQ, а для этого реально нужно проанализировать какие вопросы наиболее частые.
      Цитата
      2) Реализация на различных языках. Разные люди
      используют разные языки программирования. Имеет смысл делать реализации
      для: Fortran/Pascal/Delphi/C++/Basic/Visual Basic.

      Многие со мной не согласятся, но это, ИМХО, не нужно, разве только Fortran/С(С++), т.к. в этих языках имеется принципиальная неустранимая разница при обработке матриц, а также различия в способах передачи параметров в функции, что затрудняет конвертацию. Самостоятельная конвертация кода - хорошее упражнение для программиста (лучше, конечно, не пользоваться трансляторами).
      Цитата
      3) Блок-схемы. Они дают наиболее наглядное представление о структуре алогоритма.

      Не знаю. Лично мне исходники всегда дают самое ясное представление о структуре алгоритма :) Встречаются правда личности, которые в трех соснах разобраться не могут :), пять строк кода и ищут ошибку.
      Цитата
      4) Надо собирать именно АЛГОРИТМЫ численных методов, а не разные варианты готовой
      лабораторной работы (отличающиеся, к примеру количеством ур-й в системе), и др.
      не имеющее смысла.

      Нужно собирать FAQ, а не алгоритмы.
        Здравствуйте, All! Сразу к делу.

        Да, Math прав, FAQ можно построить и здесь.

        1. Нужно место под FAQ, а структуру предлагаю сделать следующим образом:
        По поводу текущего "FAQ Избранное" - ссылки на ветки форума - решение далеко
        не самое лучшее, т.к.:
        1.1. Вопросы могут быть решенными не до конца и не содержать полного ответа на
        вопрос.
        1.2. Форум - штука динамическая, построена на скриптах, что-то измениться -
        и ссылки станут недействительными.
        * Поэтому:
        2. FAQ - это должны быть статичные страницы, дающие полное раскрытие данного
        вопроса, описание алгоритма, формулы в графическом формате, реализации, а также
        по возможности - результаты контрольных рассчетов.
        2.1. Множество реализаций "под все языки" вообще-то хорошо, но очень трудоемко,
        поэтому для начала следует охватить лишь наиболее часто используемые,
        к примеру Pascal/Fortran/C, затем "по просьбам трудящихся" этот пречень можно
        расширить.
        2.2. Автоматические трансляторы не дают оптимального кода, а кроме того
        переведенные исходники нельзя использовать без библиотеку данного транслятора
        (в большинстве случаев). Таким образом гораздо лучше перевести на другой язык
        вручную, чем исправлять то что отконвертировал транслятор (если конечно знаешь язык).
        * Чтобы знать что должно содержать FAQ необходимо выяснить: какие темы часто
        рассматриваются:
        3. Проанализировав сообщения этого форума, а также других форумов по алгоритмам,
        я выяснил, что наибольший спрос имеют темы, которые можно разделить на следующие
        категории:
        ** 1) Приближение функций (интерполяция/аппроксимация).
        ** 2) Интегралы.
        ** 3) Дифференциальные уравнения.
        ** 4) СЛАУ.
        ** 5) Нелинейные уравнения.
        ** 6) Специальные функции (erf и др.).
        ** 7) Работа с матрицами.
        ** 8) Графы/маршруты на карте и др.
        ** 9) Комбинаторика, теория вероятностей.
        ** 10) Стандартные несложные алгоритмы, исп. в олимпиадных задачах по программированию
        (НОК, НОД, и др., что не вошло в предыдущие категории).
        Также встречаются вопросы по преобразованию/сжатию данных, графики. Список может быть пополнен анализированием
        сообщений форума его участниками, а также "по просьбам трудящихся".
        По всем вышеприведенным пунктам у меня есть отличный "стартовый капитал", так что могу предоставить.
        4. А что касается размещения FAQ, то тут может быть два варианта:
        1) Если это вообще возможно и администрация даст добро на размещение FAQ на данном сервере.
        2) Если первое невозможно, то разместить FAQ на другом сервере, а на форуме дать ссылки именно на материал
        по конкретному вопросу, чтобы упростить поиск, на сайте - разместить ссылку на форум.

        Просьба всех, кого это предложение заинтересовало - пишите в форум, или на e-mail.
          Предлагаю стрза 5 минут склепал структуру FAQ.
          Просто 2 html без оформления, инфы, исходников.
          Сделать другую - не вопрос...
          Прикреплённый файлПрикреплённый файлFAQ_algoritms.zip (1.12 Кбайт, скачиваний: 229)
            Цитата
            3. Проанализировав сообщения этого форума, а также других форумов по алгоритмам,
            я выяснил, что наибольший спрос имеют темы, которые можно разделить на следующие
            категории:

            Можешь привести объективные убедительные доказательства?

            Посмотри как сделан FAQ
            Мне кажется нужно нечто подобное, просто ссылки на темы плохо, там в осовном не доведено до конца и качество ответов иногда не очень так скажем.
            Нужны статьи в FAQ. Но еще раз повторю нужны именно ответы на частые вопросы про методы, а не сами методы.

            Хороший вопрос в FAQ мне видится таким.

            "У меня не получается то то и то то там то и там то"
            Или "Как сделать ...?"
            Или "При использовании метода (алгоритма) возникла такая то проблема. Что делать?"
              DoctorGenius, ты не угадал приоритеты вопросов на этом форуме.

              Вот результаты анализа сообщений (по заголовкам) за весь период. Всего было создано 1626 тем.
              Я попытался собрать статистику вопросов по темам. Результаты, конечно, могут быть не совсем точными.
              Вот распределение.

              Криптография и криптоанализ 37
              Вычислительная геометрия 29
              3D графика 29
              Теория игр 28
              Графика и видео (форматы;
              сжатие; алгоритмы заливки,
              построения фигур и т.д.) 28
              Графы 27
              Сплайны 26
              Теория чисел 26
              Фурье-анализ 24
              Интерполяция 17
              Матрицы и линейная алгебра 17
              BSP-деревья 15
              Сравнение и поиск 15
              Комбинаторика 14
              Сортировка 14
              Решение ОДУ 13
              Случайные числа 12
              Сжатие данных 12
              Вычисление функций и спецфункций 12
              СЛАУ 11
              Нелинейные уравнения 11
              Поиск пути 11
              Нелин. мат. программирование 11
              Интегрирование 10
              Теория вероятности 9
              Хеш-таблицы и функции 8
              Звук 8
              Большие числа 7
              CRC 6
              Нейросети 6
              Алгоритм Хаффмана 6
              Поворот вектора 5
              Лин. мат. программирование
              (симплекс метод) 5
              Дифференцирование 5
              Распознавание текста 5
              Фракталы 5
              Перебор 5
              Мат. cтатистика 5
              Метод наименьших квадратов 5
              Метод ветвей и границ 5
              Действия над полиномами 5
              Аппроксимация 4
              Анализ сложности алгоритмов 4
              Нелинейные системы уравнений 3
              ЗD графика (эффекты) 3
              Календарь 3
              Мат. пакеты 3
              Алгоритм Дейкстры 3
              Восстановление изображения
              по проекциям 3
              Золотое сечение 3
              Вейвлеты 2
              Fuzzy logic 2
              Интегральные уравнения 2
              Расписание 2

              Итого 586


              Остальные две трети сообщений мне было трудно куда либо определить, т.к. половина из них не относится собственно к алгоритмам, а другая половина представлена единичными вопросами.
              Так, что делай выводы какие вопросы просятся в ФАК. В пределах первой двадцатки можно провести более подробное разделение.
                Да, действительно не угадал. Правда, относительно остальных 1040 сообщений: из заголовка не всегда
                бывает ясно что именно имелось в виду. Вот еще несколько форумов по Алгоритмам:
                http://foi.h11.ru/viewforum.php?f=21&sid=8...959b02d98b36185
                http://www.progz.ru/forum/viewforum.php?f=...9e3efe7fceced22
                http://www.delphikingdom.com/asp/nets.asp?ItemID=50
                http://www.bib.com.ua/conf/index.php?board=11
                http://forum.proger.ru/
                http://forum.vingrad.ru/index.php?showforum=13
                http://www.rushelp.com/forum/viewforum.php...9a46024558b7497
                Все заголовки тем скачаны, см. в zip'e.
                В любом случае нужно выяснить - что именно спрашивают - по одному и тоже или же разные
                темы, относящиеся к даным категориям.
                Прикреплённый файлПрикреплённый файлforum_alg.zip (126.58 Кбайт, скачиваний: 221)
                  2DoctorGenius:
                  Просмотрел я всю инфу которцю ты предоставил. Плохо что все это лишь ссылки на те или иные сайты, а не конкретное описание алгоритмов.

                  2All:
                  Что касается FAQ по алгоритмам, то сделать его достаточно полным с охватом ВСЕХ тем я бы сказал не предоставляется возможным. Так как необходимо не просто краткое описание задачи, но и способы ее решения. Посмотрите на тот же algolist и объем информации который там предоставлен. Для НОРМАЛЬНОЙ реализации FAQ'a прежде всего необходимо четко определить структуру и вид.

                  Поэтому поднимаю тему.
                    Когда-то я тоже хотел сделать FAQ по алгоритмам.
                    В результате появился сайт algolist.manual.ru

                    Большой FAQ, не правда ли?
                    И он далеко не полон.

                    P.S
                    Может быть проще доделать существующий сайт, а не делать все заново?
                      Цитата
                      GrAnd, 7.09.04, 11:54
                      Что касается FAQ по алгоритмам, то сделать его достаточно полным с охватом ВСЕХ тем я бы сказал не предоставляется возможным. Так как необходимо не просто краткое описание задачи, но и способы ее решения.

                      Ну, это зависит от того, что понимать под FAQ. Мне тут пришла в голову такая идея о форме FAQ - нечто вроде вот этого кусочка:
                      Цитата

                      Как решить систему линейных уравнений?
                      Если число уравнений равно числу неизвестных, то можно использовать метод Гаусса.

                      Что делать, если метод Гаусса выходит с ошибкой деления на 0?
                      Использовать метод Гаусса с выбором ведущего элемента.


                      Правда, я не уверен в практической пользе такого подхода, но в равной мере не уверен в отсутствии пользы. Так можно по крайней мере сделать что-то оригинальное.
                        Как насчет "при некоммерческом использовании ссылка на автора..." ?
                          Цитата DoctorGenius @ 11.09.04, 02:28
                          Как насчет "при некоммерческом использовании ссылка на автора..." ?

                          manual.ru не прикрывают.. Он уже прикрыт и сайт поддерживается теперь самостоятельно.

                          Обвинения не падут:
                          1. Сайт некоммерческий и будет таковым оставаться
                          2. Сайт находится в ру-нете
                          3. Если автор против - я убираю его статьи с сайта.
                          1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                          0 пользователей:


                          Рейтинг@Mail.ru
                          [ Script execution time: 0,0331 ]   [ 14 queries used ]   [ Generated: 6.10.24, 09:58 GMT ]