?

Log in

No account? Create an account

67_itmo


Группа К4132 СПбГУ ИТМО


Работа №2: Генерализация изолиний рельефа методом Лайминга
matholimp wrote in 67_itmo
Скачайте с http://mapn37.narod.ru/map2/indext.html лист карты N-37-(№), номер № которого совпадает с Вашим порядковым номером в списке группы (по алфавиту). Найдите в нужной карте максимальную и минимальную отметки высот. Их полусумму округлите до десятков и обозначьте через Н.
Выберите 5 точек, расположенных на высоте Н, одна из которых должна располагаться как можно ближе к центру карты, а остальные - к разным её углам. Постройте кривую второго порядка, проходящую через эти 5 точек.

План решения.

Начните с замены географических координат удобными декартовыми: оси направьте по краям листа, а в качестве единицы возьмите дециметр или дюйм на карте. Зафиксируйте значения координат выбранных пяти точек.
При желании можно искать кривую второго порядка методом неопределённых коэффициентов. Для этого придётся найти базисное решение однородной системы пяти линейных уравнений с шестью неизвестными. Если на 1 курсе Вы свободно овладели методом Гаусса, то вычисления займут не больше полутора-двух часов.
Однако есть более удобный способ. Сначала оставьте первые 4 из 5 точек и попытайтесь решить ту же задачу для них. Ясно, что недоопределённая задача будет иметь бесконечно много решений. Сравнительно легко можно найти те три из них, в которых искомая кривая второго порядка вырождается в пару прямых.
Действительно, разбейте множество из четырёх точек на две пары. Через пару точек легко провести прямую. Запишите уравнения обеих прямых в общем виде Ах+Ву+С=0 и перемножьте левые части этих уравнений. Получится какой-то многочлен F1(х,у) второй степени.
Аналогично, разбейте то же самое множество из четырёх точек на две другие пары и найдите другой многочлен F2(х,у) второй степени. Возможен ещё один способ разбиения множества из четырёх точек на две пары, но он не понадобится.
Легко убедиться, что при подстановке любого значения коэффициента С уравнение
(*) (1-С)F1(х,у)+СF2(х,у)=0
задаёт кривую второго порядка, на которой лежат первые 4 из 5 точек. Осталось так распорядиться выбором С, чтобы на нужной кривой оказалась и последняя точка. Для этого нужно подставить значения координат последней точки вместо х и у в (*) и решить получившееся линейное уравнение относительно С.
Так как длинная серия вычислений чревата ошибками, то проверку ответа подстановкой в него ВСЕХ пяти точек я считаю обязательной. Если несоответствий окажется мало, то легко можно будет локализовать и исправить ошибки.
Для наглядности изобразите фрагмент найденной кривой в пределах листа карты. Сравните его с реальным расположением горизонталей уровня Н.

Работа №3: Упражнение по теме "Основные системы счисления"
matholimp wrote in 67_itmo
Пользуясь кодовой страницей 1251 (или 0866), запишите свою фамилию в виде числа в 256-чной (байтовой) системе счисления. Заменив каждую 256-чную цифру двумя 16-чными ("дампом"), переведите это число в шестнадцатеричную систему счисления. Затем (уже из шестнадцатеричной) переведите его в системы счисления с основаниями 8, 2, 3, 9, 10.
Наконец, переведите это число в факториальную и фибоначчиевскую системы счисления.
Кодовые страницы можно найти, например, на http://mech.math.msu.su/~shvetz/54/inf/perl-problems/chIO_sCodePages.xhtml (таблицы 17.4 и 17.5). Все остальные нужные определения Вы легко найдёте по ссылкам с http://www.mashavph.narod.ru/Cheb02/term.htm .
Поясню на примере собственной фамилии. Read more...Collapse )

Учебно-исследовательская работа по системам счисления
matholimp wrote in 67_itmo
Учебно-исследовательская работа носит факультативный характер, но позволит Вам получить бонусные баллы: от 3-9 за выполнение её на ознакомительном уровне до 40-100 в случае существенного продвижения.

Первой открытой публикацией, посвященной новым системам счисления, был мой доклад 1997г., тезисы которого выставлены на нескольких сайтах в интернете, в том числе, на http://www.mashavph.narod.ru/Cheb02/2.htm . Начните со знакомства с этим текстом. На том же сайте проведена классификация систем счисления - http://www.mashavph.narod.ru/Cheb02/4.htm , а также собрана нужная терминология - http://www.mashavph.narod.ru/Cheb02/term.htm .
Затем познакомьтесь с описанным на http://www.barocko.narod.ru/Pos/15/1.htm методом построения новых систем счисления, который придумала Наталия Баранова. Ваша задача - сначала найти какую-нибудь новую функцию, удовлетворяющую перечисленным в этой статье свойствам, а затем на её основе построить новую систему счисления.
Образец того, как это сделала Анна Кравченко, см. на http://www.aakravchenko.narod.ru/SAMARA/1.htm .
Несколько более трудной является обратная задача - для выбранной системы счисления показать, что она является итерационной (если это на самом деле так!) и построить подходящую для этого функцию.

