-Поиск по дневнику

Поиск сообщений в rss_forum_sources_ru

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 29.07.2007
Записей:
Комментариев:
Написано: 80




Форум на Исходниках.RU


Добавить любой RSS - источник (включая журнал LiveJournal) в свою ленту друзей вы можете на странице синдикации.

Исходная информация - http://forum.sources.ru.
Данный дневник сформирован из открытого RSS-источника по адресу http://forum.sources.ru/yandex.php, и дополняется в соответствии с дополнением данного источника. Он может не соответствовать содержимому оригинальной страницы. Трансляция создана автоматически по запросу читателей этой RSS ленты.
По всем вопросам о работе данного сервиса обращаться со страницы контактной информации.

[Обновить трансляцию]

Меня бесят ламеры

Понедельник, 14 Июня 2021 г. 13:13 + в цитатник
korvin:
Цитата D_KEY @
Ну я тут имел в виду, что оно ещё и во время компиляции гарантировано вычисляется

В смысле? А если вместо ключевого слова const в языке используется val — то всё, приплыли?

https://forum.sources.ru/index.php?showtopic=421515&view=findpost&p=3848170


Метки:  

Меня бесят ламеры

Понедельник, 14 Июня 2021 г. 13:09 + в цитатник
D_KEY:
Цитата korvin @
Цитата D_KEY @
А я бы предпочел что-то вроде:

Это то же самое.

Ну я тут имел в виду, что оно ещё и во время компиляции гарантировано вычисляется :)

https://forum.sources.ru/index.php?showtopic=421515&view=findpost&p=3848169


Метки:  

Меня бесят ламеры

Понедельник, 14 Июня 2021 г. 13:02 + в цитатник
korvin:
Цитата D_KEY @
А я бы предпочел что-то вроде:

Это то же самое.

Цитата D_KEY @
Хотя само наличие константы с таким названием смущает

Ага, и хотя это просто абстрактный пример, нормальное имя могло бы сразу дать понять, что место ей не в каком-то безликом Constants, а в соответствующем классе/модуле. )

https://forum.sources.ru/index.php?showtopic=421515&view=findpost&p=3848168


Метки:  

Меня бесят ламеры

Понедельник, 14 Июня 2021 г. 12:45 + в цитатник
D_KEY:
Цитата korvin @
Цитата sergioK @
Покажи не велосипед

    val resultCode = -1

А я бы предпочел что-то вроде:

    const resultCode = -1


Добавлено
Хотя само наличие константы с таким названием смущает :)

https://forum.sources.ru/index.php?showtopic=421515&view=findpost&p=3848167


Метки:  

Меня бесят ламеры

Понедельник, 14 Июня 2021 г. 06:49 + в цитатник
sergioK:
Цитата korvin @
Цитата sergioK @
Я не видел что бы их кто-то использовал.

Не удивительно.

Цитата sergioK @
В понятиях Явы это не велосипед

Ещё какой велосипед.

Покажи не велосипед

https://forum.sources.ru/index.php?showtopic=421515&view=findpost&p=3848141


Метки:  

MVS: помогите найти место вывода переменной

Понедельник, 14 Июня 2021 г. 06:25 + в цитатник
Berbraer: ЫукпШ, слухай, ну я не настолько тупенький чтобы не разобраться как искать по проекту в студии :) Просто сишные передачи указателей немного ломают мозг с непривычки + непонимание, какая функция стандартная и известно что делает, какая - самописная автором.
Но не суть, нашёл.
Окончательное вычисление/форматирование результата происходит в функции
void CDiskMarkDlg::SetMeter(CStaticFx* control, double score, double latency, int blockSize, int unit)
И выводятся в m_TestRead через void CDiskMarkDlg::UpdateScore()

Соответственно, в SetMeter можно перехватывать doble результаты.

Вдруг кому пригодится.

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

https://forum.sources.ru/index.php?showtopic=421488&view=findpost&p=3848140


Метки:  

Алгоритм Прима (построение остова мин.веса)

