Грокаем что это значит

Содержание
  1. Значение слова «грокнуть»
  2. гро́кнуть
  3. Делаем Карту слов лучше вместе
  4. Предложения со словом «грокнуть&raquo
  5. Отправить комментарий
  6. Предложения со словом «грокнуть&raquo
  7. Карта слов и выражений русского языка
  8. Грокание
  9. Книга «Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих»
  10. О книге
  11. Структура книги
  12. Для кого предназначена эта книга
  13. Об авторе
  14. Конспект книги «Грокаем алгоритмы» Адитья Бхаргава
  15. Глава 1. Знакомство с алгоритмами
  16. Как работает?
  17. Реализация алгоритма на JavaScript:
  18. Глава 2. Сортировка выбором
  19. Как работает?
  20. Реализация алгоритма на JavaScript:
  21. Глава 3. Рекурсия
  22. Пример рекурсивной функции для подсчёта суммы элементов массива:
  23. 4. Быстрая сортировка
  24. Как работает?
  25. Реализация алгоритма на JavaScript:
  26. 5. Хэш-таблицы
  27. 6. Поиск в ширину
  28. Как работает?
  29. Реализация алгоритма на JavaScript:
  30. 7. Алгоритм Дейкстры
  31. Как работает?
  32. Реализация алгоритма на JavaScript:
  33. 8. Жадные алгоритмы
  34. 9. Динамическое программирование
  35. 10. Алгоритм k ближайших соседей

Значение слова «грокнуть»

гро́кнуть

1. неол. жарг. понять, осознать ◆ Идея простая, красивая и очевидная — неудивительно, что политикам, в отличие от писателей-фантастов, потребовалось ещё более полувека, прежде чем они смогли её грокнуть в полном объёме.

Делаем Карту слов лучше вместе

Привет! Меня зовут Лампобот, я компьютерная программа, которая помогает делать Карту слов. Я отлично умею считать, но пока плохо понимаю, как устроен ваш мир. Помоги мне разобраться!

Спасибо! Я обязательно научусь отличать широко распространённые слова от узкоспециальных.

Насколько понятно значение слова индуктор (существительное):

Предложения со словом «грокнуть&raquo

  • Он ощущал сдержанное ликование: чудом или ещё как, однако удалось же ему так построить своё поведение, что никому не пришлось умирать… но сколько же нужно ещё грокнуть.

Отправить комментарий

Предложения со словом «грокнуть&raquo

Он ощущал сдержанное ликование: чудом или ещё как, однако удалось же ему так построить своё поведение, что никому не пришлось умирать… но сколько же нужно ещё грокнуть.

Читайте также:  Оставить без движения апелляционную жалобу что это значит

Ему здесь очень понравилось, хотя быстро грокнуть столь новое и необычное место было совершенно невозможно.

Обсуждаемый нами художник предпринял одну из бесчисленных попыток глубоко и всесторонне грокнуть это прекрасное и замечательное событие в рамках одного опуса.

Карта слов и выражений русского языка

Онлайн-тезаурус с возможностью поиска ассоциаций, синонимов, контекстных связей и примеров предложений к словам и выражениям русского языка.

Справочная информация по склонению имён существительных и прилагательных, спряжению глаголов, а также морфемному строению слов.

Сайт оснащён мощной системой поиска с поддержкой русской морфологии.

Источник

Грокание

Этот материал интересен для понимания термина «грок» из предыдущей статьи.

Термин «грокание» подарил народу один из переводчиков Р. Хайнлайна «Чужак в чужой стране». Другие перевели как «вникновение«. Однако «грокание» звучит экзотичней.

Если понимание субъективно, результат может кому-то нравиться, кому-то нет, а о вкусах не спорят, то в грокании имеется, видимо, по большей части нечто объективное, независимое ни от прошлого опыта индивидуума, ни от его вкусов, пристрастий и предпочтений.

