251

Re: Программное обеспечение

https://www.change.org/p/steam-put-syri … responsive

Надо бы помочь ребятам подписи собрать.

[youtube]MPwYnB1JakE[/youtube]

252

Re: Программное обеспечение

Автор: *

у пёрла нет проблемы остановки?

Вы несколько тролите, но в целом, если ввести иерархию функционалов, то эта проблема может быть только на 4 уровне-Парсер моей классификации. В целом допустимое время анализа достигается параллельной архитектурой. Для каждого варианта анализа мы задействуем отдельный физический вычислитель.

http://www.michurin.com.ru/halting-problem.shtml

Задача статического анализа специальной программы (как по ссылке) perl5-подобного языка является тьюринг-неразрешимой. Разрешимость или не разрешимость зависит от типа программы.

Я не говорил о статическом анализе. Я как раз писал о динамическом анализе. Который можно сделать, запустив симуляцию алгоритма и одновременно сравнивать состояния в работающем алгоритме через JTAG

253

Re: Программное обеспечение

Автор: *

если программа на входе принимает 32 бита то для параллельного анализа потребуется 2^32-ядерный процессор

IMHO это грубая и максимальная оценка. Потому что программа имеет ограниченный набор состояний. В целом можно использовать технику предварительной разметки и ограничений входных данных. Которая была использована при проектирования комплекса программ для Бурана.

Существую библиотеки программ Интервального анализа

254

Re: Программное обеспечение

https://account.lab.fiware.org/oauth2/a … .org/login

Раньше было бесплатно, давали 3 виртуальных сервера и 3 IP.

Сейчас потребуется регистрация и может быть что то ещё.

Можно заводить виртуалок без ограничений, они должны быть видны дург другу внутри локальной сети испанского клауда Телефоники

255

Re: Программное обеспечение

1. Аудитория не готова, но постепенно готовиться. 10 лет назад я говорил то же самое (вообще не кто не понимал). Сейчас (проблема восприятия на уровне математики 50% проблем в головах читателей преодолели за 10 лет) уже кое что стали понимать. Ещё через 10-15 лет всё встанет на свои места.

2. Я уже писал. Открывайте проект на гитхабе, пишите грамотное ТЗ, вкладываейте 2000 Евро каждый месяц и наслаждайтесь результатом. Другого пути нет. Так как пишут те код, кому платят.

http://habrahabr.ru/post/237977/

3. ИИ в лучшем случае это не устройство хранение едениц памяти, где в своё удовольствие вносятся какие то изменения. Но система которая способна написать ТЗ, проверить ТЗ на физическое устройство, спланировать и проконтролировать ход работ, а так же отобрать исполнителей.

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

Так же спецификации нижнего уровня, можно взять готовые.

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

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

256

Re: Программное обеспечение

А на каждый микроконтроллер вы сами будете делать компилятор для вашего языка ?

Не смешите, лучше выучите JS для начала. А там глядишь и Python и СИ перестанут быть проблемой для вас. Как я уже писал , 90% людей (вроде Луаврика) лучше вообще не подпускать к компьютеру ближе чем на голосовой интерфейс (в текущий момент так и делают с помощью полукомпьютеров на которых нет сред программирования типа мобильных телефонов и планшетов).


Онтология - это иерархия классов в СИ++ языке, её стрипают при компиляции. Если хотите сохранить - пускайте в релиз дебаг версию (со встроенным исходным кодом). Вот за исходный код и борется GNU сообщество во главе со Ричардом Сталламоном (тупа чтоб исходники драйверов принтера были доступны). Согласен что сейчас иерархии имеют довольно убогое API, которое с трудом можно назвать человеческой онтлогией, но для задачи оптимизации вычислительных ресурсов (денег и времени) такие онтологии очень годятся.

Так что я бы начал с проектирования онтологии под конкретную задачу. Затем поверх сгенерировал код на Драконе или чем то подобном типа Лотоса или Верилога. Из него уже бы получал код, как вы выше изложили с наборами состояний. Он будет медленнее до 20% зато без ошибок в смысле спецификации.

257

Re: Программное обеспечение

Автор: гость

Это потребует создания простого скриптового языка и написания его интерпретатора. В принципе я могу сделать, это будет не сложно, но не знаю как скоро.

https://scratch.mit.edu/

https://github.com/jmoenig/Snap--Build-Your-Own-Blocks

