http://dreams.niits.ru/pic/top3.jpg

Исходники программ
Скачать

https://yadi.sk/d/Kdd5n7Qc3QVE7Z

Перечень программ

1. Генерация простых чисел многочленом
2. Моделирование поля ИКМ
3. Эджворт
4. Нейрон
5. Нейрон 2
6. ROST
7. Рынок
8. Альтруизм
9. Ипотека
10. Карта
11. Наступление
12. Спартакиада
13. Программа cluchi
14. Программа «Анализ «Скатарти Улама» блоками
15. Программа  «Генерирование  простых чисел многочленами»
16. Программа «Мысли»

Сайт СНЫ ЛОНИИС

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
1. Генерация простых чисел многочленом
Дан трехчлен вида a * x * x + b * x + c = t

В ходе вычислений составляется матрица значений t при изменении величин a , b , c соответственно от 1 до r 1, r 2, r 3 .

Определяется: t простое ли число?
При заданном X имеется a * b * c величин t . Далее вычисляется массив h [1.. r 3, 1.. r 4].

Элемент массива h [ i ][ j ] определяется следующим образом.

Если t простое число то, величина элемента h [ i ][ j ] увеличивается на 1.

X – изменяется от 1 до r 4. При фиксированном x определяет с я матрица n[1.. r 4].

Элемент n[ i ] равен числу простых чисел t для всех сочетаний a , b , c .
Вычисляется таблица (массив).
Нулевой столбец таблицы соответствует величинам c. Столбец №1 соответствует сумме значений строки с нулевым значением. То есть ни одного простого числа во всем диапазоне изменения x.
Для величин с, являющихся простыми числами, значения элементов существенно меньше, чем для величин, соответствующих составным числам.

Нулевая строка таблицы соответствует величинам b . Строка №1 соответствует сумме значений столбцов с нулевым значением. То есть ни одного простого числа во всем диапазоне изменения x.
Для величин b , являющихся простыми числами, значения элементов существенно меньше, чем для величин, соответствующих составным числам.

Для расчётов должен быть установлен Дельфи 7.
скачать программу и исходники
дальше
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\

2. Моделирование поля ИКМ

1. История моделирования в ЛОНИИС

В теории массового облуживания используются два метода: аналитический и моделирование.
Первая работа по моделированию в ЛОНИИС опубликована в 1959 г .:
СБОРНИК ТРУДОВ НИИТС, № 5, «Б. С. Лившиц. М. Д. Владимирский. Генератор искусственной телефонной нагрузки». Описано электромеханическое устройство для создания потока вызовов.
В дальнейшем с появлением ЭВМ генераторы телефонной нагрузки создавались на основе программных средств.
Тридцать лет назад я написал статью – «СРАВНЕНИЕ ТРЕХ АЛГОРИТМОВ ИСКАНИЯ ВО ВРЕМЕННОМ ПОЛЕ ИКМ» - Приложение 1.
Данная программа была разработана на языке АЛГОЛ-60. Расчёты проводились на ЭВМ Минск -220, транслятор ТА-1М.

Полиграфические возможности того времени не позволили привести саму программу. Кроме того, имелись ограничения по машинному времени.

Примечание:
В библиотеке ФГУП ЛОНИИС сохранилось много книг по АЛГОЛ-60. Например,
1) С. А. АБРАМОВ, И. Н. АНТИПОВ « ОСНОВЫ ПРОГРАММИРОВАНИЯ НА АЛГОЛЕ», 1982г.
ИЗДАТЕЛЬСТВО НАУКА-
2) А. И. ХАЛИЛОВ, А. А. ЮЩЕНКО «АЛГОЛ-60». 1979г.

Сохранившуюся бумажную копию программу нельзя один к одному реанимировать. Не создано трансляторов: ни с АЛГОЛ - 60 в коды для WINDOWS (фактически не реализуемо), ни транслятора АЛГОЛ-60 в ДЕЛЬФИ (реально).

2. Программа на ДЕЛЬФИ 7

Как стимул к продолжению традиций ЛОНИИС по исследованию по теории моделирования я сделал римейк старой программы в ДЕЛЬФИ 7.
Запрограммирован алгоритм А по вышеупомянутой статье:
1) Дано коммутационное поле одностороннего действия с входящими и исходящими сл.
2) Входящие СЛ сканируются. Если СЛ занята, с заданной вероятностью освобождается.
Если СЛ свободна, с заданной вероятностью проводится попытка установить соединение.
3) С заданными вероятностям определяется одно из 8 направлений.
4) В начале делается попытка установить соединение через синхронное поле.
Для установления соединения сканируются исходящие сл в выбранном направлении. Для свободных исходящих СЛ с таким же номером КИ (канального интервала), что и входящая, проверяется возможность установить соединение. Критерий – наличие незанятых промпутей.
При установлении соединения число промпутей уменьшается на 1, при освобождении увеличивается на 1.
5) Если таким способом установить соединение невозможно, сканируются в этом направлении исходящие СЛ. Вне зависимости от номера КИ делается попытка установить соединение через речевое ЗУ. Критерий – свободная емкость ЗУ.
При установлении соединения емкость речевого ЗУ уменьшается на 1, при освобождении увеличивается на 1.

К посту прилагается каталог с файлами программы моделирования - SW PKW . Для запуска необходимо иметь на компьютере программу Дельфи 7 или более высокого выпуска.

Все исходные данные вводятся непосредственно в тексте программы. Результаты выводятся на форму.

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

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

Примеры счёта приведены в Приложении 2.

Благодарен за выявленные неточности в программе.

Приложение 1.
СБОРНИК
НАУЧНЫХ ТРУДОВ

Выпуск 3

ЛЕНИНГРАД
«ЭНЕРГИЯ»
Ленинградское отделение
1978
УДК 621.395.345
А. Б. Мурдасов

СРАВНЕНИЕ ТРЕХ АЛГОРИТМОВ ИСКАНИЯ ВО ВРЕМЕННОМ ПОЛЕ ИКМ

Структура временного поля. Сравниваются три алгоритма искания в поле ИКМ. Исследовалось простейшее поле ИКМ из двух коммутаторов. Такое поле при включении ИКМ-30 подходит для узла емкостью до 600—960 входов (при включении ИКМ-120 целесообразная емкость такого поля достигает нескольких тысяч входов). Очевидное преимущество полей ИКМ с простой структурой — это упрощение алгоритмов искания и, следовательно, снижение стоимости управляющего устройства.
Поле ИКМ делится на синхронное и асинхронное поля.
Вначале делается попытка установить соединение через синхронное поле между синфазными каналами. При этом не требуется использования временных задержек.
Если от входящего канала a поступил вызов, а в требуемом направлении все каналы, синфазные с каналом a . заняты или отсутствуют свободные промежуточные пути, то делается попытка установить соединение через асинхронное поле.
Принято, что число промежуточных путей к речевому ЗУ достаточно велико и можно пренебречь потерями из-за нехватки промежуточных путей к «речевому» ЗУ или временным задержкам.
Алгоритмы искания. Алгоритм поиска синфазного канала в синхронном ноле не оказывает влияния на величину потерь. Однако при установлении соединений в асинхронном поле через речевое ЗУ на величину потерь существенное влияние оказывает алгоритм поиска незанятого канала. Исследуются следующие алгоритмы поиска в асинхронном поле.
Алгоритм А. При установлении соединения через речевое ЗУ поочередно опробуются все соединительные линии СЛ в требуемом направлении, и занимается первая незанятая СЛ. Проба СЛ проводится в порядке возрастания номеров СЛ.
Алгоритм Б. Сходен с алгоритмом А, но порядок пробы СЛ периодически меняется. При нечетных вызовах (Проба начинается с СЛ, имеющей меньший номер, а при четных вызовах с СЛ, имеющей больший номер. Например, СЛ в направлении пронумерованы с 1 по 60. При нечетном вызове порядок пробы 1, 2, 3, . . ., 59, 60, а четном — 60, 59, 58, . . . , 2, 1.
Алгоритм В. Подсчитывается для каждого временного интервала число незанятых каналов. Занимается СЛ, которой соответствует канал, входящий в наибольшее множество одинаковых по номеру (временному интервалу) незанятых каналов. Поясним алгоритм на примере. Допустим, в исходящее направление включены три системы ИКМ-30. В требуемом направлении в системе 1 свободны каналы 1, 2, 3, в системе 2—каналы 2, 4, 6 и в системе 3 каналы 1 и 2. Занимается канал 2. Такой способ занятия каналов обеспечивает максимальную возможность установления соединений через синхронное поле.
Моделирование. Использовался алгоритм моделирования, в основном, имитирующий работу управляющего устройства узла. Это позволило оценить эффективность алгоритмов не только по потерям, но и по необходимому быстродействию управляющих устройств при их практической реализации. Моделирование производилось на ЭВМ М-220 (язык программирования «АЛГОЛ-60»).
Исследовалось временное поле ИКМ-30 емкостью 480X2 и 960X2. Число исходящих направлений 8, в каждом направлении соответственно 60 или 120 линий. Вызов направляется с одинаковой вероятностью 0,125 на каждое из направлений. Алгоритм В дает несколько меньшие потери по сравнению с алгоритмом А, но требует для данной модели примерно вдвое больше машинного времени (и тем самым значительного увеличения быстродействия управляющих устройств), и поэтому его применение нецелесообразно. Алгоритмы А и Б примерно равноценны по потерям и машинному времени, по применение алгоритма Б предпочтительней. Дело в том, что при использовании алгоритма А может с большей степенью вероятности при повторных вызовах заниматься одна и та же неисправная СЛ. Применение алгоритма Б уменьшает вероятность подобной блокировки.

Статья поступила в редакцию 15 июля 1977 г .

Приложение 2.

const
f = 120000;//количество расчётов
pa = 0.96; // вероятность вызова
pb = 0.48;//вероятность отбоя
p1 = 0.125;//вероятность поступления вызовов на пучок 1
p2 = 0.125;//вероятность поступления вызовов на пучок 2
p3 = 0.125;// вероятность поступления вызовов на пучок 3
p4 = 0.125;// вероятность поступления вызовов на пучок 4
p5 = 0.125;// вероятность поступления вызовов на пучок 5
p6 = 0.125;// вероятность поступления вызовов на пучок 6
p7 = 0.125;// вероятность поступления вызовов на пучок 7
p8 = 0.125;// вероятность поступления вызовов на пучок 8

v1 = 120;// ёмкость пучка 1
v2 = 120;//ёмкость пучка 2
v3 = 120; // ёмкость пучка 3
v4 = 120; //ёмкость пучка 4
v5 = 120;// ёмкость пучка 5
v6 = 120; // ёмкость пучка 6
v7 = 120; //ёмкость пучка 7
v8 = 120;// ёмкость пучка 8

ma = 25;// ёмкость речевого ЗУ
r = 960; // число входящих сл
k =960; //число исходящих сл
h= 8; // число направлений
n=26;//число промпутей

Результаты счёта. Данные как выше, за исключением приведенных в таблице.

№ F
задано Pa
задано Pb
задано d8
Потери/расчёт zzz
доля занятых сл / расчёт
1 120000 0,96 0,48 0,1748820 0,622
2 120000 0,8 0,4 0,1748145 0,622
3 120000 0,4 0,2 0,1744729 0,622
4 120000 0,2 0,1 0,1744523 0,622
5 120000 0,02 0,01 0,1736216 0,622
6 1200000 0,01 0,005 0,1729352 0,622
7 1500000 0,01 0,005 0,1743947 0,622
8 15000000 0,01 0,005 0,17442963 0,622
автор: Мурдасов А.Б.
скачать программу и исходники
назад

|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3. Эджворт
При проектировании сетей ГТС необходимы данные об удельных нагрузках различных категорий абонентов.
Механические АТС позволяли измерять только суммарную исходящую нагрузку. Для нахождения данных об удельных нагрузках абонентов необходимо использовать определенный математический аппарат.
Данная проблема была рассмотрена в статье «Вычисление удельных нагрузок на основе принципа Эджворта». Копия текста статьи приведена.
В настоящее время удельные нагрузки на электонных АТС можно измерить непосредствеено, взяв под контоль определныых абонентов. Однако математическая проблема осталась.
Вот гипотетический пример

Найти
Min y1 +y2 +y3 +y4 +y5 + y6 +y7+ y8 +y9 +y10 +y11 +y12

При условиях:

10*x1 + 20*x2 + 30*x3 + 60*x4 +y1 – y2 = 460
30*x1 + 20*x2 + 10*x3 + 30*x4 +y3 – y4 = 260
50*x1 + 15*x2 + 20*x3 + 20*x4 +y5 – y6 = 275
70*x1 + 10*x2 + 10*x3 + 10*x4 +y7 – y8 = 190
30*x1 + 30*x2 + 30*x3 + 10*x4 +y9 – y10 = 310
40*x1 + 40*x2 + 40*x3 + 40*x4 +y11 – y12 = 520

Здесь x 1 – x 4 неизвестные.

y1 –y12 неувязки из-за ошибок измерений.

Есть два способа оценки суммарной невязки: сумма квадратов или простая сумма.
В данном случае исследована простая сумма. В литературе это называется принципом Эджворта.

В статье приведены результаты предварительных расчётов Сделан преждевременный вывод, что большие ошибки в одной серии измерений не скаываются на результате.
Спустя много лет я решил проверить выводы. Была разработана программа «Эджворт» для решения задачи линейного программирования.
Результаты оказались не совсем такими.
Для приводимого выше примера при величинах x1=1 x2 = 3 x 3=5 x 4=4

Для имитации ошибок измерения поочередно меняем правю часть уывеличивая её в 10 раз. Результаты счёта:

460 на 4600: x1=0 x2 = 0 x 3=8,8375 x 4=5,875
260 на 2600: x1=0,897 x2 = 7,7975 x 3=0 x 4=4,918
275 на 2750: x1=1 x2 = 3 x 3=5 x 4=4
190 на 1900: x1=2,5 x2 = 0 x 3=0 x 4=4
310 на 3100: x1=1 x2 = 3 x 3=5 x 4=4
520 на 5200: x1=1 x2 = 3 x 3=5 x 4=4

Описание программы
•  Величины:
m = число строк
n = число столбцов в исходной матрице
w = число вводимых элементов марицы А

вводятся в тексте программы.
•  на форме вводятся
•   
«Столбец»
Вектор столбец правой части
По числу n

«Строка С»
Целевая функция m
1…m – нули
m +1 …3 m – единицы
3m+1 …4 m – заведомо большое число, например 99999999999

Матрица
Ввод элементов матрицы А
Номер столбца – a –номер строки – b – величина элемента матрицы А

Вывод результатов
Пуск – обрамление таблиц
Заполнение – введенные величины
Расчёт – первая итерация
Результат – преполедняя и последняя итерации

Результаты счета наверху таблицы №4

///////////////////////////////////////////////////////////////////
4. Нейрон

Описание программы 1- Нейрон
Доступность программирования дает возможность между делом проводить разные численные эксперименты в поисках каких-либо закономерностей.
Вот одна из таких программ.
1) Заполняются четыре матрицы вероятностей u1, u2, u7, u8 случайными числами в диапазоне о 1 до 10.
2) Заполнятся сопряженные с матрицами u1, u2, u7, u8
матрицы связи u3, u4, u9, u10.
Если значение исходной матрицы меньше равно a, элемент равен 11.
В противном случае 33.
11 и 33 условные числа.
3) Случайно выбирается одна из матриц u 3, u 4, u 9, u 10. Число w.
4) Проходит цикл от 1 до k для матрицы U5.
6) Случайно выбирается число e .
7) Диагональным элементам в цикле присваиваются случайным образом значения 0 или 1.
8) Если диагональный элемент U5[i,i] равен единице, проходит цикл по строке или столбцу.
9) Значение элемента u5[i, j ] меняется при 11 на 1, 33 на 0 в соответствии со значениями элементов матриц u 3, u 4, u 9, u 10.
После вычислений заполняется матрица U 5.
10) /В ходе вычислений задаются числа a и c .
a – определяет выбор чисел 11 и 33.
с – определяет вероятность выбора 1 и 0 на главной диагонали матрицы u5.
11) Для матрицы u5 определяется число единиц на главной диагонали и вне главной диагонали.
В матрице u5 обнаруживается закономерность: нули и единицы группируются в цепочки по вертикали и горизонтали.
скачать программу и исходники
назад

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
5. Нейрон 2

