[ /tv/ /rf/ /vg/ /a/ /b/ /u/ /bo/ /fur/ /to/ /dt/ /cp/ /oe/ /bg/ /ve/ /r/ /mad/ /d/ /mu/ /cr/ /di/ /sw/ /hr/ /wh/ /lor/ /s/ /hau/ /slow/ /gf/ /vn/ /w/ /ma/ /azu/ /wn/ ] [ Main | Settings | Bookmarks | Music Player ]

No.5050 Reply
File: Sorting_quicksort_anim.gif
Gif, 129.97 KB, 280×214 - Click the image to expand
edit Find source with google Find source with iqdb
Sorting_quicksort_anim.gif
Скажите, есть ли алгоритм, который бы преобразовывал алгоритмы, которые отличаются но делают одно и то же, во что-то одно? Например, есть несколько алгоритмов сортировки:
1. Пузырьковая
2. Вставками
3. Выбором
4. …
И чтобы из любого такого алгоритма генерировалось какая-то аналогичная хрень, например такое:
A[0..N] //какой-то массив от 0 до N
DO
{
    //Если массив отсортирован, то выходим, иначе FAIL
    EXIT CONDITION : 
    {
        I = 0
        UNTIL (I != (N-1))
        {
            IF (A[I] > A[I+1]) FAIL
            I++
        }
        OK
    }
    //Что можно делать, чтобы сортировать массив
    ACTION 1 :
    {
        N1=CHOICE(0..A); //N1 может принимать значиние в диапазоне
        A[N1]=TMP
        N2=CHOICE(0..A)
        A[N2]=A[N1]
        TMP=A[N2]
    }
}
>> No.5051 Reply
Братюнь, все три сортировки делают РАЗНОЕ. Учи матчасть.
>> No.5052 Reply
>>5051
Результат то один и тот же
>> No.5053 Reply
>>5050
1) набор арифметических операций
2) правило, определяющее эффективность алгоритма и правильность результата для некоего массива операций из набора
3) генетические алгоритмы
4) ?????
>> No.5055 Reply
>>5054
> на основе этого описания можно как-нибудь сгенерировать более оптимальные алгоритмы
говорю же: полуркай генетические алгоритмы
>> No.5056 Reply
Пофиксил
A[0..N] //какой-то массив от 0 до N
DO
{
    //Если массив отсортирован, то выходим, иначе FAIL
EXIT CONDITION :  
    {
        I = 0
        UNTIL I != (N-1)
        {
            IF A[I] > A[I+1] FAIL
            I++
        }
        OK
    }
    //Что можно делать, чтобы сортировать массив
ACTION 1 :
    {
        N1=CHOICE(0..A) //N1 может принимать значиние в диапазоне
        TMP=A[N1]
        N2=CHOICE(0..A)
        A[N1]=A[N2]
        A[N2]=TMP
    }
}
Смысл в том, чтобы найти или сделать какой-то алгоритм, который бы превращал любые алгоритмы, которые дают одинаковый вывод (например, разнообразные алгоритмы сортировки) в одно и то же, что являлось как-бы описанием самой задачи. Возможно, на основе этого описания можно как-нибудь сгенерировать более оптимальные алгоритмы решения задачи
>> No.5058 Reply
>>5055
Как генетические алгоритмы помогут перевести всё возможные тождественные алгоритмы, решающие одну задачу, в нечто одинаковое?
>> No.5060 Reply
>>5058
Очевидно, что среди тождественных алгоритмов есть самый производительный. Следовательно, теоретически возможно, что правильно построенный генетический алгоритм будет преобразовывать любой из тождественных алгоритмов к самому производительному. Хотя не следует забывать, что генетические алгоритмы используются не для нахождения критических точек, а нахождения удовлетворительных результатов за отведённое время. Другими словами, если ты хочешь улучшить один алгоритм - генетика поможет, а вот для превращения разных алгоритмов в однои тоже - не совсем.
Но зачем тебе оно нужно-то вообще? Вот оптимизация алгоритмов - это хорошая, полезная задача.
>> No.5061 Reply
>>5060
> Следовательно, теоретически возможно, что правильно построенный генетический алгоритм будет преобразовывать любой из тождественных алгоритмов к самому производительному.
Лучше привести его с самому непроизводительному, т.е. примерно к тому виду, который указан в >>5056
Иными словами мы какбы говорим компьютеру: У нас есть массив. Ты можешь менять два элемента массива местами. Добейся как-нибудь того, чтобы каждый следующий элемент массива был больше или равен предыдущему (отсортируй по возрастанию).
Вот только как привести любой сортировочный алгоритм в такой прямолинейный
> Но зачем тебе оно нужно-то вообще?
Проверить одинаковость поведения при рефакторинге, например
>> No.5062 Reply
>>5061
> Проверить одинаковость поведения
цикл, на каждой итерации которого в оба алгоритма подают одинаковые входные данные и затем сличают результаты. входные данные генерируются рандомно. чем больше итераций, тем больше вероятность, что алгоритмы делают одно и то же.
>> No.5063 Reply
>>5061
> Вот только как привести любой сортировочный алгоритм в такой прямолинейный
1) набор операций - "поменять два элемента мествами"
2) правило, определяющее эффективность алгоритма и правильность результата для некоего массива операций из набора - чем короче, тем лучше; должно давать такой же результат, как и указанная функция, скажем, для 100000 случайных входных последовательностей.
3) генетические алгоритмы
4) ?????
>> No.5064 Reply
>>5062
А если это какая-то очень сложная штука, которая работает очень долго, котороя принимает много входных данных?
Меня интересует именно приведение тождественных, но разных по внутренней структуре алгоритмов, к чему-то единому, что описывало бы саму суть задачи, которую решают эти алгоритмы.
>> No.5065 Reply
Есть ли такой алгоритм, который бы на основании данных об окуржающем ентит алгоритм мире формировал бы (и автоматически доказывал) гипотезы?
>> No.5066 Reply
>>5065
Define гипотезы
>> No.5067 Reply
>>5065
Думаю, можно сделать. Только вот формирование гипотез будет основано на рандоме. Нужно придумать, как отбирать интересные гипотезы от второсортного шлака.
>> No.5068 Reply
>>5066
дискретная математика же, там всё определено
>> No.5073 Reply
>>5050

