Автор |
Сообщение |
oleg314Пользователь
Сообщения: 31 Регистрация: 03.05.2005
|
|
Добавлено: Ср Май 18, 2005 08:22 |
|
|
Я понял: рекурсивные процессы трудно осознать по причине рекурсивности псих. процессов, связанных с познанием.
|
|
|
|
|
 |
oleg314Пользователь
Сообщения: 31 Регистрация: 03.05.2005
|
|
Добавлено: Ср Май 18, 2005 08:23 |
|
|
|
|
|
|
 |
oleg314Пользователь
Сообщения: 31 Регистрация: 03.05.2005
|
|
Добавлено: Пт Май 20, 2005 16:20 |
|
|
УХУ!
Вот Вам исходник генератора Золотого Сечения на основе описанной модели!
Получается result=0.618 , что и требовалось доказать!!!
С приветом,
Олег К.
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int Gl=7, g=0; // Уровень рекурсии вглубь.
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
int rec()
{
int ret, retUtver;
float i, r;
for(i=1;i<=100000000;i++)
{
r=RAND_MAX;
r=rand()/r;
if(r>0.5) // Позитивное решение
{
ret=1;
break;
}
else // r<=0.5 , т.е. Негативное решение
{
if(g==Gl) ret=1;
else
{
g++;
retUtver=rec();
g--;
if(retUtver==1) // Если решение (негативное) подтверждено...
{
ret=0;
break;
}
}
}
}
return ret;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i, j, n=0, N=100000;
float result;
for(i=1;i<=N;i++) Перебор шариков
{
n=n+rec();
}
result=N;
result=n/result;
Label1->Caption=FloatToStr(result);
}
//---------------------------------------------------------------------------
|
|
|
|
|
 |
УхПользователь
Сообщения: 1110 Регистрация: 20.10.2003
|
|
Добавлено: Пт Май 20, 2005 18:04 |
|
|
Теперь все ясно.
Советую исправить диаграмму состояний - ну чтобы неоднозначности убрать.
Кстати, заметьте: я вычислял соотношение между плохими и хорошими шариками (оно равно ~1.6), а вы - между хорошими и всеми (оно ~0.6).
|
|
|
|
|
 |
oleg314Пользователь
Сообщения: 31 Регистрация: 03.05.2005
|
|
Добавлено: Пн Май 23, 2005 12:25 |
|
|
>> Советую исправить диаграмму состояний - ну чтобы неоднозначности убрать.
Спасибо, исправлю
>> Кстати, заметьте: я вычислял соотношение между плохими и хорошими шариками (оно равно ~1.6), а вы - между хорошими и всеми (оно ~0.6).
В том и суть Золотого Сечения: отношение целого к большей части равно отношению большей части к меньшей...
|
|
|
|
|
 |
oleg314Пользователь
Сообщения: 31 Регистрация: 03.05.2005
|
|
Добавлено: Пн Май 23, 2005 12:28 |
|
|
P.S. 0.618.....=1/1.618..... (Точное равенство, все знаки после запятой совпадают) - свойство Золотого сечения...
|
|
|
|
|
 |
ГудвинПользователь
Сообщения: 180 Регистрация: 26.12.2004
|
|
Добавлено: Ср Май 25, 2005 20:05 |
|
|
|
|
|
|
 |
oleg314Пользователь
Сообщения: 31 Регистрация: 03.05.2005
|
|
Добавлено: Вт Май 31, 2005 08:22 |
|
|
Я понял: рекурсивные процессы трудно осознать по причине рекурсивности псих. процессов, связанных с познанием.
|
|
|
|
|
 |
Кот_БаюнМодератор
Сообщения: 344 Регистрация: 21.10.2003 Откуда: Тюмень
|
|
Добавлено: Ср Июн 01, 2005 08:28 |
|
|
oleg314: Рекурсивные алгоритмы легко осознаются в графической форме при помощи бинарных или сильноветвящихся деревьев. Рекомендую прочесть любую книгу по теории программирования, по структурам и алгоритмам программирования - Кнут, Вирт и т.д.
|
|
|
|
|
 |
oleg314Пользователь
Сообщения: 31 Регистрация: 03.05.2005
|
|
Добавлено: Ср Июн 01, 2005 12:43 |
|
|
А я вот не увлекаюсь теорией программирования! Может, это и плохо... Но не очень хочется ветвиться.
|
|
|
|
|
 |
УхПользователь
Сообщения: 1110 Регистрация: 20.10.2003
|
|
Добавлено: Ср Июн 01, 2005 12:55 |
|
|
Ну просто примите к сведению... Вы же в своей работе нарисовали нечто такое... похожее на дерево. Если поправить ошибки, то получится то, что называется диаграммой состояний...
|
|
|
|
|
 |
oleg314Пользователь
Сообщения: 31 Регистрация: 03.05.2005
|
|
Добавлено: Ср Июн 01, 2005 13:31 |
|
|
Спасибо за совет (серьезно).
Кстати, если Вы понимаете под ошибками надписи "в А" и "в В", то я их удалил (нажмите F5).
|
|
|
|
|
 |