Да всё уже сделано, можно готовое взять, только логику прикрутить.

http://snap.berkeley.edu/

258

Re: Программное обеспечение

Автор: гость

Как минимум эти функции выполняют разные задачи, а как максимум, в вашей в несколько раз больше циклов, вызовов и операторов.

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

Если будет действительно большое дерево (размером с весь мир) то сортировать можно только так на одном ЦПУ. Для многих ЦПУ - другой алгоритм - систолические структуры - матрицы - L\U разложение - но думаю за последние 10 лет уже написали горы подобных библиотек для MPI.

259

Re: Программное обеспечение

Автор: гость

Цель программы это реализация основы примитивного мышления. Чем то похоже на рефлекс, под действием модулятора. Робот имеет память, имеет абстрактно иерархическую структуру знаний, что я описал как дерево сложенное в одну линию. То есть по факту дерева нет, дерево - это в уме учтённые ветвления выпадения событий с некоторой долей вероятности равной 1 если событие когда либо выпало и 0 в противном случае. Я повторяюсь, что в последовательности событий ABC, событию C сопутствуют события A и B, вероятность события C равна сумме вероятностей выпадения A и B, C = 0,5 + 0,5 = 1. При этом, опять же, по факту вероятность выпавшего события равна 1, а значит вероятность C = (1 + 1) / 2. Что можно изобразить в виде древа из нескольких ветвей, где первый элемент общий для всех, например ABC ADE AFG, вероятности каждого из последних событий ветви равна 1 если средняя вероятность всех предыдущих событий равна 1. Если после A с вероятностью равной 1 выпасть может только событие F, то очевидно, что все события между A и F не выпадают, а значит могут быть пропущены, как ветви древа и как просто последовательность событий.

Спасибо. Понял это на уровне первой программы для диалога с человеком "Психоаналитик" - на каком то из первых Apple запускалась.

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

260

Re: Программное обеспечение

http://klein.zen.ru/hscool/online/sutras/Heap.html

Возможно эта сортировка для бинарного дерева будет экономнее?

//(* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * )
//( Heap.—      hscool sutra                                      c )
//(                                                                        )
//( Heap sorting -- timing is _always_ .LE. N*log N                        )
//( * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *)

//Program Heap(Input,Output);

#include <stdio.h>

#define N_MAX 10

typedef int TElement;
int  iNum=0,i,j;
TElement  elTemp;
TElement  elA[N_MAX]; //{ Source array, tree and result }


int FixTree(int iFrom,int iTo)
{
    TElement  elTop,elLeft,elRight;
    int  iFromTwice;

     elTop=elA[iFrom];

    while(1) {
         iFromTwice=iFrom*2;
         if (iFromTwice > iTo) break; 
         else {
            elLeft=elA[iFromTwice];
            if (iFromTwice==iTo) { elRight=elLeft; } else  { elRight=elA[iFromTwice+1]; }

            if ((elRight>elTop) && (elRight>elLeft)) { elA[iFrom]=elRight;  iFrom=iFromTwice+1;  } 
            else if (elLeft > elTop ) { elA[iFrom]=elLeft;   iFrom=iFromTwice; } 
            else break; 
         }
    }
     elA[iFrom]=elTop;
}

void main (int argc, char *argv []) 
{
  printf("\n");
  printf("Heap.  Array sorting by tree building.\n");

//  { Read unsorted array   }
  char str[3];
  while (iNum < N_MAX-1) {
    if(scanf("%s", str)<=0)break;
    elA[++iNum] = atoi(str);
  } 
  
  
// { Build a sorting tree  }
  for ( i= iNum >> 1;i>=1;i--) {  FixTree(i,iNum);

  printf("* %d %d: ",i,iNum);
  for (j=1; j < iNum; j++)  { printf("%d ",elA[j]); }
  printf("%d \n",elA[iNum]);

  }



//  { Display the result    }
  printf("* UnSorted array *\n  ");
  for (i=1; i< iNum; i++)  { printf("%d ",elA[i]); }
  printf("%d \n",elA[iNum]);



// { Convert tree to array }
  for (i=iNum; i>=2; i-- ) 
  { 
    elTemp=elA[1];
    elA[1]=elA[i];
    elA[i]=elTemp;
    FixTree(1,i-1);
  printf("* ");
  for (j=1; j< iNum; j++)  { printf("%d ",elA[j]); }
  printf("%d \n",elA[iNum]);
  }

//  { Display the result    }
  printf("* Sorted array *\n  ");
  for (i=1; i< iNum; i++)  { printf("%d ",elA[i]); }
  printf("%d \n",elA[iNum]);
  printf("P.S. Thank you for using our software.\n");

}

