GotAI.NET
Форум: Проблемы искусственного интеллекта
Регистрация
|
Вход
Все темы
|
Новая тема
Стр.8 (14)
<<
< Пред.
|
След. >
>>
Поиск:
Автор
Тема: На: Проект Projetc-CNS
tac
Сообщений: 2601
На: Проект Projetc-CNS
Добавлено: 18 сен 11 3:13
Цитата:
Автор: daner
Что значит стоит или не стоит. мы говорили о том, что SAS может решить эту задачу, а MAS не может. Поэтому никаких стоит или не стоит здесь нет.
Послушайте, то решение что вы предложили - это не решение задачи - это пыль в глаза. Где тут хоть грамм интеллекта ? Я никогда не говорил о решениях, которые не интеллектуальны, и не относятся к сфере АИ. А вы пытаетесь выдать такое решение за решение, относящиеся к АИ.
Поэтому мы говорили о том, что АИ-методы SAS могут решить эту задачу, а АИ-методы MAS не могут. И как раз потому, что в такой постановке для MAS не возможно определить функцию награды! Перечитайте то, что я писал ранее
Цитата:
Автор: tac
А других видимых параметров полезности агенту не дано, если даже совпадет, что два двигают ящик - он не будет двигаться, и изучающий третий агент изучая, может сделать лишь один вывод - это бесполезно. И будет ЖДАТЬ, пока не наступит что-то полезное, а оно не наступит за разумное время. и это отличается от САС, когда можно централизованно опробовать ряд стратегий, а не ждать наступления благоприятного события, которого изучающий зафиксирует.
[
Ответ
][
Цитата
]
Andrey
Сообщений: 128
На: Проект Projetc-CNS
Добавлено: 18 сен 11 10:50
Цитата:
Автор: Андрей
Мы получаем робота, который полностью управляется внешними
сиюминутными
стимулами. В то время как человек удивителен и полезен именно внутренними
долгоиграющими
стимулами.
Да, рефлекторное поведение (в том числе условно-рефлекторное, выработанное) позволяет автоматизировать низкоуровневые операции. Причем, в отличие от жестко заданной модели поведения, система, основанная на рефлексах, может адаптироваться к условиям и выполняемым задачам, автоматизируя низкоуровневые операции даже в изменяемых условиях.
Очевидно, что для решения высокоуровневых (стратегических) задач стимулы должны генерироваться в высших отделах нервной системы. Вероятно, при первом возникновении такие стимулы должны работать иначе, не вызывая ориентировочного поведения. Впрочем, после нескольких повторений поведения с положительным результатом (реализация мотиваций) такие стимулы тоже могут стать сигнальными, запускающими выработанное поведение.
Цитата:
Автор: Андрей
Чтобы точнее соотнести обстановочную и пусковую афферентацию с реалиями, следует, имхо, разделить действия человека на сознательные и автоматические. Сознание строит прогноз, выявляет противоречия между прогнозом и ожиданием для поставленной задачи и запускает какой-то уже натренированный автоматизм. От действия автоматизма меняется афферентация, от этого меняется прогноз и в случае, если противоречие из прогноза исчезает, данный автоматизм связывается с данной задачей и впредь будет
использоваться сознанием
, как новый, более сложный автоматизм, для решения более сложных задач.
Скорее всего, управление поведением должно различаться по уровням. Низкий уровень - простейшие короткие последовательности действий. Уровень выше - "сборка" из таких последовательностей. И так далее.
Когда вы думаете "А не бахнуть ли мне кофейку" - запускается последовательность поведенческих цепочек, приводящая к результату - чашке горячего кофе с молоком.
Однако, попытайтесь бахнуть кофейку в чужой квартире - автоматизм не работает, рассыпаясь на несколько низкоуровневых операций, которыми высшие отделы нервной системы должны управлять непосредственно. И кофе надо найти, и ложечку, и молоко. И разобраться, как здесь печка включается. Но после нескольких дней на новом месте нервная система собирает низкоуровневые последовательности в одну операцию, автоматизируя ее.
[
Ответ
][
Цитата
]
Andrey
Сообщений: 128
На: Проект Projetc-CNS
Добавлено: 18 сен 11 11:13
Джентльмены, чего вы носитесь с этим ящиком? Не пойму проблемы вообще.
Посмотрите, как муравьи тянут кусок сыра. Полковников и менеджеров среди них не замечено, каждый муравей - самостоятельный "агент". Коммуникации почти нет, разве что подражание, запускающее нужное поведение. Алгоритм каждого такого "агента" простейший:
1. Запускает поведение вид, вкус и запах объекта. Запускать поведение может также аналогичное поведение другого агента.
2. Хватаем и тащим. В случае удачи (объект движется) - продолжаем тащить. В случае неудачи (объект не поддается) - продолжаем попытки тащить в течение времени t1.
3. Если объект не движется, при истечении периода времени t1 переходим к поведению откусывания кусочка от объекта.
4. Объект поддается - кусочек откусывается. Таскаем объект по частям. Объект не поддается - продолжаем пробовать его разгрызть в течение времени t2.
5. По истечении t2 объект запоминаем как бесполезный. В течение периода времени t3 не реагируем на объект, несмотря на его вкус, запах и несмотря на попытки других агентов что-то с ним сделать.
В результате, при наличии достаточного количества агентов, объект будет транспортирован. Попытка тащить объект первым агентом инициирует такое же поведение других агентов. Если транспортировка невозможна, объект будет разобран на части и транспортирован. Если и это невозможно, то после того, как все агенты попытаются сдвинуть или разгрызть объект в течение времени t1+t2, объект оставят в покое на время t3.
[
Ответ
][
Цитата
]
Андрей
Сообщений: 3943
На: Проект Projetc-CNS
Добавлено: 18 сен 11 12:26
Цитата:
Автор: Andrey
Очевидно, что для решения высокоуровневых (стратегических) задач стимулы должны генерироваться в высших отделах нервной системы.
Да, очевидно. Очевидно и другое. В схеме Анохина нет этого "генератора" внутренней пусковой и сигнальной "афферентации". Отчего к ней теряется всякий интерес. Всё-равно что рассматривать автомобиль без двигателя. Анохин слишком концентрируется на афферентации, пытаясь вывести внутреннее из внешнего. У человека всё наоборот - внешнее выводится из внутреннего.
Цитата:
Автор: Andrey
Впрочем, после нескольких повторений поведения с положительным результатом (реализация мотиваций) такие стимулы тоже могут стать сигнальными, запускающими выработанное поведение.
Согласен, именно об этом я и говорю, когда описываю, что автоматическое когда-то было сознательным. Только это не приближает к ответу на вопрос первостепенной важности - по какому автоматизму в схеме Анохина действует сознание? Этот самый "генератор" внутренних мотивов.
Цитата:
Автор: Andrey
Когда вы думаете "А не бахнуть ли мне кофейку" - запускается последовательность поведенческих цепочек, приводящая к результату - чашке горячего кофе с молоком.
Однако, попытайтесь бахнуть кофейку в чужой квартире - автоматизм не работает, рассыпаясь на несколько низкоуровневых операций, которыми высшие отделы нервной системы должны управлять непосредственно. И кофе надо найти, и ложечку, и молоко. И разобраться, как здесь печка включается. Но после нескольких дней на новом месте нервная система собирает низкоуровневые последовательности в одну операцию, автоматизируя ее.
Опять согласен. Хороший пример. Всё так и есть. Остаётся только замкнуть цепочку и обнаружить ответ на вопрос - как запускается сама задача "А не бахнуть ли мне кофейку"? Ответ я уже много раз приводил - эта задача стала решением другой задачи, как способ сознательного разрешения противоречия между свободным прогнозом (как это удачно обозвал Хмур) и задачным ожиданием.
Задаче "А не бахнуть ли мне кофейку" могла предшествовать, например, такая задача - "в ближайшем будущем я должен быть бодрым". Свободный прогноз говорит: "если ты ничего не предпримешь, в ближайшем будущем будешь ходить сонный". Задачное ожидание ("быть бодрым") этому прогнозу противоречит ("быть сонным"). За данным противоречием закреплено предварительно натренированное сознанием, автоматическое решение, т.е. другая задача: "бахнуть кофейку". А дальше по Вашей схеме.
Каждая задача - это решение предыдущей задачи, которое возникло как нетождество (противоречие) между свободным прогнозом и задачным ожиданием этой предыдущей задачи. Рекурсия.
[
Ответ
][
Цитата
]
daner
Сообщений: 4602
На: Проект Projetc-CNS
Добавлено: 18 сен 11 14:19
Цитата:
Автор: tac
Послушайте, то решение что вы предложили - это не решение задачи - это пыль в глаза. Где тут хоть грамм интеллекта ? Я никогда не говорил о решениях, которые не интеллектуальны, и не относятся к сфере АИ. А вы пытаетесь выдать такое решение за решение, относящиеся к АИ.
Поэтому мы говорили о том, что АИ-методы SAS могут решить эту задачу, а АИ-методы MAS не могут. И как раз потому, что в такой постановке для MAS не возможно определить функцию награды! Перечитайте то, что я писал ранее
Я ни прокакие интеллектуальные (или не ...) решения вообще не говорил (и говорить не буду, так как понятие это не определенное и размытое, а мы тут говорим о достаточно конкретных вещах). Вы говорили что в МАS эта задача не решается в принципе.
Ну хотя бы определились, что вы говорите не про MAS вообще, а только про MARL .
Что касается функций награды и все такое. Для этой задачи функцию можно определить так же как и для SAS варианта. Все что остается это скоординировать их попытки перебора (ну и возможно уменьшить их коль-во, хотя в данном случае не думаю, что получится это сделать, и в MAS варианте, и в SAS варианте).
Как скоординировать? Можно жестко, даже не прибегая к алгоритмам MARL (т.е. без построений моделей и всего-такого), например если у каждого есть закрепленный ID то агенты меняют поведение каждые
ошибка в формате URL изображения:
http://latex.codecogs.com/png.download?t^{id}
время, и таким образом перебирают все возможные варианты. Если ID нет, то тоже есть всякие такие техники. Сложность алгоритма при таком решении будет эквивалентным решению с переборами в SAS (время выполнения конечно может пострадать). Естественно для этого надо знать, что другие агенты будут вести себя определенным образом.
Если же говорить только про RL , то точно так же как у вас есть доказательства сходимости таких алгоритмов как Q-Learning для SAS есть доказательства сходимости алгоритмов для MAS при разных условиях. Если не ошибаюсь (я не помню всех условий наизусть, а лезть проверять не хочется), то алгоритм фиксишон плай подайдет для этой задачи без особых проблем. Конечно , что бы это дело работало, на модели агентов накладываются определенные обязательства. Например, предпологается, что агенты рациональные, нэш баланса достаточно для решения, а сама среда (если из нее извлечь самих агентов ) MDP, но такие же (т.е. эквивалентные ) предположения требуются и для SAS , поэтому не вижу в этом ничего особенного.
[
Ответ
][
Цитата
]
daner
Сообщений: 4602
На: Проект Projetc-CNS
Добавлено: 18 сен 11 18:58
Цитата:
Автор: Andrey
Джентльмены, чего вы носитесь с этим ящиком? Не пойму проблемы вообще.
Посмотрите, как муравьи тянут кусок сыра. Полковников и менеджеров среди них не замечено, каждый муравей - самостоятельный "агент". Коммуникации почти нет, разве что подражание, запускающее нужное поведение. Алгоритм каждого такого "агента" простейший:
1. Запускает поведение вид, вкус и запах объекта. Запускать поведение может также аналогичное поведение другого агента.
2. Хватаем и тащим. В случае удачи (объект движется) - продолжаем тащить. В случае неудачи (объект не поддается) - продолжаем попытки тащить в течение времени t1.
3. Если объект не движется, при истечении периода времени t1 переходим к поведению откусывания кусочка от объекта.
4. Объект поддается - кусочек откусывается. Таскаем объект по частям. Объект не поддается - продолжаем пробовать его разгрызть в течение времени t2.
5. По истечении t2 объект запоминаем как бесполезный. В течение периода времени t3 не реагируем на объект, несмотря на его вкус, запах и несмотря на попытки других агентов что-то с ним сделать.
В результате, при наличии достаточного количества агентов, объект будет транспортирован. Попытка тащить объект первым агентом инициирует такое же поведение других агентов. Если транспортировка невозможна, объект будет разобран на части и транспортирован. Если и это невозможно, то после того, как все агенты попытаются сдвинуть или разгрызть объект в течение времени t1+t2, объект оставят в покое на время t3.
Во-первых, муравьи кроме всего пользуются ферамонами, а это уже какая никакая коммуникация (хотя и своеобразная). Кроме этого задача у них в первоначальном виде (т.е. вектор должен быть в одну сторону) а этого они скорее всего достигают (и кстати не идеально, а +/-) так как тащат кусок в направлении муравейника (собственно здесь нет какой-то специфической задачи для MAS системы), так что каждый действует совершенно индивидуально и не факт что вся группа действует рационально (хотя в данной конкретной задачи с конкретными условиями это скорее всего так и будет). У описанного вами подхода, проблемы с рациональностью начнутся когда надо будет обходить препятствия. В общем поэтому, я про муравьев с самого начала ничего не говорил (упомянул только мельком, когда речь зашла о сложности алгоритмов и их эквивалентности).
А после tac вообще сменил задачу (довольно таки усложнив ее), так что... муравьи с их (т.е. с вашим) алгоритмом уже не подходят.
Кстати, через перетаскивание ящиков (а точнее объектов) с различными условиями, можно описать львиную долю задач МАС.
[
Ответ
][
Цитата
]
tac
Сообщений: 2601
На: Проект Projetc-CNS
Добавлено: 18 сен 11 22:00
Цитата:
Автор: daner
Кстати, через перетаскивание ящиков (а точнее объектов) с различными условиями, можно описать львиную долю задач МАС.
О! Собственно поэтому я (или даже мы с Данером) застряли на данной задаче. Особенно, после моего усложнения - она имеет важное практическое применение.
[
Ответ
][
Цитата
]
tac
Сообщений: 2601
На: Проект Projetc-CNS
Добавлено: 18 сен 11 22:04
Цитата:
Автор: Andrey
Джентльмены, чего вы носитесь с этим ящиком? Не пойму проблемы вообще.
Посмотрите, как муравьи тянут кусок сыра. Полковников и менеджеров среди них не замечено, каждый муравей - самостоятельный "агент". Коммуникации почти нет, разве что подражание, запускающее нужное поведение. Алгоритм каждого такого "агента" простейший:
Я бы вам посоветовал вначале посмотреть одну из передач Гордона:
За 2002.09.02 "Интеллект муравьев" - в ней показано, что муравьи умею считать (прибавлять и вычитать): интересные биокибернетические эксперименты
[
Ответ
][
Цитата
]
tac
Сообщений: 2601
На: Проект Projetc-CNS
Добавлено: 18 сен 11 22:07
Цитата:
Автор: daner
алгоритм фиксишон плай подайдет для этой задачи без особых проблем.
Можете дать ссылки, где о нем почитать, желательно не сухую теорию, а с элементарными разобранными примерами ?
[
Ответ
][
Цитата
]
daner
Сообщений: 4602
На: Проект Projetc-CNS
Добавлено: 18 сен 11 23:29
Цитата:
Автор: tac
Можете дать ссылки, где о нем почитать, желательно не сухую теорию, а с элементарными разобранными примерами ?
нет. такого у меня нет (к сожалению). а сам алгоритм описан в любом обзоре по Multi-Agent Reinforcement Learning.
[
Ответ
][
Цитата
]
NO.
Сообщений: 10700
На: Проект Projetc-CNS
Добавлено: 19 сен 11 7:26
Функции менеджеров и полковников у муравьем могут быть разобраны на отдельные отображения или каждый может иметь целого "царя в голове", тогда достаточно просто обозначений рабочих должностей без специальных освобожденных работников для руководства. Если и обозначений нет будет идеальный газ с законами термодинамики.
Любое поведение при наблюдении дает информацию, а информация управляет интерпретаторами. С точки зрения физики интерпретаторы не рассматриваются, там информации как таковой нет, разделение на составляющие проводится не по информационным потокам, а по любым физическим. Система рассматривается как целостная, если она выделяется из среды значит она в чем-то ограничена, это ограничение и будет единственным законом её поведения как целого.
[
Ответ
][
Цитата
]
mozgobrain
Сообщений: 35
На: Проект Projetc-CNS
Добавлено: 23 сен 11 15:11
Цитата:
Автор: tac
Если вы ставите задачу узко, то не ясно для чего столько много сенсоров, почем не хватает 2-3 ?
Я обновил первый пост. Более детализированно описал задачу. И также приведу её здесь:
Дано 24 сенсора и 16 эффекторов. Они условно поделены на 6 секций.
В двух секциях сенсоры перемешаны, что бы посмотреть, как ЦНС будет выкручиваться в таком случае.
Жук с 4 ногами:
1. сенсор расстояния до ближайшей пищи
2. сенсор угла поворота до ближайшей пищи
3. целевым сенсор голода
4. сенсор усталости
Каждая нога (их четыре - т.е. сенсоров х4) отдельная секция, состоящая из набора
5-8 сенсор верхнего угла ноги
9-12 сенсор нижнего угла ноги
13-16 сенсор левого угла ноги
17-20 сенсор правого угла ноги
21-24 сенсор касания ногой земли
итого 24 сенсора
первый эффектор горизонтальной мышцы
второй эффектор горизонтальной мышщы
первый эффектор вертикальной мышцы
второй эффектор вертикальной мышщы
итого 16 эффекторов
К каждому сенсору ЦНС пристраивает предиктор.
Задача, запрограммировать и натренировать предикторы, что-бы они делали как минимум прогноз на один момент времени (на один кадр сознания) вперед.
Каждый момент времени значения всех сенсоров и эффекторов записывается в память. Предиктор имеет доступ к памяти на произвольную глубину.
Каждый предиктор может просить ЦНС выставить эффекторы нужным ему образом.
Наверное ЦНС будет следовать просьбам одного предиктора, до тех пор пока он не "прощупает" ныжные ему для прогнозирования эффекторы.
Остальные предикторы в это время пытаются обучаться на тех значениях эффекторов, которые есть, и ждут своей очереди.
Предиктор может и должен находить зависимости от эффекторов на сенсоры: прямые зависимости, логарифмические, степенные, тригонометрические, составные и проч. Если предиктор не может найти зависимость - то хотя бы составить таблицу значение/функция.
ПОка узко задача стоит так.
Цитата:
Автор: tac
Еще не ясно, что за среда, что можно "увидеть" этими сенсорами ?
Среда очень бедная жук может увидеть сенсорами в среде только расстояние до ближайшей
пищи, и угол поворота до неё, относительно его направления движения.
Он больше интраверт )
Цитата:
Автор: tac
Да, что касается терминологии, у вас видимо
предиктор = агент
значение эффектора = действие
Нужно определить какие действия возможны для каждого эффектора
Предиктор ни в коем случае не агент. Он не может влиять на эффекторы
Нужно определить как изменение значения эффектора влияет на сенсоры
Цитата:
Автор: tac
А зачем нужно к каждому сенсору пристраивать предиктора (агента), вполне может быть достаточно иметь один центральный.
Что-бы потом было удобнее распараллеливать, т.к. сенсоров может быть много.
[
Ответ
][
Цитата
]
mozgobrain
Сообщений: 35
На: Проект Projetc-CNS
Добавлено: 23 сен 11 15:15
Цитата:
Автор: daner
.. попробуйте Баесовские Сети, они очень неплохо на самом деле работают.
Возможно их можно применить в этой задаче, но только на более высоких уровнях прогнозирования.
Цитата:
Автор: daner
Сложности у вас начнутся с вот этого момента: "
Каждый предиктор может просить ЦНС выставить эффекторы нужным ему образом.
" Здесь уже надо будет принятия решения каким-то образом реализовывать, соответственно появляется потребность в целях и все такое сопутствующее.
Да, тут надо сначала сделать что-то такое:
Алгоритм обучения предикаторов.
Сначала ЦНС не выставляет эффекторы.
Ждёт пока предикторы не начнут стабильно прогнозировать спокойное состояние. (ждёт до какого-то момента)
Затем берет случайный эффектор и изменяет его, например, на 10%.
Вообще он запоминает какие эффекторы он на сколько выставлял, чтобы перебрать их полностью с каким-то шагом.
После того как изменил эффектор на 10%, ЦНС смотрит - какие сенсоры изменились,
и соединяет эффектор и сенсор связью. Теперь предиктор при прогнозе учитывает эту связь.
Алгоритм поведения
Как только ЦНС сможет достаточно хорошо строить прогноз (или раньше)
он, теперь уже зная, как эффеторы влияют на целевой сенсор (в данном случае сенсор голода)
начинает строить деревья действий, отметая заведомо ошибочные.
Строит, прогоняя эти ветви по "виртуальному конвейеру прогнозирования",
строи прогноз в глубину на столько шагов, сколько предусмотрено планом действий.
Затем он начинает реально выпольнять ветви, которые приводят к положительному влиянию на целевой сенсор,
корректируя план по необходимости.
[
Ответ
][
Цитата
]
mozgobrain
Сообщений: 35
На: Проект Projetc-CNS
Добавлено: 23 сен 11 15:24
Цитата:
Автор: Андрей
Чем это отличается от типичного комбинаторного взрыва? Ведь это всё та же расщеплятельная вселенная Egg'а... Интеллект тем и ценен, что он может решать задачи не перебирая
всех
вариантов. Вспомните игру в шахматы.
Дерево поведения строится с не с корня а с листьев. Т.е. есть лист - "жук ест еду"
а корень дерева - текущий момент, где жук от этой еды далек.
И необхдимо как-то соединить корень с этим листом.
Но это задача планирования, а сейчас нужно разобраться с прогнозированием.
Цитата:
Автор: Андрей
Начинал когда-то писать такую программку, на днях попробую продолжить.
Было бы очень интересно узнать о конкретных решения принятых в программе.
Цитата:
Автор: Андрей
Вот этот момент не очень ясен. Предиктор предсказывает положение эффектора. И верное и неверное. Что-то иное (решатель, приниматель решений) должно активировать эффектор, тем самым оправдывая предсказание предиктора. Если предиктор будет выставлять эффекторы, то такой ИИ замкнётся в себе. имхо.
Нет, предикатор не предсказывает значение эффектора, - только сенсора.
Просто предикатор просит ЦНС выставить эффектор таким образом, что-бы проверить правильность прогноза. И ЦНС может пойти ему навстречу.
[
Ответ
][
Цитата
]
daner
Сообщений: 4602
На: Проект Projetc-CNS
Добавлено: 25 сен 11 1:50
Цитата:
Автор: mozgobrain
Алгоритм обучения предикаторов.
...........
Алгоритм поведения
...........
В том виде в котором вы это описали, я сомневаюсь что вы добьетесь желаемых результатов.
Вы слишком дробите задачу. Каждый "предсказатель" у вас оказывается в весьма убогом положении с отсутствием знаний о действиях других эфекторов. Получается для предсказания ему необходимо решать задачу несравненно более сложную, чем вариант, когда действие есть совокупность состояний всех эфекторов и реакция среды зависит только от них.
Но даже если вы объедините "предсказателей", все равно сомневаюсь, что это сработает в описанном вами виде.
Ваш целевой сенсор -- есть единственное что может повлиять на функцию награды сделав ее значение больше нуля (простите, что ввожу новый термин в вашу теорию, но так проще описать проблему), и сделает он это только на самом последнем шаге (на пути к еде). Поэтому, когда вашему жуку потребуется строить план, он может его построить только полностью, а не на несколько шагов, как вы предполагаете. Если эти несколько шагов строятся от его тек. состояния, то вы рискуете, что ваш план не доберется до еды, а значит все возможн. состояния будут равнозначными (сами понимаете грош цена такому плану). Еще хуже вариант когда шаги будут строиться от еды, тогда вы рискуете, что план не дойдет до тек. состояния, а значит жуку вообще будет не известно что делать.
Кроме всего что я написал выше, необходимо более детально рассмотреть метод обучения который вы собрались использовать. Я не совсем понял, то что вы подразумевали под построением каких-то связей между эфекторами и сенсорами. Вероятнее всего вы имели ввиду связь между значениями эфектора и сенсоров. О каком периоде времени идет речь? моментные значения (т.е. значения на эфекторах и сенсорах в одно и тоже время)?
П.С.
Если почитаете те книги ссылки на которые я вам дал, вы поймете, что после формализации вашей задачи, она окажется весьма стандартной и достаточно хорошо изученной.
Обыкновенная задача обучения с подкреплением, правда с весьма скудной (разряженной) функцией награды и достаточно большими группами действий и состояний но при этом (на сколько я понял вашу задачу) все в рамках MDP.
[
Ответ
][
Цитата
]
Стр.8 (14)
:
1
...
4
5
6
7
[8]
9
10
11
12
...
14
<<
< Пред.
|
След. >
>>
Главная
|
Материалы
|
Справочник
|
Гостевая книга
|
Форум
|
Ссылки
|
О сайте
Вопросы и замечания направляйте нам по
Copyright © 2001-2022, www.gotai.net