Понедельник, 14 Июня 2021 г. 05:26 + в цитатник
FasterHarder: В общем понял (прочитав в одном материале), что надо напрочь отказываться от весовой матрицы и переходить на список смежности.
Колоссальной оптимизации можно добиться, если построить список смежности, упорядочив внутри по весу по неубыванию...

На рис.показал, что из себя будет представлять такой список смежности (один из вариантов реализации, далеко не факт, что оптимальный):
_______________________________.png (, : 8)

То есть, если подается на вход весовая матрица (например, считыванием из файла + с клавиатуры обычно не вводят весовые матрицы - неудобно абсолютно+долго), то строим список смежности, добавляя по блоку информации в нужный ЛОС, не теряя при этом отсортированности. По факту возможны 3 операции вставки в ЛОС: в начало, в конец и в "средину". Придется каждую из них программить, эх...итоговая программа вообще разрастется уже до 300+ строк кода

Если происходит ввод с клавиатуры, то требуем формат: <1ая смежная вершина> <2ая смежная вершина> <вес ребра между ними>, то есть 3 числа. И также после этого происходит добавление в таблицу списка смежности, не теряя упорядоченности.

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

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

Единственный момент, если обрабатывается ПОЛНЫЙ ГРАФ, то вроде в этом случае нецелесообразно вообще получать список смежности, хотя...Ведь на построение уйдет кучу времени, но потом это будет окупаться при поиске наименьшего. Здесь непонятка, стоит ли овчинка выделки. С др.стороны ведь неизвестно, какого типа подается на вход граф и надо убедиться, что он является полным + очевидно, что в 99.99% граф будет подаваться неполным, поэтому, независимо от конфигурации графа (полный, разреженный, плотный и пр.) надо всегда получать список смежности и это ДОЛЖНО РЕЗКО увеличить производительность выполнения прожки, вроде)

p.s. тут сплошная динамика и все это надо закодить корректно и будет несколько сотен строк кода...в их примерчиках по 25-30 строк, правда 19 программ из 20, которые я видел были на С++ (в связке с СТЛ-кой приблудой) + на весовых матрицах (без построения списка смежности). Пусть попробуют на Си покодить, создавая с нуля велосипеды))

https://forum.sources.ru/index.php?showtopic=421519&view=findpost&p=3848139


Метки:  

Меня бесят ламеры

Понедельник, 14 Июня 2021 г. 00:33 + в цитатник
korvin:
Цитата sergioK @
Я не видел что бы их кто-то использовал.

Не удивительно.

Цитата sergioK @
В понятиях Явы это не велосипед

Ещё какой велосипед.

https://forum.sources.ru/index.php?showtopic=421515&view=findpost&p=3848138


Метки:  

Меня бесят ламеры

Воскресенье, 13 Июня 2021 г. 22:58 + в цитатник
sergioK:
Цитата D_KEY @
Особенно если речь о том, чтобы делать implements для "импорта" констант в том классе, где мы хотим эти константы юзать. Это очевидно переворачивает все с ног на голову.

Это делают те кто не понимает, а в сети таких полно, Я за 15лет ни разу не делал,
То что при прописании констант, интерфейс перестает быть тем чем ему дали с рождения все знают,
Напиши свой язык, где никто ничего не переворачивает все с ног на голову ;)

https://forum.sources.ru/index.php?showtopic=421515&view=findpost&p=3848132


Метки:  

S.T.A.L.K.E.R.: Call of Pripyat

Воскресенье, 13 Июня 2021 г. 21:02 + в цитатник

Метки:  

Игры 2013 - ...

Воскресенье, 13 Июня 2021 г. 21:00 + в цитатник

Метки:  

обработка спутниковых снимков

Воскресенье, 13 Июня 2021 г. 17:39 + в цитатник
scrambrella: Размечающая программа это готовый ИИ. Вряд ли в открытом доступе есть такое.
Зачем вам размечать снимки?

https://forum.sources.ru/index.php?showtopic=421516&view=findpost&p=3848108


Метки:  

Меня бесят ламеры