Ты что, искусственный интеллект хочешь написать? Или как? Или ты хочешь, чтоб прога выбрала рандомно, какую из подпрог выбирать для решения задачи? Ну ты же имеешь в виду "Как сделать из тучи способов решения задачи какой-то один?" Т.е. я понял, твой вопрос можно свести, например, к: "Задача: прибавить к 4 5, результат записать в a", алгоритмы решения: "a=0; a=a+1; a=a+1; a= a+1; a=a+1; a=a+1; a=a+1; a=a+1; a=a+1; a=a+1" или "a=3; a=a+1; a=a+5" или "a=4; a=a+5". Так шоле?
>> No.5074 Reply
>>5056

Стоп-стоп-стоп, так тебе нужно, что прога распарсивала на основе каких-то данных, какая задача была поставлена? А потом придумать свой оптимальный алгоритм? Фактически прога должна решить два IQ-задания, я так понял?
>> No.5075 Reply
>>5073
> Стоп-стоп-стоп, так тебе нужно, что прога распарсивала на основе каких-то данных, какая задача была поставлена?
Примерно так. Если точнее, то приводить программу к виду, наподобии >>5056
> А потом придумать свой оптимальный алгоритм?
Об этом я тоже думал, но это, наверно, слишком сложно
>> No.5076 Reply
>>5075

Я, если честно, боюсь ошибиться в распарсивании 5056, ибо я из С знаю пока что только { void main()

\\описание переменных

}

Вот сейчас попробую еще раз сделать одну вещь, а потом создам топик по С с ламерским вопросом :)

Но т.к. я на школьной информатике "программировал" на паскале, то знаю кое-какие элементы логики

если у тебя В ОБЩЕМ есть какие-то алгоритмы и тебе нужно написать прогу, которая бы распарсила, что ими хотели сделать, то это в принципе можно сделать, но это будет называться "очень хреновонадежным искусственным интеллектом". А если хочешь что-то годное, то писать тебе надо будет самый настоящий искусственный интеллект. А эта задача не ограничивается возможностью распарсить конкретно одну твою задачу.

Ну,это насколько я понимаю. Не исключаю, что я тупой мудак
>> No.5078 Reply
А! чувак! Можно как-то записать коды в переменную типа "Стринг" и сравнивать.. если делает то-то, то такая-то задача. Не?


5076
>> No.5079 Reply
>>5078
Какие коды, как их обрабатывать?
>> No.5080 Reply
File: 1281616637751.jpg
Jpg, 45.28 KB, 604×453 - Click the image to expand
edit Find source with google Find source with iqdb
1281616637751.jpg
Вы чего, парни?
>> No.5082 Reply
Ваша идея-говно, вы ничего не понимаете в алгоритмах.

"Производительность" - не единственное свойство алгоритма.
Есть еще требования к памяти, ко входным данным, к схеме доступа к этим данным и так далее.
Выработать идеальный алгоритм невозможно (и не нужно).

Для того, чтобы определить эквивалентность двух алгоритмов, можно установить, что для произвольного набора входных данных выходные данные от алгоритмов совпадают.
Это можно сделать, например, перебрав все возможные входные данные. ЧТО СОВЕРШЕННО НЕРЕАЛЬНО СДЕЛАТЬ.

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

Тогда для доказательства эквивалентности будет необходимо привести оба алгоритма к каноническому виду и сравнить.

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

Кури дискретную математику, теорию алгоритмов.