261

Re: Программное обеспечение

Искусственный интеллект - "Такие вроде как шевелящиеся извилины"

http://forum.ixbt.com/topic.cgi?id=40:691#

Это время, когда попса одолела интернет. Это не первый разговор далеко, а скорее последний за которым всерьез серьезные люди наблюдали.

Время когда любой не специалист мог уже поставить Линукс на свой любой компьютер без написания своих собственных драйверов. Вот например там в теме некто "Инопланетянин" четко говорить про 70-е годы. Был бы инопланетянином настоящим - звался бы иноземец (не путать с иностранцем).

Я там то же есть на 27 странице - приходиться врать что человек:

написано 09.11.2001 17:24

"Человеку (мне) снятся сны явно связанные с информацией полученной за день.
Может мой мозг применяет имеющиеся у него "алгоритмы" на объекты (представление предметов) которые мозг воспринимал в течении дня. Причем приоритеты использования объектов я не устанавливаю. Хотя я слышал есть такие техники.

Призываю всех уважаемых собеседников решать сугубо практические задачи, например создание компилятора из ДНК и РНК в белок."

262

Re: Программное обеспечение

Вначале надо выбрать подходящую среду для развития ИИ. Я имею ввиду физические механизмы для реализации ИИ. Причем физические механизмы в широком смысле, включая органические полимеры ну и т.д. Вы в силу специфики вашей работы ограничены цифровой техникой, на которой строите элементы ИИ. Даже в этом случае проблемму надо решать комплексно, начиная с
- компилятора и
- языка описания данных,
- программ,
- интерфейсов узнавания частей данных и программ,
- механизмов востановления, передаваеммой информации,
- механизмы должны базироваться на системных функциях (местоположение которых различается в разных ОС а общих интерфейсов для их вызова пока не выработано).

Или если сказать короче надо реализовать механизмы подобные "матричному размножению ДНК и РНК"

263

Re: Программное обеспечение

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

"Органы воздействия" в идеале должны востанавливать либо образ, либо сам предмет, который был предварительно воспринят "органами чувств", либо должны служить для самомодификации физической систены на которой находится ИИ (Например изменение положения физич. системы в пространстве).

Обладая такой переферией ИИ интелект сможет решать реальные задачи в реальном мире. Видимо это
и интересует собравшихся здесь людей.
А скажем в "виртуальном пространстве" многое уже решаестя поисковыми системами.

264

Re: Программное обеспечение

На мой взгляд все дело в сложности конечного автомата. Некоторые программы превосходят по сложности (набору различных состояний) саму вычислительную систему, на которой работают. Поэтому такие программы могут пытаться прогнозировать состояние и поведение (набор переходов) своей вычислительной системы и других вычислительных систем.
Возможно такое, на мой взгляд, программа генерирует модель соответствующей сложности и самое сложное, производит ее настроику (отдельный модуль) на задачу. Для этого необходима БД.
Это на мой взгляд это есть ИИ а не ЕИ.

265

Re: Программное обеспечение

Избранные цитаты из:
http://vx.org.ua/texts/html/rus/burger.html
Р. Бургер "БОЛЬШОЙ СПРАВОЧНИК ПО КОМПЬЮТЕРНЫМ ВИРУСАМ" 1988
...
Если компьютер когда-либо и "мыслит", то мыслит он как машина, а не как
человек.
Однако как определить мышление у машины ?
Следующие вопросы уточняют проблематику:

- Предполагает ли интеллект способность мыслить?

- Возможно ли мышление без сознания ?

- Бывает ли сознание без жизни ?

- Бывает ли жизнь без смерти ?

При ближайшем рассмотрении этих вопросов можно заключить, что
создание искусственного интеллекта должно или может быть равнозначно
созданию искусственной жизни.
...
Если жизнь обьявляется как условие, необходимое для развития интеллекта,
нужно, по крайней мере на сегодняшний день, признать невозможность
этого развития. Особенно, если человек пытается воспризвести основную концепцию
жизни или интеллекта. Как известно, это превышает возможности сегодняшней
науки. Таким образом, остается только путь эволюции. С этой
точки зрения необходимо взглянуть на биологическую жизнь.
...
Модель для такого рода
эксперимента могла бы, вероятно, выглядеть следующим образом:

