Блог им. Therollingstones

Смартлабовцы!

 Ломаю голову над условным оператором моего @торгового робота, по коду вопроса нет, но есть одна очень хорошая задача. 

 У меня есть 10 функций, каждая функция содержит условие, а давайте я выложу это дело 

 

let Testv1t1 = fun v1 -> if ((v1 >= 0)&&(v1 <= 3)) then 0
                                else 1
let Testv2t1 = fun v2 -> if ((v2 >= 0)&&(v2 <= 3)) then 0
                                else 1
let Testv3t1 = fun v3 -> if ((v3 >= 0)&&(v3 <= 3)) then 0
                                else 1
let Testv4t1 = fun v4 -> if ((v4 >= 0)&&(v4 <= 3)) then 0
                                else 1
let Testv5t1 = fun v5 -> if ((v5 >= 0)&&(v5 <= 3)) then 0
                                else 1
let Testv6t1 = fun v6 -> if ((v6 >= 0)&&(v6 <= 3)) then 0
                                else 1
let Testv7t1 = fun v7 -> if ((v7 >= 0)&&(v7 <= 3)) then 0
                                else 1
let Testv8t1 = fun v8 -> if ((v8 >= 0)&&(v8 <= 3)) then 0
                                else 1
let Testv9t1 = fun v9 -> if ((v9 >= 0)&&(v9 <= 3)) then 0
                                else 1
let Testv10t1 = fun v10 -> if ((v10 >= 0)&&(v10 <= 3)) then 0
                                   else 1

условие на данный момент тренировочное но вот суть вопроса.
Итогом работы этих 10 функций будет множество вариантов

Если условия во всех функциях будут выполнены мы получим во такой код 

0 0 0 0 0
0 0 0 0 0

Если условия во всех функциях будут не выполнены мы получим 

1 1 1 1 1
1 1 1 1 1

Дальше интереснее 

1 0 0 0 0   0 0 0 0 0  
0 0 0 0 0   1 0 0 0 0

0 1 0 0 0   0 0 0 0 0
0 0 0 0 0   0 1 0 0 0

0 0 1 0 0   0 0 0 0 0
0 0 0 0 0   0 0 1 0 0

0 0 0 1 0   0 0 0 0 0
0 0 0 0 0   0 0 0 1 0

0 0 0 0 1   0 0 0 0 0
0 0 0 0 0   0 0 0 0 1

Как вы понимаете, можно получить очень необычную комбинацию, например 

1 1 1 0 0
0 0 1 0 0

Я так понимаю, здесь может быть множество комбинаций, 

Мои выводы

а) конечно нужно будет исходить из реальной ситуации и прописать все возможные исключения в результате тестов
б) а возможно посчитать все доступные комбинации?

Мое мнение что здесь очень тонкая грань между допустимым множеством исключений и бесконечностью, ну либо очень большим кол — вом исключений которые просто не реально будет прописать) 
Если есть идей пишите) буду рад) 

