51

Re: Умный дом

Попробуем представить этот пример из настоящего SmartHome в виде Гермионной сети

# http://connect.smartliving.ru/profile/57
# http://www.gotai.net/forum/default.aspx … 7604#87604

# Situational net sensors: s1=sensorMovement1.status, s2=sensorMovement2.status,
# Situational net cell: sM=sensorMovementSUM.status,
# Situational net effectors: callMethod("sensorMovementSUM.statusChanged",array("status"=>0), callMethod("sensorMovementSUM.statusChanged",array("status"=>1)
# Sensors initialisation: setGlobal("sensorMovement1.status",0), setGlobal("sensorMovement2.status",0),

# Temporal net sensors: NobodyHomeMode.active, GuestsMode.active, SecurityArmedMode.active
# Temporal net cell: say("Attention! Alert! motion is detected!",5)
# Temporal net  effectors: callMethod('SecurityArmedMode.check'), callMethod('NobodyHomeMode.check')
# Temporal net initialisation: setGlobal("GuestsMode.active",0), setGlobal("SecurityArmedMode.active",1), setGlobal("NobodyHomeMode.active",0)

# Situational net effectors: runScript('nl_TurnOffAll'), runScript('mute'), callMethod("hello.action"), callMethod("NooLiteD_TualetTP.turnOn"), callMethod("NooLite_RGB_1.check"), runScript('sayTodayAgenda')

Вот так выглядит "темпоральная сеть" первого датчика движения sensorMovement1.
Это гермионная сеть сгенерированная переключением датчика движения.
http://smartliving.ru/forum/download/file.php?id=673

A*-1 это уровень состояний датчика ( людей нет, кто то пришёл, все ушли только что, кто то есть).
A*-2 уровень последовательностей событий (предсказание - кто то придёт, предсказание - кто то останется, прдсказание - все уйдут)
A*-3 уровень (не показан на иллюстрации) гипотеза развития событий (когда кто то придёт он либо уйдёт, либо останется)
A*-4-5 уровень (не показаны на иллюстрации) знания о том, что в доме бывают люди.

Рассмотрим переход состояния датчика из 0 в 1.
Конструкция A2-1 соответствует факту перехода (кто то пришёл в дом).
При этом датчик переходит из состояния A1-0 в состояние A2-0. (state=0 меняется на state=1)
Ребро от A1-0 до A2-1 зелёное - соответствует восходящему управляющему потоку.
Ребро от A2-1 до A2-0 синее - соответствует нисходящему потоку

Обратите внимание что во втором уровне нет переходов между
A1-1 и A3-1, A1-1 и A4-1, A2-1 и A3-1. Так же нет и обратных переходов для них.
Это и есть логика работы дома.

Если подобные переходы проявятся то сразу возникнет ещё один уровень и сигнал будет передан вверх в более абстрактный (фильтрованный) новый уровень. Этот факт будет так же стимулом для вышестоящих сетей обратить на это событие пристальное внимание (выражаясь образно).

Более подробно почитать и посмотреть ссылки можно тут:
http://smartliving.ru/forum/viewtopic.p … 8780#p8780

Аналогичная сеть для второго сенсора sensorMovement2.

52

Re: Умный дом

Входящий сигнал должен быть достаточно продолжительный для репрезентативной выборки.
Так как весь входной поток разбивается на пары, то при коротком векторе входного сигнала, можно пропустить какие то состояния. Они не попадут на 1 уровень, если каждый раз эти состояния будут появляться после чётного числа.

Тестовый пример кода (python + numpy), который демонстрирует конвертацию сигнала в гермионную сеть:

  
def signal_to_hn(N,vsignal,edges1,edges2):
    x0=0
    layer=0
    input0 = []
    tree0=[]
    pair0=[]
    pair_index=0
    for i in xrange(len(vsignal)):
        if (pair_index==2):
            if not pair0 in tree0:
                tree0.append(pair0)
            pair0=[]
            pair_index=0
        pair0.append(vsignal.item(i))
        pair_index=pair_index+1
        if  not vsignal.item(i) in input0 :
            input0.append(vsignal.item(i))
        print tree0
                        
    edges1 = np.append(edges1,(x0,x0+1))
    edges2 = np.append(edges2,(x0+1,x0+N))
    
    return edges1, edges2