- 317 -

- мощная система восприятия, оснащенная:
а) сенсорами света/формы/цвета;
b) сенсорами шума;
c) клавишами в качестве сверхзвуковых (пространственных)
сенсоров;
d) инфракрасными (пространственными) сенсорами;
e) газовыми сенсорами;

- возможности вывода/коммуникации:
a) изображения;
b) информации из больших банков данных ;
c) звуковой информации посредством громкоговорителя с
цифроаналоговым преобразователем;

- программное обеспечение:
a) драйверы для всех доступных периферийных устройств;
b) программное обеспечение с репродуцирующими и модифицирующими
функциями;
c) вероятно, программа наивысшего уровня иерархии, селектирующая
жизнеспособные и нежизнеспособные мутации.

- Это, разумеется,всего лишь обобщенная модель, которая, при необходимости
ее исследования, должна быть специфицирована значительно подробнее

266

Re: Программное обеспечение

Насчет генетических алгоритмов.

Любая (обобщенный случай) предметная область представляет из себя что то вроде клубка поверхностей с самопересечением (мне кажется обычно гладких). То-есть многомерную топологическую структуру.

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

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

Так вот генетические алгоритмы позволяют резко измерить точку старта для поиска максимума функции (например функции поведения), что при сложном рельефе приводит к лучщему по времени
определению максимума целевой ф-и.
В этом смысле генетические алгоритмы напоминают метод Монте-Карло.

А вообще искусственный интеллект уже давно создан возьмите любой компилятор, например Perl или C.
Дело за малым
Научить формировать программу цели самостоятельно. Выделять подцели, подставлять типовые решения, а в сложных случаях, заниматься тупым перебором.

Например в МИТ в 60 годы была написана одна из первых шахматных программ, так она чтобы спасти пешку сделала сразу два хода и вывела ее за пределы шахматного поля. Ну чем не искусственный интеллект. Прямо, как "арабский скакун" у Ильфа и Петрова.

267

Re: Программное обеспечение

Да используйте любой язык.

Есть шаблоны (типа хвостовой рекурсии или сортировки хипа бинарным деревом) и их программисты и используют. А иногда вообще на уровне подключения готовой библиотеки а дальше write/read.

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

То что описано это относиться к парадигме сентенциального программирования

268

Re: Программное обеспечение

Автор: *

2. Сложность нужно вычислять с учётом первоначальной сортировки и строить алгоритм так, чтобы максимально использовать память при следующем поиске. Это самый интересный вопрос, ответ на который я пока не получил.

Самое оптимальное использование памяти - Сутра Кобры (название этого алгоритма в некотрых местах в Москве). Или сортировка кучи памяти бинарным дедевом. 1 - вершина, 2- правая ветвь, 3 - левая, 4 - правая подветвь правой, 5 - левая подветвь правой, 6 - правая подветвь левой, 7 - левая подветвь левой.

Далее упорядочивание в дереве. Время работы конечное (надо смотреть точную формулу по справочнику). Память экономиться наиболее эффективно - не одного лишнего байта

269

Re: Программное обеспечение

Автор: *

Про уравнение непрерывности - мне непонятно.
Наверное, решать вопрос нужно следующим образом.
Предлагаю задачу.
Основа алгоритма (по аналогии с жадным):
Находим наименьшее ребро. Удаляем его (т.е.объединияем узлы).
Из пар инцидентных получившемуся узлу 2*(n-1) рёбер оставляем наименьшие.
Повторяем процедуру.
Вопросы:
1. Как выбрать маршрут?
2. Какова сложность алгоритма?
3. Какова вероятность того, что выбранный маршрут отличается от минимального на дельта Л?
4. Где ваще ошибка (В геноме - не катит. Продемонстрируйте способность думать, а не говорить штампами или туманно)? Чего тут не хватает?

Есть у меня под рукой книга "Топологическое проектирование нерегулярных БИС" Г.Г.Казёнов В.М.Щемелинин.

С обоими я лично знаком, они мне лекции читали и мы на одной кафедре вместе работали.
Я могу вам процетировать на память или по тексту различные алгоритмы решения различных задачь из различных разделов - размещение, трасировка и т.д.