Воскресенье, 13 Июня 2021 г. 16:49 + в цитатник
D_KEY:
Цитата applegame @
Цитата D_KEY @
Потому, что это не имеет никакого отношения к понятию интерфейса.
Так же как и к понятию класса. И то и другое просто костыль для обхода ограничения самого языка. Не вижу чем один костыль лучше другого.

Класс в ООП можно рассматривать в качестве модуля. Интерфейс в этом качестве я бы рассматривать не стал. Ну и кроме того, я думаю, что интерфейс провоцирует делать implements ради констант.

https://forum.sources.ru/index.php?showtopic=421515&view=findpost&p=3848105


Метки:  

Меня бесят ламеры

Воскресенье, 13 Июня 2021 г. 15:56 + в цитатник
applegame:
Цитата D_KEY @
Потому, что это не имеет никакого отношения к понятию интерфейса.
Так же как и к понятию класса. И то и другое просто костыль для обхода ограничения самого языка. Не вижу чем один костыль лучше другого.

https://forum.sources.ru/index.php?showtopic=421515&view=findpost&p=3848101


Метки:  

Меня бесят ламеры

Воскресенье, 13 Июня 2021 г. 14:17 + в цитатник
D_KEY:
Цитата applegame @
Тогда в плюсах таки есть интерфейсы: абстрактные классы. Они делают именно то, что ты описал.

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

Цитата
Кроме того, как минимум в Java/C++/D есть возможность пихать константы в интерфейсы/абстрактные классы. А значит определение интерфейсов в этих языках не соответствует твоему идеализированному определению.

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

Цитата
А интерфейс-то почему не может быть использован в качестве неймспейса?

Потому, что это не имеет никакого отношения к понятию интерфейса.

Цитата
Считай эти константы частью интерфейса

Наверно можно представить себе ситуации, когда это разумно. Но в данном случае это не так. Особенно если речь о том, чтобы делать implements для "импорта" констант в том классе, где мы хотим эти константы юзать. Это очевидно переворачивает все с ног на голову.

https://forum.sources.ru/index.php?showtopic=421515&view=findpost&p=3848100


Метки:  

мат.модель шифра Шамира

Воскресенье, 13 Июня 2021 г. 11:51 + в цитатник

Метки:  

Меня бесят ламеры

Воскресенье, 13 Июня 2021 г. 11:18 + в цитатник
applegame:
Цитата D_KEY @
Интерфейс - это не класс без мемберов, а абстрактный тип для описания поведения/контракта, которому должен соответствовать любой класс, который реализует этот самый интерфейс. При чем тут константы?
Тогда в плюсах таки есть интерфейсы: абстрактные классы. Они делают именно то, что ты описал. Кроме того, как минимум в Java/C++/D есть возможность пихать константы в интерфейсы/абстрактные классы. А значит определение интерфейсов в этих языках не соответствует твоему идеализированному определению. Ты же скорее описал не интерфейс, а трейт из Rust.
Цитата D_KEY @
Ближе потому, что в таком языке класс - это более широкое понятие. И он вполне себе может быть использован в качестве пространства имен. А вот интерфейс имеет достаточно узкое предназначение. Не вижу смысла его тут использовать. Выглядит странно.
А интерфейс-то почему не может быть использован в качестве неймспейса? Считай эти константы частью интерфейса, примерно как абстрактный класс в C++. Разница скорее философская: "патамушта мне кажется, что так правильнее".
Из объективных аргументов только то, что такое "перечисление" не имеет собственного типа. Но частенько тебе нужен просто набор констант, а не перечисление и тут я не вижу никаких объективных преимуществ класса перед интерфейсом. Писать чуть больше, результат тот же.
А для перечислений, еще раз повторю (почему-то вы все игнорируете эту конструкцию), в жабу ввели enum.

https://forum.sources.ru/index.php?showtopic=421515&view=findpost&p=3848097


Метки:  

Алгоритм Прима (построение остова мин.веса)

Воскресенье, 13 Июня 2021 г. 09:36 + в цитатник
FasterHarder: Всем хай! Сходу к делу.

