Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 4097444
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 20, 20262026-05-20T20:10:27+00:00 2026-05-20T20:10:27+00:00

Today I’ve been presented with a fun challenge and I want your input on

  • 0

Today I’ve been presented with a fun challenge and I want your input on how you would deal with this situation.

So the problem is the following (I’ve converted it to demo data as the real problem wouldn’t make much sense without knowing the company dictionary by heart).

We have a decision table that has a minimum of 16 conditions. Because it is an impossible feat to manage all of them (2^16 possibilities) we’ve decided to only list the exceptions. Like this:

decision table example

As an example I’ve only added 10 conditions but in reality there are (for now) 16. The basic idea is that we have one baseline (the default) which is valid for everyone and all the exceptions to this default.

Example:

You have a foreigner who is also a pirate.
If you go through all the exceptions one by one, and condition by condition you remove the exceptions that have at least one condition that fails. In the end you’ll end up with the following two exceptions that are valid for our case. The match is on the IsPirate and the IsForeigner condition. But as you can see there are 2 results here, well 3 actually if you count the default.
problem example

Our solution

Now what we came up with on how to solve this is that in the GUI where you are adding these exceptions, there should run an algorithm which checks for such cases and force you to define the exception more specifically. This is only still a theory and hasn’t been tested out but we think it could work this way.

My Question

I’m looking for alternative solutions that make the rules manageable and prevent the problem I’ve shown in the example.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-20T20:10:28+00:00Added an answer on May 20, 2026 at 8:10 pm

    Your problem seem to be resolution of conflicting rules. When multiple rules match your input, (your foreigner and pirate) and they end up recommending different things (your cangetjob and cangetevicted), you need a strategy for resolution of this conflict.

    What you mentioned is one way of resolution — which is to remove the conflict in the first place. However, this may not always be possible, and not always desirable because when a user adds a new rule that conflicts with a set of old rules (which he/she did not write), the user may not know how to revise it to remove the conflict.

    Another possible resolution method is prioritization. Mark a priority on each rule (based on things like the user’s own authority etc.), sort the matching rules according to priority, and apply in ascending sequence of priority. This usually works and is much simpler to manage (e.g. everybody knows that the top boss’s rules are final!)

    Prioritization may also be used to mark a certain rule as “global override”. In your example, you may want to make “IsPirate” as an override rule — which means that it overrides settings for normal people. In other words, once you’re a pirate, you’re treated differently. This make it very easy to design a system in which you have a bunch of normal business rules governing 90% of the cases, then a set of “exceptions” that are treated differently, automatically overriding certain things. In this case, you should also consider making “?” available in the output columns as well.

    One other possible resolution method is to include attributes in each of your conditions. For example, certain conditions must have no “zeros” in order to pass (? doesn’t matter). Some conditions must have at least one “one” in order to pass. In other words, mark each condition as either “AND”, “OR”, or “XOR”. Some popular file-system security uses this model. For example, CanGetJob may be AND (you want to be stringent on rights-to-work). CanBeEvicted may be OR — you may want to evict even a foreigner if he is also a pirate.

    An enhancement on the AND/OR method is to provide a threshold that the total result must exceed before passing that condition. For example, putting CanGetJob at a threshold of 2 then it must get at least two 1’s in order to return 1. This is sometimes useful on conditions that are not clearly black-and-white.

    You can mix resolution methods: e.g. first prioritize, then use AND/OR to resolve rules with similar priorities.

    The possibilities are limitless and really depends on what your actual needs are.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Today, I ran into this weird problem with a user using Mac OS X.
Today I stumbled about a Problem which seems to be a bug in the
Today at work we came across the following code (some of you might recognize
today i have direct a problem :P i just need some ideas... how do
today I discovered the wonderful world of CMS and decided to started exploring this
Today, I have a problem with hosting my custom service host using custom binding
Today I was listening to the Hanselminutes show about .NET 3.5 SP1...What's inside ,
Today I was working on a tab navigation for a webpage. I tried the
Today I discovered that my fresh installation of Apache HTTP Server is able to
Today I had a coworker suggest I refactor my code to use a label

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.