Автор: *
В свете данного здесь нашим павлин-мавлинычем (и не только им) определения - "интеллект - это способность решать задачи..." - хотелось бы его(определение) немного заглубить.
Интеллект - система управления и управление процессом решения задачи.
Решить задачу - это натравить на нее алгоритм решения, когда он есть и известен.
Когда алгоритма нет - поставленная задача не решается. Решается задача поиска решения.
Поэтому, точнее было бы сказать, что интеллект управляет поиском решения.
Естественно, здесь нужно понимать разницу между собственно поиском и управлением поиском, тем более, когда и то и другое происходит, грубо говоря, в недрах одной системы.
Можно вспомнить о работе импульсных двигателей на орбитальных аппаратах - они вовсю используют законы инерции, за счет чего сами оказываются такими крохотными и экономичными - практически размером с карандаш, чуть больше.
Приблизительно так работает и интеллект - импульсно - только в те моменты, когда нужно откорректировать траекторию, по которой система двигается по "инерции" на уже готовых и отработанных алгоритмах, которые в минимальном кол-ве - "чтобы нАчать" - всегда есть.
Принципиально нового очень мало. Когда мы говорим, что нет алгоритма, то скорее подразумеваем то, что есть его отдельные компоненты - как чаще всего и оказывается, - которые нужно лишь правильно соединить, собрать вместе, структурировать, систематизировать (объединить в систему)...
Почитали бы хоть про гермионную сеть:
http://www.gotai.net/forum/default.aspx … 659#130659
Или про постановку задачи:
http://www.gotai.net/forum/default.aspx … 584#131584
В примере:
1 уровень состояний датчика - людей нет, кто то пришёл, все ушли только что, кто то есть
2 уровень последовательностей событий - предсказание - кто то придёт, предсказание - кто то останется, прдсказание - все уйдут
3 уровень времени - гипотеза развития событий (когда кто то придёт он либо уйдёт, либо останется)
4 уровень базы знаний - знания о том, что в доме бывают люди.
Вот дальше этого примера я не буду рассматривать пок не чего.