#    cell-[0,1] is not generated from this input signal
#    vsignal= np.array([0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,0])
#    complete set of cells
    vsignal= np.array([0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,0])
    medges1 = np.array([])
    medges2 = np.array([])
    
    edges1, edges2 = signal_to_hn(N,vsignal,medges1,medges2)

53

Re: Умный дом

Код который строит первый слой гермионной сети.

#!/usr/bin/env python 2.7

import numpy as np

#   The result of the two structures like this
#   edges = np.array([(0, 1),(1, 0),(0, 4),(4, 3))])    
def signal_to_hn(N,vsignal,edges1,edges2):
    x0=0    # this is due to the numbering of objects when
    x1=x0+1     # creating in points_on_field() by numpy functions
    layer=0
    input0 = []
    input0_coordinate = {}  # the same ^^^
    tree0=[]
    pair0=[]
    pair_index=0
    medges1=[]
    medges2=[]
    for i in xrange(len(vsignal)):
        if (pair_index==2):
            if not pair0 in tree0:
                tree0.append(pair0)
                cell1=[]
                x0_coordinate = input0_coordinate[pair0[0]]
                cell1.append(x0_coordinate)
                cell1.append(x1)
                medges1.append(cell1)
                cell2=[]
                x1_coordinate = input0_coordinate[pair0[1]]
                cell2.append(x1)
                cell2.append(x1_coordinate)
                medges2.append(cell2)
                x1=x1+N
                
            pair0=[]
            pair_index=0
        pair0.append(vsignal.item(i))
        pair_index=pair_index+1
        if  not vsignal.item(i) in input0 :
            input0.append(vsignal.item(i))
            input0_coordinate[vsignal.item(i)] = x0
            x0 = x0 + N
            if (x0 > N*N ):
                print "Need to increase the number of switching environment (N)"
                exit(0)

    return medges1, medges2

################################################################################
if __name__ == '__main__':

    N=5 # size of switching environment

    vsignal= np.array([0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,0])
    medges1 = np.array([])
    medges2 = np.array([])
    
    edges1, edges2 = signal_to_hn(N,vsignal,medges1,medges2)
    print edges1, edges2
    exit(0)

54

Re: Умный дом

Автор: гость

1/ Информационная система автономно направленно ведущая поиск
самоприменимых программ и изучающая эффекты самоприменимости (побочные эффекты) т.о.

2/ по необходимости должна быть основана на расширенной модели алгоритма, вычисления,

быть гибридной, сочетать цифру и физику,

3/ быть киберфизичной, метавычисляющей,

4/ поддерживать единство операционной и денотационной семантик.. бог в поиске бога.. smile

1/ Вставляем маркеры в код и всё.
2/ А как работают военные радиочастотные анализаторы?
http://www.radioscanner.ru/forum/topic15762-2.html
http://www.rusarmy.com/svyaz/sputnik/r-440.html
3/ Метапереход нынче даже обычный bash делает
4/ refl_equal _

Короче есть готовое решение. Намекну, всё равно ещё лет 5 пройдёт прежде чем догадаетесь

http://mosquitto.org/

Замените слеши / на цепочки физических равенств эквациональной логики первого порядка на сетке дискретных дифференциальных форм.

Более длинная цепочка равенств с большей вероятностью рассеет энергию на каждой * операции. Набла операции это только смена системы отсчёта, структурные изменения (квадруполи, диполи, слоения) - значительно меняют семантику выражений. То что принято называть мат. моделью

55

Re: Умный дом

Автор: *
  А как все это воплотить в железе, или еще где-либо - шут его знает..

По изменению цвета копиляров на лице человека и по другим физическим параметрам тела можно классифицировать некоторое различие в эмоциональных состояниях человека. Можно даже дать этим состояниям условные названия : нервозность (страх, стресс, недовольство), эфория (удовольствие, наслаждение), и т.д.

56

Re: Умный дом

Чем публиковать 1 страницу рассужений, лучше поставить 1 ссылку на полезную программу.
http://www.bitext.com/api-demo.html

57

Re: Умный дом

http://habrahabr.ru/post/208876/

58

Re: Умный дом

