алгоритмы в жизни человека
Алгоритмы для жизни: Простые способы принимать верные решения Брайан Кристиан, Том Гриффитс. Конспект книги: Часть 1.
Алгоритмы для жизни: Простые способы принимать верные решения Брайан Кристиан, Том Гриффитс http://proxy.flibusta.is/b/498745 http://flibustahezeous3.onion/b/498745/read через Tor
Чем больше информации вы соберете, тем быстрее вы поймете, что перед вами та самая квартира, которую вы искали, – хотя, скорее всего, вы уже ее упустили.
Так что же делать? Каким образом вы примете взвешенное решение, если сам факт обдумывания ставит под угрозу результат? Есть ответ.
Тридцать семь процентов.
Если вы хотите максимально увеличить свои шансы на получение лучшей квартиры, потратьте 37 % вашего времени и усилий (11 дней, если вы задались целью найти квартиру за месяц) на изучение вариантов без каких бы то ни было обязательств. Вы просто примеряетесь.
Это обоснованно оптимальное решение.
Мы знаем это, потому что поиск квартиры принадлежит к разряду математических задач – « задач об оптимальной остановке». На языке программистов она называется алгоритмом.
С помощью простых алгоритмов можно решить не только задачу по аренде жилья, алгоритмы можно применить ко всем жизненным ситуациям, в которых мы сталкиваемся с вопросом оптимальной остановки.
Понятие «алгоритм» все чаще воспринимается как часть инфраструктуры современного мира и едва ли – в качестве источника практической мудрости в повседневной жизни.
Само слово «алгоритм» произошло от имени математика персидского происхождения аль-Хорезми. слово «алгебра» произошло как раз от части названия его книги – «аль-джебр».
Но алгоритмы были неотъемлемой частью жизни человека со времен каменного века.
В этой книге мы рассмотрим идею разработки алгоритмов для нашей жизни и найдем лучшие решения для задач, с которыми все мы сталкиваемся ежедневно.
Взгляд на нашу повседневную жизнь через призму компьютерной науки может повлиять на вашу жизнь на различных уровнях. В первую очередь, это дает нам четкие практические рекомендации для решения определенных задач. Правило оптимальной остановки подсказывает нам, сколько раз стоит отмерить, прежде чем наконец отрезать.
Принцип соотношения между поиском новой информации и применением имеющейся помогает нам обрести баланс между стремлением к новым впечатлениям и умением наслаждаться привычными вещами. Теория сортировки подскажет, как организовать рабочее место. Основные принципы технологии кеширования помогут, если необходимо правильно разложить вещи в шкафу или ящиках. Планирование поможет нам правильно распределить время.
Карл Саган, «наука – это скорее определенный образ мышления, нежели просто совокупность знаний».
Взгляд через призму компьютерной науки может раскрыть нам природу человеческого разума, значение понятия рациональности и ответить на извечный вопрос – «как жить?».
Для разрешения реальных жизненных ситуаций необходимо смириться с тем, что в жизни есть место случаю или вероятности, что нам приходится максимально аккуратно использовать время и зачастую работать только с приближенными значениями величин.
Алгоритмическое осмысление мира, изучение фундаментальных структур задач, с которыми мы сталкиваемся, и способов их решения поможет нам заново оценить свои сильные стороны и понять допускаемые ошибки.
Приходится принимать решения в условиях неопределенности, временных ограничений, неполной информации и быстро меняющейся реальности. И все же жить по заветам компьютерной науки не так уж и плохо. Ведь, в отличие от большинства советов, ее мудрость имеет обоснования.
В поисках алгоритмов для жизни мы беседовали с людьми, которые придумали самые известные алгоритмы за последние 50 лет. И мы спрашивали, как их исследование повлияло на их же подход к решению жизненных задач – от поиска второй половины до сортировки носков после стирки.
Новый способ увидеть утонченные схемы за самыми сложными дилеммами человечества и не только признание глубинной взаимосвязи компьютеров с тяжелым человеческим трудом. Это кое-что более основательное, а именно новый словарь для изучения мира вокруг нас и шанс узнать что-то поистине новое о нас самих.
Каждый год влюбленные парочки студентов-первокурсников возвращаются после совместных каникул по случаю Дня благодарения, разругавшись в пух и прах. Это так часто происходит, что у психологов колледжей есть даже специальное словечко: turkey drop Психолог предложила удивительное: «Собирай данные». (Встречайся с другими девушками J
Правило 37 % [2] произошло от самой известной головоломки об оптимальной остановке, которая со временем стала известна как «задача о секретаре»:
Представьте, что вы проводите собеседование на позицию секретаря и ваша цель – принять на работу лучшего из всех. Вы интервьюируете претендентов в произвольном порядке, по одному за раз. Вы можете принять решение нанять кандидата в любой момент собеседования, а он, в свою очередь, примет ваше предложение и завершит свои поиски работы. Но при этом, если вы упустите кандидата, решив не нанимать его, вы потеряете его навсегда.
Задача о секретаре оказалась едва ли не идеальной математической загадкой: ее легко объяснить, очень сложно решить, решение ее чрезвычайно лаконично, а выводы крайне занимательны.
Почему 37 %?
Подбирая секретаря, вы можете совершить две ошибки: остановиться либо слишком рано, либо слишком поздно. Оптимальная стратегия требует от вас баланса между чрезмерным и недостаточным поиском.
принимать на работу первого «лучшего на данный момент» кандидата (иначе говоря, самого первого кандидата) – опрометчивое решение.
Мы рассмотрим лучшую из возможных стратегий на примере с тремя кандидатами.
Следование оптимальной стратегии в конечном итоге дает нам 37 %-ный шанс принять на работу лучшего кандидата. Одновременно в этой цифре заключается и уникальная математическая симметрия этой задачи: число, определяющее стратегию, и процент вероятности успеха совпадают.
63 %-ная вероятность неудачи при использовании лучшей имеющейся стратегии – отрезвляющий факт. Это плохая новость для тех, кто живет только поисками «того единственного (той единственной)».
При оптимальной остановке ваш шанс выбрать лучшего кандидата из ста – 37 %. И если выбирать из тысячи, то вероятность успеха по-прежнему 37 %. Таким образом, чем больше становится число претендентов, тем бóльшую ценность для нас может представлять знание алгоритма.
Действительно, в большинстве случаев вы вряд ли найдете потерянную иголку. Но оптимальная остановка, по крайней мере, защитит вас от ее поисков в стоге сена.
Как алгоритмы влияют на жизнь
Вот уже несколько лет в околоайтишных кругах ведётся интереснейший диалог, который всё никак не проложит дорогу к широкой общественности — хоть самым непосредственным образом на судьбы её, общественности, влияет. Объяснить смысл проблемы, а тем более её потенциальные решения, обывателю непросто. Вот только хочет он того или нет, вникать придётся, ибо с каждым годом масштаб последствий увеличивается. Впрочем, простите, что говорю загадками: речь о скрытой роли, которую играют в нашей жизни алгоритмы.
Вообразите самую обычную ситуацию: вы уселись посмотреть кино в онлайновом кинотеатре. И конечно, первое, что видите, запустив приложение на «умном» телевизоре, это список фильмов, которые предположительно должны вам понравиться. Как этот список был составлен? Кинотеатр за время пользования накопил о вас некоторые сведения и теперь делает на их основе предположение-прогноз насчёт ваших вкусов. Например, если в прошлом вы смотрели фильмы ужасов, то и сейчас вам предложат главным образом картины того же жанра. Ну и, конечно, кому-то предложенные ленты понравятся, а кому-то нет. Это нормально. Разработчики алгоритма, угадывающего вкусы зрителя, допускают, что он не всегда окажется прав, но процент «попаданий» оправдывает его применение.
И это лишь один из примеров. Если присмотреться к происходящему вокруг, окажется, что очень и очень многое в нашей жизни определяют или пытаются определять именно алгоритмы. Это они подбирают рекламу, которую вы видите в своём браузере. Они составляют список товаров, которые попадаются на глаза в первую очередь, когда вы заходите в интернет-магазин. Они советуют друзей в социальных сетях. Они на самом деле оценивают заявки на кредит и даже определяют сумму, которой банку в каждом конкретном случае допустимо рискнуть. Они всё чаще фильтруют кандидатов на собеседованиях при приёме на работу. Они помогают полиции «умно» распределять ресурсы, направляя силы туда, где те предположительно будут нужнее всего. Они даже помогли шуту победить на выборах президента Соединённых Штатов — подсказав, какие слои населения будет легче склонить в свою сторону.
Недостатки такого подхода уже просматриваются, но давайте их формализуем. Что плохого в широком применении алгоритмов для решения чисто жизненных задач? Во-первых, алгоритмы не безгрешны. То, что выглядит как беспристрастная математика, на самом деле всего лишь набор правил, сформулированных человеком или (всё чаще) искусственным интеллектом. Цель алгоритма — не сделать человека счастливым, а решить задачу с приемлемой погрешностью или риском. При этом алгоритм всецело зависит от входных данных (которые по умолчанию не могут содержать всего: это лишь потоки информации, описывающие некоторую часть картины), логики (придуманной программистом и известной зачастую ему одному; если же логика придумана ИИ, то и вообще никому не ясна), вероятностей (слепого случая). Вот почему алгоритмы могут сбоить, выдавая результаты, оторванные от жизни или неприменимые в ней.
Но — и это во-вторых — несмотря ни на что, алгоритмы всё чаще влияют на нашу жизнь сильно. Хорошо если речь всего лишь о странном банере или неудачно рекомендованном фильме: вы посмеётесь над ошибкой программы, неверно определившей ваши предпочтения, и забудете. Но что если речь об отказе в кредите на запуск бизнеса? Или об отказе в приёме на работу? Или, как это уже практикуется в США, о длительности срока заключения, рекомендованном судье? Насколько можно быть уверенным, что алгоритм оценил человека правильно и принял правильное решение?
Алгоритмические ошибки в таких ситуациях уже не теория и не редкость: их обнаруживали и обнаруживают много. Например, в той же судебной практике оказалось, что алгоритм, из-за неверно расставленных акцентов во входных данных, склонен переоценивать риск рецидивизма со стороны темнокожих. Равно и в финансовой сфере клиентам, которым не повезло родиться в «цветной» семье, присваивался несправедливо низкий кредитный рейтинг.
Всё это заставляет задаться вопросом: насколько общество вправе доверять алгоритмам? И ответ на него, к сожалению, непростой и неприятный.
Начать с того, что обратного пути нет. От алгоритмов уже не удастся отказаться, потому что живём мы в информационную эпоху, когда информации слишком много, чтобы её могли обрабатывать только люди. Но значит нужны какие-то ограничения, которые помогли бы минимизировать потенциальный вред. И вот именно вокруг них сейчас и кипит самый жаркий спор.
Где-то алгоритмический рынок пока совершенно дикий: как в России, где у гражданина и потребителя попросту нет права ни оспорить алгоритмическое решение, ни даже узнать, что решение было принято алгоритмом. Но к примеру британцы гордятся тем, что их судебная система резервирует за гражданином право потребовать через суд отменить принятое алгоритмом решение (если оно значительно влияет на жизнь человека) и потребовать повторно обработать те же данные человеком, чтобы исключить возможные машинные огрехи.
Дальше же всех шагнул Евросоюз, в котором с 2018-го года вступает в силу так называемое «право на объяснение». Смысл очень простой, но в этом и коварство. Гражданин ЕС вправе потребовать не просто пересмотреть, а и объяснить, как было принято то или иное алгоритмическое решение. Идея выглядит логичной и даже прогрессивной, но на деле реализовать её будет чрезвычайно трудно. Попробуйте-ка объяснить человеку с улицы процедуру оценки кредитного рейтинга или диагностики рака, проводимой ИИ! А что если алгоритм был разработан не человеком, а машиной — и теперь его не понимает вообще никто? Так что право на объяснение скорее всего останется нереализованным.
Отсюда — мрачный прогноз: мы движемся прямиком к «обществу чёрного ящика», где алгоритмы будут играть всё возрастающую роль, но мы контролировать их всё меньше. И решение напрашивается только одно: законодательно запретить применение алгоритмов в некоторых сферах, где их ошибки могут навредить людям неадекватно сильно. Да, это шаг назад по воображаемой ступени технической эволюции. Но что поделаешь, если компенсировать токсический эффект чрезмерной сложности больше нечем?
Учебно-исследовательский проект «Алгоритмы в нашей жизни»
Описание презентации по отдельным слайдам:
Работу выполнили ученики 9 класса Кошкина Анна, Рыжова Алена, Герасимова Анастасия Руководитель проекта: Жеревчук Надежда Алексеевна Учитель 1 квалификационной категории Муниципальное бюджетное образовательное учреждение средняя общеобразовательная школа № 42 П.Решетиха 2015 год
Введение История возникновения алгоритмов Понятие алгоритма Исполнители алгоритмов Алгоритм и программа Как проявляются алгоритмы и их свойства в различных сферах жизни человека? Исследование «Алгоритмы в нашей жизни» Заключение Литература
Многие из тех, кто начинает учить информатику, так и тех, кто уже перешел непосредственно к основам программирования, задавались вопросом «что такое алгоритм?». Алгоритм – описание последовательности действий (план), строгое исполнение которых приводит к решению поставленной задачи за конечное число шагов Алгоритм — это совокупность правил выполнения определенных действий, обеспечивающих решение задачи. Пример
Дискретность — алгоритм должен представлять процесс решения задачи как последовательное выполнение некоторых простых шагов. Любая команда выполняется только после выполнения предыдущей команды Детерминированность (определённость). В каждый момент времени, следующий шаг работы однозначно определяется состоянием системы. Таким образом, алгоритм выдаёт один и тот же результат (ответ) для одних и тех же исходных данных. Понятность — алгоритм должен включать только те команды, которые доступны исполнителю и входят в его систему команд. Завершаемость (конечность) — при корректно заданных исходных данных алгоритм должен завершать работу и выдавать результат за конечное число шагов. Массовость (универсальность). Алгоритм должен быть применим к разным наборам исходных данных. Результативность — завершение алгоритма определёнными результатами.
Механические алгоритмы Гибкие алгоритмы Линейный алгоритм Разветвляющийся алгоритм Циклический алгоритм Вспомогательный алгоритм Алгоритм составляется с учетом исполнителя. Исполнителем может быть человек, животное, техническое устройство, компьютер. Исполнителя характеризуют: среда; элементарные действия; система команд; отказы.
Абсолютно любая наша программа, по сути, это уже и есть алгоритм, т.к. это последовательность определенных и продуманных программистом действий и описанных в виде кода (инструкций компьютеру). Для успешного решения задачи, требующей составления алгоритма и написания программы, мы должны: 1) четко понять задачу, провести ее детализацию и формализацию; 2) проанализировать, к какому классу задач она относится, какими способами (алгоритмами) ее можно решить; 3) составить алгоритм решения задачи; 4) составить программу, реализующую этот алгоритм; 5) проверить, правильно ли программа работает, ту ли задачу она решает; 6) в случае обнаружения ошибки необходимо проделать все (или некоторые) вышеперечисленные действия заново с целью исправления ошибки. Пример
В повседневной жизни мы даже не замечаем, как используем те или иные алгоритмы. Алгоритмы в природе Алгоритмы в науке Алгоритмы в быту Алгоритмы в нашей повседневной жизни Алгоритмы в литературе Например: завести машину, приготовить еду, правила сложения, вычитания, деления, умножения чисел; грамматические правила правописания слов и предложений, различные инструкции и правила, рецепты и указания Алгоритмы в пословицах Алгоритмы в песнях Алгоритмы в сказках Алгоритмы вокруг нас
день сменяет ночь, после ночи вновь наступает день; из года в год чередуются весна, лето, осень, зима; появляется листва на деревьях; Круговорот воды в природе; прилетают птицы пчелы производят мед В кибернетике, психологии и других науках разработаны эффективные алгоритмы: распознавания ситуаций, сбора и обработки информации, оптимизации, разрешения конфликтов и др. Многие из этих алгоритмов могут быть сформулированы в такой форме, что каждый сможет их понять и непосредственно применять для решения своих житейских проблем. Другие алгоритмы более сложны: экспертные системы, тренажеры, обучающие игры и другие компьютерные программы. Пример
приготовление еды, чистка картофеля, мытье тарелок, включение бытовых приборов, подготовка к путешествию, затачивание карандашей, прополка грядки, огорода, посадка растений алгоритм пользования автоматической междугородной телефонной связью: 1.Наберите цифру 8 и дождитесь непрерывного гудка. 2.Наберите код вызываемого города. 3.Наберите номер телефона вызываемого абонента.
сборы в школу, чистка зубов, выполнение домашнего задания, пришивание пуговицы, уборка дома правила перехода через улицу. алгоритмы из школьной жизни расписание уроков график подачи звонков расписание кружков Учебные алгоритмы как писать изложение, диктант как выучить стихотворение как решать задачи по математике Примеры
Алгоритмы в пословицах: Тише едешь, дольше будешь. Хочешь, есть пироги, не сиди на печи. Болен лечись, а здоров берегись. Готовь сани летом, а телегу зимой. Книги читать скуки не знать Семь раз отмерь, один раз отрешь в песнях повторяются припевы, Песня из фильма «Золотой ключик» «Если с другом вышел в путь» Если с другом вышел в путь То веселей дорога Все Примеры Семь раз отмерь, один раз отрешь Готовь сани летом, а телегу зимой. Алгоритмы в песнях
Сказка «Курочка Ряба» Сказка «Золотой петушок» Сказка «Сестрица Алёнушка и братец Иванушка» Коль кругом всё будет мирно, Так сидеть он будет смирно; Но лишь чуть со стороны Ожидать тебе войны, Иль набега силы бранной, Иль другой беды незванной, Вмиг тогда мой петушок Приподымет гребешок, Закричит и встрепенётся И в то место обернётся. А.С. Пушкин Алгоритмы в сказках
Вопросы для анкетирования: Знаете ли вы что такое алгоритм? Замечали ли вы в своей жизни действия по алгоритму? Я могу привести примеры алгоритмов из жизни? Я умею работать по алгоритму? Я умею составлять алгоритм при решении задачи Я знаю, что алгоритмы нам нужны. Для чего нужны алгоритмы? Анкетировались учащиеся 9 классов, в количестве 46 человек. Проанализировали ответы учащихся, мы получили следующие результаты
Все опрошенные знают, что такое алгоритмы и большинство из них встречаются с алгоритмами в жизни и умеют пользоваться ими.
Учащиеся умеют составлять алгоритмы при решении задач по математике, физике, химии, умеют применять правила правописания, где нужен определенный порядок выполнения действии. Все опрошенные знают, что алгоритмы нужны. Правильно составленная последовательность действий позволяет существенно упростить процесс создания, какого, либо кулинарного блюда и повысить его качество. Правильно спланированные действия нам нужны для удобства и улучшения нашей жизни.
Реферат «Алгоритмы в жизни человека»
Содержание
2 Понятие алгоритма
3 Способы записи алгоритмов
4 Задача «Ханойские башни»
5 Примеры простых алгоритмических задач
Геометрия развивает геометрическое мышление, математика — абстрактное математическое, логика — логическое, физика — физическое. А какое мышление развивает информатика?.
Информатика развивает алгоритмическое мышление и учит системному подходу к решению задач. Алгоритмическое мышление помогает отчетливо увидеть шаги, ведущие к цели, заметить все препятствия и умело их обойти. Способность к алгоритмическому мышлению — важная черта умного человека.
Сегодня мы познакомимся с понятиями алгоритма и исполнителя.
С понятием алгоритма человек встречается на каждом шагу своей деятельности, однако часто не отдает себе в этом отчет. На каждом уроке приходится выполнять множество алгоритмов! Подумай, как ты готовишься к уроку? Это тоже алгоритм. А как ты собираешься в школу? И это алгоритм!
Однако, не так-то просто понять, чем определяется сущность алгоритма.
В этой работе я дам определение алгоритма, скажу о месте алгоритмов в жизни людей. Приведу примеры алгоритмов, не называя их алгоритмами, например, что все люди с детства привыкли следовать тем или иным правилам, выполнять разнообразные инструкции и указания. Затем приведу такие примеры, на которых можно понять, что же такое алгоритм, хотя до сих пор, как известно, точного определения алгоритма нет.
2. Понятие алгоритма
Знакомство с понятием алгоритма начнем с рассмотрения примера. Предположим, вы хотите вырезать из бумаги модель автомобиля. Результат во многом будет зависеть от вашего умения и опыта. Однако достичь поставленной цели окажется гораздо легче, если вы предварительно наметите план действий, например следующий:
1. Изучить образ автомобиля по имеющейся модели.
2. Начертить двери, кузов машины на бумаге.
3. Вырезать эскизы.
4. Попробовать скрепить эскизы, откорректировать ошибки.
5. Склеить части модели.
Следуя подготовленному плану, любой человек, даже не обладающий художественными способностями, но имеющий терпение, обязательно получит хороший результат. Подобный план с подробным описанием действий, необходимых для получения ожидаемого результата, получил название алгоритма.
Понятие алгоритма — одно из основных в программировании и информатике. Существует множество определений алгоритма.
Понятие алгоритма необязательно относится к компьютерным программам, так, например, чётко описанный рецепт приготовления блюда также является алгоритмом, в таком случае исполнителем является человек. Однако чаще всего в качестве исполнителя выступает компьютер.
Единого «истинного» определения понятия «алгоритм» нет.
В старой трактовке алгоритм — это точный набор инструкций, описывающих последовательность действий некоторого исполнителя для достижения результата, решения некоторой задачи за конечное время.
«Алгоритм — это всякая система вычислений, выполняемых по строго определённым правилам, которая после какого-либо числа шагов заведомо приводит к решению поставленной задачи.» (А. Колмогоров)
«Алгоритм — это точное предписание, определяющее вычислительный процесс, идущий от варьируемых исходных данных к искомому результату.» (А. Марков)
«Алгоритм — это последовательность действий, направленных на получение определённого результата за конечное число шагов.» (ROXANstudio)
«Алгоритм есть формализованная последовательность действий (событий). Алгоритм может быть записан словами и изображен схематически. Практически любое неслучайное повторяемое действие поддается описанию через алгоритм.» ([grey_olli])
«Алгоритм — однозначно, доступно и кратко (условные понятия — названия этапа) описанная последовательность процедур для воспроизводства процесса с обусловленным задачей алгоритма результатом при заданных начальных условиях. Универсальность (или специализация) алгоритма определяется применимостью и надёжностью данного алгоритма для решения нестандартных задач.»
Запись алгоритма на формальном языке называется программой. Иногда само понятие алгоритма отождествляется с его записью, так что слова «алгоритм» и «программа» — почти синонимы. Небольшое различие заключается в том, что под алгоритмом, как правило, понимают основную идею его построения. Программа же всегда связана с записью алгоритма на конкретном формальном языке.
Приведём для примера простой алгоритм действия пешехода, который позволит ему безопасно перейти улицу:
1. Подойти к дороге.
2. Дождаться зелёного сигнала светофора.
4. Если впереди есть ещё одна дорога, то перейти к шагу 1.
Другие примеры алгоритмов:
Любой прибор, купленный в магазине, снабжается инструкцией по его использованию.
Каждый шофер должен знать правила дорожного движения.
Массовый выпуск автомобилей стал возможен только тогда, когда был придуман порядок сборки машины на конвейере.
Мы на каждом шагу встречаем алгоритмы. Некоторые из них мы выполняем машинально, даже не задумываясь об этом. Выполняя некоторые действия, мы даже не подозреваем, что выполняем определенный алгоритм. Например, вы хорошо знаете, как открывать дверь ключом. Однако, чтобы научить этому малыша, придется четко разъяснить и сами действия, и порядок их выполнения. Алгоритм выполнения открывания двери.
1. Достать ключ из кармана.
2. Вставить ключ в замочную скважину.
3. Повернуть ключ два раза против часовой стрелки.
Другой алгоритм. Вас пригласили в гости и подробно объяснили, как добраться:
2. Повернуть направо.
3. Пройти два квартала до остановки.
4. Сесть в автобус № 5, идущий к центру города.
5. Проехать три остановки.
6. Выйти из автобуса.
7. Найти по указанному адресу дом и квартиру.
Эти примеры не что иное, как алгоритм. Несмотря на значительное различие в сути самих действий этих примеров, можно найти в них много общего. Эти общие характеристики называют свойствами алгоритма.
Алгоритмы обладают свойством определённости : каждый шаг и переход от шага к шагу должны быть точно определены так, чтобы его мог выполнить любой другой человек или механическое устройство.
Алгоритм всегда должен заканчиваться за конечное число шагов.
Не имеет смысла строить алгоритм для выполнения единичного действия. Например, рецепт в поваренной книге составлен как алгоритм для приготовления какого-то одного блюда и этим рецептом могут воспользоваться много людей, которые захотят его приготовить.
Например: алгоритм приготовления любого бутерброда.
1. Отрезать ломтик хлеба.
2. Намазать его маслом.
3. Отрезать кусок любого другого пищевого продукта (колбасы, сыра, мяса).
4. Наложить отрезанный кусок на ломоть хлеба.
3. Виды алгоритмов.
Существует 4 вида алгоритмов: линейный, циклический, разветвляющийся, вспомогательный.
Линейный (последовательный) алгоритм — описание действий, которые выполняются однократно в заданном порядке.
Линейными являются алгоритмы отпирания дверей, заваривания чая, приготовления одного бутерброда, приготовления яичницы. Линейный алгоритм применяется при вычислении арифметического выражения, если в нем используются только действия сложения и вычитания.
Циклический алгоритм — описание действий, которые должны повторяться указанное число раз или пока не выполнено заданное условие. Перечень повторяющихся действий называется телом цикла.
Многие процессы в окружающем мире основаны на многократном повторении одной и той же последовательности действий. Каждый год наступают весна, лето, осень и зима. Жизнь растений в течение года проходит одни и те же циклы. Подсчитывая число полных поворотов минутной или часовой стрелки, человек измеряет время.
Условие — выражение, находящееся между словом «если» и словом «то» и принимающее значение «истина» или «ложь».
Разветвляющийся алгоритм — алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий.
В общем случае схема разветвляющего алгоритма будет выглядеть так: «если условие, то. иначе. ». Такое представление алгоритма получило название полной формы.
Неполная форма, в которой действия пропускаются: «если условие, то. ».
Вспомогательный алгоритм — алгоритм, который можно использовать в других алгоритмах, указав только его имя.
Например: вы в детстве учились суммировать единицы, затем десятки, чтобы суммировать двузначные числа содержащие единицы вы не учились новому методу суммирования, а воспользовались старыми методами.
3. Способы записи алгоритмов
Алгоритмы можно описывать человеческим языком — словами. Так и в математике — все утверждения можно записывать без специальных обозначений. Но специальный язык записи сильно облегчает жизнь математикам: исчезает неоднозначность, появляются краткость и ясность изложения. Всё это позволяет математикам говорить и писать на одном языке и лучше понимать друг друга.
Разницу между программой и алгоритмом можно пояснить следующим образом. Алгоритм — это метод, схема решения какой-то задачи. А программа — это конкретная реализация алгоритма, которая может быть скомпилирована и выполнена на компьютере. Алгоритм, в свою очередь, является реализацией идеи решения. Это можно проиллюстрировать следующей схемой:
Стрелка означает переход к сл едующему этапу решения задачи с повышением уровня подробности описания метода решения.
Выбор средств и методов для записи алгоритма зависит, прежде всего, от назначения самого алгоритма, а также от того, кто будет исполнять алгоритм.
Алгоритмы записываются в виде:
Для указания последовательности выполнения блоков используют линии связи (линии соединения).Последовательность блоков и линий образуют блок-схему алгоритма.
Основные элементы
4. Задачи «Ханойские башни» и «Волк, коза и капуста».
Одна из любимых игрушек в младшей группе детского сада – пирамидка с цветными кольцами разной величины. Кольца нанизаны на стержень так, что для любой пары колец ниже кольцо больше верхнего.
Есть страны, где такой игрушкой любят играть взрослые. Эту игру называют «Ханойские башни» по имени древнего города Ханое, где жили монахи, которые придумали эту игру. Есть три стержня и кольца, нанизанных на них. В начале все кольца находятся на первом стержне, причём все кольца разного диаметра, и меньшие кольца лежат на больших. За ход разрешается взять верхнее кольцо с любого стержня и положить на другой стержень сверху, при этом запрещается класть большее кольцо на меньшее. Цель игры состоит в том, чтобы переместить всю пирамиду с первого стержня на второй.
Понятно, чем больше колец, тем труднее игра. Попробуем составить алгоритм для трех колец. Вот алгоритм решения:
перенести малое кольцо первого стержня на второй.
перенести большое кольцо со стержня 1 на стержень 3;
перенести малое кольцо со стержня 2 на стержень 3.
перенести нижнее кольцо с 1 стержня на 2;
перенести верхнее кольцо с 3 стержня на1;
переложить нижнее кольцо с 3 стержня на 2;
переложить кольцо с 1 стержня на 2;
Аналогично применяя алгоритм переноса трех колец можно перенести 4 кольца, применяя алгоритм переноса 4 колец можно перенести 5 колец и т.д.
Монахи древнего Ханоя верили, что конец света наступит после того, когда будут перенесены 64 кольца. Это, конечно, сказка, но если говорить серьезно, то на перекладывание Ханойской Башни из 64 колец не хватит долгой человеческой жизни, даже если не пить, не есть, а только переносить кольца.
Еще одна известная задача « Перевозчик, волк, коза и капуста.(сказка-задача)»:
Возвращался старик с базара домой, вел с собой серого волка белую козу, а на плечах нес кочан капусты. Повстречалась ему речка на пути. Глубокая речка, а моста нет.
Переехать на другой берег не трудно, да вот беда: уж очень не дружны «пассажиры». Нельзя старику оставлять волка и козу вместе: волк съест козу. Козу с капустой тоже оставлять нельзя: коза съест капусту. Это только со стариком они такие смирные. Трудна задача. Но решить можно. Например, так:
Исходное положение: «Перевозчик» на правом берегу.
перевезти козу и оставить на левом берегу;
вернуться на правый берег;
забрать капусту и перевезти на левый берег;
забрать козу и перевезти на правый берег;
оставить козу на правом берегу, а волка перевезти на левый;
вернуться на правый берег и забрать козу;
перевезти козу на левый берег.
Итог: все на левом берегу.
6. Слово «алгоритм»: происхождение и развитие
Алгоритм – это искусство счёта с помощью цифр, но поначалу слово цифра относилось только к нулю. Знаменитый французский трувер Готье де Куэнси (Gautier de Coincy, 1177-1236) в одном из стихотворений использовал слова algorismus-cipher (которые означали цифру 0) как метафору для характеристики абсолютно никчёмного человека. Очевидно, понимание такого образа требовало соответствующей подготовки слушателей, а это означает, что новая система счисления уже была им достаточно хорошо известна.
Многие века абак был фактически единственным средством для практических вычислений, им пользовались все: и купцы, и менялы, и учёные.
Однако постепенно значение слова расширялось. Ученые начинали применять его не только к сугубо вычислительным, но и к другим математическим процедурам.
Однако его не было ни в знаменитом словаре В. И. Даля, ни спустя сто лет в «Толковом словаре русского языка» под редакцией Д. Н. Ушакова (1935 г.). Зато слово «алгорифм» можно найти и в популярном дореволюционном Энциклопедическом словаре братьев Гранат, и в первом издании Большой Советской Энциклопедии (БСЭ), изданном в 1926 г., и там, и там оно трактуется одинаково, как правило, по которому выполняется то или иное из четырёх арифметических действий в десятичной системе счисления. Однако к началу XX в. для математиков слово «алгоритм» уже означало любой арифметический или алгебраический процесс, выполняемый по строго определённым правилам, и это объяснение также даётся в БСЭ.
Одновременно с развитием понятия алгоритма постепенно происходило проникновение его из чистой математики в другие сферы. И начало ей положило появление компьютеров, благодаря которому слово «алгоритм» обрело новую жизнь. Вообще можно сказать, что его сегодняшняя известность напрямую связана со степенью распространения компьютеров. Например, в третьем томе «Детской энциклопедии» (1959 г.) о вычислительных машинах говорится немало, но они еще не стали чем-то привычным и воспринимаются скорее как некий атрибут светлого, но достаточно далекого будущего. Соответственно и алгоритмы ни разу не упоминаются на её страницах. Но уже в начале 70-х гг. прошлого столетия, когда компьютеры перестали быть экзотической диковинкой, слово «алгоритм» стремительно входит в обиход. Это чутко фиксируют энциклопедические издания. В «Энциклопедии кибернетики» (1974 г.) в статье «Алгоритм» он уже связывается с реализацией на вычислительных машинах, а в «Советской военной энциклопедии (1976 г.) даже появляется отдельная статья «Алгоритм решения задачи на ЭВМ».
За последние полтора-два десятилетия компьютер стал неотъемлемым атрибутом нашей жизни, компьютерная лексика становится все более привычной. Слово «алгоритм» в наши дни известно, вероятно, каждому. Оно уверенно шагнуло даже в разговорную речь, и сегодня мы нередко встречаем в газетах и слышим в выступлениях политиков выражения вроде «алгоритм поведения», «алгоритм успеха» или даже «алгоритм предательства». Академик Н. Н. Моисеев назвал свою книгу «Алгоритмы развития», а известный врач Н. М. Амосов – «Алгоритм здоровья». А это означает, что слово живет, обогащаясь все новыми значениями и смысловыми оттенками.
Где встречаются алгоритмы в жизни человека?
Литература
Борисенко В.В., Основы программирования, Интернет ун-т информ. технологий. —М.:Интернет ун-т информ. технологий, 2005.
Мы с вами определили наличие алгоритмов в предметах, подчиняющихся довольно строгим правилам с точки зрения логики. Но алгоритмы есть и в менее строгих предметах, например, литературе. Я предлагаю вам угадать, какое литературное произведение зашифровано в следующей блок-схеме.
Коль кругом всё будет мирно,
Так сидеть он будет смирно;
Но лишь чуть со стороны
Ожидать тебе войны,
Иль набега силы бранной,
Иль другой беды незванной,
Вмиг тогда мой петушок
Приподымет гребешок,
Закричит и встрепенётся
И в то место обернётся.