Для грокания картинка, изображение — не главное и не определяющее. Суть внешним сканированием не постигается. Она чувствуется. Субъект одновременно и вбирает, втягивает сущностное явление в себя и проникает в него какой-то своей частью как десант. Потом действует в нем, с ним заодно. Грокание — процесс, которым становится человек.

Режим грокания – способность и возможность, умение, навык, приближающий человека к Творцу, Богу в метафизическом смысле. Может быть иной режим – внешнего сканирования, легкого, ненапряжного процесса, когда внимание только касается проявленного мира, не погружаясь в слои смыслов, уровни настроений, массы событий, временные напластования эпох, культурологические среды, жизнесмертие сущностей и смену их поколений.

Грокнуть – испытать все мыслимые чувства, не сортируя на желаемое и нежелательное, любимое и ненавистное. Слиться с переживанием процесса настолько, что стать им. Не жить, а авантюрно стать жизнью.

Процесс грокания подобен квантованию, когда наблюдатель взаимодействует с наблюдаемым и влияет на него и на результат, становясь в какой-то мере тоже результатом.

Любой объект — символ идеи. Любая идея может иметь силу. Любая сила может сближать, разъединять, уравновешивать, управлять. Люди способны грокать друг друга, поскольку они концепции себя, состоят из идей, комплекса мыслей, потенциально обладающих способностью понимать и быть понятыми.

Массовое, коллективное грокание в принципе тоже возможно. Через нечто вовлекающее, объединяющее – движение, фильм, ритм, музыку, идею, танец, текст или, например, через «синдром Стендаля» при котором картина, инсталляция вовлекает настолько, что человеку начинает казаться, что он попадает в изображенную реальность.

В данном случае главное не слова, мелодия, картина и т. д., а то настроение, общее переживание, созданное и отправленное авторами, адресуемое другим участникам общей драмы жизнесмертия, которая способна сблизить всех.

Грокание вводит в транс. В трансе возможно волевое управление, но неизвестно кто/что кем/чем управляет, возможно, грокание работает в обе стороны. «Нужно просто грокнуть предмет, понять его строение и представить, что ты от него хочешь» (Р. Хайнлайн).

Источник

Книга «Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих»

Алгоритмы — это всего лишь пошаговые алгоритмы решения задач, и большинство таких задач уже были кем-то решены, протестированы и проверены. Можно, конечно, погрузиться в глубокую философию гениального Кнута, изучить многостраничные фолианты с доказательствами и обоснованиями, но хотите ли вы тратить на это свое время?

Откройте великолепно иллюстрированную книгу, и вы сразу поймете, что алгоритмы — это просто. А грокать алгоритмы — это веселое и увлекательное занятие.

О книге

Я (Адитья Бхаргава) прежде всего стремился к тому, чтобы книга легко читалась. Я избегаю неожиданных поворотов; каждый раз, когда в книге упоминается новая концепция, я либо объясняю ее сразу, либо говорю, где буду объяснять. Основные концепции подкрепляются упражнениями и повторными объяснениями, чтобы вы могли проверить свои предположения и убедиться в том, что не потеряли нить изложения.

В книге приводится множество примеров. Моя цель — не вывалить на читателя кучу невразумительных формул, а упростить наглядное представление этих концепций. Я также считаю, что мы лучше всего учимся тогда, когда можем вспомнить что-то уже известное, а примеры помогают освежить память. Так, когда вы вспоминаете, чем массивы отличаются от связанных списков (глава 2), просто вспомните, как ищете места для компании в кинотеатре. Наверное, вы уже поняли, что я сторонник визуального стиля обучения, — в книге полно рисунков.

Содержимое книги было тщательно продумано. Нет смысла писать книгу с описанием всех алгоритмов сортировки — для этого есть такие источники, как Википедия и Khan Academy. Все алгоритмы, описанные в книге, имеют практическую ценность. Я применял их в своей работе программиста, и они закладывают хорошую основу для изучения более сложных тем.

Структура книги

В первых трех главах закладываются основы:

Глава 1 — вы изучите свой первый нетривиальный алгоритм: бинарный поиск. Также здесь рассматриваются основы анализа скорости алгоритмов с применением «O-большое». Эта запись часто используется в книге для описания относительной быстроты выполнения алгоритмов.

Глава 2 — вы познакомитесь с двумя основополагающими структурами данных: массивами и связанными списками. Эти структуры данных часто встречаются в книге и используются для создания более сложных структур данных, например хеш-таблиц (глава 5).

Глава 3 — вы узнаете о рекурсии — удобном приеме, используемом многими алгоритмами (например алгоритмом быстрой сортировки, о котором рассказано в главе 4).

По моему опыту, темы «O-большое» и рекурсии сложны для новичков, поэтому в этих разделах я снижаю темп изложения и привожу более подробные объяснения. В оставшейся части книги представлены алгоритмы, часто применяемые в разных областях.

Методы решения задач рассматриваются в главах 4, 8 и 9. Если вы столкнулись со сложной задачей и не знаете, как эффективно ее решить, воспользуйтесь стратегией «разделяй и властвуй» (глава 4) или методом динамического программирования (глава 9). А если вы поняли, что эффективного решения не существует, попробуйте получить приближенный ответ с использованием жадного алгоритма (глава 8).

Хеш-таблицы рассматриваются в главе 5. Хеш-таблицы — исключительно полезная структура данных, предназначенная для хранения пар ключей и значений (например имени человека и адреса электронной почты или имени пользователя и пароля). Трудно переоценить практическую полезность хеш-таблиц. Приступая к решению задачи, я обычно прежде всего задаю себе два вопроса: можно ли здесь воспользоваться хеш-таблицей и можно ли смоделировать задачу в виде графа.

Алгоритмы графов рассматриваются в главах 6 и 7. Графы используются для моделирования сетей: социальных, дорожных, нейронных или любых других совокупностей связей. Поиск в ширину (глава 6) и алгоритм Дейкстры (глава 7) предназначены для поиска кратчайшего расстояния между двумя точками сети: с их помощью можно вычислить кратчайший маршрут к точке назначения или количество промежуточных знакомых у двух людей в социальной сети.

Алгоритм k ближайших соседей рассматривается в главе 10. Это простой алгоритм машинного обучения; с его помощью можно построить рекомендательную систему, механизм оптического распознавания текста, систему прогнозирования курсов акций — словом, всего, что требует прогнозирования значений («Мы думаем, что Адит поставит этому фильму 4 звезды») или классификации объектов («Это буква Q»).

Следующий шаг: в главе 11 представлены 10 алгоритмов, которые хорошо подойдут для дальнейшего изучения темы.

Для кого предназначена эта книга

Эта книга предназначена для читателей, которые владеют азами программирования и хотят разобраться в алгоритмах. Может быть, вы уже столкнулись с задачей программирования и пытаетесь найти алгоритмическое решение.

А может, вы хотите понять, где вам могут пригодиться алгоритмы. Ниже приведен короткий и неполный список людей, которым может пригодиться книга:

— программисты-самоучки;
— студенты, начавшие изучать программирование;
— выпускники, желающие освежить память;
— специалисты по физике/математике/другим дисциплинам, интересующиеся программированием.

Об авторе

Адитья Бхаргава работает программистом в Etsy, интернет-рынке авторских работ. Он получил степень магистра по информатике в Чикагском университете и ведет популярный иллюстрированный технический блог adit.io.

Для Хаброжителей скидка 25% по купону — Алгоритмы

Источник

Конспект книги «Грокаем алгоритмы» Адитья Бхаргава

Глава 1. Знакомство с алгоритмами

Алгоритм — набор инструкций для выполнения задачи.

