GotAI.NET

Форум: Проблемы искусственного интеллекта

 

Регистрация | Вход

 Все темы | Новая тема Стр.20 (27)<< < Пред. | След. > >>   Поиск:  
 Автор Тема: На: Программирование поведения робота без доступа к коду
r
Сообщений: 837
На: Программирование поведения робота без доступа к коду
Добавлено: 27 сен 16 11:35
Цитата:
Автор: r
Если разделить все что находится в коде на 2 класса, то получим контейнеры для данных и контейнеры для кода. Думаю уже понятно что я имею в виду. Контейнеры для данных это константы, переменные, структуры, свойства классов и так далее, чтобы все не перечислять. Контейнеры для кода это блоки кода вроде циклов, условий IF-ELSE, процедур/функций, методов классов.

Первый класс объектов кода я хотел бы заменить триггерами (фактами), а второй - условиями (правилами), вернее алгоритмической картой условий. Хотя от объектов первого класса я полностью не отказывался и использую их. Думаю они будут находится на нижнем (подсознательном) уровне, а наверх будут торчать только триггеры. И интеллектуальная система будет оперировать только ими. Им не нужны имена. Если в каком-то блоке системы активируется триггер, то отсутствие у него имени не помешает вызову обработчиков всех привязанных к нему условий.
Интересно, что никто из местных программистов ничего не возразил. То ли сами понимают, что есть такая проблема, но это вряд ли. То ли эту тему не читают, что было бы странно.
[Ответ][Цитата]
r
Сообщений: 837
На: Программирование поведения робота без доступа к коду
Добавлено: 27 сен 16 11:40
Цитата:
Автор: Vpolevoj
Ну и, в общем и целом, я уже придумал, как это можно сделать (сейчас я думаю, например, о том, как можно задавать списки, массивы, множества и другие неопределенные крупные образования, и чтобы программа при этом понимала, о чем идет речь).
Данная тема теперь получается в поле внимания и напрашивается к раскрытию. Какие есть идеи?
[Ответ][Цитата]
NO.
Сообщений: 10700
На: Программирование поведения робота без доступа к коду
Добавлено: 27 сен 16 12:38
Цитата:
Автор: r
Интересно, что никто из местных программистов ничего не возразил. То ли сами понимают, что есть такая проблема, но это вряд ли. То ли эту тему не читают, что было бы странно.

Всё такое было уже. Разные парадигмы программирования. Управление данными. Безымянные функции. Заимейте привычку формулировать свои мысли общепринятым языком и искать в яндексе.
[Ответ][Цитата]
r
Сообщений: 837
На: Программирование поведения робота без доступа к коду
Добавлено: 27 сен 16 13:58
Так кошка та же, или похожая?
Вижу нотки отчаяния в вашем тексте.
[Ответ][Цитата]
Vpolevoj
Сообщений: 1408
На: Программирование поведения робота без доступа к коду
Добавлено: 27 сен 16 14:58
Изменено: 27 сен 16 15:02
Цитата:
Автор: Vpolevoj
Ну и, в общем и целом, я уже придумал, как это можно сделать
Цитата:
Автор: r
Данная тема теперь получается в поле внимания и напрашивается к раскрытию.
Какие есть идеи?

Я не совсем понимаю, о чем именно ты спрашиваешь, что конкретно тебя интересует?
Если о моем подходе, то он очень простой.

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

Алгоритмы, в смысле, Условия, Циклы, и т.д. я моделирую через свой Универсальный Алгоритм (УА), и таким образом и Человек всегда знает, о чем именно он говорит, и Программа в ответ на его слова всегда создает одно и то же. А уже из этого УА можно извлечь (сделать) практически все, что угодно. Путем инициации, или наоборот, оставляя незаполненными, те или иные блоки этого УА.

А данные я моделирую пока что через переменные.
У меня в моей программе допускается инициировать четыре типа переменных: целые, вещественные, строковые и логические. Например, Человек говорит программе "создать такую-то переменную", указывает её тип и присваивает ей имя (но на самом деле все эти переменные уже потенциально созданы внутри программы, просто они активируются при его запросе и им ставится в соответствие указанное человеком имя - вот и всё).

С массивами сложнее.
Человек привык пользоваться массивами (и другими крупными блоками информации), и поэтому я думаю, что они понадобятся, так или иначе. Но резервировать заранее разнообразные массивы я не хочу (как я это сделал с переменными). Поэтому с массивами нужно сделать нечто универсальное, но чтобы они были при этом с переменным размером (мощностью). Но у меня в связи с этим возникает проблема с их хранением (обычные переменные я храню в БД), а как организовать хранение массива, если неизвестен его тип и размер. Можно, конечно, записывать его в файл, а сам этот файл преобразовывать в BLOB-поля, тогда и БД для хранения всех этих массивов будет универсальным и их обработка станет более или менее стандартной (именно этот вариант я сейчас рассматриваю в качестве рабочего). Но все равно у меня остаются трудности на уровне общения с программой, так как, чем больше используешь "универсальности", тем труднее объяснить программе, что именно от неё требуется.

Поэтому, действует своего рода негласное правило, что чем проще и конкретнее моделируемый объект, и чем больше таких объектов сделано заранее, тем проще программе сказать "сделай то или это", и она, якобы, тебя "поймет" и это "сделает". Это чем-то похоже на твои "триггеры". Когда всё, на самом деле, уже сделано заранее, просто инициируется Программой по "правильному" запросу. И выглядит все это словно программа тебя "понимает" и "делает".

Короче, для программирования робота через внешний интерфейс нужны "универсальный алгоритм" и "универсальные данные".

Универсальный Алгоритм (УА) я уже придумал.
А вот с "универсальными данными" у меня пока не все так гладко. Поэтому временно обхожусь конкретными и максимально простыми (данными).

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

У меня пока этого нет, но я хочу это со временем реализовать тоже.

А так... по мелочи... плюс, минус, умножить, разделить... логические функции... строковые... - это фигня.
[Ответ][Цитата]
victorst
Сообщений: 821
На: Программирование поведения робота без доступа к коду
Добавлено: 28 сен 16 0:51
Изменено: 28 сен 16 0:52
Это уже давненько на данном форуме упоминалось:
OSTIS (Open Semantic Technology for Intelligent Systems)
Download
[Ответ][Цитата]
r
Сообщений: 837
На: Программирование поведения робота без доступа к коду
Добавлено: 30 сен 16 12:14
Изменено: 30 сен 16 12:25
Цитата:
Автор: Vpolevoj
С массивами сложнее.
Человек привык пользоваться массивами (и другими крупными блоками информации), и поэтому я думаю, что они понадобятся, так или иначе. Но резервировать заранее разнообразные массивы я не хочу (как я это сделал с переменными). Поэтому с массивами нужно сделать нечто универсальное, но чтобы они были при этом с переменным размером (мощностью). Но у меня в связи с этим возникает проблема с их хранением (обычные переменные я храню в БД), а как организовать хранение массива, если неизвестен его тип и размер. Можно, конечно, записывать его в файл, а сам этот файл преобразовывать в BLOB-поля, тогда и БД для хранения всех этих массивов будет универсальным и их обработка станет более или менее стандартной (именно этот вариант я сейчас рассматриваю в качестве рабочего). Но все равно у меня остаются трудности на уровне общения с программой, так как, чем больше используешь "универсальности", тем труднее объяснить программе, что именно от неё требуется.
Держать массивы в БД непродуктивно, вы это и сами знаете. Но если уже так получилось (я понимаю что это сделано для упрощения) то могу посоветовать организовать список. Другими словами, каждая запись в таблице БД должна иметь ID текущей записи, ID предыдущей записи и ID следующей записи. И поле данных фиксированного размера, допустим 1000 символов. Как только программа хочет записать в ячейку с номером больше максимального, такой массив автоматически расширяется (добавляется новая запись на следующие 1000 символов). А такие таблицы делать временными, для того чтобы СУБД размещала их в оперативной памяти.

Цитата:
Автор: Vpolevoj
Поэтому, действует своего рода негласное правило, что чем проще и конкретнее моделируемый объект, и чем больше таких объектов сделано заранее, тем проще программе сказать "сделай то или это", и она, якобы, тебя "поймет" и это "сделает". Это чем-то похоже на твои "триггеры". Когда всё, на самом деле, уже сделано заранее, просто инициируется Программой по "правильному" запросу. И выглядит все это словно программа тебя "понимает" и "делает".
Часть триггеров действительно создается заранее, но хотелось бы верить, что будет сформулирован способ автоматического их создания. Так как такая машина должна иметь способность обучаться и так как на триггерах (фактах) я хотел бы реализовать модель мира для такой машины, то автоматическое их создание путем обучения просто необходимо. Без такого способа система не будет отличаться от обычного жестко детерминированного интерпретатора, коих сотни.

