О современном образовании
Задали мне сегодня задачку:
В роще растут деревья четырёх видов: берёзы, ели, сосны и осины. Всего 100 деревьев. Известно, что среди любых 85 деревьев найдутся деревья всех четырех видов. Среди какого наименьшего количества любых деревьев в этой роще обязательно найдутся деревья хотя бы трёх видов?
Кстати правильного ответа я не знаю. Чисто логически тут ответ 3. Мы можем наугад тыкнуть в 3 дерева и как попасть на 3 абсолютно разных, так и собрать 3 одинаковых. Но задача по математике, поэтому тут число 85 намекает на то, что минимальное число дерева каждого вида 16 штук, чтобы мы гарантированно получили в выборке 4 вида. На 3 вида думаю это задача на дроби. Однако задача уже априори имеет как минимум 2 варианта ответа, и оба они верные. Не знаю, когда учился я в школе, таких разночтений не позволяли
1) Необходимость. Докажем, что меньше нельзя. Например, 68 деревьев. Очевидно, что распределение 34-34-16-16 удовлетворяет исходному условию (среди 85 есть все 4 вида), а взяв первые два вида, получим 68 деревьев. То есть, 68 не является достаточным набором.
Мы можем наугад тыкнуть в 3 дерева и как попасть на 3 абсолютно разных, так и собрать 3 одинаковых.
Ключевое слово «обязательно». Поэтому ваш чисто логичный ответ 3 не подходит.
Известно, что среди любых 85 деревьев найдутся деревья всех четырех видов.
Мы выбираем 85 деревьев, остается не выбранными 15.
Значит, если каждого дерева 16 и больше, то без варианта выберешь хоть одно дерево.
Если мы выбираем деревья так, чтобы внутри выборки оказалось не менее 3 видов деревьев», то в худшем случае имеем:
X + 16 + 15 = 100 (мы не выбрали целиком один вид и не выбрали почти все деревья второго вида).
херне учат, задачи должны быть с экономическим уклоном типа; мойша дал ване денег в кредит
Вы не умеете читать задачу. От вас требуется найти МИНИМАЛЬНОЕ количество деревьев среди которых ОБЯЗАТЕЛЬНО будет три разных.
Если взять самый простой пример и раскидать деревья по 25 каждого, то станет понятно что мы легко можем набрать 25 деревьев одного вида, если мы добираем 26 то там уже будет обязательно два вида деревьев (сий очевидный факт называется «Принцип Дирихле»). В нашем примере чтобы гарантированно иметь три вида деревьев в выборке их нужно взять 51 штуку.
Вернемся к общему кейсу, предположим что у нас ровно по 16 деревьев трех видов, тогда на четвертый останется 52 дерева, в таком случае чтобы получить множество гарантированно содержащее 3 вида нужно взять 69 деревьев (и это ответ). Покажем что для любого другого распределения мы тоже будем иметь три вида деревьев в выборке объемом 69:
Пусть это не так, тогда на оставшиеся 31 дерево будет содержать все деревья как минимум двух видов, но если одного из видов там хотя бы 16, то 16 второго уже точно не наберется, что противоречит условию
Там же в условии обезательно 3 вида, если взять тот дерева, то ни о каком «обезательно» речи идти не может
История проблемы равенства классов P и NP
В 2000 году Математический институт Клэя определил 7 математических задач, решение которых не могли найти в течение многих лет. За решение каждой из них была назначена награда в размере 1 миллиона долларов. Эти 7 задач известны как «задачи тысячелетия», и на сегодняшний день только одна из них была решена — гипотеза Пуанкаре. В этой статье пойдет речь о вопросе равенства классов P и NP, ответ на который может сильно повлиять на всю IT-сферу.
Равенство P и NP классов отсылает нас к теории алгоритмов, а именно к классам сложности. Первое, с чего стоит начать, это то, что классы P и NP классифицируют языки, а не задачи. Пока что это звучит довольно абсурдно, поэтому для понимания разберемся в некоторых деталях.
Пусть А — алфавит и L ⊆ А*, тогда L называется языком над А. Для любого алфавита пустое множество и А* являются тривиальными языками. При этом пустое множество часто называют пустым языком. Однако не стоит путать пустой язык и язык, содержащий пустое слово e, — они различны. Языки могут быть как бесконечными, так и нет, но обязательно счетными. Т. е. множество всех действительных чисел языком нельзя назвать, т. к. такой набор является неисчисляемым.
Говоря про абстрактный исполнитель, чаще всего имеют в виду машину Тьюринга, поэтому в дальнейшем под АИ будем подразумевать именно её. Итак, машина Тьюринга имеет неограниченное линейное хранилище, сгруппированное в ячейки. Каждая ячейка может содержать ровно один символ алфавита в любой момент времени. Вдоль ячеек идет считывающая головка, имеющая конечное число состояний. За одну итерацию она может считать значение только одной ячейки, переписать её значение, изменить свое состояние и перейти на одну позицию вправо/влево.
Устройство машины Тьюринга
На основе машины Тьюринга определим так называемую разрешающую машину над языком. Для начала введем определение характеризующей функции X(w). Функция X определяет, принадлежит ли слово w языку L. Если да, то значение функции равно «1»; если нет, то «0». Формально это можно записать так:
Разрешающей машиной D для языка L называется такая машина, которая для каждого w∈A вычисляет характеризующую функцию X(w) за конечное время.
В дополнение к разрешающей машине идет верификатор. Машина V, которая принимает слова w и c и выводит 0 или 1 после конечного числа шагов, называется верификатором для L, если она обладает следующими свойствами:
— выводит 1, только если w входит в язык L;
— для любого w в языке L существует такое c, что V(w,c) = 1.
Классы сложности и формулировка проблемы
Окей, мы рассмотрели несколько понятий. На первый взгляд, все это больше походит на лингвистику: алфавиты, слова, языки… Причем тут задачи? Чтобы ответить на этот вопрос, обратимся к понятию задача разрешимости (англ. Decision problem). Это такой вопрос (сформулированный в формальной системе), требующий ответа «да» или «нет», зависящего, возможно, от значений некоторых входных параметров. Например, «является ли данное натуральное число x простым?» или «даны два числа: x и y; делится ли x на y?« Метод решения в виде алгоритма называется разрешающей процедурой. Теория вычислимости имеет дело в основном с задачами разрешимости и приведенные выше конструкции наглядно соотносятся с таким типом задач: так разрешающая машина над языком является формализацией разрешающей процедуры. Но как же быть с задачами, такими как задача коммивояжера? На них нельзя дать бинарный ответ. В таких случаях применяют приемы приведения к версии decision problem. В случае коммивояжера проблема по-новому формулируется так: «существует ли маршрут не длиннее, чем заданное значение k?»
В класс сложности NP входят все языки L, для которых существует такой верификатор, что для каждого (w,c) время его работы полиномиально. Иными словами, NP включает в себя задачи разрешимости, для которых при подходящем сертификате для данного w мы быстро сможем удостовериться в том, что w действительно принадлежит L (ответ на вопрос можно довольно быстро проверить). Отсюда и название «верификатор». В качестве примера задачи в NP можно привести определение наличия в графе гамильтонова цикла. Сертификат в данном случае — последовательность вершин, образующих гамильтонов цикл.
Помимо этих классов можно выделить ещё 2: NP-hard и NP-Complete. Они основываются на приводимости одного языка к другому за полиномиальное время: пусть языки A и B — языки над одним алфавитом. Язык А будет приводимым за полиномиальное время к языку B, если существует такая функция f(w), что
— функция f может быть вычислена машиной Тьюринга за полиномиальное время.
Тогда в класс NP-hard будут входить языки, к которым приводимы все языки в NP (причем NP-hard язык может входить в NP, а может и нет), а в NP-Complete те языки, которые являются одновременно NP-hard и NP. Примером NP-Complete является язык выполнимых булевых формул (SAT). Таким образом, NP-Complete задачи образуют в некотором смысле подмножество «типовых» задач в классе NP: если для какой-то из них найден «полиномиально быстрый» алгоритм решения, то и любая другая задача из класса NP может быть решена так же «быстро».
Отношение между классами при равенстве и неравенстве
Теперь, немного погрузившись в теорию алгоритмов, более конкретно обозначим проблему равенства данных классов. Итак, множество P входит в множество NP, но неизвестно, существуют ли языки, которые входят в NP и не входят в P. Что это означает на практике? Итак, простыми словами класс NP можно охарактеризовать как «трудно решить, легко проверить». Классическим примером задачи, входящей в NP, является задача коммивояжера, для решения которой на данный момент известен лишь один алгоритм — старый добрый перебор (мы не рассматриваем эвристические методы). Однако, получив ответ, его будет не так сложно проверить. Класс P же вобрал в себя те задачи, для которых существует эффективный алгоритм решения, позволяющий решать их за полиномиальное время. И равенство или, наоборот, неравенство этих классов пока не доказано. Если эти классы равны, то это будет значить, что для всех задач, которые сейчас решаются путем перебора или другим неэффективным методом, существует(-ют) полиномиальные алгоритмы. А если не равны, то придется смириться с неоптимальностью решения этих задач.
История проблемы равенства P и NP началась в 1928 году, когда Давид Гильберт сформулировал проблему, названную Entscheidungsproblem (нем. задача разрешения). Ее суть заключается в нахождении алгоритма, определяющего доказуемость данного утверждения из аксиом с использованием правил логики. По названию очевидно, что это задача является задачей разрешения (выводит «да» или «нет»).
В ходе решения этой проблемы потребовалось определить термины «алгоритм» и «вычислимая функция». В 1936 году Алонзо Чёрч и Алан Тьюринг независимо показали, что общее решение Entscheidungsproblem невозможно, предположив, что интуитивное понятие «эффективная вычислимость» соответствует вычислимости функции на машине Тьюринга. Эта гипотеза сегодня известна как тезис Чёрча-Тьюринга.
20 марта 1956 в письме к Джону фон Нейману Курт Гёдель впервые поставил вопрос о вычислительной сложности. Гёдель интересовался, можно ли получить доказательство теоремы (в математико-логическом смысле слова) за квадратичное или линейное время. К сожалению, письмо было обнаружено лишь в 1989 году и получило широкую огласку, когда Юрис Хартманис опубликовал перевод и комментарий.
Статья Алана Кобэма 1965 года под названием «The intrinsic computational difficulty of functions» является одним из первых упоминаний класса сложности P, состоящего из разрешимых за полиномиальное время задач. Тезис Кобэма-Эдмондса (известный также как расширенный тезис Чёрча-Тьюринга), названный в честь Алана Кобэма и Джека Эдмондса, утверждает, что любая разумная модель вычислений может быть выражена через другую модель с замедлением, не более чем полиномиальным по размеру входных данных. Кобэм предположил, что класс P может быть хорошим способом для описания множества реально вычислимых задач. Любая проблема, не содержащаяся в P, невозможна, но если задача реального мира может быть решена с помощью алгоритма, существующего в P, то такой алгоритм в конечном итоге будет открыт.
В 1965 году Юрис Хартманис и Ричард Стернс опубликовали статью «On the Computational Complexity of Algorithms», отмеченную премией Тьюринга. В ней даются более точные определения сложности алгоритма и класса сложности. Хартманис и Стернс определили класс сложности как совокупность всех задач, которые можно решить за установленные временные рамки. В их статье показано, что существует бесконечная иерархия классов сложности (например, задачи, для которых наиболее быстрый алгоритм имеет время, пропорциональное n, n log n, n^2, n^3, 2^n и т. д.), где небольшое увеличение временного интервала позволяет решать больше задач. Во второй статье Хартманис совместно с Филипом М. Льюисом показали, что подобная иерархия существует и для количества памяти (функция от размера входа) при решении задачи на машине Тьюринга.
В 1967 году Мануэль Блюм разработал аксиоматическую теорию сложности, которая основана на его собственных аксиомах (аксиомы Блюма), и получил важный результат — теорему об ускорении. До этого мы говорили по большей части о сложности алгоритма. Хотелось бы аналогичным образом определить и сложность задачи: например, какова сложность самого эффективного (по времени и емкости) алгоритма, решающего эту задачу. Теорема об ускорении гласит, что есть некоторые задачи, для которых не существует самого быстрого алгоритма, потому что любой алгоритм для такой задачи можно «ускорить», построив более быстрый алгоритм.
Точная формулировка проблемы равенства P и NP была представлена в 1971 году. Тогда американский ученый Стивен Кук и работавший независимо советский ученый Леонид Левин доказали, что существуют практически актуальные проблемы, которые являются NP-полными. В США Стивен Кук опубликовал статью «The complexity of theorem proving procedures», в которой формализовал понятия редукции за полиномиальное время и NP-полноты, а также доказал существование NP-полной задачи (задача выполнимости булевых формул, SAT). Теорема была независимо доказана Леонидом Левиным и, таким образом, получила название «теорема Кука-Левина».
В 1972 году Ричард Карп сделал рывок в знаменитой статье «Reducibility among Combinatorial Problems», в которой показал, что около 20 разнообразных задач из комбинаторики и теории графов, известных своей вычислительной трудностью, являются NP-полными.
В августе 2010 года Виней Деолаликар, работавший в исследовательском отделении Hewlett-Packard в Пало-Альто в Калифорнии, заявил, что разгадал загадку P vs NP. Он утверждал, что P не равняется NP, однако научное сообщество нашло в его доказательстве фатальную ошибку. В начале 2002 года SIGACT News провел опрос среди 100 ученых, задав им вопрос о равенстве классов NP и P. 61 человек ответили, что «неравны», 9 — «равны», 22 затруднились ответить и 8 сказали, что гипотеза не выводима из текущей системы аксиом и, таким образом, не может быть доказана или опровергнута.
К чему приведет решение проблемы
Окей, теория вычислимости, формализация алгоритмов и абстрактные математические теории — все это конечно интересно, но как решение проблемы равенства NP и P классов отразится на практике? На самом деле, алгоритмы для решения NP-задач используются каждый день во многих сферах. Например, в криптографии, криптовалютах, восстановлении поврежденных файлов, системах блокировки спама, оптимизации в логистике и т. д. Более эффективные решения могли бы значительно сэкономить время и деньги, так как мы пользуемся в основном эвристическими методами, дающими лишь приближенные решения.
Однако существует и обратная сторона монеты. Солидная часть криптографии (криптосистемы с открытым ключом, технологии доказательства выполнения работы в блокчейне, системы блокировки спама) основывается на предположении о неравенстве NP и P классов. Если окажется, что некоторые задачи, для которых, как считалось, не существует эффективных алгоритмов, можно решать быстро, то многие методы защиты устареют.
Может оказаться и так, что последствия решения окажутся не такими тривиальными, как это часто и бывает в математике. В качестве примера рассмотрим континуум-гипотезу о существовании мощности, меньшей континуума и большей мощности счетного множества. Оказывается, существование такого кардинала нельзя ни доказать, ни опровергнуть в аксиоматике ZFC. Так что мы вправе считать, что такие мощности бывают (впрочем, как и считать, что не бывают). Однако ясно, что мы не можем конструктивно построить соответствующее множество. Возможно, точно также окажется и с алгоритмами для NP-задач в случае равенства NP и P (к слову, некоторые математики в опросе SIGACT News так и ответили: гипотеза не выводима из существующей системы аксиом, то есть не может быть доказана или опровергнута).
Пока что существующих методов доказательств недостаточно для строго математического ответа, но не нужно терять надежду. В марте 2001 года Ричард Карп предсказал, что проблема будет решена молодым математиком (до 30 лет) с использованием подхода, о котором еще никто не думал. Стивен Кук заявил, что кто-нибудь предоставит убедительное доказательство в ближайшие 20 лет.
Новое в блогах
Дубовая роща и семь священных растений славян.
Из нашей переписки с Александром Филипповым:
«Игра теней.» Написал он мне в комментарии.
А я из 50 желудей в позапрошлом году сделал рассаду. Этой весной буду рассаживать 20 сохранившихся.
Если добудете желуди осенью, то сажайте их в ноябре на глубину примерно на 5 см.
Отличная идея! Меня только не забудьте похвалить.
Дорогие мои!! Как Вам идея?
И, ото всего сердца хвалю Александра за такую прекраснейшую идею. Может и весной можно посадить найденные желуди. Кому суждено жить — тот выживет, думаю, что дубов это тоже касается.
Семь священных растений было у древних славян: дуб, орешник, верба, хмель, омела, плакун-трава и пупавка. Посредники между богами и людьми, они на протяжении многих веков верно служили нашим предкам, находясь рядом с ними и в горе, и в радости. В лес или поле за травами можно идти только под защитой оберега.