Есть еще вариант с нейросетью...
>> No.5086 Reply
>>5082
> Есть еще вариант с нейросетью...
Ну так, а это разве не есть искусственный интеллект фактически?
>> No.5087 Reply
>>5086
Узлов и связей гораздо меньше.
>> No.5088 Reply
>>5082

Не, чувак, ты не совссем понял. Эквивалентность алгоритмов дана.
> привести оба алгоритма к каноническому виду
Вот, что нукжно сделать ОП-у! И не для того, чтоб что-то доказать. Это конечная задача.
>> No.5089 Reply
>>5087

Ну не фактически, но в принципах своих тогда
>> No.5093 Reply
>>5088
Ты хуй сломаешь, пытаясь доказать существование и единственность.
>> No.5100 Reply
УЁБКИ ITT НЕ ЗНАЮТ О ТЕОРЕМЕ РАЙСА
>> No.5105 Reply
>>5100
Теорема Райса не работает для реальных алгоритмов, для которых ограничена доступная память и(или) количество шагов
Для реальных алгогртмов, для которых ограничена доступная память также неактуальна проблема остановки. Можно определить, завершится ли когда-либо такая программа при некоторых входных данных. Могу предоставить доказательства обоих утверждений
>> No.5112 Reply
>>5050
itt дети фантазируют о том, что программирование - изобретение квиксорта
>> No.5117 Reply
>>5105
> Могу предоставить доказательства обоих утверждений
Конечно запили, няша.
>> No.5120 Reply
File: modest_6_th.jpg
Jpg, 43.36 KB, 580×200 - Click the image to expand
edit Find source with google Find source with iqdb
modest_6_th.jpg
>>5117
1. Доказательство, что теорема Райса не работает для реальных алгоритмов, для которых ограничена доступная память
Алгоритм, у которого ограничена доступная память, не может в качестве входных данных обрабатывать какой угодно длинны кусок данных, есть ограничения. Перебираем все возможные варианты входных данных для одного алгоритма, потом для другого, производим сравнение. Если все одинаково, значит алгоритмы работают одинаково в области допустимых входных данных. Если нет - значит нет.
Если какой-то алгоритм при определенных входных данных зависает, можно использовать метод 3. для выявления зависаний
2. Доказательство, что теорема Райса не работает для алгоритмов, для которых ограничено количество шагов (действий)
Если ограничить количество действий, которые алгоритм может сделать(процессорное время), то какой угодно алгоритм когда-нибудь или выйдет от недостатка действий (например, если произойдет зависание или алгоритм будет слишком медленный) или корректно отработает и выдаст результат. За ограниченное количество шагов невозможно успеть использовать неограниченное количество памяти. За ограниченное количество шагов невозможно успеть обрабатывать какой угодно длинны входной кусок данных. Значит, мы можем представить, что объем памяти и количество вариантов входных данных ограничено. В итоге, доказательство 2 сводится к доказательству 1.
3. Проблема остановки. Допустим, есть некоторый алгоритм, которому выделено 1мб памяти. В этой памяти полностью хранится состояние алгоритма. После каждого "шага" процессора, делаем дамп этой области в базу данных. Сохраняем и сравниваем каждое последующее состояние с теми состояниями, которые уже есть в базе. Если в какой-то момент состояние алгоритма точно соответствует состоянию, которое этот алгоритм уже принимал, то это означает зависание. Алгоритм в ограниченной области памяти не может принимать неограниченное количество состояний. Если алгоритм зависает, то его состояние когда-то обязательно будет повторяться. И наоборот, если состояние повторяется, то алгоритм однозначно завис.
Надеюсь, мои доказательства не слишком корявые. Надеюсь, ошибок нет. Спрашивайте, если что-то не понятно.
>> No.5122 Reply
>>5120
Почитал, дырок не вижу. Но! Чтобы ломовым перебором тестировать алгоритмы, нужен охуенный кластер.
Так что конь. Сферический. В вакууме.
>> No.5124 Reply
>>5122
Я просто предоставил доказательство, что такое возможно. Может, есть более оптимальные алгоритмы определения тождественности алгоритмов, чем полный перебор всех возможных значений. Про приведение разных алгоритмов, рещающих одну и ту же задачу, к некоторому единому виду, еще ничего не ясно как это сделать.
>> No.5125 Reply
>>5124
Ну как - вводим группу тождественных преобразований над алгоритмом и хау-ау.
Так же, как с функциями алгебры логики, короче.
>> No.5127 Reply
>>5125
Проще сказать, чем сделать
>> No.5129 Reply
>>5127
Можно попытаться начать с чего-нибудь простого. С машины Поста, например.
>> No.5131 Reply
>>5122
> Чтобы ломовым перебором тестировать алгоритмы, нужен охуенный кластер.
Все не так просто.
Если кластер используем, то и найденный ответ будет справедлив лишь при работе с этим же кластером. А все потому, что доказательство опирается на текущую конфигурацию. Заменил любой элемент и оно уже неверно: добавил плашку памяти - изменился доступный объем - алгоритму хватило места разместить свои данные, заменил проц - а у них разные errata - алгоритм изменил поведение.
>> No.5133 Reply
>>5131
Запускать в эмуляторе, где эмулируется конкретный процессор и конкретный набор инструкций, который выделяет какой-то конкретный объем памяти для алгоритма. Кластер хорош тем, что можно все это неплохо распараллелить
>> No.5136 Reply
>>5133
Вы тут обсуждаете различные реализации детерминированного конечного автомата?