Расшифровка:
0-Уровень сети
==========
0 уровень - 2 датчика в 2 проходных каридорах и у каждого 2 состояния (есть люди и нет людей)
1 уровень 2*2=4 состояния.
1 - Уровень сети
===========
Давайте придадим смысл этим состояниям. Для этого возьмём 1 Луарвика и попробуем ему объяснить что значат эти 4 состояния, какой в них смысл и какой интеллект из этого можно получить.
1 сотояние - оба датчика не активны (смысл очевиден - людей нет)
2 состояние - 1 датчик сработал ( то есть система перешла из состояния 1 в состояние 2. (смысл очевиден - кто то пришёл в комнату 1).
3 состояние - 2 датчик сработал ( то есть система перешла из состояния 1 в состояние 3. (кто то пришёл в комнату 2).
А вот дальше гораздо, гораздо сложнее.
Система не знает можно ли попасть из комнаты 1 в комнату 2 и обратно, или можно попасть в комнату 2 непосредственно без комнаты 1. Вот выяснение этих фактов требует времени, в случае не яного задания топологии помещения. Вот этот факт и есть ИИ, если система получит его самостоятельно. Но есть но, допустим есть дверь между комнатой 1 и комнатой 2, в начале работы системы она была заштукатурена, а потом (когда система обучилась) проход снова открыли.
Получается, по мимо этих 2 датчиков желательно иметь ещё один источник информации - например видеокамеры широкого обзора. На этих видеокамерах надо диагностировать (используя алгоритмы обработки изображения) появление новых объектов. И надо уметь связывать новые объекты и показания датчиков (автоматически, без участия человека - без задания топологии помещения).
Второй вариант выяснения топологии - специальный подвижный робот с видео или радио или акустикой или да же группа роботов (взаимодействующая для построения топологии - работу этого алгоритма вы видели неоднократно в х.ф. типа "Прометей")
Есть состояние 4 - переход из комнаты 1 в комнату 2.
И состояние 5 - переход из комнаты 2 в комнату 1.
Дальше ещё сложнее:
Состояние 6:
А если вначале зашло 2 человека в комнату 1 и один из них прошёл в комнату 2, тогда у нас оба датчика работают.
Состояние 7: Зашли в комнату 2 и один из них прошёл в комнату 1, опять оба датчика работают.
Состояние 8: Они (2 человека) сговорились и зашли одновременно в комнату 1 и комнату 2
Состояние 9: Зашли с малым интервалом, достаточным для прохода в комнату 2.
Состояние 10: То же самое но вначале комната 2, затем малый интервал и комната 1.
Понятно что в случае 9-10 мы точно не можем сказать сколько людей зашло и вышло и где они находятся.
На втором уровне 4 состояния (4 перехода на 0 уровне):
1-датчики не работают. (смысл - не кого нет)
2 - 1 датчик работает, 2 не работает. (кто то есть в 1 комнате)
3 - 1 не работает, 2 работает (кто то есть во 2 комнате)
4 - оба датчика работают. (кто то есть везде)
2 Уровень сети (Сколько переходов на 1 уровне?)
===============================
Из комбинаторики известно (можно заложить этот алгоритм для автоматического прогнозирования максимальных затрат) число размещений по 2 буквы с повторениями (может не чего не происходить) и дадут нам количество переходов на уровне сети:

(n элементов, взятых по m, где элементы в наборе могут повторяться)
Понять формулу просто, если убрать из 16 состояний 4 неподвижных состояния, то 12 получается так.
Из 1 состояния мы можем оказаться в 3 других состояниях. Но всего у нас состояний 4. 4*3=12.
Теперь возьмём из поля Луарвика смысл этих состояний (частично мы описали выше 10 состояний). Попробуем определить что мы пропустили, при использовании только мыслей без математики.
Пропущены 2 простых состояния, года 1 человек или группа находилась в комнате, а потом вышла.
Как видим не все состояния одинаково полезны для произвольной системы.
Если бы работал алгоритм (в смысле Луарвика), то мы сразу бы сгенерировали уйму состояний.
А так как тут работает ИИ, то генерируются только состояния соответствующие поведению живых объектов в реальном мире, впрочем во время "сна" сети (когда продолжают повторятся те же сигналы - те 4 состояния 2 уровня и те 2 состояния 1 уровня когда не чего не движется) мы можем сделать прогноз всех пропущенных состояний и да же отработать ( в режиме моделирования реакции на эти новые (теоретически возможные состояния)).
То есть уровень неопределённости в такой системе ниже, чем в системе без Гермионной сети.
Повторяем пройденный материал (допустим живёт только 1 человек в однокомнатной квартире с кухней а проход между кухней и комнатой замурован, датчики стоят на входах в кухню и комнату):
1 уровень сети - сработка датчиков (4 состояния не бывает не когда, если оно возникнет нужно бить тревогу - звонить в полицию)
2 уровень сети - размуровывание двери (четыре активных состояния входы и выходы из комнаты и кухни и три стационарных - если кто то пролезет сквозь стену (влезет в форточку, когда человек спит в другой комнате - надо бить тревогу)
3 уровень сети - предсказания во времени поведения человека (если человек зашёл на кухню, то сразу после он выйдет, аналогично с комнатой). Если человек рассеянный то он может выйти из кухни и сразу снова войти, если заранее всегда думает то сразу после кухни идёт обязательно комната либо уход из дома. Количество состояний тут будет зависеть от человека. Если в доме будет робот с надёжной батарейкой, то тут будет минимальный набор состояний (так как робот обычно планирует свои действия на несколько шагов и не зависит от мелких факторов - например не будет гоняться за мухой, которая залетела в квартиру, если в функции робота это не входит).
Так же тут надо учитывать такую возможность, что отсчёт будет начат с момента, когда человек находился на кухне (а не в прихожей). Поэтому будут состояния вышел из кухни и зашёл в комнату на этом уровне.
4 уровень - сильно зависит от времени, будет масса комбинаций связанных со статичными стотояниями. (например сколько циклов работы гермионной сети человек пробыл в кухне).
Так как Гермионная сеть бинарная то в этом есть и достоинство и недостаток.
Недостаток в том что будут дублироватся двойственные состояния (начало движения произошло с кухни или с прихожей?). Это будет зависеть от чётного или нечётного числа интервалов в неподвижных состояниях.
Достоинство в том, что это по сути бинардик Филипова, где классификация устанавливается автоматически.
Так же есть вопросы (на которые можно ответить только практикой). Когда считать гермионную сеть обученной и доверить включения света? Ответ будет где то между построением минимального набора (хотя бы один узел на самом верхнем уровне - верхний уровень мы задаём при старте системы). Полагаю что на практике уровень вложенности гермионных сетей будет зависеть от самой конфигурации.
Таким образом задача * в определении ИИ системы сводиться просто заданием высоты (глубины) сети, после достижения которой, считаем сеть способной к самостоятельной работе.
Полагаю этот один параметр можно отдать в распоряжение * и прочим хвилосохвов