Конечно комбинации необходимо просчитывать исходя из реальной ситуации, но а ради интереса, как просчитать? 




Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
    13
    26 комментариев
    вопрос то в чём? или я туплю, или лыжи не едут)))
    avatar
    0 0 0 0 0
    0 0 0 0 0

    Сколько может быть комбинаций единичек в данном кол — ве ячеек) 
    avatar
    Therollingstones, Мне кажется очень много, почти бесконечно, но как посчитать, просто интересно. Я даже так на глаз прикидываю и уже сложно.
    avatar
    Therollingstones, переведи число 1111111111 из двоичной в десятичную систему и узнаешь кол-во комбинаций))))


    если лень, то это 1023. И если 0000000000 читать комбинацией, то всего 1024 комбинации! Это же просто)))

    … не забудь плюсануть))
    avatar
    Я бы сказал на вскидку 10!, или 3628800 Но надо комбинаторику вспомнить.
    avatar
    Евгений, значит правильный вариант 

    а) максимально возможное тестирование исходя из реальной ситуации.) если 3628800 )) 
    avatar
    Евгений, а как получили результат  3628800
    avatar
    Therollingstones, Евгений, а как получили результат  3628800

    Я могу ошибаться. Но по сути у нас есть ряд из 10 составляющих x.....n, которые можно менять местами как угодно. Количество всемозможных комбинаций можно определить как n! (n факториал). Т.е 10!=1*2*3*4*5*6*7*8*9*10=3628800. Но лучше погуглить статьи по комбинаторике)
    avatar
    Евгений, Мне кажется вы правы) 
    avatar
    FullCup, а как посчитали ?)
    avatar
    www.mathelp.spb.ru/book2/tv3.htm — там есть раздел перестановки из n элементов. Я думаю что-то похожее и здесь.
    avatar
    Евгений, лють лютейшая)) 
    avatar
    Therollingstones, Если 3628800 то сами судите, прописать код для каждого варианта не реально) здесь чисто физические грабли) 
    avatar
    Therollingstones, ну тут надо понимать, что представляет из себя алгоритм робота. Всегда есть способы, как можно облегчить или упростить.
    avatar
    Евгений, Я пока в свободном полете и эксперименте, представляю только поверхностно так) 
    avatar
    Евгений, Спасибо за ссылку) 
    avatar
    Блин, я ж выше ответил)) Что не смотришь? )))
    avatar
    FullCup, Вот я лол))) А как посчитать не понял, до меня долго доходит)) Материалы бы какие почитать…
    avatar

    Therollingstones, https://ru.wikipedia.org/wiki/%D0%94%D0%B2%D0%BE%D0%B8%D1%87%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4 

    Смотри, нашел статью в википедии в подтверждении ответа FullCup

    avatar

    Therollingstones, ща на пальцах объясним)) — я в этом поднаторел, потому что в математике не особо. 

    У нас десять ячеек. Вариативность каждой из них — 1 и 0, т.е. 2 варианта. Т.о., берем случай когда у нас только одна ячейка, будет два возможных варианта: 0 и 1. Теперь посмотрим, как обстоят дела с двумя ячейками. Во второй ячейке тоже возможны два вариант, а сколько комбинаций на двух ячейках: на каждый вариант в первой ячейке найдётся два варианта во второй, соответственно общее кол-во вариантов будет равно кол-ву вариаций в первой x 2. И далее аналогично — кол-во вариаций при n кол-ве ячеек будет равно кол-ву вариаций при n-1 кол-ве ячее ячеек x 2. Если попробовать проделать то же при 3-х позиционной вариативности в одной ячейке, то будет видно, что множитель 2 превратится в 3. А если попытаться из этого единую формулу сварганить, то и получится, что общее кол-во вариантов будет равно кол-во вариаций в одной ячейке в степени кол-ва ячеек.

    А тебе зачем это?)

    avatar
    Replikant_mih, сводка по условиям, пишу прогу одну
    avatar
    Replikant_mih, Я позже буду выкладывать открытый код обязательно) 
    avatar
    Therollingstones, Да чё, код. Всё равно язык непонятный).
    Как говорили в Иван Василиче: «Хотелось бы понять в общих чертах, о чем он говорит»))

    avatar
    Replikant_mih, F#, на самом деле делаю разработочную схему. Фишка в том, что каждый тик приходит 10 значений, мне нужно каждое проверить и получить реакцию в зависимости от от общей картины.) Если ооооооочень просто а так 

    mva.microsoft.com/ru/training-courses/-f--12198

    )
    avatar
    2^10 = 1024 комбинации, факториал — из другой оперы.
    avatar

    Читайте на SMART-LAB:
    Цифровой рубль нуждается в тонкой донастройке
    Президент России Владимир Путин на совещании по экономике 23 сентября попросил главу Банка России и министра финансов доложить о том, как...
    Фото
    Стратегия: о чём спорят аналитики Альфа-Инвестиций
    Василий Карпунин Аналитики Альфа-Инвестиций регулярно рассказывают о своём взгляде на рынок в ежеквартальных Стратегиях. Но сегодня мы хотим...
    Фото
    Ведущие аналитики позитивно оценили финансовые результаты ДОМ.РФ
    ⚡️ Ведущие аналитики позитивно оценили финансовые результаты ДОМ.PФ за 8 месяцев 2026 года. Они отмечают: — высокий темп роста чистой...
    Фото
    Мозговой штурм: какие идеи в моменте?
    Доброго вечера. Сегодня мы провели традиционный мозговой штурм. Выпишу некоторые идеи:

    теги блога therollingstones

    ....все тэги



    UPDONW
    Новый дизайн