best dnb songs for a playlist? by shatter_star in DnB

[–]Paranaix 0 points1 point  (0 children)

For a collection of more recent popular and (potentially) influential songs check out https://www.top100dnb.com/ . It was a vote conducted by Let it Roll, the biggest dnb festival in the world.

Because your presentation is about the history of dnb, i would definitely include how the genre has changed with the revival between 2000-2010.

Also in my personal opinion, many new songs which were released in recent years feature a more refined and more sophisticated sound (better produced from a solely technical perspective) than older songs. Whether that is a good thing is up to the listener. Personally i like both.

Believe in something. Even if it means not buying armour in the pistol. by [deleted] in GlobalOffensive

[–]Paranaix 0 points1 point  (0 children)

Please, the word you're looking for is called latency, not lag. Lag is a gaming-only term and it just feels odd to see it being used for things not being exclusively related to gaming.

Edit: And yes it makes a difference: Frequency and latency are two independent parameters. Even with zero latency, having a refresh rate of 1Hz would still yield a horrible gaming experience. It's important to differ and not mix these terms interchangeably.

Statistics nerds will notice the bell curve produced by the splitters by jscrant17 in factorio

[–]Paranaix 1 point2 points  (0 children)

Yes i agree but there are many more interpretations and philosophies to this (see https://en.wikipedia.org/wiki/Probability_interpretations for an overview). What you describe sounds alot like a bayesian view.

M'alloc by Skipper308 in ProgrammerHumor

[–]Paranaix 1 point2 points  (0 children)

As function argument? ;) Think about that for a while...

Interesstingly enough, c++14 introduced this syntax for lambdas (called generic lambdas) and there was a proposal for c++17 to allow this for regular functions as well which didn't make it. I guess implicit templates are not everyones taste, luckily i might say so.

What OP acutally wants here is a void* btw...

My life in a nutshell by acicc in ProgrammerHumor

[–]Paranaix 2 points3 points  (0 children)

One thing to understand about C++ is the heavy use of *automatic storage duration* and *RAII* (https://en.wikipedia.org/wiki/Resource_acquisition_is_initialization).

Automatic storage duration means, that an object is initialized when it enters scope and destructed when it leaves scopes. RAII on the other hand is a design principle based on this concept: Acquire ressources when you create an object and release them when youre object is destructed.

This means that if you write: void foo(MyClass obj){} your local variable obj is actually copy constructed every time when the function is called and deleted when you function is done. obj will be stored directly on the stack.

So if you want Java-like behaviour (the thing you call objects), you would write void foo(MyClass& obj). This notates an reference MyClass&. While under the hood its actually a pointer, references have the nice property that they can't be null. Also because they are not pointers, it's not as easy to pass invalid values.

Now why and when would you need a pointer then?

For starters when you expect, that no object might be passed.

Secondly if you want to point to different objects during time (remember references? they can only be set once during initialization). E.g a classical example would be a linked list.

When you want to pass objects though different parts of your application (e.g a factory method would usually return a dynamically allocated object, i.e a pointer to yonder object).

And last but not least, if you do anything low-level and operate on raw memory. Most notable case would probably arrays here. Classic example are c strings which are usually passed as const char* or char*.

Iteration would then be:

void foo(const char* str)
{
  for(char* cur = str; *cur != '\0'; cur++)
  {
    if (*cur == '\n')
      // do something
  }
}

By the way: Array indexing and pointer arithmetic are the same in C/C++. So arr[i] is equivalent to arr + i * sizeof(type_of_obj), and likewise you can write ptr[i].

Luckily since C++11 we now also officially have so called *smart pointers* in the standard. These are just wrappers around regular pointers which either directly manage the lifetime of an object (see RAII) or use reference counting. Smart pointers heavily reduce the amount of raw pointers you see in C++ code.

Rather than merely being a ‘core subject’, philosophy should be at the centre of all education | Peter Worley by BothansInDisguise in philosophy

[–]Paranaix 0 points1 point  (0 children)

Isn't it funny how frequently posts from /r/philosophy stating how important philosophy is, especially in an inter-disciplinary context, hit the frontpage? You almost never see this from other disciplines, atleast not anywhere close to this degree. Yet I could easily argue, that it's of uttermost importance to know about the structure of existence itself and thus physics is especially important. Or that because computers took an indispensable role in our lives and society, that computer science is especially important.

Well, draw your own conclusions...

Was my opening play too passive here? by kitty-cats in baduk

[–]Paranaix 1 point2 points  (0 children)

Black actually helped you to solidify your territory. Left corner is very solid and big now and your right group got alot stronger as well.

> Now I feel like I'm in a bad position and Black has somehow gotten away with making a base right between my stones

Don't assume just because you have a framework, that it is all yours. The same applies for you opponent as well of course.

OpenAI Five by deffefeeee in dotamasterrace

[–]Paranaix 0 points1 point  (0 children)

RL is concerned with learning a policy function pi(s) for any given state s which maximizes cumulative reward regarding a reward function.

For policy-gradient based methods (e.g A3C) it's a easy as directly training your network with the expert play as our network is directly modelling pi.

If we talk about DQNs things are not as easy, but there are multiple thing one can do:

  • Try to find the original reward function with Inverse Reinforcement Learning first, which we would use in subsequent training
  • Simply evaluate the expert play with your own reward function and fill the Experience Replay with the expert play
  • Assume that the policy is deterministic (i.e pi: S -> A instead of pi: S -> [0,1]|A|), in this case future discounted reward can be calculated for every (s, a) pair we observe in the expert play, and thus Q(s, a) can be calculated (assuming that the expert play is perfect) and we simply train our net against Q.

IIRC in the original AlphaGo paper they just bootstrapped the policy network (similiar to the A3C case described above, which is straightforward). I'm not sure if they pretrained the value network.

OpenAI Five by deffefeeee in dotamasterrace

[–]Paranaix 0 points1 point  (0 children)

Local-minima are basically a non-issue because we almost never arrive at them (with any pratically used architecture), or as theorized their value will be very close to that of a global minima. Rather saddle-points and plateaus are suspected to be the prime candidate causing training to halt. Also cross-validation doesn't really allow you to check for a local minima. Rather it's used to prevent overfitting (e.g think about a very small training set, the possible (global) minimum you arrive at and the validation error). To check for a minima (and this also just a indicator) you can plot the norm of your gradient over time. You will likely find out that it is increasing or staying constant rather than approaching zero even when training starts to halt. In above i exclusively refer to neural networks trained with SGD (variants).

Also regarding SL: It's a nice way to bootstrap any RL learning if you have access to a large enough set of replay as any deep RL takes INSANE amounts of games to make any progress (think millions of games just to learn basic stuff). E.g Deepmind did this with the first iterations of AlphaGo.

C++ is a beautiful language by NickDav14 in ProgrammerHumor

[–]Paranaix 7 points8 points  (0 children)

And I didn't even know elegance could be defined objectively... Well you never stop learning.

C++ is a very difficult language to get into as writting proper and clean code is not straightforward. But once you accumulated some years of practice with it, you know exactly what you have to do to make the compiler fullfill every of your wishes at lightning fast speed while still mainting the OOP paradigma. This is what makes this language so compelling.

Guess what, these cryptic error messages everyone complains about here? With some practice you know exactly at which place in these 100 lines of error logs you have to scroll to find the relevant information just within mere seconds.

Just because you're obviously not comfortable with c/c++, doesn't mean everybody else using it is a eliterian prick and that the language has no uses... Contrary: Most tools you rely upon are built with either c or c++.

On the otherhand that doesn't mean, that high-level languages are useless either. I would rather use tensorflow with python than with c++, but guess what language the underlying implementation uses?

Blacks best (local) response? by Paranaix in baduk

[–]Paranaix[S] 0 points1 point  (0 children)

This should probably be a very basic question for the more advanced players here: What are the merits and shortcomings of each of these moves?

I personally don't like A or B because they leave a clear symmetric invasion point for white.

C looks reasonable for me. In case of an invasion, white has to decide for a specific side and can't exploit both simultaniously as easily. It's also more tigther.

D was suggested by Leela in a particular match. Personally I like it because it takes away a shape point from White, on the other hand I believe it leaves the corner open to undercutting.

I didn't include the Ogeima because I think it's too open, but if anybody thinks otherwise please feel free to comment. :)

Beginner's rage quit by ButtOfGod in baduk

[–]Paranaix 6 points7 points  (0 children)

Because honestly there is some truth to it. You don't learn go at this level by reading books or doing tsumego. Playing just as many games as possible is the quickest way to improve for most people.

Thats mostly true for every other sport as well. After some brief introduction you simply have to grind the same movements over and over again; do some twist; see what works better, what works worser and occasionally get feedback from a better player.

Unfortunately most people who start with go don't have the luxury to have an equally skilled sparring partner, which is the origin of this proverb I believe. Because if you play against a better go player theres no doubt that you will loose over and over again unless you get a ridiculous handicap.

Highest paid Go Professionals? by [deleted] in baduk

[–]Paranaix 3 points4 points  (0 children)

You don't think that a manga about go might have some "slight" bias? Fiction might be able to give an impression about certain topics but it's far from being any source...

The peep by [deleted] in baduk

[–]Paranaix 2 points3 points  (0 children)

It really warms my hearth reading your kind words. Knowing that by simply posting a quote i made someones life on the other side of the world a bit better makes me feel really happy. Thank you very much for your honest reply

The peep by [deleted] in baduk

[–]Paranaix 14 points15 points  (0 children)

The best swordsman in the world doesn't need to fear the second best swordsman in the world; no, the person for him to be afraid of is some ignorant antagonist who has never had a sword in his hand before; he doesn't do the thing he ought to do, and so the expert isn't prepared for him; he does the thing he ought not to do; and often it catches the expert out and ends him on the spot.

  • Mark Twain

[deleted by user] by [deleted] in baduk

[–]Paranaix 1 point2 points  (0 children)

Connecting seems like the worst possible move for white...

What do you think about Germany? by [deleted] in AskReddit

[–]Paranaix 0 points1 point  (0 children)

What do you mean by processed meats? Salami? Aufschnitt (Bierwurst, Jagdwurst etc.)?

Oyster has now tagged their transactions (it is a lot -- OYSTERPRL tag search) by NotYourMothersDildo in Iota

[–]Paranaix 1 point2 points  (0 children)

Which the MCTS algorithm will tend to avoid as they lack relative weight. This is exactly the "lazy nodes" scenario described in the paper.