WAIT!
Хотите записать в виде >>5056 ?
OH SHI~
>> No.5141 Reply
>>5133
> Запускать в эмуляторе, где эмулируется конкретный процессор и конкретный набор инструкций, который выделяет какой-то конкретный объем памяти для алгоритма.
Ты пост прочитал? Понял мысль? Повторю: это "доказательство" "справедливо" лишь на определенном железе (а ты еще ко всему прочему хочешь баги промежуточного слоя софта добавить), хоть ты сто миллиардов виртуалок и эмуляторов запусти.
>> No.5143 Reply
>>5141
> это "доказательство" "справедливо" лишь на определенном железе (а ты еще ко всему прочему хочешь баги промежуточного слоя софта добавить)
Это "доказательство" можно сделать на любом железе. Промежуточный слой софта возможно написать без багов, чтобы он точно эмулировал различные конфигурации процессор-оперативка. Используя любой тьюринг-полный машинный код, можно эмулировать с абсолютной 100% точностью любой другой машинный код, если для этого хватает оперативной памяти
>> No.5144 Reply
>>5141
Прекрати курить траву мудак. Железо виртуальное, реализуется на любой платформе. Хоть жаба, блеать.
>> No.5145 Reply
>>5143
> тьюринг-полный машинный код
Всмысле, тьюринг-полный машинный набор команд. Набор команд процессора. Ну вы понели
>> No.5149 Reply
>>5145
С одним набором команд полноты по Тьюрингу не будет. ВНЕЗАПНО.
>> No.5150 Reply
>>5144
Какой же ты тупой тирачевский долбоеб.
Даже если каким-то чудом в софте не оказалось ошибок (а это только в hello world возможно), то железо 100% имеет errata, не знал об этом, сученок? Возьми учебник по квантовой механике и сразу засунь его себе вместо дилды - осилить его ты все равно не сможешь.
>> No.5151 Reply
>>5150
Ви таки сами себе противоречите, молодой человек. Из-за ошибок в железе даже хелло ворлд упадет.
Далее, мой юный, неоперившейся тролль, заметим, что для решения проблем с железом имеются аппаратные алгоритмы поиска и коррекции ошибок, а также методология доказательного программирования.
Далее, имеются математически доказанные способы построения электронных узлов, в которых даже неверная работа нескольких элементарных логических узлов не будет влиять на выдачу правильного результата.

А еще далее, мы рассматриваем практическую реализацию процесса. Так что вероятность неверной работы, даже в 1% нас устраивает.
>> No.5154 Reply
>>5151
Самый смак в том, что я (или кто-то другой) за то же самое время, сколько ты потратишь на свои анальные обряды с отловом железячных багов, реализую алгоритм с меньшей сложностью, попутно доказав его корректность математически, поэтому он будет рабочим на любой архитектуре (в отличие от твоих псевдодоказательств частных случаев), да еще после этого останется добуя времени.
>> No.5155 Reply
>>5154
Что еще брякните, молодой человек?
>> No.5158 Reply
>>5154
Если ты тот хуй, что основывал свои витиеватые рассуждения на железе, то ты опроверг сам себя. Таким раком у тебя выходит, что алгоритм сам себе не эквивалентен, так при числе запусков стремящемся к бесконечности, где-то что-то (читай свои посты) наебнется и пиздец.
>> No.5165 Reply
>>5105
O MAI FUCKIN GOD!

золотце, тебя на нульче мало говном кормят?
на боброчан за добавкой пришел?

