Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Алгоритмы

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8

Открыть новую тему     Написать ответ в эту тему

akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
все вопросы по алгоритмам, их созданию и сопровождению без привязки к какому-нибудь конкретному языку программирования...
ну или с привязкой :)
дать идею, помочь с математикой или, если вам не помогли в профильном топе...
 
по возможности используйте псевдокод в своих сообщениях
 
ссылки
 
  •  "ebook'и -- сборники алгоритмов"
     


    только помните, что тут никто ничего _делать за вас_ не обязан!
    для этого есть специальные места со своими ценами...

  • Всего записей: 21360 | Зарегистр. 06-12-2002 | Отправлено: 09:28 16-12-2016 | Исправлено: akaGM, 09:03 12-07-2019
    MERCURY127



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    так это функция нахождения НОД?
    рекурсивно-декоративная...

    Всего записей: 9923 | Зарегистр. 03-08-2008 | Отправлено: 16:27 14-07-2019
    YuS_2



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MERCURY127

    Цитата:
    рекурсивно

    не, рекурсивно, это так:

    Код:
    function gcd ($a, $b) {
        if (!$b){$a}else{gcd $b ($a%$b)}
    }

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

    Всего записей: 3173 | Зарегистр. 03-02-2009 | Отправлено: 19:40 14-07-2019
    akaGM

    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    YuS_2
     
    а вот всё что ты так подробно описал на псевдокоде было никак?

    Всего записей: 21360 | Зарегистр. 06-12-2002 | Отправлено: 21:20 14-07-2019
    YuS_2



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    akaGM

    Цитата:
    а вот всё что ты так подробно описал на псевдокоде было никак?

    относительно задачи, это несущественно, поэтому не имеет смысла.
    Существенно - описание функции, а её вроде описал ... как умел, на псевдо...

    Всего записей: 3173 | Зарегистр. 03-02-2009 | Отправлено: 23:37 14-07-2019
    akaGM

    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    YuS_2
     
    ok, спас...

    Всего записей: 21360 | Зарегистр. 06-12-2002 | Отправлено: 07:38 15-07-2019
    Steepe_Hare



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Господа, подскажите какую математическую функцию или алгоритм применить для эффективного решения следующей задачи:
     
    из двух вариантов (допустим, ходов в игре) нужно выбрать наиболее перспективный (на основе статистики и теории вероятности).
    Вариант А до этого выбирался три раза. Итог: 3-0 в пользу выбравшего
    Вариант Б до этого выбирался 12 раз. Итог: 10-2 в пользу выбравшего

    Всего записей: 1086 | Зарегистр. 27-10-2001 | Отправлено: 19:20 01-12-2019
    Mavrikii

    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Steepe_Hare
    https://ru.wikipedia.org/wiki/Байесовский_вывод
    возможно лучше добавить сдвиг, иначе в случае первого проигрыша ход больше выбираться не будет.
    то есть считать начальным состоянием 1:1

    Всего записей: 11234 | Зарегистр. 20-09-2014 | Отправлено: 22:15 01-12-2019 | Исправлено: Mavrikii, 23:10 01-12-2019
    akaGM

    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    монетку подбрасывать...
    0.5 -- хорошая вероятность :)

    Всего записей: 21360 | Зарегистр. 06-12-2002 | Отправлено: 23:07 01-12-2019
    Steepe_Hare



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Mavrikii
     
    спасибо

    Всего записей: 1086 | Зарегистр. 27-10-2001 | Отправлено: 15:13 03-12-2019
    akaGM

    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    казалась примитивная задача...
     
    нахождение ближайшего цвета в массиве (палитре)
     
    цвет задан #00rrggbb ну или #00bbggrr, неважно
    задана палитра == массив цветов NUMCOLORS
    #00ККЗЗСС :) = Co
     
    чё-то я кроме как оптимизации по трём параметрам
    функционала
     
    meritFunc = Sum_n_NUMCOLORS{ (Rn-Ro)^2 + (Gn-Go)^2 + (Bn-Bo)^2 }
     
    на этом массиве решения не вижу
     

     
    Добавлено:
     
     
    нда...
     
    задача 100500 раз уже решена...
     
    Добавлено:
     
    например
    http://algolist.manual.ru/graphics/find_col.php
    да ещё с адаптацией к человеческому зрению...
     
    ну что ж, всем спасибо, особенно ЯндоГуглю :)
     
    Добавлено:
     
    да блин!
    я ж так и хотел :)

    Всего записей: 21360 | Зарегистр. 06-12-2002 | Отправлено: 09:20 29-01-2020 | Исправлено: akaGM, 09:22 29-01-2020
    3ug3n3

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте, подскажите какие-то хорошие для написания парсеров

    Всего записей: 10 | Зарегистр. 07-09-2020 | Отправлено: 19:51 07-09-2020
    Rayinad

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    3ug3n3
    Рекурсивный спуск подойдет - https://github.com/true-grue/Compiler-Development/blob/master/docs/descent.md
    Но я бы предложил сначала разработать\найти формальную грамматику штуки, которую собираетесь разбирать - и вот уже по ней писать\генерировать разбор - так более вероятно получить рабочий вариант.

    Всего записей: 28 | Зарегистр. 13-10-2017 | Отправлено: 21:50 25-11-2020 | Исправлено: Rayinad, 21:54 25-11-2020
    m00slim25



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Доброго дня!
     
    У кого есть опыт работы с аналоговыми устр-вами ввода (джойстики, геймпады и т.д.) ?
    Очень интересуют алгоритмы (формулы?), применяемые для искривления кривых отклика (или как принято говорить - сглаживания).
     
    Пока реализовал только простейший вариант, по формуле xk * (max / maxk) для полуосей, от 0 до min, и от 0 до max.
     
    В идеале хотелось бы прийти к варианту сглаживания по нескольким опорным точкам, но не владею достаточными знаниями по данной теме.

    Всего записей: 873 | Зарегистр. 30-05-2006 | Отправлено: 09:08 12-01-2021 | Исправлено: m00slim25, 09:28 12-01-2021
    akaGM

    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    m00slim25
     
    правильно ли я понял, что формально задача стоит в обычном сглаживании дискретной функции? неважно скольких переменных...

    Всего записей: 21360 | Зарегистр. 06-12-2002 | Отправлено: 12:06 12-01-2021
    m00slim25



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    akaGM
     
    Не сглаживании, а напротив - искривлении. Примерно вот так
    Это кривые Безье, по сути - идеальный вариант, но мне до такого пока ещё очень далеко.

    Всего записей: 873 | Зарегистр. 30-05-2006 | Отправлено: 13:45 12-01-2021 | Исправлено: m00slim25, 13:45 12-01-2021
    akaGM

    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    m00slim25

    Цитата:
    Это кривые Безье
    во-во, лучше не придумаешь...

    Цитата:
    но мне до такого пока ещё очень далеко.
    а в чём проблема?
    библиотек-реализаций -- до jопы, ешь не хочу...

    Всего записей: 21360 | Зарегистр. 06-12-2002 | Отправлено: 13:54 12-01-2021
    Mavrikii

    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    m00slim25

    Цитата:
    Это кривые Безье

    в общем случае, сплайны.
    https://ru.wikipedia.org/wiki/B-сплайн
    у Безье кривая проходит только через конечные точки.
     
    Построение оптимального сплайна Безье
    http://mech.math.msu.su/~fpm/ps/k16/k163/k16304.pdf
     
    проще - https://learn.javascript.ru/bezier

    Всего записей: 11234 | Зарегистр. 20-09-2014 | Отправлено: 07:59 13-01-2021 | Исправлено: Mavrikii, 08:03 13-01-2021
    akaGM

    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    m00slim25

    Цитата:
    Не сглаживании, а напротив - искривлении

    а вообще я тогда не очень понял задачу...
    есть таблица отсчётов прибора и надо что-то по ней построить или надо что-то мониторить в риал-тайме?
     
    и тем не менее во всех случаях надо хорошо знать аналитическую геометрию :)

    Всего записей: 21360 | Зарегистр. 06-12-2002 | Отправлено: 14:11 13-01-2021
    destiny child



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Приветствую!
     
    Есть диапазон времени работы точки: {StartTimeX; EndTimeY}.
    Есть список продавцов, работающих там: Master1, Master2, Master3,...
    У каждого из них есть список слотов времени, когда они работают в этом магазине:
    [Slot1{timeX; timeY}, Slot2{timeX; timeY}, Slot3{time; timeY}, ....]
    Список может быть пустым, может содержать один слот, равный {StartTimeX, EndTimeY}, или несколько слотов.  
    Причем обязательно следующий слот точно не перекрывает предыдущий/не начинается с него.
    Т.е. если их, к примеру, два - то время окончания первого слота точно не является временем начала следующего.  
    У него время начала хотя бы на кратный 5 минутам отрезок времени, но будет дальше: {15:30;16:45}, {16:50;19:05}.
    Надо для каждого продавца найти список слотов их НЕрабочего времени!
    Простейший пример: В магазине время работы {10:00; 22:00}, Продавец работает [{13:00; 17:00}, {19:30; 22:00}].  
    Значит итоговый искомый список слотов нерабочего времени: [{10:00; 13:00}, {17:00; 19:30}].  
    Продавец работает [{11:30; 22:00}]. Значит список слотов нерабочего времени: [{10:00; 11:30}].  
    Продавец работает [], т.е. не работает. Значит список слотов нерабочего времени: [{10:00; 22:00}]  
    В этом списке концы слотов времени конечно же могут и должны равняться концам/началам слотов рабочего времени  
    и/или магазина/продавца. Конечно же список может быть и пустым, т.к. продавец работает полностью {от и до}.
     
    Есть идеи какой тут простой)) алгоритм поиска может быть применен?  
    Ищется решение под питон, под какие-нить готовые библиотеки, связанные с временем/датой...

    Всего записей: 1376 | Зарегистр. 01-04-2006 | Отправлено: 19:32 01-03-2021 | Исправлено: destiny child, 19:37 01-03-2021
    Mavrikii

    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    destiny child
    сделайте в лоб - выбираете слоты для продавца, сортируете по времени начала.
    и далее тупо проверяете перебирая их, чтобы разница между окончанием и началом была не больше 5 минут. если больше - временной интервал добавляется в нерабочий. будет работать без проблем, раз изначально нет перекрытия.

    Всего записей: 11234 | Зарегистр. 20-09-2014 | Отправлено: 20:02 01-03-2021 | Исправлено: Mavrikii, 20:03 01-03-2021
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8

    Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Алгоритмы


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.Board
    © Ru.Board 2000-2020

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru