среда, 11 июля 2012 г.

В последнюю осень

Прощальным костром догорает эпоха.
И мы наблюдаем за тенью и светом,
В последнюю осень...
(С) Юра, музыкант.

Попытался выдрать эпиграф из "Весны" того же автора, не нашлось подходящего.

Хотя я опять немного о педофилии студентах. Не о графах, я даже весной рассказывал что-то, что в расписании называется "Анализ информационных технологий". Первое слово, как я уже говорил (я уже говорил, что я никогда не повторяюсь?) мне сильно не нравится. Подозреваю, что в каких-то больших Вузах есть строгие учебные планы, шаг влево рассматривается как попытка подрыва государственного строя и карается УК РФ, статья 282 пункт 2. 


Здесь же несколько проще - обычно, что хочешь. Есть даже какие-то чудаки, которые тупо по бумажке сканы читают. Я захотел что-то поближе к тестированию и верификации. Рассказывать про "информационные технологии", которые наверняка сдохнут через 2 года, просто бессмысленно. Это было магам первого курса, то есть если бы не Болонь, то они эквивалентны 5-ти курсникам. Причем я с ними пересекался 2 года назад с большой частью и могу сказать что они адекватные. 


Пару/тройка лекций ушло на воду, зачем это все нужно, методологии разработки, динамическое тестирование/TDD/элементы ООП. Человечно, на 80% из воды.


Далее 3-4, на статическую верификацию. Тут уже с элементами математики. Флойд с Хоаром, непонятно для кого тривиальные задания на верификацию. По крайне мере есть как минимум один человек, у кого оно в голове осталось.


Еще около трех лекций я, как Валдис Пельш, рассказывал про model checking. Тут тоже с какими-то элементами математики, что-то о темпоральных логиках, как оно внутри доказывается, больше на автоматах. Тут я для себя много нового узнал. 


А на практике мы рисовали игрушки. Хотелось показать что такое ООП. Делали довольно абстрактную игру для двух игроков (человек-машина) с полной информацией. За этой фразой скрыто крестиники-нолики-20х20 (5 в ряд), реверси, и подобное. Полноценный минимакс на произвольную глубину. Вынесли еще с пяток абстрактных сущностей (оценка позиции, генераторы ходов). То есть перейти от крестиков-нуликов к реверси - подменить вот эти пяток сущностей, делается за пару часов.


С технологий делали на .net, немного unit-тестов и прочих мелких плюшек.


Результатом практики я даже доволен, обыграть машину в реверси оказалось нереально для человека. С крестиками я немного увел студентов в не совсем правильную функцию оценки позиции. Оно не совсем адекватно иногда ходит, но там один класс заменить и будет тоже на уровне человека рубить. Уверен. 


Реверси успевает считать на 6 полуходов, крестики - на 2-3. Там бы еще минимакс распараллелить, да и альфа-бета сделать, вообще у меня тогда шансов не будет, как человека.


Я первоначально даже хотел свою версию написать, тут для меня работы на вечер. Но как-то заломало, я даже начал писать. Но минут через 15 понял, что студентов то я побью, а конкуренции им не сделаю (и они мне). И себя не прокачаю. Забил, скучно когда не в первой. 


Жалко, что последующие потоки студентов напоминают потоки шлака. И меня там не будет. В последнюю осень...

Комментариев нет: