GotAI.NET

Форум: Проблемы искусственного интеллекта

 

Регистрация | Вход

 Все темы | Новая тема Стр.5 (7)<< < Пред. | След. > >>   Поиск:  
 Автор Тема: На: Задачка на сообразительность
гость
204.85.191.*
На: Задачка на сообразительность
Добавлено: 19 янв 19 13:08
стартапы нужно делать, хайпы
[Ответ][Цитата]
гость
188.170.173.*
На: Задачка на сообразительность
Добавлено: 19 янв 19 13:21
Добавление к своему предыдущему сообщению, насчет разницы в производительности старых и новых компьютеров.

На AMD Athlon(tm) XP 2500+ время выполнения этого кода - 266 мс.
На Intel G3420 - от 15 до 30 мс.

Причем, почему-то на старом компе это время колеблется в довольно узких пределах 250-270 мс, то есть несколько процентов, а на новом в широких пределах - разница доходит до 100 процентов.
[Ответ][Цитата]
гость
77.247.181.*
На: Задачка на сообразительность
Добавлено: 20 янв 19 4:25
Цитата:
Автор: гость

Небольшое улучшение. Предыдущий код выполнялся у меня 375 мс. Этот код выполняется 266 мс. Все осталось на местах, только добавилось одно условие

int a=1000000;
int i=0;
int s=0;
int prom=0;

int * data = new int [a]; for (i=0; i<a; i++) {data=i;}

for (i=0; i<a; i++)
{
if (data[i]==i)//меняем местами только те элементы, которые еще не меняли.
{
s= random(a);
prom = data[s]; data[s]= data[i]; data[i]= prom;
}
}
Цитата:
[i]Автор: гость

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

На AMD Athlon(tm) XP 2500+ время выполнения этого кода - 266 мс.
На Intel G3420 - от 15 до 30 мс.

Причем, почему-то на старом компе это время колеблется в довольно узких пределах 250-270 мс, то есть несколько процентов, а на новом в широких пределах - разница доходит до 100 процентов.
Круто! У меня на i7 3770 в продакшн режиме, первый вариант 26мс(среднее за 100 тестов) и второй с условием 21мс. Очень НЕ-КУ-ЙО-ВО, очень мля...

Можно с гордостью(для Вас) провозгласить что задача блестяще решена! Посыпаю Вас лепестками роз, коксом и золотой пылью с недр сверхновых звёзд...

[Ответ][Цитата]
гость
188.170.175.*
На: Задачка на сообразительность
Добавлено: 20 янв 19 4:45
Цитата:
Автор: гость 77.247.181.*
Можно с гордостью(для Вас) провозгласить что задача блестяще решена! Посыпаю Вас лепестками роз, коксом и золотой пылью с недр сверхновых звёзд...

Спасибо . На всякий случай сообщу, что я не мастер и не профи, деньги программированием не зарабатываю. Но когда-то решал (пытался решить) гораздо более сложные задачи в области алгоритмов, и могу сказать, что представленная вами задача тянет на 11 класс средней школы, наверное..
Но, в любом случае за поздравление спасибо.

p.s Дальнейшее ускорение - за деньги (шутка).
p.p.s В коде еще можно убрать вспомогательную переменную prom, но у меня это эффекта не дало..
[Ответ][Цитата]
Дмитрий Пагода
Сообщений: 123
На: Задачка на сообразительность
Добавлено: 20 янв 19 4:55
Какой то детский сад... Я выше представил ПРАВИЛЬНЫЙ алгоритм, для данного таска, как бы его решали в Google или Microsoft, ещё бы добавили десяток тестов и наверно обернули в 2-3 уровня ООП, хотя наверно вы и не знаете о чем это я... ну да ладно проехали, всё равно никому из вас не светит работать гребцом в уважаемой конторе.
[Ответ][Цитата]
гость
188.170.175.*
На: Задачка на сообразительность
Добавлено: 20 янв 19 5:10
Цитата:
Автор: Дмитрий Пагода
всё равно никому из вас не светит работать гребцом в уважаемой конторе.


