Шахтёры и их рабочая лошадь в забое, Франция, 1970 год
Как «ходют» кораблики или что движет современное судно?
Мореплавательная деятельность, довольно таки древняя штука.
Ещё с незапамятных времён, потомки первых людей, с переменным успехом, на каком-нибудь бревне, покоряли морские просторы в поисках лучшего места под солнцем.
Эволюция не стоит на месте, прогресс кстати тоже и вот люди уже научились строить настоящие корабли, но построить это ещё пол дела, нужно же как-то заставить эту махину двигаться по воде, а ещё и управлять ею, не всегда же просто плыть по течению, а там куда приплыли, там и приуныли.
Гении того времени изобрели паруса, ну и пару сотен рабов ещё, которых усадили за вёсла, а там гребите.
И поплыли….
Так продолжалось несколько тысяч лет, между прочим, вроде бы эффективность такого движителя была не особо высокой и часто в процесс вмешивался естественный отбор, но тем не менее, люди открывали и осваивали новые земли.
Благо те времена уже давно позади и теперь вместо рабов на галере, на современном судне гребёт винт.
А чтобы винт грёб, он должен крутиться, так что же его крутит сейчас судне?
Тут есть несколько вариантов, давайте посмотрим!
Первый вариант это паровая турбина!
Исторически так сложилось, что в 19 веке в моде видимо был стим панк и тогда-то изобрели первый паровой двигатель, его конечно же быстренько впихнули на судно, что бы крутить винт или гребные колёса, короче смастерили настоящий ПАРОХОД.
Сейчас конечно паровые двигатели не используют, но вот пар для движения судна используется активно, просто система другая.
Используется паровая турбина.
Тут всё просто котлы греют воду, получается супер перегретый пар в 400’С, он подаётся в турбину, турбина крутится, на ней винт соотвественно тоже.
И всё, поехали!
Плюсы паровой турбины в том, что она практически не нуждается в тех. обслуживании, экономия на лицо, но вот КПД маловат.
Второй вариант, это естественно главный дизельный двигатель.
Это самый распространённый вариант и используется на большинстве современных судов.
Обычный двухтактный дизелёк, правда размером огромный, зависит от размера судна, далеко не редкость, что движок высотой в 5-ти этажный дом, тарахтит себе и крутит винт.
Что ещё нужно для счастья?
Правда кушает он много топлива и требует бережной эксплуатации, зато коммерчески выгодно.
Третий способ крутить винты, это использование системы электродвижения.
Хай тек между прочим!
Тут тоже есть несколько вариантов, как это всё провернуть, но везде используется Гребной Электродвигатель.
Первый вариант, использования двигателя постоянного тока, данную систему можно встретить на ледоколах, но уже особо широко не используется, так как надёжность машины из-за наличия щёточного коллектора не впечатляет, да и система регулирование частоты вращения, оставляет желать лучшего, тем более с нынешним развитием полупроводников
Второй вариант, это использование Синхронных или Асинхронных Гребных Электродвигатей.
Генераторы вырабатываю электроэнергию, та поступает на преобразователь частоты, а потом непосредственно на сам электродвигатель, далее обычно идёт понижающий редуктор, ну а от него идёт вал, куда и прикреплён винт.
В общем и целом- это хорошая система и довольно часто используется, особенно на газовозах.
Третий вариант, это всё тот же синхронный или асинхронный электродвижок, только вот без всяких там редукторов, а винт находится напрямую на валу электродвигателя, а сам электродвигатель под водой.
Речь идёт про Azipod.
А зачем вообще нужно было так изгаляться?
Тут есть несколько причин,практически нет никаких потерь, а это значит высокий КПД.
Можно получить большую мощность и место в машинном отделении сэкономить, соотвественно на судне появляется больше места под перевозимый груз.
Ну а главный плюс, это просто колоссальная маневреность.
Поэтому Азиподы устанавливают на суда ледового класса, буровые платформы и пассажирские лайнеры.
Вот таким образом в наше время и движется судно, у моряков главное чтобы винты крутились, а зарплата мутилась.
С вами был Гена Инженерский.
Всего вам хорошего!
P.S. Дорогие друзья, я не собираю донаты, а делаю это для вашего удовольствия и приятного провождения времени.
Но вы можете меня поддержать на Яндекс музыке прослушиванием и лайком, ведь я не только пишу посты, а ещё и музыку и вроде не плохо, короче зацените, заранее благодарю
https://music.yandex.ru/artist/19037213?utm_medium=copy_link
Платформы для онлайн-обучения: что вы о них думаете? Поделитесь мнением!
Онлайн-курсов становится все больше, и нам интересно собрать статистику. Пожалуйста, пройдите небольшой опрос и поделитесь своим мнением!
Алгоритмы: Открытие тайн кода
Здравствуйте, мои маленькие любители алгоритмов. Я покажу вам основные принципы, которые демонстрируют необходимость алгоритмов, обучу вас решению элементарных задач и введу вас в понятие O-нотации. Статья предназначена для тех, кто только начинает свой путь в программировании, так что профессионалам она может показаться менее интересной.
Что такое алгоритм?
Алгоритм — это последовательность шагов, предназначенных для решения определённой проблемы. В общем смысле, любой код, который решает задачу, может быть охарактеризован как алгоритм. Понимание того, какой алгоритм лучше всего подходит для определённых условий, может существенно повлиять на эффективность вашего программного решения. Первоначальный этап создания алгоритма заключается в осмыслении проблемы, для решения которой он предназначен.
Пример задачи бинарного поиска
Начнем с примера задачи бинарного поиска. Допустим, вам нужно отыскать фамилию в телефонном справочнике, который начинается на букву “К”. Вместо того чтобы листать с начала, вы быстрее найдёте нужную страницу, открыв справочник посередине, так как “К” вероятно будет ближе к центру. Такой же подход удобен при поиске слова на букву “О” в словаре - начинать стоит с середины. Бинарный поиск — это универсальный алгоритм, применимый для решения многих задач поиска. Он работает с предварительно отсортированным массивом элементов. Если искомый элемент содержится в массиве, бинарный поиск указывает его позицию. В случае отсутствия элемента алгоритм возвращает значение null. В дальнейшем я объясню, почему важна сортировка массива перед началом поиска.
Как работает метод бинарного поиска
Давайте рассмотрим, как работает метод бинарного поиска на примере игры. Представьте, что я загадал число от 1 до 100, и ваша задача — угадать его, используя минимальное количество попыток. После каждой вашей догадки я буду отвечать: “слишком мало”, “слишком много” или “верно”. Если начать угадывать последовательно, начиная с 1, это будет неэффективно. Например, если я загадал число 99, вам потребуется 99 попыток, чтобы добраться до него. Теперь представим более эффективный метод — бинарный поиск. Начнем с середины диапазона, то есть с 50. Если я скажу, что это “слишком мало”, вы тут же исключите все числа от 1 до 50. Затем попробуйте число 75. Если я скажу “слишком много”, вы исключите числа от 76 до 100. Таким образом, каждый раз вы сокращаете количество возможных вариантов вдвое. Следующая попытка будет 63, что находится посередине между 50 и 75.
Бинарный поиск эффективен, потому что с каждой попыткой вы исключаете половину оставшихся чисел. Независимо от того, какое число я загадал, вы сможете угадать его за 7 или меньше попыток. Это показывает мощь алгоритмов и как они могут упростить решение задач. В среднем, бинарный поиск в списке из ( n ) элементов находит элемент за (log2n) шагов, в то время как линейный поиск потребует в среднем ( n ) шагов. Это делает бинарный поиск значительно быстрее, особенно для больших списков.
Реализация бинарного поиска на псевдокоде
Объяснение
Устанавливаем начальные границы поиска: Начало и Конец.
В цикле Пока проверяем, что начальная граница не превысила конечную.
Находим индекс Середина как среднее между Начало и Конец.
Сравниваем элемент в середине с искомым элементом:
Если они равны, возвращаем индекс Середина.
Если элемент в середине меньше искомого, сдвигаем начальную границу за середину.
Если элемент в середине больше искомого, сдвигаем конечную границу перед середину.
Если элемент не найден, возвращаем -1.
Реализация алгоритма бинарного поиска на c++
Анализ эффективности алгоритмов
Когда мы анализируем новый алгоритм, важно обсудить его эффективность. Обычно предпочтительнее использовать алгоритм, который оптимизирован по времени или памяти.
Бинарный поиск
Давайте рассмотрим бинарный поиск. Какое преимущество он предоставляет с точки зрения времени? В классическом подходе мы проверяем каждый элемент последовательно. Если у нас есть список из 100 элементов, нам может потребоваться до 100 проверок. В случае списка из 4 миллиардов элементов, число попыток может достигнуть 4 миллиардов. Время выполнения в таком случае растет пропорционально размеру списка, что является примером линейного времени выполнения.
С бинарным поиском ситуация иная. В списке из 100 элементов потребуется всего лишь 7 проверок. А для списка из 4 миллиардов элементов — не более 32 проверок. Довольно впечатляюще, не правда ли? Бинарный поиск работает за логарифмическое время, что делает его значительно более эффективным.
“Большое О”
“Большое О” - это специальная нотация, которая описывает скорость выполнения алгоритма. Это полезно знать, потому что время от времени вам может потребоваться использовать алгоритмы, разработанные другими людьми, и важно понимать, насколько быстро или медленно они работают.
Время выполнения алгоритмов увеличивается с разной скоростью. Например, Анна разрабатывает алгоритм сортировки для большой базы данных в библиотеке. Ее алгоритм будет работать, когда пользователь будет искать книгу, и поможет вычислить наиболее релевантные результаты.
Это один из примеров того, как время выполнения двух алгоритмов увеличивается с разной скоростью. Анна пытается выбрать между сортировкой пузырьком и быстрой сортировкой. Ее алгоритм должен работать быстро и правильно. С одной стороны, быстрая сортировка работает быстрее. У Анны есть всего 10 секунд, чтобы отсортировать данные; если она не успеет это сделать, то пользователь может уйти. С другой стороны, сортировка пузырьком проще в написании и вероятность ошибок в нем ниже. Конечно, Анна не хочет допустить ошибку в коде сортировки данных. И тогда, для большей уверенности, Анна решает измерить время выполнения обоих алгоритмов для списка из 100 элементов.
Предположим, проверка одного элемента занимает 1 миллисекунду (мс). При сортировке пузырьком Анне придется проверить 100 элементов, поэтому сортировка займет 100 мс. С другой стороны, при быстрой сортировке достаточно проверить всего 7 элементов (log2100log2100 равно примерно 7), и сортировка займет 7 мс. Но реальный список может содержать более миллиарда элементов. Сколько времени в таком случае потребуется для выполнения сортировки пузырьком? А при быстрой сортировке?
Анна проводит быструю сортировку с 1 миллиардом элементов, и на это уходит 30 мс (log21,000,000,000log21,000,000,000 равно примерно 30). “32 мс! - думает Анна. - Быстрая сортировка в 15 раз быстрее сортировки пузырьком, потому что сортировка пузырьком для 100 элементов заняла 100 мс, а быстрая сортировка заняла 7 мс. Значит, сортировка пузырьком займет 30 х 15 = 450 мс, верно? Гораздо меньше отведенных 10 секунд”. И Анна выбирает сортировку пузырьком. Верен ли ее выбор?
Нет, Анна ошибается. Глубоко ошибается. Время выполнения для сортировки пузырьком с 1 миллиардом элементов составит 1 миллиард миллисекунд, а это 11 дней! Проблема в том, что время выполнения для быстрой сортировки и сортировки пузырьком увеличивается с разной скоростью.
“Большое О” описывает, насколько быстро работает алгоритм. Предположим, имеется список размера n. Сортировка пузырьком должна проверить каждый элемент, поэтому ей придется выполнить n операций. Время выполнения “Большое О” имеет вид O(n).
А теперь другой пример. Для проверки списка размером n быстрой сортировке потребуется loglogn операций. Как будет выглядеть “Большое О”? O(loglogn).
В общем случае “Большое О” выглядет так: O(f(n)), где f(n) - это количество операций, которые придется выполнить алгоритму. Оно называется “Большое О”, потому что перед количеством операций ставится символ “О” (а большое - потому что в верхнем регистре).
Примеры “Большого О”
Вот пять типичных примеров “О-большого”, которые часто встречаются в алгоритмах и структурах данных. Они представлены в порядке от самого быстрого к самому медленному:
O(loglogn), или логарифмическое время. Это время, которое обычно требуется для выполнения бинарного поиска.
O(n), или линейное время. Это время, которое обычно требуется для выполнения простого поиска.
O(n loglogn). Это время, которое обычно требуется для выполнения эффективных алгоритмов сортировки, таких как быстрая сортировка.
O(2n2). Это время, которое обычно требуется для выполнения медленных алгоритмов сортировки, таких как сортировка выбором.
O(n!). Это время, которое обычно требуется для выполнения очень медленных алгоритмов, таких как решение задачи о коммивояжере.
Эффективность алгоритмов определяется не по времени выполнения в секундах
Алгоритмы с временем выполнения O(log n) работают быстрее, чем алгоритмы с временем выполнения O(n). И чем больше размер списка, по которому производится поиск, тем заметнее становится эта разница.
Эффективный алгоритм может быть не сразу очевиден, и в зависимости от специфики данных, операционной среды (например, возможности использования параллелизма) и конкретных целей, наилучшим решением может стать один из множества различных алгоритмов.
Это краткое введение — лишь небольшая часть огромного мира алгоритмов. Надеемся, что оно вдохновит вас на дальнейшее изучение различных алгоритмических подходов и алгоритмов, которые мы рассмотрели.
Реализация алгоритмов
Все рассмотренные здесь алгоритмы были реализованы и задокументированы с целью помочь вам лучше понять, как использовать эти алгоритмы и даже как реализовать их самостоятельно. Это знание будет полезно при чтении статей по алгоритмам и при их применении на практике.
Рекомендации по чтению
Вот несколько книг, которые я могу порекомендовать для изучения алгоритмов:
“Алгоритмы: построение и анализ” - Томас Х. Кормен, Чарльз Э. Лейзерсон, Рональд Л. Ривест и Клиффорд Штайн. Это классический учебник, который подробно описывает большинство важных алгоритмов.
“Алгоритмы на Python” - Майкл Т. Гудрич, Роберто Тамассиа и Майкл Голдвассер. Эта книга объясняет алгоритмы на языке Python, что может быть полезно для тех, кто хочет изучать алгоритмы на конкретном языке программирования.
“Структуры данных и алгоритмы в Java” - Майкл Т. Гудрич и Роберто Тамассиа. Это еще одна отличная книга для изучения алгоритмов, особенно если вы предпочитаете Java.
“Алгоритмы + структуры данных = программы” - Никлаус Вирт. Это классическая книга, которая объясняет, как алгоритмы и структуры данных работают вместе, чтобы создать эффективные программы.
Пожалуйста, учтите, что выбор книги зависит от вашего уровня знаний и опыта в программировании. Некоторые книги могут быть более сложными для понимания, чем другие. Поэтому рекомендуется начать с более простых книг, если вы только начинаете изучать алгоритмы.
Плакаты от нейросети
Удивительное рядом
🏍 Автоблогеры создали «пилобайк»
Мотоцикл с пильными дисками вместо колес. Он идеален для езды по льду и резки бревен.
Протез MODESTA – лёд тронулся
Изначально, ещё в 2021 году, наша команда начинала разработку протеза, похожего на руку человека.
Такое изделие может быть отличным косметическим вариантом для внешнего вида (за счёт пяти пальцев), но возник вопрос:
"Что оно может конкретно дать пользователю, при использовании в быту?".
Эффективность хвата, прочность и его сила – относительно низкие, поэтому, в решении бытовых задач, данные протезы практически не применимы. Опытным путём, мы пришли к роботизированному захвату и созданию сильного и стильного протеза, который точно будет выделяться и станет полезным для широкого спектра задач, таких как:
- удержание тонких предметов (нож, ложка, ручка, щётка, карточка, лист бумаги и т.д.);
- захват бутылки (1,5 л.), кружки и др.
Такое решение даёт большую свободу движения, что способствует повышению удобства в использовании.
Почему усложняется производственный процесс создания антропоморфных изделий (похожих на человеческую руку)?
1.) Механика пятипалого протеза, сила сжатия, прочность и хват не позволяют использовать его в качестве повседневного помощника (микродвигатели, занимающие до 60% от общей стоимости ТСР, часто выходят из строя в первую очередь);
2.) Отсутствие обратной связи не даёт тактильных ощущений, поэтому пользователю сложно привыкнуть к протезу. Недоступность точной информации о силе захвата приводит к трудностям при взаимодействии с хрупкими предметами.
Только в 5% случаев пользователь выполняет рекомендации специалистов. На основании имеющегося опыта создания прототипов и испытаний пятипалых изделий, мы наблюдаем, как каждая вышеприведённая проблема отражает недостаточную эффективность протезов, в результате которой, пользователь отказывается носить его каждый день. Часто изделие становится лишь “красивым” прикрытием травмы. Как же прийти к естественной мотивации учиться носить протез?
Итак, протестировав пятипалые прототипы, мы пришли к пониманию, что эти протезы не полностью закрывают базовый функционал (простые действия в быту и жизни), и начали разработку изделия, направленного на решение ежедневных задач пользователя. Какое преимущество мы нашли?
Простой и надёжный механизм с обратной связью и индивидуальном подходе в реабилитации (восстановлении после травмы) и абилитации (освоения протеза), в том числе с помощью программного обеспечения.
Проблемы, существующие на рынке, решаем за счёт:
1.) Сильной механики кисти, без дефицитных микродвигателей, интуитивным управлением, одним, но многофункциональным хватом и возможностью оперативной замены кисти;
2.) Использования вибротактильной обратной связи, чтобы пользователь смог получить базовые ощущения (например – различать наличие в кисти протеза, предмет и его физическое состояние);
3.) Разработки IT-платформы, чтобы наладить индивидуальный подход создания программы, реабилитации и абилитации пациента, возможности наблюдать за процессом обучения (для юных пользователей в игровой форме и c последующим вознаграждением).
Всё это позволяет контролировать движения кисти, от прикосновения до крепкого сжатия, что помогает в обеспечении точности и комфорта при использовании изделия в повседневной жизни.
Осваиваем токарное ремесло и делаем втулки, оси, шайбы для изделия.
Большинство внутренних узлов прототипа делаем самостоятельно.
Представляем вашему вниманию первый предсерийный протез.
⚡В начале марта, мы закончили первую версию протеза.
В видео можно посмотреть первые испытания с низкими температурами.
Кто умнее: человек или нейросеть?
Правда ли, что нейросеть может обыграть самого сильного шахматиста в мире? Или даже поставить диагноз точнее, чем самый заслуженный врач? 🤖👨⚕👑
изображение сгенерировано нейросетью
Мы живем в эпоху, когда искусственный интеллект вызывает восхищение и немного тревоги своими способностями. Но насколько хорошо вы сможете справиться с вызовом, подготовленным самим этим искусственным интеллектом?
Нейросеть приготовила для вас 10 захватывающих вопросов, где ваша задача — определить, правда перед вами или ложь. Задача кажется простой, но не спешите с выводами... Спорим, не сможете угадать все правильно? 😏🎲
Давайте сделаем это еще интереснее! 🌈
В конце поста вы найдете эту уникальную викторину, где каждый вопрос — это шанс доказать, что человеческий интеллект по-прежнему в игре и может дать фору даже самой продвинутой нейросети. 🏆🧠
Почему стоит принять участие?
Это не просто викторина; это битва эпох — ИИ против Человечества!
Отличная возможность проверить свои знания и интуицию.
Забавный способ узнать новое и удивиться возможностям современных технологий.
Готовы к вызову? 🚀
Переходите в наш телеграм-бот и попробуйте обыграть нейросеть! Покажите, что человеческий мозг — это сила, с которой следует считаться! 🌟📚