Автор: Tester64
1.Представте себе автопилот для автомобиля, который умеет ездить по правилам.
2.Позднее умеет учитывать чужие нарушения правил.
3.Позднее умеет учитывать нарушение правил пассажирами.
4.Позднее умеет нарушать правила в критических ситуациях.
5. Итого: одна единая программа, включает в себя 1000 подпрограмм, умеет использовать коомбинации этих подпрограмм, умеет обучаться накапливая статистику поездок и нравоучения пассажиров.
6.Сильно подозреваю что на миллион-первой подпрограмме она уже будет показывать свой "характер" успокаивая пассажира и подрезая наглецов.
7.И возможно устроит пассажирам истерику хлопая дверцами требуя замену масла. :laugh:
8.Увы! Не уверен что языки уже доросли.

1. Время реакции электронной схемы при движении автомобиля на скорости 150 км\ч должно хватать на дистанции движения автомобиля. 5 метров (меньше длинны небольшого автомобиля) например, автомобиль делает за примерно 0.5 секунды. За это время надо собрать информацию с радаров, лидаров, построить трёхмерную модель окружающей обстановки, учесть скорость, ускорение и огромное количество других данных.

Теперь представим что автомобиль должен провзаимодействовать со встречным автомобилем.
0.25 с.
Теперь представим что впереди есть автомобиль , взади на текущей полосе, по боковой полосе и по двум встречным. Не вдаваяс в детали 0.02 секунды на один объект.

Далее Вам объяснят механики сколько доль секунд пройдёт между управляющим воздействием и реакцией автомобиля. Основной вывод - без предсказания управление не получиться.

2. 0.02 Секунды на разбор правил для данного встречного автомобиля ;-)
3. Внутри 0.02 секунд мы должня распознать всех птичек, собачек и пешеходов. Даже если данные о знаках движения у нас уже в памяти и даже если мы знаем про каждый светофор.
4. Представте ситуацию вы летите на скорости 150 км\ч по встречной полосе и в этот момент компьютер бъёт по тормозам. Полёт и кувыркание в кювете с летальными исходами обеспечены (увы, проверено на практике).

5.0.02 с делим на 1000 получаем ~ 10 000 ассемблерных иснтрукций на подпрограмму.
Обычно такой длинны подпрограммы умеют только выводить построчно текст с фильтрацией.
Тоесть 1 Ггц недостаточно для такого кол-ва достаточно сложных подпрограмм. Вывод - не взлетит. Вы конечно скажете давайте возмём 10 или 100 одно Ггц процессоров. Но мы говорили про программы. Теперь вы видите сложность стоимость создания такой системы. И тем не мение по пустынным местам американцы запускали своих автомобильных роботов. Но не в час пик на улице мегаполиса :-)
 

6. Полагаю место этой программы на смертельно опасном для людей полигоне.
7. Без комментрариев.
8. Языки доросли, смотрите С#, АктивОберон, Go, Vala, Scala.

59

Re: Умный дом

Автор: *

В свете данного здесь нашим павлин-мавлинычем (и не только им) определения - "интеллект - это способность решать задачи..." - хотелось бы его(определение) немного заглубить.

Интеллект - система управления и управление процессом решения задачи.
Решить задачу - это натравить на нее алгоритм решения, когда он есть и известен.
Когда алгоритма нет - поставленная задача не решается. Решается задача поиска решения.
Поэтому, точнее было бы сказать, что интеллект управляет поиском решения.

Естественно, здесь нужно понимать разницу между собственно поиском и управлением поиском, тем более, когда и то и другое происходит, грубо говоря, в недрах одной системы.
Можно вспомнить о работе импульсных двигателей на орбитальных аппаратах - они вовсю используют законы инерции, за счет чего сами оказываются такими крохотными и экономичными - практически размером с карандаш, чуть больше.
Приблизительно так работает и интеллект - импульсно - только в те моменты, когда нужно откорректировать траекторию, по которой система двигается по "инерции" на уже готовых и отработанных алгоритмах, которые в минимальном кол-ве - "чтобы нАчать" - всегда есть.

Принципиально нового очень мало. Когда мы говорим, что нет алгоритма, то скорее подразумеваем то, что есть его отдельные компоненты - как чаще всего и оказывается, -  которые нужно лишь правильно соединить, собрать вместе, структурировать, систематизировать (объединить в систему)...

Почитали бы хоть про гермионную сеть:

http://www.gotai.net/forum/default.aspx … 659#130659

