В детстве я удивлялся тому, что компьютер может играть в шахматы, причём не просто играть, а играть на уровне гроссмейстера: делать ловушки, идти на хитрость, видеть хитрость противника и многое другое. «Алгоритм» - говорили мне, - «математика, да и только!» И не будучи программистом, в моей голове удачно уложилась эта концепция, отдалённо, но я понимал работу этой программы. Но не понимал я вот что: почему, при одних и тех же параметрах, на одни и те же ходы – компьютер отвечает по-разному? Грубо говоря: ты запускаешь программу, делаешь ход, и компьютер тебе отвечает; затем ты перезапускаешь компьютер, открываешь туже шахматную программу, и на тот же ход она отвечает уже по-другому. Я понимаю, что в этой программе много вариантов, но как она делает выбор? Даже если я удалю программу, запишу её заново, она не повторит свои ходы, она делает выбор, и не известно по какому принципу. Это математика, набор формул, должен же быть хоть какой-то принцип отбора вариантов, случайностей здесь быть не может. Эх… нужно было идти на программиста!