Как известно, алгоритм Прима позволяет получить минимальное остовное дерево. С точки зрения мат.модели и алгоритма вроде там все понятно: берем произвольную вершину, затем берем смежную с минимальным ребром, потом среди отобранных снова смежную с мин. ребром и т.д., пока не будут взяты все вершины. Тут вроде все достаточно просто...

Программу я написал ("чистый" Си, стандарт С89) и вроде все прекрасно работает:
_______________________________.png (, : 19)


пока не переходим на big data, я бы даже сказал medium data). Решил потестировать программу на нормальном кол-ве вершин, вот свел результаты теста в таблицу _ диаграмма:
__________________________________________.png (, : 22)

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


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

вопрос №1: То есть, перед тем, как запускать построение мин.остова надо убедиться, что граф связный? То есть содержит ровно 1 компоненту связности. Если компонент связности БОЛЬШЕ 1ой, то решения нет? Или для каждой компоненты строим мин.остов. Склоняюсь к тому, что решения нет.

момент №2: Если граф является ориентированным, то Прима не сможет работать всегда! Т к алгоритм может легко уйти в тупик, взяв минимальный вес, а там тупик) Понятно, что можно подобрать конфигурации орграфа, когда Прима построить верный миностов, но в данном случае алгоритм не соот-ет свойству массовости ---> не является алгоритмом...

вопрос №3: Хорошо, когда веса все уникальны! В этом случае, как понимаю, миностов существует в единственном экземпляре. А, если есть дубликатные веса...Ну, например, 3 ребра имеют равный вес = 17, а остальные все уникальные. Ведь в этом случае существует более одного миностова. Здесь ведь какая-то комбинаторика замешана, вроде? Может перестановки с повторениями или около того? Есть формула, которая позволяет узнать, сколько всего возможно миностовов, зная частотности появления весов? (или просто перемножить эти частотности, хм...) Кстати, если пытаться получить ВСЕ возможные миностовы (когда есть дубликаты весов), то, ИМХО, сложность решения по экспоненте увеличивается) (хотя может и нет и там все на рекурсии как-то мутить надо)

момент №4: Как известно, многие графовые алгоритмы чувствительны к отрицательным величинам (весам). Как понимаю, Приму побоку это. Прекрасно отработает.

момент №5: Допустим, что граф взвешенный, связный, неорграф и веса любые целые числа (как +, так и -). Если рассматривать задание графа через матрицу весов, то отсутствие веса, как можно обозначить, например, если данные считываются из файла текстового?? Например, в текущей программе я ставлю 0, но у меня все веса НАТУРАЛЬНЫЕ числа и проблем никаких...Брать какое-то +inf/-inf, но теоретически вес может иметь любое допустимое разрешенное типом данных число, в том числе и пограничные значения. 0 ставить тоже нельзя, т к допустимы отрицательные веса. Вижу решение проблемы только через переход структуры данных, отвечающей за весовую матрицу на тип дробный (например, double), double >> long int > int. Но в этом случае резко возрастает объем динамической памяти, т к sizeof(double) / sizeof(int) >= 2. Или вообще надо работать через списки смежности в этом случае и про задание через весовую матрицу следует забыть??

Скрытый текст
Просмотрел около 20 материалов на тему "Алгоритм Прима"! Как-то у них там по коду совсем все просто получается, юзают всякие STL-ские приблуды, приоритетные очереди и кода строчке 20-25 (код в большинстве случаев, конечно, плох, с точки зрения проектировки, ИМХО), у меня в прожке под 200 строк кода и под 8 функций. Но код на Си и как бы все приходится кодить на низком уровне, но это и хорошо) + нет даже близко ни одного материала, который в деталях поясняет все тонкости. А вообще с одной стороны вроде много материала на эту тему, а вот исчерпывающего ни одного даже близко!