Бинарный поиск — алгоритм, который получает на вход отсортированный список элементов, если элемент, который вы ищите, есть в списке, то бинарный поиск возвращает ту позицию, в которой он был найден. В противном случае возвращает null.

Как работает?

Определение значения элемента в середине структуры данных. Полученное значение сравнивается с ключом.

Если ключ меньше значения середины, то поиск осуществляется в первой половине элементов, иначе — во второй.

Поиск сводится к тому, что вновь определяется значение серединного элемента в выбранной половине и сравнивается с ключом.

Процесс продолжается до тех пор, пока не будет найден элемент со значением ключа или не станет пустым интервал для поиска.

Реализация алгоритма на JavaScript:

Линейное время — время, когда максимальное количество попыток совпадает с размером списка.

«О-большое» описывает скорость работы алгоритма.
«О-большое» определяет худшее время выполнения алгоритма.

Глава 2. Сортировка выбором

Сортировка выбором — алгоритм сортировки.

Как работает?

находим номер минимального значения в текущем списке

производим обмен этого значения со значением первой неотсортированной позиции

теперь сортируем хвост списка, исключив из рассмотрения уже отсортированные элементы

Реализация алгоритма на JavaScript:

Чтение: массивы — O(1) списки — O(n)
Вставка: массивы — O(n) списки — O(1)
Удаление: массивы — O(n) списки — O(1)

Глава 3. Рекурсия

Рекурсия — вызов функцией самой себя.

«Циклы могут ускорить работу программы. Рекурсия может ускорить работу программиста. Выбирайте, что важнее в вашей ситуации!» — Ли Колдуэлл

Каждая рекурсивная функция состоит из двух случаев: базовый и рекурсивный.

Пример рекурсивной функции для подсчёта суммы элементов массива:

Стек — простая структура данных, в которой новый элемент добавляется в начало, последний элемент извлекается из начала.

Когда вы вызываете функцию из другой функции, вызывающая функция приостанавливается в частично завершенном состоянии.

Стек вызовов — стек, в котором сохранялись переменные разных функций.

Все вызовы функций сохраняются в стеке вызовов.

4. Быстрая сортировка

Один из самых быстрых универсальных алгоритмов сортировки массивов. Из-за наличия ряда недостатков на практике обычно используется с некоторыми доработками.

Как работает?

Выбрать опорный элемент из массива.

Разбиение: перераспределение элементов в массиве таким образом, что элементы, меньшие опорного, помещаются перед ним, а большие или равные — после.

Рекурсивно применить первые два шага к двум подмассивам слева и справа от опорного элемента. Рекурсия не применяется к массиву, в котором только один элемент или отсутствуют элементы.

Реализация алгоритма на JavaScript:

Совет: когда вы пишите рекурсивную функцию, в которой задействован массив, базовым случаем часто оказывается пустой массив или массив из одного элемента.

Среднее время выполнения быстрой сортировки составляет O(n log n).

5. Хэш-таблицы

Хэш-функция — функция, которая получает строку и возвращает число.

Хэш-функция должна соответствовать требованиям:
— Должна быть последовательной
— Разным словам должны соответствовать разные числа

Хэш-функция неизменно связывает название с одним индексом, связывает разные строки с разными индексами, знает размер массива и возвращает только действительные индексы.

хэш-таблица = хэш-функция + массив

Хэш-таблица состоит из ключей и значений.

Примеры использования хэш-таблиц:
— Поиск
— Исключение дубликатов
— Кэш

Кэширование — запомнить данные, вместо того, чтобы пересчитать их заново.

Преимущества кэширования:
— Скорость
— Меньшая затрата ресурсов сервера

Кешируемые данные хранятся в хэше.

Коллизия — двум ключам назначается один элемент массива.

Хорошая хэш-функция создаёт минимальное число коллизий.

В среднем хэш-таблицы выполняют любые операции за время O(1). То есть при любом размере хэш-таблицы выборка данных займёт одинаковое время.