Но я не понял самой задачи и как она связана с ТФ.

Почему Вы решили что короткими переулками дорога короче чем в обход. Если переулки идут вначале закручивающейся спиралью а потом разкручивающейся (Намёк на Феймана и его премию :-), то это будет самый длинный маршрут. Если переулки идут по диагоналии (пусть иногда), а обход точно по метрике Манхетен (наноструктуры могут повернуть световую волну под углом 90 градусов), то переулками короче.

У вас граф планарный?
Количество вершин\рёбер конечное?
Имеет ли граф особенности - DAG, Двунаправленное дерево, или сеть, есть ли ограничения по количеству соседей у вершин, по длинне рёбер.
Какая метрика?
Есть ли разница в длинне дуги по прямому пути и обратному?
Ограничено ли поле игрового поиска?

И самое гланое: Откуда и куда мы идём?

;-)

В самомаршрутизирующихся сетях типа Netsukuku используют алгоритм определения наикратчайшего пути.

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

Группа узлов ограничивается 256. По достижению границы группы - пакет дропается, а узел назначается пограничным и попадает в список пограничных узлов.

Каждую минуту выбирается случайный узел и поднимается на 1 по иерархии, от пограничных узлов он получает список главных узлов в соседней группе через пограничные узлы.

Может быть до 8 уровней. Этого достаточно чтобы обеспечить граф любой сложности, сопоставимый с нашей планетой Земля (точнее с искусственным ландшафтом (извините мой немецкий)).

Это число выглядить как ((((((((2^2)^2)^2)^2)^2)^2)^2)^2)

270

Re: Программное обеспечение

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

Попробуйте свернуть его в тензор большей размерности но меньшего ранга (если не путаю термины).

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

Маршрут это физика, а вот сумма, которая сумма длинн и не бесконечность это математика

271

Re: Программное обеспечение

Автор: *
Обратите внимание на микрософтовскую работу по распознаванию речи, о которой говорит Игнат в соседнем топике. Вам может понравиться

http://research.microsoft.com/en-us/new … 82911.aspx

272

Re: Программное обеспечение

http://citizensnpcs.co/

К вопросу о том как в МС заставить заговорить диалогом и проявить характер и поведение у NPC mob.

http://github.com/CitizensDev/Citizens2

Именно BukKit самый простой и документированный вдоль и поперек и вглубь и по поверхности игровой движек. Написанный на Java с классами.

Кроме того именно его Микрософт купила за Миллиард и гоняет на своем дрянном железе для дополненной реальности. Так что МС еще и в школе будет лет 5-10 на уроках информатики и гражданства использоваться.

Остальные движки, тупо не потянут на современном китайском железе для виртуальной реальности (окулус рифт или голо ленз)

273

Re: Программное обеспечение

https://github.com/CitizensDev/Citizens … gator.java

Это игровой AI.

Более сложные алгоритмы (хотя на тех же базовых Java библиотеках) в кремневом компиляторе. Но посетители с Украины об этом не догадываются. Раньше на Си было, и сейчас сам расчет больших матриц (учет многих факторов) так же на Си делают.

А других нет. Есть еще помесь статистики с эвристиками предсказаний (то что местные посетители называют ИИ или СИИ). Но если бы на таких алгоритмах проектировали бы машины, то получилось как у Илона Макса. То попадает, то мимо.

274

Re: Программное обеспечение

https://www.youtube.com/watch?v=BqLoZAI3DfQ

http://citizensnpcs.co/

275

Re: Программное обеспечение

https://github.com/Ignat99/ScriptCraft/ … ecraft.pdf

Для детей (чужих) сервер поднимал, заодно детскую книгу для обучения JS сделал. Кой какой код в минииграх и Мобах не работал с новой версией. Я его поправил и сделал пулл реквест на github (отдал исправления в паблик). Заодно исходники просмотрел (заняло пару часов).

Исходники все есть, при желании можно прикрутить любую библиотеку. Дело 30 мин. И не стоит, право, обсуждения.

Я бы взял в первую очередь алгоритмы топологические для ИИ Кремневого компилятора из нашего другого проекта - VLSI Electric. Они на Джава и в открытом доступе уже 18 лет.
Кроме того на них уже спроектированы реальные микросхемы. Так как этот проект финансировался Саном а теперь Ораклом.

https://savannah.gnu.org/project/member … p=electric

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