сагаю и скрываю
>> No.5167 Reply
>>5165
> золотце, тебя на нульче мало говном кормят?
Что еще за золотце? Доказательство вот >>5120. Если есть ошибки в доказательстве, показывай их
>> No.5173 Reply
>>5050
наркоманы и уёбки ITT. ОП - хуй, у него все алгоритмы одинаковы, он щаз докажет что P=NP.
s&h
>> No.5174 Reply
File: fWX.jpeg
Jpeg, 40.97 KB, 399×543 - Click the image to expand
edit Find source with google Find source with iqdb
fWX.jpeg
>> No.5175 Reply
>>5167
Тотемное животное Ычана И Жопочана.
Любой пост с отрицанием бесконечности, теории пределов, теории алгоритмов, упоминанием языка Lisp и др. приписывается ему.
Catch Phrase - слив защитан(sic!)
>> No.5179 Reply
File: Halting_problem.c
C, 0.00 KB, 0 lines - Click the image to get file
view edit
Halting_problem.c
Вот какбы пример решения проблемы остановки.
>> No.5180 Reply
>>5179
ты смотри попец себе не порви, Золотой.
твои жалкие попытки что-то там опровергнуть у вменяемых людей даже сочувственную усмешку не вызывают.
>> No.5181 Reply
>>5180
Неуважаемый поклонник ЗоЗо, успокойтесть.
>> No.5182 Reply
File: 1280404223.jpg
Jpg, 37.65 KB, 640×360 - Click the image to expand
edit Find source with google Find source with iqdb
1280404223.jpg
>>5181
А не то что?? Твой анус от боли разорвет?
>> No.5183 Reply
>>5182
Да я о вашем беспокоюсь. Еще смазки?
>> No.5195 Reply
ну чтоза тупые мудаки, прежеде чем срать в сети, почитайте книжек умных блять.
>>5056
> найти или сделать какой-то алгоритм, который бы превращал любые алгоритмы, которые дают одинаковый вывод (например, разнообразные алгоритмы сортировки) в одно и то же, что являлось как-бы описанием самой задачи.
например, задача детектирования тождественности 2х алгоритмов - алгоритмически неразрешима.
> Очевидно, что среди тождественных алгоритмов есть самый производительный.
очевидно что нихуя подобного.
и очевидно что для этого не надо читать книжек.
сажа тупому треду.
>> No.5196 Reply
>>5195
> например, задача детектирования тождественности 2х алгоритмов - алгоритмически неразрешима.
Например, разрешима. Даже есть доказательство >>5120
> очевидно что нихуя подобного.
Обоснуй.
>> No.5198 Reply
>>5196
> Алгоритм, у которого ограничена доступная память, не может в качестве входных данных обрабатывать какой угодно длинны кусок данных
и сразу феил.
> Обоснуй
у тебя в носу хуй.
тупица блеадь.
>> No.5201 Reply
>>5198
Расслабься, бро, мы тут Золотце прикармливаем.
>> No.5204 Reply
Решил перестать быть быдлокодером, и вникнуть в эту вашу теорему Райса.
Читал отсюда:
http://ru.wikibooks.org/wiki/Чего_не_могут_вычислительные_машины#.D0.A2.D0.B5.D0.BE.D1.80.D0.B5.D0.BC.D0.B0_1
ибо не знаю например про рекурсивно перечислимые функции, а тут без них обходятся.
Собственно вопрос: чтоза хуйня в последнем предложении? Нихуя не понял, бред же.
>> No.5206 Reply
>>5198
> Алгоритм, у которого ограничена доступная память, не может в качестве входных данных обрабатывать какой угодно длинны кусок данных.
и сразу феил.
Нет, ты фейл. Входные данные помещаются в эту самую ограниченную память, а не считываются по ходу.
У сферической МТ, или МП, например, память неограничена.
>> No.5209 Reply
>>5206
> Входные данные помещаются в эту самую ограниченную память, а не считываются по ходу.
Сам придумал?
> У сферической МТ, или МП, например, память неограничена.
И даже в таких идеальных условиях теоремы Тьюринга и Райса неразрешимы.
Может ты и проблемы из списка Гильберта не напрягаясь "разрешишь"? Мы ждем свершений, няша.
>> No.5212 Reply
>>5209
> Сам придумал?
Я уже примерно догадываюсь, что имеешь ввиду какую-то хеш-функцию. Если это некоторая хеш-функция или типа того, то она будет обрабатывать вохдные данные еще до завершения ввода, как бы "ужимать" их. Если программа ограничена в памяти, то что бы мы туда не вводили, программа по любому будет иметь ограниченое количество состояний на момент окончания ввода. Следовательно, у нее будет ограниченое количество вариантов "ответа".
#include <stdio.h>
int main(void)
{
    int a=0;
    unsigned char c=0, g;
    while (a != -1)
    do
    {
        c = a ^ c;
        g = c + a;
        a = getchar(); 
    }
    while (a != -1);
    //ВВОД ОКОНЧЕН
  
    c = c - g; //допустим, мы совершаем какие-то еще действия
  
    printf (" %d", c);
    return 0;
}
нам абсолютно неважно, сколько времени мы потратили на вбивание символов в эту программу. После ЕOF, переменная c и g будет иметь значение от 0 до 255. Программа какбы ужимаем входные данные в эти две переменные. Вот тебе эквиавлент этой программы без ужимания ввода в две переменные, а просто тупо вводя эти две переменные. Таким образом, задача сводится к задаче нахожнения вот этого:
#include <stdio.h>
int main(void)
{
    unsigned char c, g;
    g = getchar();
    с = getchar();
    //ВВОД ОКОНЧЕН
    c = c - g; //допустим, мы совершаем какие-то еще действия
    printf (" %d", c);
    return 0;
}
а тут уже не какой угодно кусок данных. Какой угодно кусок данных просто становится этими двумя переменными. Понимаешь?


Ок, может ты имел ввиду программу, которая непрерывно обрабатывает поступающую в него информацию и начинает выводить результат до окончания ввода? Например дельта-кодирование
#include <stdio.h>
int main(void)
{
    int a=0;
    unsigned char b=0;
    while (a != -1)
    do
    {
        b = a;
        a = getchar();
        putchar (a-b);
    }
    while (a != -1);
    return 0;
}
Эта задача то же самое, что многократное решение задачи вида:
#include <stdio.h>
int main(void)
{
    unsigned char b, a;
    b = getchar();
    a = getchar();
    putchar (a-b);
    return 0;
}
до наступления EOF
И у нас тут будет две ограниченые переменные a и b. И вывод на каждом шаге цикла будет зависеть от них. Улавливаешь? Или тебе нужно расписать настолько подробно, чтобы даже имбецил понял?
> И даже в таких идеальных условиях теоремы Тьюринга и Райса неразрешимы.
Именно в таких идеальных условиях теоремы Тьюринга и Райса неразрешимы. Если ограничить память, то они вполне разрешимы.
>> No.5213 Reply
>>5212
Во-первых: tl;dr
Во-вторых: I FOLD =)
> Я уже примерно догадываюсь, что имеешь ввиду какую-то хеш-функцию. Если это некоторая хеш-функция или типа того, то она будет обрабатывать вохдные данные еще до завершения ввода, как бы "ужимать" их.
Жги еще, это становится все интереснее...
> Именно в таких идеальных условиях теоремы Тьюринга и Райса неразрешимы. Если ограничить память, то они вполне разрешимы.
Да, мы уже видели, как разрешилась проблема "обосраться на людях" в исполнении Позолоченного.
>> No.5214 Reply
File: 1277305276898.jpg
Jpg, 82.82 KB, 800×544 - Click the image to expand
edit Find source with google Find source with iqdb
1277305276898.jpg
>>5213
Бро, тебе еще учиться и учиться.
>> No.5215 Reply
>>5212
Люди ждут разрешение проблем Гильберта, не игнорируй и не заставляй ждать.
>> No.5216 Reply
File: 374962866ab0fd0.jpg
Jpg, 49.42 KB, 928×614 - Click the image to expand
edit Find source with google Find source with iqdb
374962866ab0fd0.jpg
>>5215
Кто тебе сказал, что я тут собираюсь решать проблемы Гильберта?
>> No.5217 Reply
>>5216
О-о-о, Золотце, разочаровал ты нас, такой тупой, что даже не знаю теперь, как твоим постам верить.
>> No.5243 Reply
Есть способ привести любые две разные программы, которые решают что-то одно, к некоторому единому виду. Перебрать все допустимые варианты входных данных и сделать таблицу поиска. Для алгоритмов, рещающих одну и ту же задачу разными способами, таблица должна совпадать
http://ru.wikipedia.org/wiki/Таблица_поиска
>> No.5250 Reply
>>5213
itt мы наблюдаем идиота, верящего в то, что он общается с ЗоЗо.
Более того, этот идиот настолько свихнулся, что аналогично ЗоЗо путается в понятиях теории и практики.
И да, у меня есть мнение, что АнтиЗоЗо и просто ЗоЗо - одно и то же %username%
>> No.5254 Reply
>>5243
char* foo1(char* arg1, char* arg2, char* arg3) { /* magic */ }
char* foo2(char* arg4, char* arg5, char* arg6, char* arg7) { /* magic-2 */ }
Приступай, няша.

с:имижборды зайди
>> No.5255 Reply
>>5250
"Золотце - любой долбоеб, отрицающий очевидные, проверенные тысячелетиями, вещи"
>> No.5257 Reply
>>5254
> Приступай, няша.
К чему?
>> No.5259 Reply
>>5250
> у меня есть мнение, что АнтиЗоЗо и просто ЗоЗо - одно и то же %username%
> itt мы наблюдаем идиота, верящего в то, что он общается с ЗоЗо.
>> No.5260 Reply
>>5257
ХУЙ СОСАТЬ
Приводить к единому виду.
>> No.5261 Reply
>>5260
Что нужно вводить и что нужно выводить? Если ничего, то вот тебе ответ
int main(void) 
{
    return 0;
}
>> No.5263 Reply
>>5254
Разве не подразумевалось, что функции должны принимать одни и те же наборы аргументов?
>>5261
Он привёл прототипы двух функций, намекая, если я правильно понял, что "Перебрать все допустимые варианты входных данных" не получится. С какими-нибудь интами, просто в теории, ещё получилось бы, а указатель на массив char (с различными возможными значениями) может передавать алгоритму слишком много информации - столько, что не то что на современном железе, а вообще в обозримом будущем не перебрать (т.е., скажем, пробрутить все 4096-битные RSA-ключи - т.е. перемножить хуеву тучу простых чисел и где-то сохранить - является плёвой задачей в сравнении с этим).
Но в теории, конечно, если объём входных данных хоть как-то ограничен - возможно просчитать всё и сравнить вывод двух алгоритмов.
Алсо, более практичный, но не доказывающий ничего способ - проверить, скажем, 100к вариантов, при этом учитывая входные и выходные данные (количество информации в них).
>> No.5274 Reply
>>5263
> но не доказывающий ничего способ - проверить, скажем, 100к вариантов, при этом учитывая входные и выходные данные (количество информации в них).
> но не доказывающий ничего
> но не доказывающий ничего
> но не доказывающий ничего
Вот именно.
>> No.5277 Reply
>>5274
Если проверить весь диапазон возможных входных данных (что теоретически возможно, но практически нереализуемо) то доказать тождественность можно. Но может есть более простой путь доказать тождественность?
>> No.5295 Reply
>>5277
Хули ты "доказать тождественность", сука? Школие ебаное, иди хуйца лучше пососи, если ничего поумнее придумать не мог. Доказать тождественность он, блядь.
>> No.5299 Reply
>>5277
> что теоретически возможно, но практически нереализуемо
И теоретически тоже невозможно.
>> No.5301 Reply
>>5295
> Хули ты "доказать тождественность", сука? Школие ебаное, иди хуйца лучше пососи, если ничего поумнее придумать не мог. Доказать тождественность он, блядь.
Таблетки выпил?
>>5299
> И теоретически тоже невозможно.
Как раз возможно. Я даже показал, как это возможно сделать. Это возможно сделать, перебрав все варианты и сравнив ответы для них.
>> No.5303 Reply
>>5301
> Как раз возможно. Я даже показал, как это возможно сделать. Это возможно сделать, перебрав все варианты и сравнив ответы для них.
Ты снова вышел на связь, мудило?
Сколько можно заставлять меня кормить тебя говном?
Еще не дошло до твоего микромозга, что твои сферические "переборы вариантов" не имеют никакого смысла?
>> No.5310 Reply
>>5303
> Еще не дошло до твоего микромозга, что твои сферические "переборы вариантов" не имеют никакого смысла?
Ты можешь чем-нибудь обосновать свои слова, кроме оскорблений?
>> No.5311 Reply
>>5310
Весь тред в контр-аргументах, слепой ты полудурок, другое дело - банальное их игнорирование. Чукча не читатель?
>> No.5314 Reply
>>5311
чукча не человек.
>> No.5316 Reply
>>5311
> Весь тред в контр-аргументах
Где?
>> No.5317 Reply
>>5052 нет, и результат разный. Учи матчасть, кому говорю.
>> No.5358 Reply
> нет, и результат разный.
Ну конечно же, результат пузырьковой сортировки будет совсем не таким, как результат сортировки вставками.
А еше 2+1+2 != 2+3
>> No.5363 Reply
>>5358 ты начинаешь меня злить. Во-первых, осиль понятие стабильной сортировки. Во-вторых, не сравнивай компьютерные алгоритмы с математическими формулами. Алгоритмы имеют побочные эффекты, которыми в математике пренебрегают.
>> No.5364 Reply
>>5363
> Во-первых, осиль понятие стабильной сортировки.
Я знаю про стабильные-нестабильные сортировки. Скорость работы алгоритма сортировки это не результат сортировки. Результат сортировки это отсортированный массив. Результат сортировки для любых правильных алгоритмов сортировки будет одинаковым. Считаешь иначе?
>> No.5365 Reply
НЕ КОРМИТЕ ЗОЛОТЦЕ!
>> No.5375 Reply
> Я знаю про стабильные-нестабильные сортировки.
> Результат сортировки для любых правильных алгоритмов сортировки будет одинаковым.
свободен, петушок
>> No.5377 Reply
>>5375
Больше нечего сказать? Аргументы будут?
>> No.5378 Reply
> Я знаю про стабильные-нестабильные сортировки.
Что такое стабильная сортировка? Не ищи в гугле, ответь сразу.
>> No.5390 Reply
>>5378
У которой скорость работы в среднем одинаковая, не сильно меняется от входных данных
>> No.5391 Reply
File: 1285158757870.png
Png, 1.03 KB, 300×20 - Click the image to expand
edit Find source with google Find source with iqdb
1285158757870.png
>>5390
> скорость работы
> скорость работы
> скорость работы
> скорость работы
охрененно эпичное
>> No.5395 Reply
>>5391
> скорость работы
Да, на самом деле дело в самой реализации алгоритма. Но чтобы доказать тождественность, реализации алгоритма знать не обязательно. Достаточно знать, что алгоритмы дают одинаковые ответы для всех допустимых входных данных. Разве нет?
>> No.5398 Reply
>>5395
Быдлецо так и не поняло, что конкретно выстебали. Уже можешь возвращаться в деревенское ПТУ.
>> No.5400 Reply
>>5395
define "алгоритм"
>> No.5401 Reply
>> No.5402 Reply
>>5401
Птушничек хвастается википедией.
>> No.5403 Reply
Пора кончать этот цирк.
Доказывай, Золотце, "эквивалентность" "алгоритмов":
int gold1(int a)
{
   if (rand()%10) while(1);
   else return gold2(rand());
}

int gold2(int b)
{
   while(rand()%20) b += rand();
   return b * gold1(b);
}
rand(), разумеется, недетерминированный.
>> No.5409 Reply
>>5390
> У которой скорость работы в среднем одинаковая, не сильно меняется от входных данных
Неверно. Стабильная сортировка не меняет относительного положения элементов с одинаковыми ключами.
>> No.5437 Reply
>>5403
> rand(), разумеется, недетерминированный.
Напиши мне недетерминированный rand()
>> No.5438 Reply
File: qrbg121small.jpg
Jpg, 35.59 KB, 468×304 - Click the image to expand
edit Find source with google Find source with iqdb
qrbg121small.jpg
>> No.5439 Reply
>>5438
Это девайс же. Эмулятор у него есть?
>> No.5449 Reply
>>5403
> Золотце
Звучит крайне уёбищно, поэтому мимокрокодил (>>5263) вбросит контраргумент. Алсо, тред читал через сообщение.
> rand(), разумеется, недетерминированный.
Не бывает - всё в мире детерминировано, у каждого следствия есть причина. Это очевидно, а обратное не доказано (гипотезы норкоманов не считаем за доказательства же), а строить новые теории на недоказанном и сомнительном - уебанство.
>>5438 - явные входные данные, если не вписать полностью этот (неизвестный пока, если я правильно понимаю суть действия девайса) алгоритм генерации псевдослучайных чисел в программу. Учитывая, что и бросок монеты полностью хуй опишешь на практике, можно отмести вообще из-за непрактичности - в реальных алгоритмах не встретится. Либо рассматривать всё-таки как входные данные.
> while(1);
Хорошо, конечно, но раз уж не ебём мёртвую теорию - такого не встретится в реальных алгоритмах, если их писали не норкоманы. И это - лишь примитивная (хотя и действенная) палка в колёса примитивного и прямолинейного алгоритма проверки. Добавляем проверку на зацикленность - и получаем ещё один фейл твоего высера.
>> No.5455 Reply
>>5449
Ты - Золотце-2 или просто вбросил??
> всё в мире детерминировано, у каждого следствия есть причина. Это очевидно
Мда, таки золотой-2.
Не бывает ничего очевидного, докажи обратное.
> строить новые теории на недоказанном и сомнительном - уебанство.
Но тем не менее, именно этим Золотце, а теперь и и ты, занимаетесь.
> бросок монеты полностью хуй опишешь на практике
> можно отмести из-за непрактичности
> в реальных алгоритмах не встретится
Что еще спизданешь? Только у золотых доказательства строят на словесно-поносном "в реальных не встретится". Как у ваших принято - "слив зощитан".
> Либо рассматривать всё-таки как входные данные.
А вот хуй. Это внешние, недоступные тебе данные.
> такого не встретится в реальных алгоритмах, если их писали не норкоманы.
Да мы уже поняли, что кроме "норкоманов" уже не осталось "аргументов".
> примитивного и прямолинейного алгоритма проверки
Верифицируй заодно и его.
>> No.5465 Reply
>>5455
> Это внешние, недоступные тебе данные.
Почему их нельзя назвать входными данными?
Давай, показывай недетерминированный rand() реализованный без привлечения внешних входных данных. Или такого не бывает?
>> No.5467 Reply
>>5455
Представь нам алгоритм эмуляции всей физики броска монеты, а заодно и 5438-девайса, Золотце.
>> No.5468 Reply
>>5455
Ты действительно настолько тупой, или так хорошо притворяешься?
>> No.5470 Reply
>>5449

Тиречер детектед. :3
>> No.5471 Reply
>>5468

А этот пост принадлежит автору >>5449, угадал? ^_^
>> No.5473 Reply
>>5470
Да, раньше бывал там.
>>5471
Нет, мои посты в этом треде - >>5263 и >>5449. После >>5455 отвечать не стал, т.к. очевидная демагогия.
>> No.5474 Reply
>>5473

Ладно, прости тогда. Господь любит тебя.


Password:

[ /tv/ /rf/ /vg/ /a/ /b/ /u/ /bo/ /fur/ /to/ /dt/ /cp/ /oe/ /bg/ /ve/ /r/ /mad/ /d/ /mu/ /cr/ /di/ /sw/ /hr/ /wh/ /lor/ /s/ /hau/ /slow/ /gf/ /vn/ /w/ /ma/ /azu/ /wn/ ] [ Main | Settings | Bookmarks | Music Player ]