Если кратко. Версия, вообще говоря, состоит из четырёх чисел, например: 1.2.3.4 Эти числа носят следующие названия в порядке слева направо: 1 - Major number, 2 - Minor number, 3 - Patch number, 4 - Build number. Если отличается Major, то это означает наиболее радикальные отличия. Либо формат данных полностью изменился, либо полностью изменился пользовательский интерфейс. В общем, на новую программу придётся полностью переучиваться. Если отличается Minor, то это, как правило, означает лишь расширение функционала существующей программы. Формат данных дополнился новыми полями, в интерфейсе пользователя появились новые пункты меню, новые виджеты. Однако пользователь, знакомый с предыдущей версией, без труда разберётся с новой, так как версии схожи между собой. Если отличается Patch number, то это означает исправление ошибок в программе, без изменения интерфейса. Последний - Build number, используется только разработчиком программы, например так: программист создаёт программу, присваивает ей очередной этот номер, затем программу проверяют на ошибки, если обнаруживают, то исправляют, и присваивают следующий номер. Либо добавляют функционал, и тоже увеличивают этот номер. Но все эти циклы происходят внутри компании, и чтобы не сбивать с толку конечных пользователей, изменения пишут в этот номер, чтобы потом, при распространении программы, просто его убрать.
Вообще говоря, запись версии через точку оказалась неудачной идеей, так как создаёт путаницу с записью вещественных чисел. В результате, возникает неопределённость, какой номер версии более новый: 1.2 или 1.101 Каждая компания интерпретирует это по-своему.
там в оригинале пишут, что "уровень IQ вырос между 1932 и 1978 годами почти на 14 пунктов"
Они это приводят как пример того, что качественное образование может замаскировать собой генетическое оглупление. Но основной результат исследований как раз в том, что генетически исландцы стали глупее. А Исландию для исследований выбрали потому, что это очень стабильная страна: там не было войн, серьёзных катастроф, люди более-менее схожи генетически. Просто были биологи, которые утверждали, что несмотря на уменьшение мозга, мозг может качественно становиться лучше, в меньших объёмах решая те же задачи. Но исследования в Исландии показали, что и генетически люди глупеют.
Ситуация такая, что человечество может начать утрачивать технологии, а воспроизвести их заново не сможет. Рано или поздно заводы повыходят из строя: сгорят в пожарах, продадут площади под рынки, и так далее. Не будет заводов - не будет сельскохозяйственной техники. Без техники обработать поля в прежних количествах не смогут, и начнётся голод.
Хотите рассказать, что вот 30к складывается ситуация и спасителя человека (или его сперму) нужно заморозить прямо сейчас?
Не нужно мне такой бред приписывать. Чтобы родился ребёнок, недостаточно мужчины - нужна и женщина. Если вы сперму заморозите - кого вы ей оплодотворять собрались?
Либо про научные данные, либо не нужно смешивать. Если Дробышевский озвучивает слухи, а не данные, то не стоит повторять слухи. Вы специально даете ссылки на какие-то сми-ресурсы?
Я просто забил в поисковик про исследования в Исландии, и выдал первую попавшуюся ссылку. Где-то должна и научная публикация быть. Я помню, что про эти исследования профессиональный биолог говорил. И речь не только про эти исследования. Уменьшается и размер мозга, причём многие тысячелетия.
Эээ, бардак какой-то. То есть 30к лет назад, женщины по интеллекту выбирали? Эх, популяризаторы популяризовывали и выпопулизовали
Бывают разные типы отбора. Возьмём, к примеру, павлинов. Самкам павлинов нравятся самцы с большим хвостом (на самом деле, предхвостьем, но не в этом суть). Но какой-то селекционер возьмёт, и начнёт в своём хозяйстве всех самцов с самым большим хвостом пускать под нож, до того, как они оплодотворили самок. И спустя большое количество поколений размер хвоста у самцов уменьшится. А потом селекционер бросит всё на самотёк. И тут-то и выяснится, что предпочтения самок не изменились: у них не было причины меняться. И снова яйца начнут откладываться от павлинов с самым большим хвостом. А размер хвоста у павлинов, спустя поколения, опять вырастет. Потому что отбор теперь ведёт не селекционер, а опять самки.
Если мы посмотрим на жизнь, какую ведут первобытные люди, то они постоянно таскают с собой оружие, и при этом ведут голодную жизнь. В таких условиях уверенный в себе идиот, который отбирает еду у других, проживёт ровно до того момента, пока не отвернётся. Обезьяна не может убить противника с одного удара, вооружённый человек - может. Пикаперы сходятся на том, что женщина в половые партнёры старается выбрать мужчину, который по характеру наиболее похож на вожака стаи обезьян. А вожак стаи обезьян - это вовсе не самая умная особь, а самая наглая. Только вот незадача: в прошлом человечества такие наглые особи до возраста спаривания, видимо, не доживали. Но 30 тысяч лет назад, видимо, жизнь людей заметно улучшилась, вот женщины и начали возвращать человечество назад к обезьянам. Я не говорю про всех женщин, но про многих.
Поэтому там не стали показывать весь ужас складывающейся ситуации. В фильме массовый голод и ядерная катастрофа - лишь угроза, а не свершившийся факт. В реальной жизни никакого спасителя человечества, скорее всего, не будет, в отличие от фильма.
А про Дробышевского странно, если он такое высказывает
Дробышевский лишь озвучил то, что и так у многих на слуху. Вот навскидку статья про снижение уровня интеллекта людей в Исландии: https://futurist.ru/articles/767
А причина уменьшения размера мозга проста: если открыть любой учебник по пикапу (соблазнению женщин), то станет ясно, что женщины себе полового партнёра вовсе не по интеллекту выбирают, а по уверенности мужчины в себе. Речь идёт не о браке, а именно о половом партнёре - о потенциальном отце её детей. Если такой отбор поколениями вести, то очевидно, что с мозгом станет.
Вообще говоря, фильм "Идиократия" не про это. Там причиной снижения уровня интеллекта называют современный половой отбор, при котором больше всего детей оставляют наименее интеллектуально развитые люди. В основу фильма легло научное открытие, что последние 30 тысяч лет постепенно уменьшается средний размер мозга у человека, и, видимо, снижается и уровень интеллекта. На эту тему, кстати, неоднократно высказывался антрополог Станислав Дробышевский. Уменьшение размера мозга началось задолго до появления искусственного интеллекта. И вызвано, видимо, тем, что идиоты перестали массово погибать.
Дети используют искусственный интеллект просто потому, что не видят смысла учиться. Они сплошь и рядом видят примеры того, что социальный статус и богатство определяется вовсе не образованием, а знакомствами. Для женщины образование - это гораздо более трудный путь достичь богатства, чем просто выскочить замуж за олигарха. Вот они и не хотят учиться.
Не знал никого, кто бы мог мне инвайт дать. В своё время я интересовался троичной арифметикой, поэтому когда прочёл, что троичные матрицы предлагают использовать для нейросетей, то подумал, что, может, читателям будет интересно узнать про умножение таких матриц.
так как мы имеем дело с дискретными значениями, то их легко можно заменить с помощью табличной функции на любые другие. К примеру, умножаем троичную матрицу весов на какой-то входной троичный вектор. Результат - вектор из целых чисел. Используем каждое из этих чисел как номер элемента в массиве (номера могут быть отрицательными, поэтому предварительно можно сложить с какой-то константой bias), и подставляем вместо номера элемента его значение в этом массиве. На псевдокоде это можно примерно так записать:
A: TritMatrix = [[1,0,0], [-1,1,-1], [0,1,-1]] // матрица весов
x: TritVector = [1, 0, 1] // входной вектор
z: TritVector = A * x // произведение матрицы на вектор
f: [-3..3] int = [-2,-1,1,2,1,-1,-2] // табличная функция
result: IntVector // целочисленный вектор результата
for i: int = 0; i < 3; i++ {result[i] = f[z[i]]} // применение табличной функции
return result // возврат результата
Крупные корпорации неохотно переходят на новые технологии. А для мелких компаний вычислительная фотоника - слишком дорого и сложно. Например, для дальнейшего развития фотоники нужны наноструктурные материалы: у них сложная геометрия на наноуровне. Однако изготовить такой материал может быть ещё сложнее, чем напечатать электронный чип. В качестве фотонного аналога транзистора хорошо бы подошёл компонент, который, под действием фотона с одной поляризацией, меняет свой показатель преломления для фотонов с другой поляризацией. Ну вот, допустим, его изобретут. И представим себе картину: собрание менеджеров какой-нибудь корпорации, производящей чипы. И кто-нибудь из них заявляет: -- Знаете, мы тут изобрели фотонный процессор, который холоднее тех процессоров, что мы производим, и при этом гораздо производительнее. Только вот проблема: станки, которые мы используем для производства электронных процессоров, для фотонных не годятся. Поэтому давайте выбросим те станки, за которые мы заплатили астрономические суммы денег, и за такие же огромные суммы купим новые станки для новой, пока ещё непроверенной технологии. А если что-то пойдёт не так, то можете меня уволить, так как я это предложил.
В компьютерах будущего будет активно применяться фотоника, что позволит значительно улучшить скорость параллельных вычислений, что важно для нейросетей. Современная электроника столкнулась со следующей проблемой: электронные элементы мы уже не можем делать меньше, поэтому микросхемы стали делать многослойными. Однако это создаёт серьёзные проблемы с отводом тепла. Фотонные компоненты значительно крупнее электронных, но при этом тепловыделение у них гораздо меньше. Это позволит создавать фотонные микросхемы с огромным количеством слоёв, что в пересчёте на площадь даст фотонике преимущество. Те объёмы, которые сейчас в персональном компьютере занимают воздуховоды, вентиляторы и радиаторы, в компьютере будущего будут занимать кубы фотонных микросхем. Арифметико-логическое устройство использует для быстрого выполнения таких операций, как умножение, деление и прочих, таблицы констант, объём которых может занимать мегабайты. Эти таблицы никогда не меняются, однако возникает проблема: в электронике шину данных одновременно может использовать только один поток, а остальные вынуждены простаивать, ожидая, пока она освободится. Поэтому в многопоточном процессоре мы вынуждены делать свою копию этих таблиц для каждого потока, чтобы потоки друг друга не блокировали. А вот в фотонике по шине данных из световодов могут одновременно распространяться фотоны разных длин волн, практически не взаимодействуя друг с другом. Это позволит избежать блокирования шины данных, и использовать одни и те же таблицы констант для разных потоков, что уменьшит объём процессора. Электроника сохранится там, где будет важен малый вес или плоская форма прибора. Например, в смартфонах, скорее всего, останется. Но вот в персональных компьютерах начнёт применяться фотоника, и производительность нейросетей заметно вырастет.
Те 3D мониторы, что были, оставляют желать лучшего: они или стереоскопические, или с механическим вращающимся зеркалом. Полноценный 3D монитор будет чем-то вроде окна, через которое ты смотришь в другую комнату. Сместившись, можно будет увидеть изображение под другим ракурсом. На микроуровне каждый пиксель такого монитора в разных направлениях излучает разный, задающийся видеосигналом, цвет. Если у стереоскопического монитора объём передаваемых данных, грубо говоря, в два раза больше объёма данных обычного монитора, то у реального 3D монитора объём данных будет больше в миллион раз. Там без сжатия видеосигнала просто не обойтись.
Что касается мониторов с вращающимся зеркалом - они тоже неполноценные. Помимо того, что там хрупкая механика, вакуумная камера, ещё и лазер, который используется для создания изображения - не самый удачный вариант. Лазерное пятно - зернистое, из-за интерференции когерентных волн. А ещё лазер слишком узконаправленный, из-за чего на больших расстояниях изображение выглядит полосатым. В 3D мониторе будущего будет матрица из разноцветных светодиодов, как в современных мониторах, однако дополненная сложной оптической системой. Свет каждого светодиода будет попадать на призму из материала, показатель преломления которого меняется в зависимости от напряжения, и будет идти дальше на оптику, которая направит луч под нужным углом.
Реальные, не стереоскопические, 3D мониторы нужны, например, для очков виртуальной реальности. Дело вот в чём. Человек определяет расстояние до объекта не только за счёт разницы изображений между двумя глазами, но и за счёт изменения фокусного расстояния глаза, меняя форму хрусталика. В современных очках виртуальной реальности изображение для каждого глаза - двумерное, и глаз не может правильно оценить дистанцию до объекта за счёт изменения фокуса. Это вызывает дискомфортные ощущения. А в очках виртуальной реальности будущего, для каждого глаза изображение будет создавать 3D-монитор, и хрусталик глаза заработает нормально.
Полагаю, массово начнут выпускаться 3D-мониторы, причём полноценные: позволяющие видеть трёхмерное изображение без специальных очков. Соответственно, появятся игры под такую 3D графику. Также появятся видеокамеры под такое 3D. Их особенность - большой размер объектива: так как если мы можем на 3D экране, сместившись вбок, заглянуть за объект, то и камера должна иметь возможность это сделать. Скорее всего, весь экран монитора одновременно будет и объективом трёхмерной камеры. На микроуровне светоизлучающие элементы будут чередоваться с фоторецепторами. Движущихся механических частей в таких мониторах не будет, в отличие от некоторых современных моделей.
Из игровых манипуляторов: выпускаемые сейчас реалистичные секс-куклы покроют сенсорами, и прикосновение к кукле будет изображаться прикосновением к девушке на экране в игре.
Диалоги с персонажами в игре будут генерироваться нейросетями, причём генерироваться прямо во время игры. Геймдизайнер будет задавать характер персонажа, его эмоции, описывать его предысторию, знания, остальное сгенерирует нейросеть. Побочные квесты тоже будут генерироваться нейросетями.
В многопользовательских играх читеры, скорее всего, победят. Купят второй компьютер, с видеокамеры будут передавать на него изображение с игрового компьютера, по USB-кабелю передавать сгенерированные движения мыши, нажатия клавиш. А на втором компьютере будет сидеть нейросеть, и играть вместо читера. Отследить такое никакими античитерскими программами нельзя, и нормально играть pvp станет невозможно. Да и однопользовательский режим скатится на дно.
По оплате игр. Уже сейчас некоторые игры разрабатываются за счёт государства. Возможно, будет сделан и следующий шаг, и профинансированные государством игры будут выкладываться в бесплатный доступ. Правда, возникнет вопрос, как в таком случае оценить, что деньги, выделенные государством, не потрачены впустую. Видимо, качество сделанной игры будет оценивать искусственный интеллект, который попытается в игру поиграть, и если игра пройдёт его тесты, то можно спокойно завершать проект разработки.
Конструкторы игр начнут генерировать игры также просто, как сейчас нейросети генерируют изображения. Появятся веб-сервисы, которые платно будут предлагать пользователю поиграть в игру своей мечты. Пользователь словами опишет, во что хочет поиграть, скинет референсные картинки, образцы музыки, голоса, художественные книги, фильмы, а нейросеть сгенерирует игру, или даже несколько вариантов такой игры.
Я имел в виду обыкновенные дроби. Они хранятся в виде пары значений: числитель и знаменатель.
так что если претензии к программистам Cinema 4D и предъявлять, то только в том, что они поленились сделать "красивое" округление.
Они отвели недостаточно места для хранения числа. Причём, если бы они для хранения чисел, введённых пользователем, использовали десятичные числа, а не торопились их преобразовать в двоичные, то 4 байт им вполне могло бы хватить для точного хранения тех значений, что я вводил.
в десятичном -- только текстовые по своей сути файлы, пример которого Вы и приводите
При считывании файла в память очень желательно текст преобразовать в более компактную форму, иначе оперативная память может быстро закончиться. Стандарт хранения десятичных чисел позволяет сделать это без потерь.
всё начинает считаться в двоичном виде
Здесь может быть путаница с терминологией. Потому что, как, например, назвать расчёты в рациональных числах? Двоичные вычисления? Если я правильно помню, калькулятор, встроенный в Windows, вычисляет в рациональных числах. Десятичные числа - это частный случай рациональных чисел.
в этом принципиальное отличие от обработки финансово-экономической информации на мэйнфреймах, где внутренние расчёты продолжают выполняться в десятичном виде.
Может, вы и правы, что только экономисты это используют. Помню, когда-то давно впервые стал знакомиться с 3D-редактором Cinema 4D. И вскоре обнаружил, что этот редактор отказывается сохранять те десятичные числа, что я ввожу. Вместо короткого числа - выводит какую-то длиннющую дробь с кучей девяток. Видимо, они пожадничали с размером чисел с плавающей точкой. После этого я забросил ту программу.
Но все равно eax ^= ecx не сильно информативнее xor eax, ecx
Для меня информативнее. Из-за того, что в отладчике Visual C++ приёмник операции xor слева, а в Code::Blocks справа. Когда переключаешься между ними - это несколько дезориентирует.
Любые научно-технические расчёты (а всякие 3D-модели и т.п. к ним и сводятся) ведутся исключительно в двоичном виде.
Расчёты, может и ведутся в двоичном виде, так как процессор, например, троичную арифметику, вряд ли поддерживает. Однако хранение исходных данных может быть необходимо в десятичных числах. Хватает текстовых 3D-форматов, например OBJ. Его можно преобразовать при считывании в более компактный формат, а затем, после изменений, сохранить в текстовом виде без ошибок преобразования десятичных чисел.
Получается что избыточное "=" добавляется только ради того чтобы не ломать привычку Си-шникам.
Нет. Оно не избыточное, и нужно при дизассемблировании, чтобы иметь возможность постепенно заменять первоначальный ассемблерный код на код высокого уровня. Например, дизассемблер выдал:
Симкод не предназначен для написания ассемблерного кода, он нужен для максимального удобства чтения сгенерированного машинного/ассемблерного кода.
С моей точки зрения, это взаимоисключающие утверждения. Мне трудно представить, как отказ от макроконстант может облегчить чтение листинга. Вы реально собираетесь в уме держать, какое численное значение что означает? Вот сравните: eax = 11045 или eax = $HEAVY_LASER_ID, что понятнее выглядит?
В 64-разрядной версии MASM поддержку встроенных макросов (.if, .while, invoke и пр.) вообще убрали.
Хоть я и говорил про макроконстанты, а не про .while, но и здесь выскажусь. Большой проект, скорее всего, будет содержать таблицы. Это могут быть, например, наборы поддерживаемых разрешений экрана, карты сообщений: событие - действие, и прочее. Особенность всего этого в том, что эти таблицы понадобиться вставить в нескольких разных местах кода, и согласовать. Например, для каждого разрешения экрана должно быть текстовое описание, чтобы пользователь мог выбрать это разрешение из меню, и, к примеру, своя процедура быстрой очистки заэкранного буфера. И нужно следить, чтобы одно другому соответствовало. Удобнее всего такие таблицы вставлять в код макроциклами. Приведу условный пример:
// Декларация таблицы разрешений экрана
#let resolutions = [{x: 640, y: 480} {x: 1024, y:768}]
...
string resolutionToString[#[resolutions.count]] = {
// Здесь r - курсор, который проходит по всем элементам таблицы resolutions
// Участок #delim ... #endfor выполняется для всех итераций цикла, кроме последней.
// В данном случае он просто выводит запятую между строками.
#for resolutions |> r: \" #[r.x] x #[r.y] \" #delim, #endfor
}
...
void clearOffscreen()
{
switch(resolutionID)
{
#for resolutions |> r:
case #[indexof(r)]:
memzero(offscreenBuffer.dataPtr, #[r.x * r.y] * bytesPerPixel);
break;
#endfor
}
}
В книге "Расширяемые программы" Горбунов-Посадов подробнее раскрывает тему о том, что препроцессор должен поддерживать таблицы и циклы. Правда, язык, который он в книге использует, больше академический, чем практический. Но суть от этого не меняется.
Десятичные числа нужны не только для финансистов. Ещё они нужны для графической разметки. Описание разметки задаётся примерно в виде: "умножить высоту этого окна на 80% и сложить с удвоенной толщиной этой рамки". Если мы преобразовали десятичные числа в двоичные, и прокручиваем длинный документ, то ошибка накапливается, пока графические элементы не начнут съезжать от правильных положений. Всё, что касается разметки, 3D-графики, чертежей - там нужны десятичные числа.
Если кратко. Версия, вообще говоря, состоит из четырёх чисел, например: 1.2.3.4
Эти числа носят следующие названия в порядке слева направо: 1 - Major number, 2 - Minor number, 3 - Patch number, 4 - Build number.
Если отличается Major, то это означает наиболее радикальные отличия. Либо формат данных полностью изменился, либо полностью изменился пользовательский интерфейс. В общем, на новую программу придётся полностью переучиваться.
Если отличается Minor, то это, как правило, означает лишь расширение функционала существующей программы. Формат данных дополнился новыми полями, в интерфейсе пользователя появились новые пункты меню, новые виджеты. Однако пользователь, знакомый с предыдущей версией, без труда разберётся с новой, так как версии схожи между собой.
Если отличается Patch number, то это означает исправление ошибок в программе, без изменения интерфейса.
Последний - Build number, используется только разработчиком программы, например так: программист создаёт программу, присваивает ей очередной этот номер, затем программу проверяют на ошибки, если обнаруживают, то исправляют, и присваивают следующий номер. Либо добавляют функционал, и тоже увеличивают этот номер. Но все эти циклы происходят внутри компании, и чтобы не сбивать с толку конечных пользователей, изменения пишут в этот номер, чтобы потом, при распространении программы, просто его убрать.
Вообще говоря, запись версии через точку оказалась неудачной идеей, так как создаёт путаницу с записью вещественных чисел. В результате, возникает неопределённость, какой номер версии более новый: 1.2 или 1.101
Каждая компания интерпретирует это по-своему.
Они это приводят как пример того, что качественное образование может замаскировать собой генетическое оглупление. Но основной результат исследований как раз в том, что генетически исландцы стали глупее. А Исландию для исследований выбрали потому, что это очень стабильная страна: там не было войн, серьёзных катастроф, люди более-менее схожи генетически.
Просто были биологи, которые утверждали, что несмотря на уменьшение мозга, мозг может качественно становиться лучше, в меньших объёмах решая те же задачи. Но исследования в Исландии показали, что и генетически люди глупеют.
Ситуация такая, что человечество может начать утрачивать технологии, а воспроизвести их заново не сможет. Рано или поздно заводы повыходят из строя: сгорят в пожарах, продадут площади под рынки, и так далее. Не будет заводов - не будет сельскохозяйственной техники. Без техники обработать поля в прежних количествах не смогут, и начнётся голод.
Не нужно мне такой бред приписывать. Чтобы родился ребёнок, недостаточно мужчины - нужна и женщина. Если вы сперму заморозите - кого вы ей оплодотворять собрались?
Я просто забил в поисковик про исследования в Исландии, и выдал первую попавшуюся ссылку. Где-то должна и научная публикация быть. Я помню, что про эти исследования профессиональный биолог говорил. И речь не только про эти исследования. Уменьшается и размер мозга, причём многие тысячелетия.
Бывают разные типы отбора. Возьмём, к примеру, павлинов. Самкам павлинов нравятся самцы с большим хвостом (на самом деле, предхвостьем, но не в этом суть). Но какой-то селекционер возьмёт, и начнёт в своём хозяйстве всех самцов с самым большим хвостом пускать под нож, до того, как они оплодотворили самок. И спустя большое количество поколений размер хвоста у самцов уменьшится. А потом селекционер бросит всё на самотёк. И тут-то и выяснится, что предпочтения самок не изменились: у них не было причины меняться. И снова яйца начнут откладываться от павлинов с самым большим хвостом. А размер хвоста у павлинов, спустя поколения, опять вырастет. Потому что отбор теперь ведёт не селекционер, а опять самки.
Если мы посмотрим на жизнь, какую ведут первобытные люди, то они постоянно таскают с собой оружие, и при этом ведут голодную жизнь. В таких условиях уверенный в себе идиот, который отбирает еду у других, проживёт ровно до того момента, пока не отвернётся. Обезьяна не может убить противника с одного удара, вооружённый человек - может.
Пикаперы сходятся на том, что женщина в половые партнёры старается выбрать мужчину, который по характеру наиболее похож на вожака стаи обезьян. А вожак стаи обезьян - это вовсе не самая умная особь, а самая наглая. Только вот незадача: в прошлом человечества такие наглые особи до возраста спаривания, видимо, не доживали.
Но 30 тысяч лет назад, видимо, жизнь людей заметно улучшилась, вот женщины и начали возвращать человечество назад к обезьянам. Я не говорю про всех женщин, но про многих.
P.S. Добавлю ссылку про уменьшение размера мозга у современного человека по сравнению с кроманьонцем:
https://www.ixbt.com/live/offtopic/my-glupeem-pochemu-u-chelovechestva-umenshaetsya-razmer-mozga-poslednie-tysyachiletiya.html
Поэтому там не стали показывать весь ужас складывающейся ситуации. В фильме массовый голод и ядерная катастрофа - лишь угроза, а не свершившийся факт. В реальной жизни никакого спасителя человечества, скорее всего, не будет, в отличие от фильма.
Дробышевский лишь озвучил то, что и так у многих на слуху. Вот навскидку статья про снижение уровня интеллекта людей в Исландии: https://futurist.ru/articles/767
А причина уменьшения размера мозга проста: если открыть любой учебник по пикапу (соблазнению женщин), то станет ясно, что женщины себе полового партнёра вовсе не по интеллекту выбирают, а по уверенности мужчины в себе. Речь идёт не о браке, а именно о половом партнёре - о потенциальном отце её детей. Если такой отбор поколениями вести, то очевидно, что с мозгом станет.
Вообще говоря, фильм "Идиократия" не про это. Там причиной снижения уровня интеллекта называют современный половой отбор, при котором больше всего детей оставляют наименее интеллектуально развитые люди. В основу фильма легло научное открытие, что последние 30 тысяч лет постепенно уменьшается средний размер мозга у человека, и, видимо, снижается и уровень интеллекта. На эту тему, кстати, неоднократно высказывался антрополог Станислав Дробышевский.
Уменьшение размера мозга началось задолго до появления искусственного интеллекта. И вызвано, видимо, тем, что идиоты перестали массово погибать.
Дети используют искусственный интеллект просто потому, что не видят смысла учиться. Они сплошь и рядом видят примеры того, что социальный статус и богатство определяется вовсе не образованием, а знакомствами. Для женщины образование - это гораздо более трудный путь достичь богатства, чем просто выскочить замуж за олигарха. Вот они и не хотят учиться.
Да, это оптимизация. Меньше размер матриц, больше скорость их умножения.
Не знал никого, кто бы мог мне инвайт дать. В своё время я интересовался троичной арифметикой, поэтому когда прочёл, что троичные матрицы предлагают использовать для нейросетей, то подумал, что, может, читателям будет интересно узнать про умножение таких матриц.
так как мы имеем дело с дискретными значениями, то их легко можно заменить с помощью табличной функции на любые другие. К примеру, умножаем троичную матрицу весов на какой-то входной троичный вектор. Результат - вектор из целых чисел. Используем каждое из этих чисел как номер элемента в массиве (номера могут быть отрицательными, поэтому предварительно можно сложить с какой-то константой bias), и подставляем вместо номера элемента его значение в этом массиве.
На псевдокоде это можно примерно так записать:
Крупные корпорации неохотно переходят на новые технологии. А для мелких компаний вычислительная фотоника - слишком дорого и сложно. Например, для дальнейшего развития фотоники нужны наноструктурные материалы: у них сложная геометрия на наноуровне. Однако изготовить такой материал может быть ещё сложнее, чем напечатать электронный чип.
В качестве фотонного аналога транзистора хорошо бы подошёл компонент, который, под действием фотона с одной поляризацией, меняет свой показатель преломления для фотонов с другой поляризацией. Ну вот, допустим, его изобретут. И представим себе картину: собрание менеджеров какой-нибудь корпорации, производящей чипы. И кто-нибудь из них заявляет:
-- Знаете, мы тут изобрели фотонный процессор, который холоднее тех процессоров, что мы производим, и при этом гораздо производительнее. Только вот проблема: станки, которые мы используем для производства электронных процессоров, для фотонных не годятся. Поэтому давайте выбросим те станки, за которые мы заплатили астрономические суммы денег, и за такие же огромные суммы купим новые станки для новой, пока ещё непроверенной технологии. А если что-то пойдёт не так, то можете меня уволить, так как я это предложил.
Никому это не нужно.
В компьютерах будущего будет активно применяться фотоника, что позволит значительно улучшить скорость параллельных вычислений, что важно для нейросетей.
Современная электроника столкнулась со следующей проблемой: электронные элементы мы уже не можем делать меньше, поэтому микросхемы стали делать многослойными. Однако это создаёт серьёзные проблемы с отводом тепла.
Фотонные компоненты значительно крупнее электронных, но при этом тепловыделение у них гораздо меньше. Это позволит создавать фотонные микросхемы с огромным количеством слоёв, что в пересчёте на площадь даст фотонике преимущество. Те объёмы, которые сейчас в персональном компьютере занимают воздуховоды, вентиляторы и радиаторы, в компьютере будущего будут занимать кубы фотонных микросхем.
Арифметико-логическое устройство использует для быстрого выполнения таких операций, как умножение, деление и прочих, таблицы констант, объём которых может занимать мегабайты. Эти таблицы никогда не меняются, однако возникает проблема: в электронике шину данных одновременно может использовать только один поток, а остальные вынуждены простаивать, ожидая, пока она освободится. Поэтому в многопоточном процессоре мы вынуждены делать свою копию этих таблиц для каждого потока, чтобы потоки друг друга не блокировали. А вот в фотонике по шине данных из световодов могут одновременно распространяться фотоны разных длин волн, практически не взаимодействуя друг с другом. Это позволит избежать блокирования шины данных, и использовать одни и те же таблицы констант для разных потоков, что уменьшит объём процессора.
Электроника сохранится там, где будет важен малый вес или плоская форма прибора. Например, в смартфонах, скорее всего, останется. Но вот в персональных компьютерах начнёт применяться фотоника, и производительность нейросетей заметно вырастет.
Те 3D мониторы, что были, оставляют желать лучшего: они или стереоскопические, или с механическим вращающимся зеркалом. Полноценный 3D монитор будет чем-то вроде окна, через которое ты смотришь в другую комнату. Сместившись, можно будет увидеть изображение под другим ракурсом. На микроуровне каждый пиксель такого монитора в разных направлениях излучает разный, задающийся видеосигналом, цвет. Если у стереоскопического монитора объём передаваемых данных, грубо говоря, в два раза больше объёма данных обычного монитора, то у реального 3D монитора объём данных будет больше в миллион раз. Там без сжатия видеосигнала просто не обойтись.
Что касается мониторов с вращающимся зеркалом - они тоже неполноценные. Помимо того, что там хрупкая механика, вакуумная камера, ещё и лазер, который используется для создания изображения - не самый удачный вариант. Лазерное пятно - зернистое, из-за интерференции когерентных волн. А ещё лазер слишком узконаправленный, из-за чего на больших расстояниях изображение выглядит полосатым.
В 3D мониторе будущего будет матрица из разноцветных светодиодов, как в современных мониторах, однако дополненная сложной оптической системой. Свет каждого светодиода будет попадать на призму из материала, показатель преломления которого меняется в зависимости от напряжения, и будет идти дальше на оптику, которая направит луч под нужным углом.
Реальные, не стереоскопические, 3D мониторы нужны, например, для очков виртуальной реальности. Дело вот в чём. Человек определяет расстояние до объекта не только за счёт разницы изображений между двумя глазами, но и за счёт изменения фокусного расстояния глаза, меняя форму хрусталика. В современных очках виртуальной реальности изображение для каждого глаза - двумерное, и глаз не может правильно оценить дистанцию до объекта за счёт изменения фокуса. Это вызывает дискомфортные ощущения. А в очках виртуальной реальности будущего, для каждого глаза изображение будет создавать 3D-монитор, и хрусталик глаза заработает нормально.
Полагаю, массово начнут выпускаться 3D-мониторы, причём полноценные: позволяющие видеть трёхмерное изображение без специальных очков. Соответственно, появятся игры под такую 3D графику.
Также появятся видеокамеры под такое 3D. Их особенность - большой размер объектива: так как если мы можем на 3D экране, сместившись вбок, заглянуть за объект, то и камера должна иметь возможность это сделать. Скорее всего, весь экран монитора одновременно будет и объективом трёхмерной камеры. На микроуровне светоизлучающие элементы будут чередоваться с фоторецепторами. Движущихся механических частей в таких мониторах не будет, в отличие от некоторых современных моделей.
Из игровых манипуляторов: выпускаемые сейчас реалистичные секс-куклы покроют сенсорами, и прикосновение к кукле будет изображаться прикосновением к девушке на экране в игре.
Диалоги с персонажами в игре будут генерироваться нейросетями, причём генерироваться прямо во время игры. Геймдизайнер будет задавать характер персонажа, его эмоции, описывать его предысторию, знания, остальное сгенерирует нейросеть. Побочные квесты тоже будут генерироваться нейросетями.
В многопользовательских играх читеры, скорее всего, победят. Купят второй компьютер, с видеокамеры будут передавать на него изображение с игрового компьютера, по USB-кабелю передавать сгенерированные движения мыши, нажатия клавиш. А на втором компьютере будет сидеть нейросеть, и играть вместо читера. Отследить такое никакими античитерскими программами нельзя, и нормально играть pvp станет невозможно. Да и однопользовательский режим скатится на дно.
По оплате игр. Уже сейчас некоторые игры разрабатываются за счёт государства. Возможно, будет сделан и следующий шаг, и профинансированные государством игры будут выкладываться в бесплатный доступ. Правда, возникнет вопрос, как в таком случае оценить, что деньги, выделенные государством, не потрачены впустую. Видимо, качество сделанной игры будет оценивать искусственный интеллект, который попытается в игру поиграть, и если игра пройдёт его тесты, то можно спокойно завершать проект разработки.
Конструкторы игр начнут генерировать игры также просто, как сейчас нейросети генерируют изображения. Появятся веб-сервисы, которые платно будут предлагать пользователю поиграть в игру своей мечты. Пользователь словами опишет, во что хочет поиграть, скинет референсные картинки, образцы музыки, голоса, художественные книги, фильмы, а нейросеть сгенерирует игру, или даже несколько вариантов такой игры.
Я имел в виду обыкновенные дроби. Они хранятся в виде пары значений: числитель и знаменатель.
Они отвели недостаточно места для хранения числа. Причём, если бы они для хранения чисел, введённых пользователем, использовали десятичные числа, а не торопились их преобразовать в двоичные, то 4 байт им вполне могло бы хватить для точного хранения тех значений, что я вводил.
При считывании файла в память очень желательно текст преобразовать в более компактную форму, иначе оперативная память может быстро закончиться. Стандарт хранения десятичных чисел позволяет сделать это без потерь.
Здесь может быть путаница с терминологией. Потому что, как, например, назвать расчёты в рациональных числах? Двоичные вычисления? Если я правильно помню, калькулятор, встроенный в Windows, вычисляет в рациональных числах. Десятичные числа - это частный случай рациональных чисел.
Может, вы и правы, что только экономисты это используют. Помню, когда-то давно впервые стал знакомиться с 3D-редактором Cinema 4D. И вскоре обнаружил, что этот редактор отказывается сохранять те десятичные числа, что я ввожу. Вместо короткого числа - выводит какую-то длиннющую дробь с кучей девяток. Видимо, они пожадничали с размером чисел с плавающей точкой. После этого я забросил ту программу.
Для меня информативнее. Из-за того, что в отладчике Visual C++ приёмник операции xor слева, а в Code::Blocks справа. Когда переключаешься между ними - это несколько дезориентирует.
Cascading Style Sheets:
Расчёты, может и ведутся в двоичном виде, так как процессор, например, троичную арифметику, вряд ли поддерживает. Однако хранение исходных данных может быть необходимо в десятичных числах. Хватает текстовых 3D-форматов, например OBJ. Его можно преобразовать при считывании в более компактный формат, а затем, после изменений, сохранить в текстовом виде без ошибок преобразования десятичных чисел.
Это вычисление хэша:
Например, хэш от прямоугольника:
Нет. Оно не избыточное, и нужно при дизассемблировании, чтобы иметь возможность постепенно заменять первоначальный ассемблерный код на код высокого уровня.
Например, дизассемблер выдал:
А программист это может переписать так:
Это уже не ассемблерный код, но вполне себе корректное выражение.
Visual C++ генерирует ассемблерные листинги с макроконстантами. Приведу фрагмент:
С моей точки зрения, это взаимоисключающие утверждения.
Мне трудно представить, как отказ от макроконстант может облегчить чтение листинга. Вы реально собираетесь в уме держать, какое численное значение что означает? Вот сравните:
eax = 11045илиeax = $HEAVY_LASER_ID, что понятнее выглядит?Хоть я и говорил про макроконстанты, а не про .while, но и здесь выскажусь. Большой проект, скорее всего, будет содержать таблицы. Это могут быть, например, наборы поддерживаемых разрешений экрана, карты сообщений: событие - действие, и прочее. Особенность всего этого в том, что эти таблицы понадобиться вставить в нескольких разных местах кода, и согласовать. Например, для каждого разрешения экрана должно быть текстовое описание, чтобы пользователь мог выбрать это разрешение из меню, и, к примеру, своя процедура быстрой очистки заэкранного буфера. И нужно следить, чтобы одно другому соответствовало. Удобнее всего такие таблицы вставлять в код макроциклами. Приведу условный пример:
В книге "Расширяемые программы" Горбунов-Посадов подробнее раскрывает тему о том, что препроцессор должен поддерживать таблицы и циклы. Правда, язык, который он в книге использует, больше академический, чем практический. Но суть от этого не меняется.
Десятичные числа нужны не только для финансистов. Ещё они нужны для графической разметки. Описание разметки задаётся примерно в виде: "умножить высоту этого окна на 80% и сложить с удвоенной толщиной этой рамки". Если мы преобразовали десятичные числа в двоичные, и прокручиваем длинный документ, то ошибка накапливается, пока графические элементы не начнут съезжать от правильных положений. Всё, что касается разметки, 3D-графики, чертежей - там нужны десятичные числа.