Программирование Социальных Взаимодействий

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

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

Если брать самый «материальный» (непосредственно наблюдаемый) аспект, то человек в сети — это а) коллекция контента, созданная им на разных ресурсах.

В несколько менее материальной форме человек является б) «центром влияния» - чем-то, что по-разному влияет на появление и исчезновение чужого контента.

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

То же самое можно сказать и о сообществах и организациях.

Поэтому управление социальными взаимодействиями людей в Интернете сводится главным образом к операциям с контентом.

Производство контента всегда происходит в определенном контексте, который обеспечивают различные сервисы – их функционал и позиционирование.

Они явно или неявно задают типы создаваемых объектов контента, начиная от базового разделения на текст, фото, видео и аудио, заканчивая более детальным.

набор текста по жанру .

Обычно базовые типы явно определены в функционале, а расположение сервиса по умолчанию задает типизацию жанра.

Например, текстом может быть комментарий, роман, диссертация, стеб, стихи и т. д. Даже если ставится вопрос об абстрактных операциях, реализовать их можно только в рамках конкретного сервиса.

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

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

Какие они все? Жанровое разнообразие достаточно велико и вряд ли может быть полностью определено заранее.

Поэтому создание типа в такой системе становится отдельной операцией.

Это особенно актуально, если мы говорим не только об объектах контента.

Например, человек — это не объект контента, а его совокупность, как сказано выше.

Вообще совокупность — одна из наиболее часто встречающихся вещей в природе и обществе.

Те же сообщества, социальные сети, любые человеческие организации.

Так что стоит выделить его в отдельный тип «набор».

Тип сам по себе является набором; это объединение объектов в одно множество по какому-то общему признаку.

Обратное не всегда верно; если определенное множество уникально, оно по определению нетипично.

Те.

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

Но, вероятно, более привычно восприятию слово «тип» (класс, разновидность, род и т. д.); мы привыкли мыслить известными стандартными типами, потому что это облегчает и ускоряет общение и понимание.

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

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

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

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

Текст может быть одновременно комментарием, стебом и стихом, а также принадлежать к совокупности всех объектов (не только текстов), созданных одним автором.

Если этот автор принадлежит к определенному сообществу, этот текст будет связан с этим сообществом.

А также с направлением в искусстве, если брать шире.

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

).

В такой системе можно быстро идентифицировать конкретные наборы объектов на основе различных общих характеристик.

Или обнаружить все связи одного объекта.

Почему это необходимо? Наверное, для разных целей.

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

Для контекстной рекламы и PR. Формировать социальные связи в сообществах на основе подробно классифицированных интересов.

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

Стратегическая цель — среда для создания оригинальных или коллективных проектов.

Вы создаете набор и устанавливаете в нем правила создания контента.

Если среди элементов этого множества допускаются другие множества, можно построить очень сложные вещи.

Какие проекты.

Хотя, конечно, что такое проект – это тема отдельной статьи.

Допустим, к этому сводятся многие проекты, но не все.

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

Это подводит нас к пункту б), указанному в начале.

Человек влияет на создание контента другими.

Прямым и формальным способом, если он, например, модератор или создатель проекта.

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

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

Но активность масс сейчас больше связана с методами косвенного поощрения или неодобрения, которые мы имеем в системах голосования пользователей.

В контексте того, о чем идет речь, речь идет о формализации этих вещей.

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

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

операций будет больше четырех.

Соответственно, к этим операциям применяются полномочия модератора/администратора.

Вопрос только в том, в каком пространстве действуют эти силы.

Ответ находится внутри объекта.

Для этого объект должен иметь подходящий тип.

Конечно, это тип «набор», но с дополнительной уточняющей типизацией, например «сообщество».

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

Предоставление прав на выполнение операций — действие, независимое от самих операций; его следует рассматривать как отдельную операцию.

В котором указывается объект делегирования (лицо, наделенное правами или множество людей), объем прав (объектов), а также сами права.

В «реальной жизни» возможна и часто реализуема ситуация, когда сообщества людей (людей) делегируют другим людям (правителям) или сообществам (например, депутатам) гораздо больше полномочий, чем имеют они сами.

Но полномочия там гораздо более разнообразны, чем указанные здесь операции с контентом и доступом к таким операциям.

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

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

Как это формализовать в рамках описанной системы объектов – связей? Вы можете связать объекты денежного типа — «кошелек», «фонд», «казначейство» и так далее — с объектами-людьми и сообществами (организациями).

Которая будет содержать условные денежные единицы.

По-видимому, с ними необходимы следующие операции: 1) установление (в пределах определенного пространства - множественного объекта) курса обмена по отношению к реальным деньгам, 2) пополнение счета внутри денежного объекта, 3) обналичивание с денежного объекта , 4) перевод денег на другой объект денежного типа.

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

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

Но по сути атрибут — это неявная форма связи, и мне пока не очевидно, насколько оправдано ее введение вместо явных связей.

Похоже, что с точки зрения формализации операций ситуация с рейтингами аналогична ситуации с деньгами.

Объект или объекты типа «рейтинг», «ранг», «карма» и т.п.

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

Нам нужна возможность повышать рейтинг на определенную величину и понижать его (т.е.

нужны соответствующие операции, а также операция по делегированию прав на такие операции).

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

Такие вещи рассчитываются с помощью математических формул.

Оказывается, к рассматриваемым операциям «социопрограммирования» необходимо добавить обычные математические операции и функции.

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

Наверное, нам не обойтись без традиционных программных инструкций и конструкций типа if, if – else. Другая видимая необходимость — это операция отправки контента между объектами контента.

Было бы интересно придумать конкретный пример программного кода на таком языке, реализующего какой-нибудь простой проект. Допустим, кому-то пришла в голову идея создать проект блог-пространства, в котором посты блога будут публиковаться только после одобрения редактора.

И назначьте редакторами рейтинговых блоггеров.

Но это в другой раз.

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

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

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

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

Эта «операция невидимости» требует указания объекта/набора, который не будет видеть объекты (и, возможно, соединения), созданные другим указанным объектом-человеком (или объектом-множеством).

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

P.S. Собственно, изначально я планировал писать только об операциях социальных взаимодействий, не скатываясь в область элементов традиционного программирования.

Однако почему-то произошло именно так.

У меня еще не было времени все обдумать.

Более того, я не являюсь экспертом в разных вещах, в том числе и в программировании.

Так что можно больно удариться :) Если, конечно, кто-то успеет дочитать до конца :) Теги: #социопрограммирование #Чулан

Вместе с данным постом часто просматривают: