В принципе мы можем использовать метод генерации и тестирования, то есть метод проб и ошибок, для решения любых потенциально решаемых задач. Но на практике даже самому мощному компьютеру потребуется немало времени для перебора достаточного количества возможных решений. Элементарная сборка простого игрушечного дома из дюжины деревянных кубиков обернется анализом количества возможностей, превышающего то, какие ребенок мог бы перебрать за всю свою жизнь. Вот один из способов улучшить этой «слепой» поиск методом проб и ошибок.
Принцип прогресса:Всякий процесс исчерпывающего поиска может быть значительно упрощен, если мы каким-то образом сможем выявлять достижение «прогресса». Далее мы сможем проследить путь к решению, как человек может подняться на незнакомый холм в темноте, ощупывая землю перед собой, чтобы придерживаться верного направления.
Многие простые задачи возможно разрешить этим способом, но для трудных задач распознать «прогресс» может оказаться ничуть не легче, чем решить саму задачу. Не имея перед собой общей картины, наш «скалолаз» может навсегда застрять на каком-то промежуточном холме и никогда не добраться до искомой вершины. Надежного способа избежать этой опасности не существует.
Цели и подцели:Наилучший способ выявления методов решения трудных задач заключается в поиске метода, который позволит разделить задачу на несколько более простых, чтобы решать каждую из них по отдельности.
Многие исследования в области так называемого искусственного интеллекта связаны с поиском методов, которыми машины смогут разделять задачи на малые фрагменты, а затем, при необходимости, делить их на еще более мелкие фрагменты. В следующих нескольких разделах настоящей книги мы обсудим, как это можно сделать посредством постановки задач в качестве «целей».
Использование «знания»:Самый эффективный способ решить задачу – это знать заранее, как она решается. В таком случае поиск решения не потребуется.
Соответственно другое направление в изучении искусственного интеллекта нацелено на поиск способов передачи знаний машинам. Сама эта проблема состоит из нескольких частей: мы должны узнать, как получить необходимые знания, должны научиться корректно репрезентировать эти знания, должны наконец разработать процессы, которые позволят эффективно использовать полученные знания. Чтобы добиться этого, наши воспоминания должны предоставлять не обилие мелких подробностей, а, прежде всего, те взаимосвязи между ними, которые помогут нам добиться цели. Подобные исследования привели к созданию множества практически ориентированных «основанных на знаниях» систем решения задач. Некоторые из них нередко называют «экспертными системами», поскольку они основаны на подражании методам людей-экспертов.