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