Для предотвращения коллизий необходимы:
— низкий коэффициент заполнения
— хорошая хэш-функция

6. Поиск в ширину

Поиск в ширину — это алгоритм для решения задачи поиска кратчайшего пути.

Позволяет найти кратчайшее расстояние между двумя объектами.

Алгоритм работает с графами. Он помогает ответить на вопросы:
— существует ли путь от узла A к узлу B?
— как выглядит кратчайший путь от узла A к узлу B?

Как работает?

Поместить узел, с которого начинается поиск, в изначально пустую очередь.

Извлечь из начала очереди узел U и пометить его как развёрнутый.

Если узел U является целевым узлом, то завершить поиск с результатом «успех».

В противном случае, в конец очереди добавляются все преемники узла U, которые ещё не развёрнуты и не находятся в очереди.

Если очередь пуста, то все узлы связного графа были просмотрены, следовательно, целевой узел недостижим из начального; завершить поиск с результатом «неудача».

Вернуться к п. 2.

Реализация алгоритма на JavaScript:

Направленный граф — граф в котором отношения между узлами, действуют только в одну сторону.

Поиск в ширину выполняется за время O(кол-во вершин + кол-во рёбер).

7. Алгоритм Дейкстры

С каждым ребром графа связывается число — вес.

Взвешенный граф — граф с весами.
Невзвешенный граф — граф без весов.

Алгоритм Дейкстры вычисляет кратчайший путь во взвешенном графе.

Как работает?

Найти узел с наименьшей стоимостью

Обновить стоимости соседей

Повторять, пока это не будет сделано для всех узлов графа

Вычислить итоговый путь

Реализация алгоритма на JavaScript:

Алгоритм Дейкстры работает только с направленными ациклическими графами.

Ключевая идея Алгоритма Дейкстры: в графе ищется путь с наименьшей стоимостью. Пути к этому узлу с меньшими затратами не существует.

Проходя по родительским узлам в обратном направлении, мы получаем полный путь.

Кратчайший путь далеко не всегда связывается с физическим расстоянием: он может быть направлен на минимизацию какой-либо характеристики.

Алгоритм Дейкстры не может использоваться при наличии рёбер с отрицательным весом. Для этого используется алгоритм Беллмана-Форда.

8. Жадные алгоритмы

В технической треминологии: на каждом шаге выбирается локально-оптимальное решение, а в итоге вы получаете глобально-оптимальное решение.

Доказывается, что жадный выбор на первом шаге не закрывает пути к оптимальному решению: для всякого решения есть другое, согласованное с жадным выбором и не хуже первого.

Показывается, что подзадача, возникающая после жадного выбора на первом шаге, аналогична исходной.

Рассуждение завершается по индукции.

В некоторых случаях достаточно алгоритма, способного решить задачу достаточно хорошо. Жадные алгоритмы реализуются просто, а полученное решение обычно близко к оптимуму.

Когда вычисление точного решения занимает слишком много времени, применяется приближенный алгоритм.

Эффективность приближенного алгоритма оценивается по:
— быстроте
— близости полученного решения к оптимальному

9. Динамическое программирование

Динамическое программирование — мощный метод, способный решать подзадачи и использовать полученные ответы для решения большой задачи. Динамическое программирование работает только в том случае, если каждая подзадача автономна, то есть не зависит от других подзадач.

Динамическое программирование применяется для оптимизации какой-либо характеристики при заданных ограничениях.

10. Алгоритм k ближайших соседей

Если вы пытаетесь выполнить классификацию чего-либо, сначала попробуйте применить алгоритм k ближайших соседей.

Основные применения: классификация и регрессия:
1. классификация = распределение по категориям
2. регрессия = прогнозирование ответа (в числовом выражении)

«Извлечение признаков» — преобразование элемента в список чисел, которые могут использоваться для сравнения.

Качественный выбор признаков — важная часть успешного алгоритма k ближайших соседей.

Источник

Оцените статью