Издревле замечено, что высоким и опасным гребнем является 9-ый (так называемый "девятый вал"). Греки считали опасным 3-й вал, а римляне - 10-й. (Взято из вики)
Очередной пример, когда философия не дает ответов на вопросы, а настоящая наука уже давно знает.
Итак, интуиция - это основа всех алгоритмов машинного обучения. Слово "интуиция" здесь не употребляется, но в одном учебнике (есть в переводе на русский язык) автор постоянно давал понять, что нейросети обладают не логикой, а именно интуицией. В науке данное явление называют генерализацией (или по-русски обобщающей способностью). Если обученная система не обладает данным свойством, то говорят о явлении оверфиттинга (переобучения). Обобщающая способность выявляется валидационными тестами: это когда нейросети скармливают данные, которых она еще не видела.
Чувствуете, какие проблемы решают реальные ученые, а какие псевдоученые-философы? Сколько можно писать разнообразные эссе на одни и те же темы, мусоля "то да посему"? Возьмут какое-нибудь словечко а-ля "любовь" и начинают свою деятельность, которая мало отличается от болтологии. Наука при этом осталась в стороне.
Описанный вами случай не относится к синдрому самозванца. Самозванец - это про психическое явление, которое "лечится только хирургически, электротоком или химиотерапией".
В вашем случае посторонние люди имели какое-то мнение (типа считали вас самозванцем?). А при синдроме самозванца ты сам лично делаешь навязчивые умозаключения о собственных способностях, при этом никаких оснований внешне для этого нет, и посторонние люди даже не понимают, почему самозванец так себя ведет.
Теперь поняли, почему самозванец?
Здесь на Хабре многие считают себя самозванцами, прокрастинаторами, а других считают токсичными и прочими душными людьми, однако в жизни все не так. Самооценки, как правило, смещены.
Теперь мы знаем, что самые малопродуктивные работники - это самые низкооплачиваемые.)
На самом деле, для таких анализов бигдата никакая не нужна, для этого нужен анализ данных, и это не бигдата, не надо путать. Короче, Агапитов, сам не разбираясь в теме, свалил все на нечто неодушевленное, и я понимаю, что, на самом деле, над списком увольняемых работали менеджеры, и их хотелось прикрыть.
P.S. Из того, что малопродуктивные коррелируют с низкооплачиваемыми, я бы не делал вывод, что "чем меньше платишь, тем хуже результат". Скорее всего, в компании была хорошо налажена некая система метрик. Ведь мы не уверены: возможно те, кого назвали малопродуктивными, выполняли некоторую рутинную или скучную работу, которую сейчас переложат на "продуктивных" с некоторыми предсказуемыми последствиями. Короче, не существует чисто индивидуальных метрик, нужны еще коллективные метрики. Первые аддитивны, вторые мультипликативны по характеру. Модель сложнее, чем кажется.
7 Мб/с = 56 Мбит/с. Вообще в современных автомобилях имеется несколько CAN-шин, на которых сидят куча датчиков и всяких там электроприводов (весом 68 кг), ну короче раньше они не были связаны цифровым интерфейсом, а сейчас с каждого датчика идут повторяющиеся данные каждую миллисекунду типа "нажата кнопка" (true) или "не нажата" (false) с кучей служебных битов. Вот вам и 100 млн. строк и 25 Гб/час. А 30 млн. вызовов трех млн. функций - это библиотеки коммуникации, проверки состояния, загрузчиков, индикации ошибок. Это скучно.
Сильный полет - это махание крыльями с перышками. Есть искусственный слабый полет на дальние расстояния на гиперзвуковой скорости. Но до сих пор искусственного сильного полета нет. И не будет.
Сильный интеллект - это мышление как у человека. Есть искусственный слабый интеллект - сложный, умный, решает непосильные задачи за доли секунд. Но до сих пор искусственного сильного интеллекта нет. И не будет.
А есть теорема о сильном интеллекте как о неуловимом Джо, ее доказал teology 15.08.2021.
Для начала слабое определение сильного интеллекта (общий интеллект). Общий интеллект - это такой, который способен на то же, что и человек.
Доказательство: доказательство ведётся методом индукции. Допустим, что полет птиц считается сильным. Птицы летают сильно. А бумажный самолетик летает слабо. Пух, бумага, кирпичи - все это летает слабо. Однако в 20-м веке были созданы самолеты, которые способны летать дальше и быстрее птиц, созданы ракеты, которые летают выше птиц. Еще востребованы вертолеты. То есть сильность полета птиц является вещью относительной. Следовательно (по аналогии), сильный интеллект - неуловимый Джо, который никому не нужен.
Лемма о нейронных сетях как о желаемом Джо: нейронные сети не могут как человек, но по теореме неуловимого Джо, оно нахрен никому не нужно, потому что надо больше, чем человек. Нейронные сети могут больше, чем человек. Это подтверждается практикой. Что и требовалось доказать.
Короче, хню не несите.
сущестующие наработки в области сильного ИИ показывают нулевой результат
Нулевой результат - это строго говоря не то, что вы имеете в виду. У нейронных сетей далеко не нулевой результат. Будьте трезвыми в оценках.
Извините, что иронизирую, но я занимаюсь научпопом, выбиваю мракобесие из ваших голов, это позитивная миссия. Короче, забудьте про определение сильного интеллекта. Вы конечно, хотите сильный полет, но прогресс идет мимо этой чисто философской никчемной мысли. Вообще философия - это тупик.
Уверяю вас, ученые не заняты этой дурной философской сущностью, называемой сильным интеллектом. Это теплород нашего времени. Хня в головах.
"Надо что-то такое иерархическое простое огромное зациклить, много-много вложенных циклов и рекурсий. И рандома, да побольше!"
Вот основа всех рецептов диванных ИИ-строителей.
Сначала мы некий алгоритм придумываем, публикуемся на Хабре, а потом будем пробовать погонять на реальных данных этот самый алгоритм, взятый с потолка. А существующие научные достижения - "не, не слышали, слишком сложно."
К сожалению, огромное число кафедр выпускают философеров, основная цель которых - вносить другим в голову идеи многополярности, дуальности и прочей чепухи. Их работы не имеют никакого значения для науки, философеры не могут найти работу, кроме как на той же кафедре. И слава богу.
Я видел много обсуждений-холиваров на тему "философия - наука?". На одном научном форуме (где реальные ученые - физики, математики) философеры проигрывают. Их аргумент про Поппера-философа был отвержен: оказывается, чтобы оценить научность, никакой Поппер со своим критерием не нужен. Вместо этого требуется оценка научного сообщества (рецензенты, ВАК, система цитирования). Попытки производить оценку научности на основе критерия Поппера - это крайне ненадежная вещь в силу слабости человеческого ума и недостатка информации/времени на переднем фронте науки. Критерии Поппера подвержены своего рода "квантовым эффектам", и поэтому данная концепция не работает. В общем прошло почти 90 лет со времени высасывания критериев из пальца, они нынче неактуальны. Более-менее современная концепция - это про противодействие сообщества лженауке и псевдонауке. А философия... Она умерла уже.
Я уже предлагал ваш вариант с эффективным хранением календаря в комментах первой статьи, но меня заминусовали. Они будут создавать массив флагов на 5 кБ, потом героически осуществлять поиск в нем с помощью milliseconds++, а потом писать статью на эту тему.
Только вместо "дерево", надо говорить "массив". Данные надо хранить в восьми массивах.
Можно самим подумать и догадаться, как оптимальным образом хранить в памяти списки и диапазоны. Это будет структура массивов структур.
Псевдокод:
struct Timerange{
int start
int finish
int step
}
struct Event{
Array[0,y] of Timerange Year
Array[0,m] of Timerange Month
Array[0,d] of Timerange Days
....
}
По сравнению с этим вариантом массивы флагов: 1. Занимают много памяти, 2. Долго строятся, 3. Долго обрабатываются. Одни минусы, плюсов нет.
Аа, мне потребовалось время, чтобы понять, что выходом из цикла while(true) является return. Вы серьезно????????? В каких случаях применяется while(true) знаете? Это не ваш случай.
Перепишите код кратко. Я смотрю, что после всех подсказок каша в вашей голове не разваривается. Я чувствую, что вы никогда не писали и не видели краткий и понятный код. Из вложенности миллисекунд в секунды, секунд в минуты и так далее (я прочитал ваш один коммент в ветке ниже) абсолютно не следует, что ifы должны быть вложены. Ifы могут быть последовательными (зависит от конкретики, а не по аналогии). У вас работает интуиционисткая логика, которая не позволяет писать правильно и с доказательным подходом. Вы увидели какие-то аналогии, что-то почувствовали и давай парить код! Это неправильно.
Еще раз прочитайте задание: вас просили создать класс, который выполняет некоторые функции. Никто не просил создавать массивы с флагами. Вы могли создать простую структуру в несколько байт и функции Nearest() бы работали просто и без циклов с milliseconds++. Понимаете? Вы как-то неправильно втюхали про класс-календарь, усложнили без необходимости, наваяли спагетти-код... Можете обосновать, что я не прав?
Я бы не сказал, что работа халтурная, просто логика страдает.
Я что-то не понял. Разве в задании нужно быть создать массивы хз сколько байт и распихать в них флаги? И это все ради того, чтобы NearestEvent() и другие методы перебирали микросекунды???
Не вижу перебора годов, месяцев и следующих. Или я не так понял решение?
И я может слаб в C#, но мне показалось, что для выхода из цикла while(true) нужны breakи.
Следуйте концепции DDD (domain-driven development) во всем: разработка должна двигаться предметной областью, то есть смыслом, ради чего создается ПО. То есть именование переменных, функций и прочих объектов, а также надписи на кнопках - все должно быть со смыслом. Если заказчик против, то хотя бы пометьте это в комментарии к коду ("хотел назвать кнопку Add Item, но клиент засранец"). Следование заветам DDD сделает ваш код (и надписи на кнопках) понятным ВСЕМ.
Когда вы пишете "Click" на кнопке, как это должен понимать пользователь? Что делает эта кнопка? Все кнопки кликаются. Мы все решили, что "добавляет пункт". И вам подсказываем то, как нам диктует концепция DDD. А то вы начали тут нам задвигать о двоякости смыслов и многогранности философии. Это все ложь.
Надо сказать, что Item - это тоже слишком абстрактно. Если кнопка добавляет новый товар в корзину, то вместо AddItem надо писать AddProduct. Короче, DDD в помощь.
Этот вариант предполагает ни "от шаблона к коду" и ни "от кода к шаблону". Необходимо идти "от смысла к шаблону и коду". Вы назвали кнопку "Click" - это абсолютно бессмысленный текст на кнопке, юзеру такая кнопка непонятна. Add Item - это более понятная надпись на кнопке (вроде бы).
Концепция "условие-действие" реализована в языках МЭК 61131-3 для программируемых логических контроллеров (ПЛК). Более того, микропроцессоры для ПЛК имеют систему команд, изначально заточенную под концепцию "условие-действие".
Зачем эта концепция нужна? Для написания программ с параллельным действием. Процессор пробегается по всем условиям и выполняет действия тех условий, которые выполняются. То есть фактически программный счетчик (Program counter) уже не имеет такого значения как обычно, так как за один цикл порядка 1-10 мс он пробегается по всем (почти) строкам "условие-действие". То есть за 1-10 мс может выполниться от 0 до N действий в зависимости от состояния. Программы с параллельным действием легче писать, каждое условие позволяет легко контролировать эти действия.
Чтобы показать преимущество концепции, нужно взять "параллельную задачу". То есть такую, которая обычно распараллеливается на потоки. Часто такие задачи распараллеливаются с помощью системы "событий-слушателей", которая как раз реализует концепцию "условие-действие". Но на практике условия гораздо более сложны, чем какие-то событийные условия.
Издревле замечено, что высоким и опасным гребнем является 9-ый (так называемый "девятый вал"). Греки считали опасным 3-й вал, а римляне - 10-й. (Взято из вики)
Очередной пример, когда философия не дает ответов на вопросы, а настоящая наука уже давно знает.
Итак, интуиция - это основа всех алгоритмов машинного обучения. Слово "интуиция" здесь не употребляется, но в одном учебнике (есть в переводе на русский язык) автор постоянно давал понять, что нейросети обладают не логикой, а именно интуицией. В науке данное явление называют генерализацией (или по-русски обобщающей способностью). Если обученная система не обладает данным свойством, то говорят о явлении оверфиттинга (переобучения). Обобщающая способность выявляется валидационными тестами: это когда нейросети скармливают данные, которых она еще не видела.
Чувствуете, какие проблемы решают реальные ученые, а какие псевдоученые-философы? Сколько можно писать разнообразные эссе на одни и те же темы, мусоля "то да посему"? Возьмут какое-нибудь словечко а-ля "любовь" и начинают свою деятельность, которая мало отличается от болтологии. Наука при этом осталась в стороне.
Кто знает, может с точки зрения архитектуры процессора и закладки туда шпионских примочек, SPL и прочие вещи очень даже логичны... ?
Описанный вами случай не относится к синдрому самозванца. Самозванец - это про психическое явление, которое "лечится только хирургически, электротоком или химиотерапией".
В вашем случае посторонние люди имели какое-то мнение (типа считали вас самозванцем?). А при синдроме самозванца ты сам лично делаешь навязчивые умозаключения о собственных способностях, при этом никаких оснований внешне для этого нет, и посторонние люди даже не понимают, почему самозванец так себя ведет.
Теперь поняли, почему самозванец?
Здесь на Хабре многие считают себя самозванцами, прокрастинаторами, а других считают токсичными и прочими душными людьми, однако в жизни все не так. Самооценки, как правило, смещены.
Теперь мы знаем, что самые малопродуктивные работники - это самые низкооплачиваемые.)
На самом деле, для таких анализов бигдата никакая не нужна, для этого нужен анализ данных, и это не бигдата, не надо путать. Короче, Агапитов, сам не разбираясь в теме, свалил все на нечто неодушевленное, и я понимаю, что, на самом деле, над списком увольняемых работали менеджеры, и их хотелось прикрыть.
P.S. Из того, что малопродуктивные коррелируют с низкооплачиваемыми, я бы не делал вывод, что "чем меньше платишь, тем хуже результат". Скорее всего, в компании была хорошо налажена некая система метрик. Ведь мы не уверены: возможно те, кого назвали малопродуктивными, выполняли некоторую рутинную или скучную работу, которую сейчас переложат на "продуктивных" с некоторыми предсказуемыми последствиями. Короче, не существует чисто индивидуальных метрик, нужны еще коллективные метрики. Первые аддитивны, вторые мультипликативны по характеру. Модель сложнее, чем кажется.
7 Мб/с = 56 Мбит/с. Вообще в современных автомобилях имеется несколько CAN-шин, на которых сидят куча датчиков и всяких там электроприводов (весом 68 кг), ну короче раньше они не были связаны цифровым интерфейсом, а сейчас с каждого датчика идут повторяющиеся данные каждую миллисекунду типа "нажата кнопка" (true) или "не нажата" (false) с кучей служебных битов. Вот вам и 100 млн. строк и 25 Гб/час. А 30 млн. вызовов трех млн. функций - это библиотеки коммуникации, проверки состояния, загрузчиков, индикации ошибок. Это скучно.
Еще раз:
Сильный полет - это махание крыльями с перышками. Есть искусственный слабый полет на дальние расстояния на гиперзвуковой скорости. Но до сих пор искусственного сильного полета нет. И не будет.
Сильный интеллект - это мышление как у человека. Есть искусственный слабый интеллект - сложный, умный, решает непосильные задачи за доли секунд. Но до сих пор искусственного сильного интеллекта нет. И не будет.
А есть теорема о сильном интеллекте как о неуловимом Джо, ее доказал teology 15.08.2021.
Для начала слабое определение сильного интеллекта (общий интеллект). Общий интеллект - это такой, который способен на то же, что и человек.
Доказательство: доказательство ведётся методом индукции. Допустим, что полет птиц считается сильным. Птицы летают сильно. А бумажный самолетик летает слабо. Пух, бумага, кирпичи - все это летает слабо. Однако в 20-м веке были созданы самолеты, которые способны летать дальше и быстрее птиц, созданы ракеты, которые летают выше птиц. Еще востребованы вертолеты. То есть сильность полета птиц является вещью относительной. Следовательно (по аналогии), сильный интеллект - неуловимый Джо, который никому не нужен.
Лемма о нейронных сетях как о желаемом Джо: нейронные сети не могут как человек, но по теореме неуловимого Джо, оно нахрен никому не нужно, потому что надо больше, чем человек. Нейронные сети могут больше, чем человек. Это подтверждается практикой. Что и требовалось доказать.
Короче, хню не несите.
Нулевой результат - это строго говоря не то, что вы имеете в виду. У нейронных сетей далеко не нулевой результат. Будьте трезвыми в оценках.
Извините, что иронизирую, но я занимаюсь научпопом, выбиваю мракобесие из ваших голов, это позитивная миссия. Короче, забудьте про определение сильного интеллекта. Вы конечно, хотите сильный полет, но прогресс идет мимо этой чисто философской никчемной мысли. Вообще философия - это тупик.
Уверяю вас, ученые не заняты этой дурной философской сущностью, называемой сильным интеллектом. Это теплород нашего времени. Хня в головах.
"Надо что-то такое иерархическое простое огромное зациклить, много-много вложенных циклов и рекурсий. И рандома, да побольше!"
Вот основа всех рецептов диванных ИИ-строителей.
Сначала мы некий алгоритм придумываем, публикуемся на Хабре, а потом будем пробовать погонять на реальных данных этот самый алгоритм, взятый с потолка. А существующие научные достижения - "не, не слышали, слишком сложно."
К сожалению, огромное число кафедр выпускают философеров, основная цель которых - вносить другим в голову идеи многополярности, дуальности и прочей чепухи. Их работы не имеют никакого значения для науки, философеры не могут найти работу, кроме как на той же кафедре. И слава богу.
Я видел много обсуждений-холиваров на тему "философия - наука?". На одном научном форуме (где реальные ученые - физики, математики) философеры проигрывают. Их аргумент про Поппера-философа был отвержен: оказывается, чтобы оценить научность, никакой Поппер со своим критерием не нужен. Вместо этого требуется оценка научного сообщества (рецензенты, ВАК, система цитирования). Попытки производить оценку научности на основе критерия Поппера - это крайне ненадежная вещь в силу слабости человеческого ума и недостатка информации/времени на переднем фронте науки. Критерии Поппера подвержены своего рода "квантовым эффектам", и поэтому данная концепция не работает. В общем прошло почти 90 лет со времени высасывания критериев из пальца, они нынче неактуальны. Более-менее современная концепция - это про противодействие сообщества лженауке и псевдонауке. А философия... Она умерла уже.
Блин, я уже оплатил 2/3 онлайн-курса }8-(
Я уже предлагал ваш вариант с эффективным хранением календаря в комментах первой статьи, но меня заминусовали. Они будут создавать массив флагов на 5 кБ, потом героически осуществлять поиск в нем с помощью milliseconds++, а потом писать статью на эту тему.
Только вместо "дерево", надо говорить "массив". Данные надо хранить в восьми массивах.
Можно самим подумать и догадаться, как оптимальным образом хранить в памяти списки и диапазоны. Это будет структура массивов структур.
Псевдокод:
По сравнению с этим вариантом массивы флагов: 1. Занимают много памяти, 2. Долго строятся, 3. Долго обрабатываются. Одни минусы, плюсов нет.
Списки, диапазоны и периоды как структуры гораздо проще, чем конструкция с флагами. ;-)
Аа, мне потребовалось время, чтобы понять, что выходом из цикла while(true) является return. Вы серьезно????????? В каких случаях применяется while(true) знаете? Это не ваш случай.
Перепишите код кратко. Я смотрю, что после всех подсказок каша в вашей голове не разваривается. Я чувствую, что вы никогда не писали и не видели краткий и понятный код. Из вложенности миллисекунд в секунды, секунд в минуты и так далее (я прочитал ваш один коммент в ветке ниже) абсолютно не следует, что ifы должны быть вложены. Ifы могут быть последовательными (зависит от конкретики, а не по аналогии). У вас работает интуиционисткая логика, которая не позволяет писать правильно и с доказательным подходом. Вы увидели какие-то аналогии, что-то почувствовали и давай парить код! Это неправильно.
Еще раз прочитайте задание: вас просили создать класс, который выполняет некоторые функции. Никто не просил создавать массивы с флагами. Вы могли создать простую структуру в несколько байт и функции Nearest() бы работали просто и без циклов с milliseconds++. Понимаете? Вы как-то неправильно втюхали про класс-календарь, усложнили без необходимости, наваяли спагетти-код... Можете обосновать, что я не прав?
Я бы не сказал, что работа халтурная, просто логика страдает.
Я что-то не понял. Разве в задании нужно быть создать массивы хз сколько байт и распихать в них флаги? И это все ради того, чтобы NearestEvent() и другие методы перебирали микросекунды???
Не вижу перебора годов, месяцев и следующих. Или я не так понял решение?
И я может слаб в C#, но мне показалось, что для выхода из цикла while(true) нужны breakи.
Следуйте концепции DDD (domain-driven development) во всем: разработка должна двигаться предметной областью, то есть смыслом, ради чего создается ПО. То есть именование переменных, функций и прочих объектов, а также надписи на кнопках - все должно быть со смыслом. Если заказчик против, то хотя бы пометьте это в комментарии к коду ("хотел назвать кнопку Add Item, но клиент засранец"). Следование заветам DDD сделает ваш код (и надписи на кнопках) понятным ВСЕМ.
Когда вы пишете "Click" на кнопке, как это должен понимать пользователь? Что делает эта кнопка? Все кнопки кликаются. Мы все решили, что "добавляет пункт". И вам подсказываем то, как нам диктует концепция DDD. А то вы начали тут нам задвигать о двоякости смыслов и многогранности философии. Это все ложь.
Надо сказать, что Item - это тоже слишком абстрактно. Если кнопка добавляет новый товар в корзину, то вместо AddItem надо писать AddProduct. Короче, DDD в помощь.
Поддержу вариант @nin-jin
Этот вариант предполагает ни "от шаблона к коду" и ни "от кода к шаблону". Необходимо идти "от смысла к шаблону и коду". Вы назвали кнопку "Click" - это абсолютно бессмысленный текст на кнопке, юзеру такая кнопка непонятна. Add Item - это более понятная надпись на кнопке (вроде бы).
Нет, грабителями становятся от плохого воспитания, психических заболеваний, и только от этого.
Концепция "условие-действие" реализована в языках МЭК 61131-3 для программируемых логических контроллеров (ПЛК). Более того, микропроцессоры для ПЛК имеют систему команд, изначально заточенную под концепцию "условие-действие".
Зачем эта концепция нужна? Для написания программ с параллельным действием. Процессор пробегается по всем условиям и выполняет действия тех условий, которые выполняются. То есть фактически программный счетчик (Program counter) уже не имеет такого значения как обычно, так как за один цикл порядка 1-10 мс он пробегается по всем (почти) строкам "условие-действие". То есть за 1-10 мс может выполниться от 0 до N действий в зависимости от состояния. Программы с параллельным действием легче писать, каждое условие позволяет легко контролировать эти действия.
Чтобы показать преимущество концепции, нужно взять "параллельную задачу". То есть такую, которая обычно распараллеливается на потоки. Часто такие задачи распараллеливаются с помощью системы "событий-слушателей", которая как раз реализует концепцию "условие-действие". Но на практике условия гораздо более сложны, чем какие-то событийные условия.