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


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


Звук, который мы попробуем сформировать, будет тождественен фразе: "Видел мамонта".


мамонт


Введение


Для решения поставленной задачи, рассмотрим следующее пространство:


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

В этой ситуации целесообразно следующее поведение особи при обнаружении неживого мамонта вдали от пещеры:


  • поесть,
  • оторвать кусок мяса и отнести его детским особям в пещере,
  • при необходимости вернуться к мамонту и повторить первые два действия.

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


То есть будет полезно, если особь нашедшая мамонта скажет другим особям фразу: "Видел мамонта". Если записать формально, то сформирует сигнал("Видел мамонта").


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


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


цепочка("Идти за соплеменником, который сказал, что видел мамонта")
{
    сигнал("Видел мамонта")
    -->
    действие("Иди за соплеменником до мамонта")
}

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


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


Вроде бы все необходимые обозначения приведены. Если в статье далее встретятся непонятные, с радостью объясню их в комментариях. Многие из используемых далее цепочек объясняются пищевым поисковым поведением, основывающимся на символе("Голод").


Способ


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


Построим граф формирования цепочек. Поиск будем вести по графу с двух сторон:


  • в направлении от тривиальных цепочек (то есть от самых простых, которые имеются изначально),
  • в направлении от целевой цепочки.

Направление от тривиальных цепочек


Приведем далее цепочки, упорядоченные по порядку формирования начиная с тривиальных. Тривиальными цепочками станет группа цепочек, объясняемых пищевым поисковым поведением:


1.1
цепочка("Еду можно есть")
{
    символ("Пища")
    -->
    символ("Есть пищу") // !!! полезно
}

1.2
цепочка("Когда испытываешь голод, ищи пищу и ешь её")
{
    символ("Голод")
    -->
    действие("Искать еду")
    [
        цепочка("Еду можно есть")
        ||
        действие("Передвигаться в пространстве")
    ]
}

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


1.3
цепочка("Следуй за едой, которая движется")
{
    символ("Передвигающаяся еда")
    -->
    действие("Двигайся вслед за едой")
}

Специализацией цепочки<1.1> становится следующая цепочка:


2.1
цепочка("Поедать большую добычу")
{
    символ("Большой объект из мяса")
    -->
    действие("Оторвать кусок мяса")
    действие("Проглотить кусок мяса")
}

Как специализация символа("Большой объект из мяса") появляется символ("Неживой мамонт"). Добавляется новая специализация цепочки<2.1>("Поедать большую добычу") в виде цепочки:


2.2
цепочка("Поедать неживого мамонта")
{
    символ("Неживого мамонт")
    -->
    действие("Оторвать кусок мяса")
    действие("Поедать кусок мяса")
}

Далее приведу цепочки, целиком описанные поясняющей фразой, не раскрывая их внутреннее устройство.


3.1
цепочка("Пищу, оставленную другим наевшимся организмом, можно доесть")

3.2
цепочка("Пищу, потерянную организмом, можно съесть")

3.3
цепочка("Пища, которую несет соплеменник-мама, мне-ребенку можно будет съесть.")

Специализацией цепочки<1.3>("Следуй за едой, которая движется") становится следующая цепочка:


4
цепочка("Следуй за организмом, несущим еду")
{
    символ("Еда у организма")
    -->
    действие("Следовать за организмом")
}

Далее приведена нетривиальная цепочка, описание формирования которой следует разобрать в отдельной статье:


5
цепочка("Иди в обратном направлении по следу соплеменника несущего кусок еды")
{
    символ("Соплеменник несет кусок еды оставляя след")
    -->
    действие("Идти в обратную сторону по следу")
}

Следующие цепочки формируют родительское поведение.
При этом подчеркнем, что "Пещера" — это место, где взращивается потомство (детские особи племени).


6
цепочка("Отнести еду потомству")
{
    символ("Еда далеко от пещеры")
    -->
    действие("Перенос еды в пещеру")
    действие("Кормить в пещере потомство")
}

Далее приведем специализацию цепочки("Отнести еду потомству"):


7
цепочка("Перенести неживого мамонта в пещеру-дом потомству")
{
    символ("Неживой мамонт далеко от пещеры-дома")
    -->
    действие("Перенести в пещеру по кускам")
    [
        цепочка("Разделить большое животное")
        {
            символ("Большой кусок мяса")
            -->
            действие("Оторвать маленький кусок мяса")
            действие("Отложить маленький кусок мяса")
        }
        ||
        цепочка("Перенести все маленькие куски в пещеру")
        {
            символ("Маленький кусок")
            -->
            действие("Перенести маленький кусок в пещеру")
        }
    ]
    действие("Кормить в пещере потомство")
}

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


Формируем граф в направлении от цепочек, использующих сигнал


Цепочки использования сигнала("Видел мамонта"):


20
цепочка("Иди за соплеменником, который говорит, что видел мамонта")
{
    символ("Прием сигнала", сигнал("видел мамонта"))
    -->
    действие("Следовать за передавшим сигнал")
}

8
цепочка("Иди за соплеменником, который тащит часть мамонта")
{
    символ("Соплеменник тащит часть мамонта")
    -->
    действие("Следовать за этим соплеменником")
}

9
цепочка("Иди по следу, оставляемому волочащейся частью мамонта, переносимой соплеменником")
{
    символ("Соплеменник оставляет след, таща часть мамонта")
    -->
    действие("Идти по следу в обратном направлении")
}

Цепочка<9>("Иди по следу, оставляемому волочащейся частью мамонта, переносимой соплеменником")- это специализация цепочки<5>("Иди в обратном направлении по следу соплеменника несущего кусок еды").


graph
Нарисовано в GraphViz


Поиск ситуаций, объединяющих два "соприкоснувшихся" графа


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


Для этого потребуется следующее уточнения к объектам пространства:


  • Племя — множество организмов с коммуникацией
  • Два и более взрослых организма,
  • Один и более организмов-детенышей, находящиеся в пещере-доме,

Возможная последовательность событий:


Взрослый организм(<1>):


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

Взрослый организм(<2>):


  • находясь в этот момент в пещере, видит, как организм(<1>) тащит мясо,
  • затем использует цепочку("Иди в обратном направлении по следу соплеменника, несущего еду").

В момент встречи в пещере у организма(<2>) уже сформированы цепочки необходимые для полезного действия в сложившейся ситуации. Единственным добавлением в этой ситуации становится новый символ("соплеменник принес издалека мясо мамонта") в детекторной подсистеме организма(<2>). И этот символ закрепляется полезностью найденной еды.


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


В ситуации совместного передвижения соплеменников к месту А по оставленному следу сначала используется цепочка<9>("Иди по следу оставляемому волочащейся частью мамонта, переносимой соплеменником")


Параллельно с ней формируется вторая, подкрепляемая едой цепочка:


10
Цепочка("Идем вместе с соплеменником за мясом мамонта")
{
    символ("Соплеменник принес издалека мясо мамонта")
    -->
    действие("Иду рядом с соплеменником")
    действие("Ем мясо мамонта")
}

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


Но если у организмов есть цепочка("Вернуться в важное место по запомненному маршруту"), то её использует организм(<1>), нашедший мамонта, чтобы вернуться к месту А.


А организм(<2>), получивший сигнал("видел мамонта"), начинает использовать цепочку("Идем вместе с соплеменником за мясом мамонта").


Осталось самое интересное: отделение сигнала("видел мамонта") от куска мяса. И это совсем просто.


Если в момент встречи в пещере организм(<1>), нашедший мамонта, генерирует уникальный сигнал, который специализирован от сигнала, отмечающего важное событие в процессе обучения. То этот сигнал становится для организма(<2>) сигналом("видел мамонта"). Этот сигнал закрепляется, и в дальнейшем на его основе формируются новые параллельные цепочки:


11
цепочка("Если видел мамонта перенеси в пещеру и сообщи соплеменнику, что видел мамонта")
{
    символ("Видел мамонта")
    -->
    [
        цепочка("Сообщи соплеменнику, что видел мамонта")
        {
            символ("Встреча соплеменника")
            -->
            действие("Генерация сигнала", сигнал("видел мамонта"))
        }
        цепочка("Перенести неживого мамонта в пещеру-дом потомству")
    ]
}

цепочка("Иди за соплеменником, который говорит, что видел мамонта")
{
    символ("Прием сигнала", сигнал("видел мамонта"))
    -->
    действие("Иду рядом с соплеменником")
    действие("Ем мясо мамонта")
}

Заключение


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


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


Если это Вас не затруднит, и будут обнаружены ошибки использования терминов, ошибки формулировок и стиля изложения, сообщите мне о них пожалуйста на Issues (bitbucket.org). Обязуюсь их исправлять по наличию времени и сил.


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


С уважением.


Ссылки



Отзывы


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


Сейчас (в ожидании ваших комментариев) пребываю в состоянии "невесомости" и совсем не знаю в какую сторону оттолкнуться. Заранее спасибо.


С уважением.

Комментарии (4)


  1. Skigh
    05.04.2019 13:50
    +1

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


    1. ai_borisov Автор
      07.04.2019 08:00

      Согласен. В процессе написания статьи в голове держал множество реализаций этого процесса. Муравьи были 3-ми в списке.

      Спасибо за отзыв.


  1. nad_oby
    05.04.2019 22:24

    На мой взгляд для описанной системы введение определения «символ» избыточно.
    Достаточно было только действий.
    Символы могут потребоваться если будет использоваться «отложенная память» например.
    Других вариантов пока не придумал.


    1. ai_borisov Автор
      07.04.2019 08:04

      Согласен с Вами. Для статьи введение символа не требовалось. Этот термин требуется для теоретической книги, которая пишется параллельно с практическими статьями.

      В этой книге, а особенно в следующей её главе без этого термина не обойтись.

      С уважением. Спасибо за отзыв.