Форум программистов, компьютерный форум, киберфорум
Искусственный интеллект
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.83/12: Рейтинг темы: голосов - 12, средняя оценка - 4.83
-28 / 5 / 0
Регистрация: 26.02.2015
Сообщений: 273
1

Сеть линейных уравнений

20.12.2018, 21:01. Показов 2389. Ответов 27
Метки нет (Все метки)

На входе мы имеем Ai, Bi, Ci; им заданы выходные значения Vi.
Допустим i = 1000. Строим 1000/3 решаемых линейных уравнений. Получили 333 персептрона. Теперь можно строить второй уровень:
На входе https://www.cyberforum.ru/cgi-bin/latex.cgi?{V}^{j}i, полученные подачей на каждый персептрон Ai, Bi, Ci, на выходе должны быть Vi.
Строим три больших линейных уравнения, для 3 самплов по 333 значений (J).
В итоге мы получили прозрачную нейронную сеть, максимально эффективную и модернизируемую. Осталось только (например) усреднить три значения на верхнем уровне и получить выход всей сети.

Естественно размер первоначального входа может быть и больше трех.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.12.2018, 21:01
Ответы с готовыми решениями:

Составить программу решения уравнений и систем линейных и нелинейных уравнений
Здравствуйте, не получается выполнить задание (Составить макросы или программы решения уравнений и...

система линейных уравнений
система линейных уравнений AX=B, A3X=B и вычислить значение квадратичной формы z= YTATA2Y, где ....

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

система линейных уравнений
необходимо решить систему линейных уравнений: 3х1+4х2+2х3=8 2х1-х2-3х3=-4 х1+5х2+х3=0 Метод...

27
1077 / 987 / 146
Регистрация: 19.02.2010
Сообщений: 3,027
20.12.2018, 23:23 2
Обычный способ решения СЛАУ будет быстрее, да и результат даст гораздо более прозрачный (всего 3 коэффициента в ЕДИНСТВЕННОМ уравнении, ну или 4 - если неоднородное слагаемое добавить). От числа входов он тоже не зависит. А по производительности inference (т.е. работы в "боевом режиме") - будет в i раз быстрее (т.е. на порядки).

Ну и к персептронам ничего из сказанного Вами никакого отношения не имеет.
0
-28 / 5 / 0
Регистрация: 26.02.2015
Сообщений: 273
21.12.2018, 00:02  [ТС] 3
Наверное я сухо написал, просто это давно для меня само собой разумеется, хотя и не реализовано.
Цитата Сообщение от VTsaregorodtsev Посмотреть сообщение
Ну и к персептронам ничего из сказанного Вами никакого отношения не имеет
Персептрон это просто система линейных уравнений. Неизвестное есть вес. Собственно в этом ключ к пониманию этой сети.
Цитата Сообщение от VTsaregorodtsev Посмотреть сообщение
Обычный способ решения СЛАУ будет быстрее
Линейные уравнения решаются обычно. Суть в том что мы получаем веса этих самых персептронов и можем подавать на вход ранее неизвестный сампл. То есть сеть ведет себя подобно нейронной, но при этом обучается мгновенно, легко достраивается, и думаю более адекватно реагирует (в связи с тем, что вся обучающая выборка точно и однозначно определяет веса).

Добавлено через 28 минут
1000 линейных уравнений нельзя решить в лоб, нужно разбивать по 3 ( в данном случае) и образовать 333 системы линейных уравнений (одно линейное уравнение пока можно отбросить, это просто неучтенные данные).
Я не силен в математике, но как вы найдете в Аi*w1 + Bi*w2+Ci*w3 = Vi, при известных Аi, Bi, Ci, Vi, i = 1...1000, те самые всего лишь 3 веса w1, w2, w3?
0
1077 / 987 / 146
Регистрация: 19.02.2010
Сообщений: 3,027
21.12.2018, 01:25 4
Цитата Сообщение от osvald Посмотреть сообщение
1000 линейных уравнений нельзя решить в лоб
Умоляю, не говорите цитированных слов никому, минимально знакомому с множественной линейной регрессией из классической статистики. Ибо засмеют.

Цитата Сообщение от osvald Посмотреть сообщение
Я не силен в математике, но как вы найдете в Аi*w1 + Bi*w2+Ci*w3 = Vi, при известных Аi, Bi, Ci, Vi, i = 1...1000, те самые всего лишь 3 веса w1, w2, w3?
https://ru.wikipedia.org/wiki/Регрессионный_анализ
Там как раз нужный пример разобран. Вернее, показано, что решаться будет система, размер которой зависит только лишь от числа переменных. А от числа первоначальных уравнений зависит лишь трудоёмкость вычисления элементов матрицы и вектора для решаемой системы.
1
-28 / 5 / 0
Регистрация: 26.02.2015
Сообщений: 273
21.12.2018, 05:10  [ТС] 5
Вы понимаете, что утверждаете, что строить нейронные сети нет необходимости?
Цитата Сообщение от VTsaregorodtsev Посмотреть сообщение
https://ru.wikipedia.org/wiki/Регрессионный_анализ
Спасибо за ссылку, постараюсь изучить тему. Но в общем случае точного решения нет, и вот тут нужно получить максимально приближенные результаты, данные могут противоречить друг другу, система почти всегда просто не будет иметь точного решения.

Добавлено через 58 минут
Если же вы говорите о неточном решении, то:
1) Если нельзя управлять разбросом решения, то берем первые, например, 100 самплов выборки и решаем их, затем решаем первые 120 самплов и так далее до 1000. После этого подключаем выходы решений к персептрону.
2)Если разброс можно задать, то решаем столько сколько нужно всю выборку с увеличивающимся разбросом, а потом просто суммируем выходы с убывающими весами.
В обоих случаях мы получим аналог непереобученной нейронной сети.
0
450 / 351 / 46
Регистрация: 20.09.2014
Сообщений: 2,174
21.12.2018, 05:56 6
Решаемая проблема не ясна. Задача поставлена, но в ней не отражена конечная цель исследования.