Мозг можно изучать тремя способами:
1. Изучать результаты работы мозга.
Например, для человека существует соответствующая наука: психология.
Однако с помощью психологии трудно узнать о функционировании мозга.
Это все одно, что попытаться понять структуру процессора, глядя на монитор.
2.. Эксперименты над мозгом.
Для человека этот способ затруднен по этическим соображениям.
В ряде стран запрещены даже опыты с приматами.
Есть ещё одно но.
Возможно, часть этих работ засекречена. Так совершенно нет публикаций по экспериментам над животными с целью увеличения массы мозга.
Много лет назад о таких экспериментах писали.
В любом случае эксперименты со сравнительно простым мозгом  насекомых требуют специального оборудования.
3. Моделирование на ЭВМ.
Наиболее доступный способ.
Применим в двух вариантах.
А) Моделирование реального мозга (человека, животных)
Например,
Б) Моделирование нейронноподобных структур.
Для выяснения общих принципов мышления.
В надежде, что удастся создать более совершенные модели мозга, чем полученные в результате естественного отбора по Дарвину
Так ранее создана программа Нейрон (1 – Нейрон). Помещена на данном сайте.
Диагональные элементы имитруют ввод внешней информации.
Подробней в описании программы Нейрон.
Эта программа предназначена для отработки методов исследования нейронноподобных структур.

В конечной матрице образуются цепочки 0 и 1.
Такой вывод сделан на основе визуального рассмотрения на экране решения
Такой метод субъективен.
Поэтому к программе Нейрон добавлена специальная подпрограмма  для подсчета последовательностей 1 и 0.
Эта подпрограмма заимствована из программы «Анализ «Скатерти Улама» блоками».
Размещена на сайте.
Там и описание этой подпрограммы.
В результате получена программа 2-Нейрон, размещенная на сайте.
скачать программу и исходники
////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////
6. ROST
1. Задано случайным образом d +1 ресурсов
2, Задано x +1 производств
Каждое производство включает преобразование d+1 ресурсов.
3. Ресурсы случайным образом в ходе производства возникают и уничтожаются.
4. На каждом шаге случайно выбирается тип производства.
5. В ходе производства используются существующие ресурсы. Если в ходе производства величина ресурса станет меньше 1, производство не берется к исполнению.
6. Оценка производственного процесса определяется после проведения K циклов по соотношению суммы образовавшихся ресурсов к сумме исходных: коэффициент развития.
7. Проводится в ходе одного сеанса 20 полных расчётов.

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

Ввод исходных данных непосредственно по тексту программы.
скачать программу и исходники можно здесь


//////////////////////////////////////////////
7. Рынок

Исходные данные
Задано m пунктов (вершин).
В каждом пункте покупатель и продавец.
Заданы:
Количество товара у продавца;
Количество денег у покупателя
Потребность в товаре у покупателя
Минимальная цена продажи продавца;
Максимальная цена покупки покупателя;
•  Порядок расчётов:
А) Случайным образом выбираются пары продавец – покупатель.
Б) Определяются условия продажи:
Покупатель нуждается в товаре
Продавец имеет товар
Минимальная цена покупателя, больше максимальной цены продавца.
В) Вычисляется реальная цена покупки.
Случайная величина из разницы Максимальной цены покупки покупателя и Минимальной цены продажи продавца;
Г) Вычисляются параметры продажи, исходя из условий:
Количество товара у покупателя не превышает спроса.
Количество проданного товара не превышает наличия товара у продавца.
Количество уплаченных денег не превышает наличия денег у покупателя.
Д) Цель расчетов: определить, при каких исходных данных потребности покупателей будут удовлетворены?
Е) Возможное развитие программы.
Представлен вариант программы с одним товаром и без стоимости транспортировки товара. Для возможного развития программы желающими введены массивы для товаров 2 и 3, а также стоимости транспортировки.
В расчетах не участвуют.
Ж) Ввод исходных данных непосредственно по тексту программы.
Скачать программу и исходники можно здесь
/////////////////////////////////////////////////////////////////////

8. Альтруизм

ПРОГРАММА GEN-A
1. Определение
АЛЬТРУИЗМ (фр. altruisme от лат. alter – другой) – нравственный принцип, предписывающий сострадание и милосердие к другим людям, бескорыстное служение им и готовность к самоотречению во имя их блага
http://www.krugosvet.ru/articles/102/10 … 0262a1.htm
2. Обзор работ.
Проблема альтруизма актуальна для всего живого: от микроорганизмов до человека.
Для человека имеются трудности в изучении генетики: нельзя по этическим соображениям ставить многие эксперименты. Даже животные для многих экспериментов нежелательны. Генетики свободны только в экспериментах над микроорганизмами.
Кроме того, для человека трудно разделить в проблеме альтруизма биологическое и социальное.
Генетический код раскрыли на вирусах, а только потом приступили к расшифровке и пониманию генома человека.
Две статьи на общую тему социального отбора:
А) http://www.svobodanews.ru/Article/2007/ … 46053.html
Половое размножение сделало эволюцию устойчивым процессом
………
Б) http://www.svobodanews.ru/Transcript/20 … 34410.html

Так уж непохожи социальные и биологические законы развития
……….
Примеры исследований проблемы альтруизма у микроорганизмов:
А) http://www.lenta.ru/news/2008/03/14/moulds/
14.03.2008, 14:03:20
Альтруизм оказался чужд части слизевиков
…….
Б) http://www.svobodanews.ru/news/science/ … ?id=434982 Социальное поведение амеб определяется геномом
Выпуск новостей: RealAudio WinMedia MP3
15.02.2008 10:42 …..Ученые выявили более 100 генов, ответственных за социальное поведение амеб. …….

Проводятся исследования альтруизма и у человека, Правда, на генный уровень они вышли приблизительно.
Примеры:
http://elementy.ru/news/430688
Доверчивость и благодарность — наследственные признаки
http://www.utro.ru/articles/2008/02/07/714796.shtml
Гены определяют политические убеждения
07 февраля, 14:33 | Инна СЕМИНА
http://www.utro.ru/articles/2008/04/08/729407.shtml
Ученые обнаружили ген жестокости 
http://lenta.ru/news/2008/04/08/spies/ ......
Граждане США, которые в последнее время попадались на шпионаже в пользу иностранных государств, в большинстве своем оказывались альтруистами,

Американцы шпионят бесплатно

3. Моделирование миграции генов альтруизма.

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

3.2. Исходные постулаты
1. Ген альтруизма доминантный. В одном локусе могут быть следующие комбинации генов: 00, 10, 01, 11, где 1 – присутствие гена альтруизма, 0 – отсутствие. Воздействие комбинаций 10, 01, 11 на фенотип одинаково .
2. Популяция представлена в виде линейной последовательности элементов (организмов), с 1 до величины r 6, определяемой в ходе расчётов, но не более v 2.
3. В ходе расчетов моделируется рождение элементов и их смерть.

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

3. Исходная популяция r 1.
Наличие гена альтруизма в каждой позиции локуса определяется с вероятностью y 1.
4. Размножение элементов происходит следующим образом:
а) Случайно выбирается родитель 1 из множества элементов s 6.
б). Из оставшегося множества элементов выбирается родитель 2. Случайно определяется, у кого из элементов может быть потомок. Вероятность выбора родителя из двух партнеров по 0,5.
Пр. Принятый способ размножения предполагает равновероятное участие партнеров в рождении потомков. Такой способ размножения природа определила для улиток, которые являются гермафродитами.
в) Акт рождения определяется следующим образом. Если на расстоянии s ( s – заданное число элементов) есть элемент с геном (генами) альтруизма, то вероятность появления потомка y 4, иначе y 5. y 4> y 5. Потомок имеет на 1 номер больше, чем родитель. Вся последующая последовательность сдвигается на 1.
5. Акт смерти определяется следующим образом. Из последовательности элементов с случайно выбирается элемент h 11.
Вероятность акта смерти элемента при наличии гена (генов) альтруизма y 7, иначе y 8. y 7 > 8.
6. Гены потомка определяются следующим образом
В одном локусе два гена. Допустим, спариваются два элемента с наборами генов a - b и c - d .
У потомка возможны комбинации: a - c , a - d , b - c , b - d . В генетике принято, локусы a - c , a - d , b - c , b - d и c - a , d - a , c - b ,
d - b имеют одинаковое влияние на фенотип.
По программе гены имеют фиксированное место в локусе. «Верхнее место» - a [2][ j ], «нижнее» - a [3][ j ]
Поэтому определение генотипа потомка производится случайным образом по одному из 8 вышеперечисленных вариантов. Допущение чисто формальное, так как в программе действие генов ( a [2][ j ] =1, a [3][ j ] =0), ( a [2][ j ] =0, a [3][ j ] =1), ( a [2][ j ] =1, a [3][ j ] =1) одинаковы.

4. Описание программы GEN - A

•  Программа состоит из двух процедур:
а) Исходные данные, рождение и смерть (Пуск)
б) Закрытие
2. Каждая процедура включается соответствующей кнопкой.
3. Выбран режим, когда происходит процесс размножения, а затем вымирания (смерти).
Ситуация. Микроорганизм безудержно размножается, затем вымирает до небольшого числа особей. Находится соотношение числа элементов с генами альтруизма в начале процесса размножения, в конце процесса размножения и в конце процесса вымирания (смерти).
Это позволило изучить процесс рождения. Режим со сменой рождений и смертей здесь не приведен
Процессы рождения и вымирания носят вероятностный характер. Поэтому предусмотрен цикл от 1 до r 4.
Для каждой текущей переменой k выводятся по окончанию расчёта в процентах доли элементов с определенным набором генов:
00, 10, 01 и 11. Блоки расчёта: исходные данные, размножение и вымирание.

4.1. Общие результаты

•  Процесс «Смерть» особого интереса не представляет. Вероятно, имеет простое аналитическое решение, так как большое сходство с классической задачей по выбору шаров из урны.
•  Задача рождения вряд ли допускает простое аналитическое решение. Ниже обсуждается только решение по процессу «Рождение».
•  В результате расчётов выяснялось, при каких условиях возрастает почти всегда концентрация генов альтруизма. Переменная f 6.
•  Оказалось, что ощутимый рост числа генов, переменная f 6, происходит при следующих условиях:
а) Значительный рост вероятности рождения при нахождении в зоне действия гена альтруизма, то есть y 4 существенно больше y 5.
б) Существенно: величины действия гена альтруизма. Оптимальная величина s =1 или 2.
г) Число исходных элементов не менее 25.
5) В таблице выводятся последовательно:
а) Таблица элементов с указанием генов после вычисления исходных данных.
б) Таблица элементов с указанием генов после процесса «Размножение».
в) Таблица элементов с указанием генов после процесса «Смерть».
в) Суммарные данные по числу элементов с разными наборами генов после вышеупомянутых процессов и общее число элементов после вышеперечисленных процессов.
г) Данные для контроля вычислений.

4.2. Результаты счета

1) Ниже приводятся результаты счёта при следующих условиях:
а) y 1 = 0,2 исходная вероятность гена альтруизма в «верхнем» и «нижнем» местах локуса.
б) r 1 = 25 исходная популяция
б) Число циклов в цикле «рождение» – 2000. y 4 = 0,6 , y 5 = 0,2 y 7 = 0,3 , y 5 = 0,2 r 3=15 r 4=15;

Счет проводился при s = 3.
Ниже приводятся результаты счёта величин:
p 6 - доля в процентах элементов с генами альтруизма в исходной популяции
f 6 - в процентах элементов с генами альтруизма в популяции после размножения
w 6 - доля в процентах элементов с генами альтруизма в конечной популяции
r 6 – конечное число элементов после цикла размножение

s = 1

№ k p 6 f 6 w 6 r 6

1 20 49 26 893
2 12 37 14 789
3 26 51 13 955
4 26 43 13 927
5 33 62 33 1060
6 26 51 6 940
7 20 29 20 739
8 53 73 40 1109
9 26 52 26 953
10 26 56 13 942
11 53 71 33 1078
12 53 54 13 1007
13 46 64 28 1070
14 53 50 13 943
15 33 59 6 1034
Скачать исходники программы
////////////////////////////////////

9. Ипотека

Ипотека учитывается следующим образом.
1) Случайным образом определяются покупатели, которые могут обращаться за кредитом (ипотекой).
Для этих покупателей случайным образом определяется денежная величина кредита (ипотеки).
1)покупатель пробует продать ресурс с учетом имеющейся на руках денежной суммы, которая дана в виде двух составляющих. Максимальная цена, которую покупатель согласен платить за определенный ресурс.
2) Если по заданной исходной цене требуемый ресурс купить нельзя формируется новая допустимая цена, которая вычисляется как частное от деления суммы исходной денежной суммы и суммы ипотеки на величину требуемого ресурса.
3) В соответствии с вновь вычисленной максимально допустимой ценой производится покупки – продажа.

Вывод: Ипотека в данной модели даёт рост продаж и цен. Цены более, чем продажи. Чем меньше предложение, тем более рост цен по сравнению с объёмом продаж.
Скачать исходники программы
//////////////////////////////////
10. Карта
Для тестирования некоторых программ необходимы электронные карты местности. Они должны генерироваться случайным образом.
Мне в перспективе нужна карта, составленная из случайных прямоугольников. Что такое случайные, пока не смог определить.
Получил промежуточный результат. Программа предусматривает следующие кнопки.
1. На квадратной координатной сетке отмечаются точки. Координаты выбираются случайно.
2. Маркируются точки от исходных: справа – слева
3. Снизу
4. Сверху
5. Справа по горизонтали – по вертикали
6. Слева по горизонтали – по вертикали
7. Раскраска

Можно использовать последовательно некоторые из кнопок 2-6
Скачать исходники программы
//////////////////////////////////////////
11. Наступление (Фронт)
НАСТУПЛЕНИЕ
Программа «Наступление» моделирует следующую ситуацию.
Два противника: «жёлтые» и «лиловые». Каждый противник имеет фиксированное число воинских подразделений: условно «дивизии». Желтые - b дивизий, лиловые - c . Данные вводятся. Участки боевых действий, условно «фронты». Для определенности число фронтов: a =10. На каждом фронте: число дивизий для желтых – d 1[ i 1][1] ( i 1-номер фронта) , для лиловых - e [ i 1][1]. Лиловые распределяют дивизии по фронтам случайно. Берут дивизию и крутят рулетку: на какой фронт её послать. Для желтых два варианта: случайный и неравномерный. При неравномерном находятся случайным образом 1,2.3 …. «усиленных» фронта. Блок – «метки усиленных фронтов».
При случайном выборе усиленного фронта на него направляются не одна дивизия, а p 1. Предусмотрен ввод p 1.
Каждый из военоначальников (жёлтый и лиловый) отправляет в атаку три фронта с наибольшим числом дивизий.
Ситуации две. Или проходит атака на обороняющий фронт, или же противоположный фронт тоже сам идёт в атаку.
То есть в одном случае наступление и оборона, в другом случае встречный бой.
В реальном бою результат оценивается по следующим показателям:
а) потери сторон;
б) территории.

В программе «Фронт» использован только показатель – захват территории.
Результат боя зависит от:
а) вида боя: наступление (для противоположной стороны оборона) или встречный бой.
б) соотношения сил сторон.
Как оценить результаты наступательного боя. Я нашел в литературе только одну цифру. Наступление имеет успех, если силы наступающего превосходят силы обороняющего в 3 раза.
Отсюда я использовал формулу для оценки успеха наступающего, показатель f 4. Для упрощения программирования все вероятности и соотношения сил сторон умножаются на 1000 и округляются до целых чисел.
Вероятность захвата территории наступающим при соотношении сил наступающего и обороняющего меньше и равно 3 определялось по формуле:
f 4 = 0,9 х f 6 х f 6 : 9000.
[i] Примеры:
При соотношении сил наступающего и обороняющего равного 3, находится
f 4 = 0,9 х 3000 х 3000 : 9000 = 900, то есть с вероятностью 0,9 наступающие захватывают территорию.
При соотношении 2:
f 4 = 0,9 х 2000 х 2000 : 9000 = 400, то есть с вероятностью 0,4 наступающие захватывают территорию.
При соотношении от более 3 до 4 вероятность захвата территории 0,95 и выше – 0,99.[/ i ]

Обороняющиеся с вероятностью 1- f 4 захватывают территорию наступающего.
Такая ситуация характерна для 41-го, когда при незначительном превышении сил Красная Армия атаковала вермахт.

Во встречном бою вероятность захвата территории принята прямо пропорциональной соотношению сил наступающих и обороняющих.
Конечно, принятые здесь результаты боев условны (умозрительны) и необходимы соответствующие исследования.
Неплохо промоделировать характерные особенности наступательного и встречного боя.
На всех фронтах определяется математическое ожидание захвата территорий желтыми и лиловыми, переменные G и L . Смотри описание переменных.
Для набора статистики проводится цикл p 6. На каждом шаге определяется, кто захватил больше территории.
Суммарные числа p 7 (победы желтых) и p 8 (победы лиловых), p 9 – ничья.

Очевидно, что при c > b вырастает вероятность побед желтых.
Ниже даны результаты счёта при следующих исходных данных:
a =10 (количество фронтов), b =1000 (число дивизий у желтых), с=1150 (число дивизий у лиловых), p 6=10000 (число циклов).
Ниже приводятся через дефис величины p 1 (ввод), p 7 (число побед жёлтых), p 8 (число побед лиловых), p 8 (число ничьих)
0-0-10000-0
1-0-10000-0
2-359-9637-4
3-2970-7015-15
4-5128-4864-8
5-5012-4979-9
6-3288-6707-5
7-1520-8477-3
8-524-9475-1
9-169-9831 - 0
10-42-9958-0
То есть правильная расстановка сил, конечно для принятых допущений, равносильна 15 % превышения «физических» сил.
В каком направлении можно развивать программу:
1) Учесть не только территории, но потери войск.
2) Математически строго, или даже приблизительно, обосновать вероятность исхода сражений для наступательного (оборонительного) и встречного боев.
3) Вводить данные разведки.
4) Оценивать не только захват территории, но и показатели захваченных территорий. Например, с учётом окружения вражеских войск.
скачать исходники программы
////////////////////////////////////
12. Спартакиада

Программа "Спартакиада"
1. Цели программы
В разных коллективах, пока в основном в учебных, для повышения интереса к спорту проводятся спартакиады.
Под личной спартакиадой понимаются обычно следующие спортивные соревнования.
Каждый спортсмен принимает участие в нескольких видах соревнований.
В зависимости от результатов спортсмены занимает определенные места. За каждое место присваиваются определенные баллы. Сумма баллов по всем видам соревнований определяет место каждого спортсмена в общих соревнованиях.
Для спартакиад возможны разные соглашения для следующих случаев:
•  Два или более участников показали одинаковые результаты.
•  Число баллов, в соответствии с занимаемым местом;
•  Определение победителей при равенстве чисел суммарных баллов.

Принятые в программе соглашения будут объяснены позже.
Пример правил Спартакиады в http://www.gov.karelia.ru/gov/Power/Com … spart.html

2 . Общее описание программы
Программа решает три задачи:
•  Таблица 1
Вводится список спортсменов (участников), пол, год рождения.
По признакам «мальчики» - «девочки», «год рождения» участники делятся на 12 групп.
•  Таблица 2
Вводятся спортивные результаты. Три первых соревнования, чем выше результат, тем выше место. Например, прыжки в длину
Два последних соревнования, чем ниже результат, тем выше место. Например, бег.
Для каждого вида соревнований вычисляются порядковые места.
Если результаты равные более высокое место присваивается участнику, занимающему более высокое место в исходном списке. Например, по дате регистрации. Каждому участнику присваивается в каждом виде соревнований число баллов. Например, число баллов может равняться порядковому номеру в упорядоченном списке спортсменов. Например, спортсмены Петров, Иванов, Сидоров, Квашин показали в подтягивании результаты 7, 12, 21, 5. То есть спортсмены занимают места №1 – Сидоров, №2 –Иванов, №3 – Петров, №4 – Квашин и число баллов соответственно Петров – 3, Иванов - 2, Сидоров – 1, Квашин -4.
Для каждого участника складываются занятые места, и определяется победитель. То есть результаты упорядочиваются по мере возрастания результатов.
Допустим, четыре участника набрали баллов и заняли места, соответственно после знаков = и «:
1, 4, 2, 1, 3 = 11 «1
2, 3, 3, 2, 4 = 14 «3
4, 2, 1, 3, 1 =11 «2
3, 1, 4, 4, 2…=14 «4
Если при сложении результатов несколько спортсменов набрали одинаковое количество баллов, то их фамилии идут подряд в списке с присвоением высшего номера в соответствии с последовательностью фамилий в исходном списке.
•  Таблица 3
Вводятся спортивные результаты в табл.2. Победители по отдельным видам соревнований определяются по тому же принципу, что и в табл. 2. Если спортсмены показали одинаковые результаты, то им присваивается среднеарифметическое от занятых мест. Допустим четыре спортсмена А, Б, В и Г показали в подтягивании результаты соответственно 5, 9, 9, 6. Им присваиваются баллы:
А: 5 «4
Б: 9 «1,5
В: 9 «1,5
Г: 6 «3
В таблице 3 баллы умножены на 1000.
Далее определяется число баллов для каждого участника, и участники упорядочиваются по возрастанию баллов. При одинаковом числе баллов высшее место – участник первый по исходному списку.
Если результаты равные более высокое место присваивается участнику, занимающему более высокое место в исходном списке.
Или вручную спортсменам присваивается несколько мест. Например, в примере выше места 1, 2 поделили спортсмены Б и В.
3 . Пользование программой
Дан листинг программы с комментариями. То есть можно вносить необходимые изменения. Это проще, чем писать заново программу.
Ниже дается описание пользования программы после трансляции. Язык Дельфи-7 ( DELPHI ).
•  Открытие Программы: кликнуть на E XE
•  В Окне (на форме) три таблицы №1 зеленоватая, №2 – желтая, №3 голубая
•  Нажатие на форме кнопки «ВВОД»
Появляется:
Нумерация строк и столбцов, а также заголовки столбцов таблиц №1, №2, №3
4) Таблица №1
Название столбцов. Названия соответствуют номеру группы (деление по возрасту и полу)
В окошко «Номер группы» вводится номер группы, для которой на данном этапе будут проводиться расчёты. Всего групп 12. Годы рождения: 2000, 1999, 1998, 1997, 1996, 1995, всего 6. Мальчики, девочки - итого 12 групп.
•  Таблица 1.
В столбец 1 вводятся фамилии участников, до 30 символов. Символы любые. Фамилий до 1000.
В столбец 2 вводятся сведения: «м» ли «д». Мальчики, девочки. Русские строчные буквы.
В столбец 3 вводятся сведения: год рождения. 4 цифры.
•  Нажатие на форме кнопки «Итог 1» В таблице №1 появляется разбивка на группы. В столбце 17 число участников по каждой группе.
•  Нажатие на кнопку «Итог 2». В таблице №2 – столбец 1, появляется список фамилий в группе, для которой проводятся расчёты.
•  Таблица №2. Ввод данных по видам спорта. Столбцы 2, 4. 6, 8, 10.
Пр. Расстояния в см, время в сек, а также показатели в разах, например подтягивание.
•  Нажатие на кнопку «Итог 3»
•  Таблица №. 2. В столбцах 3, 5, 7, 9, 11 места, занимаемые участниками.
Пр. Если результаты одинаковые, то места в порядке исходного списка фамилий!
В столбце 12 сумма мест (баллов) участников
В столбце 13 повторно список участников (как в столбце 1).
В столбце 14 места, занятые участниками. Если результаты одинаковы, в порядке исходного списка. По принятой системе баллов победители имеют меньшее число баллов.
Столбец 15, список участников, упорядоченный по занятым местам.
•  Нажатие кнопки «Итог – 0»
•  Таблица №3
В столбцах 3, 5, 7, 9, 11 места (баллы), занимаемые участниками.
Столбец 12 -16 как табл.№2.
Столбец 13 – список участников, дубль столбца 1.
Список участников по порядку занятых мест. Столбец 16, число баллов к списку столбца 14.
•  расчёт для следующей группы.
Вводится номер группы. Далее Итог 1, Итог2 , Итог3, Итог0.

Кнопка Итог4 –резерв.
скачать исходники программы
Модератор сайта: Мурдасов Александр Борисович тел: 8-904-552-28-21

////////////////////////////////////////////////////////////////////////////////////////////

13. Программа cluchi

1) Переменные
m = 20;// число строк массива вода
n = 20; //число столбцов массива ввода
k = 50; //пороговое значение при заполнении исходной матрицы
h =15; // число итераций по смене матрицы d , цикл № 2
m 1 =21; // пороговая сумма элементов матрицы d в окрестностях
// элемента d [ i , j ] для смены величины 1 на 0
m 2 =21; // пороговая сумма элементов матрицы d в окрестностях
// элемента d [ i , j ] для смены величины 0 на 1
mm =500; // Цикл № 1
u =2; //расстояние от выбранного элемента по горизонтали и
// вертикали при определении области влияния
// на данный элемент

var
i, j, i1, j1, w, q, e, z, t, tt, v ,x,
p1,p2,p3,p4,p5,p6, p7,p8, q1, q2,
q3, q4: integer;//
rr 0, rr 1, rr 2, rr 3, rr 4, rr 5: integer ;//номера первых пяти итераций в цикле № 1,
// в которых все элементы матрицы d равны 0
dd 0, dd 1, dd 2, dd 3, dd 4, dd 5: integer ;// вспомогательные величины
k 1: integer ;// число решений, в которых все элементы матрицы d равны 0
k 2: integer ;// число решений, в которых все элементы матрицы d равны 1
k 1=1
k 3: integer ;// общее число итераций в циклах № 1 и 2

Tick, p9: Cardinal;
a : array [1..m,1..n] of integer;// исходная матрица
b : array [1..m,1..n,1..m,1..n]of integer;
//величины элементов матрицы соответствуют величинам связей (влиянию)
// между элементами матриц матрицы d
d : array [1.. m ,1.. n ] of integer ;// результат преобразования матрицы a в цикле № 2

2) Алгоритм
На каждой итерации цикла № 1 проводятся следующие итерации.
А) Случайным образом определяются величины элементов матрицы a: 1 или 0.
Б) Случайным образом определяется величина связей между элементами матрицы d , формируется матрица b .
В) На каждой итерации цикла 2 проводятся следующие действия.
Г) На первой итерации элементы матрицы d приравниваются элементам матрицы a
Затем последовательно преобразуются элементы матрицы d.
Д) Элементы м матрицы d преобразуются следующим образом.
Если элемент матрицы d равен 1, то подсчитывается число нулей в окружении радиусом u .
Если число нулей превышает m 1, то величина ткущего элемента матрицы d заменяется с 1 на 0.
Если элемент матрицы d равен 0, то подсчитывается число единиц в окружен d заменяется с 0 на 1.
Е) После заполнения матрицы d нулями k 1 увеличивается на 1.
После заполнения матрицы d единицами k 2 увеличивается на 1.

По модели слухов носитель слуха меняет свое мнение при скепсисе окружающих.

3) Вывод

Цель расчётов получить величины k 1 и k 2. равных соответственно
числу итераций цикла № 1, после выполнения которых все элементы
матрицы d равны соответственно 0 и 1

Кроме того, для уяснения программы выводятся:

Таблицы StrigGrid
Таблица № 1 – матрица a для последней итерации цикла № 1;
Таблица № 2 – матрица b[7,5,i,j] для последней итерации цикла № 1;
Таблица № 3 - матрица а для последней итерации цикла №1,
после выполнении которой все элементы мартцы d равны 0
Таблица № 4 – матрица d Таблица № 1 – матрица a для последней итерации цикла № 1;

-t – число совпадений элементов матрицы a и конечной матрицы d
-v – число 1 в матрице d
-x – число 0 в матрице d
- q1 – число 1 в матрице a
- q2 – – число 0 в матрице a

-rr1, rr 2, rr 3, rr 4, rr 5 – номера первых пяти итераций цикла №1, после выполнения
Которых все элементы матрицы d равны нулям.
- p 9- общее число итерации цикл №1 х цикл № 2

Результаты расчётов

Путем подбора исходных данных можно получить на цикле №1 следующие результаты:
А) Матрицы d, все элементы которых равны 1
Б) Матрицы d, все элементы которых равны 0
В) Матрицы d, все элементы которых равны с разной вероятностью равны 1, 0 или чередующимися 0 и 1
Матрицы d, если все элементы равны 0 или 1 при итерациях цикла № 2 не изменяются.

Для приведенных выше величин исходных данных примерно один из 200 итераций на цикле №1 циклов приводит к матрице только с элементами равными 0 или 1.
То есть к единичной или нулевой матрице.
То есть можно интерпретировать тотальный успех или не успех запущенных слухов.
Скачать исходники программы

//////////////////////////////////////////

14. Программа Анализ «Скатерти Улама» блоками

   

•    ПРОГРАММА «Анализ «Скатерти Улама» блоками»

1. Скатерть Улама
Математический объект «Скатерть Улама».
Описание, например, в:
http://www.school12-egorievsk.narod.ru/ … chisla.htm
http://letopis.kulichki.net/2010/04-2010/nom1856.htm
2. Определение блоков
2.1 Вертикальные и горизонтальные блоки
Программа «Анализ «Скатерти Улама» блоками» анализирует «Скатерть Улама» на основе подсчёта блоков разных видов.
Блоками названы непрерывные последовательности единиц или нулей.
В квадратной матрице максимальная длина блока равна числу строк (столбцов).
Поясним на примерах вертикальные и горизонтальные блоки.
Горизонтальный блок из четырех 1:
Пять блоков из пяти 0 и один блок из двух 0.
000000
111100
000000
000000
000000
000000
Вертикальный блок из пяти 1.
Пять блоков из пяти 0 и один блок и из одного 0.

000001
000001
000001
000001
000001
000000
2.2.Диагональные блоки
Определение главной и побочной диагонали матрицы:
http://www.fxyz.ru/формулы_по_математике/линейная_алгебра/матрицы/
В квадратных матрицах, главная диагональ – диагональная линия элементов, проходящая с северо-запада на юго-восток.
Диагональ с юго-запада на северо-восток -  побочная диагональ.
Кроме главной и побочной диагонали имеются малые диагонали параллельные главной или побочной диагоналям (мое определение).
Ниже показана матрица, в которой кроме побочной диагонали из 1 имеются  блоки на малых диагоналях параллельных побочной диагонали:
- малая диагональ c блоком из трех 1;
- три малые диагонали с блоками из одного 0.
- две малые диагонали с блоками из двух 0.
- две малые диагонали с блоками из трех 0;
- одна  малая  диагональ с блоком из четырех 0;
- две  малые диагонали с блоками из пяти  0
000001
001010
010100
101000
010000
100000
Проверка.
Общее число элементов по числу различных диагоналей:
1х6 +1х3 + 3х1 + 2х2 +2х3 + 1х4  +2х5 =
6 +3+ 3+4+6+4+10 = 36;
Подобная проверка предусмотрена и в программе «Анализ «Скатерти Улама» блоками».
Ниже матрица с главной диагональю из 1 и блока из трех 1.
Блоки из 0 аналогично примеру выше.

101000
010100
001010
000100
000010
000001

В программе закомментировано построение случайной матрицы. Полезно для анализа расчётов по программе провести расчёты со случайной матрицей.
3. Критерий упорядочения матриц
Для сравнения различных матриц предлагается «показатель длины блоков» по величине и количеству блоков.
Вычисление «Показателя длины блоков» проводится в три этапа:
1. Длины блоков уменьшаются на 1.
Вычисляется сумма произведений полученной величины  и числа блоков.
1. Вычисляется целая часть из произведения корня  квадратного величины по п.1 и 10000.
2. Вычисляется целая часть из частного от деления величины по п.2 и числа строк. Матрица квадратная.
For i1:=1 to mm do
aa:= aa  + (i1-1)*(i1-1)* uu4[i1];
aaa1:= round (Sqrt(aa)*10000);
 
aaa:= round (aaa1/mm);
Данный показатель одинаков для случайных матриц разной размерности. При внесении в матрицу горизонтальных или вертикальных блоков показатель меняет свое значение.
4. Структура программы «Анализ «Скатерти Улама» блоками»
Программа состоит из двух частей:
Часть 1.
Построение на квадратной матрице с нечетными числами строк и столбцов «Скатерти Улама»
Часть 2
Вычисление числа блоков разных видов.
Вначале введем множества малых диагоналей параллельных побочной диагонали: А1 и А2 и  - главной диагонали Б1 и Б2.
Пояснение:
*
*
А2 * А1
*
*

*
*
Б1 * Б2А2
*

В результате выполнения программы определяются массивы:
uu2 – число блоков 1 по горизонтали
uu3 – число блоков 0 по горизонтали
uu4 – число блоков 1 по вертикали
uu5 – число блоков 0 по вертикали
uu6 – число блоков 1: побочная горизонталь + А1
uu7 – число блоков 1: А2
uu8 – число блоков 1: побочная горизонталь + А1 +А2
uu9 – число блоков 1: главная горизонталь + Б1
uu10 – число блоков 1: Б2
uu11 – число блоков 1: главная горизонталь + Б1 +Б2
uu12 – число блоков 0: главная горизонталь + Б1
uu13 – число блоков 0: Б2
uu14 – число блоков 0: главная горизонталь + Б1 +Б2

5. Вывод по программы «Анализ «Скатерти Улама» блоками»
Таблица 1: «Скатерть Улама».
Простые числа выделены *.
Таблица 3: На «Скатерти Улама» показаны только простые числа.
Таблица 2. Вывод массивов uu2 – uu14.
Каждый столбец:
Имя массива, вид блоков 0 или 1, суммарное число единиц или 0 в блоках, число блоков по нарастанию длины блока, начиная с единичной длины блока.
Кроме того, выведены показатели длины блоков.
Остальные величины для настройки.
6. Результаты
1. Число блоков из 1 (простые числа) длиной более 1 по горизонтали и вертикали весьма мало.
2. Блоки из 0 (составные числа) по горизонтали и вертикали имеют следующую особенность: число блоков нечетной длиной значительно больше числа блоков с четной длиной.
3. В меньшей мере эта закономерность справедлива и для диагональных блоков из 0.

Скачать исходники программы

//////////////////////////////////////////////////////////
15. ПРОГРАММА "ГЕНЕРИРОВАНИЕ ПРОСТЫХ ЧИСЕЛ МНОГОЧЛЕНОМ" – «Цепи»

Введение
Как известно, многие многочлены в определенном диапазоне x дают последовательность простых чисел.
Об этом, например,
http://vlad-utenkov.narod.ru/personal2/ … /pr/pr.htm
Наиболее известный многочлен такого вида открытый самим Эйлером:
x*x + x + 41
1. Общее описание
Программа позволяет исследовать любые многочлены.
Четыре положительные целочисленные переменные могут изменяться в заданных пределах. Остальные параметры фиксированные. Например, квадратные многочлены:
a*x*x + b*x + c,  a*x*x - b*x + c, -a*x*x + b*x + c, a*x*x + b*x – c, a*x*x - b*x - c
Переменные a, b, c, x.
В результате расчетов находятся следующие величины:
А) Максимальная длина последовательности простых чисел – u при изменении переменной x  с интервалом в 1.
Б) Максимальное число простых чисел - s, получаемое при некотором значении c и при изменении других переменных в заданных пределах.
Количество максимумов не фиксируется.

2. Описание программы
Программа на языке Дельфи 7. Дан исходник.
Все изменения в программе проводятся непосредственно в тексте программы.
Так что для использования программы надо иметь Дельфи 7 или выше.
В ходе выполнения программы в 4 циклах в разных сочетаниях изменяются значения переменных a, b, c, x.
Предусмотрено вычисление двух многочленов. № 1 и № 2.
Для каждой величины x определяется значение многочлена и дается информация: простое или составное число.
Многочлен №1 вычисляется при значениях a, b, c для максимальной цепи простых чисел.
Числа a, b, c находятся в ходе предшествующих вычислений.

3. Вывод результатов.
3.1. В окнах r1, r2,  r3,  r4 выводятся соответственно заданные максимальные величины переменных a, b, c, x.
3.2. В окне «Число простых чисел» выводится число значений многочлена, равное простому числу, при всех изменениях a, b, c, x.
3.3. В окне «max цепь»    выводится длина самой длинной цепи из простых чисел при изменении переменной  x  при фиксированных a, b, c.
3.4. В окне a= b= c= x даны величины a, b, c, x, для которых цепь из простых чисел максимальна. Для x дается последнее значение при вычислении максимальной цепи простых чисел.
3.5. Столбцы таблицы:
Первый столбец. Значения длины максимальной цепи простых чисел. В  фиксированном столбце содержится величина c. В нулевом столбце: c – простое или составное.
Второй столбец – пробелы.
Третий столбец. Суммарное число значений многочлена как простого числа, при заданном c при изменениях a, b, x во всем диапазоне.
В  фиксированном столбце содержится величина c.
Четвертый столбец. Пробелы.
Пятый столбец.
Значения многочлена №1.
Около каждого значения – метка: простое или составное.
Шестой столбец. Разности межу значениями строк столбца  пять.
Седьмой столбец.
Значения многочлена № 2.

4. Результаты расчетов
А) Многочлен
а*x*x +b*x + c
Максимально длинная цепь - 39, при a=1,  b=1, c=41.
Разумеется, это не доказательство, что 39 максимальная длина цепи простых чисел для этого многочлена.
Б) Многочлен
а*x*x - b*x + c
При
r1 = 2
r2 = 100
r3 = 100
r4 =100
получено:
a = 1
b = 15
c = 97
x = 47
максимальная длина цепи -47
Наибольшее число простых чисел – 3558 при c = 97
Впрочем, фактически это сводится к многочлену:
x*x + x + 41
В)  Многочлен
x*x*x –a*x*x - b*x - c
При
r1 = 25
r2 = 50
r3 = 150
r4 = 500
получено:
a1 = 22
b1 = 41
c1 = 149
x1 = 42
максимальная длина цепи - 19
Наибольшее число простых чисел – 9342 при c = 67
Максимальную длину могут иметь несколько цепей простых чисел
Скачать исходники программы
///////////////////////////////////////////////////////

[b]16. Мысли[/b]
Описание программы "мысли"
Формы мышления
Пока известно два объекта мышления:
белковые существа и компьютеры.
Белковый разум:
Об интеллекте ворон:
ВЕС МЫСЛИ: феномен ворон

Информационные сообщения::
Программа "НЕЙРОН"

О компьютерах литературы - океан.

Исследовать мышление можно на абстрактных моделях/
Абстрагируясь от технической реализации.
Например:
Программа “Нейрон 2»
http://dreams.niits.ru/index.php?topic=11-14

II . Определения
Введу несколько своих определений:
1. Мысль есть файл.
2. Файл состоит из последовательности позиций.
Все позиции файла пронумерованы.
Позиция файла характеризуется двумя координатами.
Номером позиции и числом на этой позиции.
3. Связанными файлами называется пара файлов, у которых на одинаковых позициях стоят одинаковые числа.
Соответственно по числу совпадений связность может быть 12…g, где g – чисел позиций файла.
Возможны и другие критерии связности файлов.
4. Часть файлов называются первичными. Они генерируются независимо друг от друга.
Вторичные файлы файл вы получаются путем преобразования исходных и вторичных файлов.
Пример:
В биологии часть информации генетически наследуемая.
Это и есть первичные файлы (мысли).
В ходе развития организма генерируются вторичные файлы (мысли).

Примечание: Более обобщенно можно рассматривать мысль как граф.
Файл по вышеприведенному определению тоже граф.
Пока воздержусь. На потом.

Для иллюстрации абстрактной модели мышления разработана программа «Мысли».

III . Алгоритм
Расчёты проводятся v раз в главном цикле по q .
Для сбора статистики.
Общий цикл. В данном цикле проводятся следующие расчёты:
1. Каждая мысль (файл) включает 2 х f позиций.
2. Всего a мыслей.
3. Мысли представлены матрицей: 2х f - строк, a - столбцов.
4. Случайным образом задаются z5 первичных файлов.
5.Из исходных файлов генерируются вторичные фалы
Вариант А. Число на позиции i выбирается с определенной вероятностью из файлов на этой позиции из совокупности первичных файлов и ранее определенных вторичных файлов, а определенной вероятностью генерируется случайным образом.
Вариант. Б Число на позиции i выбирается с определенной вероятностью из файлов на этой позиции из числа первичных, а также с определенной вероятностью генерируется случайным образом.
6. Производится попарное сравнение всех фалов по следующему критерию.
Одновременное совпадение чисел на позициях: 1…f, и позициях f+1...2 f .
Подсчитывается общее число совпадения хотя бы по одной позиции – a1
и по суммарному числу совпадений по всем позициям k2.
7. Определяется доля совпадения файлов, хотя по одной позиции от числа возможных сочетаний файлов – a 3.
Также определяется доля совпадения файлов, по всем позициям от числа возможных сочетаний файлов по всем позициям. – k 3.
8. Все вышеперечисленные расчёты проводятся в цикле v.

IV. Вывод:
1. Таблица 1 матрица.u2 – первичные и вторичные файлы
2. Таблица 2 матрица u3 – число связей между отдельными файлами.
3. Таблица 3 -

Матрица u 5 – перечень пар файлов, между которыми есть связь.
Матрица u 4 – список суммарного числа связей между файлами в зависимости от числа связей: 1, 2, 3 …. .

Таблица 4 – матрица u 1 величины a2 и k3 для последовательности значений переменной q .

Величины h1 и h2, равны средним значениям a2 и k3 в главном цикле 1… v.

Примечание.

Программа на языке Дельфи 7.
Ввод данных не с формы, а непосредственно в программе.
Скачать исходники программы
Модератор сайта: Мурдасов Александр Борисович тел: 8-904-552-28-21

Отредактировано ABC (2017-12-10 21:07:34)