УхПользователь
Сообщения: 1110 Регистрация: 20.10.2003
|
|
Добавлено: Ср Июн 01, 2005 13:33 |
|
|
я под ошибками понимаю тот факт, что сумма вероятностей для стрелок, исходящих из одного узла дерева, больше 1
|
|
|
|
|
 |
oleg314Пользователь
Сообщения: 31 Регистрация: 03.05.2005
|
|
Добавлено: Ср Июн 01, 2005 13:40 |
|
|
Да нафига ж она должна быть равна 1 !?
СНАЧАЛА с вер. 1/2 мы попадаем в правую или левую кучу, а уже ПОТОМ с вер-ю 1-p происходит откат или с вер-ю p - не происходит.
Согласен, нарисовано не очень красиво, ну и ладно, после нас - хоть потоп  .
|
|
|
|
|
 |
УхПользователь
Сообщения: 1110 Регистрация: 20.10.2003
|
|
Добавлено: Ср Июн 01, 2005 13:45 |
|
|
oleg314 писал(а): |
Да нафига ж она должна быть равна 1 !?
СНАЧАЛА с вер. 1/2 мы попадаем в правую или левую кучу, а уже ПОТОМ |
Вот на этого фига оно и надо. Чтобы не объяснять словами, что СНАЧАЛА, а что ПОТОМ - это по диаграмме должно быть видно. Технически достигается разделением каждого узла на два.
Ну это просто стандарт рисования диаграмм такой у компьютерщиков. Вы не обязаны ему следовать, можете и словами пояснять.
|
|
|
|
|
 |
oleg314Пользователь
Сообщения: 31 Регистрация: 03.05.2005
|
|
Добавлено: Ср Июн 01, 2005 13:56 |
|
|
|
|
|
|
 |
oleg314Пользователь
Сообщения: 31 Регистрация: 03.05.2005
|
|
Добавлено: Ср Июн 08, 2005 16:41 |
|
|
А что, закрыли тему, да? Закрыли???
|
|
|
|
|
 |
LeonПользователь
Сообщения: 3371 Регистрация: 03.12.2003 Откуда: москва
|
|
Добавлено: Ср Июн 08, 2005 17:09 |
|
|
Цитата: |
А что, закрыли тему, да? Закрыли???
|
Вы о чем??
|
|
|
|
|
 |
oleg314Пользователь
Сообщения: 31 Регистрация: 03.05.2005
|
|
Добавлено: Чт Июн 09, 2005 17:41 |
|
|
Да я об этой теме и о своей статейке .
|
|
|
|
|
 |
Кот_БаюнМодератор
Сообщения: 344 Регистрация: 21.10.2003 Откуда: Тюмень
|
|
Добавлено: Пт Июн 10, 2005 07:23 |
|
|
oleg314: Когда я был молодой и юный, я создал сайт по теории программирования "Структуры и алгоритмы". Вот оттуда статья по рекурсии http://structur.h1.ru/recurs.htm
Дерзай
|
|
|
|
|
 |
LeonПользователь
Сообщения: 3371 Регистрация: 03.12.2003 Откуда: москва
|
|
Добавлено: Пт Июн 10, 2005 10:03 |
|
|
Не устаю просто поражаться твоей разносторонней развитостью.
|
|
|
|
|
 |
Кот_БаюнМодератор
Сообщения: 344 Регистрация: 21.10.2003 Откуда: Тюмень
|
|
Добавлено: Пт Июн 10, 2005 14:29 |
|
|
Leon: Я - Бесконечно доброе Феноменально умное Чертовски привлекательное Божественно красивое Необычайно работоспособное Беспредельно ответственное Исключительно порядочное Кристально честное Беспрецедентно талантливое Экстраординарное Гипер-сексуальное Не-по-годам развитое Сказочно щедрое Бесподобно бесподобное Невероятно перспективное Беззаветно любящее Легендарно сильное Непостижимо оптимистичное Идеально сложенное Крайне интеллигентное Супер активное создание
|
|
|
|
|
 |
oleg314Пользователь
Сообщения: 31 Регистрация: 03.05.2005
|
|
Добавлено: Чт Июн 16, 2005 14:14 |
|
|
Я тут писал намедни:
"Я понял: рекурсивные процессы трудно осознать по причине рекурсивности псих. процессов, связанных с познанием."
А кстати, правильна ли эта моя мысль?
|
|
|
|
|
 |
УхПользователь
Сообщения: 1110 Регистрация: 20.10.2003
|
|
Добавлено: Чт Июн 16, 2005 15:07 |
|
|
Есть такой программистский анекдот:
"Чтобы понять рекурсию, надо сначала понять рекурсию..."
|
|
|
|
|
 |
oleg314Пользователь
Сообщения: 31 Регистрация: 03.05.2005
|
|
Добавлено: Чт Июн 16, 2005 15:46 |
|
|
Понял, т.е. эта моя мысля - не новость. Но ведь же ж отсюда не следует, что она правильная? А может, это - распространенное заблуждение, ась?
|
|
|
|
|
 |
|