Или про постановку задачи:

http://www.gotai.net/forum/default.aspx … 584#131584

В примере:

1 уровень состояний датчика - людей нет, кто то пришёл, все ушли только что, кто то есть
2 уровень последовательностей событий - предсказание - кто то придёт, предсказание - кто то останется, прдсказание - все уйдут
3 уровень времени - гипотеза развития событий (когда кто то придёт он либо уйдёт, либо останется)
4 уровень базы знаний - знания о том, что в доме бывают люди.

Вот дальше этого примера я не буду рассматривать пок не чего.

http://majordomo.smartliving.ru/forum/download/file.php?id=686&sid=d3b1806dd3c32641ca5db1293f4db68f

Расшифровка:

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 буквы с повторениями (может не чего не происходить) и дадут нам количество переходов на уровне сети:

http://umk.portal.kemsu.ru/uch-mathematics/papers/posobie/image26.gif
(n элементов, взятых по m, где элементы в наборе могут повторяться)

Понять формулу просто, если убрать из 16 состояний 4 неподвижных состояния, то 12 получается так.

Из 1 состояния мы можем оказаться в 3 других состояниях. Но всего у нас состояний 4. 4*3=12.

Теперь возьмём из поля Луарвика смысл этих состояний (частично мы описали выше 10 состояний). Попробуем определить что мы пропустили, при использовании только мыслей без математики.

Пропущены 2 простых состояния, года 1 человек или группа находилась в комнате, а потом вышла.

Как видим не все состояния одинаково полезны для произвольной системы.

Если бы работал алгоритм (в смысле Луарвика), то мы сразу бы сгенерировали уйму состояний.

А так как тут работает ИИ, то генерируются только состояния соответствующие поведению живых объектов в реальном мире, впрочем во время "сна" сети (когда продолжают повторятся те же сигналы - те 4 состояния 2 уровня и те 2 состояния 1 уровня когда не чего не движется) мы можем сделать прогноз всех пропущенных состояний и да же отработать ( в режиме моделирования реакции на эти новые (теоретически возможные состояния)).


То есть уровень неопределённости в такой системе ниже, чем в системе без Гермионной сети.

Повторяем пройденный материал (допустим живёт только 1 человек в однокомнатной квартире с кухней а проход между кухней и комнатой замурован, датчики стоят на входах в кухню и комнату):