Работа №4: Моделирование работы мозга при выборе решения в случае нескольких оценочных факторов
matholimp wrote in 67_itmo
Задание. Проанализируйте одну или несколько типовых ситуаций, в которых Вам многократно приходилось решать одну и ту же проблему. Определите, какими мотивами и критериями Вы руководствовались в своём выборе.

Простейшим примером такой ситуации может служить выбор маршрута движения от выхода из метро «Горьковская» к главному корпусу ИТМО. Пойти пешком или ждать трамвая? А если трамвая долго нет, то как быстро Вы измените прежнее решение и уйдёте с остановки?
Конечно, всё зависит от обстоятельств: много ли времени осталось у Вас в запасе, какая погода, нужно ли платить за проезд и т.п. В одних случаях Вы учитываете какой-то фактор, а в других игнорируете его.
Например, время критично в зависимости от риска опоздать. Но если его запас вполне достаточен, то нет необходимости стремиться к минимизации (по крайней мере, пока Вы не потеряете слишком много времени, безуспешно простояв на трамвайной остановке).
Так как Вы изучали дисциплины «Теория принятия решений» и «Методы оптимизации», то можете использовать их аппарат для представления своих выводов. Но при этом обратите внимание, что здесь существенно иная ситуация. Весьма принципиальное отличие состоит в том, что там ранее поставленная задача не менялась по ходу её решения. В реальности же могут происходить события, побуждающие Вас радикально изменить систему приоритетов. Наконец, почти наверняка Ваш мозг работал по иным правилам (тем более, до изучения Вами названных дисциплин).
Обратите внимание на неполноту информации. Как Вы отреагируете на большое скопление людей на остановке? Трамвая давно не было? Но разве это значит, что он вот-вот подойдёт? А если людей нет вообще? Трамвай только что ушёл или сегодня трамваи совсем не ходят?

Работа №5: Интеллектуальное администрирование генеалогического форума
matholimp wrote in 67_itmo
Разработайте структуру анкеты и смоделируйте работу «интеллектуальной» программы, обрабатывающей большой массив анкет. Для иллюстрации используйте собственную родословную, а также 2-3 исторических персонажей.
Как известно, в России действует Закон о защите персональных данных, запрещающий выкладывать в интернете большие массивы информации, в том числе, включающей ФИО, даты рождения и т.п. Ещё до принятия этого закона многие пользователи скрывали личную информацию, опасаясь действий злоумышленников. С другой стороны, растёт интерес к восстановлению и изучению родословных. Ваша задача – решить эту проблему, не вступая в конфликт с требованиями закона.
Ваша программа должна отслеживать содержимое анкет пользователей и сравнивать их на предмет поиска возможного дублирования. По умолчанию, все вводимые пользователем данные видны только ему самому и этой программе (но не программисту или администратору форума). Каждый пользователь может вводить анкеты не только за себя, но также за своих близких родственников и предков. Прежде всего, при обнаружении родственников, система должна сообщить об этом обоим пользователям, предложив им открыть друг другу взаимный доступ, чтобы согласовать введенную ими информацию (в частности, исправить ошибки).
В большинстве случаях анкеты будут заполнены лишь частично, что не позволит достоверно установить факт совпадения. Тогда программа сначала должна будет задать пользователям уточняющие вопросы, чтобы снять возникшие сомнения (подтвердить факт родства или опровергнуть его). Формат анкеты должен облегчать эту проверку.
Восходящая родословная в норме представляет собой двоичное дерево, для кодирования вершин которого удобно использовать троичные цифры N, O, P. Здесь О означает фиксацию какого-либо человека, N – переход от него на одно поколение вверх по материнской линии, а Р – по отцовской. В частности, NО – мать, а РО – отец выбранного человека; NРО – бабушка по отцовской линии, РNО – дедушка по материнской и т.д. К сожалению, реальность значительно сложнее: есть внебрачные дети, «биологические» и «юридические» родители, информация о старших поколениях часто утрачена. Наконец, разные линии могут выводить на одного и того же предка. В этом случае нужно зафиксировать тождество соответствующих слов, а родословную этого предка исключить из дерева (иначе пришлось бы дублировать записи по всем вышестоящим предкам).
Нисходящая родословная гораздо сложнее. Для каждого человека нужно каким-то образом упорядочить его детей (сквозной нумерацией или отдельными нумерациями по каждому браку).