Цитата Сообщение от osvald Посмотреть сообщение
Допустим i = 1000.
Повысьте уровень своих математических выкладок. Обычно i - это счетчик пробегающий от 1 до n. Соответственно, когда вы пишете "i = 1000", то это следует понимать, что вы рассматриваете 1000-ю итерацию или элемент.

Потом вы A, B, C называете входами, затем они вдруг становятся персептронами, у которых то ли общий выход, то ли разный, но совпадающий по значению.

Ничего непонятно, короче.
0
-28 / 5 / 0
Регистрация: 26.02.2015
Сообщений: 273
21.12.2018, 07:01  [ТС] 7
Цитата Сообщение от Mikhaylo Посмотреть сообщение
Обычно i - это счетчик пробегающий от 1 до n
Цитата Сообщение от osvald Посмотреть сообщение
Аi*w1 + Bi*w2+Ci*w3 = Vi, при известных Аi, Bi, Ci, Vi, i = 1...1000
Здесь я уточнил это.
Цитата Сообщение от Mikhaylo Посмотреть сообщение
вы A, B, C называете входами, затем они вдруг становятся персептронами,
Система линейных уравнений есть персептрон.
Цитата Сообщение от Mikhaylo Посмотреть сообщение
у которых то ли общий выход, то ли разный, но совпадающий по значению
Входы Аi, Bi, Ci образуют персептроны обучаемые на Vi и эти персептроны дают выходы https://www.cyberforum.ru/cgi-bin/latex.cgi?{V}^{j}i, j=1...333, которые в свою очередь образую три персептрона (также решаемые на Vi) второго уроня сети, с этих то персптронов и усредняется выход сети
Цитата Сообщение от Mikhaylo Посмотреть сообщение
Задача поставлена, но в ней не отражена конечная цель исследования.
Цель в том чтобы найти cумму Аn+1*https://www.cyberforum.ru/cgi-bin/latex.cgi?\sumw1 + Bn+1*https://www.cyberforum.ru/cgi-bin/latex.cgi?\sumw2 + Cn+1*https://www.cyberforum.ru/cgi-bin/latex.cgi?\sumw3 зная только Аi, Bi, Ci, Vi, i = 1...n, то есть найти веса сети (или неизвестные линейных уравнений)

Добавлено через 22 минуты
Впрочем наверное это уже обсуждать неактуально, если 1000 линейных уравнений можно решить напрямую.
0
1077 / 987 / 146
Регистрация: 19.02.2010
Сообщений: 3,027
21.12.2018, 15:21 8
Цитата Сообщение от osvald Посмотреть сообщение
Вы понимаете, что утверждаете, что строить нейронные сети нет необходимости?
А где у Вас тут нейросетки? Я их в упор не вижу. Я вобще не вижу такого, что вышло бы за рамки давно решённых задач классической статистики (ну ладно, классической вычислительной статистики - т.е. с эффективными способами решения задач на компьютере, а не только в абстрактной теории).

Цитата Сообщение от osvald Посмотреть сообщение
Если нельзя управлять разбросом решения
Можно управлять. В статистике для задачи регрессии много чего сделано.
Например - см на робастные методы (там снижается или исключается влияние отдельных выбросов (шума, очепяток,..) в зависимых и независимых переменных на процедуру нахождения значений весов или на результат работы процедуры нахождения весов).

Цитата Сообщение от osvald Посмотреть сообщение
Система линейных уравнений есть персептрон.
Нет, не есть.
0
-28 / 5 / 0
Регистрация: 26.02.2015
Сообщений: 273
27.04.2019, 08:34  [ТС] 9
Цитата Сообщение от osvald Посмотреть сообщение
в общем случае точного решения нет, и вот тут нужно получить максимально приближенные результаты, данные могут противоречить друг другу, система почти всегда просто не будет иметь точного решения.
Очевидно подаваемые данные избыточны и\или недостаточны.
Теперь вопрос в том как обрабатывать исходные данные чтобы решение было точным. В идеале система сама должна выяснять какая информация ведет к цели (указанному решению). С другой стороны такая сеть скорее всего будет "переобученной", то есть слабочувствительна к новым ситуациям.
В итоге мы получим точное соответствие причин и следствий. Индуктивная сеть будет точно определять какими причинами были вызваны те или иные следствия.
0
450 / 351 / 46
Регистрация: 20.09.2014
Сообщений: 2,174
27.04.2019, 11:07 10
Избыточная система уравнений:
2.00*x + 3.00*y = 0.50
2.01*x + 2.99*y = 0.49
1.00*x + 1.00*y = 1.00

