В курсе чего? Что объекты могут переаллоцироваться? Если у вас есть массив arr в 100 int и вы внутри какой то функции хотите добавить 101, то в эту функцию нельзя передать просто сам arr (тип int * - адрес первого элемента массива) потому что места для 101 элемента может не хватить и придется все передвигать в другое свободное место и пойнтер arr станет другой. Вместо этого надо передавать int ** pp = &arr то есть ту ячейку памяти где записано значение arr. Внутри функции, если произошла реаллокация, то в pp пишется новое значение arr, которое потом используется после выхода из функции, new_arr = *pp. Это же чистый С тут нет передачи данных по reference как в C++Alexander Troyansky wrote: 16 May 2017 17:13уот это да! Керниган в курсе?ksi wrote: 16 May 2017 16:31 К сожалению, это суровая реальность, потому что объекты в памяти имеют свойство передвигаться с места на место, если недостаточно места, и таким образом следят где они сейчас находятся.
Айтишники на пенсии
Moderator: sss1
-
- Уже с Приветом
- Posts: 10066
- Joined: 20 May 1999 09:01
Re: Айтишники на пенсии
Last edited by ksi on 16 May 2017 17:46, edited 1 time in total.
-
- Уже с Приветом
- Posts: 5106
- Joined: 19 Oct 2004 01:46
Re: Айтишники на пенсии
Вот, теперь пошёл нормальный научный разговор.
Дано распределение (задана плотность). Зафиксируем размер n. Далее проводим следующий эксперимент. Генерируем выборки данного размера. Для каждой выборки подсчитывает среднее. Далее изучаем распределение этих средних. Теорема (вторая формулировка) утверждает, что данное распределение стремится к нормальному N(mu, sigma^2/n).
Вы с этим в корне не согласны?
Все-таки случайная величина - это измеримая функция, определённая на пространстве событий с введённой там сигма-алгеброй. И почему к множеству всех действительных чисел?
Вы вроде как до этого определили среднее выборки как случайную величину. Теперь это отрицаете.
Короче вы утверждаете, что если сгенерировать выборки, подсчитать их средние значения, то я не могу поставить вопрос об их распределении? Полностью не согласен. Давайте определим распределение средних от реализаций как эмпирическое распределение. Далее применим теорему Гливенко- Кантели о равномерной сходимости эмпирического распределения к теоретическому.

С этим полностью согласен, хотя, думаю, вы отлично понимаете, что я имел в виду.Снежная Королева wrote: 16 May 2017 13:45 Во-первых, распределение средних значений выборок не эквивалентно распределению Sn. Sn is the sum X1 + … + Xn, it converges to N(nµ,nσ2). Среднее значение выборок converges to N(µ,σ2/n).

Почему нельзя? Разрешите мне повторить мою утреннюю формулировку.Снежная Королева wrote: 16 May 2017 13:45 Во-вторых, так говорить вообще нельзя. Вторая ваша формулировка вообще неправильная математически, она придумана для тех, кто не понимает разницы между случайной величиной и её реализацией. На всякий случай отмечу, что случайная величина суть функция от множества Омега (Пространство элементарных событий) к множеству всех действительных чисел.
Дано распределение (задана плотность). Зафиксируем размер n. Далее проводим следующий эксперимент. Генерируем выборки данного размера. Для каждой выборки подсчитывает среднее. Далее изучаем распределение этих средних. Теорема (вторая формулировка) утверждает, что данное распределение стремится к нормальному N(mu, sigma^2/n).
Вы с этим в корне не согласны?
Ну тогда я уж к вам теперь придираться буду.Снежная Королева wrote: 16 May 2017 13:45 На всякий случай отмечу, что случайная величина суть функция от множества Омега (Пространство элементарных событий) к множеству всех действительных чисел.