Я потихоньку думаю как это можно было бы сделать. Проблем тут много. Без зрения очень туго, куда не ткнись везде нужны образы, а значит нужен некий так называемый "визуальный нейроэкран" для оперирования образами. Также проблема языкового интерфейса, каким он должен быть?. Все что ясно, так это то, что он должен расширяться на основе опыта (обучения). Нужен блок внимания, чтобы через языковый интерфейс можно было управлять вниманием, направлять его в нужное русло.
[Ответ][Цитата]
TimKruz
Сообщений: 323
На: Программирование поведения робота без доступа к коду
Добавлено: 02 окт 16 5:32
Изменено: 02 окт 16 5:36
Цитата:
Интересно, что никто из местных программистов ничего не возразил. То ли сами понимают, что есть такая проблема, но это вряд ли. То ли эту тему не читают, что было бы странно.

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

А возражать нечего.
Твоя программа - тебе и решать, "триггеры" с "условиями" в ней будут или что-то другое.

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

Цитата:
Например, Человек говорит программе "создать такую-то переменную", указывает её тип и присваивает ей имя

Чем это отличается от написания кода и передаче его компилятору?
Создать целочисленную переменную по имени N и присвоить ей значение 10.

Сравни с:
Integer N = 10;

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

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

Они понадобятся не потому, что "человек привык", а потому, что использование массивов значительно ускоряет написание кода. Вместо того, чтобы объявлять 10000 переменных с именами N1, N2, N3... достаточно объявить массив N[10000]. Ну и обработка массивов значительно проще для написания и исследования программистом.

Для примера можно привести rrr3. Он недавно написал программу, в которой объявил 500 (!) переменных, и в итоге размер кода составил 4500 (!!!) строк. Что следует из этого? rrr3 - нуб, каких свет не видывал. Использование массивов обязательно, когда хочешь написать сложную программу со множеством переменных.

Так что тут не в привычке дело.

Цитата:
проблема с их хранением (обычные переменные я храню в БД), а как организовать хранение массива, если неизвестен его тип и размер

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

В PHP и других слабо типизированных ЯП такое есть - во время выполнения программы возможно создать массив любой длины, и внести в него переменные любого типа.

Цитата:
А вот с "универсальными данными" у меня пока не все так гладко.

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

Цитата:
И чтобы множества могли состоять из разнородных объектов (и программа могла бы при этом с ними работать).

На Делфи как-то так можно сделать (да, Delphi поддерживает кириллицу):
type
ТУзел = record
Данные: Pointer; // ссылка на объект
Тип: (целочисленный, вещественный, логический, строка); // тип объекта
end;
ТУзлы: array of ТУзел; // ссылка на безразмерный массив объектов
var
Узел: ТУзлы;

Дальше нужно сделать функции для работы с этими данными в зависимости от их типа.
То есть проверяем значение Узел[номер].Тип и обрабатываем Узел[номер].Данные^.
Сделать это довольно легко, но мне лень описывать это подробно.

Цитата:
И поле данных фиксированного размера, допустим 1000 символов

Можно отмечать конец поля нулевым символом (#0), а хранить ссылку на его начало.
Тогда нужно будет останавливать чтение поля из БД, когда достигаем нулевого символа.

А если БД не самопильная, а типа SQL - то там всё это из коробки есть.

Цитата:
...автоматическое их создание путем обучения просто необходимо. Без такого способа система не будет отличаться от обычного жестко детерминированного интерпретатора, коих сотни.

Хорошо, что ты это понимаешь.

Цитата:
Без зрения очень туго, куда не ткнись везде нужны образы...

Однако слепоглухонемые при правильном обучении становятся разумными, даже учёными.
"Тактильные" образы эмулировать не сложно.
[Ответ][Цитата]
r
Сообщений: 837
На: Программирование поведения робота без доступа к коду
+1
Добавлено: 02 окт 16 17:04
Заснял как расширяется функциональность путем добавления новых условий.



Сейчас исходный код модуля загружается каждый раз полностью весь. После чего перезапускается интерпретатор. Но предполагается, что условия будут добавляться через специальный интерфейс - через отдельную программу, которая будет взаимодействовать с интерпретатором через пайп-канал. То есть во время работы интерпретатора, во время исполнения в нем программы. У интерпретатора будет запрашиваться набор доступных триггеров в определенной проблемной области, на основе них будет компоноваться условие, которое будет передаваться интерпретатору.
[Ответ][Цитата]
victorst
Сообщений: 821
На: Программирование поведения робота без доступа к коду
Добавлено: 02 окт 16 23:07
Изменено: 02 окт 16 23:10
Цитата:
Автор: r
Заснял как расширяется функциональность путем добавления новых условий.

Не совсем понятно, чем показанное вами программирование, похоже на декларированное в шапке темы, и отличается от обычного кодинга.
Вот одна из очень древних попыток сделать что-то для нубов: ДРАКОН
А если перечислять еще и все ЯП для детей, то пальцев на теле не хватит.
[Ответ][Цитата]
Vpolevoj
Сообщений: 1408
На: Программирование поведения робота без доступа к коду
Добавлено: 03 окт 16 3:32
Цитата:
Автор: TimKruz
Чем это отличается от написания кода и передаче его компилятору?
Создать целочисленную переменную по имени N и присвоить ей значение 10.

Сравни с:
Integer N = 10;

Какой смысл превращать десяток символов классического кода в огромную фразу на естественном языке, если результат операции одинаковый?

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

Чем отличаются?
Ну, хотя бы тем, что классический вариант можно написать лишь единственно правильным образом, исключая возможные ошибки, а фразу на естественном языке можно составить каким угодно образом, включая любые ошибки при написании и произнесении.

Но дело даже не в этом. Дело - в разграничении полномочий.

Что самое трудное в задаче само-программирования робота?
Нет, не формализация процесса (или данных), а суметь сделать так, чтобы робот (программа) понимал бы Цель, к чему нужно стремиться в процессе написания Алгоритма, что в итоге должно получиться. Вот Человек это понимает, а робот - нет.

Поэтому и выгодно разделить их полномочия. Человек понимает, что должно получиться, но не хочет заморачиваться формальной стороной дела (писать саму программу), а роботу (программе) удобно заниматься формальными процессами, но он плохо может представлять, что в итоге должно быть. Поэтому осталось лишь наладить между ними взаимодействие (придумать удобный для обоих язык, вот как, например, тот, который привел Виктор - ДРАКОН).

Так что, "результат" вовсе не одинаковый (хотя формально он и одинаковый).

Цитата:
Автор: TimKruz
Динамическое программирование тебе в помощь. Заранее нужно определить только ссылку на область памяти, а тип и размер массива определять во время выполнения.

В PHP и других слабо типизированных ЯП такое есть - во время выполнения программы возможно создать массив любой длины, и внести в него переменные любого типа.

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

На Делфи как-то так можно сделать (да, Delphi поддерживает кириллицу):
type
ТУзел = record
Данные: Pointer; // ссылка на объект
Тип: (целочисленный, вещественный, логический, строка); // тип объекта
end;
ТУзлы: array of ТУзел; // ссылка на безразмерный массив объектов
var
Узел: ТУзлы;

Дальше нужно сделать функции для работы с этими данными в зависимости от их типа.
То есть проверяем значение Узел[номер].Тип и обрабатываем Узел[номер].Данные^.
Сделать это довольно легко, но мне лень описывать это подробно.

TimKruz, так может быть ты мне поможешь с реализацией моей Диалоговой системы?

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

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

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

Да и твоей роботессе, мне кажется, капельки социальности тоже не помешает...
[Ответ][Цитата]
TimKruz
Сообщений: 323
На: Программирование поведения робота без доступа к коду
Добавлено: 03 окт 16 15:24
Цитата:
TimKruz, так может быть ты мне поможешь с реализацией моей Диалоговой системы?

Всегда готов помочь, если имею возможность и если помощь не слишком сложная...

Но, подожди-ка, в начале этой темы ты вроде бы утверждал, что у тебя уже есть диалоговая система, которую ты покажешь тогда, когда кто-нибудь покажет свою диалоговую систему... Значит, что-то уже есть и корректно работает, тогда какая помощь может быть нужна?

Цитата:
Её суть заключается в моделировании, а точнее, в эмуляции, а еще точнее, в воспроизведении социальных отношений на основе диалога между Человеком и Программой.

Что значит "воспроизведение социальных отношений"?
Социальные отношения, насколько я понимаю - это "Вася друг Пети; Петя любит Машу; Маша сестра Даши; Даша ненавидит Васю; => Даша против отношений между Петей и Машей".
Как эти "социальные отношения" можно вытянуть из диалога и как их "воспроизводить"?

Цитата:
Воспроизведение социальных отношений - это совершенно самостоятельная задача, в рамках общей задачи по созданию ИИ.

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

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


***


Я вот придумал новую фичу для своего проекта: "шаблонизатор команд". Пример:
Обучение:
- Человек: Что там у хохлов?
- Человек: #311 хохлов
- Инфо-модуль #311: <поиск по запросу "хохлов">

Интеллект-ядро создало шаблон:
Вопрос: Что там у %1?
Ответ: #311 %1

Использование:
- Человек: Что там у москалей?
- Интеллект-ядро: #311 москалей
- Инфо-модуль #311: <поиск по запросу "москалей">

Итого получаем удобный инструмент настройки команд для интеллект-ядра МСУИИ.
[Ответ][Цитата]
Vpolevoj
Сообщений: 1408
На: Программирование поведения робота без доступа к коду
Добавлено: 04 окт 16 4:48
Изменено: 04 окт 16 4:50
Цитата:
Автор: TimKruz

Всегда готов помочь, если имею возможность и если помощь не слишком сложная...

Но, подожди-ка, в начале этой темы ты вроде бы утверждал, что у тебя уже есть диалоговая система, которую ты покажешь тогда, когда кто-нибудь покажет свою диалоговую систему... Значит, что-то уже есть и корректно работает, тогда какая помощь может быть нужна?

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

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

И ключевым в этом деле является понимание, что же такое, собственно, эти самые "социальные отношения".

Цитата:
Автор: TimKruz

Что значит "воспроизведение социальных отношений"?

Социальные отношения, насколько я понимаю - это "Вася друг Пети; Петя любит Машу; Маша сестра Даши; Даша ненавидит Васю; => Даша против отношений между Петей и Машей".

Как эти "социальные отношения" можно вытянуть из диалога и как их "воспроизводить"?


Как определяется любая система?

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

Из чего состоит любая социальная группа?

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

Но система образуется не только за счет своих элементов, но и за счет СВЯЗЕЙ, которые между этими элементами образуются.

Вот, собственно, эти СВЯЗИ и требуется воспроизвести в моей программе.

Как это сделать?

Я пока точно не знаю (да и никто не знает).

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

Вопрос в качестве. То есть, в наполнении Диалога. Что-то такое в нём должно быть, чтобы обычный разговор превращался бы в "социальные отношения", то есть, в ту самую взаимосвязь, которая и превращает обычное взаимодействие двух особей в СИСТЕМУ, свойства которой уже не сводятся к свойствам отдельных особей в неё входящих, а становящуюся чем-то большим.

Цитата:
Автор: TimKruz
Я думаю, если удастся создать робота, который может учиться с помощью наблюдения за другими роботами и людьми, то социальные отношения между этими роботами или роботом и человеком появятся сами по себе.

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

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

А мое мнение такое: если над этим не подумать, то и не возникнут, никогда не возникнут. Мы сами должны понять, что это такое - "социальные отношения" - и сделать это целенаправленно.
[Ответ][Цитата]
NO.
Сообщений: 10700
На: Программирование поведения робота без доступа к коду
Добавлено: 04 окт 16 6:54
На одних разговорах отношений не будет. Нужны материальная среда и культура.
[Ответ][Цитата]
гость
185.137.19.*
На: Программирование поведения робота без доступа к коду
Добавлено: 04 окт 16 8:16
Цитата:
Автор: Vpolevoj

Но система образуется не только за счет своих элементов, но и за счет СВЯЗЕЙ, которые между этими элементами образуются.

Вот, собственно, эти СВЯЗИ и требуется воспроизвести в моей программе.

Как это сделать?

Я пока точно не знаю (да и никто не знает).


Я знаю.
[Ответ][Цитата]
 Стр.20 (27)1  ...  16  17  18  19  [20]  21  22  23  24  ...  27<< < Пред. | След. > >>