Дуб отвечал за силу. Его называли Перуново дерево и не вырубали под пахотные земли, используя только для вырезания статуй верховного бога. В нетронутых священных рощах, под сенью самого большого дуба вершились суды, давались клятвы, приносились жертвы, устраивались праздники… И передавался от старого вождя новому дубовый посох – символ силы и власти, прообраз скипетра.
Орешник считался младшим братом дуба и, наверное, поэтому еще деревом достатка и благополучия. Ведь что такое быть братом дерева, которому покровительствует сам громовержец Перун? Главное, в тебя не будет бить молния. Наши предки прятались под орешник, а после окончания грозы прихватывали с собой его веточки, чтобы защитить от молнии свои жилища.
Археологи утверждают, что орехов хватало не только живым, но и усопшим – в захоронениях славян находили немало погребенных вместе с покойниками плодов орешника.
Верба – это плодородие почти в чистом виде. Отломил ветку, воткнул в землю, глядь – уже дерево растет. Символ непрерывности и постоянства жизни, это дерево славянского бога солнца Ярилы, его невеста. Гибкая, стройная верба (ивушка) считалась поэтому еще и символом женственности, в противовес дубу. Именно вербу наряжают, украшая цветами, в ночь на Ивана Купалу.
(Перун в славянской мифологии считался богом-громовержцем.)
За что отвечал у древних славян хмель , догадаться несложно. В принципе, Хмель и есть славянский бог, бог-покровитель праздничных трапез и братчин, бог пчеловодов и медоваров. Муж дочери Даждьбога Сурицы – богини радости и света, он достойно влился в пантеон славянских богов и единственный из них, кто, судя по всему, дожил до наших дней. Шутки шутками, но не стоит забывать, что хмель – растение ядовитое, а Хмель – божество коварное. И с тем, и с другим надо вести себя осторожно.
Символ здоровья и молодости, вечнозеленая омела растет на липах, каштанах, тополях, березах и прочих деревьях, в том числе и на дубах. А все, что растет на дубе, для язычника священно. Наши предки считали, что омела появляется на ветках деревьев от молнии, когда Перун хочет не наказать, а наградить. Поэтому, чтобы стать неуязвимыми, перед сражением надо пить напиток из омелы и привязывать ее ветки к груди. И лучше всего, если она была срезана с дуба.
Хотя омела действительно обладает рядом лечебных свойств, современные специалисты не рекомендуют использовать ее при самолечении, поскольку это растение еще более ядовито, чем хмель. Древние жрецы если и умели готовить из омелы универсальное лекарство от всех болезней и противоядие от всех ядов, то секрет этот, увы, утерян.
Хмель – растение ядовитое, и собирать его надо с осторожностью.
Плакун-трава растет по берегам рек и водоемов на светлых, солнечных местах. Высокая, стройная, красивая, с листьями, похожими на листья вербы. На них есть устьица, которые выделяют избыток воды при повышенной влажности. Трава плачет! Это свойство растения и стало причиной его обожествления. Плакун не просто плачет, но заставляет плакать и злых духов.
Мать всех трав, она спасала древних славян не только от укуса змей и бешеных животных, но и от козней кикимор, леших и прочей нечисти. Особенно ценился корень. Брать плакун-траву нужно было обязательно только на заре Иванова дня. И никакого металла!
Копать можно было только специальной костяной палочкой. Без оберега из корня плакуна на шее ни один целитель не отправлялся в поле и лес за травами. Не выходил без него и ни один охотник за кладами, ибо мог и не вернуться, потому что не имел защиты от злых духов, охраняющих сокровища.
И, наконец, пупавка – загадочный цветок, знающий будущее. Ее маленькие скромные цветы с желтой трубчатой серединой и белыми лепестками воспринимались нашими предками как земные звезды. Звезды – глаза небесные, пупавки – глаза земные. И те и другие смотрят, а значит, видят и знают, нужно только уметь понимать их язык. В отличие от небесных, земные глаза-звезды имели длинные ресницы, которые можно было потрогать, понюхать, пересчитать.
Ну и погадать на них, конечно. Правда, в те далекие времена гадания вряд ли походили на сегодняшние. Например, перед охотой на крупного зверя или перед походом воинов племени на врага слова, обращенные к пупавке, могли быть такими: «Победим – не победим, домой вернемся – домой не вернемся»…
Пупавка – пупавка римская – романова трава – романа – ромашка. Так постепенно изменялось название этого цветка. К ХVIII веку, когда пупавки стали называться ромашками, с язычеством как с главной религией на Руси было покончено. И лишь в девичьих гаданиях народная память сохранила осколки древнего знания языческих жрецов. «Любит – не любит, плюнет – поцелует, к сердцу прижмет – к черту пошлет – любит искренне – издевается, встречи ждет – насмехается». Причем цветок обязательно надо держать в правой руке, а лепестки отрывать – левой. Делать это следует осторожно, потому как оборвать сразу два лепестка – очень плохая примета. Зато хорошая примета – если ромашки ночью приснятся.
Можно гадать на выбранном цветке из букета. Если утром «ваш» цветок будет бодрее других – ждите удач, а если поникнет – сами понимаете. Интересно, что из всех видов цветов, называемых в обиходе ромашкой (а это и пупавки, и нивяники, и собственно ромашки), гадать невозможно только на одной из них – так называемой ромашке пахучей. Это единственная ромашка, которой не было на нашем континенте в древние времена. Она попала к нам из Америки, очевидно, с американским зерном. Так вот, у этой «американской гостьи» совсем нет лепестков, будто на ней кто-то уже успел погадать!
Всего же на Земле насчитывается более 350 видов ромашковидных растений, треть из которых произрастает на территории России. Порой это абсолютно разные растения, но со сходным строением цветка. А что, кроме цветка, нужно девушке для гадания! Вот и летят лепестки и у персидской ромашки (она же пиретрум розовый), и у кавказской (пиретрум красный), и у немецкой (она же космея), и у луговой (нивяник обыкновенный), и у нашей главной героини – ромашки римской (пупавка благородная).
Именно из ромашек – римской и луговой – чаще всего плетутся венки в ночь на Ивана Купалу. При этом нельзя цветы ронять. Уронила цветок – милому грусть-печаль обеспечена. Девушки венки и в костер бросают (чей первым сгорит, та и замуж первая выйдет), и по реке пускают (венок утонул – милый обманул, если расплелся и цветочки поплыли поодиночке – еще годик в девках придется походить, ну а если благополучно доплыл до противоположного берега – скоро свадьбе быть).
Увы, нужно признать: из семи священных растений в современном мире только одна ромашка продолжает худо-бедно исполнять свои волшебные функции. Хмель окончательно очеловечился. Остальные же отвернулись от людей, закрылись в себе, хотя, может быть, они и продолжают говорить с нами, только мы их не слышим.
