Все-таки случайная величина - это измеримая функция, определённая на пространстве событий с введённой там сигма-алгеброй. И почему к множеству всех действительных чисел?
Ещё раз повторю вопрос. Что в вашем определении есть Х1, Х2, ... . Теперь, когда мы уже дали формальное определение случайной величины, дайте пожалуйста определение. Возможно это закроет тему.Снежная Королева wrote: 16 May 2017 13:45
Очевидно, что выборки, которые вы генерируете - это реализации случайной выборки X1 + X2 + ... + Xn. И соответственно, их средние значения - это реализации случайной величины sample mean, он же [X1 + X2 + ... + Xn] / n, он же Sn / n.
Говорить, что у средних значений сгенерированных вами выборок, есть какое-то распределение, вообще неправильно. Потому что это средние значения реализаций, а реализации не есть случайные величины. Случайная величина у нас одна: sample mean, он же [X1 + X2 + ... + Xn] / n, он же Sn / n. Средние значения генерированных выборок никак не могут быть функциями от Омега, и не могут иметь распределения.
Вы вроде как до этого определили среднее выборки как случайную величину. Теперь это отрицаете.
Короче вы утверждаете, что если сгенерировать выборки, подсчитать их средние значения, то я не могу поставить вопрос об их распределении? Полностью не согласен. Давайте определим распределение средних от реализаций как эмпирическое распределение. Далее применим теорему Гливенко- Кантели о равномерной сходимости эмпирического распределения к теоретическому.
-
- Уже с Приветом
- Posts: 5106
- Joined: 19 Oct 2004 01:46
Re: Айтишники на пенсии
Современная теория определяет измеримое пространство как триплет, состоящий их пространства событий, сигма-алгебры и (сигма) аддитивной меры (называемой вероятностной мерой). Это есть вероятностная модель. Далее вводится понятие случайной величины как измеримой функции. Для такой функции определяется распределение. В случае с монетой - это дискретное распределение. А как определить дискретную вероятностную меру? Формально, как угодно. Скажем, сигма-алгебра F={0, OMEGA, H,T}. Определим меру P(0)=0, P(OMEGA)=1, P(H) = q, P(T)=1-q. Собственно и все. Однако, чему равно q? Между нулём и единицей. Однако, как эмпирических это сделать? Наверное, на основе большого числа событий. А далее применяем теорему о больших числах.ksi wrote: 16 May 2017 16:21
В статистике надо уметь понимать, какая математическая концепция лежит за их словесами. Во второй формулировке "много" выборок по тем же соображениям почему надо монету бросить много раз, чтобы определить вероятность попадания орла или решки. Типа в пределе получается 1/2. Но это наивные представления о вероятности, 19 век, до создания ее математического базиса. Вероятность не может быть получена таким образом, как предел большого числа испытаний. Однако, такого типа объяснения еще остались в околоматематических рассуждениях.
-
- Уже с Приветом
- Posts: 10066
- Joined: 20 May 1999 09:01
Re: Айтишники на пенсии
И?Физик-Лирик wrote: 16 May 2017 18:08
Современная теория определяет измеримое пространство как триплет, состоящий их пространства событий, сигма-алгебры и (сигма) аддитивной меры (называемой вероятностной мерой). Это есть вероятностная модель. Далее вводится понятие случайной величины как измеримой функции. Для такой функции определяется распределение. В случае с монетой - это дискретное распределение. А как определить дискретную вероятностную меру? Формально, как угодно. Скажем, сигма-алгебра F={0, OMEGA, H,T}. Определим меру P(0)=0, P(OMEGA)=1, P(H) = q, P(T)=1-q. Собственно и все. Однако, чему равно q? Между нулём и единицей. Однако, как эмпирических это сделать? Наверное, на основе большого числа событий. А далее применяем теорему о больших числах.
-
- Уже с Приветом
- Posts: 5106
- Joined: 19 Oct 2004 01:46
Re: Айтишники на пенсии
А вот то похоже то, что я ждал услышать.ksi wrote: 16 May 2017 16:21
Нету многих выборок, забудьте про это. Есть одна случайная выборка, которая состоит из реализаций i.i.d. случайных величин X_1....x_n, и соответственно реализация выборочного среднего S_n = (x_1 + ... +x_n)/n. То есть у вас есть случайная величина (математическая абстрация) S_n и есть ее реализиция, которую вы наблюдаете в природе (при фиксированном "омега" если идти от общепринятого аксиоматического подхода). Задача состоит в том, чтобы примерно дать закон распределения S_n потому что точно его найти нельзя. По центральной предельной теореме этот закон распределения аппроксимируется нормальным с теми параметрами, которые у вас были во второй формулировке. Это все с точки зрения математики.