1 уровень сети - сработка датчиков (4 состояния не бывает не когда, если оно возникнет нужно бить тревогу - звонить в полицию)
2 уровень сети - размуровывание двери (четыре активных состояния входы и выходы из комнаты и кухни и три стационарных - если кто то пролезет сквозь стену (влезет в форточку, когда человек спит в другой комнате - надо бить тревогу)

3 уровень сети - предсказания во времени поведения человека (если человек зашёл на кухню, то сразу после он выйдет, аналогично с комнатой). Если человек рассеянный то он может выйти из кухни и сразу снова войти, если заранее всегда думает то сразу после кухни идёт обязательно комната либо уход из дома. Количество состояний тут будет зависеть от человека. Если в доме будет робот с надёжной батарейкой, то тут будет минимальный набор состояний (так как робот обычно планирует свои действия на несколько шагов и не зависит от мелких факторов - например не будет гоняться за мухой, которая залетела в квартиру, если в функции робота это не входит).

Так же тут надо учитывать такую возможность, что отсчёт будет начат с момента, когда человек находился на кухне (а не в прихожей). Поэтому будут состояния вышел из кухни и зашёл в комнату на этом уровне.

4 уровень - сильно зависит от времени, будет масса комбинаций связанных со статичными стотояниями. (например сколько циклов работы гермионной сети человек пробыл в кухне).

Так как Гермионная сеть бинарная то в этом есть и достоинство и недостаток.

Недостаток в том что будут дублироватся двойственные состояния (начало движения произошло с кухни или с прихожей?). Это будет зависеть от чётного или нечётного числа интервалов в неподвижных состояниях.

Достоинство в том, что это по сути бинардик Филипова, где классификация устанавливается автоматически.

Так же есть вопросы (на которые можно ответить только практикой). Когда считать гермионную сеть обученной и доверить включения света? Ответ будет где то между построением минимального набора (хотя бы один узел на самом верхнем уровне - верхний уровень мы задаём при старте системы). Полагаю что на практике уровень вложенности гермионных сетей будет зависеть от самой конфигурации.

Таким образом задача * в  определении ИИ системы сводиться просто заданием высоты (глубины) сети, после достижения которой, считаем сеть способной к самостоятельной работе.

Полагаю этот один параметр можно отдать в распоряжение * и прочим хвилосохвов

60

Re: Умный дом

Время в данном примере есть на 4 уровне сети (зависит от интервалов отсчёта на 0 уровне).
В гермионной сети обычно после слоя пространства - следующий слой времени, потом снова пространства и т.д.

Данный пример наипростейший. При наборе датчиков более 2 будет рост наборов алгоритмов планирования. То что я описываю нужно рынку, для целей упрощения установки системы *. Сейчас все делают алгоритмы планирования, но для этого нужна квалификация (которой нет у *).

61

Re: Умный дом

Автор: *


в таких случаях раньше говорили
ему про фому а он про ерему

ваша математика с физикой  гер-сетью и гениальностью мало кого интересует из заглядывающих в данную ветку
в рамках интересов данной ветки это даже до банальности не тянет
максимум на тупость

здесь больше интересуются иным
но пока не могут разглядеть банальность появления образно говоря созидателя
из совокупности исполнителей
:eek:

хотя кому я говорю
все равно что об стенку горох

А , ну я понял:

Сколько чертей надо, что бы создать Бога?

Как подсчитываете без математики? В тъмах?

Похоже это вы тупите. Я вам по ссылке (почитайте внимательнее) написал как это сделать.
Только вы же не читатель, вы же писатель да к тому же пьяный (или это не вы были...)

Да же оценки дал. На 1 выключатель и один сенсор, надо 5 уровней и матрицу минимум 16x16.

Максимум 2^2^...^2 (2 в степени 2, в степени 2, в степени 2 и так 6 раз).

Впрочем можно представить это в виде гипперкуба или вложенных тензоров - суть не меняется.

Ах да надо добавить, что существует одноранговая самомаршрутизируемая сеть (читай можно сделать вычислительную систему распределённую с такими как раз параметрами для максимального случая) с такими параметрами и будет работать на той самой коробочке за 15 евро (что на фото), называется Netsukuku, мы её сделали в 2004 году. Берите, пользуйтесь - можете спасибо не говорить

62

Re: Умный дом

1. Продаём этим людям смартфоны\очки\сенсоры_в_одежде\сенсоры_на_теле\сенсоры_внутри_тела с пре-установленным софтом.
http://www.google.com/glass/start/
2. Ставим публичные точки доступа, через которые можно смотреть G+ и VK.
http://smartliving.ru/Main/LinuxMiniHub
3. Все ручки управления размещаем в облаке\космосе и сдаём их в аренду.
http://www.fi-ppp.eu/projects/fi-ware/
4. Профит c продажи одного и того же (ядро Линукс + интерфейс) 3 раза.

63

Re: Умный дом

Автор: *

Переход неопределенности это логика 3 порядка. Вообще-то это уже и не логика. Ближе к художественной литературе. Люди считают, что общество это уровнь выше человека, от этого возвращаются вниз. Можно попробовать йогу. Засовываешь ногу за голову и провозглашаешь переход неопределенности. Или как в зомбоящике говорят "в любой непонятной ситуации танцуй и она станет непонятной для всех".

Есть непрерывная логика. Если грубо - задаёшь любую гладкую функцию распределения и получает нечёткую логику. А вот если к этой функции ещё и фрактальную метрику добавить - то будет забавная модель. Только вот метрику надо подбирать исходя из экспериментальных данных, а их у людей нет (насколько я знаю).

Я бы предложил использовать искусственно выращенные органические сенсоры для получения необходимого объёма экспериментальных данных.

64

Re: Умный дом

Да сенсоры надо рюхать. И одной НС с этим не справиться. Нужны ещё марковские цепочки, классификаторы по ближайшему расстоянию и HDL описание конечного автомата с взаимодействующими процессами на параллельной архитектуре.

Ключевое слово - заранее.
http://www.extremetech.com/extreme/1100 … your-brain

65

Re: Умный дом

Идея интересная. Буфер сохранения делать надо. Как и буфер предсказания.
Анализировать можно разницу между текущими и ожидаемым буфером.