Гребцы в уважаемой конторе написали операционку, которая жрет гигабайт памяти (Windows7 я имею в виду), при том, что WindowsXP ест всего 200 мб, а функциональность у них сравнима. Я понимаю, что существует сговор между производителями железа и ПО, они действуют в интересах друг друга, но в такой степени бросаться вычислительными ресурсами(чужими) недопустимо, могли бы написать операционку покомпактнее и в то же время побыстрее..
[Ответ][Цитата]
Дмитрий Пагода
Сообщений: 123
На: Задачка на сообразительность
Добавлено: 20 янв 19 5:37
Цитата:
Автор: гость
Гребцы в уважаемой конторе написали операционку, которая жрет гигабайт памяти (Windows7 я имею в виду), при том, что WindowsXP ест всего 200 мб, а функциональность у них сравнима. Я понимаю, что существует сговор между производителями железа и ПО, они действуют в интересах друг друга, но в такой степени бросаться вычислительными ресурсами(чужими) недопустимо, могли бы написать операционку покомпактнее и в то же время побыстрее..
Я уже писал выше, что МИР-РЕАЛЕН, зарубите это себе на носу, всё совсем не так как вы думаете, чаще всё наоборот чем "как кажется", мир полностью управляем маркетингом, властью бизнеса и эффективности ЗАРАБАТЫВАНИЯ ДЕНЕГ, что почти всегда противоположно целям конечных потребителей, всё попадает под эту мельницу, гаджеты, компы, машины, лекарства, дома, корпоративная культура, отношения в семье, ВСЁ!!! Никто не делает операционку чтобы вам было удобно, её делают что бы вы заплатили, никто не пишет софт максимально эффективный, это невозможно сделать в больших корпорациях при конвейерном производстве, каждый делает что сказали и мало кто понимает на сколько эффективна общая структура производства, слишком она сложна и переплетена человеческим фактором и бабловыми интересами отдельных лиц.
[Ответ][Цитата]
kondrat
Сообщений: 4026
На: Задачка на сообразительность
Добавлено: 20 янв 19 6:06
И почему же топикстартер обратился не в корпорацию, а на безумный форум, где тусят одни дилетанты? Да ещё и с таким конкретным запросом. Наверное, хочет оказывать услуги в премиум сегменте.
Кстати, Дмитрий, Вы уверены, что применили библиотечные возможности правильно и эффективно?
А прогнать их по методике оптимизации кода, ссылку на которую давал тут когда-то VGT, пробовали?
[Ответ][Цитата]
Дмитрий Пагода
Сообщений: 123
На: Задачка на сообразительность
Добавлено: 20 янв 19 6:56
Цитата:
Автор: kondrat

И почему же топикстартер обратился не в корпорацию, а на безумный форум, где тусят одни дилетанты? Да ещё и с таким конкретным запросом. Наверное, хочет оказывать услуги в премиум сегменте.
Кстати, Дмитрий, Вы уверены, что применили библиотечные возможности правильно и эффективно?
А прогнать их по методике оптимизации кода, ссылку на которую давал тут когда-то VGT, пробовали?
топикстартер - лошара, Я средства применил ПРАВИЛЬНО, ссылок VGT не видел, да и что может работающего засоветовать сибирский сталкер, пускай для начала в Москву переедет, потом вещает.
[Ответ][Цитата]
гость
188.170.75.*
На: Задачка на сообразительность
Добавлено: 20 янв 19 7:01
вспоминается фраза из Киллер хантер - 'вам нужно быть правым (правильным) или живым?'..
[Ответ][Цитата]
гость
65.19.167.*
На: Задачка на сообразительность
Добавлено: 20 янв 19 7:54
Виктор Генадиевич Царегородцев пережил инсульт в первых числах января, сейчас лежит в "Краевой Красноярской больнице", пока не говорит и левая половина тела парализованна.
[Ответ][Цитата]
гость
77.247.181.*
На: Задачка на сообразительность
Добавлено: 20 янв 19 13:27
Ну Ок, раз уж внатуре тут такие профи и таск нулевого уровня щёлкнули как орешек, то мне не остаётся как объявить следующее задание, с которым справиться уже не выйдет также просто, честно говоря даже сомневаюсь что кто то попытается переплюнуть баселайн что я надыбал в сети


vector<vector<double>> csvread(string path, char token)
{
ifstream fs(path);
vector<string> lines;
string line;
while (getline(fs, line)) lines.push_back(line);
vector<vector<double>> result;

for (int i = 0; i < lines.size(); ++i)
{
stringstream test(lines[i]);
vector<double> seglist;
string segment;
while (getline(test, segment, token))
{
double val = 0;
val = stod(segment);
seglist.push_back(val);
}
result.push_back(seglist);
}
return result;
}


В общем как должно быть очевидно это CSV-парсер, который применяется в любом ML-фреймворке, очень юзабельная штука. Бэйзлайн этот датасет http://file.sampo.ru/kf4ddd/ грузит 3 секунды, в принципе это не так уж и плохо, но если датасет в десятеро больше уже кумар...
[Ответ][Цитата]
kondrat
Сообщений: 4026
На: Задачка на сообразительность
Добавлено: 20 янв 19 14:18
Изменено: 21 янв 19 0:53
Тут, кмк, извращаться не надо, хоть буферных операций и слишком много. Разве что файл сразу перегонять в стринги. На крайняк, можно поискать узкое место и переписать на ассемблере))).
[Ответ][Цитата]
ёж
Сообщений: 61
На: Задачка на сообразительность
Добавлено: 20 янв 19 16:55
Шустрые парсеры по другому пишутся, чем то оно похоже на компиляторы, вообще тема интересная, но лень растолковывать детям азбуку. Конкретно по коду выше, анус в перераспилах сонмы строковых объектов с выделением под каждый памяти и прочей дребедени. А вообще для большинства целей и такой код сойдёт, "серьёзные гребцы" со мной молча согласятся, что это далеко не самый ужасный код, который порой попадает в продакшн, даже во всеми известном софте.
[Ответ][Цитата]
Симпатичный
Сообщений: 343
На: Задачка на сообразительность
Добавлено: 21 янв 19 5:10
Хороший парсер это искусство, кто то даже здесь высказывал мысль что "ИИ по сути - парсинг", хотя я с этим и не согласен, но доля правды в этом есть.


PS: вообще тема про код утилиток конструктивная, во избежание засирания лучше бы её переинициализировать в модерируемом виде(зарегаться и создать тему)
[Ответ][Цитата]
 Стр.5 (7)1  2  3  4  [5]  6  7<< < Пред. | След. > >>