Здесь у меня точно такие же представления, но спасибо за комментарии.ksi wrote: 16 May 2017 16:21
Дальше в статистике добавляются объяснения, которые не все понимают. Хотя вы реально делаете только один эксперимент, одну выборку, но вы можете представить что делаете их очень много. Если вы сделаете из каждой такой мысленной реализации выборочное среднее и нанесете на гистограмму, то они распределяться в соответствии с вероятностым распределением S_n, которое точно неизвестно но примерно приближается вышенайденным нормальным распределением. Это такая частотная интерпретация понятия случайной выборки которая должна прояснить подход. Но на самом деле есть конечно только одна выборка, вы работаете только с одной реализацией ваших случайных величин.
Это очень базовый уровень понимая, чем вообще занимается математическая статистика. Это не совсем тривиальная идея, но ее надо понять иначе всегда будете путаться. Никогда не поймете, что стоит за базовыми понятиями мат. статистики типа доверительных интервалов и проверки гипотез.
Всё, я все для себя уяснил. Хорошо, что открыл тему.


-
- Уже с Приветом
- Posts: 5106
- Joined: 19 Oct 2004 01:46
Re: Айтишники на пенсии
И эмпиричесҡи определяем q. Хотя в теории оно формально любое (между рулём и единицей).
-
- Уже с Приветом
- Posts: 15276
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Айтишники на пенсии
То, о чем вы говорите - частное дизайн-решение, а не свойство языка/указателей. Причем очень плохое решение, ибо хороший тон - кто выделил память, тот ее и освобождает. Гораздо лучше передать int * и вернуть новый указатель, на новый массив _не_освобождая_старый_ksi wrote: 16 May 2017 17:41В курсе чего? Что объекты могут переаллоцироваться? Если у вас есть массив arr в 100 int и вы внутри какой то функции хотите добавить 101, то в эту функцию нельзя передать просто сам arr (тип int * - адрес первого элемента массива) потому что места для 101 элемента может не хватить и придется все передвигать в другое свободное место и пойнтер arr станет другой. Вместо этого надо передавать int ** pp = &arr то есть ту ячейку памяти где записано значение arr. Внутри функции, если произошла реаллокация, то в pp пишется новое значение arr, которое потом используется после выхода из функции, new_arr = *pp. Это же чистый С тут нет передачи данных по reference как в C++Alexander Troyansky wrote: 16 May 2017 17:13уот это да! Керниган в курсе?ksi wrote: 16 May 2017 16:31 К сожалению, это суровая реальность, потому что объекты в памяти имеют свойство передвигаться с места на место, если недостаточно места, и таким образом следят где они сейчас находятся.
Особенно это верно, если не дай б-г на сцену выходит многопоточность. Менять на лету чужие указатели это будет либо выстрел в ногу, либо слабо сопровождаемый код
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 10066
- Joined: 20 May 1999 09:01
Re: Айтишники на пенсии
Не будем терять время на бесполезные споры, что хорошо, а что плохо. Вы не можете возвращать из функции некие внутренние потроха структур, просто потому что не желаете знать снаружи как имплементированы функции внутри. Это как с классом Vector в С++ - у него внутри где-то зашито эта реаллокация памяти на push_back(). Но как они это делают - это не наше дело.АццкоМото wrote: 16 May 2017 18:44
То, о чем вы говорите - частное дизайн-решение, а не свойство языка/указателей. Причем очень плохое решение, ибо хороший тон - кто выделил память, тот ее и освобождает. Гораздо лучше передать int * и вернуть новый указатель, на новый массив _не_освобождая_старый_
Особенно это верно, если не дай б-г на сцену выходит многопоточность. Менять на лету чужие указатели это будет либо выстрел в ногу, либо слабо сопровождаемый код
По поводу освобождения памяти - там все правильно при таком дизайне: внутри внутренней функции аллрцировалась память для новго массива и релизнулась для старого. Это нормально. А вот если бы релиза не было, то это как раз плохо. Потому что внешняя фунеция не обязана обладать этим тайным знанием, что ей что-то за кого-то надо освобождать.
Это просто была исллюстрация как возникают в С такие вещи как in *****
-
- Уже с Приветом
- Posts: 15276
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Айтишники на пенсии
Да, это не наше дело, потому что реаллокация памяти происходит внутри этого класса. Пользуясь классом Vector, мы не пользуемся указателями от слова "совсем"ksi wrote: 16 May 2017 19:11 Не будем терять время на бесполезные споры, что хорошо, а что плохо. Вы не можете возвращать из функции некие внутренние потроха структур, просто потому что не желаете знать снаружи как имплементированы функции внутри. Это как с классом Vector в С++ - у него внутри где-то зашито эта реаллокация памяти на push_back(). Но как они это делают - это не наше дело.
Давайте дил: я вас не учу математике, а вы меня не учите погромизму.ksi wrote: 16 May 2017 19:11 По поводу освобождения памяти - там все правильно при таком дизайне: внутри внутренней функции аллрцировалась память для новго массива и релизнулась для старого. Это нормально. А вот если бы релиза не было, то это как раз плохо. Потому что внешняя фунеция не обязана обладать этим тайным знанием, что ей что-то за кого-то надо освобождать.
Это просто была исллюстрация как возникают в С такие вещи как in *****
Еще раз, всего два пункта:
1) просто общее правило, нельзя освобождать ту память, которую не ты выделял
2) в тот момент, когда "внутри внутренней функции", как вы изволили выразиться, освободился старый массив, любой клиент из параллельного потока (или из этого же - если старый указатель сохранен где-то еще) ничего об этом не знает. и не надо только рассказывать, что все клиенты должны обращаться к массиву по двойному указателю, сохраненному в "надежном месте". это не сработает. чуть-чуть может помочь volatile, но даже если этот изврат поможет, это серьезный performance hit на ровном месте. и вообще чесание правого уха левой ногой
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 10775
- Joined: 22 Jul 2006 20:19
Re: Айтишники на пенсии
Согласен на 100%. Кто девушку поит, тот ее и танцует. Кто выделял память, тот ее и освобождает. Никаких исключений из этого правила быть не может.
-
- Уже с Приветом
- Posts: 64875
- Joined: 12 Jul 2002 16:38
- Location: г.Москва, ул. Б. Лубянка, д.2
Re: Айтишники на пенсии
Эй, умники, кыш-брысь из моей темы! Заводите свои нудные дискуссии в других темах.
-
- Уже с Приветом
- Posts: 10775
- Joined: 22 Jul 2006 20:19
Re: Айтишники на пенсии
Это они чтобы свою ученость показать.
Опять вспоминается старый анекдот о математике и инженере. Получив задание сконструировать табуретку о четырех ножках, инженет быстро выдает работающий результат. Математик выдает решение для табуретки на одной ножке и на бесконечном количестве ножек. А затем тратит всю оставшуюся жизнь на решение задачи для случах N ножек.
Опять вспоминается старый анекдот о математике и инженере. Получив задание сконструировать табуретку о четырех ножках, инженет быстро выдает работающий результат. Математик выдает решение для табуретки на одной ножке и на бесконечном количестве ножек. А затем тратит всю оставшуюся жизнь на решение задачи для случах N ножек.
-
- Уже с Приветом
- Posts: 5106
- Joined: 19 Oct 2004 01:46
Re: Айтишники на пенсии
adda_ wrote: 16 May 2017 19:57 Согласен на 100%. Кто девушку поит, тот ее и танцует. Кто выделял память, тот ее и освобождает. Никаких исключений из этого правила быть не может.
Комми, посмотрите как всё грамотно вышло. Через центральную теорему и указатели/поинтеры снова к девушкам вернулись. А кого девушки любят? Правильно, умных мальчиков. Вот мы вас тут подготовили к общению.Komissar wrote: 16 May 2017 19:59 Эй, умники, кыш-брысь из моей темы! Заводите свои нудные дискуссии в других темах.

Хотите, ещё квантовую механику пообсуждаем.

-
- Уже с Приветом
- Posts: 10775
- Joined: 22 Jul 2006 20:19
Re: Айтишники на пенсии
Насчет умных вас обманули.
Девушки любят молодых мальчиков с деньгами. Можно даже старых, но с очень большими деньгами.
Девушки любят молодых мальчиков с деньгами. Можно даже старых, но с очень большими деньгами.
-
- Уже с Приветом
- Posts: 64875
- Joined: 12 Jul 2002 16:38
- Location: г.Москва, ул. Б. Лубянка, д.2