Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #23709

Re: depth first search

X-Received by 10.224.10.6 with SMTP id n6mr35470297qan.4.1367200901717; Sun, 28 Apr 2013 19:01:41 -0700 (PDT)
X-Received by 10.50.170.68 with SMTP id ak4mr1221107igc.1.1367200901679; Sun, 28 Apr 2013 19:01:41 -0700 (PDT)
Path csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.glorb.com!s14no633776qam.0!news-out.google.com!ef9ni28916qab.0!nntp.google.com!s14no633771qam.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups comp.lang.java.programmer
Date Sun, 28 Apr 2013 19:01:41 -0700 (PDT)
In-Reply-To <klk0jt$qii$1@dont-email.me>
Complaints-To groups-abuse@google.com
Injection-Info glegroupsg2000goo.googlegroups.com; posting-host=69.28.149.29; posting-account=CP-lKQoAAAAGtB5diOuGlDQk0jIwmH0T
NNTP-Posting-Host 69.28.149.29
References <77f5a380-09d9-4054-b26f-22b32424b504@googlegroups.com> <see-26AA3F.21063828042013@news.eternal-september.org> <_O2dnTt1ffU3YeHMnZ2dnUVZ8oSdnZ2d@bt.com> <fe64495d-9551-45f5-b0c5-b4149ad8276d@googlegroups.com> <klk0jt$qii$1@dont-email.me>
User-Agent G2/1.0
MIME-Version 1.0
Message-ID <35625709-8ffa-4b63-8458-012c5b82e2f4@googlegroups.com> (permalink)
Subject Re: depth first search
From Lew <lewbloch@gmail.com>
Injection-Date Mon, 29 Apr 2013 02:01:41 +0000
Content-Type text/plain; charset=ISO-8859-1
Xref csiph.com comp.lang.java.programmer:23709

Show key headers only | View raw


Alex wrote:
> Meanwhile, it sounds like you'll need to keep track of the adjacent
> unoccupied locations you come across as you traverse the group, but I
> don't play Go, so I don't know how this information is used to
> determine if a group is "alive" or "dead". Markspace suggests that as
> long as there is any open adjacent location the group is alive, but
> Wikipedia suggests that there needs to be at least two internal "eyes"
> to make a group "alive", so I dunno. 

You point to the fundamental way to model the game. You mention terms of art
in the domain being modeled, in this case the game of Go, and work to define them 
precisely within the model, i.e., to describe their attributes and/or behaviors.
In terms of each other.

If you start out modeling "liveness" as characters, several things go wrong. As your 
domain knowledge grows (does "alive" mean "has two or more Eyes in the Group"?)
you add more arbitrary character-to-meaning associations. Now '1' means "has liberty" and '2' means "is alive" and '3' means "is dead", and '4' means "not yet determined" - no wait, couldn't a "group"
both "have a liberty" and be "not yet determined", or "alive", or "dead"? Drat, now I need
'5' to mean "has liberty" and "not yet dead", no wait, "not yet determined", or did I mean "dead"?

So you write types that semantically match the language that you're modeling.

You might give a 'Group' type an attribute 'hasLiberty' (modeled with methods 'hasLiberty()' and 
'setLiberty()'). You could give it a separate 'alive' attribute of type 'Boolean', where 'TRUE' means 
"alive", 'FALSE' means "dead", and 'null' means "not  yet determined". then you can code 
logic that makes sense, such as 

  if (group.isAlive() && adjacentIntersection.isEmpty()) ...

You won't get lost trying to remember what '2' means.

-- 
Lew

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

depth first search willmann817@gmail.com - 2013-04-27 21:46 -0700
  Re: depth first search Barb Knox <see@sig.below> - 2013-04-28 21:06 +1200
    Re: depth first search "Chris Uppal" <chris.uppal@metagnostic.REMOVE-THIS.org> - 2013-04-28 11:40 +0100
      Re: depth first search willmann817@gmail.com - 2013-04-28 07:22 -0700
        Re: depth first search "Alex" <foo@email.invalid> - 2013-04-28 20:25 +0000
          Re: depth first search Lew <lewbloch@gmail.com> - 2013-04-28 19:01 -0700
        Re: depth first search Lew <lewbloch@gmail.com> - 2013-04-28 18:42 -0700
          Re: depth first search Barb Knox <see@sig.below> - 2013-04-29 13:59 +1200
            Re: depth first search lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-04-29 11:21 +0100
              Re: depth first search Barb Knox <see@sig.below> - 2013-05-02 16:02 +1200
  Re: depth first search markspace <markspace@nospam.nospam> - 2013-04-28 12:22 -0700
  Re: depth first search markspace <markspace@nospam.nospam> - 2013-04-28 12:49 -0700
    Re: depth first search markspace <markspace@nospam.nospam> - 2013-04-28 16:21 -0700
  Re: depth first search Joshua Cranmer 🐧 <Pidgeot18@verizon.invalid> - 2013-04-28 21:43 -0500
    Re: depth first search willmann817@gmail.com - 2013-04-29 08:46 -0700

csiph-web