Найдите точное решение хоть индуктивным методом, хоть дедуктивным.
0
45 / 6 / 1
Регистрация: 20.08.2012
Сообщений: 197
22.05.2019, 14:57 11
osvald, Переопределенные системы
Кликните здесь для просмотра всего текста
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function X = pere_slau(M)
% решение переопределенной
% системы уравнений
% A1*x + B1*y = C1    M = [A1 B1 -C1;
% A2*x + B2*y = C2         A2 B2 -C2;
% A3*x + B3*y = C3         A3 B3 -C3;
% A4*x + B4*y = C4         A4 B4 -C4];
[~, c] = size(M);
A = M(:,1:c-1);
B = M(:,c);
C = A'*A;
D = A'*B;
X = C\D;
end
0
-28 / 5 / 0
Регистрация: 26.02.2015
Сообщений: 273
18.11.2019, 19:51  [ТС] 12
Итак есть наборы данных, им ставится в соответствие уникальные числа (если одному набору ставится в соответствие два разных числа, то данные не полностью описывают ситуацию и число параметров системы нужно расширить). Разбиваем наборы данных на решаемые системы линейных уравнений. Получаем n систем линейных уравнений, находим неизвестные являющиеся весами нейрона. Получется n нейронов, пронумеровываем и их выходы образуют набор данных второго уровня. То есть мы преобразовываем исходные данные в данные второго уровня. И вот тут по идее противоречия должны уменьшиться, то есть решить такую систему уравнений можно точнее чем изначальную. Так повторять пока противоречия не исчезнут вовсе.
В итоге должна получиться легко обучаемая сеть дающие точные решения, насколько она будет переобучена другой вопрос, но думаю логика задания соответствия наборам данных нужных чисел будет выявлена.
0
1077 / 987 / 146
Регистрация: 19.02.2010
Сообщений: 3,027
18.11.2019, 21:05 13
Цитата Сообщение от osvald Посмотреть сообщение
если одному набору ставится в соответствие два разных числа, то данные не полностью описывают ситуацию и число параметров системы нужно расширить
Методу наименьших квадратов (классическому способу решения задач линейной регресии) наличие противоречий в данных (векторов с одинаковыми значениями независимых признаков и разными значениями ответов для них) никогда не мешало.
Аналогично не мешает наличие конфликтов в данных и байесовскому классификатору (вспоминайте в учебниках по статистике картинки с перекрывающимися законами распределения двух классов).
Нейросеткам (правильно сконструированным) противоречия в обучающих данных не мешают тоже.
Т.е. Вы придумываете себе искусственные трудности, а затем пытаетесь их героически преодолеть.


Цитата Сообщение от osvald Посмотреть сообщение
Получаем n систем линейных уравнений, находим неизвестные являющиеся весами нейрона. Получется n нейронов, пронумеровываем и их выходы образуют набор данных второго уровня. То есть мы преобразовываем исходные данные в данные второго уровня. И вот тут по идее противоречия должны уменьшиться, то есть решить такую систему уравнений можно точнее чем изначальную. Так повторять пока противоречия не исчезнут вовсе.
Линейная комбинация линейных комбинаций является линейной комбинацией. Независимо от числа "уровней" - т.е. третий, четвёртый и т.д. уровни (слои взвешивающих сумматоров) тоже ничего качественно не добавят и не изменят.

Но хочется Вас потроллить и попросить от Вас математически строгое доказательство - что Ваш вариант будет давать решение (на выборке данных) точнее, чем получаемое при помощи МНК, и за меньшее число вычислительных операций. Ждём-с
1
-28 / 5 / 0
Регистрация: 26.02.2015
Сообщений: 273
19.11.2019, 01:07  [ТС] 14
Цитата Сообщение от VTsaregorodtsev Посмотреть сообщение
Линейная комбинация линейных комбинаций является линейной комбинацией.
Да, возможно, мне трудно сейчас это провернуть в голове, надо щупать и убеждаться на собственном опыте. Вы же можете использовать нелинейную функцию между уровнями, как это и делают классические нейронные сети, наверное я ошибаюсь, но мне она кажется лишней.
Цитата Сообщение от VTsaregorodtsev Посмотреть сообщение
Но хочется Вас потроллить и попросить от Вас математически строгое доказательство
Я написал здесь для того чтобы эта идея не мучила меня, но всё же я планирую написать код (раз никто больше не хочет) чтобы вы убедились, что нейрон - система линейных уравнений. МНК практически не имеет отношения к нейронным сетям, это элементарная линейная зависимость, для нелинейных зависимостей она мало применима.
0
-28 / 5 / 0
Регистрация: 26.02.2015
Сообщений: 273
19.11.2019, 01:53  [ТС] 15
Немного мыслей вслух, просто размышляю )
Комбинация линий 1,2,3 может выглядеть и так как изображено на первом рисунке, каждый слой дает одну линию, видимо при добавлении нелинейной функции между слоями углы сглаживаются и получается кривая, но это несущественно.
Аппроксимировать кривую прямой очень грубо.
0
Миниатюры
Сеть линейных уравнений   Сеть линейных уравнений  
301 / 268 / 49
Регистрация: 09.01.2018
Сообщений: 920
19.11.2019, 02:44 16
что нейрон - система линейных уравнений. МНК практически не имеет отношения к нейронным сетям, это элементарная линейная зависимость,
Наверное, я чего-то не понимаю.
Есть переопределенная система уравнений. Ее надо решить исходя из минимизации некоторой функции потерь.
МНК - это метод (алгоритм) "лобового", строго математического решения указанной задачи. И уж точно МНК (метод!!!) не может быть "зависимостью".
Нейронная сеть - это другой метод решения той-же задачи, используя градиентный спуск и производные от него.
Поэтому говорить, что "нейрон (очевидно, нейросеть?) - это система уравнений" несколько странно, так как нейросеть - это метод подбора коэффициентов системы уравнений.
В идеале - решение полученное методом МНК и методом, который по недоразумению называется "нейросеть" должны совпасть, ну или дать очень близкие результаты.
0
-28 / 5 / 0
Регистрация: 26.02.2015
Сообщений: 273
19.11.2019, 10:19  [ТС] 17
Цитата Сообщение от Ilya Geller Посмотреть сообщение
Какое ЭТО всё имеет отношение к ИИ?
Странный вопрос учитывая что обычно на базе нейронной сети пытаются сделать ИИ.
Цитата Сообщение от passant Посмотреть сообщение
Наверное, я чего-то не понимаю.
Цитата Сообщение от passant Посмотреть сообщение
МНК - это метод (алгоритм) "лобового", строго математического решения
По правде говоря я не знаю как вы решаете эту задачу с помощью МНК. Я распишу своё видение:

Пусть {ai, bi, ci} ставится в соответствие ki, i = 1...n. Нужно зная aj, bj, cj найти kj, j = n+1.
Обученный нейрон (персептрон с одним нейроном) может "решить" эту задачу, тогда
aj*w1 + bj*w2 + cj*w3 ~ kj
Система линейных уравнений выглядит так
a1*х1 + b1*х2 + c1*х3 = k1
...
an*х1 + bn*х2 + cn*х3 = kn
Ее решением будет определение неизветyных x1,x2,x3. Если после их определения найти aj*х1 + bj*х2 + cj*х3, nj то мы фактически получим выход из нейрона, веса которого найдены строго математическим и главное быстрым способом.

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

Если мы определяем весы с некоторой ошибкой, например путем неточного решения системы нерешаемых точно линейных уравнений, то мы получаем не полное использование исходных данных. Например вместо того чтобы строить сеть мы пытаемся минимизовать ошибку лишь на одном нейроне, понятно что ответ будет слабый.
0
1077 / 987 / 146
Регистрация: 19.02.2010
Сообщений: 3,027
19.11.2019, 12:58 18
Цитата Сообщение от osvald Посмотреть сообщение
Для меня важно чтобы веса нейронов в сети были определены точно, для этого я предлагаю разбивать данные на решаемые системы линейных уравнений
Смотрите ссылку, которую я дал выше в посте #4.
Ну ГДЕ, ГДЕ там могут возникать проблемы от наличия конфликтов в данных? Там же показано в деталях, что размеры СЛАУ не будут зависеть от числа строк в выборке данных - а только от числа подлежащих нахождению коэффициентов. Аналогично и нет проблемы переопределённости исходной системы уравнений - ибо та СЛАУ, которая будет решаться, переопределённой не будет.
Просто поймите - у Вас "наивный подход к решению исходного набора уравнений, и Вы ничего не знаете (при использовании тех или иных методов решения СЛАУ) о том, какие ошибки/погрешности после решения исходного набора уравнений при этом наивном подходе у Вас возникнут (вернее, Вы не знаете, будет ли минимизирована некоторая функция потерь, описывающая распределение ошибок аппроксимации). Но как только явно вводится некоторая функция потерь (метод наименьших квадратов - это не только способ, но и соответствующая функция потерь) - схема решения изменится, и надуманные Вами проблемы уйдут.
Тем более, что вместо МНК можно взять иные критерии. Например, знаковый - который при нахождении решения уравнивает число ошибок "в плюс" и в минус" (не суммы ошибок, а числа ошибок с разными знаками). Очевидно же, что такого не достичь лобовым решением Вашей исходной переопределённой СЛАУ - а только лишь построением метода (схемы решения) непосредственно с привязкой к этому знакомому критерию.

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

Цитата Сообщение от osvald Посмотреть сообщение
Например вместо того чтобы строить сеть мы пытаемся минимизовать ошибку лишь на одном нейроне, понятно что ответ будет слабый.
Вот-вот. Почему-то Вы тут понимаете, что систему надо адаптировать целиком, а выше нелинейный нейрон строили по частям (сначала обучали линейный взвешивающий сумматор, а затем пришивали к нему нелинейность - и пофиг при этом, как нелинейное преобразование изменит=утащит ошибки аппроксимации вдаль от ранее найденного состояния минимума функции потерь)
0
-28 / 5 / 0
Регистрация: 26.02.2015
Сообщений: 273
02.02.2021, 07:40  [ТС] 19
Итак наконец решил реализовать идею на данных форекса. Систему линейных уравнений решал наипростейшим способом, так что иногда алгоритм отказывал в решении решаемой системы линейных уравнений (деление на ноль), тогда я просто перетасовывал линейные уравнения в данных и получал решение всех систем. Число систем зависит от выборки. Например у меня данные состоящие из 50000 значений, нужно узнать, например, следущее значение в последовательности выборки, понятно чем больше выборка тем точнее результат, однако передо мной стояла задача построения многоуровневой сети и если сделать выборку первого слоя большой, то "выборка" второго слоя получится маленькой, а третьего снова большой. Поэксперементировав я пришел к выводу, что выборка должна быть sqrt(n), где n=50000, объём данных. Тогда выборка на всех уровнях будет одной. Повторяю как по идее должны идти данные при обучении: на первый слой сети подается выборка из данных и число которое сеть должна выдать на эту выборку, на вход последующих слоёв идут выходы "нейронов" предыдущего слоя плюс обучаемое значение из данных (то же число, что и на первом слое). Таким образом от слоя к слою должно было бы идти уточнение результата. Однако. Улучшение происходит только на втором слое, а дальше ошибка больше не уменьшается. Для однородных данных форекса лучше не тасовать выборки, а решать их прямо как они идут, хотя иногда выгоднее перетасовать, но тогда нужно искать наиболее удачные комбинации выборок. Это повышает точность. Выход сети системы линейных уравнений я считал как среднее от выхода "нейронов" последнего слоя. Между слоями не использовал функцию активации, поскольку она искажать входной сигнал, хотел решить всё точно, но похоже придется забраковывать "ложные" выбоки данных, чтобы получить хорошую точность для остальных. Как это сделать я не знаю. Пробовал только вместо активационной нелинейной функции (её не тестировал) использовать сглаживание выходов нейронов в виде среднего от суммы выхода нейрона и среднего всех нейронов слоя. Точность прогноза ухудшилась. В итоге я просто использовал одноуровневую сеть и после аназиза прогнозов статистическими методами выхожу из маржи брокера (имею небольшой плюс).
0
450 / 351 / 46
Регистрация: 20.09.2014
Сообщений: 2,174
03.02.2021, 21:35 20
Цитата Сообщение от osvald Посмотреть сообщение
Между слоями не использовал функцию активации, поскольку она искажать входной сигнал
Так подай вход напрямую в выход, ёклмн! Зачем тебе вообще искажения?
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.02.2021, 21:35

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Система линейных уравнений
Можно ли в маткаде решить такую систему уравнений? Пробовал через Given, Find и выдавало, что...

Система линейных уравнений
Система линейных уравнений решить аналитическим и графическим способами:

Система линейных уравнений
Учитель сказал написать для x,c,z отдельный writeln , т.е. чтобы значение вводились отдельно а не...

Система линейных уравнений
Даны вещественные числа a, b, c, d, e, f. Решите систему линейных уравнений Формат входных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.