и приложу главную функцию программы (С89). Если что-то оптимизировать, то придется там копаться, но не факт:
    // нахождение номера очередной вершины, которая будет добавлена в минимальный остов и до нее минимальный вес
    // pselected - содержит номера вершин, уже добавленных в мин.остов
    // pweight_matrix - весовая матрица графа
    // pvertex_count - кол-во вершин графа
    // pnumber_vertex_parent - отвечат за номер вершины, которая будет смежной для новой добавленной в мин.остов (нужна для восстановления маршрута)
    unsigned short Get_next_vertex(
    const unsigned short* const pselected,
    const int** const pweight_matrix,
    const unsigned short pvertex_count,
    unsigned short* const pnumber_vertex_parent)
    {
    unsigned short iselected, vertex_number, ivertex;
    int min_weight = INT_MAX, current_weight;
    for(iselected = 0; iselected < pvertex_count; iselected++)
    {
    if(pselected[iselected] == TRUE)
    {
    for(ivertex = 0; ivertex < pvertex_count; ivertex++)
    {
    if((pweight_matrix[iselected][ivertex] != 0) && (pselected[ivertex] == FALSE))
    {
    current_weight = pweight_matrix[iselected][ivertex];
    if(current_weight < min_weight)
    {
    min_weight = current_weight;
    vertex_number = ivertex + 1;
    *pnumber_vertex_parent = iselected + 1;
    }
    }
    }
    }
    }
    return vertex_number;
    }


Добавлено
забыл еще дописать, что, когда тестировалось на разном кол-ве вершин, то появление ребра (веса) было с вероятностью 50%. Т е каждая вершина графа связывалась с половиной всех вершин остальных...наверное, можно считать, что неорграф сильно связный, но НЕ полный. Вероятность того, что при генерации весов будет больше 1ой компоненты связности ----> 0 при увеличении числа вершин

https://forum.sources.ru/index.php?showtopic=421519&view=findpost&p=3848096


Метки:  

Меня бесят ламеры

Воскресенье, 13 Июня 2021 г. 08:16 + в цитатник
sergioK:
Цитата D_KEY @
Ничего не понял. Ты не согласен с определением интерфейса, которое я привел? Или что?

Оно, как бы это сказать, ну слишком теоритическое,

Добавлено
Цитата korvin @
Начиная с Java 9 там есть «модули», но по сути они являются просто более продвинутыми неймспейсами по сравнению с пакетами.

Я не видел что бы их кто-то использовал.

Добавлено
Цитата D_KEY @
Ближе потому, что в таком языке класс - это более широкое понятие.

В Яве интерфайс это класс без состояния, stateless.

Добавлено
Цитата korvin @
Понятие не более широкое, просто это единственный доступный инструмент, вот и приходится велосипеды костылять. )

В понятиях Явы это не велосипед, его придумывают те кто пишет
класс с private конструктором, хорошо еще double checking не имплементируют ;)

Добавлено
Цитата applegame @
Какое же все-таки говно эта Java. :facepalm:

Говно не Java/С++/D а мозг людей не способных понять как оно работает, ;)
и делающих такие выводы.

https://forum.sources.ru/index.php?showtopic=421515&view=findpost&p=3848095


Метки:  

обработка спутниковых снимков

Воскресенье, 13 Июня 2021 г. 05:13 + в цитатник
FasterHarder: Вот пост №2 двоякий: с одной стороны его полезность ---> к 0, с другой примерно это мне и нужно

Т е планируется ручная разметка, затем программная разметка, а затем сравнение точности.

Нужен КОНКРЕТНЫЙ алгоритм семантической сегментации изображений, ну, если такой есть, а вроде есть
А в целом "шапка не по Ваньке", на хрен я полез в эту хрень, явно, что здесь с наскока ни хрена толкового не сделать, лол

В общем, если НЕТ алгоритма, который можно понять дубу с 0 за 8-10 часов, то в пень эту задачу - закину в самый черный угол до лучших времен (на несколько миллионов лет)

https://forum.sources.ru/index.php?showtopic=421516&view=findpost&p=3848091


Метки:  

Поиск сообщений в rss_forum_sources_ru
Страницы: 2628 ... 2563 2562 [2561] 2560 2559 ..
.. 1 Календарь